NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3697 most downloaded on PyPI
Automatic Semantic Versioning for Python projects
Last release 20 days ago
28 Aug 2026
Release timing varies
gaps range from 2 weeks to 7 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
268 releases · first in 2015
algorithm: handle merge-base errors gracefully (`4c998b7`)
One column per quarter.
cmd-version: create changelog prior to build enabling doc bundling (`37fdb28`)
Changelog available to bundle (#779)
cmd-version: create changelog prior to build enabling doc bundling (37fdb28)
cli: enable subcommand help even if config is invalid (`91d221a`)
91d221a)parse-git-url: handle urls with url-safe special characters (`27cd93a`)
parse-git-url: Handle urls with url-safe special characters (27cd93a)
version: add new version print flags to display the last released version and tag (`814240c`)
version: add new version print flags to display the last released version and tag (814240c)
version-config: add option to disable 0.x.x versions (dedb3b7)
changelog: make sure default templates render ending in 1 newline (0b4a45e)
changelog-generation: fix incorrect release timezone determination (f802446)
MANIFEST: fix sdist contents to include docs & tests (228347c)
deps: add click-option-group for grouping exclusive flags (bd892b8)
version: Add new version print flags to display the last released version and tag (814240c)
version-config: Add option to disable 0.x.x versions (dedb3b7)
changelog: Make sure default templates render ending in 1 newline (0b4a45e)
changelog-generation: Fix incorrect release timezone determination (f802446)
configuration: Add description of allow-zero-version configuration option (4028f83)
configuration: Clarify the major_on_zero configuration option (f7753cd)
deps: Add click-option-group for grouping exclusive flags (bd892b8)
parse_git_url: fix bad url with dash (`1c25b8e`)
parse_git_url: Fix bad url with dash (1c25b8e)
deps: bump minimum required tomlkit to >=0.11.0 (`291aace`)
Add bitbucket hvcs (bbbbfeb)
Remove unofficial environment variables (a5168e4)
chore: modernize ruff configuration to work with ruff >= 0.2 (`613d240`)
613d240)02df305)8b742d3)f95be0c)2c8a36e)algorithm: Correct bfs to not abort on previously visited node (02df305)
algorithm: Refactor bfs search to use queue rather than recursion (8b742d3)
…failed to split at all) and cause detection of Breaking changes to fail. The breaking changes regular expression looks to the start of the line for th…
e238452)ci: Configure trusted publishing in pypi (8e3c00b)
ci: bump the github-actions group with 3 updates (#831) (bf96143)
ci: add grouped github-actions section to dependabot config (#794) (3eb15c4)
fb6f243)Due to windows line-endings \r\n, it would improperly split the commit
description (it failed to split at all) and cause detection of Breaking changes
to fail. The breaking changes regular expression looks to the start of the line
for the proper syntax.
Resolves: #820 (70193ba)
style: beautify 70193ba117c1a6d3690aed685fee8a734ba174e5 (c777bb2)
style: beautify 229c6471efc2c1bee002c3b89f58caf391b89e78 (c7be6e2)
feat(config): enable default environment token per hvcs (#774) (`26528eb`)
docs: minor correction to commit-parsing documentation (#777) (`245e878`)
245e878)Git remote url parsing now supports additional formats (ssh, https, file, git) (cf75f23)
2de634d)build(deps-dev): bump ruff from 0.1.7 to 0.1.8
Bumps ruff from 0.1.7 to 0.1.8.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (5efda8a)
build(deps-dev): bump ruff from 0.1.6 to 0.1.7 (#769)
build(deps-dev): bump ruff from 0.1.6 to 0.1.7
Bumps ruff from 0.1.6 to 0.1.7.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bernard Cooke <bernard-cooke@hotmail.com> (c48c3b3)
fix(cli): gracefully output configuration validation errors (#772)
test(fixtures): update example project workflow & add config modifier
test(cli-main): add test for raw config validation error
fix(cli): gracefully output configuration validation errors (e8c9d51)
docs(configuration): adjust wording and improve clarity
docs(configuration): adjust wording and improve clarity (#766)
docs(configuration): fix typo in text
docs(configuration): adjust wording and improve clarity (6b2fc8c)
fix(config): gracefully fail when repo is in a detached HEAD state (#765)
fix(config): cleanly handle repository in detached HEAD state
test(cli-main): add detached head cli test (ac4f9aa)
fix(cmd-version): handle committing of git-ignored file gracefully (#764)
fix(version): only commit non git-ignored files during version commit
test(version): set version file as ignored file
Tweaks tests to use one committed change file and the version file
as an ignored change file. This allows us to verify that our commit
mechanism does not crash if a file that is changed is ignored by user (ea89fa7)
9bf69d7)cmd-version: Handle committing of git-ignored file gracefully (PR#764, ea89fa7)
config: Cleanly handle repository in detached HEAD state (PR#765, ac4f9aa)
config: Gracefully fail when repo is in a detached HEAD state (PR#765, ac4f9aa)
version: Only commit non git-ignored files during version commit (PR#764, ea89fa7)
feat: allow template directories to contain a '.' at the top-level (#762) (`07b232a`)
07b232a)build(deps-dev): bump ruff from 0.1.2 to 0.1.6
Bumps ruff from 0.1.2 to 0.1.6.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (90db8f1)
Updates the requirements on python-gitlab to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (a176d62)
9c5bbe0)90380d7)feat(cmd-version): add --tag/--no-tag option to version command (#752)
fix(version): separate push tags from commit push when not committing changes
feat(version): add --no-tag option to turn off tag creation
test(version): add test for --tag option & --no-tag/commit
docs(commands): update version subcommand options (de6b9ad)
style: beautify de6b9ad921e697b5ea2bb2ea8f180893cecca920 (c94fb6f)
style: convert formatter from black to ruff (#746) (deb4dba)
744ff25)This reverts commit 4648d87bac8fb7e6cc361b765b4391b30a8caef8. (f145257)
cmd-version: Add --tag/--no-tag option to version command (PR#752, de6b9ad)
version: Add --no-tag option to turn off tag creation (PR#752, de6b9ad)
feat(action): use composite action for semantic release
Co-authored-by: Bernard Cooke <bernard-cooke@hotmail.com> (4648d87)
docs: add PYTHONPATH mention for commit parser (`3284258`)
build(deps-dev): update importlib-resources requirement (#719) (`b1ec8fe`)
build(deps-dev): update importlib-resources requirement (#719) (b1ec8fe)
build(deps-dev): bump ruff from 0.0.290 to 0.0.292 (#726) (9818cb0)
chore: remove setup.py as setuptools no longer needs it (d8762c8)
chore: clearer pytest output from tox (d890e46)
chore: pre-commit autoupdate && pre-commit run -a (7f448f2)
chore: add tests for python 3.12 (#728) (42360fd)
GitHub.upload_asset now raises ValueError instead of requests.HTTPError (a13a6c3)
2553657)build(deps-dev): bump ruff from 0.0.286 to 0.0.290
Bumps ruff from 0.0.286 to 0.0.290.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (6b288f2)
75e6e48)build(deps-dev): bump importlib-resources from 5.7 to 5.12.0
build(deps-dev): bump importlib-resources from 5.7 to 5.12.0 (#704)
build(deps-dev): bump importlib-resources from 5.7 to 5.12.0
build(deps-dev): relax importlib-resources requirement
Co-authored-by: Bernard Cooke <bernard.cooke@iotics.com> (861fe01)
2e57fb9)5a5c5d0)chore: remove duplicate test cases (`249cec7`)
fix: use correct upload url for github
Co-authored-by: github-actions <action@github.com> (8a515ca)
build(deps-dev): update pytest-xdist requirement
Updates the requirements on pytest-xdist to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (9ec6321)
Updates the requirements on coverage[toml] to permit the latest version.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (3561a97)
Bumps responses from 0.21.0 to 0.23.3.
updated-dependencies:
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (dd6946c)
chore: clean up dependabot commit messages (5981a45)
chore: remove redundant flake8 config and add missing README badges (101e182)
chore(deps): remove obsolete dataclasses dependency (#674) (d70fe75)
2ad5c41)bdc06ea)docs: fix typo missing 's' in version_variable[s] in configuration.rst (#668) (`879186a`)
879186a)fix: don't warn about vcs token if ignore_token_for_push is true. (#670)
fix: don't warn about vcs token if ignore_token_for_push is true.
docs: password should be token. (f1a54a6)
0280e10)docs: clarify usage of assets config option (#655) (`efa2b30`)
docs: clarify usage of assets config option (#655) (efa2b30)
docs: add Python 3.11 to classifiers in metadata (#651) (5a32a24)
5984c77)df91bad)fix: skip unparseable versions when calculating next version (#649) (`88f25ea`)
88f25ea)docs: clarify v8 breaking changes in GitHub action inputs (#643) (`cda050c`)
docs: reduce readthedocs formats and add entries to migration from v7 guide (`9b6ddfe`)
Co-authored-by: Johan <johanhmr@gmail.com> Co-authored-by: U-NEO\johan <johan.hammar@ombea.com>
feat!: v8 (#619)
feat!: 8.0.x (#538)
Co-authored-by: Johan <johanhmr@gmail.com> Co-authored-by: U-NEO\johan <johan.hammar@ombea.com>
fix: correct Dockerfile CLI command and GHA fetch
fix: resolve branch checkout logic in GHA
fix: remove commit amending behaviour
this was not working when there were no source code changes to be made, as it lead to attempting to amend a HEAD commit that wasn't produced by PSR
Automatically generated by python-semantic-release
fix: correct logic for generating release notes (#550)
fix: cleanup comments and unused logic
fix(action): mark container fs as safe for git to operate on
style: beautify 49080c510a68cccd2f6c7a8d540b483751901207
fix(action): quotation for git config command
8.0.0-alpha.2
Automatically generated by python-semantic-release
fix: resolve bug in changelog logic, enable upload to pypi
8.0.0-alpha.3
Automatically generated by python-semantic-release
test: add tests for ReleaseHistory.release
fix: resolve loss of tag_format configuration
8.0.0-alpha.4
Automatically generated by python-semantic-release
feat: various improvements
Added sorting to test parameterisation, so that pytest-xdist works again - dramatic speedup for testing
Reworked the CI verification code so it's a bit prettier
Added more testing for the version CLI command, and split some logic out of the command itself
Removed a redundant double-regex match in VersionTranslator and Version, for some speedup
chore(test): proper env patching for tests in CI
style: beautify bcb27a4a8ce4789d083226f088c1810f45cd4c77
refactor!: remove verify-ci command
8.0.0-alpha.5
Automatically generated by python-semantic-release
fix(docs): fixup docs and remove reference to dist publication
feat!: remove publication of dists to artefact repository
feat: rename 'upload' configuration section to 'publish'
feat!: removed build status checking
feat: add GitHub Actions output
fix(action): remove default for 'force'
fix(ci): different workflow for v8
fix(action): correct input parsing
fix: correct handling of build commands
feat: make it easier to access commit messages in ParsedCommits
fix: make additional attributes available for template authors
fix: add logging for token auth, use token for push
ci: add verbosity
fix: caching for repo owner and name
ci: contents permission for workflow
8.0.0-alpha.6
Automatically generated by python-semantic-release
docs: update docs with additional required permissions
feat: add option to specify tag to publish to in publish command
feat: add Strict Mode
docs: convert to Furo theme
feat: add --skip-build option
8.0.0-alpha.7
Automatically generated by python-semantic-release
test: separate command line tests by stdout and stderr
ci: pass tag output and conditionally execute publish steps
fix: correct assets type in configuration (#603)
change raw config assets type
fix: correct assets type-annotation for RuntimeContext
Co-authored-by: Bernard Cooke <bernard-cooke@hotmail.com>
Automatically generated by python-semantic-release
fix: pin Debian version in Dockerfile
feat: promote to rc
8.0.0-rc.1
Automatically generated by python-semantic-release
ci: fix conditionals in workflow and update documentation
ci: correct conditionals
fix: only call Github Action output callback once defaults are set
8.0.0-rc.2
Automatically generated by python-semantic-release
fix: create_or_update_release for Gitlab hvcs
ci: remove separate v8 workflow
chore: tweak issue templates
chore: bump docs dependencies
8.0.0-rc.3
Automatically generated by python-semantic-release
fix(deps): add types-click, and downgrade sphinx/furo for 3.7
8.0.0-rc.4
Automatically generated by python-semantic-release
docs: fix typo (#623)
docs: correct typo in docs/changelog_templates.rst
Co-authored-by: Micael Jarniac <micael@jarniac.com>
Co-authored-by: Johan <johanhmr@gmail.com>
Co-authored-by: U-NEO\johan <johan.hammar@ombea.com>
Co-authored-by: semantic-release <semantic-release>
Co-authored-by: github-actions <action@github.com>
Co-authored-by: smeng9 <38666763+smeng9@users.noreply.github.com>
Co-authored-by: Micael Jarniac <micael@jarniac.com> (ec30564)
publish-cmd: Add --post-to-release-tag option to control where to publish (PR#619, ec30564)
Make it easier to access commit messages in ParsedCommits (PR#619, ec30564)
Remove publication of dists/ to artifact repository (PR#619, ec30564)
Rename 'upload' configuration section to 'publish' (PR#619, ec30564)
github-action: Add GitHub Actions output variables (PR#619, ec30564)
Add logging for token auth, use token for push (PR#619, ec30564)
Correct assets type-annotation for RuntimeContext (PR#619, ec30564)
Correct Dockerfile CLI command and GHA fetch (PR#619, ec30564)
Correct logic for generating release notes (PR#619, ec30564)
Make additional attributes available for template authors (PR#619, ec30564)
Only call Github Action output callback once defaults are set (PR#619, ec30564)
Resolve bug in changelog logic, enable upload to pypi (PR#619, ec30564)
github-action: Pin Debian version in Dockerfile (PR#619, ec30564)
github-action: Mark container fs as safe for git to operate on (PR#619, ec30564)
github-action: Quotation for git config command (PR#619, ec30564)
numerous breaking changes, see upgrade_v8 for more information
fix(deps): add types-click, and downgrade sphinx/furo for 3.7 (`126f12f`)
126f12f)chore: bump docs dependencies (`2605b73`)
ci: correct conditionals (`eb8d53c`)
feat: promote to rc (`8b89ecd`)
ci: pass tag output and conditionally execute publish steps (`d568c69`)
d568c69)fix: correct assets type in configuration (#603)
change raw config assets type
fix: correct assets type-annotation for RuntimeContext
Co-authored-by: Bernard Cooke <bernard-cooke@hotmail.com> (0e85b94)
01fa1b6)docs: convert to Furo theme (`e02547e`)
ci: contents permission for workflow (`897dd8d`)
bfb0cea)fix: caching for repo owner and name (67572bd)
fix: add logging for token auth, use token for push (d5ed644)
fix: make additional attributes available for template authors (4e2fcbe)
fix: correct handling of build commands (99f91d8)
49d9e27)refactor!: remove verify-ci command (`6176b97`)
6176b97)bcb27a4)feat: various improvements
Added sorting to test parameterisation, so that pytest-xdist works again - dramatic speedup for testing
Reworked the CI verification code so it's a bit prettier
Added more testing for the version CLI command, and split some logic out of the command itself
Removed a redundant double-regex match in VersionTranslator and Version, for some speedup (e5df042)
0acfd91)fix: resolve loss of tag_format configuration (`1933d04`)
fix: resolve bug in changelog logic, enable upload to pypi (`f9e4bb2`)
Relax invoke dependency constraint (`18ea200`)
18ea200)Consider empty commits (#608) (`6f2e890`)
Docker build fails installing git (#605) (`9e3eb97`)
Generate markdown linter compliant changelog headers & lists (#597) (`cc87400`)
Open all files with explicit utf-8 encoding (#596) (`cb71f35`)
Generate markdown linter compliant changelog headers & lists (#594) (`9d9d403`)
Add option to only parse commits for current working directory (#509) (`cdf8116`)
Update docs and default config for gitmoji changes (#590) (`192da6e`)
If prerelease, publish prerelease (#587) (`927da9f`)
Update Gitmojis according to official node module (#582) (`806fcfa`)
Inconsistent versioning between print-version and publish (#524) (`17d60e9`)
action: Mark container fs as safe for git (#552) (`2a55f68`)
Add signing options to action (`31ad5eb`)
Add signing options to action (31ad5eb)
repository: Add support for TWINE_CERT, closes #521 (PR#522, d56e85d)
github-actions: Bump Dockerfile to use Python 3.10 image, closes #533 (PR#536, 8f2185d)
action: Fix environment variable names (3c66218)
Update documentation (5cbdad2)
Fix changelog generation in tag-mode (#171) (`482a62e`)
Corrections for deprecation warnings (#505) (`d47afb6`)
Add setting for enforcing textual changelog sections (#502) (`988437d`)
Account for trailing newlines in commit messages (#495) (`111b151`)
Use commit_subject when searching for release commits (#488) (`3849ed9`)
Add better handling of missing changelog placeholder (`e7a0e81`)
Update git email in action (`0ece6f2`)
Override repository_url w REPOSITORY_URL env var (#439) (`cb7578c`)
Add prerelease-patch and no-prerelease-patch flags for whether to auto-bump prereleases (b4e5b62)
Override repository_url w REPOSITORY_URL env var (PR#439, cb7578c)
fix get_current_release_version for tag_only version_source (cad09be)
Your coding agent can read these notes before it upgrades. Set up the MCP server →