From 5b8890cc252168e783e9d8d5cc957bc2e903a6aa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Jul 2026 11:26:24 -0700 Subject: [PATCH 1/8] build(deps-dev): extend `types-requests` mypy dependency to include `2.33+` (#1460) Co-authored-by: codejedi365 Signed-off-by: codejedi365 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 63229986f..8d3386a19 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -91,7 +91,7 @@ dev = [ mypy = [ "mypy >= 1.14.1, < 2.0.0", "types-Deprecated ~= 1.2", - "types-requests ~= 2.32.0", + "types-requests >= 2.32.0, < 3.0.0", "types-pyyaml ~= 6.0", ] From 98e8d632eba60797fcc64bab86dc7ab71ea27908 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Jul 2026 11:43:30 -0700 Subject: [PATCH 2/8] build(deps-dev): extend `setuptools` dependency range to include `v84.0+` (#1462) Signed-off-by: codejedi365 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8d3386a19..eddc37b59 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ # Ref: https://packaging.python.org/en/latest/specifications/declaring-project-metadata/ # and https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html [build-system] -requires = ["setuptools >= 75.3.0, < 83.0.0", "wheel ~= 0.42"] +requires = ["setuptools >= 75.3.0, < 84.0.0", "wheel ~= 0.42"] build-backend = "setuptools.build_meta" [project] From 429588da71dfc7bd88ff27618cec2fe843dedd7c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Jul 2026 11:45:52 -0700 Subject: [PATCH 3/8] build(deps): bump `tomlkit` requirement to `~=0.15.0` (#1463) Signed-off-by: codejedi365 --- pyproject.toml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index eddc37b59..91fa67568 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,7 +33,8 @@ dependencies = [ "requests ~= 2.25", "jinja2 ~= 3.1", "python-gitlab >= 4.0.0, < 9.0.0", - "tomlkit ~= 0.13.0", + "tomlkit ~= 0.13.0; python_version == '3.8'", + "tomlkit ~= 0.15.0; python_version >= '3.9'", "dotty-dict ~= 1.3", "importlib-resources ~= 6.0", "pydantic ~= 2.0", @@ -57,7 +58,8 @@ repository = "http://github.com/python-semantic-release/python-semantic-release. [project.optional-dependencies] build = [ "build ~= 1.2", - "tomlkit ~= 0.13.0", + "tomlkit ~= 0.13.0; python_version == '3.8'", + "tomlkit ~= 0.15.0; python_version >= '3.9'", ] docs = [ "Sphinx ~= 7.4", From 59fea4f231bd84c5af58785d9fd487cbcf8d3407 Mon Sep 17 00:00:00 2001 From: codejedi365 Date: Sun, 12 Jul 2026 12:15:01 -0600 Subject: [PATCH 4/8] build(deps): adjust `importlib` use to maintain 3.8 support --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 91fa67568..e05f9860a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ dependencies = [ "tomlkit ~= 0.13.0; python_version == '3.8'", "tomlkit ~= 0.15.0; python_version >= '3.9'", "dotty-dict ~= 1.3", - "importlib-resources ~= 6.0", + "importlib-resources ~= 6.0; python_version == '3.8'", # add backport for Python 3.8 "pydantic ~= 2.0", "rich ~= 14.0", "shellingham ~= 1.5", From df34b8943a8baffbe34be776c2664084508fb65f Mon Sep 17 00:00:00 2001 From: codejedi365 Date: Sun, 12 Jul 2026 12:15:49 -0600 Subject: [PATCH 5/8] test: refactor for chosing correct importlib when needed --- tests/fixtures/example_project.py | 7 +++++-- .../semantic_release/changelog/test_default_changelog.py | 7 +++++-- .../unit/semantic_release/changelog/test_release_notes.py | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/tests/fixtures/example_project.py b/tests/fixtures/example_project.py index bf1bf6307..50a717429 100644 --- a/tests/fixtures/example_project.py +++ b/tests/fixtures/example_project.py @@ -9,8 +9,11 @@ import pytest import tomlkit -# NOTE: use backport with newer API -from importlib_resources import files +try: + from importlib.resources import files # type: ignore[attr-defined] +except ImportError: + # NOTE: for 3.8, use backport with newer API than stdlib + from importlib_resources import files import semantic_release from semantic_release.cli.config import ( diff --git a/tests/unit/semantic_release/changelog/test_default_changelog.py b/tests/unit/semantic_release/changelog/test_default_changelog.py index 6e42f7fad..1eefe69db 100644 --- a/tests/unit/semantic_release/changelog/test_default_changelog.py +++ b/tests/unit/semantic_release/changelog/test_default_changelog.py @@ -5,8 +5,11 @@ import pytest -# NOTE: use backport with newer API -from importlib_resources import files +try: + from importlib.resources import files # type: ignore[attr-defined] +except ImportError: + # NOTE: for 3.8, use backport with newer API than stdlib + from importlib_resources import files import semantic_release from semantic_release.changelog.context import ChangelogMode, make_changelog_context diff --git a/tests/unit/semantic_release/changelog/test_release_notes.py b/tests/unit/semantic_release/changelog/test_release_notes.py index 02f217bf1..600d8199e 100644 --- a/tests/unit/semantic_release/changelog/test_release_notes.py +++ b/tests/unit/semantic_release/changelog/test_release_notes.py @@ -8,8 +8,11 @@ import pytest -# NOTE: use backport with newer API to support 3.7 -from importlib_resources import files +try: + from importlib.resources import files # type: ignore[attr-defined] +except ImportError: + # NOTE: for 3.8, use backport with newer API than stdlib + from importlib_resources import files import semantic_release from semantic_release.cli.changelog_writer import generate_release_notes From de32322705866a2af7629150456acec162a1f7fb Mon Sep 17 00:00:00 2001 From: codejedi365 Date: Sun, 12 Jul 2026 12:16:42 -0600 Subject: [PATCH 6/8] refactor(cmd-changelog): adjust import to chosing appropriate importlib when needed --- src/semantic_release/cli/changelog_writer.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/semantic_release/cli/changelog_writer.py b/src/semantic_release/cli/changelog_writer.py index 65e387896..b61f70367 100644 --- a/src/semantic_release/cli/changelog_writer.py +++ b/src/semantic_release/cli/changelog_writer.py @@ -5,8 +5,11 @@ from pathlib import Path from typing import TYPE_CHECKING -# NOTE: use backport with newer API than stdlib -from importlib_resources import files +try: + from importlib.resources import files # type: ignore[attr-defined] +except ImportError: + # NOTE: for 3.8, use backport with newer API than stdlib + from importlib_resources import files import semantic_release from semantic_release.changelog.context import ( From abd942d71c077e012eb49c43e094c9bf4a352a44 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 12 Jul 2026 12:13:23 -0700 Subject: [PATCH 7/8] build(deps): bump `rich` requirement from `v14.0+` to `v15.0+` (#1464) Signed-off-by: codejedi365 --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index e05f9860a..1073f26c1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,7 +38,8 @@ dependencies = [ "dotty-dict ~= 1.3", "importlib-resources ~= 6.0; python_version == '3.8'", # add backport for Python 3.8 "pydantic ~= 2.0", - "rich ~= 14.0", + "rich ~= 14.0; python_version == '3.8'", + "rich ~= 15.0; python_version >= '3.9'", "shellingham ~= 1.5", "Deprecated ~= 1.2", # Backport of deprecated decorator for python 3.8 ] From c74aa3b99de6d9c721f8bd6d2abfa142298b94c9 Mon Sep 17 00:00:00 2001 From: codejedi365 Date: Sun, 12 Jul 2026 13:51:16 -0600 Subject: [PATCH 8/8] refactor(deps): adjust dependency paradigm to maximize compatibility (#1466) --- pyproject.toml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1073f26c1..47160bae9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,12 +27,16 @@ authors = [ { name = "codejedi365", email = "codejedi365@gmail.com" }, ] dependencies = [ - "click >= 8.1.0, < 9.0.0", - "click-option-group ~= 0.5", + "click ~= 8.1.0; python_version == '3.8'", + "click ~= 8.1.0; python_version == '3.9'", + "click ~= 8.1.0, < 8.5.0; python_version >= '3.10'", + "click-option-group ~= 0.5.0", "gitpython ~= 3.0", "requests ~= 2.25", "jinja2 ~= 3.1", - "python-gitlab >= 4.0.0, < 9.0.0", + "python-gitlab ~= 4.0; python_version == '3.8'", + "python-gitlab >= 4.0.0, < 7.0.0; python_version == '3.9'", + "python-gitlab >= 4.0.0, < 9.0.0; python_version >= '3.10'", "tomlkit ~= 0.13.0; python_version == '3.8'", "tomlkit ~= 0.15.0; python_version >= '3.9'", "dotty-dict ~= 1.3",