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
This release is published under the MIT License.
This release is published under the MIT License.
cmd-stamp: Expand version stamp mechanism to support typed python variables (PR#1485, 947c57b)
cmd-version: Add optional git --signoff to version commits (PR#1492, 3cecbeb)
configuration: Added signoff_commit setting definition (PR#1492, 3cecbeb)
configuration: Document Python type annotation support for version_variables (PR#1485, 947c57b)
deps: Correct click range specification for python3.10+ (PR#1486, e4b3bad)
deps: Expand click dependency range to include v8.5.* (PR#1489, fa87c95)
semantic_release.signoff_commit, as an available configuration option to toggle the addition of the Signed-off-by git trailer/footer message to release commits made by Python Semantic Release. Default is currently set to False but if you want to try this option, set this configuration setting to True. In a future major release, this setting will be set to True by default.#1441: feat: add option to signoff commits made by python-semantic-release
#1443: feat: extend version_variables to replace vars with python type annotations
Detailed Changes: v10.6.2...v10.7.0
Installable artifacts are available from:
One column per quarter.
cmd-stamp: Expand version stamp mechanism to support typed python variables, closes #1443 (PR#1485, 947c57b)
cmd-version: Add optional git --signoff to version commits, closes #1441 (PR#1492, 3cecbeb)
configuration: Added signoff_commit setting definition (PR#1492, 3cecbeb)
configuration: Document Python type annotation support for version_variables (PR#1485, 947c57b)
deps: Correct click range specification for python3.10+ (PR#1486, e4b3bad)
deps: Expand click dependency range to include v8.5.* (PR#1489, fa87c95)
cmd-version: With this release, we added a boolean flag, semantic_release.signoff_commit, as an available configuration option to toggle the addition of the Signed-off-by git trailer/footer message to release commits made by Python Semantic Release. Default is currently set to False but if you want to try this option, set this configuration setting to True. In a future major release, this setting will be set to True by default.
This release is published under the MIT License.
This release is published under the MIT License.
cmd-changelog: Fix reading of TOML when file was created on Windows (9a56ace)
config: Validate commit author in config internally (PR#1477, 10afa8e)
deps: Adjust importlib use to maintain 3.8 support (59fea4f)
deps: Bump rich requirement from v14.0+ to v15.0+ (PR#1464, abd942d)
deps: Bump tomlkit requirement to ~=0.15.0 (PR#1463, 429588d)
Detailed Changes: v10.6.1...v10.6.2
Installable artifacts are available from:
cmd-changelog: Fix reading of TOML when file was created on Windows (9a56ace)
config: Validate commit author in config internally, closes #1476 (PR#1477, 10afa8e)
This release is published under the MIT License.
This release is published under the MIT License.
changelog: Fix handling of whitespace commit bodies in changelog template filter (PR#1457, d95e46e)
cmd-version: Fix non-styled error msg when strict & no new version (PR#1437, 5e8f94c)
config: Eliminate .git/ in parent dir warnings for monorepos configured with .. (PR#1444, 7a1f822)
CHANGELOG: Add v9.21.2 changelog details for website (a4115cf)
configuration: Document repo_dir config option (PR#1444, 7a1f822)
deps: Expand python-gitlab dependency range to include v8.0.0+ (PR#1451, a4b9a43)
deps: Expand tomlkit dependency range to include v0.14.0+ & v0.15.0+ (028d539)
deps: Extend click dependency range to include v8.2+ (01707ea)
#1418: Extrenous "Found .git/ in higher parent directory" warning in monorepo setup
#1423: Misformated error message
Detailed Changes: v10.6.0...v10.6.1
Installable artifacts are available from:
changelog: Fix handling of whitespace commit bodies in changelog template filter (PR#1457, d95e46e)
cmd-version: Fix non-styled error msg when strict & no new version, closes #1423 (PR#1437, 5e8f94c)
config: Eliminate .git/ in parent dir warnings for monorepos configured with .., closes #1418 (PR#1444, 7a1f822)
CHANGELOG: Add v9.21.2 changelog details for website (a4115cf)
configuration: Document repo_dir config option (PR#1444, 7a1f822)
This release is published under the MIT License.
This release is published under the MIT License.
cmd-version: Add file replacement variant for version_variables (PR#1391, 95ce7ec)
parser-emoji: Adds more non-release triggering emojis to the default emoji parser (PR#1410, 2833aa9)
cmd-config-generate: Fix config output for Microsoft Windows UTF-8 encoding (PR#1400, 0343194)
cmd-publish: Fix handling of asset uploading errors on publish (PR#1397, 81a0f98)
github: Fix bubble up errors of asset uploads for GitHub (PR#1397, 81a0f98)
hvcs: Mask git credential URL in very verbose debug logs (PR#1445, 811afb0)
cmd-config-generate: Add Windows PowerShell specific generate-config usage example (PR#1400, 0343194)
configuration: Modify version_variables definition to include new file replacement (PR#1391, 95ce7ec)
examples: Update references to github actions for hash references (PR#1449, 873da58)
package: Change package changelog link to doc website (PR#1434, 05f897f)
#702: semantic-release generate-config --pyproject produces unreadable toml on Windows
#1375: Allow updates to version file containing only a version
#1395: [bug] Silently ignores auth error on GitHub publish
#1426: Git credentials are logged with very verbose (-vv) logging
Detailed Changes: v10.5.3...v10.6.0
Installable artifacts are available from:
cmd-version: Add file replacement variant for version_variables, closes #1375 (PR#1391, 95ce7ec)
parser-emoji: Adds more non-release triggering emojis to the default emoji parser (PR#1410, 2833aa9)
cmd-config-generate: Fix config output for Microsoft Windows UTF-8 encoding, closes #702 (PR#1400, 0343194)
cmd-publish: Fix handling of asset uploading errors on publish, closes #1395 (PR#1397, 81a0f98)
github: Fix bubble up errors of asset uploads for GitHub (PR#1397, 81a0f98)
hvcs: Mask git credential URL in very verbose debug logs, closes #1426 (PR#1445, 811afb0)
cmd-config-generate: Add Windows PowerShell specific generate-config usage example (PR#1400, 0343194)
configuration: Modify version_variables definition to include new file replacement (PR#1391, 95ce7ec)
examples: Update references to github actions for hash references (PR#1449, 873da58)
package: Change package changelog link to doc website (PR#1434, 05f897f)
This release is published under the MIT License.
This release is published under the MIT License.
cmd-version: Resolve unauthenticated git repo issues for upstream verification (PR#1388, e164f68)
github-action: Fix failed signing issue when ssh was missing from action environment (PR#1389, 18b7eda)
parser-conventional-monorepo: Fix parser opts validator for outside dir path matches (PR#1382, a51eadd)
#1373: verify_upstream_unchanged fails on github actions when git repo is unauthenticated
#1376: ssh-agent & ssh-add is missing from python-semantic-release github action
#1380: Monorepo path_filters fails to reference paths outside the current package subtree
Detailed Changes: v10.5.2...v10.5.3
Installable artifacts are available from:
cmd-version: Resolve unauthenticated git repo issues for upstream verification, closes #1373 (PR#1388, e164f68)
github-action: Fix failed signing issue when ssh was missing from action environment, closes #1376 (PR#1389, 18b7eda)
parser-conventional-monorepo: Fix parser opts validator for outside dir path matches, closes #1380 (PR#1382, a51eadd)
> 2025-11-11: Release fails git repo is unauthenticated (See #1373) & if you use SSH commit & tag signing (See #1376) - Resolved in v10.5.3
[!WARNING] 2025-11-11: Release fails git repo is unauthenticated (See #1373) & if you use SSH commit & tag signing (See #1376) - Resolved in v10.5.3
This release is published under the MIT License.
Detailed Changes: v10.5.1...v10.5.2
Installable artifacts are available from:
> 2025-11-10: Release fails if --commit or commit: true when there are no files to commit for the version commit - Resolved in v10.5.2
[!WARNING] 2025-11-10: Release fails if
--commitorcommit: truewhen there are no files to commit for the version commit - Resolved in v10.5.2
This release is published under the MIT License.
Detailed Changes: v10.5.0...v10.5.1
Installable artifacts are available from:
> 2025-11-09: Release fails if active branch is not tracking a remote branch - Resolved in v10.5.1
[!WARNING] 2025-11-09: Release fails if active branch is not tracking a remote branch - Resolved in v10.5.1
This release is published under the MIT License.
cmd-version: Add automatic repository un-shallowing to version workflow (PR#1366, 90a1ffa)
cmd-version: Add functionality to create & update partial version tags (PR#1115, a28f940)
cmd-version: Adds c-macro style version definition support to version_variables (PR#1349, 4ce1fca)
cmd-version: Adds upstream check into workflow to prevent commit push collisions (PR#1360, d77193e)
commands: Add description of automated upstream version checking upon version creation (PR#1360, d77193e)
configuration: Add description for add_partial_tags setting & usage examples (PR#1115, a28f940)
configuration: Update version_variables examples with a c-macro style replacement (PR#1349, 4ce1fca)
github-actions: Adds release job outputs definition to example (PR#1344, 0fb4875)
github-actions: Removed verify upstream status step from example workflow (PR#1360, d77193e)
github-actions: Update example to remove need to specify repo checkout's fetch depth (PR#1366, 90a1ffa)
uv-integration: Remove verify upstream check from uv integration example (PR#1360, d77193e)
uv-integration: Update example to remove need to specify repo checkout's fetch depth (PR#1366, 90a1ffa)
deps: Bump tomlkit dependency from ~=0.11.0 to ~=0.13.0 (PR#1355, 55c94ec)
deps: Change github-actions container image to python:3.14-slim-trixie (PR#1346, 1a23712)
Detailed Changes: v10.4.1...v10.5.0
Installable artifacts are available from:
_This release is published under the MIT License._
This release is published under the MIT License.
CHANGELOG: Update hyperlink in v10.4.0's additional info paragraph (PR#1323, 98ef722)
getting-started-guide: Remove notice about lack of monorepo support (PR#1327, 3f21f3f)
github-actions: Fix recommended upstream detection script's upstream name parsing (PR#1328, ccc91c0)
#1304: Bug: --no-tag is not working as expected with version command
#1326: Monorepo support warning on Getting Started page no longer required
Detailed Changes: v10.4.0...v10.4.1
Installable artifacts are available from:
_This release is published under the MIT License._
This release is published under the MIT License.
config: Add conventional-monorepo as valid commit_parser type (PR#1143, e18f866)
parser: Add new conventional-commits standard parser for monorepos (PR#1143, e18f866)
Add configuration guide for monorepo use with PSR (PR#1143, e18f866)
commit-parsers: Introduce conventional commit monorepo parser options & features (PR#1143, e18f866)
configuration: Update commit_parser option with new conventional-monorepo value (PR#1143, e18f866)
conventional-monorepo and when specified it will apply the conventional commit parser to a monorepo environment. This parser has specialized options to help handle monorepo projects as well. For more information, please refer to the Monorepo Docs.Detailed Changes: v10.3.2...v10.4.0
Installable artifacts are available from:
config: Add conventional-monorepo as valid commit_parser type (PR#1143, e18f866)
parser: Add new conventional-commits standard parser for monorepos, closes #614 (PR#1143, e18f866)
Add configuration guide for monorepo use with PSR (PR#1143, e18f866)
commit-parsers: Introduce conventional commit monorepo parser options & features (PR#1143, e18f866)
configuration: Update commit_parser option with new conventional-monorepo value (PR#1143, e18f866)
config: This release introduces a new built-in parser type that can be utilized for monorepo projects. The type value is conventional-monorepo and when specified it will apply the conventional commit parser to a monorepo environment. This parser has specialized options to help handle monorepo projects as well. For more information, please refer to the Monorepo Docs.
_This release is published under the MIT License._
This release is published under the MIT License.
Detailed Changes: v10.3.1...v10.3.2
Installable artifacts are available from:
_This release is published under the MIT License._
This release is published under the MIT License.
5385724)#1303: Improve GitHub Actions Docs
#1307: v10.3.0 doesn't support a stage-then-release approach in GitHub Actions
Detailed Changes: v10.3.0...v10.3.1
Installable artifacts are available from:
> 2025-08-05: GitHub Action broke if Action is run in a non-release mode (e.g. --no-commit, or --noop), see #1307 - Resolved in v10.3.1
[!WARNING] 2025-08-05: GitHub Action broke if Action is run in a non-release mode (e.g.
--no-commit, or--noop), see #1307 - Resolved in v10.3.1
This release is published under the MIT License.
github-actions: Add commit_sha as a GitHub Actions output value (PR#1289, 39b647b)
github-actions: Add previous_version as a GitHub Actions output value (PR#1302, c0197b7)
github-actions: Add release_notes as a GitHub Actions output value (PR#1300, a3fd23c)
github-actions: Add release link as a GitHub Actions output value (PR#1301, 888aea1)
github-actions: Fix variable output newlines (PR#1300, a3fd23c)
util: Fixes no-op log output when commit message contains square-brackets (PR#1287, f25883f)
getting-started: Fixes changelog.exclude_commit_patterns example in startup guide (PR#1292, 2ce2e94)
github-actions: Add description of commit_sha GitHub Action output in docs (PR#1289, 39b647b)
github-actions: Add description of previous_release GitHub Action output (PR#1302, c0197b7)
github-actions: Add description of release_notes GitHub Action output (PR#1300, a3fd23c)
github-actions: Add description of release link GitHub Action output (PR#1301, 888aea1)
README: Update broken links to match re-located destinations (PR#1285, f4ec792)
#512: Add some additional GitHub Actions outputs
#717: Add commit hash output to GitHub Action
#1251: Bug: No-op mode fails to log any bracket-encased text in commit_message
#1291: Typo in Getting Started Guide's exclude_commit_patterns example
Detailed Changes: v10.2.0...v10.3.0
Installable artifacts are available from:
github-actions: Add commit_sha as a GitHub Actions output value, closes #717 (PR#1289, 39b647b)
github-actions: Add previous_version as a GitHub Actions output value (PR#1302, c0197b7)
github-actions: Add release_notes as a GitHub Actions output value (PR#1300, a3fd23c)
github-actions: Add release link as a GitHub Actions output value (PR#1301, 888aea1)
github-actions: Fix variable output newlines (PR#1300, a3fd23c)
util: Fixes no-op log output when commit message contains square-brackets, closes #1251 (PR#1287, f25883f)
getting-started: Fixes changelog.exclude_commit_patterns example in startup guide, closes #1291 (PR#1292, 2ce2e94)
github-actions: Add description of commit_sha GitHub Action output in docs (PR#1289, 39b647b)
github-actions: Add description of previous_release GitHub Action output (PR#1302, c0197b7)
github-actions: Add description of release_notes GitHub Action output (PR#1300, a3fd23c)
github-actions: Add description of release link GitHub Action output (PR#1301, 888aea1)
README: Update broken links to match re-located destinations (PR#1285, f4ec792)
_This release is published under the MIT License._
This release is published under the MIT License.
PACKAGE_NAME value into build command environment (db9bc13)configuration: Update build command environment definition to include PACKAGE_NAME variable (4aa3805)
uv-integration: Fix configuration guide for uv usage to ensure lock file update (5390145)
Detailed Changes: v10.1.0...v10.2.0
Installable artifacts are available from:
cmd-version: Adds PACKAGE_NAME value into build command environment (db9bc13)
_This release is published under the MIT License._
This release is published under the MIT License.
--no-commit (PR#1214, de62334)cmd-version: Improve command description & include common uses (PR#1214, de62334)
configuration-guide: Add how-to guide for uv integration (PR#1214, de62334)
github-actions: Clarify with examples of the root_options v10 migration change (PR#1271, fbb63ec)
Detailed Changes: v10.0.2...v10.1.0
Installable artifacts are available from:
cmd-version: Always stage version stamped files & changelog even with --no-commit, closes #1211 (PR#1214, de62334)
cmd-version: Improve command description & include common uses (PR#1214, de62334)
configuration-guide: Add how-to guide for uv integration (PR#1214, de62334)
github-actions: Clarify with examples of the root_options v10 migration change (PR#1271, fbb63ec)
_This release is published under the MIT License._
This release is published under the MIT License.
Detailed Changes: v10.0.1...v10.0.2
Installable artifacts are available from:
_This release is published under the MIT License._
This release is published under the MIT License.
Detailed Changes: v10.0.0...v10.0.1
Installable artifacts are available from:
github-action: Resolve command injection vulnerability in action script (`fb3da27`)
This release is published under the MIT License.
cmd-version: Enable version_variables version stamp of vars with double-equals (PR#1244, 080e4bc)
parser-conventional: Set parser to evaluate all squashed commits by default (6fcdc99)
parser-conventional: Set parser to ignore merge commits by default (59bf084)
parser-emoji: Set parser to evaluate all squashed commits by default (514a922)
parser-emoji: Set parser to ignore merge commits by default (8a51525)
parser-scipy: Set parser to evaluate all squashed commits by default (634fffe)
parser-scipy: Set parser to ignore merge commits by default (d4f128e)
changelog-md: Change to 1-line descriptions in markdown template (e7ac155)
changelog-rst: Change to 1-line descriptions in the default ReStructuredText template (731466f)
cli: Adjust verbosity parameter to enable silly-level logging (bd3e7bf)
github-action: Resolve command injection vulnerability in action script (fb3da27)
parser-conventional: Remove breaking change footer messages from commit descriptions (b271cbb)
parser-conventional: Remove issue footer messages from commit descriptions (b1bb0e5)
parser-conventional: Remove PR/MR references from commit subject line (eed63fa)
parser-conventional: Remove release notice footer messages from commit descriptions (7e8dc13)
parser-emoji: Remove issue footer messages from commit descriptions (b757603)
parser-emoji: Remove PR/MR references from commit subject line (16465f1)
parser-emoji: Remove release notice footer messages from commit descriptions (b6307cb)
parser-scipy: Remove issue footer messages from commit descriptions (3cfee76)
parser-scipy: Remove PR/MR references from commit subject line (da4140f)
parser-scipy: Remove release notice footer messages from commit descriptions (58308e3)
Refactor documentation page navigation (4e52f4b)
algorithm: Remove out-of-date algorithm description (6cd0fbe)
commit-parsing: Define limitation of revert commits with the scipy parser (5310d0c)
configuration: Change default value for allow_zero_version in the description (203d29d)
configuration: Change the default for the base changelog's mask_initial_release value (5fb02ab)
configuration: Change the default value for changelog.mode in the setting description (0bed906)
configuration: Update version_variables section to include double-equals operand support (PR#1244, 080e4bc)
contributing: Refactor contributing & contributors layout (8bed5bc)
github-actions: Add reference to manual release workflow example (6aad7f1)
github-actions: Change recommended workflow to separate release from deploy (67b2ae0)
github-actions: Update python-semantic-release/publish-action parameter notes (c4d45ec)
github-actions: Update PSR action parameter documentation (a082896)
upgrading: Re-locate version upgrade guides into Upgrading PSR (a5f5e04)
upgrading-v10: Added migration guide for v9 to v10 (4ea92ec)
config: Change allow_zero_version default to false (c6b6eab)
config: Change changelog.default_templates.mask_initial_release default to true (0e114c3)
config: Change changelog.mode default to update (7d39e76)
For a summarized walkthrough, check out our v10 migration guide as well.
changelog-md: The default Markdown changelog template and release notes template will no longer print out the entire commit message contents, instead, it will only print the commit subject line. This comes to meet the high demand of better formatted changelogs and requests for subject line only. Originally, it was a decision to not hide commit subjects that were included in the commit body via the git merge --squash command and PSR did not have another alternative. At this point, all the built-in parsers have the ability to parse squashed commits and separate them out into their own entry on the changelog. Therefore, the default template no longer needs to write out the full commit body. See the commit parser options if you want to enable/disable parsing squash commits.
changelog-rst: The default ReStructured changelog template will no longer print out the entire commit message contents, instead, it will only print the commit subject line. This comes to meet the high demand of better formatted changelogs and requests for subject line only. Originally, it was a decision to not hide commit subjects that were included in the commit body via the git merge --squash command and PSR did not have another alternative. At this point, all the built-in parsers have the ability to parse squashed commits and separate them out into their own entry on the changelog. Therefore, the default template no longer needs to write out the full commit body. See the commit parser options if you want to enable/disable parsing squash commits.
config: This release switches the allow_zero_version default to false. This change is to encourage less 0.x releases as the default but rather allow the experienced developer to choose when 0.x is appropriate. There are way too many projects in the ecosystems that never leave 0.x and that is problematic for the industry tools that help auto-update based on SemVer. We should strive for publishing usable tools and maintaining good forethought for when compatibility must break. If your configuration already sets the allow_zero_version value, this change will have no effect on your project. If you want to use 0.x versions, from the start then change allow_zero_version to true in your configuration.
config: This release switches the changelog.default_templates.mask_initial_release default to true. This change is intended to toggle better recommended outputs of the default changelog. Conceptually, the very first release is hard to describe--one can only provide new features as nothing exists yet for the end user. No changelog should be written as there is no start point to compare the "changes" to. The recommendation instead is to only list a simple message as Initial Release. This is now the default for PSR when providing the very first release (no pre-existing tags) in the changelog and release notes. If your configuration already sets the changelog.default_templates.mask_initial_release value, then this change will have no effect on your project. If you do NOT want to mask the first release information, then set changelog.default_templates.mask_initial_release to false in your configuration.
config: This release switches the changelog.mode default to update. In this mode, if a changelog exists, PSR will update the changelog IF AND ONLY IF the configured insertion flag exists in the changelog. The Changelog output will remain unchanged if no insertion flag exists. The insertion flag may be configured with the changelog.insertion_flag setting. When upgrading to v10, you must add the insertion flag manually or you can just delete the changelog file and run PSR's changelog generation and it will rebuild the changelog (similar to init mode) but it will add the insertion flag. If your configuration already sets the changelog.mode value, then this change will have no effect on your project. If you would rather the changelog be generated from scratch every release, than set the changelog.mode value to init in your configuration.
github-action: The root_options action input parameter has been removed because it created a command injection vulnerability for arbitrary code to execute within the container context of the GitHub action if a command injection code was provided as part of the root_options parameter string. To eliminate the vulnerability, each relevant option that can be provided to semantic-release has been individually added as its own parameter and will be processed individually to prevent command injection. Please review our Github Actions Configuration page on the Python Semantic Release Documentation website to review the newly available configuration options that replace the root_options parameter.
parser-conventional: Any breaking change footer messages that the conventional commit parser detects will now be removed from the commit.descriptions[] list but maintained in and only in the commit.breaking_descriptions[] list. Previously, the descriptions included all text from the commit message but that was redundant as the default changelog now handles breaking change footers in its own section.
parser-conventional, parser-emoji, parser-scipy: Any issue resolution footers that the parser detects will now be removed from the commit.descriptions[] list. Previously, the descriptions included all text from the commit message but now that the parser pulls out the issue numbers the numbers will be included in the commit.linked_issues tuple for user extraction in any changelog generation.
parser-conventional, parser-emoji, parser-scipy: Any release notice footer messages that the commit parser detects will now be removed from the commit.descriptions[] list but maintained in and only in the commit.notices[] list. Previously, the descriptions included all text from the commit message but that was redundant as the default changelog now handles release notice footers in its own section.
parser-conventional, parser-emoji, parser-scipy: Generally, a pull request or merge request number reference is included in the subject line at the end within parentheses on some common VCS's like GitHub. PSR now looks for this reference and extracts it into the commit.linked_merge_request and the commit.linked_pull_request attributes of a commit object. Since this is now pulled out individually, it is cleaner to remove this from the first line of the commit.descriptions list (ie. the subject line) so that changelog macros do not have to replace the text but instead only append a PR/MR link to the end of the line. The reference does maintain the PR/MR prefix indicator (# or !).
parser-conventional, parser-emoji, parser-scipy: The configuration setting commit_parser_options.ignore_merge_commits is now set to true by default. The feature to ignore squash commits was introduced in v9.18.0 and was originally set to false to prevent unexpected results on a non-breaking update. The ignore merge commits feature prevents additional unnecessary processing on a commit message that likely will not match a commit message syntax. Most merge commits are syntactically pre-defined by Git or Remote Version Control System (ex. GitHub, etc.) and do not follow a commit convention (nor should they). The larger issue with merge commits is that they ultimately are a full copy of all the changes that were previously created and committed. The merge commit itself ensures that the previous commit tree is maintained in history, therefore the commit message always exists. If merge commits are parsed, it generally creates duplicate messages that will end up in your changelog, which is less than desired in most cases. If you have previously used the changelog.exclude_commit_patterns functionality to ignore merge commit messages then you will want this setting set to true to improve parsing speed. You can also now remove the merge commit exclude pattern from the list as well to improve parsing speed. If this functionality is not desired, you will need to update your configuration to change the new setting to false.
parser-conventional, parser-emoji, parser-scipy: The configuration setting commit_parser_options.parse_squash_commits is now set to true by default. The feature to parse squash commits was introduced in v9.17.0 and was originally set to false to prevent unexpected results on a non-breaking update. The parse squash commits feature attempts to find additional commits of the same commit type within the body of a single commit message. When squash commits are found, Python Semantic Release will separate out each commit into its own artificial commit object and parse them individually. This potentially can change the resulting version bump if a larger bump was detected within the squashed components. It also allows for the changelog and release notes to separately order and display each commit as originally written. If this is not desired, you will need to update your configuration to change the new setting to false.
Detailed Changes: v9.21.1...v10.0.0
Installable artifacts are available from:
This release is published under the MIT License.
This release is published under the MIT License.
911f62a)Mark for Python 3.14 compatibility (86c0439)
deps: Bump tomlkit dependency from ~=0.11.0 to ~=0.13.0 (5395d06)
deps: Prevent update to click@8.2.0 (128f06a)
Detailed Changes: v9.21.1...v9.21.2
Installable artifacts are available from:
github-actions: Fix recommended upstream detection script's upstream name parsing (911f62a)
_This release is published under the MIT License._
This release is published under the MIT License.
deps: Bump rich dependency from 13.0 to 14.0 (PR#1224, 691536e)
deps: Expand python-gitlab dependency to include v5.0.0 (PR#1228, a0cd1be)
Detailed Changes: v9.21.0...v9.21.1
Installable artifacts are available from:
changelog-filters: Fixes url resolution when prefix & path share letters, closes #1204 (PR#1239, f61f8a3)
_This release is published under the MIT License._
This release is published under the MIT License.
uvx supportDetailed Changes: v9.20.0...v9.21.0
Installable artifacts are available from:
deps: Add deprecated~=1.2 for deprecation notices & sphinx documentation (PR#1190, `8906d8e`)
This release is published under the MIT License.
cmd-version: Enable stamping of tag formatted versions into files (PR#1190, 8906d8e)
cmd-version: Extend version_variables to stamp versions with @ symbol separator (PR#1185, 23f69b6)
configuration: Add usage information for tag format version stamping (PR#1190, 8906d8e)
configuration: Clarify version_variables config description & @ separator usage (PR#1185, 23f69b6)
#846: Updating version_variables that follow tag_format
#1156: Add @ to allowed separators of version_variables
Detailed Changes: v9.19.1...v9.20.0
Installable artifacts are available from:
cmd-version: Enable stamping of tag formatted versions into files, closes #846 (PR#1190, 8906d8e)
cmd-version: Extend version_variables to stamp versions with @ symbol separator, closes #1156 (PR#1185, 23f69b6)
configuration: Add usage information for tag format version stamping (PR#1190, 8906d8e)
configuration: Clarify version_variables config description & @ separator usage (PR#1185, 23f69b6)
_This release is published under the MIT License._
This release is published under the MIT License.
changelog: Standardize heading format for across all version sections (PR#1182, 81f9e80)
changelog-md: Standardize heading format for extra release information (PR#1182, 81f9e80)
changelog-rst: Standardize heading format for extra release information (PR#1182, 81f9e80)
config: Handle invalid commit_parser type gracefully (PR#1180, 903c8ba)
release-notes: Standardize heading format for extra release information (PR#1182, 81f9e80)
Fix spelling errors & inaccurate descriptions (55d4a05)
automatic-releases: Declutter the table of contents for automatic release guides (e8343ee)
commit-parsing: Update reference to section name of additional release info (PR#1182, 81f9e80)
Detailed Changes: v9.19.0...v9.19.1
Installable artifacts are available from:
changelog: Standardize heading format for across all version sections (PR#1182, 81f9e80)
changelog-md: Standardize heading format for extra release information (PR#1182, 81f9e80)
changelog-rst: Standardize heading format for extra release information (PR#1182, 81f9e80)
config: Handle invalid commit_parser type gracefully (PR#1180, 903c8ba)
release-notes: Standardize heading format for extra release information (PR#1182, 81f9e80)
_This release is published under the MIT License._
This release is published under the MIT License.
Detailed Changes: v9.18.1...v9.19.0
Installable artifacts are available from:
_This release is published under the MIT License._
This release is published under the MIT License.
37db258)#1074: An error occurred in the workflow
#1169: Commands are failing for self hosted gitea release hosted via http
Detailed Changes: v9.18.0...v9.18.1
Installable artifacts are available from:
_This release is published under the MIT License._
This release is published under the MIT License.
Add create_release_url & format_w_official_vcs_name filters (PR#1161, f853cf0)
changelog: Add create_pypi_url filter to jinja template render context (PR#1160, 45d49c3)
changelog: Add additional release info to changeling from commit NOTICE's (PR#1166, 834ce32)
changelog-md: Add additional release info section to default markdown template (PR#1166, 834ce32)
changelog-rst: Add additional release info section to default ReStructuredText template (PR#1166, 834ce32)
commit-parser: Enable parsers to identify additional release notices from commit msgs (PR#1166, 834ce32)
parser-angular: Add a ignore_merge_commits option to discard parsing merge commits (PR#1164, 463e43b)
parser-angular: Add functionality to parse out NOTICE: prefixed statements in commits (PR#1166, 834ce32)
parser-emoji: Add a ignore_merge_commits option to discard parsing merge commits (PR#1164, 463e43b)
parser-emoji: Add functionality to parse out NOTICE: prefixed statements in commits (PR#1166, 834ce32)
parsers: Add option ignore_merge_commits to discard parsing merge commits (PR#1164, 463e43b)
release-notes: Add license information to default release notes template (PR#1167, 41172c1)
vcs-bitbucket: Add format_w_official_vcs_name filter function (PR#1161, f853cf0)
vcs-gitea: Add create_release_url & format_w_official_vcs_name filter functions (PR#1161, f853cf0)
vcs-github: Add create_release_url & format_w_official_vcs_name filter functions (PR#1161, f853cf0)
vcs-gitlab: Add create_release_url & format_w_official_vcs_name filter functiions (PR#1161, f853cf0)
Refactor parsing compatibility function to support older custom parsers (PR#1165, cf340c5)
changelog: Fix parsing compatibility w/ custom parsers (PR#1165, cf340c5)
changelog-templates: Adjust default templates to avoid empty version sections (PR#1164, 463e43b)
parser-angular: Adjust parser to prevent empty message extractions (PR#1166, 834ce32)
parser-emoji: Adjust parser to prevent empty message extractions (PR#1166, 834ce32)
version: Fix parsing compatibility w/ custom parsers (PR#1165, cf340c5)
changelog: Add formatted changelog into hosted documentation (PR#1155, 2f18a6d)
changelog-templates: Add description for new create_pypi_url filter function (PR#1160, 45d49c3)
changelog-templates: Add details about license specification in the release notes (PR#1167, 41172c1)
changelog-templates: Define create_release_url & format_w_official_vcs_name filters (PR#1161, f853cf0)
changelog-templates: Document special separate sections of commit descriptions (ebb4c67)
commit-parsing: Document new release notice footer detection feature of built-in parsers (cd14e92)
#223: Add extra details to release from commit message
#228: Add option to add license name to release
#1162: Failure to determine correct level bump with custom parser in 9.17.0
Detailed Changes: v9.17.0...v9.18.0
Installable artifacts are available from:
Add create_release_url & format_w_official_vcs_name filters (PR#1161, f853cf0)
changelog: Add create_pypi_url filter to jinja template render context (PR#1160, 45d49c3)
changelog: Add additional release info to changeling from commit NOTICE's (PR#1166, 834ce32)
changelog-md: Add additional release info section to default markdown template, closes #223 (PR#1166, 834ce32)
changelog-rst: Add additional release info section to default ReStructuredText template, closes #223 (PR#1166, 834ce32)
commit-parser: Enable parsers to identify additional release notices from commit msgs (PR#1166, 834ce32)
parser-angular: Add a ignore_merge_commits option to discard parsing merge commits (PR#1164, 463e43b)
parser-angular: Add functionality to parse out NOTICE: prefixed statements in commits, closes #223 (PR#1166, 834ce32)
parser-emoji: Add a ignore_merge_commits option to discard parsing merge commits (PR#1164, 463e43b)
parser-emoji: Add functionality to parse out NOTICE: prefixed statements in commits, closes #223 (PR#1166, 834ce32)
parsers: Add option ignore_merge_commits to discard parsing merge commits (PR#1164, 463e43b)
release-notes: Add license information to default release notes template, closes #228 (PR#1167, 41172c1)
vcs-bitbucket: Add format_w_official_vcs_name filter function (PR#1161, f853cf0)
vcs-gitea: Add create_release_url & format_w_official_vcs_name filter functions (PR#1161, f853cf0)
vcs-github: Add create_release_url & format_w_official_vcs_name filter functions (PR#1161, f853cf0)
vcs-gitlab: Add create_release_url & format_w_official_vcs_name filter functions (PR#1161, f853cf0)
Refactor parsing compatibility function to support older custom parsers (PR#1165, cf340c5)
changelog: Fix parsing compatibility w/ custom parsers, closes #1162 (PR#1165, cf340c5)
changelog-templates: Adjust default templates to avoid empty version sections (PR#1164, 463e43b)
parser-angular: Adjust parser to prevent empty message extractions (PR#1166, 834ce32)
parser-emoji: Adjust parser to prevent empty message extractions (PR#1166, 834ce32)
version: Fix parsing compatibility w/ custom parsers, closes #1162 (PR#1165, cf340c5)
changelog: Add formatted changelog into hosted documentation (PR#1155, 2f18a6d)
changelog-templates: Add description for new create_pypi_url filter function (PR#1160, 45d49c3)
changelog-templates: Add details about license specification in the release notes (PR#1167, 41172c1)
changelog-templates: Define create_release_url & format_w_official_vcs_name filters (PR#1161, f853cf0)
changelog-templates: Document special separate sections of commit descriptions (ebb4c67)
commit-parsing: Document new release notice footer detection feature of built-in parsers (cd14e92)
changelog: Add sort_numerically filter function to template environment (#1146, `7792388`)
changelog: Add sort_numerically filter function to template environment (#1146, 7792388)
changelog: Parse squashed commits individually (#1112, cf785ca)
config: Extend support of remote urls aliased using git insteadOf configurations (#1151, 4045037)
parsers: Parse squashed commits individually (#1112, cf785ca)
parser-angular: Apply PR/MR numbers to all parsed commits from a squash merge (#1112, cf785ca)
parser-angular: Upgrade angular parser to parse squashed commits individually (#1112, cf785ca)
parser-emoji: Add functionality to interpret scopes from gitmoji commit messages (#1112, cf785ca)
parser-emoji: Upgrade emoji parser to parse squashed commits individually (#1112, cf785ca)
version: Parse squashed commits individually (#1112, cf785ca)
changelog-templates: Add description for new sort_numerically filter function (#1146, 7792388)
commit-parsing: Add description for squash commit evaluation option of default parsers (#1112, cf785ca)
configuration: Update the commit_parser_options setting description (#1112, cf785ca)
#1085: Commit Parser: Add support for squash commits (BitBucket Specific)
#1150: Request support of git insteadOf url aliases
Detailed Changes: v9.16.1...v9.17.0
Installable artifacts are available from:
changelog: Add sort_numerically filter function to template environment (PR#1146, 7792388)
changelog: Parse squashed commits individually (PR#1112, cf785ca)
config: Extend support of remote urls aliased using git insteadOf configurations, closes #1150 (PR#1151, 4045037)
parsers: Parse squashed commits individually (PR#1112, cf785ca)
parser-angular: Apply PR/MR numbers to all parsed commits from a squash merge (PR#1112, cf785ca)
parser-angular: Upgrade angular parser to parse squashed commits individually, closes #1085 (PR#1112, cf785ca)
parser-emoji: Add functionality to interpret scopes from gitmoji commit messages (PR#1112, cf785ca)
parser-emoji: Upgrade emoji parser to parse squashed commits individually (PR#1112, cf785ca)
version: Parse squashed commits individually (PR#1112, cf785ca)
parser-custom: Handle relative parent directory paths to module file better (#1142, `c4056fc`)
Detailed Changes: v9.16.0...v9.16.1
Installable artifacts are available from:
config: Expand dynamic parser import to handle a filepath to module (#1135, `0418fd8`)
changelog: Fixes PSR release commit exclusions for customized commit messages (#1139, f9a2078)
cmd-version: Fixes --print-tag result to match configured tag format (#1134, a990aa7)
cmd-version: Fixes tag format on default version when force bump for initial release (#1138, 007fd00)
config-changelog: Validates changelog.exclude_commit_patterns on config load (#1139, f9a2078)
commit-parsing: Add the new custom parser import spec description for direct path imports (#1135, 0418fd8)
configuration: Adjust commit_parser option definition for direct path imports (#1135, 0418fd8)
tag_format is ignored if there are no tags in the repositoryDetailed Changes: v9.15.2...v9.16.0
Installable artifacts are available from:
changelog: Fixes PSR release commit exclusions for customized commit messages (PR#1139, f9a2078)
cmd-version: Fixes --print-tag result to match configured tag format (PR#1134, a990aa7)
cmd-version: Fixes tag format on default version when force bump for initial release, closes #1137 (PR#1138, 007fd00)
config-changelog: Validate changelog.exclude_commit_patterns on config load (PR#1139, f9a2078)
changelog: Ensures user rendered files are trimmed to end with a single newline (#1118, `6dfbbb0`)
changelog: Ensures user rendered files are trimmed to end with a single newline (#1118, 6dfbbb0)
cli: Add error message of how to gather full error output (#1116, ba85532)
cmd-version: Fix handling of multiple prerelease token variants & git flow merges (#1120, 8784b9a)
cmd-version: Fix version determination algorithm to capture commits across merged branches (#1120, 8784b9a)
cmd-version: Forces tag timestamp to be same time as release commit (#1117, 7898b11)
cmd-version: Handle multiple prerelease token variants properly (#1120, 8784b9a)
config: Ensure default config loads on network mounted windows environments (#1124, a64cbc9)
version: Remove some excessive log msgs from debug to silly level (#1120, 8784b9a)
version-bump: Increment based on current commit's history only (#864, b88108e)
Detailed Changes: v9.15.1...v9.15.2
changelog: Ensures user rendered files are trimmed to end with a single newline (PR#1118, 6dfbbb0)
cli: Add error message of how to gather full error output (PR#1116, ba85532)
cmd-version: Enable maintenance prereleases (PR#864, b88108e)
cmd-version: Fix handling of multiple prerelease token variants & git flow merges (PR#1120, 8784b9a)
cmd-version: Fix version determination algorithm to capture commits across merged branches (PR#1120, 8784b9a)
cmd-version: Forces tag timestamp to be same time as release commit (PR#1117, 7898b11)
cmd-version: Handle multiple prerelease token variants properly, closes #789 (PR#1120, 8784b9a)
config: Ensure default config loads on network mounted windows environments, closes #1123 (PR#1124, a64cbc9)
version: Remove some excessive log msgs from debug to silly level (PR#1120, 8784b9a)
version-bump: Increment based on current commit's history only, closes #861 (PR#864, b88108e)
changelog-md: Fix commit sort of breaking descriptions section (`75b342e`)
changelog-md: Fix commit sort of breaking descriptions section (75b342e)
parser-angular: Ensure issues are sorted by numeric value rather than text sorted (3858add)
parser-emoji: Ensure issues are sorted by numeric value rather than text sorted (7b8d2d9)
Detailed Changes: v9.15.0...v9.15.1
changelog-md: Add a breaking changes section to default Markdown template (#1110, `4fde30e`)
changelog-md: Add a breaking changes section to default Markdown template (#1110, 4fde30e)
changelog-md: Alphabetize breaking change descriptions in markdown changelog template (#1110, 4fde30e)
changelog-md: Alphabetize commit summaries & scopes in markdown changelog template (#1111, 8327068)
changelog-rst: Add a breaking changes section to default reStructuredText template (#1110, 4fde30e)
changelog-rst: Alphabetize breaking change descriptions in ReStructuredText template (#1110, 4fde30e)
changelog-rst: Alphabetize commit summaries & scopes in ReStructuredText template (#1111, 8327068)
commit-parser: Enable parsers to flag commit to be ignored for changelog (#1108, 0cc668c)
default-changelog: Add a separate formatted breaking changes section (#1110, 4fde30e)
default-changelog: Alphabetize commit summaries & scopes in change sections (#1111, 8327068)
parsers: Add other_allowed_tags option for commit parser options (#1109, f90b8dc)
parsers: Enable parsers to identify linked issues on a commit (#1109, f90b8dc)
parser-angular: Automatically parse angular issue footers from commit messages (#1109, f90b8dc)
parser-custom: Enable custom parsers to identify linked issues on a commit (#1109, f90b8dc)
parser-emoji: Parse issue reference footers from commit messages (#1109, f90b8dc)
release-notes: Add tag comparison link to release notes when supported (#1107, 9073344)
cmd-version: Ensure release utilizes a timezone aware datetime (ca817ed)
default-changelog: Alphabetically sort commit descriptions in version type sections (bdaaf5a)
util: Prevent git footers from being collapsed during parse (#1109, f90b8dc)
api-parsers: Add option documentation to parser options (#1109, f90b8dc)
changelog-templates: Update examples using new commit.linked_issues attribute (#1109, f90b8dc)
commit-parsing: Improve & expand commit parsing w/ parser descriptions (#1109, f90b8dc)
Detailed Changes: v9.14.0...v9.15.0
changelog-md: Add a breaking changes section to default Markdown template, closes #244 (PR#1110, 4fde30e)
changelog-md: Alphabetize breaking change descriptions in markdown changelog template (PR#1110, 4fde30e)
changelog-md: Alphabetize commit summaries & scopes in markdown changelog template (PR#1111, 8327068)
changelog-rst: Add a breaking changes section to default reStructuredText template, closes #244 (PR#1110, 4fde30e)
changelog-rst: Alphabetize breaking change descriptions in ReStructuredText template (PR#1110, 4fde30e)
changelog-rst: Alphabetize commit summaries & scopes in ReStructuredText template (PR#1111, 8327068)
commit-parser: Enable parsers to flag commit to be ignored for changelog, closes #778 (PR#1108, 0cc668c)
default-changelog: Add a separate formatted breaking changes section, closes #244 (PR#1110, 4fde30e)
default-changelog: Alphabetize commit summaries & scopes in change sections (PR#1111, 8327068)
parsers: Add other_allowed_tags option for commit parser options (PR#1109, f90b8dc)
parsers: Enable parsers to identify linked issues on a commit (PR#1109, f90b8dc)
parser-angular: Automatically parse angular issue footers from commit messages (PR#1109, f90b8dc)
parser-custom: Enable custom parsers to identify linked issues on a commit (PR#1109, f90b8dc)
parser-emoji: Parse issue reference footers from commit messages (PR#1109, f90b8dc)
release-notes: Add tag comparison link to release notes when supported (PR#1107, 9073344)
cmd-version: Ensure release utilizes a timezone aware datetime (ca817ed)
default-changelog: Alphabetically sort commit descriptions in version type sections (bdaaf5a)
util: Prevent git footers from being collapsed during parse (PR#1109, f90b8dc)
changelog: Add MD to RST conversion for markdown inline links (`cb2af1f`)
changelog: Add MD to RST conversion for markdown inline links (cb2af1f)
changelog: Define first release w/o change descriptions for default MD template (fa89dec)
changelog: Define first release w/o change descriptions for default RST template (e30c94b)
changelog: Prefix scopes on commit descriptions in default template (#1093, 560fd2c)
changelog-md: Add markdown inline link format macro (c6d8211)
changelog-md: prefix scopes on commit descriptions in Markdown changelog template (#1093, 560fd2c)
changelog-rst: prefix scopes on commit descriptions in ReStructuredText template (#1093, 560fd2c)
configuration: Add changelog.default_templates.mask_initial_release option (595a70b)
context: Add mask_initial_release setting to changelog context (6f2ee39)
release-notes: Define first release w/o change descriptions in default template (83167a3)
99ab99b)changelog-templates: Document new mask_initial_release changelog context variable (f294957)
configuration: Document new mask_initial_release option usage & effect (3cabcdc)
homepage: Fix reference to new ci workflow for test status badge (6760069)
Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.13.0...v9.14.0
changelog: Add md to rst conversion for markdown inline links (cb2af1f)
changelog: Define first release w/o change descriptions for default MD template (fa89dec)
changelog: Define first release w/o change descriptions for default RST template (e30c94b)
changelog: Prefix scopes on commit descriptions in default template (PR#1093, 560fd2c)
changelog-md: Add markdown inline link format macro (c6d8211)
changelog-md: Prefix scopes on commit descriptions in Markdown changelog template (PR#1093, 560fd2c)
changelog-rst: Prefix scopes on commit descriptions in ReStructuredText template (PR#1093, 560fd2c)
configuration: Add changelog.default_templates.mask_initial_release option (595a70b)
context: Add mask_initial_release setting to changelog context (6f2ee39)
release-notes: Define first release w/o change descriptions in default template (83167a3)
release-notes: Override default word-wrap to non-wrap for in default template (99ab99b)
changelog: Add PR/MR url linking to default reStructuredText template (`5f018d6`)
changelog: Add PR/MR url linking to default reStructuredText template (5f018d6)
changelog: Add PR/MR url linking to default Markdown changelog (cd8d131)
parsed-commit: Add linked merge requests list to the ParsedCommit object (9a91062)
parser-angular: Automatically parse PR/MR numbers from subject lines in commits (2ac798f)
parser-emoji: Automatically parse PR/MR numbers from subject lines in commits (bca9909)
parser-scipy: Automatically parse PR/MR numbers from subject lines in commits (2b3f738)
changelog-rst: Ignore unknown parsed commit types in default RST changelog (77609b1)
parser-angular: Drop the breaking category but still maintain a major level bump (f1ffa54)
parsers: Improve reliability of text unwordwrap of descriptions (436374b)
parser-angular: Simplify commit parsing type pre-calculation (a86a28c)
parser-emoji: Increase speed of commit parsing (2c9c468)
parser-scipy: Increase speed & decrease complexity of commit parsing (2b661ed)
changelog-templates: Add linked_merge_request field to examples (d4376bc)
changelog-templates: Fix api class reference links (7a5bdf2)
commit-parsing: Add linked_merge_request field to Parsed Commit definition (ca61889)
Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.12.2...v9.13.0
changelog: Add PR/MR url linking to default Markdown changelog, closes #924, #953 (cd8d131)
changelog: Add PR/MR url linking to default reStructuredText template, closes #924, #953 (5f018d6)
parsed-commit: Add linked merge requests list to the ParsedCommit object (9a91062)
parser-angular: Automatically parse PR/MR numbers from subject lines in commits (2ac798f)
parser-emoji: Automatically parse PR/MR numbers from subject lines in commits (bca9909)
parser-scipy: Automatically parse PR/MR numbers from subject lines in commits (2b3f738)
changelog-rst: Ignore unknown parsed commit types in default RST changelog (77609b1)
parser-angular: Drop the breaking category but still maintain a major level bump (f1ffa54)
parsers: Improve reliability of descriptions after reverse word-wrap (436374b)
parser-angular: Simplify commit parsing type pre-calculation (a86a28c)
parser-emoji: Increase speed of commit parsing (2c9c468)
parser-scipy: Increase speed & decrease complexity of commit parsing (2b661ed)
bitbucket: fix pull_request_url filter to ignore an PR prefix gracefully (#1089, `275ec88`)
bitbucket: fix pull_request_url filter to ignore an PR prefix gracefully (#1089, 275ec88)
cli: gracefully capture all exceptions unless in very verbose debug mode (#1088, 13ca44f)
gitea: fix issue_url filter to ignore an issue prefix gracefully (#1089, 275ec88)
gitea: fix pull_request_url filter to ignore an PR prefix gracefully (#1089, 275ec88)
github: fix issue_url filter to ignore an issue prefix gracefully (#1089, 275ec88)
github: fix pull_request_url filter to ignore an PR prefix gracefully (#1089, 275ec88)
gitlab: fix issue_url filter to ignore an issue prefix gracefully (#1089, 275ec88)
gitlab: fix merge_request_url filter to ignore an PR prefix gracefully (#1089, 275ec88)
hvcs: add flexibility to issue & MR/PR url jinja filters (#1089, 275ec88)
275ec88)Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.12.1...v9.12.2
bitbucket: Fix pull_request_url filter to ignore an PR prefix gracefully (PR#1089, 275ec88)
cli: Gracefully capture all exceptions unless in very verbose debug mode (PR#1088, 13ca44f)
gitea: Fix issue_url filter to ignore an issue prefix gracefully (PR#1089, 275ec88)
gitea: Fix pull_request_url filter to ignore an PR prefix gracefully (PR#1089, 275ec88)
github: Fix issue_url filter to ignore an issue prefix gracefully (PR#1089, 275ec88)
github: Fix pull_request_url filter to ignore an PR prefix gracefully (PR#1089, 275ec88)
gitlab: Fix issue_url filter to ignore an issue prefix gracefully (PR#1089, 275ec88)
gitlab: Fix merge_request_url filter to ignore an PR prefix gracefully (PR#1089, 275ec88)
hvcs: Add flexibility to issue & MR/PR url jinja filters (PR#1089, 275ec88)
changelog: fix raw-inline pattern replacement in convert_md_to_rst filter (`2dc70a6`)
changelog: fix raw-inline pattern replacement in convert_md_to_rst filter (2dc70a6)
cmd-version: fix --as-prerelease when no commit change from last full release (#1076, 3b7b772)
release-notes: add context variable shorthand ctx like docs claim & changelog has (d618d83)
74f03d4)Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.12.0...v9.12.1
changelog: Fix raw-inline pattern replacement in convert_md_to_rst filter (2dc70a6)
cmd-version: Fix --as-prerelease when no commit change from last full release (PR#1076, 3b7b772)
release-notes: Add context variable shorthand ctx like docs claim & changelog has (d618d83)
contributing: Update local testing instructions (74f03d4)
commit-parsers: add deprecation message for the tag parser (`af94540`)
autofit_text_width filter to template environment (#1062, 83e4b86)changelog: ignore commit exclusion when a commit causes a version bump (e8f886e)
parser-angular: change Fixes commit type heading to Bug Fixes (#1064, 09e3a4d)
parser-emoji: enable the default bump level option (bc27995)
changelog-templates: add definition & usage of autofit_text_width template filter (#1062, 83e4b86)
commit-parsers: add deprecation message for the tag parser (af94540)
configuration: add deprecation message for the tag parser (a83b7e4)
Detailed Changes: v9.11.1...v9.12.0
changelog: Ignore commit exclusion when a commit causes a version bump (e8f886e)
parser-angular: Change Fixes commit type heading to Bug Fixes (PR#1064, 09e3a4d)
parser-emoji: Enable the default bump level option (bc27995)
changelog: prevent custom template errors when components are in hidden folders (#1060, `a7614b0`)
a7614b0)Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.11.0...v9.11.1
configuration: update changelog_file with deprecation notice of setting relocation (#1055, `c2e8831`)
changelog: add convert_md_to_rst filter to changelog environment (#1055, c2e8831)
changelog: add default changelog in re-structured text format (#1055, c2e8831)
changelog: add default changelog template in reStructuredText format (#1055, c2e8831)
config: enable default changelog.insertion_flag based on output format (#1055, c2e8831)
config: enable target changelog filename to trigger RST output format (#1055, c2e8831)
c2e8831)changelog: clarify the convert_md_to_rst filter added to the template environment (#1055, c2e8831)
changelog: increase detail about configuration options of default changelog creation (#1055, c2e8831)
configuration: update details of insertion_flag's dynamic defaults with rst (#1055, c2e8831)
configuration: update changelog_file with deprecation notice of setting relocation (#1055, c2e8831)
configuration: update output_format description for reStructuredText support (#1055, c2e8831)
Detailed Changes: v9.10.1...v9.11.0
config: handle branch match regex errors gracefully (#1054, `4d12251`)
4d12251)Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.10.0...v9.10.1
changelog: add changelog_insertion_flag to changelog template context (#1045, `c18c245`)
changelog: add changelog_insertion_flag to changelog template context (#1045, c18c245)
changelog: add changelog_mode to changelog template context (#1045, c18c245)
changelog: add prev_changelog_file to changelog template context (#1045, c18c245)
changelog: add read_file function to changelog template context (#1045, c18c245)
changelog: add shorthand ctx variable to changelog template env (#1045, c18c245)
changelog: modify changelog template to support changelog updates (#1045, c18c245)
config: add changelog.default_templates.output_format config option (#1045, c18c245)
config: add changelog.insertion_flag as configuration option (#1045, c18c245)
config: add changelog.mode as configuration option (#1045, c18c245)
github-actions: add an action build directive to toggle the --skip-build option (#1044, 26597e2)
config: prevent jinja from autoescaping markdown content by default (#1045, c18c245)
changelog: adjust angular heading names for readability (#1045, c18c245)
changelog: ensure changelog templates can handle complex directory includes (#1045, c18c245)
changelog: only render user templates when files exist (#1045, c18c245)
changelog-templates: improve detail & describe new changelog.mode="update" (#1045, c18c245)
commands: update definition of the version commands --skip-build option (#1044, 26597e2)
configuration: add changelog.mode and changelog.insertion_flag config definitions (#1045, c18c245)
configuration: define the new changelog.default_templates.output_format option (#1045, c18c245)
configuration: mark version of configuration setting introduction (#1045, c18c245)
configuration: standardize all true/false to lowercase ensuring toml-compatibility (#1045, c18c245)
configuration: update changelog.environment.autoescape default to false to match code (#1045, c18c245)
github-actions: add description of the build input directive (#1044, 26597e2)
github-actions: update primary example with workflow sha controlled pipeline (14f04df)
homepage: update custom changelog reference (#1045, c18c245)
Detailed Changes: v9.9.0...v9.10.0
github-actions: add is_prerelease output to the version action (#1038, `6a5d35d`)
is_prerelease output to the version action (#1038, 6a5d35d)automatic-releases: drop extraneous GitHub push configuration (#1011, 2135c68)
github-actions: add configuration & description of publish action (#1011, 2135c68)
github-actions: add description of new is_prerelease output for version action (#1038, 6a5d35d)
github-actions: clarify & consolidate GitHub Actions usage docs (#1011, 2135c68)
github-actions: expand descriptions & clarity of actions configs (#1011, 2135c68)
github-actions: revert removal of namespace prefix from examples (#1011, 2135c68)
homepage: remove link to old GitHub config & update token scope config (#1011, 2135c68)
Detailed Changes: v9.8.9...v9.9.0
automatic-releases: Drop extraneous github push configuration (PR#1011, 2135c68)
github-actions: Add configuration & description of publish action (PR#1011, 2135c68)
github-actions: Add description of new is_prerelease output for version action (PR#1038, 6a5d35d)
github-actions: Clarify & consolidate GitHub Actions usage docs, closes #907 (PR#1011, 2135c68)
github-actions: Expand descriptions & clarity of actions configs (PR#1011, 2135c68)
github-actions: Revert removal of namespace prefix from examples (PR#1011, 2135c68)
homepage: Remove link to old github config & update token scope config (PR#1011, 2135c68)
version-cmd: ensure version_variables do not match partial variable names (#1028, `156915c`)
version-cmd: ensure version_variables do not match partial variable names (#1028, 156915c)
version-cmd: improve version_variables flexibility w/ quotes (ie. json, yaml, etc) (#1028, 156915c)
api: update docstrings to resolve sphinx styling errors (#1030, d84efc7)
configuration: add clarity to version_variables usage & limitations (#1028, 156915c)
Detailed Changes: v9.8.8...v9.8.9
version-cmd: Ensure version_variables do not match partial variable names (PR#1028, 156915c)
version-cmd: Improve version_variables flexibility w/ quotes (ie. json, yaml, etc) (PR#1028, 156915c)
version-cmd: Increase version_variable flexibility with quotations (ie. json, yaml, etc), closes #601, #706, #962, #1026 (PR#1028, 156915c)
Update docstrings to resolve sphinx failures, closes #1029 (PR#1030, d84efc7)
configuration: Add clarity to version_variables usage & limitations (PR#1028, 156915c)
homepage: Re-structure homepage to be separate from project readme (PR#1032, 2307ed2)
README: Simplify README to point at official docs (PR#1032, 2307ed2)
config: fix path traversal detection for windows compatibility (#1014, `16e6daa`)
16e6daa)configuration: update build_command env table for windows to use all capital vars (0e8451c)
github-actions: update version in examples to latest version (3c894ea)
Detailed Changes: v9.8.7...v9.8.8
Provide context.history global in release notes templates (#1005, `5bd91b4`)
Provide context.history global in release notes templates (#1005, 5bd91b4)
release-notes: provide context.history global in release note templates (5bd91b4)
release-notes: fix noop-changelog to print raw release notes (5bd91b4)
Use pinned version for GHA examples (#1004, 5fdf761)
changelog: clarify description of the default changelog generation process (399fa65)
configuration: clarify changelog_file vs template_dir option usage (a7199c8)
configuration: fix build_command_env table rendering (#996, a5eff0b)
github-actions: adjust formatting & version warning in code snippets (5fdf761)
github-actions: use pinned version for GHA examples (5fdf761)
#983: When template folder is present, changelog_file is ignored
#984: jinja2.exceptions.UndefinedError: 'context' is undefined
#1003: pinning GHA workflow
Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.8.6...v9.8.7
Provide context.history global in release notes templates (PR#1005, 5bd91b4)
release-notes: Fix noop-changelog to print raw release notes (PR#1005, 5bd91b4)
release-notes: Provide context.history global in release note templates, closes #984 (PR#1005, 5bd91b4)
changelog: Clarify description of the default changelog generation process (399fa65)
configuration: Clarify changelog_file vs template_dir option usage, closes #983 (a7199c8)
configuration: Fix build_command_env table rendering (PR#996, a5eff0b)
github-actions: Adjust formatting & version warning in code snippets (PR#1004, 5fdf761)
github-actions: Use pinned version for GHA examples, closes #1003 (PR#1004, 5fdf761)
version-cmd: resolve build command execution in powershell (#980, `32c8e70`)
32c8e70)Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.8.5...v9.8.6
Enable --print-last-released* when in detached head or non-release branch
Enable --print-last-released* when in detached head or non-release branch (#926)
changelog: resolve commit ordering issue when dates are similar (bfda159)
version-cmd: drop branch restriction for --print-last-released* opts (782c0a6)
Improve git history processing for changelog generation (#972)
changelog: improve git history parser changelog generation (bfda159)
version --print-last-released outside of release branchesDetailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.8.4...v9.8.5
Enable --print-last-released* when in detached head or non-release branch (PR#926, 782c0a6)
changelog: Resolve commit ordering issue when dates are similar (PR#972, bfda159)
version-cmd: Drop branch restriction for --print-last-released* opts, closes #900 (PR#926, 782c0a6)
changelog-cmd: remove usage strings when error occured (`348a51d`)
changelog-cmd: remove usage strings when error occured (348a51d)
changelog-cmd: render default changelog when user template directory exist but is empty (bded8de)
config: prevent path traversal manipulation of target changelog location (43e35d0, 3eb3dba)
publish-cmd: prevent error when provided tag does not exist locally (16afbbb)
publish-cmd: remove usage strings when error occurred (afbb187)
version-cmd: remove usage strings when error occurred (a7c17c7)
Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.8.3...v9.8.4
changelog-cmd: Remove usage strings when error occurred, closes #810 (348a51d)
changelog-cmd: Render default changelog when user template directory exist but is empty (bded8de)
config: Prevent path traversal manipulation of target changelog location (43e35d0)
config: Prevent path traversal manipulation of target changelog location (3eb3dba)
publish-cmd: Prevent error when provided tag does not exist locally (16afbbb)
publish-cmd: Remove usage strings when error occurred, closes #810 (afbb187)
version-cmd: Remove usage strings when error occurred, closes #810 (a7c17c7)
parser: strip DOS carriage-returns in commits
Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.8.2...v9.8.3
changelog: suppress extra newlines in default changelog
Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.8.1...v9.8.2
Improve build cmd env on windows
Improve build cmd env on windows (#942)
version-cmd: pass windows specific env vars to build cmd when on windows (d911fae)
d911fae)Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.8.0...v9.8.1
Extend GitLab support to edit a previous release if exists
Extend GitLab support to edit a previous release if exists (#934)
gha: configure ssh signed tags in GitHub Action (#937)
hvcs-gitlab: enable gitlab to edit a previous release if found (23e02b9)
version-cmd: add toggle of --no-verify option to git commit (#927)
hvcs-gitlab: add tag message to release creation (23e02b9)
gitlab: adjust release name to mirror other hvcs release names (23e02b9)
configuration: add no_git_verify description to the configuration page (1de6f78)
migration-v8: update version references in migration instructions (#938)
Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.7.3...v9.8.0
Extend gitlab to edit a previous release if exists (PR#934, 23e02b9)
gha: Configure ssh signed tags in GitHub Action, closes #936 (PR#937, dfb76b9)
hvcs-gitlab: Enable gitlab to edit a previous release if found (PR#934, 23e02b9)
version-cmd: Add toggle of --no-verify option to git commit (PR#927, 1de6f78)
gitlab: Adjust release name to mirror other hvcs release names (PR#934, 23e02b9)
hvcs-gitlab: Add tag message to release creation (PR#934, 23e02b9)
Enabled prelease-token parameter in github action
prelease-token parameter in github action (#929)Detailed Changes: https://github.com/python-semantic-release/python-semantic-release/compare/v9.7.2...v9.7.3
Enable user configuration of build_command env vars
Enable user configuration of build_command env vars (#925)
version: enable user config of build_command env variables (6b5b271)
configuration: clarify TOC & alphabetize configuration descriptions (19add16)
configuration: clarify TOC & standardize heading links (3a41995)
configuration: document build_command_env configuration option (6b5b271)
build_command environment variables unavailableEnable user configuration of build_command env vars (PR#925, 6b5b271)
version: Enable user config of build_command env variables, closes #922 (PR#925, 6b5b271)
configuration: Clarify TOC & alphabetize configuration descriptions (19add16)
configuration: Clarify TOC & standardize heading links (3a41995)
configuration: Document build_command_env configuration option (PR#925, 6b5b271)
CONTRIBUTING: Update build command definition for developers (PR#921, b573c4d)
gha: fix missing git_commit_author definition in action
git_commit_author definition in action (#919)git_committer_name and git_committer_email anymoreversion-cmd: pass NEW_VERSION & useful env vars to build command (`ee6b246`)
NEW_VERSION & useful env vars to build command (ee6b246)tag option to GitHub Action definition (#908)c882dc6)version-cmd: Pass NEW_VERSION & useful env vars to build command (ee6b246)
gha: Add missing tag option to GitHub Action definition, closes #906 (PR#908, 6b24288)
gha: Correct use of prerelease option for GitHub Action (PR#914, 85e27b7)
configuration: Add description of build command available env variables (c882dc6)
gha: Update GitHub Actions doc with all available options (PR#914, 85e27b7)
Changelog filters are specialized per vcs type
Changelog filters are specialized per vcs type (#890)
changelog: changelog filters are hvcs focused (76ed593)
changelog-context: add flag to jinja env for which hvcs is available (76ed593)
changelog-gitea: add issue url filter to changelog context (76ed593)
changelog-github: add issue url filter to changelog context (76ed593)
version-cmd: add --as-prerelease option to force the next version to be a prerelease (2acb5ac)
Correct version --prerelease use & enable --as-prerelease (#647)
github: correct changelog filter for pull request urls (76ed593)
parser-custom: gracefully handle custom parser import errors (67f6038)
version-cmd: correct --prerelease use (2acb5ac)
changelog-context: explain new hvcs specific context filters (76ed593)
commands: update version command options definition about prereleases (2acb5ac)
semantic-release version --prerelease does not force a prerelease version bumpChangelog filters are specialized per vcs type (PR#890, 76ed593)
changelog: Changelog filters are hvcs focused (PR#890, 76ed593)
changelog-context: Add flag to jinja env for which hvcs is available (PR#890, 76ed593)
changelog-gitea: Add issue url filter to changelog context (PR#890, 76ed593)
changelog-github: Add issue url filter to changelog context (PR#890, 76ed593)
version-cmd: Add --as-prerelease option to force the next version to be a prerelease, closes #639 (PR#647, 2acb5ac)
Correct version --prerelease use & enable --as-prerelease (PR#647, 2acb5ac)
github: Correct changelog filter for pull request urls (PR#890, 76ed593)
parser-custom: Gracefully handle custom parser import errors (67f6038)
version-cmd: Correct --prerelease use, closes #639 (PR#647, 2acb5ac)
Extend support to on-prem GitHub Enterprise Server
Extend support to on-prem GitHub Enterprise Server (#896)
github: extend support to on-prem GitHub Enterprise Server (4fcb737)
Allow insecure http connections if configured
Allow insecure http connections if configured (#886)
Prevent double url schemes urls in changelog (#676)
bitbucket: allow insecure http connections if configured (db13438)
bitbucket: correct url parsing & prevent double url schemes (5cfdb24)
config: add flag to allow insecure connections (db13438)
gitea: allow insecure http connections if configured (db13438)
gitea: correct url parsing & prevent double url schemes (5cfdb24)
github: allow insecure http connections if configured (db13438)
github: correct url parsing & prevent double url schemes (5cfdb24)
gitlab: allow insecure http connections if configured (db13438)
gitlab: correct url parsing & prevent double url schemes (5cfdb24)
version-cmd: handle HTTP exceptions more gracefully (db13438)
remote settings section with missing values (db13438)bitbucket: Allow insecure http connections if configured (PR#886, db13438)
bitbucket: Correct url parsing & prevent double url schemes (PR#676, 5cfdb24)
config: Add flag to allow insecure connections (PR#886, db13438)
gitea: Allow insecure http connections if configured (PR#886, db13438)
gitea: Correct url parsing & prevent double url schemes (PR#676, 5cfdb24)
github: Allow insecure http connections if configured (PR#886, db13438)
github: Correct url parsing & prevent double url schemes (PR#676, 5cfdb24)
gitlab: Allow insecure http connections if configured (PR#886, db13438)
gitlab: Correct url parsing & prevent double url schemes (PR#676, 5cfdb24)
hvcs: Allow insecure http connections if configured (PR#886, db13438)
hvcs: Prevent double protocol scheme urls in changelogs (PR#676, 5cfdb24)
version-cmd: Handle HTTP exceptions more gracefully (PR#886, db13438)
gh-actions-output: fixed trailing newline to match GITHUB_OUTPUT format
Your coding agent can read these notes before it upgrades. Set up the MCP server →