Description
Map original SemVer spellings to stripped bare-core spellings with removed suffix provenance; no numeric bump or release promotion claim.
Semantic versions have a major.minor.patch core, optional prerelease identifiers after a hyphen, and build identifiers after a plus. Prereleases precede the corresponding release; build metadata does not affect precedence. A textual spelling, an equal-precedence group and a major.minor release lane therefore answer different questions.1
Map original SemVer spellings to stripped bare-core spellings with removed suffix provenance; no numeric bump or release promotion claim.
When to use this tool
Use this tool to map original SemVer spellings to stripped bare-core spellings with removed suffix provenance; no numeric bump or release promotion claim.
How to use the tool and how it works
- Enter versions using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.records. Use the ordering, boundary rules and absence conditions described below.
Parse every version and return its original spelling, major.minor.patch core, prerelease identifiers and build identifiers in source order.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| versions | Semantic-version strings in the source order to inspect. | Dense list of at most 128 strings, each at most 8,192 UTF-16 code units. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.records | Input-order records separating original spelling, core, prerelease and build identifiers. |
{
"input": {
"versions": [
"1.2.3-alpha+build"
]
},
"output": {
"result": {
"records": [
{
"original": "1.2.3-alpha+build",
"core": "1.2.3",
"prerelease": [
"alpha"
],
"build": [
"build"
]
}
]
}
}
} Limitations and assumptions
- This separates suffix records; it neither upgrades a release nor checks package availability.
- Version text is limited to 1,024 UTF-16 code units with no whitespace. Parsed core and numeric prerelease components must be nonnegative safe integers. Range expressions and a leading v are not accepted.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Choose whether you need exact spelling, precedence or a release-lane grouping. Use a separate package manager or compatibility review for dependency resolution and release-policy decisions.
References
-
Semantic Versioning 2.0.0 — Semantic Versioning
-
Tool behavior and example: Semantic Version Suffix Strip Map — tool.io
Similar or alternative tools
- Semantic Version Build Record Extractor
Extract SemVer build identifiers as literal strings, preserving numeric-looking leading zeros without adding precedence meaning.
- Semantic Version Build Metadata Replacement
Replace SemVer build identifiers while preserving strict core/prerelease fields; new metadata is validated but has no precedence effect.