{
  "product": "Specification (reference)",
  "title": "Semantic Versioning 2.0.0",
  "summary": "Version numbers that carry a promise about compatibility.",
  "category": "formats",
  "entries": [
    {
      "path": [
        "Grammar",
        "MAJOR.MINOR.PATCH, non-negative integers"
      ],
      "value": "1.2.3",
      "status": "yes",
      "note": "no leading zeros"
    },
    {
      "path": [
        "Grammar",
        "Optional pre-release identifier"
      ],
      "value": "1.0.0-alpha.1",
      "status": "yes",
      "note": "dot-separated"
    },
    {
      "path": [
        "Grammar",
        "Optional build metadata"
      ],
      "value": "1.0.0+20130313144700",
      "status": "yes",
      "note": "ignored in precedence"
    },
    {
      "path": [
        "Semantics",
        "MAJOR for incompatible API changes"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "Semantics",
        "MINOR for backwards-compatible additions"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "Semantics",
        "PATCH for backwards-compatible fixes"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "Semantics",
        "0.y.z is unstable; anything may change"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "Semantics",
        "Released versions are immutable"
      ],
      "value": "",
      "status": "yes",
      "note": "fix forward, never re-tag"
    },
    {
      "path": [
        "Precedence",
        "Compare major, then minor, then patch numerically"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "Precedence",
        "Pre-release sorts before its release"
      ],
      "value": "1.0.0-alpha < 1.0.0",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "Precedence",
        "Numeric identifiers compare numerically, alphanumeric lexically"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "Precedence",
        "Build metadata is ignored when comparing"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "Ranges",
        "Caret, tilde and comparator ranges"
      ],
      "value": "^1.2.3, ~1.2.3, >=1.2",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "Ranges",
        "Range satisfaction is decidable and documented"
      ],
      "value": "",
      "status": "yes",
      "note": "including pre-release inclusion rules"
    },
    {
      "path": [
        "Tooling",
        "Parse, validate, compare, increment"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    }
  ]
}
