unstale

pypi / semver

semver

What changed in semver 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-23.

3 breaking1 new APIs and options1 behavior and defaults8 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.4 on npm

semver 313 changes

Breaking changes 3

  • Python 3.7–3.9 support is removed because those versions are EOL.

    3.1.0release notes

  • Version parsing rejects non-ASCII digits and trailing newlines.

    3.1.0release notes

  • Semver 3 requires Python 3.7 or greater; use the maint/v2 branch for Python 2 compatibility.

    3.0.0upgrade guide

New APIs and options 1

  • An optional native parser backend is available through a minimal adapter.

    3.1.0release notes

Behavior and default changes 1

  • next_version resets the prerelease when the token changes.

    3.1.0release notes

Fixes and other changes 8

  • bump_build no longer silently returns an unchanged version when build metadata contains no digits.

    3.1.0release notes

  • bump_prerelease now always produces a newer version.

    3.1.0release notes

  • next_version now bumps versions that differ only in build metadata.

    3.1.0release notes

  • Support for Python 3.15 is declared.

    3.1.0release notes

  • Version comparisons now handle malformed collection operands.

    3.1.0release notes

  • Simplified max_ver; the notes do not specify further details.

    3.0.0release notes

  • Simplified min_ver; the notes do not specify further details.

    3.0.0release notes

  • Kept semver._deprecated.compare available.

    3.0.0release notes