This repository describes slimver which is a simplified, opinionated, and strict variant of the semver spec. If it doesn't fit your needs, then that is likely by design and you should continue with using semver.
Feel free to open an issue if you would like to discuss aspects of the design though.
A slimver version string is expressed in the form, MAJOR.MINOR.PATCH
as per the semver spec. In contrast with semver though, slimver has no capacity to express prerelease or build metadata as part of the version string. It is a strictly three positive integer values (between 0 and 65535) joined using a single dot character (.
).
OK
1.0.0
NOT OK
1.0.0-beta1
As each of the version parts is constrained within the range of 0..65535
, the largest version of a thing that can be tagged for release using slimver is 65535.65535.65535
.
OK
1.0.0
1.5.65535
NOT OK
5.123232.0
Only simple version range expressions are permitted:
^
expressions mean - any version matching the current major version, starting at the currently specified version.
~
expressions are supported, but are EXACTLY THE SAME as ^
expressions.
In the case that you want to lock to something other than a major version, you should use an n.n.x
range expression or simply "pin" the version to a specific version with n.n.n
.
NOTE: The special pre 1.0.0
version range matching expressions from node-semver have been replaced with simpler rules (see here and here for more info behind why).
version | min | max |
---|---|---|
^1.2.3 | 1.2.3 | 1.65535.65535 |
^0.1.2 | 0.1.2 | 0.65535.65535 |
^0.0.1 | 0.0.1 | 0.65535.65535 |
~1.2.3 | 1.2.3 | 1.65535.65535 |
~0.1.2 | 0.1.2 | 0.65535.65535 |
~0.0.1 | 0.0.1 | 0.65535.65535 |
1.x.x | 1.0.0 | 1.65535.65535 |
1.1.x | 1.1.0 | 1.1.65535 |
Drop an issue in the source repo, or add your opinion to any of the existing issues.
The following sites, issues, posts, etc are all worth a look: