How to release a beta version of the box for limited public testing?

I want to carefully release the new version of the box to give users the opportunity to check it first. How can I let it go to crates.io as beta? (similar to how npm has @nexttagged releases).

This should not be a change, so I will not increase the version of semver-major. I don’t want it to be automatically selected when users cargo upgradebefore the beta period expires.

  • What version syntax should I use for release?

  • Do I need to use any special options when releasing?

  • How do users use cargo/ Cargo.tomlto enter beta?

+4
source share
1 answer

The semantic version defines the concept of the preliminary version :

The preliminary version MAY be indicated by adding a hyphen and a series of dotted identifiers immediately after the patch version. Identifiers MUST contain only alphanumeric ASCII characters and a hyphen [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeros. Preview versions have lower priority than the corresponding normal version. The preliminary version indicates that the version is unstable and may not meet the expected compatibility requirements, which is indicated by the corresponding normal version. Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92

Cargo, , . -beta.0, , :

[package]
name = "library"
version = "0.1.1-beta.0"

, , beta :

[dependencies]
library = "0.1.1-beta"

, I:

  • crates.io
  • 0.1.0
  • library = "0.1.0" - 0,1.0
  • 0.1.1-beta.0
  • Ran cargo update - .
  • library = "0.1.1-beta" , cargo update - .
  • 0.1.1-beta.1
  • Ran cargo update - .
+8

Source: https://habr.com/ru/post/1686249/


All Articles