# What changed in semver

> 13 changes in semver 3 from its official release notes, upgrade guides and advisories: 3 breaking, 1 new APIs and options. Each one cited. Sources checked 2026-10-23. HTML: https://unstale.sh/pypi/semver/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## semver 3

### Breaking changes

- Python 3.7–3.9 support is removed because those versions are EOL. (3.1.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.1.0)
- Version parsing rejects non-ASCII digits and trailing newlines. (3.1.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.1.0)
- Semver 3 requires Python 3.7 or greater; use the maint/v2 branch for Python 2 compatibility. (3.0.0) — [upgrade guide](https://python-semver.rtfd.io/en/3.0.0/)

### New APIs and options

- An optional native parser backend is available through a minimal adapter. (3.1.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.1.0)

### Behavior and default changes

- next_version resets the prerelease when the token changes. (3.1.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.1.0)

### Fixes and other changes

- bump_build no longer silently returns an unchanged version when build metadata contains no digits. (3.1.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.1.0)
- bump_prerelease now always produces a newer version. (3.1.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.1.0)
- next_version now bumps versions that differ only in build metadata. (3.1.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.1.0)
- Support for Python 3.15 is declared. (3.1.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.1.0)
- Version comparisons now handle malformed collection operands. (3.1.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.1.0)
- Simplified max_ver; the notes do not specify further details. (3.0.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.0.0)
- Simplified min_ver; the notes do not specify further details. (3.0.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.0.0)
- Kept semver._deprecated.compare available. (3.0.0) — [release notes](https://github.com/python-semver/python-semver/releases/tag/3.0.0)
