Version ranges and SemVer
Test version ranges in npm, Cargo, Python, and Maven syntax, inspect and bump SemVer versions, sort version lists, and get the next release from Conventional Commits.
Added
How to use it
Range checker — pick the ecosystem, type a range, and list versions to test (one per line). Each version is marked as matching or not, the highest match is highlighted, and the range is shown normalised to plain comparators with an English reading.
npm |
|
Cargo |
A bare |
Python |
PEP 440 specifiers: |
Maven |
Ranges |
Inspect & bump splits a SemVer version into its parts and lists every next version the way
npm version computes it — major, minor, patch, the pre* variants with an optional
pre-release id, and release. Give a second version to compare precedence; build metadata
(+build.42) never affects ordering.
Sort orders a list by any ecosystem’s rules and lists entries that are not valid.
From commits reads Conventional Commit subjects (feat:, fix:, perf:, type!:) and
BREAKING CHANGE: footers, and suggests the next version: breaking → major, feat → minor,
fix/perf → patch. Below 1.0.0 everything shifts down one level, as most projects do.
Sharing
Share link copies a URL that opens this tool exactly as you have it. Hand-written links work too: Range checker ?system=npm&range=^1.2.0&versions=…&pre=1, Inspect ?a=1.2.3&b=1.3.0-rc.1&preid=beta, Sort ?list=…&sortSystem=cargo&desc=1, From commits ?current=1.4.2&log=…. For example ?system=npm&range=%5E1.2.0%20%7C%7C%202.0.1&versions=1.2.9%0A1.9.0%0A2.0.3%0A2.1.0.
Feedback is a gift. Something to improve, a feature to add, or a bug? Tell me.
Runs entirely in your browser; nothing you type leaves this page.