Back to Explore

python-semver/python-semver

GitHub
1 watchersOpen source

Last release: 1/24/2025

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

  • Actively maintained: The repository shows continued activity, with version updates in early 2025 (3.0.3 and 3.0.4) and an upstream push as recent as 2025-12-09, indicating it is not in a long-term maintenance freeze.
  • Update cadence: After a relatively long gap since 3.0.2 (2023-10-09), there were two close together updates (3.0.3 on 2025-01-18, 3.0.4 on 2025-01-24), suggesting active follow-up shortly after the prior update. The evidence provided does not show more 2025 updates beyond those.

AI summary generated Today

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

Recent updates

  • 3.0.4

    1/24/2025

    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

    1/18/2025

    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

    10/9/2023

    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.

    Breaking
  • 3.0.1

    6/14/2023

    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

    4/2/2023

    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

    3/19/2023

    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.

    Features
  • 3.0.0-dev.4

    12/19/2022

    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.

    BreakingFeatures
  • 3.0.0-dev.3

    1/20/2022

    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.

    Breaking
  • 3.0.0-dev.2

    11/1/2020

    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.

    Features
  • 3.0.0-dev.1

    10/26/2020

    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