python-semantic-release 9.18.1__tar.gz → 9.19.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_semantic_release-9.18.1/src/python_semantic_release.egg-info → python_semantic_release-9.19.1}/PKG-INFO +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/algorithm.rst +1 -1
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/automatic-releases/github-actions.rst +7 -7
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/automatic-releases/index.rst +2 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/changelog_templates.rst +7 -7
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/commands.rst +5 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/commit_parsing.rst +100 -20
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/configuration.rst +10 -10
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/index.rst +5 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/migrating_from_v7.rst +15 -15
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/multibranch_releases.rst +3 -3
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/strict_mode.rst +1 -1
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/troubleshooting.rst +2 -3
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/pyproject.toml +8 -3
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1/src/python_semantic_release.egg-info}/PKG-INFO +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/python_semantic_release.egg-info/SOURCES.txt +2 -1
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/python_semantic_release.egg-info/requires.txt +1 -1
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/__init__.py +1 -1
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/__main__.py +7 -3
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/commands/main.py +3 -6
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/config.py +31 -1
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/commit_parser/__init__.py +4 -0
- python_semantic_release-9.19.1/src/semantic_release/commit_parser/conventional.py +31 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/.components/changes.md.j2 +4 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/.release_notes.md.j2 +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/rst/.components/changes.rst.j2 +4 -4
- python_semantic_release-9.19.1/src/semantic_release/globals.py +8 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/helpers.py +6 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/const.py +7 -7
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_changelog/test_changelog.py +44 -44
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_changelog/test_changelog_custom_parser.py +6 -6
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_changelog/test_changelog_parsing.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_changelog/test_changelog_release_notes.py +12 -12
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_config/test_generate_config.py +4 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_publish/test_publish.py +4 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_1_channel.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_2_channels.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_3_channels.py +4 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_4_channels.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/github_flow/test_repo_1_channel.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/github_flow/test_repo_2_channels.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_dual_version_support.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_dual_version_support_w_prereleases.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_w_prereleases.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version.py +7 -7
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version_build.py +5 -5
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version_bump.py +117 -117
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version_changelog.py +31 -31
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version_changelog_custom_commit_msg.py +4 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version_github_actions.py +6 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version_print.py +35 -35
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version_release_notes.py +3 -3
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version_stamp.py +7 -7
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/test_version_strict.py +3 -3
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/test_help.py +4 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/test_main.py +15 -9
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/commit_parsers.py +20 -20
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/example_project.py +7 -7
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/git_repo.py +26 -25
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/git_flow/repo_w_1_release_channel.py +16 -16
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/git_flow/repo_w_2_release_channels.py +17 -17
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/git_flow/repo_w_3_release_channels.py +19 -19
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/git_flow/repo_w_4_release_channels.py +15 -13
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/github_flow/repo_w_default_release.py +11 -9
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/github_flow/repo_w_release_channels.py +11 -9
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/repo_initial_commit.py +2 -2
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/trunk_based_dev/repo_w_dual_version_support.py +7 -7
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/trunk_based_dev/repo_w_dual_version_support_w_prereleases.py +9 -9
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/trunk_based_dev/repo_w_no_tags.py +8 -8
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/trunk_based_dev/repo_w_prereleases.py +7 -7
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/trunk_based_dev/repo_w_tags.py +7 -7
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/changelog/test_default_changelog.py +6 -6
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/changelog/test_release_history.py +38 -38
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/changelog/test_release_notes.py +6 -6
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/cli/test_config.py +7 -7
- python_semantic_release-9.18.1/tests/unit/semantic_release/commit_parser/test_angular.py → python_semantic_release-9.19.1/tests/unit/semantic_release/commit_parser/test_conventional.py +65 -61
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/commit_parser/test_emoji.py +4 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/commit_parser/test_scipy.py +4 -4
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/util.py +2 -2
- python_semantic_release-9.18.1/src/semantic_release/globals.py +0 -6
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/AUTHORS.rst +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/LICENSE +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/MANIFEST.in +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/README.rst +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/Makefile +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/automatic-releases/cronjobs.rst +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/automatic-releases/travis.rst +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/conf.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/contributing.rst +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/contributors.rst +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/make.bat +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/psr_changelog.rst +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/setup.cfg +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/python_semantic_release.egg-info/dependency_links.txt +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/python_semantic_release.egg-info/entry_points.txt +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/python_semantic_release.egg-info/top_level.txt +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/changelog/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/changelog/context.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/changelog/release_history.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/changelog/template.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/changelog_writer.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/cli_context.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/commands/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/commands/changelog.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/commands/generate_config.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/commands/publish.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/commands/version.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/const.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/github_actions_output.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/masking_filter.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/cli/util.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/commit_parser/_base.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/commit_parser/angular.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/commit_parser/emoji.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/commit_parser/scipy.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/commit_parser/tag.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/commit_parser/token.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/commit_parser/util.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/const.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/.components/changelog_header.md.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/.components/changelog_init.md.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/.components/changelog_update.md.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/.components/first_release.md.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/.components/macros.md.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/.components/unreleased_changes.md.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/.components/versioned_changes.md.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/md/CHANGELOG.md.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/rst/.components/changelog_header.rst.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/rst/.components/changelog_init.rst.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/rst/.components/changelog_update.rst.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/rst/.components/first_release.rst.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/rst/.components/macros.rst.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/rst/.components/unreleased_changes.rst.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/rst/.components/versioned_changes.rst.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/data/templates/angular/rst/CHANGELOG.rst.j2 +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/enums.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/errors.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/gitproject.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/hvcs/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/hvcs/_base.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/hvcs/bitbucket.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/hvcs/gitea.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/hvcs/github.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/hvcs/gitlab.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/hvcs/remote_hvcs_base.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/hvcs/token_auth.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/hvcs/util.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/py.typed +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/version/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/version/algorithm.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/version/declaration.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/version/translator.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/src/semantic_release/version/version.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/conftest.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_changelog/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_config/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_publish/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/conftest.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/git_flow/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/github_flow/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/cmd_version/bump_version/trunk_based_dev/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/e2e/conftest.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/git_flow/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/github_flow/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/repos/trunk_based_dev/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/fixtures/scipy.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/conftest.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/changelog/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/changelog/conftest.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/changelog/test_changelog_context.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/changelog/test_template.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/changelog/test_template_render.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/cli/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/cli/test_github_actions_output.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/cli/test_masking_filter.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/cli/test_util.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/cli/test_version.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/commit_parser/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/commit_parser/test_parsed_commit.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/commit_parser/test_util.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/hvcs/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/hvcs/test__base.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/hvcs/test_bitbucket.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/hvcs/test_gitea.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/hvcs/test_github.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/hvcs/test_gitlab.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/hvcs/test_token_auth.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/hvcs/test_util.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/test_helpers.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/version/__init__.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/version/test_algorithm.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/version/test_declaration.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/version/test_translator.py +0 -0
- {python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/tests/unit/semantic_release/version/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-semantic-release
|
|
3
|
-
Version: 9.
|
|
3
|
+
Version: 9.19.1
|
|
4
4
|
Summary: Automatic Semantic Versioning for Python projects
|
|
5
5
|
Author-email: Rolf Erik Lekang <me@rolflekang.com>
|
|
6
6
|
License: MIT
|
|
@@ -62,7 +62,7 @@ Requires-Dist: pre-commit~=3.5; extra == "dev"
|
|
|
62
62
|
Requires-Dist: tox~=4.11; extra == "dev"
|
|
63
63
|
Requires-Dist: ruff==0.6.1; extra == "dev"
|
|
64
64
|
Provides-Extra: mypy
|
|
65
|
-
Requires-Dist: mypy==1.
|
|
65
|
+
Requires-Dist: mypy==1.15.0; extra == "mypy"
|
|
66
66
|
Requires-Dist: types-requests~=2.32.0; extra == "mypy"
|
|
67
67
|
Requires-Dist: types-pyyaml~=6.0; extra == "mypy"
|
|
68
68
|
|
|
@@ -35,7 +35,7 @@ Implementation
|
|
|
35
35
|
|
|
36
36
|
1. Parse all the Git tags of the repository into semantic versions, and **sort**
|
|
37
37
|
in descending (most recent first) order according to `semver precedence`_.
|
|
38
|
-
Ignore any tags which do not correspond to valid semantic
|
|
38
|
+
Ignore any tags which do not correspond to valid semantic versions according
|
|
39
39
|
to ``tag_format``.
|
|
40
40
|
|
|
41
41
|
|
|
@@ -337,7 +337,7 @@ before the :ref:`version <cmd-version>` subcommand.
|
|
|
337
337
|
|
|
338
338
|
.. code:: yaml
|
|
339
339
|
|
|
340
|
-
- uses: python-semantic-release/python-semantic-release@v9.
|
|
340
|
+
- uses: python-semantic-release/python-semantic-release@v9.19.0
|
|
341
341
|
with:
|
|
342
342
|
root_options: "-vv --noop"
|
|
343
343
|
|
|
@@ -576,7 +576,7 @@ before the :ref:`publish <cmd-publish>` subcommand.
|
|
|
576
576
|
|
|
577
577
|
.. code:: yaml
|
|
578
578
|
|
|
579
|
-
- uses: python-semantic-release/publish-action@v9.
|
|
579
|
+
- uses: python-semantic-release/publish-action@v9.19.0
|
|
580
580
|
with:
|
|
581
581
|
root_options: "-vv --noop"
|
|
582
582
|
|
|
@@ -684,7 +684,7 @@ to the GitHub Release Assets as well.
|
|
|
684
684
|
- name: Action | Semantic Version Release
|
|
685
685
|
id: release
|
|
686
686
|
# Adjust tag with desired version if applicable.
|
|
687
|
-
uses: python-semantic-release/python-semantic-release@v9.
|
|
687
|
+
uses: python-semantic-release/python-semantic-release@v9.19.0
|
|
688
688
|
with:
|
|
689
689
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
690
690
|
git_committer_name: "github-actions"
|
|
@@ -695,7 +695,7 @@ to the GitHub Release Assets as well.
|
|
|
695
695
|
if: steps.release.outputs.released == 'true'
|
|
696
696
|
|
|
697
697
|
- name: Publish | Upload to GitHub Release Assets
|
|
698
|
-
uses: python-semantic-release/publish-action@v9.
|
|
698
|
+
uses: python-semantic-release/publish-action@v9.19.0
|
|
699
699
|
if: steps.release.outputs.released == 'true'
|
|
700
700
|
with:
|
|
701
701
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -744,7 +744,7 @@ The equivalent GitHub Action configuration would be:
|
|
|
744
744
|
|
|
745
745
|
- name: Action | Semantic Version Release
|
|
746
746
|
# Adjust tag with desired version if applicable.
|
|
747
|
-
uses: python-semantic-release/python-semantic-release@v9.
|
|
747
|
+
uses: python-semantic-release/python-semantic-release@v9.19.0
|
|
748
748
|
with:
|
|
749
749
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
750
750
|
force: patch
|
|
@@ -772,13 +772,13 @@ Publish Action.
|
|
|
772
772
|
.. code:: yaml
|
|
773
773
|
|
|
774
774
|
- name: Release Project 1
|
|
775
|
-
uses: python-semantic-release/python-semantic-release@v9.
|
|
775
|
+
uses: python-semantic-release/python-semantic-release@v9.19.0
|
|
776
776
|
with:
|
|
777
777
|
directory: ./project1
|
|
778
778
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
779
779
|
|
|
780
780
|
- name: Release Project 2
|
|
781
|
-
uses: python-semantic-release/python-semantic-release@v9.
|
|
781
|
+
uses: python-semantic-release/python-semantic-release@v9.19.0
|
|
782
782
|
with:
|
|
783
783
|
directory: ./project2
|
|
784
784
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
{python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/changelog_templates.rst
RENAMED
|
@@ -49,7 +49,7 @@ PSR provides two default changelog output formats:
|
|
|
49
49
|
Both formats are kept in sync with one another to display the equivalent information
|
|
50
50
|
in the respective format. The default changelog template is located in the
|
|
51
51
|
``data/templates/`` directory within the PSR package. The templates are written in
|
|
52
|
-
modular style (ie. multiple files) and during the render
|
|
52
|
+
modular style (ie. multiple files) and during the render process are ultimately
|
|
53
53
|
combined together to render the final changelog output. The rendering start point
|
|
54
54
|
is the ``CHANGELOG.{FORMAT_EXT}.j2`` underneath the respective format directory.
|
|
55
55
|
|
|
@@ -71,8 +71,8 @@ A common and *highly-recommended* configuration option is the
|
|
|
71
71
|
:ref:`changelog.exclude_commit_patterns <config-changelog-exclude_commit_patterns>`
|
|
72
72
|
setting which allows the user to define regular expressions that will exclude commits
|
|
73
73
|
from the changelog output. This is useful to filter out change messages that are not
|
|
74
|
-
relevant to your external consumers (ex. ``ci`` and ``test`` in the
|
|
75
|
-
|
|
74
|
+
relevant to your external consumers (ex. ``ci`` and ``test`` in the conventional commit
|
|
75
|
+
standard) and only include the important changes that impact the consumer of your
|
|
76
76
|
software.
|
|
77
77
|
|
|
78
78
|
Another important configuration option is the :ref:`changelog.mode <config-changelog-mode>`
|
|
@@ -144,7 +144,7 @@ newly created changelog file.
|
|
|
144
144
|
|
|
145
145
|
.. tip::
|
|
146
146
|
We have accomplished changelog updating through the use of the `Jinja`_ templating
|
|
147
|
-
and
|
|
147
|
+
and additional context filters and context variables. This is notable because
|
|
148
148
|
in the case that you want to customize your changelog template, you now can use the
|
|
149
149
|
same logic to enable changelog updates of your custom template!
|
|
150
150
|
|
|
@@ -228,7 +228,7 @@ Configuration Examples
|
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
230
|
|
|
231
|
-
3. Goal: Configure an initializing reStructuredText changelog with filtered
|
|
231
|
+
3. Goal: Configure an initializing reStructuredText changelog with filtered conventional
|
|
232
232
|
commits patterns and merge commits within a custom config file ``releaserc.toml``.
|
|
233
233
|
|
|
234
234
|
.. code:: toml
|
|
@@ -282,7 +282,7 @@ for defining a custom template directory):
|
|
|
282
282
|
semantic-release --noop changelog --post-to-release-tag v1.0.0
|
|
283
283
|
|
|
284
284
|
The default template provided by PSR will respect the
|
|
285
|
-
:ref
|
|
285
|
+
:ref:`config-changelog-default_templates-mask_initial_release` setting and
|
|
286
286
|
will also add a comparison link to the previous release if one exists without
|
|
287
287
|
customization.
|
|
288
288
|
|
|
@@ -1220,7 +1220,7 @@ __ https://github.com/python-semantic-release/python-semantic-release/tree/maste
|
|
|
1220
1220
|
maintain any content that should be included before the new release information.
|
|
1221
1221
|
See ``data/templates/*/md/.components/changelog_update.md.j2`` for reference.
|
|
1222
1222
|
|
|
1223
|
-
5. **Print your insertion flag.** This is
|
|
1223
|
+
5. **Print your insertion flag.** This is imperative to ensure that the resulting
|
|
1224
1224
|
changelog can be updated in the future. See
|
|
1225
1225
|
``data/templates/*/md/.components/changelog_update.md.j2`` for reference.
|
|
1226
1226
|
|
|
@@ -272,8 +272,8 @@ the flag.
|
|
|
272
272
|
This can be useful when making a single prerelease on a branch that would typically release
|
|
273
273
|
normal versions.
|
|
274
274
|
|
|
275
|
-
If not specified in :ref:`cmd-version-option-prerelease-token`, the prerelease token is
|
|
276
|
-
:ref:`Multibranch Release Configuration <multibranch-releases-configuring>`
|
|
275
|
+
If not specified in :ref:`cmd-version-option-prerelease-token`, the prerelease token is identified
|
|
276
|
+
using the :ref:`Multibranch Release Configuration <multibranch-releases-configuring>`
|
|
277
277
|
|
|
278
278
|
See the examples alongside :ref:`cmd-version-option-force-level` for how to use this flag.
|
|
279
279
|
|
|
@@ -282,8 +282,9 @@ See the examples alongside :ref:`cmd-version-option-force-level` for how to use
|
|
|
282
282
|
``--prerelease-token [VALUE]``
|
|
283
283
|
******************************
|
|
284
284
|
|
|
285
|
-
Force the next version to use the value as the prerelease token. This overrides the configured
|
|
286
|
-
present. If not used during a release producing a prerelease version, this
|
|
285
|
+
Force the next version to use the value as the prerelease token. This overrides the configured
|
|
286
|
+
value if one is present. If not used during a release producing a prerelease version, this
|
|
287
|
+
option has no effect.
|
|
287
288
|
|
|
288
289
|
.. _cmd-version-option-build-metadata:
|
|
289
290
|
|
|
@@ -33,7 +33,7 @@ to handle your specific commit message style.
|
|
|
33
33
|
features are added beyond the scope of the original commit message style guidelines.
|
|
34
34
|
|
|
35
35
|
Other tools may not follow the same conventions as PSR's guideline extensions, so
|
|
36
|
-
if you plan to use any similar programs in
|
|
36
|
+
if you plan to use any similar programs in tandem with PSR, you should be aware of the
|
|
37
37
|
differences in feature support and fall back to the official format guidelines if
|
|
38
38
|
necessary.
|
|
39
39
|
|
|
@@ -48,27 +48,110 @@ Built-in Commit Parsers
|
|
|
48
48
|
|
|
49
49
|
The following parsers are built in to Python Semantic Release:
|
|
50
50
|
|
|
51
|
-
- :ref:`
|
|
51
|
+
- :ref:`ConventionalCommitParser <commit_parser-builtin-conventional>`
|
|
52
|
+
- :ref:`AngularCommitParser <commit_parser-builtin-angular>` *(deprecated in v9.19.0)*
|
|
52
53
|
- :ref:`EmojiCommitParser <commit_parser-builtin-emoji>`
|
|
53
54
|
- :ref:`ScipyCommitParser <commit_parser-builtin-scipy>`
|
|
54
55
|
- :ref:`TagCommitParser <commit_parser-builtin-tag>` *(deprecated in v9.12.0)*
|
|
55
56
|
|
|
56
57
|
----
|
|
57
58
|
|
|
59
|
+
.. _commit_parser-builtin-conventional:
|
|
60
|
+
|
|
61
|
+
Conventional Commits Parser
|
|
62
|
+
"""""""""""""""""""""""""""
|
|
63
|
+
|
|
64
|
+
*Introduced in v9.19.0*
|
|
65
|
+
|
|
66
|
+
A parser that is designed to parse commits formatted according to the
|
|
67
|
+
`Conventional Commits Specification`_. The parser is implemented with the following
|
|
68
|
+
logic in relation to how PSR's core features:
|
|
69
|
+
|
|
70
|
+
- **Version Bump Determination**: This parser extracts the commit type from the subject
|
|
71
|
+
line of the commit (the first line of a commit message). This type is matched against
|
|
72
|
+
the configuration mapping to determine the level bump for the specific commit. If the
|
|
73
|
+
commit type is not found in the configuration mapping, the commit is considered a
|
|
74
|
+
non-parsable commit and will return it as a ParseError object and ultimately a commit
|
|
75
|
+
of type ``"unknown"``. The configuration mapping contains lists of commit types that
|
|
76
|
+
correspond to the level bump for each commit type. Some commit types are still valid
|
|
77
|
+
do not trigger a level bump, such as ``"chore"`` or ``"docs"``. You can also configure
|
|
78
|
+
the default level bump
|
|
79
|
+
:ref:`commit_parser_options.default_level_bump <config-commit_parser_options>` if desired.
|
|
80
|
+
To trigger a major release, the commit message body must contain a paragraph that begins
|
|
81
|
+
with ``BREAKING CHANGE:``. This will override the level bump determined by the commit type.
|
|
82
|
+
|
|
83
|
+
- **Changelog Generation**: PSR will group commits in the changelog by the commit type used
|
|
84
|
+
in the commit message. The commit type shorthand is converted to a more human-friendly
|
|
85
|
+
section heading and then used as the version section title of the changelog and release
|
|
86
|
+
notes. Under the section title, the parsed commit descriptions are listed out in full. If
|
|
87
|
+
the commit includes an optional scope, then the scope is prefixed on to the first line of
|
|
88
|
+
the commit description. If a commit has any breaking change prefixed paragraphs in the
|
|
89
|
+
commit message body, those paragraphs are separated out into a "Breaking Changes" section
|
|
90
|
+
in the changelog (Breaking Changes section is available from the default changelog in
|
|
91
|
+
v9.15.0). Each breaking change paragraph is listed in a bulleted list format across the
|
|
92
|
+
entire version. A single commit is allowed to have more than one breaking change
|
|
93
|
+
prefixed paragraph (as opposed to the `Conventional Commits Specification`_). Commits
|
|
94
|
+
with an optional scope and a breaking change will have the scope prefixed on to the
|
|
95
|
+
breaking change paragraph. Parsing errors will return a ParseError object and ultimately
|
|
96
|
+
a commit of type ``"unknown"``. Unknown commits are consolidated into an "Unknown" section
|
|
97
|
+
in the changelog by the default template. To remove unwanted commits from the changelog
|
|
98
|
+
that normally are placed in the "unknown" section, consider the use of the configuration
|
|
99
|
+
option :ref:`changelog.exclude_commit_patterns <config-changelog-exclude_commit_patterns>`
|
|
100
|
+
to ignore those commit styles.
|
|
101
|
+
|
|
102
|
+
- **Pull/Merge Request Identifier Detection**: This parser implements PSR's
|
|
103
|
+
:ref:`commit_parser-builtin-linked_merge_request_detection` to identify and extract
|
|
104
|
+
pull/merge request numbers. The parser will return a string value if a pull/merge
|
|
105
|
+
request number is found in the commit message. If no pull/merge request number is
|
|
106
|
+
found, the parser will return an empty string.
|
|
107
|
+
|
|
108
|
+
- **Linked Issue Identifier Detection**: This parser implements PSR's
|
|
109
|
+
:ref:`commit_parser-builtin-issue_number_detection` to identify and extract issue numbers.
|
|
110
|
+
The parser will return a tuple of issue numbers as strings if any are found in the commit
|
|
111
|
+
message. If no issue numbers are found, the parser will return an empty tuple.
|
|
112
|
+
|
|
113
|
+
- **Squash Commit Evaluation**: This parser implements PSR's
|
|
114
|
+
:ref:`commit_parser-builtin-squash_commit_evaluation` to identify and extract each commit
|
|
115
|
+
message as a separate commit message within a single squashed commit. You can toggle this
|
|
116
|
+
feature on/off via the :ref:`config-commit_parser_options` setting.
|
|
117
|
+
|
|
118
|
+
- **Release Notice Footer Detection**: This parser implements PSR's
|
|
119
|
+
:ref:`commit_parser-builtin-release_notice_footer_detection`, which is a custom extension
|
|
120
|
+
to traditional `Conventional Commits Specification`_ to use the ``NOTICE`` keyword as a git
|
|
121
|
+
footer to document additional release information that is not considered a breaking change.
|
|
122
|
+
|
|
123
|
+
**Limitations**:
|
|
124
|
+
|
|
125
|
+
- Commits with the ``revert`` type are not currently supported. Track the implementation
|
|
126
|
+
of this feature in the issue `#402`_.
|
|
127
|
+
|
|
128
|
+
If no commit parser options are provided via the configuration, the parser will use PSR's
|
|
129
|
+
built-in
|
|
130
|
+
:py:class:`defaults <semantic_release.commit_parser.conventional.ConventionalCommitParserOptions>`.
|
|
131
|
+
|
|
132
|
+
.. _#402: https://github.com/python-semantic-release/python-semantic-release/issues/402
|
|
133
|
+
.. _Conventional Commits Specification: https://www.conventionalcommits.org/en/v1.0.0
|
|
134
|
+
|
|
135
|
+
----
|
|
136
|
+
|
|
58
137
|
.. _commit_parser-builtin-angular:
|
|
59
138
|
|
|
60
139
|
Angular Commit Parser
|
|
61
140
|
"""""""""""""""""""""
|
|
62
141
|
|
|
142
|
+
.. warning::
|
|
143
|
+
This parser was deprecated in ``v9.19.0``. It will be removed in a future release.
|
|
144
|
+
This parser is being replaced by the :ref:`commit_parser-builtin-conventional`.
|
|
145
|
+
|
|
63
146
|
A parser that is designed to parse commits formatted according to the
|
|
64
147
|
`Angular Commit Style Guidelines`_. The parser is implemented with the following
|
|
65
148
|
logic in relation to how PSR's core features:
|
|
66
149
|
|
|
67
150
|
- **Version Bump Determination**: This parser extracts the commit type from the subject
|
|
68
|
-
line of the commit (the first line of a commit
|
|
151
|
+
line of the commit (the first line of a commit message). This type is matched against
|
|
69
152
|
the configuration mapping to determine the level bump for the specific commit. If the
|
|
70
153
|
commit type is not found in the configuration mapping, the commit is considered a
|
|
71
|
-
non-
|
|
154
|
+
non-parsable commit and will return it as a ParseError object and ultimately a commit
|
|
72
155
|
of type ``"unknown"``. The configuration mapping contains lists of commit types that
|
|
73
156
|
correspond to the level bump for each commit type. Some commit types are still valid
|
|
74
157
|
do not trigger a level bump, such as ``"chore"`` or ``"docs"``. You can also configure
|
|
@@ -129,10 +212,7 @@ If no commit parser options are provided via the configuration, the parser will
|
|
|
129
212
|
built-in :py:class:`defaults <semantic_release.commit_parser.angular.AngularParserOptions>`.
|
|
130
213
|
|
|
131
214
|
.. _#402: https://github.com/python-semantic-release/python-semantic-release/issues/402
|
|
132
|
-
.. _#733: https://github.com/python-semantic-release/python-semantic-release/issues/733
|
|
133
|
-
.. _#1085: https://github.com/python-semantic-release/python-semantic-release/issues/1085
|
|
134
215
|
.. _Angular Commit Style Guidelines: https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits
|
|
135
|
-
.. _PR#1112: https://github.com/python-semantic-release/python-semantic-release/pull/1112
|
|
136
216
|
|
|
137
217
|
----
|
|
138
218
|
|
|
@@ -151,7 +231,7 @@ commit messages. The parser is implemented with the following logic in relation
|
|
|
151
231
|
how PSR's core features:
|
|
152
232
|
|
|
153
233
|
- **Version Bump Determination**: This parser only looks for emojis in the subject
|
|
154
|
-
line of the commit (the first line of a commit
|
|
234
|
+
line of the commit (the first line of a commit message). If more than one emoji is
|
|
155
235
|
found, the emoji configured with the highest priority is selected for the change impact
|
|
156
236
|
for the specific commit. The emoji with the highest priority is the one configured in the
|
|
157
237
|
``major`` configuration option, followed by the ``minor``, and ``patch`` in descending
|
|
@@ -209,7 +289,7 @@ Scipy Commit Parser
|
|
|
209
289
|
"""""""""""""""""""
|
|
210
290
|
|
|
211
291
|
A parser that is designed to parse commits formatted according to the
|
|
212
|
-
`Scipy Commit Style
|
|
292
|
+
`Scipy Commit Style Guidelines`_. This is essentially a variation of the `Angular Commit Style
|
|
213
293
|
Guidelines`_ with all different commit types. Because of this small variance, this parser
|
|
214
294
|
only extends our :ref:`commit_parser-builtin-angular` parser with pre-defined scipy commit types
|
|
215
295
|
in the default Scipy Parser Options and all other features are inherited.
|
|
@@ -217,7 +297,7 @@ in the default Scipy Parser Options and all other features are inherited.
|
|
|
217
297
|
If no commit parser options are provided via the configuration, the parser will use PSR's
|
|
218
298
|
built-in :py:class:`defaults <semantic_release.commit_parser.scipy.ScipyParserOptions>`.
|
|
219
299
|
|
|
220
|
-
.. _Scipy Commit Style
|
|
300
|
+
.. _Scipy Commit Style Guidelines: https://scipy.github.io/devdocs/dev/contributor/development_workflow.html#writing-the-commit-message
|
|
221
301
|
|
|
222
302
|
----
|
|
223
303
|
|
|
@@ -246,7 +326,7 @@ Common Linked Merge Request Detection
|
|
|
246
326
|
|
|
247
327
|
All of the PSR built-in parsers implement common pull/merge request identifier detection
|
|
248
328
|
logic to extract pull/merge request numbers from the commit message regardless of the
|
|
249
|
-
VCS platform. The parsers evaluate the subject line for a
|
|
329
|
+
VCS platform. The parsers evaluate the subject line for a parenthesis-enclosed number
|
|
250
330
|
at the end of the line. PSR's parsers will return a string value if a pull/merge request
|
|
251
331
|
number is found in the commit message. If no pull/merge request number is found, the
|
|
252
332
|
parsers will return an empty string.
|
|
@@ -291,7 +371,7 @@ for your VCS. PSR supports the following case-insensitive prefixes and their con
|
|
|
291
371
|
- implement (implements, implementing, implemented)
|
|
292
372
|
|
|
293
373
|
PSR also allows for a more flexible approach to identifying more than one issue number without
|
|
294
|
-
the need of extra git
|
|
374
|
+
the need of extra git trailers (although PSR does support multiple git trailers). PSR support
|
|
295
375
|
various list formats which can be used to identify more than one issue in a list. This format
|
|
296
376
|
will not necessarily work on your VCS. PSR currently support the following list formats:
|
|
297
377
|
|
|
@@ -343,7 +423,7 @@ a ``release_notices`` attribute that is a tuple of string paragraphs to identify
|
|
|
343
423
|
release notice.
|
|
344
424
|
|
|
345
425
|
In the default changelog and release notes template, these release notices will be
|
|
346
|
-
formatted into their own section called **
|
|
426
|
+
formatted into their own section called **Additional Release Information**. Each will
|
|
347
427
|
include any commit scope defined and each release notice in alphabetical order.
|
|
348
428
|
|
|
349
429
|
----
|
|
@@ -364,7 +444,7 @@ will be evaluated individually for both the level bump and changelog generation.
|
|
|
364
444
|
squash commits are found, a list with the single commit object will be returned.
|
|
365
445
|
|
|
366
446
|
Currently, PSR has been tested against GitHub, BitBucket, and official ``git`` squash
|
|
367
|
-
merge
|
|
447
|
+
merge commit messages. GitLab does not have a default template for squash commit messages
|
|
368
448
|
but can be customized per project or server. If you are using GitLab, you will need to
|
|
369
449
|
ensure that the squash commit message format is similar to the example below.
|
|
370
450
|
|
|
@@ -381,10 +461,10 @@ formatted squash commit message of conventional commit style:*
|
|
|
381
461
|
|
|
382
462
|
* docs(configuration): defined new config option for the project
|
|
383
463
|
|
|
384
|
-
When parsed with the default
|
|
385
|
-
bump will be determined by the highest level bump of the three commits (in
|
|
386
|
-
minor bump because of the feature commit) and the release notes would look
|
|
387
|
-
the following:
|
|
464
|
+
When parsed with the default conventional-commit parser with squash commits toggled on,
|
|
465
|
+
the version bump will be determined by the highest level bump of the three commits (in
|
|
466
|
+
this case, a minor bump because of the feature commit) and the release notes would look
|
|
467
|
+
similar to the following:
|
|
388
468
|
|
|
389
469
|
.. code-block:: markdown
|
|
390
470
|
|
|
@@ -582,7 +662,8 @@ A subclass must implement the following:
|
|
|
582
662
|
:py:class:`ParseResult <semantic_release.commit_parser.token.ParseResult>`, or a
|
|
583
663
|
subclass of this.
|
|
584
664
|
|
|
585
|
-
By default, the constructor for
|
|
665
|
+
By default, the constructor for
|
|
666
|
+
:py:class:`CommitParser <semantic_release.commit_parser._base.CommitParser>`
|
|
586
667
|
will set the ``options`` parameter on the ``options`` attribute of the parser, so there
|
|
587
668
|
is no need to override this in order to access ``self.options`` during the ``parse``
|
|
588
669
|
method. However, if you have any parsing logic that needs to be done only once, it may
|
|
@@ -610,5 +691,4 @@ Therefore, a custom commit parser could be implemented via:
|
|
|
610
691
|
def parse(self, commit: git.objects.commit.Commit) -> semantic_release.ParseResult:
|
|
611
692
|
...
|
|
612
693
|
|
|
613
|
-
.. _angular commit guidelines: https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits
|
|
614
694
|
.. _gitpython-commit-object: https://gitpython.readthedocs.io/en/stable/reference.html#module-git.objects.commit
|
|
@@ -88,9 +88,12 @@ environment variable is:
|
|
|
88
88
|
default = "default value"
|
|
89
89
|
|
|
90
90
|
In this structure:
|
|
91
|
+
|
|
91
92
|
* ``env`` represents the environment variable that Python Semantic Release will search for
|
|
93
|
+
|
|
92
94
|
* ``default_env`` is a fallback environment variable to read in case the variable specified
|
|
93
95
|
by ``env`` is not set. This is optional - if not specified then no fallback will be used.
|
|
96
|
+
|
|
94
97
|
* ``default`` is a default value to use in case the environment variable specified by ``env``
|
|
95
98
|
is not set. This is optional - if ``default`` is not specified then the environment variable
|
|
96
99
|
specified by ``env`` is considered required.
|
|
@@ -105,7 +108,7 @@ configuration setting. If there are type mis-matches, PSR will throw validation
|
|
|
105
108
|
If a setting is not provided, than PSR will fill in the value with the default value.
|
|
106
109
|
|
|
107
110
|
Python Semantic Release expects a root level key to start the configuration definition. Make
|
|
108
|
-
sure to use the correct root key
|
|
111
|
+
sure to use the correct root key depending on the configuration format you are using.
|
|
109
112
|
|
|
110
113
|
.. note:: If you are using ``pyproject.toml``, this heading should include the ``tool`` prefix
|
|
111
114
|
as specified within PEP 517, resulting in ``[tool.semantic_release]``.
|
|
@@ -405,7 +408,7 @@ This setting is used to specify the output format the default changelog template
|
|
|
405
408
|
will use when rendering the changelog. PSR supports both Markdown (``md``) and
|
|
406
409
|
reStructuredText (``rst``) formats.
|
|
407
410
|
|
|
408
|
-
This setting will take
|
|
411
|
+
This setting will take precedence over the file extension of the
|
|
409
412
|
:ref:`config-changelog-default_templates-changelog_file` setting. If this setting is
|
|
410
413
|
omitted, the file extension of the :ref:`config-changelog-default_templates-changelog_file`
|
|
411
414
|
setting will be used to determine the output format. If the file extension is not recognized,
|
|
@@ -695,10 +698,6 @@ A string that will be used to identify where the new version should be inserted
|
|
|
695
698
|
changelog file (as defined by :ref:`config-changelog-changelog_file`) when the changelog mode
|
|
696
699
|
is set to ``update``.
|
|
697
700
|
|
|
698
|
-
When the changelog mode is set to ``init``, this string will be included as part of the
|
|
699
|
-
header of the changelog file to initialize the changelog with a format that will be condusive
|
|
700
|
-
for future version insertions.
|
|
701
|
-
|
|
702
701
|
If you modify this value in your config, you will need to manually update any saved changelog
|
|
703
702
|
file to match the new insertion flag if you use the ``update`` mode. In ``init`` mode, the
|
|
704
703
|
changelog file will be overwritten as normal.
|
|
@@ -790,7 +789,8 @@ Specify which commit parser Python Semantic Release should use to parse the comm
|
|
|
790
789
|
within the Git repository.
|
|
791
790
|
|
|
792
791
|
Built-in parsers:
|
|
793
|
-
* ``angular`` - :ref:`AngularCommitParser <commit_parser-builtin-angular>`
|
|
792
|
+
* ``angular`` - :ref:`AngularCommitParser <commit_parser-builtin-angular>` *(deprecated in v9.19.0)*
|
|
793
|
+
* ``conventional`` - :ref:`ConventionalCommitParser <commit_parser-builtin-conventional>` *(available in v9.19.0+)*
|
|
794
794
|
* ``emoji`` - :ref:`EmojiCommitParser <commit_parser-builtin-emoji>`
|
|
795
795
|
* ``scipy`` - :ref:`ScipyCommitParser <commit_parser-builtin-scipy>`
|
|
796
796
|
* ``tag`` - :ref:`TagCommitParser <commit_parser-builtin-tag>` *(deprecated in v9.12.0)*
|
|
@@ -800,7 +800,7 @@ your own commit parser in ``path/to/module_file.py:Class`` or ``module:Class`` f
|
|
|
800
800
|
|
|
801
801
|
For more information see :ref:`commit-parsing`.
|
|
802
802
|
|
|
803
|
-
**Default:** ``"
|
|
803
|
+
**Default:** ``"conventional"``
|
|
804
804
|
|
|
805
805
|
----
|
|
806
806
|
|
|
@@ -964,7 +964,7 @@ calls rather than the primary domain (ex. ``api.github.com``).
|
|
|
964
964
|
|
|
965
965
|
**Most on-premise HVCS installations will NOT use this setting!** Whether or not
|
|
966
966
|
this value is used depends on the HVCS configured (and your server administration)
|
|
967
|
-
in the :ref:`remote.type <config-remote-type>` setting and used in
|
|
967
|
+
in the :ref:`remote.type <config-remote-type>` setting and used in tandem with the
|
|
968
968
|
:ref:`remote.domain <config-remote-domain>` setting.
|
|
969
969
|
|
|
970
970
|
When using a custom :ref:`remote.domain <config-remote-domain>` and a HVCS
|
|
@@ -1057,7 +1057,7 @@ used for the connection. If the protocol scheme is provided in the field value,
|
|
|
1057
1057
|
match this setting or it will throw an error.
|
|
1058
1058
|
|
|
1059
1059
|
The purpose of this flag is to prevent any typos in provided ``domain`` and ``api_domain``
|
|
1060
|
-
values that
|
|
1060
|
+
values that accidentally specify an insecure connection but allow users to toggle the protection
|
|
1061
1061
|
scheme off when desired.
|
|
1062
1062
|
|
|
1063
1063
|
**Default:** ``false``
|
|
@@ -140,9 +140,8 @@ Setting up commit parsing
|
|
|
140
140
|
-------------------------
|
|
141
141
|
|
|
142
142
|
We rely on commit messages to detect when a version bump is needed.
|
|
143
|
-
By default, Python Semantic Release uses the
|
|
144
|
-
|
|
145
|
-
You can find out more about this in :ref:`commit-parsing`.
|
|
143
|
+
By default, Python Semantic Release uses the `Conventional Commits Specification`_
|
|
144
|
+
to parse commit messages. You can find out more about this in :ref:`commit-parsing`.
|
|
146
145
|
|
|
147
146
|
.. seealso::
|
|
148
147
|
- :ref:`config-branches` - Adding configuration for releases from multiple branches.
|
|
@@ -150,6 +149,8 @@ You can find out more about this in :ref:`commit-parsing`.
|
|
|
150
149
|
For example, Python Semantic Release also ships with emoji and scipy-style parsers.
|
|
151
150
|
- :ref:`remote.type <config-remote-type>` - specify the type of your remote VCS.
|
|
152
151
|
|
|
152
|
+
.. _Conventional Commits Specification: https://www.conventionalcommits.org/en/v1.0.0
|
|
153
|
+
|
|
153
154
|
Setting up the changelog
|
|
154
155
|
------------------------
|
|
155
156
|
|
|
@@ -218,7 +219,7 @@ and changelogs. The user has three options to push changes to the repository:
|
|
|
218
219
|
- :ref:`Changelog <config-changelog>` - customize your project's changelog.
|
|
219
220
|
- :ref:`changelog-templates-custom_release_notes` - customize the published release notes
|
|
220
221
|
- :ref:`upload_to_vcs_release <config-publish-upload_to_vcs_release>` -
|
|
221
|
-
enable/disable uploading
|
|
222
|
+
enable/disable uploading artifacts to VCS releases
|
|
222
223
|
- :ref:`version --vcs-release/--no-vcs-release <cmd-version-option-vcs-release>` - enable/disable VCS release
|
|
223
224
|
creation.
|
|
224
225
|
- `upload-to-gh-release`_, a GitHub Action for running ``semantic-release publish``
|
{python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/migrating_from_v7.rst
RENAMED
|
@@ -8,7 +8,7 @@ The internals have been changed significantly to better support highly-requested
|
|
|
8
8
|
features and to streamline the maintenance of the project.
|
|
9
9
|
|
|
10
10
|
As a result, certain things have been removed, reimplemented differently, or now
|
|
11
|
-
exhibit different
|
|
11
|
+
exhibit different behavior to earlier versions of Python Semantic Release. This
|
|
12
12
|
page is a guide to help projects to ``pip install python-semantic-release>=8.0.0`` with
|
|
13
13
|
fewer surprises.
|
|
14
14
|
|
|
@@ -19,12 +19,12 @@ Python Semantic Release GitHub Action
|
|
|
19
19
|
|
|
20
20
|
.. _breaking-removed-artefact-upload:
|
|
21
21
|
|
|
22
|
-
GitHub Action no longer publishes
|
|
22
|
+
GitHub Action no longer publishes artifacts to PyPI or GitHub Releases
|
|
23
23
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
24
24
|
|
|
25
25
|
Python Semantic Release no longer uploads distributions to PyPI - see
|
|
26
26
|
:ref:`breaking-commands-repurposed-version-and-publish`. If you are
|
|
27
|
-
using Python Semantic Release to publish release notes and
|
|
27
|
+
using Python Semantic Release to publish release notes and artifacts to
|
|
28
28
|
GitHub releases, there is a new GitHub Action `upload-to-gh-release`_
|
|
29
29
|
which will perform this action for you.
|
|
30
30
|
|
|
@@ -143,7 +143,7 @@ Repurposing of ``version`` and ``publish`` commands
|
|
|
143
143
|
"""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
144
144
|
Python Semantic Release's primary purpose is to enable automation of correct semantic
|
|
145
145
|
versioning for software projects. Over the years, this automation has been extended to
|
|
146
|
-
include other actions such as building/publishing the project and its
|
|
146
|
+
include other actions such as building/publishing the project and its artifacts to
|
|
147
147
|
artefact repositories, creating releases in remote version control systems, and writing
|
|
148
148
|
changelogs.
|
|
149
149
|
|
|
@@ -152,9 +152,9 @@ performing every piece of automation provided. This has been changed - the ``ver
|
|
|
152
152
|
command now handles determining the next version, applying the changes to the project
|
|
153
153
|
metadata according to the configuration, writing a changelog, and committing/pushing
|
|
154
154
|
changes to the remote Git repository. It also handles creating a release in the remote
|
|
155
|
-
VCS. It does *not* publish software
|
|
155
|
+
VCS. It does *not* publish software artifacts to remote repositories such as PyPI;
|
|
156
156
|
the rationale behind this decision is simply that under the hood, Python Semantic Release
|
|
157
|
-
used `twine`_ to upload
|
|
157
|
+
used `twine`_ to upload artifacts to package indexes such as PyPI, and it's recommended
|
|
158
158
|
to use twine directly via the command-line. From the twine
|
|
159
159
|
`documentation <https://twine.readthedocs.io/en/stable/contributing.html#architectural-overview>`_:
|
|
160
160
|
|
|
@@ -162,7 +162,7 @@ to use twine directly via the command-line. From the twine
|
|
|
162
162
|
|
|
163
163
|
As a result Python Semantic Release no longer depends on twine internals.
|
|
164
164
|
|
|
165
|
-
The ``publish`` command now handles publishing software
|
|
165
|
+
The ``publish`` command now handles publishing software artifacts to releases in the
|
|
166
166
|
remote version control system.
|
|
167
167
|
|
|
168
168
|
.. _twine: https://twine.readthedocs.io/en/stable
|
|
@@ -477,17 +477,17 @@ tag ``v1.1.4``, you should run::
|
|
|
477
477
|
|
|
478
478
|
semantic-release changelog --post-to-release-tag v1.1.4
|
|
479
479
|
|
|
480
|
-
.. _breaking-changelog-
|
|
480
|
+
.. _breaking-changelog-customization:
|
|
481
481
|
|
|
482
|
-
Changelog
|
|
482
|
+
Changelog customization
|
|
483
483
|
"""""""""""""""""""""""
|
|
484
484
|
|
|
485
|
-
A number of options relevant to
|
|
485
|
+
A number of options relevant to customizing the changelog have been removed. This is
|
|
486
486
|
because Python Semantic Release now supports authoring a completely custom `Jinja`_
|
|
487
487
|
template with the contents of your changelog.
|
|
488
488
|
Historically, the number of options added to Python Semantic Release in order to
|
|
489
|
-
allow this
|
|
490
|
-
fully open up
|
|
489
|
+
allow this customization has grown significantly; it now uses templates in order to
|
|
490
|
+
fully open up customizing the changelog's appearance.
|
|
491
491
|
|
|
492
492
|
.. _Jinja: https://jinja.palletsprojects.com/en/3.1.x/
|
|
493
493
|
|
|
@@ -499,7 +499,7 @@ Configuration
|
|
|
499
499
|
|
|
500
500
|
The configuration structure has been completely reworked, so you should read
|
|
501
501
|
:ref:`configuration` carefully during the process of upgrading to v8+. However,
|
|
502
|
-
some common pitfalls and potential sources of confusion are
|
|
502
|
+
some common pitfalls and potential sources of confusion are summarized here.
|
|
503
503
|
|
|
504
504
|
.. _breaking-configuration-setup-cfg-unsupported:
|
|
505
505
|
|
|
@@ -520,7 +520,7 @@ needs.
|
|
|
520
520
|
.. warning::
|
|
521
521
|
|
|
522
522
|
If you don't already have a ``pyproject.toml`` configuration file, ``pip`` can
|
|
523
|
-
change its
|
|
523
|
+
change its behavior once you add one, as a result of `PEP-517`_. If you find
|
|
524
524
|
that this breaks your packaging, you can add your Python Semantic Release
|
|
525
525
|
configuration to a separate file such as ``semantic-release.toml``, and use
|
|
526
526
|
the :ref:`--config <cmd-main-option-config>` option to reference this alternative
|
|
@@ -539,7 +539,7 @@ Commit parser options
|
|
|
539
539
|
|
|
540
540
|
Options such as ``major_emoji``, ``parser_angular_patch_types`` or
|
|
541
541
|
``parser_angular_default_level_bump`` have been removed. Instead, these have been
|
|
542
|
-
replaced with a single set of
|
|
542
|
+
replaced with a single set of recognized commit parser options, ``allowed_tags``,
|
|
543
543
|
``major_tags``, ``minor_tags``, and ``patch_tags``, though the interpretation of
|
|
544
544
|
these is up to the specific parsers in use. You can read more detail about using
|
|
545
545
|
commit parser options in :ref:`commit_parser_options <config-commit_parser_options>`,
|
{python_semantic_release-9.18.1 → python_semantic_release-9.19.1}/docs/multibranch_releases.rst
RENAMED
|
@@ -45,12 +45,12 @@ a situation may occur in the following scenario:
|
|
|
45
45
|
Suppose that Python Semantic Release has been configured to use the same
|
|
46
46
|
prerelease token ``"alpha"`` for all ``feature-*`` branches, and the default tag
|
|
47
47
|
format ``"v{version}"``. In this case, running a pre-release from branch ``feature-1``
|
|
48
|
-
will
|
|
48
|
+
will recognize that since the last release, ``1.1.0``, a **feature** has been
|
|
49
49
|
introduced and therefore the next tag to be applied to ``feature-1`` will be
|
|
50
50
|
``v1.2.0-alpha.1``.
|
|
51
51
|
|
|
52
52
|
However, suppose we then try to run a release against ``feature-2``. This will also
|
|
53
|
-
|
|
53
|
+
recognize that a **feature** has been introduced against the last released version of
|
|
54
54
|
``v1.1.0`` and therefore will try to create the tag ``v1.2.0-alpha.1``, leading to an
|
|
55
55
|
error as this tag was already created against ``feature-1``.
|
|
56
56
|
|
|
@@ -91,7 +91,7 @@ Each release group is configured as a nested mapping under the
|
|
|
91
91
|
``tool.semantic_release.branches`` key in ``pyproject.toml``, or the equivalent
|
|
92
92
|
structure in other formats. the mapping requires a single key that is used as a
|
|
93
93
|
name for the release group, which can help to identify it in log messages but has
|
|
94
|
-
no effect on the
|
|
94
|
+
no effect on the behavior of the release. For example, Python Semantic Release has
|
|
95
95
|
only one release group by default with the name ``main``.
|
|
96
96
|
|
|
97
97
|
Inside each release group, the following key-value pairs can be set:
|
|
@@ -4,7 +4,7 @@ Strict Mode
|
|
|
4
4
|
===========
|
|
5
5
|
|
|
6
6
|
Strict Mode is enabled by use of the :ref:`strict <cmd-main-option-strict>` parameter
|
|
7
|
-
to the main command for Python Semantic Release. Strict Mode alters the
|
|
7
|
+
to the main command for Python Semantic Release. Strict Mode alters the behavior of
|
|
8
8
|
Python Semantic Release when certain conditions are encountered that prevent Python
|
|
9
9
|
Semantic Release from performing an action. Typically, this will result in a warning
|
|
10
10
|
becoming an error, or a different exit code (0 vs non-zero) being produced when Python
|