Releases: python-semver/python-semver
3.0.4
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
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
- Use meta directive for SEO by @tomschr in #435
- Move search box more at the top by @tomschr in #436
- Update workflow file by @tomschr in #440
- Improve type hints to fix TODOs by @waketzheng in #439
- Gha add python313 by @tomschr in #446
- Improve private
_nat_cmp()
method by @tomschr in #445 - Modernize project configs with pyproject.toml by @tomschr in #447
- Turn our Markdown issue templates into YAML by @tomschr in #451
- Fix comparison with subclasses by @viccie30 in #453
- Release/3.0.3 by @tomschr in #454
New Contributors
- @waketzheng made their first contribution in #439
- @viccie30 made their first contribution in #453
3.0.2
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
- GHA: Use matrix to test MacOS too by @tomschr in #417
- Return dict instead of OrderedDict by @dschwoerer in #419
- Introduce ClassVar type by @tomschr in #420
- Add mypy config to pyproject.toml by @tomschr in #421
- Fix #422: Update advanced topic about Pydantic v2 by @tomschr in #423
- Fix #426: call subclass when deriving from Version by @tomschr in #427
- GH Action: Don't block when only doc files are modified by @tomschr in #428
- Improve documentation wording & consistency by @tomschr in #425
- Fix #429: bug on serialization to json by @apiwat-chantawibul in #430
- Clarify version policy for semver by @tomschr in #431
- Improve external docs with intersphinx extension by @tomschr in #432
- Build 3.0.2 release of semver by @tomschr in #433
New Contributors
- @dschwoerer made their first contribution in #419
- @RobinGroundfog made their first contribution in #422
- @apiwat-chantawibul made their first contribution in #430
- @dannystaple made their first contribution in #426
Full Changelog: 3.0.1...3.0.2
3.0.1
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
- Remove incorrect dependencies from build-system section of pyproject.toml by @mgorny in #405
- correct typo in function description of
next_version
by @treee111 in #406 - Improve GitHub Action by @tomschr in #408
- Add CITATION.cff for citation by @tomschr in #409
- Add Version class to
__all__
export. Fix #410 by @Soneji in #411 - Configure docformatter by @tomschr in #412
- Prepare version 3.0.1 by @tomschr in #413
New Contributors
- @mgorny made their first contribution in #405
- @treee111 made their first contribution in #406
- @Soneji made their first contribution in #411
Full Changelog: 3.0.0...3.0.1
3.0.0
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
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
- tox/pytest: Add testpaths and use importlib by @tomschr in #388
- Trivial: Introduce public Version.NAMES class variable by @tomschr in #389
- Fix pydantic/semver example by @mssalvatore in #392
- Fix: All
python -m semver
commands fail with 'error: invalid choice:' by @zanecodes in #393 - Fix return type of classmethod parse by @def- in #396
- Fix #344 Allow empty string for bump method by @tomschr in #365
- Fix #397: Remove asterisk in python_requires by @tomschr in #398
- Fix #284: implement "is compatible with" method by @tomschr in #368
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 forsemver.Version
methods - Fix also some doc bugs
- Amend list of contributors and sorted alphabetically by lastname
- Correct docstrings on some deprecated functions
New Contributors
- @mssalvatore made their first contribution in #392
- @zanecodes made their first contribution in #393
- @def- made their first contribution in #396
Thanks to all! ❤️
3.0.0-dev.4
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
inVersion.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
inMANIFEST.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)
- @b0uh (new contributor)
- @calebstewart
- @jmi2k
- @Nagidal (new contributor)
- @OidaTiftla (new contributor)
Thanks to all! ❤️
3.0.0-dev.3
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 intodocs/api.rst
.
Improved Documentation
-
#312: Rework “Usage” section.
- Rename
VersionInfo
toVersion
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 insemverwithvprefix.py
example
- Rename
-
#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 tosemver.version._comparator()
- function
semver.version.cmp
got renamed tosemver.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
- function
-
#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 aTypeError
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)
- @mzjp2 (new contributor)
- @tlaferriere
Thanks to all! ❤️
3.0.0-dev.2
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 thedeprecated
decorator and other deprecated functions - Create
src/semver/__main__.py
to allow calling the CLI usingpython -m semver
- Create
src/semver/_types.py
to hold type aliases - Create
src/semver/version.py
to hold theVersion
class (old nameVersionInfo
) and its utility functions - Create
src/semver/__about__.py
for all the metadata variables
- Remove
- #305: Rename
VersionInfo
toVersion
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
withsetup.cfg
because the
setup.cfg
is easier to use - Adapt documentation code snippets where needed
- Adapt tests
- Changed the
deprecated
to hardcode thesemver
package name in the warning.
Increase coverage to 100% for all non-deprecated APIs
- Replace
-
#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 namedpy.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! ❤️
3.0.0-dev.1
Related pr: #295
-
Released
2020-10-26 -
Maintainer
Tom Schraitle
Documentation https://python-semver.rtfd.io/en/3.0.0-dev.1/
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 removeTox
andClean
classes
Features
- PR #290: Create semver 3.0.0-alpha0:
- Update
README.rst
, mention maintenance branchmaint/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)
- Update
- #276: Document how to create a sublass from VersionInfo class
- #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 inpyproject.toml
- Add “changelog” target into
tox.ini
. Use it liketox -e changelog -- CMD
whereasCMD
is a Towncrier command. The defaulttox -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
.
- Add
- #213: Add typing information
Bug Fixes
- #291: Disallow negative numbers in
VersionInfo
arguments formajor
,minor
, andpatch
.
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
.
Contributors
(in alphabetical order)
Thanks to all! ❤️