Skip to content

Releases: python-semver/python-semver

3.1.0

Choose a tag to compare

@tomschr tomschr released this 12 Sep 18:36
642d1bc

What's Changed

  • Fix #463: Remove duplicate code Version.bump_build by @tomschr in #464
  • Fix #460 Improve bump_prerelease to alway get a newer version by @Learloj in #462
  • 441 update pydantic section of docs by @jbkroner in #442
  • Fix #448: Remove Python 3.7-3.9 (EOL) by @tomschr in #470
  • fix: replace semver.parse() with semver.Version.parse() in docstrings by @koteshyelamati in #471
  • fix: next_version should bump version for build-only versions by @binggao1230 in #469
  • fix(next_version): reset prerelease when token changes (#339) by @Mukller in #472
  • Bump cryptography from 49.0.0 to 50.0.0 by @dependabot[bot] in #473
  • Declare support for Python 3.15 by @edgarrmondragon in #475
  • Add optional native parser backend (minimal adapter) by @lowmiaq-gmail in #476
  • Reject non-ASCII digits and trailing newlines in version parsing by @Str0k in #478
  • Fix bump_build() silently returning an unchanged version for digitless build metadata by @Str0k in #480
  • Handle malformed collection operands in Version comparisons by @Str0k in #479
  • Change version to 3.1.0 by @tomschr in #481

New Contributors

Full Changelog: 3.0.4...3.1.0
Documentation: https://python-semver.readthedocs.io/en/latest/

3.0.4

Choose a tag to compare

@tomschr tomschr released this 24 Jan 13:23
6adf876

Documentation: https://python-semver.rtfd.io/en/3.0.4/
PyPI: https://pypi.org/project/semver/3.0.4/
Full Changelog: 3.0.3...3.0.4

What's Changed

New Contributors

Thanks to @RobPasMue and @mgorny ❤️

3.0.3

Choose a tag to compare

@tomschr tomschr released this 18 Jan 14:10
486e489

Documentation: https://python-semver.rtfd.io/en/3.0.3/
PyPI: https://pypi.org/project/semver/3.0.3/ (yanked release)
Full Changelog: 3.0.2...3.0.3

What's Changed

New Contributors

3.0.2

Choose a tag to compare

@tomschr tomschr released this 09 Oct 12:00

Documentation: https://python-semver.rtfd.io/en/3.0.2/
PyPI: https://pypi.org/project/semver/3.0.2/
Full Changelog: 3.0.1...3.0.2
Full Changelog between last 2 release and 3: 3.0.1...3.0.2

What's Changed

New Contributors

Full Changelog: 3.0.1...3.0.2

3.0.1

Choose a tag to compare

@tomschr tomschr released this 14 Jun 11:50
c268060

Related pr: #413

Documentation: https://python-semver.rtfd.io/en/3.0.1/
PyPI: https://pypi.org/project/semver/3.0.1/
Full Changelog: 3.0.0...3.0.1
Full Changelog between last 2 release and 3: 2.13.0...3.0.1

What's Changed

New Contributors

Full Changelog: 3.0.0...3.0.1

3.0.0

Choose a tag to compare

@tomschr tomschr released this 02 Apr 13:20
3a7680d

Related pr: #403

Documentation: https://python-semver.rtfd.io/en/3.0.0/
PyPI: https://pypi.org/project/semver/3.0.0/
Full Changelog: 3.0.0-rc.1...3.0.0
Full Changelog between last 2 release and 3: 2.13.0...3.0.0

What's Changed

3.0.0-rc.1

Choose a tag to compare

@tomschr tomschr released this 19 Mar 16:47

Related pr: #399

Documentation: https://python-semver.rtfd.io/en/3.0.0-rc.1/
PyPI: https://pypi.org/project/semver/3.0.0rc1/
Full Changelog: 3.0.0-dev.4...3.0.0-rc.1

What's Changed

Apart from the above issues/pull request, for this release there were made some additional changes:

  • Combine all dev releases together in one changelog
  • Remove all changelog.d entries and integrate it into CHANGELOG
  • Move dev releases to file changelog-semver3-devel.rst
  • Split contributing into different sections
  • Some doc polishing; use :meth: consistently for semver.Version methods
  • Fix also some doc bugs
  • Amend list of contributors and sorted alphabetically by lastname
  • Correct docstrings on some deprecated functions

New Contributors

Thanks to all! ❤️

3.0.0-dev.4

Choose a tag to compare

@tomschr tomschr released this 19 Dec 10:57
ff34cce

Related pr: #385

  • Released
    2022-12-20

  • Maintainer
    Tom Schraitle

Documentation: https://python-semver.rtfd.io/en/3.0.0-dev.4/
Full Changelog: 3.0.0-dev.3...3.0.0-dev.4
PyPI: https://pypi.org/project/semver/3.0.0dev4/

Bug Fixes

  • #374: Correct Towncrier’s config entries in the pyproject.toml file. The old entries [[tool.towncrier.type]] are deprecated and need to be replaced by [tool.towncrier.fragment.<TYPE>].

Deprecations

  • #372: Deprecate support for Python 3.6
    Python 3.6 reached its end of life and isn’t supported anymore. At the time of writing (Dec 2022), the lowest version is 3.7.

    Although the poll didn’t cast many votes, the majority agree to remove support for Python 3.6.

Improved Documentation

  • #335: Add new section “Converting versions between PyPI and semver” the limitations and possible use cases to convert from one into the other versioning scheme.
  • #340: Describe how to get version from a file
  • #343: Describe combining Pydantic with semver in the “Advanced topic” section.
  • #350: Restructure usage section. Create subdirectory “usage/” and splitted all section into different files.
  • #351: Introduce new topics for:
    • “Migration to semver3”
    • “Advanced topics”

Features

  • PR #359: Add optional parameter optional_minor_and_patch in Version.parse() to allow optional minor and patch parts.
  • PR #362: Make Version.match() accept a bare version string as match expression, defaulting to equality testing.
  • #364: Enhance pyproject.toml to make it possible to use the pyproject-build command from the build module. For more information, see Building semver.
  • #365: Improve pyproject.toml.
    • Use setuptools, add metadata. Taken approach from A Practical Guide to Setuptools and Pyproject.toml.
    • Doc: Describe building of semver
    • Remove .travis.yml in MANIFEST.in (not needed anymore)
    • Distinguish between Python 3.6 and others in tox.ini
    • Add skip_missing_interpreters option for tox.ini
    • GH Action: Upgrade setuptools and setuptools-scm and test against 3.11.0-rc.2

Trivial/Internal Changes

  • #378: Fix some typos in Towncrier configuration

Contributors

(in alphabetical order)

Thanks to all! ❤️

3.0.0-dev.3

Choose a tag to compare

@tomschr tomschr released this 20 Jan 20:39
8293ee0

Related pr: #315

  • Released
    2022-01-20

  • Maintainer
    Tom Schraitle

Documentation: https://python-semver.rtfd.io/en/3.0.0-dev.3/
Full Changelog: 3.0.0-dev.2...3.0.0-dev.3

Bug Fixes

  • #310: Rework API documentation. Follow a more “semi-manual” attempt and add
    auto directives into docs/api.rst.

Improved Documentation

  • #312: Rework “Usage” section.

    • Rename VersionInfo to Version class, but keep the old name as alias
    • Remove semver. prefix in doctests to make examples shorter
    • Correct some references to dunder methods like __getitem__(), __gt__() etc.
    • Remove inconsistencies and mention module level function as deprecated and discouraged from using
    • Make empty super() call in semverwithvprefix.py example
  • #315: Improve release procedure text

  • #337: Improve documentation for semver max/min

Trivial/Internal Changes

  • #309: Some (private) functions from the semver.version module has been changed.
    The following functions got renamed as it is only useful inside the Version class:

    • function semver.version.comparator got renamed to semver.version._comparator()
    • function semver.version.cmp got renamed to semver.version._cmp()

    The following functions got integrated into the Version class:

    • function semver.version._nat_cmd as a class method
    • function semver.version.ensure_str
  • #313: Correct tox.ini for changelog entry to skip installation for semver. This should speed up the execution of towncrier.

  • #316: Comparisons of Version class and other types return now a NotImplemented constant instead of a TypeError exception.

    The NotImplemented section of the Python documentation recommends returning this constant when comparing with __gt__, __lt__, and other comparison operators to “to indicate that the operation is not implemented with respect to the other type”.

  • #319: Introduce stages in .travis.yml.

  • #322: Switch from Travis CI to GitHub Actions.

  • #347: Support Python 3.10 in GitHub Action and other config files.

  • Start supporting Python 3.10

Contributors

(in alphabetical order)

Thanks to all! ❤️

3.0.0-dev.2

3.0.0-dev.2 Pre-release
Pre-release

Choose a tag to compare

@tomschr tomschr released this 01 Nov 22:30
e7558a9

Related pr: #307

  • Released
    2020-11-01

  • Maintainer
    Tom Schraitle

Documentation: https://python-semver.rtfd.io/en/3.0.0-dev.2/
Full Changelog: 3.0.0-dev.1...3.0.0-dev.2

Deprecations

  • #169: Deprecate CLI functions not imported from semver.cli.

Features

  • #169: Create semver package and split code among different modules in the packages:
    • Remove semver.py
    • Create src/semver/__init__.py
    • Create src/semver/cli.py for all CLI methods
    • Create src/semver/_deprecated.py for the deprecated decorator and other deprecated functions
    • Create src/semver/__main__.py to allow calling the CLI using python -m semver
    • Create src/semver/_types.py to hold type aliases
    • Create src/semver/version.py to hold the Version class (old name VersionInfo) and its utility functions
    • Create src/semver/__about__.py for all the metadata variables
  • #305: Rename VersionInfo to Version but keep an alias for compatibility

Improved Documentation

  • #304: Several improvements in documentation:
    • Reorganize API documentation.
    • Add migration chapter from semver2 to semver3.
    • Distinguish between changlog for version 2 and 3
  • #305: Add note about Version rename.

Trivial/Internal Changes

  • #169: Adapted infrastructure code to the new project layout.

    • Replace setup.py with setup.cfg because the
      setup.cfg is easier to use
    • Adapt documentation code snippets where needed
    • Adapt tests
    • Changed the deprecated to hardcode the semver package name in the warning.

    Increase coverage to 100% for all non-deprecated APIs

  • #304: Support PEP-561 py.typed.

    According to the mentioned PEP:

    "Package maintainers who wish to support type checking of their
    code MUST add a marker file named py.typed to their
    package supporting typing."

    Add package_data to setup.cfg to include this marker in dist and whl file.

Contributors

(in alphabetical order)

Thanks to all! ❤️