Back to Explore

npm/node-semver

GitHub
3 updates · last 90 daysOpen source

Last release:

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

  • Actively maintained: upstream activity and updates across v5, v6, and v7 were recorded on November 2, 2026, just days before today.
  • Updates are irregular and clustered: several v7 updates landed in May and June, followed by a gap until the coordinated November updates.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v5.7.3

    v5.7.3 backports a range-parsing performance improvement from v7 and adds matching parser coverage. It also updates release and repository automation, including publishing v5 releases to the legacy dist-tag; the release notes do not document several package-script and parser behavior changes visible in the diff.

  • v6.3.2

    v6.3.2 backports a range-parsing performance improvement from semver v7 and adds range-parsing test coverage. The supplied diff spans v5.7.3 to v6.3.2, so it also contains cumulative v6-era API, behavior, packaging, and tooling changes that are not changes specific to this patch release.

  • v7.8.6

    v7.8.6 improves range parsing performance and adds comparator-normalization test coverage. The supplied code diff compares v6.3.2 to v7.8.6, not v7.8.5 to v7.8.6, so it includes cumulative changes from earlier releases that cannot be attributed to this release.

  • v7.8.5

    v7.8.5 is a targeted bug fix in semver's range parsing for tilde ranges when the `includePrerelease` option is enabled. Specifically, it adjusts the generated lower bound so prerelease versions are matched consistently with the documented equivalence between tilde ranges and their corresponding x-ranges.

  • v7.8.4

    Release v7.8.4 contains a targeted bug fix in semver range parsing. It updates the x-range handling logic to reject invalid patterns where numeric segments appear after an x (for example, inputs like "1.x.5").

  • v7.8.3

    v7.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

    Release 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

    v7.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

    v7.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.

    Features
  • v7.7.4

    v7.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

    v7.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

    v7.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

    v7.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

    v7.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.

    BreakingFeatures
  • v7.6.3

    v7.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.