or: Java Maven SNAPSHOT and friends
The SNAPSHOT value refers to the 'latest' code along a development branch, and provides no guarantee the code is stable or unchanging. Conversely, the code in a 'release' version (any version value without the suffix SNAPSHOT) is unchanging.
In other words, a SNAPSHOT version is the 'development' version before the final 'release' version. The SNAPSHOT is "older" than its release.
https://maven.apache.org/guides/getting-started/index.html#what-is-a-snapshot-version
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes MINOR version when you add functionality in a backward compatible manner PATCH version when you make backward compatible bug fixes ... Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes. Pre-release versions have a lower precedence than the associated normal version. A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated 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, 1.0.0-x-y-z.--.
https://semver.org/spec/v2.0.0.html#spec-item-9
npm version [ | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
alias: verison 😹
The "prerelease identifier" to use as a prefix for the "prerelease" part of a semver. Like the rc in 1.2.0-rc.8.
npm version prerelease --preid=alpha https://docs.npmjs.com/cli/v9/commands/npm-version
We let you preview what's coming by providing "Next" and Release Candidates (rc) pre-releases for each major and minor release: Next The release that is under active development and testing. The next release is indicated by a release tag appended with the -next identifier, such as 8.1.0-next.0.
https://angular.io/guide/releases#preview-releases
https://semver.npmjs.com
example : package @angular/core
and version range ~16.0.0-next
Example: cargo [email protected]
https://crates.io/crates/openai/versions
Signals that this is a pre-release milestone, such as an alpha or beta. This release carries no stability guarantees. Example
vx.x.x-beta.2
https://go.dev/doc/modules/version-numbers#pre-release-version
ChatGPT claims:
When importing packages in Go, developers typically specify a specific commit hash or a specific version tag to ensure reproducible builds.
dev
versions seem commonly used.