From 71389faa25999c3fb4ab90b1be3d0401880730b0 Mon Sep 17 00:00:00 2001 From: Tom Preston-Werner Date: Fri, 25 Nov 2011 14:02:24 -0800 Subject: [PATCH] Move pre-release and build sections to last position. --- semver.md | 47 +++++++++++++++++++++++------------------------ 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/semver.md b/semver.md index c3a0728..4864ef4 100644 --- a/semver.md +++ b/semver.md @@ -52,30 +52,6 @@ version MUST be reset to zero. When a minor version number is incremented, the patch version MUST be reset to zero. For instance: 1.1.3 -> 2.0.0 and 2.1.7 -> 2.2.0. -1. A pre-release version MAY be denoted by appending a dash and a series of -dot separated identifiers immediately following the patch version. Identifiers -MUST be comprised of only ASCII alphanumerics and dash [0-9A-Za-z-]. -Pre-release versions satisfy but have a lower precedence than the 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. A build version MAY be denoted by appending a plus sign and a series of dot -separated identifiers immediately following the patch version or pre-release -version. Identifiers MUST be comprised of only ASCII alphanumerics and dash -[0-9A-Za-z-]. Build versions satisfy and have a higher precedence than the -associated normal version. Examples: 1.0.0+build.1, 1.3.7+build.11.e0f985a. - -1. Precedence MUST be calculated by separating the version into major, minor, -patch, pre-release, and build identifiers in that order. Major, minor, and -patch versions are always compared numerically. Pre-release and build version -precedence MUST be determined by comparing each dot separated identifier as -follows: identifiers consisting of only digits are compared numerically and -identifiers with letters or dashes are compared lexically in ASCII sort order. -Numeric identifiers always have lower precedence than non-numeric identifiers. -Example: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-beta.2 < 1.0.0-beta.11 < -1.0.0-rc.1 < 1.0.0-rc.1+build.1 < 1.0.0 < 1.0.0+0.3.7 < 1.3.7+build < -1.3.7+build.2.b8f12d7 < 1.3.7+build.11.e0f985a. - 1. 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. @@ -102,6 +78,29 @@ incompatible changes are introduced to the public API. It MAY include minor and patch level changes. Patch and minor version MUST be reset to 0 when major version is incremented. +1. A pre-release version MAY be denoted by appending a dash and a series of +dot separated identifiers immediately following the patch version. Identifiers +MUST be comprised of only ASCII alphanumerics and dash [0-9A-Za-z-]. +Pre-release versions satisfy but have a lower precedence than the 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. A build version MAY be denoted by appending a plus sign and a series of dot +separated identifiers immediately following the patch version or pre-release +version. Identifiers MUST be comprised of only ASCII alphanumerics and dash +[0-9A-Za-z-]. Build versions satisfy and have a higher precedence than the +associated normal version. Examples: 1.0.0+build.1, 1.3.7+build.11.e0f985a. + +1. Precedence MUST be calculated by separating the version into major, minor, +patch, pre-release, and build identifiers in that order. Major, minor, and +patch versions are always compared numerically. Pre-release and build version +precedence MUST be determined by comparing each dot separated identifier as +follows: identifiers consisting of only digits are compared numerically and +identifiers with letters or dashes are compared lexically in ASCII sort order. +Numeric identifiers always have lower precedence than non-numeric identifiers. +Example: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-beta.2 < 1.0.0-beta.11 < +1.0.0-rc.1 < 1.0.0-rc.1+build.1 < 1.0.0 < 1.0.0+0.3.7 < 1.3.7+build < +1.3.7+build.2.b8f12d7 < 1.3.7+build.11.e0f985a. Why Use Semantic Versioning? ----------------------------