python-semantic-release 9.8.5__py3-none-any.whl → 9.8.7__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-semantic-release
3
- Version: 9.8.5
3
+ Version: 9.8.7
4
4
  Summary: Automatic Semantic Versioning for Python projects
5
5
  Author-email: Rolf Erik Lekang <me@rolflekang.com>
6
6
  License: MIT
@@ -20,45 +20,44 @@ Requires-Python: >=3.8
20
20
  Description-Content-Type: text/x-rst
21
21
  License-File: LICENSE
22
22
  License-File: AUTHORS.rst
23
- Requires-Dist: click ~=8.0
24
- Requires-Dist: click-option-group ~=0.5
25
- Requires-Dist: gitpython ~=3.0
26
- Requires-Dist: requests ~=2.25
27
- Requires-Dist: jinja2 ~=3.1
28
- Requires-Dist: python-gitlab ~=4.0
29
- Requires-Dist: tomlkit ~=0.11
30
- Requires-Dist: dotty-dict ~=1.3
31
- Requires-Dist: importlib-resources ~=6.0
32
- Requires-Dist: pydantic ~=2.0
33
- Requires-Dist: rich ~=13.0
34
- Requires-Dist: shellingham ~=1.5
23
+ Requires-Dist: click~=8.0
24
+ Requires-Dist: click-option-group~=0.5
25
+ Requires-Dist: gitpython~=3.0
26
+ Requires-Dist: requests~=2.25
27
+ Requires-Dist: jinja2~=3.1
28
+ Requires-Dist: python-gitlab~=4.0
29
+ Requires-Dist: tomlkit~=0.11
30
+ Requires-Dist: dotty-dict~=1.3
31
+ Requires-Dist: importlib-resources~=6.0
32
+ Requires-Dist: pydantic~=2.0
33
+ Requires-Dist: rich~=13.0
34
+ Requires-Dist: shellingham~=1.5
35
35
  Provides-Extra: build
36
- Requires-Dist: build ~=1.2 ; extra == 'build'
36
+ Requires-Dist: build~=1.2; extra == "build"
37
37
  Provides-Extra: dev
38
- Requires-Dist: pre-commit ~=3.5 ; extra == 'dev'
39
- Requires-Dist: tox ~=4.11 ; extra == 'dev'
40
- Requires-Dist: ruff ==0.5.0 ; extra == 'dev'
38
+ Requires-Dist: pre-commit~=3.5; extra == "dev"
39
+ Requires-Dist: tox~=4.11; extra == "dev"
40
+ Requires-Dist: ruff==0.5.0; extra == "dev"
41
41
  Provides-Extra: docs
42
- Requires-Dist: Sphinx ~=6.0 ; extra == 'docs'
43
- Requires-Dist: sphinxcontrib-apidoc ==0.5.0 ; extra == 'docs'
44
- Requires-Dist: sphinx-autobuild ==2024.2.4 ; extra == 'docs'
45
- Requires-Dist: furo ~=2024.1 ; extra == 'docs'
42
+ Requires-Dist: Sphinx~=6.0; extra == "docs"
43
+ Requires-Dist: sphinxcontrib-apidoc==0.5.0; extra == "docs"
44
+ Requires-Dist: sphinx-autobuild==2024.2.4; extra == "docs"
45
+ Requires-Dist: furo~=2024.1; extra == "docs"
46
46
  Provides-Extra: mypy
47
- Requires-Dist: mypy ==1.10.1 ; extra == 'mypy'
48
- Requires-Dist: types-requests ~=2.32.0 ; extra == 'mypy'
47
+ Requires-Dist: mypy==1.10.1; extra == "mypy"
48
+ Requires-Dist: types-requests~=2.32.0; extra == "mypy"
49
49
  Provides-Extra: test
