A JavaScript semver parser and version utility for node, used by npm. It helps developers validate, clean, compare, and coerce semantic version strings, and check whether versions satisfy version ranges (also available via a command-line tool).
Project status
- The source appears actively maintained, with a very recent upstream push (2026-06-08) and multiple tagged updates shortly before that.
- Update cadence looks steady, with patch updates arriving about every few days to a couple weeks (v7.8.1 on 2026-05-21, v7.8.2 on 2026-06-04, v7.8.3 on 2026-06-08).
AI summary generated Today
Recent updates
v7.8.3
Todayv7.8.3 is a small update to node-semver with one bug fix related to caret ranges and prerelease lower bound handling. It also includes a chore bump of the @npmcli/eslint-config development dependency and associated test fixture coverage.
v7.8.2
4 days agoRelease v7.8.2 is a small bug fix release. It updates prerelease increment behavior to correctly handle dotted prerelease identifiers (for example, incrementing multi-part prerelease segments).
v7.8.1
2 weeks agov7.8.1 contains two targeted bug fixes. It updates range parsing to strip build metadata earlier, and adjusts subset logic around prerelease bounds to use comparator testing semantics.
v7.8.0
1 month agov7.8.0 adds a new semver API function, `truncate`, and updates the CLI to emit a warning when it has to default `--inc` to patch due to an invalid increment value. The release also updates documentation grammar for prerelease vs build identifier parsing. Beyond the documented changes, there are additional workflow and CI configuration updates that are not described in the release notes.
Featuresv7.7.4
4 months agov7.7.4 is primarily a CLI bug fix release for node-semver. It updates the CLI to pass the provided options into semver.valid() so loose version validation behaves as expected, alongside minor documentation and dependency/maintenance updates.
v7.7.3
8 months agov7.7.3 includes two bug fixes, both reflected in the release notes: faster compare paths, and support for x-ranges that include build metadata. The diff also shows several non-functional repository changes (bench/test wiring, release tooling, and a CI workflow tweak).
v7.7.2
5/12/2025v7.7.2 ships two semver logic bug fixes, specifically adding missing 'use strict' directives and correcting prerelease identifier validation for identifiers starting with digits. The diff also shows broad repository/CI hygiene changes (workflow permissions), but no user-facing API changes are apparent from the provided code changes.
v7.7.1
2/3/2025v7.7.1 is a small bug fix release for semver prerelease handling. The documented change is that prerelease identifier capture is now fully correct during increment operations. The code diff also shows a related validation refactor in prerelease identifier checking.
v7.7.0
1/29/2025v7.7.0 adds a new `inc` increment type, `release`, intended to remove a prerelease component from a version. It also improves prerelease-related behavior via stricter identifier validation in `inc()` and fixes `diff()` logic when transitioning from prerelease to stable versions.
BreakingFeaturesv7.6.3
7/16/2024v7.6.3 is a small release focused on improving how semver Range strings are parsed and formatted, plus a minor README documentation correction. The release notes only mention a single bug fix for Range formatting and a typo fix.