Python module for working with Semantic Versioning, using the MAJOR.MINOR.PATCH format with support for pre-release and build metadata. It helps parse version strings, bump version parts, and compare versions, which is useful for managing and reasoning about release numbers in Python projects.
Project status
- The source (python-semver/python-semver) appears actively maintained, with a very recent upstream push on 2026-09-16 and a latest tagged update 3.1.0 on 2026-09-12.
- Update cadence looks active in the near term, with updates clustered in 2026 (latest 3.1.0) versus a long gap between earlier 2025 (3.0.4) and later 2026 activity, suggesting recent renewed development rather than continuous weekly/ monthly releases.
AI summary generated
Recent updates
3.1.0
Release 3.1.0 updates semver version handling and parsing behavior, adds an optional native parsing backend, and expands CI/testing support to newer Python versions (including 3.15). It also tightens SemVer validation rules (notably around non-ASCII digits and trailing newlines) and improves how invalid comparison operands are handled.
BreakingFeatures3.0.4
Release 3.0.4 is labeled as a bug fix for 3.0.3 (PR #459), with changes focused on packaging and project metadata rather than runtime behavior. The code diff shows updates to the distributed package contents and license classifier metadata, along with the expected version bump.
3.0.3
semver 3.0.3 is a maintenance release focused on tooling, documentation polish, and type hint improvements. It also includes a bug fix for version comparison with subclasses, plus CI and project configuration updates (including adoption of Astral's uv).
3.0.2
semver 3.0.2 is a small release focused on CI and documentation improvements, plus a couple of real behavior changes in the Version API. The release includes internal typing changes (ClassVar) and updates Version.to_dict and Version.replace behavior. It also amends GitHub workflow behavior to better handle documentation-only changes and to test macOS in CI.
Breaking3.0.1
Release 3.0.1 is a small packaging and maintenance update for python-semver, including metadata/doc improvements and CI workflow tweaks. The only runtime-impacting code change visible in the diff is related to how the package exports symbols (via __all__) and the version bump to 3.0.1.
3.0.0
Release 3.0.0 finalizes the semver library version (bumping __version__ from 3.0.0-rc.1 to 3.0.0). The main functional changes are refactoring max_ver/min_ver logic and ensuring semver._deprecated.compare remains available for users, tied to fix #258.
3.0.0-rc.1
Release 3.0.0-rc.1 primarily ships bug fixes and developer-experience improvements leading up to the semver 3.0.0 final release candidate. The documented work includes CLI fixes for python -m semver, improved typing for Version.parse, new Version.NAMES metadata, and support for bumping versions when given an empty string token.
Features3.0.0-dev.4
Release 3.0.0-dev.4 is primarily a maintenance update with documented fixes to Towncrier configuration, plus documentation restructuring and new guidance content. It also includes documented behavior changes for parsing and matching versions, and a documented deprecation of Python 3.6 support.
BreakingFeatures3.0.0-dev.3
Release 3.0.0-dev.3 primarily updates documentation and internal typing and refactors within semver's core version comparison logic. The main behavioral change in code is how comparisons behave when the other operand is an unsupported type, shifting from raising TypeError to returning NotImplemented.
Breaking3.0.0-dev.2
Release 3.0.0-dev.2 restructures the project into a proper Python package layout under src/semver, adds a dedicated CLI module, and introduces the Version class name (renamed from VersionInfo). It also updates documentation structure and ships PEP-561 typing support via py.typed.
Features3.0.0-dev.1
Release 3.0.0-dev.1 is a development snapshot preparing the semver 3.0.0-alpha line. The documented work focuses on dropping Python 2 and older Python versions, modernizing CI and packaging, migrating changelog management to Towncrier, and adding typing/documentation updates.
BreakingFeatures