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:

  1. 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.
  2. 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.
  3. 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).