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
- Maintenance status: Evidence of ongoing work is limited to a most recent upstream push on 2025-12-09, while the latest published updates in the provided list are 3.0.4 on 2025-01-24. As of 2026-06-09, this suggests the project is not clearly active release-wise, more like maintenance mode with occasional updates.
- Update cadence: The 2025 period shows quick follow-up (3.0.3 on 2025-01-18, 3.0.4 on 2025-01-24), but there is a much larger gap between 3.0.2 (2023-10-09) and 3.0.3 (2025-01-18). Overall cadence appears irregular, dominated by maintenance/tooling changes rather than frequent feature releases.
AI summary generated
Recent updates
3.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