NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3525 most downloaded on PyPI
Automatic Semantic Versioning for Python projects
Last release 12 days ago
22 Sep 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
269 releases · first in 2015
Support multiline version_pattern matching by default
One column per quarter.
Add quotation marks to the pip commands in CONTRIBUTING.rst
Commit all files with bumped versions
Bump versions in multiple files
Swap sha and message in table changelog
changelog: Swap sha and message in table changelog (6741370)
### Feature * Add changelog_table component
The compare_url option has been removed in favor of using changelog_components. This functionality is now available as the semantic_release.changelog.
compare_url option has been removed in favor of using changelog_components. This functionality is now available as the semantic_release.changelog.compare_url component. (3e17a98d7fa8468868a87e62651ac2c010067711)changelog: The compare_url option has been removed in favor of using changelog_components. This functionality is now available as the semantic_release.changelog.compare_url component.
Convert \r\n to \n in commit messages
### Feature * Create emoji parser
Use getboolean for commit_version_number
Support linking compare page in changelog
Check all paragraphs for breaking changes
This release adds proper support for PyPI authentication using API tokens. Although this is not a breaking change, I strongly recommend you switch to…
Extra note from @AlphaMycelium:
This release adds proper support for PyPI authentication using API tokens. Although this is not a breaking change, I strongly recommend you switch to it for the following reasons:
actions: Support PYPI_TOKEN on GitHub Actions (df2c080)
pypi: Support easier use of API tokens, closes #213 (bac135c)
Add documentation for PYPI_TOKEN (a8263a0)
Convert get_hvcs to use LoggedFunction
hvcs: Convert get_hvcs to use LoggedFunction (3084249)
DEBUG="*" no longer has an effect, instead use --verbosity DEBUG.
DEBUG="*" no longer has an effect, instead use --verbosity DEBUG. (15b1f650f29761e1ab2a91b767cbff79b2057a4c)Create Read the Docs config file (aa5a1b7)
Include README.rst in index.rst (8673a9d)
Move action.rst into main documentation (509ccaf)
Rewrite README.rst (e049772)
Rewrite troubleshooting page (0285de2)
debug: Use logging and click_log instead of ndebug (15b1f65)
debug: debug="*" no longer has an effect, instead use --verbosity DEBUG.
Add tag as default release name
github: Add tag as default release name (2997908)
Automate API docs (7d4fea2)
Allow customizing changelog_sections
Leave case of other characters unchanged
history: Leave case of other characters unchanged (96ba94c)
Make action use current version of semantic-release
Make action use current version of semantic-release (123984d)
Allow config setting for build command
Previously the build_commands configuration variable set the types of bundles sent to python setup.py. It has been replaced by the configuration variable build_command which takes the full command e.g. python setup.py sdist or poetry build.
Rename default of build_command config (d5db22f)
pypi: Update docstrings in pypi.py (6502d44)
build: Previously the build_commands configuration variable set the types of bundles sent to python setup.py. It has been replaced by the configuration variable build_command which takes the full command e.g. python setup.py sdist or poetry build.
Nothing published for this version
Nothing published for this version
### Feature * Create github action (350245dbfb07ed6a1db017b1d9d1072b368b1497) ### Documentation * Make authors.rst dynamic (db2e0762f3189d0f1a6ba29aad
Make commit message configurable
Change bdist_wheels to bdist_wheel
pypi: Add build_commands config (22146ea)
pypi: Change bdist_wheels to bdist_wheel (c4db509)
Add a new config for commit author
git: Add a new config for commit author (aa2c22c)
Repair parsing of remotes in the gitlab ci format
Upload distribution files to github releases
Only overwrite with patch if bump is none
Add note about automatic releases in readme
--noop flag works when before command
make BREAKING-CHANGE synonymous with BREAKING CHANGE
Add fallback to whole log if correct tag is not available
Set version of click to >=2.0,<8.0.
update regex to get repository owner and name for project with dots
support repo urls without git terminator
Support repo urls without git terminator (700e9f1)
Many thanks to @fattybenji for his work on the things going into this release 🎉
Many thanks to @fattybenji for his work on the things going into this release 🎉
Add the possibility to load configuration from pyproject.toml (35f8bfe)
Allow the override of configuration options from cli, closes #119 (f0ac82f)
Allow users to get version from tag and write/commit bump to file, closes #104 (1f9fe1c)
Make the vcs functionalities work with gitlab, closes #121 (82d555d)
Add commit hash when generating breaking changes
Add configuration to customize handling of dists, closes #115 (2af6f41)
Add support for showing unreleased changelog, closes #134 (41ef794)
Make sure the history only breaks loop for version commit
Add debug statements, they can be enabled by DEBUG=semantic_release.*. More info can be found in the documentation.
Add debug statements, they can be enabled by DEBUG=semantic_release.*. More info can be found in the documentation.
Add installation instructions for development
Nothing published for this version
Use correct syntax to exclude tests in package
Add better error message when pypi credentials are empty, closes #96 (c4e5dcb)
Clean out dist and build before building, closes #86 (b628e46)
Filter out pypi secrets from exceptions, closes #41 (5918371)
Use correct syntax to exclude tests in package, closes #92 (3e41e91)
parser_angular: Fix non-match when special chars in scope (8a33123)
Add support for commit_message config variable
Add support for commit_message config variable (4de5400)
CI checks: Add support for GitLab CI checks, closes #88 (8df5e2b)
Add check of credentials (7d945d4)
Add credentials check (0694604)
Add dists to twine call (1cec2df)
Change requests from fixed version to version range (PR#93, af3ad59)
Re-add skip-existing (366e9c1)
Remove repository argument in twine (e24543b)
Remove universal from setup config (18b2402)
Update twine (c4ae7b8)
Use new interface for twine (c04872d)
Use twine through cli call (ab84beb)
Add type hints and more complete docstrings, closes #81 (a6d5e9b)
Fix typo in documentation index (da6844b)
Remove support for python 2 (85fe638)
If you rely on the commit message to be the version number only, this will break your code
This will only work with python 3 after this commit.
Fix --- - Upgrade twine
Change Gitpython version number, closes #80_ (23c9d4b_)
Add support to finding previous version from tags if not using commit messages
Add support to finding previous version from tags if not using commit messages (PR#68, 6786487)
Be a bit more forgiving to find previous tags (PR#68, 6786487)
Add pytest cache to gitignore (b8efd5a)
Make repo non if it is not a git repository, closes #74 (1dc306b)
Error when not in git repository, closes #74_ (PR#75_, 251b190_)
update call to upload to work with twine 1.9.1
Update Twine to make it work with current version of pypi
Make changelog problems not fail whole publish
Add option for choosing between version source by committed file or tag by setting version_source to commit or tag.
version_source to commit or tag.Add option for choosing between versioning by commit or tag (c0cd1f5)
Don't use file to track version, only tag to commit for versioning (cd25862)
Get repo version from historical tags instead of config file (a45a9bf)
Can't get the proper last tag from commit history (5a0e681)
Add search_parent_directories option to gitpython (PR#62_, 8bf9ce1_)
### Documentation - Fix typo in setup.cfg section
configuration: Fix typo in setup.cfg section (725d87d)
Add step by step guide for configuring travis ci
Checkout master before publishing
### Feature - Add travis environment checks
Do git push and git push --tags instead of --follow-tags (8bc70a1_)
Do git push and git push --tags instead of --follow-tags (8bc70a1)
Update docstrings for generate_changelog
Change build badge (0dc068f)
Update docstrings for generate_changelog (987c6a9)
fix: Only list commits from the last version tag
Your coding agent can read these notes before it upgrades. Set up the MCP server →