50
- Requires-Dist: coverage[toml] ~=7.0 ; extra == 'test'
51
- Requires-Dist: pytest ~=7.0 ; extra == 'test'
52
- Requires-Dist: pytest-env ~=1.0 ; extra == 'test'
53
- Requires-Dist: pytest-xdist ~=3.0 ; extra == 'test'
54
- Requires-Dist: pytest-mock ~=3.0 ; extra == 'test'
55
- Requires-Dist: pytest-lazy-fixture ~=0.6.3 ; extra == 'test'
56
- Requires-Dist: pytest-cov ~=5.0 ; extra == 'test'
57
- Requires-Dist: pytest-pretty ~=1.2 ; extra == 'test'
58
- Requires-Dist: pytest-clarity ~=1.0 ; extra == 'test'
59
- Requires-Dist: responses ~=0.25.0 ; extra == 'test'
60
- Requires-Dist: requests-mock ~=1.10 ; extra == 'test'
61
- Requires-Dist: types-pytest-lazy-fixture ~=0.6.3 ; extra == 'test'
50
+ Requires-Dist: coverage[toml]~=7.0; extra == "test"
51
+ Requires-Dist: pytest~=8.3; extra == "test"
52
+ Requires-Dist: pytest-env~=1.0; extra == "test"
53
+ Requires-Dist: pytest-xdist~=3.0; extra == "test"
54
+ Requires-Dist: pytest-mock~=3.0; extra == "test"
55
+ Requires-Dist: pytest-lazy-fixtures~=1.1.1; extra == "test"
56
+ Requires-Dist: pytest-cov~=5.0; extra == "test"
57
+ Requires-Dist: pytest-pretty~=1.2; extra == "test"
58
+ Requires-Dist: pytest-clarity~=1.0; extra == "test"
59
+ Requires-Dist: responses~=0.25.0; extra == "test"
60
+ Requires-Dist: requests-mock~=1.10; extra == "test"
62
61
 
63
62
  Python Semantic Release
64
63
  ***********************
@@ -1,4 +1,4 @@
1
- semantic_release/__init__.py,sha256=blL7pv_bzsszX08mfPgx5FgX1CIfqZ15ib-FGb8fxEA,1228
1
+ semantic_release/__init__.py,sha256=CHf-pFIva6q4dn3OU-H_rF-3-hnxCcSRbfqtg70papo,1228
2
2
  semantic_release/__main__.py,sha256=blPn7CMpuSe4Z-GBIDv0QA0OEDTMGU-7edsLRkkhPR4,120
3
3
  semantic_release/const.py,sha256=Z1o2QNh60wSLeF-_1TemMBjU3ZXbV0XghnUFsbTVfOs,831
4
4
  semantic_release/enums.py,sha256=D5B_reQGGKQQT22HO5PUtvn2Bok3fkht6TfJtXkmAUg,1020
@@ -10,7 +10,7 @@ semantic_release/changelog/context.py,sha256=8cbOv9cB9Ji7xjRn4-YUUHBfg9LLfSwmmXu
10
10
  semantic_release/changelog/release_history.py,sha256=9gJxqOKPF9HjmOdXW-k-dWbe2YGWxqZEOWSSef-qwoE,7050
11
11
  semantic_release/changelog/template.py,sha256=JqZcjdozM9-059Sa8PfiHxYNeyZFa0jxk_beyRLv5sU,4640
12
12
  semantic_release/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- semantic_release/cli/changelog_writer.py,sha256=Ga8QAq12kUD-fWWlrFoQCpn1pOzZmHnaCeZfFbBytFo,5027
13
+ semantic_release/cli/changelog_writer.py,sha256=OVuRI7RTMsMGIaxyEN4kb8N4j08OHNvSyRyj6iBR_ME,5162
14
14
  semantic_release/cli/cli_context.py,sha256=23eyV6KWIpUckUSWILEd7t9dixp-QCY5-kGZnyucEYY,4114
15
15
  semantic_release/cli/config.py,sha256=NAKOqLAc8NV0oL9XxAUPz2FWwS89Bjz8aKSCsRmQsvw,23661
16
16
  semantic_release/cli/const.py,sha256=S8oNNpSaKdZxcAs7PAKEjQHic0czoJBGd7XHo57FOzw,39
@@ -18,11 +18,11 @@ semantic_release/cli/github_actions_output.py,sha256=Wy4jEIpSFgoMyJqq4FD7scIpgov
18
18
  semantic_release/cli/masking_filter.py,sha256=DxqjiJyABlzwwwZ1r8JGQpb6QrF00StJFm0-2-s5Fv0,3071
