About Versioning on JSPkg
Like our use of package.json
to manage a package's meta-information,
we also adhere to a very well-thought-out, existing standard for interpreting and parsing version numbers.
That standard is called SemVer, short for Semantic Versioning.
The main points from SemVer enforced in JSPkg are:
- A normal version number MUST take the form X.Y.Z where X, Y, and Z are integers. X is the major version, Y is the minor version, and Z is the patch version. Each element MUST increase numerically. For instance: 1.9.0 < 1.10.0 < 1.11.0.
- A special version number MAY be denoted by appending an arbitrary string immediately following the patch version. The string MUST be comprised of only alphanumerics plus dash [0-9A-Za-z-] and MUST begin with an alpha character [A-Za-z]. Special versions satisfy but have a lower precedence than the associated normal version. Precedence SHOULD be determined by lexicographic ASCII sort order. For instance: 1.0.0beta1 < 1.0.0beta2 < 1.0.0.
- Once a versioned package has been released, the contents of that version MUST NOT be modified. Any modifications must be released as a new version.
A few notes on what this means for your package hosted on JSPkg:
- important If your version number does not adhere to the 3 points listed above, you will get an error when we process your package, and your package will not be released.
-
The current release
- A given package always has a current release. The large green download button on the package page will always point to the current release.
- The current release will be the latest release uploaded for that package, as determined by the version number (regardless of upload date or order).