Changelog semver3 development¶
This site contains all the changes during the development phase.
Version 3.0.0-dev.4¶
- Released:
2022-12-18
- Maintainer:
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¶
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
Version 3.0.0-dev.3¶
- Released:
2022-01-19
- Maintainer:
Tom Schraitle
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.
Mention the rename of
VersionInfo
toVersion
classRemove 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
#315: Improve release procedure text
Trivial/Internal Changes¶
#309: Some (private) functions from the
semver.version
module has been changed.The following functions got renamed:
function
semver.version.comparator()
got renamed tosemver.version._comparator()
as it is only useful inside theVersion
class.function
semver.version.cmp()
got renamed tosemver.version._cmp()
as it is only useful inside theVersion
class.
The following functions got integrated into the
Version
class:function
semver.version._nat_cmd()
as a classmethodfunction
semver.version.ensure_str()
#313: Correct
tox.ini
forchangelog
entry to skip installation for semver. This should speed up the execution of towncrier.#316: Comparisons of
Version
class and other types return now aNotImplemented
constant instead of aTypeError
exception.In the Python documentation,
NotImplemented
recommends returning this constant when comparing with__gt__
,__lt__
, and other comparison operators “to indicate that the operation is not implemented with respect to the other type”.#319: Introduce stages in
.travis.yml
The config file contains now two stages: check and test. If check fails, the test stage won’t be executed. This could speed up things when some checks fails.#322: Switch from Travis CI to GitHub Actions.
#347: Support Python 3.10 in GitHub Action and other config files.
Version 3.0.0-dev.2¶
- Released:
2020-11-01
- Maintainer:
Tom Schraitle
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 methodsCreate
src/semver/_deprecated.py
for thedeprecated
decorator and other deprecated functionsCreate
src/semver/__main__.py
to allow calling the CLI using python -m semverCreate
src/semver/_types.py
to hold type aliasesCreate
src/semver/version.py
to hold theVersion
class (old nameVersionInfo
) and its utility functionsCreate
src/semver/__about__.py
for all the metadata variables
#305: Rename
VersionInfo
toVersion
but keep an alias for compatibility
Improved Documentation¶
Trivial/Internal Changes¶
#169: Adapted infrastructure code to the new project layout.
Replace
setup.py
withsetup.cfg
because thesetup.cfg
is easier to useAdapt 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
#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.
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 removeTox
andClean
classesRemove 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/
directoryAdjust 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 directoryCreate
changelog.d/README.rst
with some descriptionsAdd
changelog.d/_template.rst
as Towncrier templateAdd
[tool.towncrier]
section inpyproject.toml
Add “changelog” target into
tox.ini
. Use it like tox -e changelog -- CMD whereasCMD
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#213: Add typing information
Bug Fixes¶
#291: Disallow negative numbers in VersionInfo arguments for
major
,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.