Visitar URL original
Comparing 3.0.4...3.1.0 · python-semver/python-semver · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: python-semver/python-semver
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 3.0.4
Choose a base ref
...
head repository: python-semver/python-semver
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 3.1.0
Choose a head ref
  • 17 commits
  • 25 files changed
  • 15 contributors

Commits on Jan 28, 2025

  1. Fix #463: Remove duplicate code Version.bump_build (#464)

    * Fix #463: Remove duplicate code Version.bump_build
    * Update changelog
    tomschr authored Jan 28, 2025
    Configuration menu
    Copy the full SHA
    d959aa7 View commit details
    Browse the repository at this point in the history
  2. Fix #460 Improve bump_prerelease to alway get a newer version (#462)

    Raising a prerelease version always results in a newer version, and raising
    an empty prerelease version has the option to raise the patch version as well
    
    Co-authored-by: Tom Schraitle <tomschr@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Bas Roos <bas.roos@enreach.com>
    Co-authored-by: Tom Schraitle <tomschr@users.noreply.github.com>
    3 people authored Jan 28, 2025
    Configuration menu
    Copy the full SHA
    d8813b6 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2025

  1. 441 update pydantic section of docs (#442)

    * Update docs/advanced/combine-pydantic-and-semver.rst
    * Update example with pydantic 2.10.5 semantic_version type
    
    ---------
    
    Co-authored-by: Tom Schraitle <tomschr@users.noreply.github.com>
    jbkroner and tomschr authored Jul 4, 2025
    Configuration menu
    Copy the full SHA
    cc5b1d3 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2026

  1. Fix #448: Remove Python 3.7-3.9 (EOL) (#470)

    According to the Status of Python versions (https://devguide.python.org/versions/),
    Python 3.7, 3.8, and 3.9 are already "end-of-life".
    
    * Python 3.7: PEP 537, end of life 2023-06-27
    * Python 3.8: PEP 569, end of life 2024-10-07
    * Python 3.9: PEP 596, end of life 2025-10-31
    
    => For semver, the lowest supported Python version is Python 3.10 now.
    
    Additional changes:
    
    * Remove docformatter
    * Add version identifiers for packages in `pyproject.toml`
    * Update uv.lock
    tomschr authored Jun 29, 2026
    Configuration menu
    Copy the full SHA
    9c19156 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2026

  1. fix: replace deprecated semver.parse() with semver.Version.parse() in…

    … docstrings (#471)
    
    The docstrings in bump_major, bump_minor, bump_patch, bump_prerelease, bump_build, and next_version used semver.parse() which returns a plain dict, not a Version object. Calling instance methods like .bump_major() on a dict raises AttributeError.
    
    Replace all 6 occurrences with semver.Version.parse() which correctly returns a Version instance, making the doctests runnable and accurate.
    koteshyelamati authored Jul 5, 2026
    Configuration menu
    Copy the full SHA
    a8bb4f8 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2026

  1. fix: next_version should bump version for build-only versions (#469)

    next_version('patch') on a version with build metadata but no prerelease
    (e.g. 1.2.3+build.5) would strip the build and return the same version
    (1.2.3) instead of bumping the patch (1.2.4).
    
    The condition in next_version was (version.prerelease or version.build),
    which caused build-only versions to enter the 'finalization' path meant
    for prereleases. Build metadata does not affect version precedence, so
    its presence should not trigger version finalization.
    
    Change the condition to only check version.prerelease.
    
    * docs: update next_version build-only example for new bump behavior
    binggao1230 authored Jul 15, 2026
    Configuration menu
    Copy the full SHA
    4e09ef0 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2026

  1. fix(next_version): reset prerelease when token changes (#339) (#472)

    When next_version("prerelease", prerelease_token="rc") is called on a
    version that already has a prerelease with a different token (e.g. dev),
    bump_prerelease() ignores the token argument and simply increments the
    existing counter. 1.2.4-dev.1 becomes 1.2.4-dev.2 instead of 1.2.4-rc.1.
    
    Fix: before delegating to bump_prerelease, check whether the existing
    prerelease token matches the requested one. When they differ, replace
    the prerelease directly with "{prerelease_token}.1".
    Mukller authored Jul 30, 2026
    Configuration menu
    Copy the full SHA
    fdec4ae View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2026

  1. Bump cryptography from 49.0.0 to 50.0.0 (#473)

    Bumps [cryptography](https://github.com/pyca/cryptography) from 49.0.0 to 50.0.0.
    - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
    - [Commits](pyca/cryptography@49.0.0...50.0.0)
    
    ---
    updated-dependencies:
    - dependency-name: cryptography
      dependency-version: 50.0.0
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Aug 5, 2026
    Configuration menu
    Copy the full SHA
    99d2032 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2026

  1. Declare support for Python 3.15 (#475)

    Signed-off-by: Edgar Ramírez Mondragón <edgarrm358@gmail.com>
    edgarrmondragon authored Aug 31, 2026
    Configuration menu
    Copy the full SHA
    873a675 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2026

  1. Add optional native parser backend (minimal adapter) (#476)

    Provide an external Rust backend (fast-semver-rs-backend)
    
    * Pure-Python parser remains default; opt-in only
    * Document optional [native] extra in install.rst
    * Backend fast-semver-rs-backend accelerates parsing on CPython
    * Add towncrier newsfragment pr476.feature.rst
    
    
    ---------
    
    Co-authored-by: lowmiaq-gmail <lowmiaq-gmail@users.noreply.github.com>
    Co-authored-by: Cursor Agent <cursoragent@cursor.com>
    3 people authored Sep 2, 2026
    Configuration menu
    Copy the full SHA
    0f18aa0 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2026

  1. Reject non-ASCII digits and trailing newlines in version parsing (#478)

    Co-authored-by: Codex <noreply@openai.com>
    Str0k and codex authored Sep 12, 2026
    Configuration menu
    Copy the full SHA
    1e87579 View commit details
    Browse the repository at this point in the history
  2. Fix bump_build() silently returning an unchanged version for digitles…

    …s build metadata (#480)
    
    `semver.version.Version.bump_build` will now add `.0` to an existing
    build when the last segment of the current build metadata, split by dots
    (`.`), is not numeric.
    
    This is to ensure the bumped version contains a raised build instead
    of silently returning an unchanged version.
    
    For example, `1.2.3+alpha` is bumped to `1.2.3+alpha.0`. This mirrors the
    corresponding fix for the prerelease part (#460).
    
    Related to #466.
    Str0k authored Sep 12, 2026
    Configuration menu
    Copy the full SHA
    ea2524a View commit details
    Browse the repository at this point in the history
  3. Improve test coverage to 100% (Rust backend)

    Ignoring the optional Rust backend fallback.
    tomschr committed Sep 12, 2026
    Configuration menu
    Copy the full SHA
    1b7350c View commit details
    Browse the repository at this point in the history
  4. Handle malformed collection operands in Version comparisons (#479)

    Comparing a `Version` with a `dict`, `tuple`, or `list` that cannot construct a
    valid version (for example, an empty collection, wrong number of parts,
    non-numeric parts, or unknown keys) no longer raises internal errors
    from `Version.__init__`.
    
    The comparison operators now return `NotImplemented` for such operands,
    following the general rule for invalid comparison operand types: equality
    evaluates to `False` and ordering raises Python's standard `TypeError`
    (for example, `>` not supported between instances of 'Version' and 'dict'`).
    Str0k authored Sep 12, 2026
    Configuration menu
    Copy the full SHA
    0aa17a3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a62477b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2a2cf63 View commit details
    Browse the repository at this point in the history
  7. Change version to 3.1.0 (#481)

    * Update GitHub Action steps
    * Update list of contributors. Thanks to all!
    tomschr authored Sep 12, 2026
    Configuration menu
    Copy the full SHA
    642d1bc View commit details
    Browse the repository at this point in the history
Loading