Change Log

Changes for the upcoming release can be found in the “changelog.d” directory in our repository.

Version 3.0.0-dev.1

Released

2020-10-26

Maintainer

Tom Schraitle

Deprecations

  • PR #290: For semver 3.0.0-alpha0:

    • Remove anything related to Python2

    • In tox.ini and .travis.yml Remove targets py27, py34, py35, and pypy. Add py38, py39, and nightly (allow to fail)

    • In setup.py simplified file and remove Tox and Clean classes

    • Remove old Python versions (2.7, 3.4, 3.5, and pypy) from Travis

  • #234: In setup.py simplified file and remove Tox and Clean classes

Features

  • PR #290: Create semver 3.0.0-alpha0

    • Update README.rst, mention maintenance branch maint/v2.

    • Remove old code mainly used for Python2 compatibility, adjusted code to support Python3 features.

    • Split test suite into separate files under tests/ directory

    • Adjust and update setup.py. Requires Python >=3.6.* Extract metadata directly from source (affects all the __version__, __author__ etc. variables)

  • #270: Configure Towncrier (PR #273:)

    • Add changelog.d/.gitignore to keep this directory

    • Create changelog.d/README.rst with some descriptions

    • Add changelog.d/_template.rst as Towncrier template

    • Add [tool.towncrier] section in pyproject.toml

    • Add “changelog” target into tox.ini. Use it like tox -e changelog -- CMD whereas CMD is a Towncrier command. The default tox -e changelog calls Towncrier to create a draft of the changelog file and output it to stdout.

    • Update documentation and add include a new section “Changelog” included from changelog.d/README.rst.

  • #276: Document how to create a sublass from VersionInfo class

Bug Fixes

  • #291: Disallow negative numbers in VersionInfo arguments for major, minor, and patch.

Improved Documentation

  • PR #290: Several improvements in the documentation:

    • New layout to distinguish from the semver2 development line.

    • Create new logo.

    • Remove any occurances of Python2.

    • Describe changelog process with Towncrier.

    • Update the release process.

Trivial/Internal Changes

  • PR #290: Add supported Python versions to black.


Version 2.13.0

Released

2020-10-20

Maintainer

Tom Schraitle

Features

  • PR #287: Document how to create subclass from VersionInfo

Bug Fixes

  • PR #283: Ensure equal versions have equal hashes. Version equality means for semver, that major, minor, patch, and prerelease parts are equal in both versions you compare. The build part is ignored.

Additions

n/a

Deprecations

n/a


Version 2.12.0

Released

2020-10-19

Maintainer

Tom Schraitle

Bug Fixes


Version 2.11.0

Released

2020-10-17

Maintainer

Tom Schraitle

Bug Fixes

  • #276 (PR #277): VersionInfo.parse should be a class method

    Also add authors and update changelog in #286

  • #274 (PR #275): Py2 vs. Py3 incompatibility TypeError


Version 2.10.2

Released

2020-06-15

Maintainer

Tom Schraitle

Features

#268: Increase coverage

Bug Fixes

  • #260 (PR #261): Fixed __getitem__ returning None on wrong parts

  • PR #263: Doc: Add missing “install” subcommand for openSUSE


Version 2.10.1

Released

2020-05-13

Maintainer

Tom Schraitle

Features

  • PR #249: Added release policy and version restriction in documentation to help our users which would like to stay on the major 2 release.

  • PR #250: Simplified installation semver on openSUSE with obs://.

  • PR #256: Made docstrings consistent

Bug Fixes

  • #251 (PR #254): Fixed return type of semver.VersionInfo.next_version to always return a VersionInfo instance.


Version 2.10.0

Released

2020-05-05

Maintainer

Tom Schraitle

Features

  • PR #138: Added __getitem__ magic method to semver.VersionInfo class. Allows to access a version like version[1].

  • PR #235: Improved documentation and shift focus on semver.VersionInfo instead of advertising the old and deprecated module-level functions.

  • PR #230: Add version information in some functions:

    • Use .. versionadded:: RST directive in docstrings to make it more visible when something was added

    • Minor wording fix in docstrings (versions -> version strings)

Bug Fixes

  • #224 (PR #226): In setup.py, replaced in class clean, super(CleanCommand, self).run() with CleanCommand.run(self)

  • #244 (PR #245): Allow comparison with VersionInfo, tuple/list, dict, and string.

Additions

  • PR #228: Added better doctest integration

Deprecations

  • #225 (PR #229): Output a DeprecationWarning for the following functions:

    • semver.parse

    • semver.parse_version_info

    • semver.format_version

    • semver.bump_{major,minor,patch,prerelease,build}

    • semver.finalize_version

    • semver.replace

    • semver.VersionInfo._asdict (use the new, public available function semver.VersionInfo.to_dict())

    • semver.VersionInfo._astuple (use the new, public available function semver.VersionInfo.to_tuple())

    These deprecated functions will be removed in semver 3.


Version 2.9.1

Released

2020-02-16

Maintainer

Tom Schraitle

Features

Bug Fixes

  • #192 (PR #193): Fixed “pysemver” and “pysemver bump” when called without arguments


Version 2.9.0

Released

2019-10-30

Maintainer

Sébastien Celles <s.celles@gmail.com>

Features

Bug Fixes

  • #102: Fixed comparison between VersionInfo and tuple

  • #103: Disallow comparison between VersionInfo and string (and int)

  • #121 (PR #122): Use python3 instead of python3.4 in tox.ini

  • PR #123: Improved __repr__() and derive class name from type()

  • #128 (PR #129): Fixed wrong datatypes in docstring for semver.format_version()

  • #135 (PR #140): Converted prerelease and build to string

  • #136 (PR #151): Added testsuite to tarball

  • #154 (PR #155): Improved README description

Removals


Version 2.8.2

Released

2019-05-19

Maintainer

Sébastien Celles <s.celles@gmail.com>

Skipped, not released.


Version 2.8.1

Released

2018-07-09

Maintainer

Sébastien Celles <s.celles@gmail.com>

Features

  • #40 (PR #88): Added a static parse method to VersionInfo

  • #77 (PR #47): Converted multiple tests into pytest.mark.parametrize

  • #87, #94 (PR #93): Removed named tuple inheritance.

  • #89 (PR #90): Added doctests.

Bug Fixes

  • #98 (PR #99): Set prerelease and build to None by default

  • #96 (PR #97): Made VersionInfo immutable


Version 2.8.0

Released

2018-05-16

Maintainer

Sébastien Celles <s.celles@gmail.com>

Changes

  • #82 (PR #83): Renamed test.py to test_semver.py so py.test can autodiscover test file

Additions

Removals

  • #76 (PR #80): Removed Python 2.6 compatibility