question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

v7.8.0 introduces a non-backwards-compatible change

See original GitHub issue

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: https://github.com/babel/babel/pull/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.)

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:8 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
existentialismcommented, Jan 27, 2020

Agree

1reaction
kaicataldocommented, Jan 27, 2020

I think it makes sense to do a patch release with the non-breaking default value.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Backward incompatible changes - Manual - PHP
This migration guide will merely enumerate the changes that affect backward compatibility. set_exception_handler() is no longer guaranteed to receive Exception ...
Read more >
API Compatibility Policy — Chainer 7.8.0 documentation
The backward compatibility is kept for revision updates and minor updates, which are applied to the stable version. A major update from the...
Read more >
FLIR UVMS - Technical Note: Backward Compatibility
United VMS 8.0 introduced a necessary change in our infrastructure to allow future versions to be backward compatible with all software ...
Read more >
What's new in Bloc v7.2.0
2.0 is backwards compatible. Using the new on<Event> API, you can migrate one bloc at a time. Changes to the bloc will not...
Read more >
Upgrade FAQ - Macrium Reflect Knowledgebase
No, your v7 backup definition files will be loaded into v8 without any conversion. Can Version 8 be installed over v7? Will both...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found