Python-semantic-release

Latest version: v9.15.2

Safety actively analyzes 689579 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 40

9.12.1

Bug Fixes

- **changelog**: Fix raw-inline pattern replacement in `convert_md_to_rst` filter
([`2dc70a6`](https://github.com/python-semantic-release/python-semantic-release/commit/2dc70a6106776106b0fba474b0029071317d639f))

- **cmd-version**: Fix `--as-prerelease` when no commit change from last full release
([1076](https://github.com/python-semantic-release/python-semantic-release/pull/1076),
[`3b7b772`](https://github.com/python-semantic-release/python-semantic-release/commit/3b7b77246100cedd8cc8f289395f7641187ffdec))

- **release-notes**: Add context variable shorthand `ctx` like docs claim & changelog has
([`d618d83`](https://github.com/python-semantic-release/python-semantic-release/commit/d618d83360c4409fc149f70b97c5fe338fa89968))

Documentation

- **contributing**: Update local testing instructions
([`74f03d4`](https://github.com/python-semantic-release/python-semantic-release/commit/74f03d44684b7b2d84f9f5e471425b02f8bf91c3))

9.12.0

Bug Fixes

- **changelog**: Ignore commit exclusion when a commit causes a version bump
([`e8f886e`](https://github.com/python-semantic-release/python-semantic-release/commit/e8f886ef2abe8ceaea0a24a0112b92a167abd6a9))

- **parser-angular**: Change `Fixes` commit type heading to `Bug Fixes`
([1064](https://github.com/python-semantic-release/python-semantic-release/pull/1064),
[`09e3a4d`](https://github.com/python-semantic-release/python-semantic-release/commit/09e3a4da6237740de8e9932d742b18d990e9d079))

* test(fixtures): update expected changelog heading to `Bug Fixes`

* test(unit): update expected changelog heading to `Bug Fixes`

- **parser-emoji**: Enable the default bump level option
([`bc27995`](https://github.com/python-semantic-release/python-semantic-release/commit/bc27995255a96b9d6cc743186e7c35098822a7f6))

Documentation

- **commit-parsers**: Add deprecation message for the tag parser
([`af94540`](https://github.com/python-semantic-release/python-semantic-release/commit/af94540f2b1c63bf8a4dc977d5d0f66176962b64))

- **configuration**: Add deprecation message for the tag parser
([`a83b7e4`](https://github.com/python-semantic-release/python-semantic-release/commit/a83b7e43e4eaa99790969a6c85f44e01cde80d0a))

Features

- **changelog**: Add `autofit_text_width` filter to template environment
([1062](https://github.com/python-semantic-release/python-semantic-release/pull/1062),
[`83e4b86`](https://github.com/python-semantic-release/python-semantic-release/commit/83e4b86abd4754c2f95ec2e674f04deb74b9a1e6))

This change adds an equivalent style formatter that can apply a text alignment to a maximum width
and also maintain an indent over paragraphs of text

* docs(changelog-templates): add definition & usage of `autofit_text_width` template filter

* test(changelog-context): add test cases to check `autofit_text_width` filter use

9.11.1

Bug Fixes

- **changelog**: Prevent custom template errors when components are in hidden folders
([1060](https://github.com/python-semantic-release/python-semantic-release/pull/1060),
[`a7614b0`](https://github.com/python-semantic-release/python-semantic-release/commit/a7614b0db8ce791e4252209e66f42b5b5275dffd))

9.11.0

Features

- **changelog**: Add default changelog template in reStructuredText format
([1055](https://github.com/python-semantic-release/python-semantic-release/pull/1055),
[`c2e8831`](https://github.com/python-semantic-release/python-semantic-release/commit/c2e883104d3c11e56f229638e988d8b571f86e34))

* test(fixtures): update repo generation to create rst & md changelogs

* test(release-history): refactor fragile test to utilize repo fixture definitions

* test(changelog-cmd): update tests to evaluate rst changelog generation & updates

* test(version-cmd): update tests to evaluate rst changelog generation & updates

* test(version-cmd): update test code to match new commit definition functions

* test(config): add test to validate `insertion_flag` default determination

* feat(changelog): add `convert_md_to_rst` filter to changelog environment

* feat(changelog): add default changelog in re-structured text format

This change adds the templates to create an equivalent CHANGELOG.RST file in angular changelog
style. It can be enabled via the `output_format` configuration setting.

Resolves: 399

* feat(config): enable target changelog filename to trigger RST output format

* feat(config): enable default `changelog.insertion_flag` based on output format

* refactor(config): move `changelog_file` setting under `changelog.default_templates`

This change adds a secondary `changelog_file` setting under the default_templates section while
deprecating the top level one. Since this is not intended to be a breaking change we provided a
warning message and compatibility code to pass along the current `changelog_file` value to the new
setting location while giving the user a notification to update before the next version.

* fix(changelog): correct spacing for default markdown template during updates

* docs(configuration): update details of `insertion_flag`'s dynamic defaults with rst

* docs(configuration): update `output_format` description for reStructuredText support

* docs(configuration): update `changelog_file` with deprecation notice of setting relocation

* docs(changelog): clarify the `convert_md_to_rst` filter added to the template environment

* docs(changelog): increase detail about configuration options of default changelog creation

9.10.1

Bug Fixes

- **config**: Handle branch match regex errors gracefully
([1054](https://github.com/python-semantic-release/python-semantic-release/pull/1054),
[`4d12251`](https://github.com/python-semantic-release/python-semantic-release/commit/4d12251c678a38de6b71cac5b9c1390eb9dd8ad6))

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

9.10.0

Documentation

- **github-actions**: Update primary example with workflow sha controlled pipeline
([`14f04df`](https://github.com/python-semantic-release/python-semantic-release/commit/14f04dffc7366142faecebb162d4449501cbf1fd))

Features

- **changelog**: Modify changelog template to support changelog updates
([1045](https://github.com/python-semantic-release/python-semantic-release/pull/1045),
[`c18c245`](https://github.com/python-semantic-release/python-semantic-release/commit/c18c245df51a9778af09b9dc7a315e3f11cdcda0))

* feat(changelog): add `read_file` function to changelog template context

This feature adds a filter that will enable jinja templates to read a file from the repository into
memory to then use as output within the template. The primary use for this is to read in a
previous changelog file which then the template can give the illusion of insertion as it re-writes
the entire file.

* feat(changelog): add `changelog_mode` to changelog template context

Adds a flag that can be passed to the templating environment to allow for triggering an update mode
of a changelog versions an initialization mode. The usage is up to the template developer but for
PSR it is used to handle changelog generation vs changelog updating.

* feat(changelog): add `prev_changelog_file` to changelog template context

This adds a string that represents a filename to a previous changelog file which can be read from
inside the template context. The primary use is for enabling the updating of a changelog through
jinja templating.

* feat(changelog): add `changelog_insertion_flag` to changelog template context

This adds a customizable string to the jinja templating context which allows users to use the PSR
configuration to pass a custom insertion flag into the templating context. This is intended for
use with initializing a changelog and then updating it from that point forward.

* feat(changelog): add shorthand `ctx` variable to changelog template env

* refactor(changelog): change recursive render to not use file streaming

It would be nice to maintain file streaming for better memory usage but it prevents the ability to
read the file contents previously from within the template which is a desire in order to insert
into a previous changelog. In this case, the memory usage is likely not a problem for large text
files.

* fix(config): prevent jinja from autoescaping markdown content by default

Since this project is generally rendering non-html content such as RST or MD, change the default of
the jinja autoescape parameter to false instead of true. When it was true, it would automatically
convert any `&` ampersands to its htmlentity equivalent `&` which is completely unnecessary
and unreadable in non-html documents.

* docs(configuration): update `changelog.environment.autoescape` default to `false` to match code

* docs(configuration): standardize all true/false to lowercase ensuring toml-compatibility

* feat(config): add `changelog.mode` as configuration option

* feat(config): add `changelog.insertion_flag` as configuration option

* refactor(config): use `changelog.changelog_file` as previous changelog file for target for update

* style(config): alphabetize changelog configuration options

* docs(configuration): add `changelog.mode` and `changelog.insertion_flag` config definitions

* fix(changelog): adjust angular heading names for readability

* feat(changelog): modify changelog template to support changelog updates

By popular demand, the desire to only prepend new information to the changelog is now possible given
the `changelog.mode = update` configuration option.

Resolves: 858, 722

* refactor(errors): add new generic internal error for tragic improbable flaws

* fix(changelog): ensure changelog templates can handle complex directory includes

* feat(config): add `changelog.default_templates.output_format` config option

* fix(changelog): only render user templates when files exist

This change ensures that we will use our default even when the user only overrides the release notes
template. It also must have jinja templates in the folder otherwise we will render the default
changelog.

* refactor(changelog): enable default changelog rendering of multiple template parts

* refactor(changelog): change rendering of default release notes to new template structure

* refactor(context): use pathlib instead of context manager to read file

* test(fixtures): update changelog generator format & angular heading names

* test(angular): adjust test of commit type to section header

* test(changelog): update make changelog context function call

* test(release-notes): update test related to release notes generation

* test(fixtures): add processing to filter out repo definitions for partial changelogs

* test(fixtures): update repo generators to update changelogs w/ every version

* test(fixtures): slow down repo generators to prevent git failures from same timestamps

* test(fixtures): update changelog generator to include insertion flag

* refactor(changelog): fix template to handle update when no releases exist

* refactor(changelog): adjust template to use improved release object

* refactor(changelog): improve resilence & non-existant initial changelog

* style(changelog-templates): maintain 2-spaces indentation throughout jinja templates

* refactor(changelog): ensure cross-platform template includes with jinja compatibility

* test(changelog-cmd): add tests to evaluate variations of the changelog update mode

* test(version-cmd): add tests to evaluate variations of the changelog update mode

* refactor(release-notes): normalize line endings to universal newlines & always end with newline

* refactor(changelog): ensure default changelog renders w/ universal newlines & writes as
os-specific

* test(changelog): update changelog testing implementation to be newline aware

* test: update tests to use cross-platform newlines where appropriate

* docs(changelog-templates): improve detail & describe new `changelog.mode="update"`

* docs(configuration): mark version of configuration setting introduction

* docs(homepage): update custom changelog reference

* refactor(changelog): adjust read_file filter to read file as os-newline aware

* refactor(changelog): apply forced universal newline normalizer on default changelog

* test(changelog): adjust implementation to consistently work on windows

* test(version): adjust implementation to consistently work on windows

* refactor(changelog-template): only add insertion flag if in update mode

* test(changelog): adjust test to handle changelog regeneration in init mode

* refactor(changelog-templates): adjust init template to clean up extra newlines

* test(changelog): adjust expected output after cleaned up newlines

* docs(configuration): define the new `changelog.default_templates.output_format` option

- **github-actions**: Add an action `build` directive to toggle the `--skip-build` option
([1044](https://github.com/python-semantic-release/python-semantic-release/pull/1044),
[`26597e2`](https://github.com/python-semantic-release/python-semantic-release/commit/26597e24a80a37500264aa95a908ba366699099e))

* docs(commands): update definition of the version commands `--skip-build` option

* docs(github-actions): add description of the `build` input directive

Page 2 of 40

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.