Skip to content

v7.8.0 introduces a non-backwards-compatible change #11052

@serhalp

Description

@serhalp

Babel design docs claim that Babel follows semver. However, Semantic Versioning claims that non-backwards-compatible bug fixes should be released as major versions.

v7.8.0 included this PR: #10887. This PR changes the behavior of the public API, namely --ignore combined with --copy-files.

^v7.8.0 breaks all of our apps, and we have Dependabot configured to auto-merge minor/patch bumps, so this has been rather disruptive.

From reading through the history of #6226, it seems like it was pretty well established that this would be a breaking change. It seems like the idea of this even being a bug was contentious.

Is my understanding of semver out of line? The way I see it, to maintain previous behavior when upgrading to 7.8.0, I need to add --copy-ignored. If I need to make a change to maintain previous behavior, that's a breaking change.

Please consider either:

  1. reverting this change and including it in the v8 line instead
  2. changing the default for the new --copy-ignored flag to true, to maintain previous behavior (and possibly changing the default to false in the v8 line)

(Note: I didn't submit this as a bug report and I didn't include repro steps because everything seems to be working as expected. The only issue is that this is a breaking change published as a minor. I can provide repro steps if necessary.)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions