Skip to content

Releases: Dresdn/python-semantic-release

v8.0.0

16 Nov 03:21
Compare
Choose a tag to compare

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

  • cli: Gracefully capture all exceptions unless in very verbose debug mode (#1088, 13ca44f)
  • 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 to Bug 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

  • version-cmd: Improve version_variables flexibility w/ quotes (ie. json, yaml, etc) (#1028, 156915c)
  • 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

  • config: Fix path traversal detection for windows compatibility (#1014, 16e6daa)

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

  • Provide context.history global in release notes templates (#1005, 5bd91b4)
  • 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.

  • version-cmd: Resolve build command execution in powershell (#980, 32c8e70)

Fixes the command line option for passing a shell command to Powershell. Also included a similar shell detection result for pwsh (Powershell Core)

  • Enable --print-last-released* when in detached head or non-release branch (#926, 782c0a6)
  • 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

  • templates: Suppress extra newlines in default changelog (#954, 7b0079b)

Suppress extra newlines in default generated changel...

Read more