Releases: python-semver/python-semver
Release list
3.1.0
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
- @Learloj made their first contribution in #462
- @jbkroner made their first contribution in #442
- @koteshyelamati made their first contribution in #471
- @binggao1230 made their first contribution in #469
- @Mukller made their first contribution in #472
- @dependabot[bot] made their first contribution in #473
- @edgarrmondragon made their first contribution in #475
- @lowmiaq-gmail made their first contribution in #476
- @Str0k made their first contribution in #478
Full Changelog: 3.0.4...3.1.0
Documentation: https://python-semver.readthedocs.io/en/latest/
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_versionby @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 semvercommands 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.dentries 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.Versionmethods - 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_patchinVersion.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.ymlinMANIFEST.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
VersionInfotoVersionclass, 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.pyexample
- Rename
-
#315: Improve release procedure text
-
#337: Improve documentation for semver max/min
Trivial/Internal Changes
-
#309: Some (private) functions from the
semver.versionmodule has been changed.
The following functions got renamed as it is only useful inside the Version class:- function
semver.version.comparatorgot renamed tosemver.version._comparator() - function
semver.version.cmpgot renamed tosemver.version._cmp()
The following functions got integrated into the
Versionclass:- function
semver.version._nat_cmdas a class method - function
semver.version.ensure_str
- function
-
#313: Correct
tox.inifor 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
NotImplementedconstant instead of aTypeErrorexception.The
NotImplementedsection 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.pyfor all CLI methods - Create
src/semver/_deprecated.pyfor thedeprecateddecorator and other deprecated functions - Create
src/semver/__main__.pyto allow calling the CLI usingpython -m semver - Create
src/semver/_types.pyto hold type aliases - Create
src/semver/version.pyto hold theVersionclass (old nameVersionInfo) and its utility functions - Create
src/semver/__about__.pyfor all the metadata variables
- Remove
- #305: Rename
VersionInfotoVersionbut 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
Versionrename.
Trivial/Internal Changes
-
#169: Adapted infrastructure code to the new project layout.
- Replace
setup.pywithsetup.cfgbecause the
setup.cfgis easier to use - Adapt documentation code snippets where needed
- Adapt tests
- Changed the
deprecatedto hardcode thesemverpackage 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.typedto their
package supporting typing."Add package_data to
setup.cfgto include this marker in dist and whl file.
Contributors
(in alphabetical order)
Thanks to all! ❤️