19
19
  semantic_release/cli/util.py,sha256=FyXaBkeL7nXKjy3X9rQLEwvn7p46xPekp2V8Z-5MVrk,3755
20
20
  semantic_release/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
- semantic_release/cli/commands/changelog.py,sha256=zincrvCBwMb7S3K3udRcArtQCuGkree-7IEzNtvF42A,3489
21
+ semantic_release/cli/commands/changelog.py,sha256=bqnJwv0pgvEOroZEMixEa8IUby-cvgIirXRz31FlnV0,3716
22
22
  semantic_release/cli/commands/generate_config.py,sha256=2xZOu3NpyhBp0pWr7d8ugKl_kjqQgpSsSMHq5wHTfrE,1699
23
23
  semantic_release/cli/commands/main.py,sha256=kqO8bZw9Nv6T5QkIl53zzmH2rd4LuLoA8agweH0VYPY,4022
24
24
  semantic_release/cli/commands/publish.py,sha256=SZQlIewvqyIC14dkIIVVFetE0tPsKbO1cUyxnZsicrw,2845
25
- semantic_release/cli/commands/version.py,sha256=sgyIGF62XR2hLAKuyXMdA8OI5OEaQky-kaSoWJYlBBQ,24110
25
+ semantic_release/cli/commands/version.py,sha256=yTvnRIjBf5KtxK9nIdwAQdRCBxCfPdAwOFlhGD7N6xQ,24336
26
26
  semantic_release/commit_parser/__init__.py,sha256=cv5HFBdw7OJd4Laj4Ex8ZZ5Tml8GwXgQcXW6Pasr2Ao,615
27
27
  semantic_release/commit_parser/_base.py,sha256=t-Z9ALgAe7aZpYXz1mk3Fe-uAvipgKdNrq4Okg_WW9c,3026
28
28
  semantic_release/commit_parser/angular.py,sha256=ERWeTBTFNIBOaTIopY4Vff0KbeFwrSQWbADe3smVW-8,4579
@@ -47,10 +47,10 @@ semantic_release/version/algorithm.py,sha256=ofx_bIWq6ptJVr-ekI11IzxzDEctDKFiVwa
47
47
  semantic_release/version/declaration.py,sha256=f6Ld7hIhrqvDrRBapJHr-KDimuyo-4IG8009Zu9BIgU,7357
48
48
  semantic_release/version/translator.py,sha256=P1noIsVBn8u6zNOFjG0xKYOWapxqf_PHSMvMeLJ9kXg,3050
49
49
  semantic_release/version/version.py,sha256=6PCtSbLP88U1daoxnCwHc--YguZo4waGNLqJ5JfeczE,14175
