Releases: Dresdn/python-semantic-release
v8.0.0
v8.0.0 (2024-11-16)
Bug Fixes
-
release-notes: Override default wordwrap to non-wrap for in default template (
99ab99b
) -
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
) -
hvcs-*: Add flexibility to issue & MR/PR url jinja filters (#1089,
275ec88
)
-
fix(github): fix
issue_url
filter to ignore an issue prefix gracefully -
fix(github): fix
pull_request_url
filter to ignore an PR prefix gracefully -
fix(gitlab): fix
issue_url
filter to ignore an issue prefix gracefully -
fix(gitlab): fix
merge_request_url
filter to ignore an PR prefix gracefully -
fix(gitea): fix
issue_url
filter to ignore an issue prefix gracefully -
fix(gitea): fix
pull_request_url
filter to ignore an PR prefix gracefully -
fix(bitbucket): fix
pull_request_url
filter to ignore an PR prefix gracefully -
test(bitbucket): add test case for prefixed PR numbers
-
test(gitea): add test case for prefixed PR & issue numbers
-
test(gitlab): add test case for prefixed PR & issue numbers
-
test(github): add test case for prefixed PR & issue numbers
-
style(hvcs): fix logical lint errors
-
docs(changelog-templates): update descriptions of issue & MR/PR url jinja filters
- refactor(cli): consolidate entrypoints into the module execute file
-
cmd-version: Fix
--as-prerelease
when no commit change from last full release (#1076,3b7b772
) -
changelog: Fix raw-inline pattern replacement in
convert_md_to_rst
filter (2dc70a6
) -
release-notes: Add context variable shorthand
ctx
like docs claim & changelog has (d618d83
) -
parser-emoji: Enable the default bump level option (
bc27995
) -
changelog: Ignore commit exclusion when a commit causes a version bump (
e8f886e
) -
parser-angular: Change
Fixes
commit type heading toBug Fixes
(#1064,09e3a4d
)
-
test(fixtures): update expected changelog heading to
Bug Fixes
-
test(unit): update expected changelog heading to
Bug Fixes
-
changelog: Prevent custom template errors when components are in hidden folders (#1060,
a7614b0
) -
config: Handle branch match regex errors gracefully (#1054,
4d12251
)
prevents stacktrace error when user provided regex for a branch name match is invalid. Translates most common failure of a plain wildcard *
character to the implied proper regex
- fix(version-cmd): increase
version_variable
flexibility with quotations (ie. json, yaml, etc)
Previously json would not work due to the key being wrapped in quotes, yaml also has issues when it does not usually use quotes. The regex we created originally only wrapped the version to be replaced in quotes but now both the key and version can optionally be wrapped in different kind of quotations.
Resolves: python-semantic-release#601, python-semantic-release#706, python-semantic-release#962, python-semantic-release#1026
- docs(configuration): add clarity to
version_variables
usage & limitations
Ref: python-semantic-release#941
-
fix(version-cmd): ensure
version_variables
do not match partial variable names -
build(deps-test): add
PyYAML
as a test dependency -
test(fixtures): refactor location of fixture for global use of cli runner
-
test(stamp-version): add test cases to stamp json, python, & yaml files
The original implementation of the path traversal detection expected that resolve()
works the same on windows as it does with Linux/Mac. Windows requires the folder paths
to exist to be resolved and that is not the case when the template_dir
is not being
used.
Resolves: python-semantic-release#994
- fix(release-notes): provide
context.history
global in release note templates
Temporarily return the context.history
variable to release notes generation
as many users are using it in their release documentation. It was never intended
to be provided and will be removed in the future.
context was removed in v9.8.3
during a refactor and condensing of changelog
and release notes functionality.
Resolves: python-semantic-release#984
- fix(release-notes): fix noop-changelog to print raw release notes
Some markdown sequences can be interpreted as ansi escape sequences which dilute
debugging of release note templates by the user. This change ensures the raw
content is displayed to the console as expected.
Fixes the command line option for passing a shell command to Powershell. Also included a similar shell detection result for pwsh (Powershell Core)
- test(version-cmd): add tests to print when detached or non-release branch
ref: python-semantic-release#900
- fix(version-cmd): drop branch restriction for
--print-last-released*
opts
Resolves: python-semantic-release#900
- changelog-cmd: Remove usage strings when error occured (
348a51d
)
Resolves: python-semantic-release#810
- publish-cmd: Remove usage strings when error occured (
afbb187
)
Resolves: python-semantic-release#810
-
config: Prevent path traversal manipulation of target changelog location (
43e35d0
) -
version-cmd: Remove usage strings when error occurred (
a7c17c7
)
Resolves: python-semantic-release#810
-
publish-cmd: Prevent error when provided tag does not exist locally (
16afbbb
) -
config: Prevent path traversal manipulation of target changelog location (
3eb3dba
) -
changelog-cmd: Render default changelog when user template directory exist but is empty (
bded8de
) -
parser: Strip DOS carriage-returns in commits (#956,
0b005df
)
The default template can result in mixed (UNIX / DOS style) carriage returns in the generated changelog. Use a string replace in the commit parser to strip the DOS CRs ("\r"). This is only needed in the case when we are not byte decoding.
Fixes python-semantic-release#955
Suppress extra newlines in default generated changel...