Replies: 4 comments 7 replies
-
Wasn't the whole point of moving |
Beta Was this translation helpful? Give feedback.
-
How are things going to work when RN reached 1.0? |
Beta Was this translation helpful? Give feedback.
-
The CLI team can commit to have 1:1 matching between major RN versions and major CLI versions, even if there’s nothing breaking on our release. That’s zero overhead for us and will avoid confusion as to which version targets which versions of RN. As to switching the version name, I don’t have a strong opinion, but I feel it’s not really necessary once the release crew team can be sure that for every branch cut there have to be next major version of the CLI targeting main. And we can commit to that as a part of release activities. |
Beta Was this translation helpful? Give feedback.
-
Resolved in react-native-community/cli@237481f. |
Beta Was this translation helpful? Give feedback.
-
Background
React Native CLI is a separate project from React Native core, living in its own repository. At the same time, it is an integral component of using React Native (outside Expo) today, and is intricately tied to React Native features — offering interfaces to performing Android and iOS builds, parsing the
react-native.config.js
file in apps and libraries, and other supporting functionality.This has made CLI changes sensitive in the past. For example, the
@react-native/metro-config
migration difficulties in 0.72 — where we merged a breaking change intended for 0.72 into CLI, which got immediately published to 0.71 users (ignoring semver in CLI, and breaking new installs for 24h).Because of this, 0.72 was the first version of React Native where we moved to creating a major version of CLI dedicated to an RN release. Breaking changes could be made, until an aligned branch cut with React Native.
main
Suggested model
Note
This RFC is resolved in react-native-community/cli@237481f. CLI released
13.x
which conforms to the above pre-existing model.Let's re-commit to the above major versioning with React Native, but align numerical versions to remove mental overhead.
The next version of React Native CLI (due to be 13.x, created when we made
0.73-stable
in React Native), should be74.0.0
(necessarily, a jump of major versions).We will then unambiguously align versions going forward:
main
(incoming)Benefits
0.73-stable
was made.main
since).I strongly believe these benefits outweigh the aspirational aim of following pure semver. We should align this and other
@react-native-community/
projects where it makes sense.Beta Was this translation helpful? Give feedback.
All reactions