50
- python_semantic_release-9.8.5.dist-info/AUTHORS.rst,sha256=XOReVvpymEFUPsS2QPH97jlfJBVrxwS2eu8-jVAe4gk,230
51
- python_semantic_release-9.8.5.dist-info/LICENSE,sha256=NE85nszX252sdQdu0xgS9qwfYES0k8qS6gW3uO4jRGE,1083
52
- python_semantic_release-9.8.5.dist-info/METADATA,sha256=TjNY6oQvBuham-GTQSZyLa0uIXkrm4LZnPGwyqPF1SI,5404
53
- python_semantic_release-9.8.5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
54
- python_semantic_release-9.8.5.dist-info/entry_points.txt,sha256=6bS6euSagjerp7onDtfI9_ZpczWreZF3gjHfGAegkbo,123
55
- python_semantic_release-9.8.5.dist-info/top_level.txt,sha256=qYA24nyg3eP-ti5UW7Vuj2aXVmM0wqVHx4mREdRZNAA,17
56
- python_semantic_release-9.8.5.dist-info/RECORD,,
50
+ python_semantic_release-9.8.7.dist-info/AUTHORS.rst,sha256=XOReVvpymEFUPsS2QPH97jlfJBVrxwS2eu8-jVAe4gk,230
51
+ python_semantic_release-9.8.7.dist-info/LICENSE,sha256=NE85nszX252sdQdu0xgS9qwfYES0k8qS6gW3uO4jRGE,1083
52
+ python_semantic_release-9.8.7.dist-info/METADATA,sha256=HNy8cB01r5f5MpEDhjrjhpWHi2zX__M7m40EpE0m-BE,5284
53
+ python_semantic_release-9.8.7.dist-info/WHEEL,sha256=eOLhNAGa2EW3wWl_TU484h7q1UNgy0JXjjoqKoxAAQc,92
54
+ python_semantic_release-9.8.7.dist-info/entry_points.txt,sha256=6bS6euSagjerp7onDtfI9_ZpczWreZF3gjHfGAegkbo,123
55
+ python_semantic_release-9.8.7.dist-info/top_level.txt,sha256=qYA24nyg3eP-ti5UW7Vuj2aXVmM0wqVHx4mREdRZNAA,17
56
+ python_semantic_release-9.8.7.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: bdist_wheel (0.44.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -24,7 +24,7 @@ from semantic_release.version import (
24
24
  tags_and_versions,
25
25
  )
26
26
 
27
- __version__ = "9.8.5"
27
+ __version__ = "9.8.7"
28
28
 
29
29
  __all__ = [
30
30
  "CommitParser",
@@ -149,6 +149,7 @@ def generate_release_notes(
149
149
  hvcs_client: HvcsBase,
150
150
  release: Release,
151
151
  template_dir: Path,
152
+ history: ReleaseHistory,
152
153
  ) -> str:
153
154
  release_notes_env = ReleaseNotesContext(
154
155
  repo_name=hvcs_client.repo_name,
@@ -163,6 +164,11 @@ def generate_release_notes(
163
164
  environment(template_dir=template_dir)
164
165
  )
165
166
 
167
+ # TODO: Remove in v10
168
+ release_notes_env.globals["context"] = {
169
+ "history": history,
170
+ }
171
+
166
172
  return render_release_notes(
167
173
  release_notes_template=get_release_notes_template(template_dir),
168
174
  template_env=release_notes_env,
@@ -34,7 +34,9 @@ def post_release_notes(
34
34
  "\n",
35
35
  [
36
36
  f"would have posted the following release notes for tag {release_tag}:",
37
- release_notes,
37
+ # Escape square brackets to ensure all content is displayed in the console
38
+ # (i.e. prevent interpretation of ansi escape sequences that is valid markdown)
39
+ release_notes.replace("[", "\\["),
38
40
  ],
39
41
  )
40
42
  )
@@ -112,7 +114,8 @@ def changelog(cli_ctx: CliContextObj, release_tag: str | None) -> None:
112
114
  release_notes = generate_release_notes(
113
115
  hvcs_client,
114
116
  release,
115
- template_dir=runtime.template_dir,
117
+ runtime.template_dir,
118
+ release_history,
116
119
  )
117
120
 
118
121
  try:
@@ -4,6 +4,7 @@ import logging
4
4
  import os
5
5
  import subprocess
6
6
  import sys
7
+ from collections import defaultdict
7
8
  from datetime import datetime
8
9
  from typing import TYPE_CHECKING
9
10
 
@@ -160,8 +161,17 @@ def shell(
160
161
  if not shell:
161
162
  raise TypeError("'shell' is None")
162
163
 
164
+ shell_cmd_param = defaultdict(
165
+ lambda: "-c",
166
+ {
167
+ "cmd": "/c",
168
+ "powershell": "-Command",
169
+ "pwsh": "-Command",
170
+ },
171
+ )
172
+
163
173
  return subprocess.run( # noqa: S603
164
- [shell, "-c" if shell != "cmd" else "/c", cmd],
174
+ [shell, shell_cmd_param[shell], cmd],
165
175
  env=(env or {}),
166
176
  check=check,
167
177
  )
@@ -701,7 +711,8 @@ def version( # noqa: C901
701
711
  release_notes = generate_release_notes(
702
712
  hvcs_client,
703
713
  release_history.released[new_version],
704
- template_dir=runtime.template_dir,
714
+ runtime.template_dir,
715
+ history=release_history,
705
716
  )
706
717
 
707
718
  exception: Exception | None = None