-
Notifications
You must be signed in to change notification settings - Fork 182
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
Use prerelease tags for experimental crates #4445
Comments
I think a behaviour change here is that every ICU4X minor release will be a breaking release, as Cargo will not use |
I would want to adopt this policy for all crates that will be versioned with the main version upon stabilization: |
Discussed in small call:
Conclusion: let's not do this for now (@Manishearth @robertbastian @zbraniecki) cc @sffc in case he wants to chime in |
It occurs to me that given that Cargo's docs explicitly say that you shouldn't bet on protection from breaking changes:
we still could do this and be following the norms set by Cargo. It's still going to potentially be annoying for our users. |
More docs on prerelease compat We had some questions about semver compat of prereleases when discussing unicode-org/icu4x#4445, figured I'd document our findings.
Currently our experimental crates are versioned fairly arbitrarily. For example, the 1.4 equivalent versions are:
icu_compactdecimal
: 0.2.3icu_displaynames
: 0.11.2icu_relativetime
: 0.1.4icu_transliterate
: 0.1.2icu_unicodeset_parse
: 0.1.2I propose that from 1.5 we use prelease tags:
1.5.0-experimental
or something. This is because these crates are fairly tightly coupled to the main version through data crates and cross dependencies, and it's confusing to users to have so many different versions. It also makes it clearer which GitHub release corresponds to which crate version.We could even version them asNope, then we cannot make breaking changes in1.5.0
, however adding-experimental
will show them as unstable releases on docs.rs, in a way that0.x
actually doesn't.1.6.0
The text was updated successfully, but these errors were encountered: