-
Notifications
You must be signed in to change notification settings - Fork 255
10.x #1249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
codejedi365
merged 64 commits into
python-semantic-release:master
from
codejedi365:10.x
May 25, 2025
Merged
10.x #1249
codejedi365
merged 64 commits into
python-semantic-release:master
from
codejedi365:10.x
May 25, 2025
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35c0401
to
012455c
Compare
Remove the code that writes out the rest of the commit message from the default template. BREAKING CHANGE: 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. Resolves: python-semantic-release#733
…tructuredText template Remove the code that writes out the rest of the commit message from the default template. BREAKING CHANGE: 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. Resolves: python-semantic-release#733
…e deprecating angular parser
…cating angular parser
…escriptions BREAKING CHANGE: 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.
…ions BREAKING CHANGE: 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.
…ions BREAKING CHANGE: 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.
…m commit descriptions BREAKING CHANGE: 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.
… commit descriptions BREAKING CHANGE: 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.
… descriptions BREAKING CHANGE: 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.
… descriptions BREAKING CHANGE: Any release notice footer messages that the emoji 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.
…atch trimmed commits
Changes the default behavior of PSR when the `allow_zero_version` setting is not provided. BREAKING CHANGE: 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.
… the description
…elease` default to `true` Changes the default behavior of PSR when `mask_initial_release` setting is not provided. BREAKING CHANGE: 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.
…k_initial_release` value
…sk_initial_release`
Changes the default behavior of PSR when `changelog.mode` setting is not provided. BREAKING CHANGE: 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.
… the setting description # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch brk/changelog-update-as-default # Changes to be committed: # modified: docs/configuration.rst #
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose
Rationale
How did you test?
How to Verify
PR Completion Checklist
Reviewed & followed the Contributor Guidelines
Changes Implemented & Validation pipeline succeeds
Commits follow the Conventional Commits standard
and are separated into the proper commit type and scope (recommended order: test, build, feat/fix, docs)
Appropriate Unit tests added/updated
Appropriate End-to-End tests added/updated
Appropriate Documentation added/updated and syntax validated for sphinx build (see Contributor Guidelines)