Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

minor version update breaks compatibility with previous versions #441

Open
asklar opened this issue Mar 18, 2021 · 3 comments
Open

minor version update breaks compatibility with previous versions #441

asklar opened this issue Mar 18, 2021 · 3 comments

Comments

@asklar
Copy link
Contributor

asklar commented Mar 18, 2021

create-react-native-module newest update broke our CI because the --module-name option doesn't exist anymore.
However, npx picks it up since the new version is just a minor update. Ideally we shouldn't have to worry about minor/patch versions breaking due to api/option names incompatibilities

@brodycj
Copy link
Owner

brodycj commented Mar 18, 2021

My understanding of semver is that a 0.x update may have breaking changes. If you use a caret in package.json like "^0.19.0", it should not suddenly pull the 0.20.0 update that I had published. Please quote the appropriate sources if you think this is wrong. Thanks.

@asklar
Copy link
Contributor Author

asklar commented Mar 18, 2021

@brodybits thanks for replying. Here's the source:
https://semver.org/#summary

image

@brodycj
Copy link
Owner

brodycj commented Mar 18, 2021

Quoting from https://semver.org/#spec-item-4:

Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

Here are a couple of examples from the React Native CHANGELOG itself:

Here is my understanding of how semver is done on npm for 0.x releases:

  • for 0.0.z, any update may have breaking changes
  • for 0.y.z, a 0.y.0 release may have breaking changes, but a patch release that only increments z should not have breaking changes

Here is how npm documented their use of semver: https://docs.npmjs.com/cli/v6/using-npm/semver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants