From c6901a2d9b6c13cadae6c9314582253e45301b72 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Dec 2025 01:14:05 +0000 Subject: [PATCH 01/18] chore(deps): update all non-major dependencies --- .pre-commit-config.yaml | 2 +- requirements-lint.txt | 2 +- requirements-test.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3b93e8655..714fdfb98 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -51,6 +51,6 @@ repos: - id: rst-directive-colons - id: rst-inline-touching-normal - repo: https://github.com/maxbrunet/pre-commit-renovate - rev: 42.64.1 + rev: 42.66.11 hooks: - id: renovate-config-validator diff --git a/requirements-lint.txt b/requirements-lint.txt index 5006460d1..440d2aac8 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -11,4 +11,4 @@ responses==0.25.8 respx==0.22.0 types-PyYAML==6.0.12.20250915 types-requests==2.32.4.20250913 -types-setuptools==80.9.0.20251221 +types-setuptools==80.9.0.20251223 diff --git a/requirements-test.txt b/requirements-test.txt index b06434452..df8e6f47a 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,7 +1,7 @@ -r requirements.txt anyio==4.12.0 build==1.3.0 -coverage==7.13.0 +coverage==7.13.1 pytest-console-scripts==1.4.1 pytest-cov==7.0.0 pytest-github-actions-annotate-failures==0.3.0 From 6f0da671b4586b23232ae89d57622254fa8a7945 Mon Sep 17 00:00:00 2001 From: Derek Schrock Date: Sun, 24 Aug 2025 20:27:38 -0400 Subject: [PATCH 02/18] feat(graphql): update to gql 4.0.0 BREAKING CHANGE: GraphQL.execute() no longer accepts graphql.Source --- .pre-commit-config.yaml | 4 ++-- gitlab/client.py | 7 ++----- pyproject.toml | 2 +- requirements.txt | 2 +- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 714fdfb98..b9c06a408 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -25,7 +25,7 @@ repos: - id: pylint additional_dependencies: - argcomplete==2.0.0 - - gql==3.5.0 + - gql==4.0.0 - httpx==0.27.2 - pytest==7.4.2 - requests==2.28.1 @@ -37,7 +37,7 @@ repos: - id: mypy args: [] additional_dependencies: - - gql==3.5.0 + - gql==4.0.0 - httpx==0.27.2 - jinja2==3.1.2 - pytest==7.4.2 diff --git a/gitlab/client.py b/gitlab/client.py index 37dd4c2e6..a3cf1f31a 100644 --- a/gitlab/client.py +++ b/gitlab/client.py @@ -18,7 +18,6 @@ try: import gql import gql.transport.exceptions - import graphql import httpx from ._backends.graphql import GitlabAsyncTransport, GitlabTransport @@ -1350,7 +1349,7 @@ def __enter__(self) -> GraphQL: def __exit__(self, *args: Any) -> None: self._http_client.close() - def execute(self, request: str | graphql.Source, *args: Any, **kwargs: Any) -> Any: + def execute(self, request: str, *args: Any, **kwargs: Any) -> Any: parsed_document = self._gql(request) retry = utils.Retry( max_retries=self._max_retries, @@ -1420,9 +1419,7 @@ async def __aenter__(self) -> AsyncGraphQL: async def __aexit__(self, *args: Any) -> None: await self._http_client.aclose() - async def execute( - self, request: str | graphql.Source, *args: Any, **kwargs: Any - ) -> Any: + async def execute(self, request: str, *args: Any, **kwargs: Any) -> Any: parsed_document = self._gql(request) retry = utils.Retry( max_retries=self._max_retries, diff --git a/pyproject.toml b/pyproject.toml index 7b8510b94..45e8c36f8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,7 +43,7 @@ dynamic = ["version"] [project.optional-dependencies] autocompletion = ["argcomplete>=1.10.0,<3"] yaml = ["PyYaml>=6.0.1"] -graphql = ["gql[httpx]>=3.5.0,<4"] +graphql = ["gql[httpx]>=3.5.0,<5"] [project.scripts] gitlab = "gitlab.cli:main" diff --git a/requirements.txt b/requirements.txt index 6930e5d2c..d51e14533 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -gql==3.5.3 +gql==4.0.0 httpx==0.28.1 requests==2.32.5 requests-toolbelt==1.0.0 From d8d8e7fea38a499b61940609207245872a327204 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Jan 2026 02:53:00 +0000 Subject: [PATCH 03/18] chore(deps): update all non-major dependencies --- .pre-commit-config.yaml | 4 ++-- requirements-lint.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b9c06a408..79fd2c69c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: hooks: - id: black - repo: https://github.com/commitizen-tools/commitizen - rev: v4.10.1 + rev: v4.11.1 hooks: - id: commitizen stages: [commit-msg] @@ -51,6 +51,6 @@ repos: - id: rst-directive-colons - id: rst-inline-touching-normal - repo: https://github.com/maxbrunet/pre-commit-renovate - rev: 42.66.11 + rev: 42.71.0 hooks: - id: renovate-config-validator diff --git a/requirements-lint.txt b/requirements-lint.txt index 440d2aac8..cf8092fb1 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -1,7 +1,7 @@ -r requirements.txt argcomplete==2.0.0 black==25.12.0 -commitizen==4.10.1 +commitizen==4.11.0 flake8==7.3.0 isort==7.0.0 mypy==1.19.1 From 825b3784eae3c4c26423d9e97a9ccfc662c646ea Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Jan 2026 01:14:34 +0000 Subject: [PATCH 04/18] chore(deps): update gitlab/gitlab-ee docker tag to v18.7.1-ee.0 (#3321) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tests/functional/fixtures/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/functional/fixtures/.env b/tests/functional/fixtures/.env index f33c35752..91f187a12 100644 --- a/tests/functional/fixtures/.env +++ b/tests/functional/fixtures/.env @@ -1,4 +1,4 @@ GITLAB_IMAGE=gitlab/gitlab-ee -GITLAB_TAG=18.7.0-ee.0 +GITLAB_TAG=18.7.1-ee.0 GITLAB_RUNNER_IMAGE=gitlab/gitlab-runner GITLAB_RUNNER_TAG=96856197 From 22243f6e7e11f32047502dd1dc2b3f9f75ff379a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Jan 2026 04:56:17 +0000 Subject: [PATCH 05/18] chore(deps): update all non-major dependencies --- .pre-commit-config.yaml | 2 +- requirements-lint.txt | 2 +- requirements-test.txt | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 79fd2c69c..e3c989e3f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -51,6 +51,6 @@ repos: - id: rst-directive-colons - id: rst-inline-touching-normal - repo: https://github.com/maxbrunet/pre-commit-renovate - rev: 42.71.0 + rev: 42.78.2 hooks: - id: renovate-config-validator diff --git a/requirements-lint.txt b/requirements-lint.txt index cf8092fb1..1e0713a35 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -10,5 +10,5 @@ pytest==9.0.2 responses==0.25.8 respx==0.22.0 types-PyYAML==6.0.12.20250915 -types-requests==2.32.4.20250913 +types-requests==2.32.4.20260107 types-setuptools==80.9.0.20251223 diff --git a/requirements-test.txt b/requirements-test.txt index df8e6f47a..e1e2b5d81 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,6 +1,6 @@ -r requirements.txt -anyio==4.12.0 -build==1.3.0 +anyio==4.12.1 +build==1.4.0 coverage==7.13.1 pytest-console-scripts==1.4.1 pytest-cov==7.0.0 From ae0c9e5c247a1e89d171da2c197aba9b0916297c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 Jan 2026 00:34:16 +0000 Subject: [PATCH 06/18] chore(deps): update all non-major dependencies --- .pre-commit-config.yaml | 4 ++-- requirements-lint.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e3c989e3f..ef93b5552 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: hooks: - id: black - repo: https://github.com/commitizen-tools/commitizen - rev: v4.11.1 + rev: v4.11.6 hooks: - id: commitizen stages: [commit-msg] @@ -51,6 +51,6 @@ repos: - id: rst-directive-colons - id: rst-inline-touching-normal - repo: https://github.com/maxbrunet/pre-commit-renovate - rev: 42.78.2 + rev: 42.84.0 hooks: - id: renovate-config-validator diff --git a/requirements-lint.txt b/requirements-lint.txt index 1e0713a35..063d7364f 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -1,7 +1,7 @@ -r requirements.txt argcomplete==2.0.0 black==25.12.0 -commitizen==4.11.0 +commitizen==4.11.6 flake8==7.3.0 isort==7.0.0 mypy==1.19.1 From c56c87f17405c7139ed7717f652a25917f9c1889 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 Jan 2026 03:19:30 +0000 Subject: [PATCH 07/18] chore(deps): update gitlab/gitlab-ee docker tag to v18.8.0-ee.0 (#3326) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tests/functional/fixtures/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/functional/fixtures/.env b/tests/functional/fixtures/.env index 91f187a12..617457fdc 100644 --- a/tests/functional/fixtures/.env +++ b/tests/functional/fixtures/.env @@ -1,4 +1,4 @@ GITLAB_IMAGE=gitlab/gitlab-ee -GITLAB_TAG=18.7.1-ee.0 +GITLAB_TAG=18.8.0-ee.0 GITLAB_RUNNER_IMAGE=gitlab/gitlab-runner GITLAB_RUNNER_TAG=96856197 From 5003ac6b5add3cffd94dff118a39c0fb26d69285 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 Jan 2026 04:54:57 +0000 Subject: [PATCH 08/18] chore(deps): update dependency myst-parser to v5 --- requirements-docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-docs.txt b/requirements-docs.txt index 8d756d4f1..d706f1605 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -1,7 +1,7 @@ -r requirements.txt furo==2025.12.19 jinja2==3.1.6 -myst-parser==4.0.1 +myst-parser==5.0.0 sphinx==8.2.3 sphinxcontrib-autoprogram==0.1.9 sphinx-autobuild==2025.8.25 From 1358e4574ebc539d8c0418c889d46c0d50e64470 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 Jan 2026 06:18:38 +0000 Subject: [PATCH 09/18] chore(deps): update dependency sphinx to v9 --- requirements-docs.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-docs.txt b/requirements-docs.txt index d706f1605..1c445092a 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -2,6 +2,6 @@ furo==2025.12.19 jinja2==3.1.6 myst-parser==5.0.0 -sphinx==8.2.3 +sphinx==9.1.0 sphinxcontrib-autoprogram==0.1.9 sphinx-autobuild==2025.8.25 From 39975d5cdae48e2f38cffa58057a4469c855e90e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 Jan 2026 06:38:35 +0000 Subject: [PATCH 10/18] chore(deps): update dependency black to v26 --- requirements-lint.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-lint.txt b/requirements-lint.txt index 063d7364f..c559885b2 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -1,6 +1,6 @@ -r requirements.txt argcomplete==2.0.0 -black==25.12.0 +black==26.1.0 commitizen==4.11.6 flake8==7.3.0 isort==7.0.0 From 4a8d82bec8f09fa142e8134589a0f40ef4f9c3be Mon Sep 17 00:00:00 2001 From: "John L. Villalovos" Date: Mon, 19 Jan 2026 09:39:33 -0800 Subject: [PATCH 11/18] chore(black): run black v26 on code black changed how some code was formatted in v26 --- gitlab/cli.py | 2 +- tests/functional/cli/test_cli_artifacts.py | 6 ++---- tests/unit/test_config.py | 22 ++++++---------------- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/gitlab/cli.py b/gitlab/cli.py index ca4734190..c804911a1 100644 --- a/gitlab/cli.py +++ b/gitlab/cli.py @@ -334,7 +334,7 @@ def main() -> None: # This first parsing step is used to find the gitlab config to use, and # load the propermodule (v3 or v4) accordingly. At that point we don't have # any subparser setup - (options, _) = parser.parse_known_args(sys.argv) + options, _ = parser.parse_known_args(sys.argv) try: config = gitlab.config.GitlabConfigParser(options.gitlab, options.config_file) except gitlab.config.ConfigError as e: diff --git a/tests/functional/cli/test_cli_artifacts.py b/tests/functional/cli/test_cli_artifacts.py index 589486844..9fe4d01ef 100644 --- a/tests/functional/cli/test_cli_artifacts.py +++ b/tests/functional/cli/test_cli_artifacts.py @@ -7,14 +7,12 @@ import pytest -content = textwrap.dedent( - """\ +content = textwrap.dedent("""\ test-artifact: script: echo "test" > artifact.txt artifacts: untracked: true - """ -) + """) data = { "file_path": ".gitlab-ci.yml", "branch": "main", diff --git a/tests/unit/test_config.py b/tests/unit/test_config.py index 32b9c9ef9..b8470f22b 100644 --- a/tests/unit/test_config.py +++ b/tests/unit/test_config.py @@ -268,28 +268,22 @@ def test_ssl_verify_as_str(m_open, monkeypatch): def test_data_from_helper(m_open, monkeypatch, tmp_path): helper = tmp_path / "helper.sh" helper.write_text( - dedent( - """\ + dedent("""\ #!/bin/sh echo "secret" - """ - ), + """), encoding="utf-8", ) helper.chmod(0o755) - fd = io.StringIO( - dedent( - f"""\ + fd = io.StringIO(dedent(f"""\ [global] default = helper [helper] url = https://helper.url oauth_token = helper: {helper} - """ - ) - ) + """)) fd.close = mock.Mock(return_value=None) m_open.return_value = fd @@ -306,18 +300,14 @@ def test_data_from_helper(m_open, monkeypatch, tmp_path): @pytest.mark.skipif(sys.platform.startswith("win"), reason="Not supported on Windows") def test_from_helper_subprocess_error_raises_error(m_open, monkeypatch): # using false here to force a non-zero return code - fd = io.StringIO( - dedent( - """\ + fd = io.StringIO(dedent("""\ [global] default = helper [helper] url = https://helper.url oauth_token = helper: false - """ - ) - ) + """)) fd.close = mock.Mock(return_value=None) m_open.return_value = fd From 1001d934e8c36cc3b14408b46b41030bf705a294 Mon Sep 17 00:00:00 2001 From: Nick Brown Date: Tue, 20 Jan 2026 10:40:31 +0000 Subject: [PATCH 12/18] fix: file save start_branch as a body attribute Passing `start_branch` as kwargs results in it being passed as query argument to the API: ``` send: b'PUT /api/v4/projects/12345678/repository/files/readme.txt?start_branch=main send: b'{"file_path": "readme.txt", "branch": "new_branch", "content": "Modified contents", "commit_message": "File was modified for this new branch"}' ``` which results in error being returned: ``` {"message":"You can only create or edit files when you are on a branch"} ``` It should instead be sent a body attribute, which succeeds in creating the branch during the save. To be sent as body attribute it must be specified as concrete function argument and class attribute instead of just using kwargs Closes: #3318 --- gitlab/v4/objects/files.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gitlab/v4/objects/files.py b/gitlab/v4/objects/files.py index 757d16eeb..3bcf931a2 100644 --- a/gitlab/v4/objects/files.py +++ b/gitlab/v4/objects/files.py @@ -29,6 +29,7 @@ class ProjectFile(SaveMixin, ObjectDeleteMixin, RESTObject): file_path: str manager: ProjectFileManager content: str # since the `decode()` method uses `self.content` + start_branch: str | None = None def decode(self) -> bytes: """Returns the decoded content of the file. @@ -41,7 +42,11 @@ def decode(self) -> bytes: # NOTE(jlvillal): Signature doesn't match SaveMixin.save() so ignore # type error def save( # type: ignore[override] - self, branch: str, commit_message: str, **kwargs: Any + self, + branch: str, + commit_message: str, + start_branch: str | None = None, + **kwargs: Any, ) -> None: """Save the changes made to the file to the server. @@ -50,6 +55,7 @@ def save( # type: ignore[override] Args: branch: Branch in which the file will be updated commit_message: Message to send with the commit + start_branch: Name of the branch to start the new branch from **kwargs: Extra options to send to the server (e.g. sudo) Raises: @@ -58,6 +64,7 @@ def save( # type: ignore[override] """ self.branch = branch self.commit_message = commit_message + self.start_branch = start_branch self.file_path = utils.EncodedId(self.file_path) super().save(**kwargs) From 4187a69420dd7b2e60c2d833ab246aec745d35cb Mon Sep 17 00:00:00 2001 From: Nick Brown Date: Tue, 20 Jan 2026 10:50:12 +0000 Subject: [PATCH 13/18] fix: actually define project repr_attr While `_repr_attr=` is given to specify the attribute to use to repr the object, that object attribute itself is not actually defined, so tools like PyRight/MyPy complain that: ``` Type of "path_with_namespace" is unknown ``` --- gitlab/v4/objects/projects.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gitlab/v4/objects/projects.py b/gitlab/v4/objects/projects.py index 035b9b861..751ac4c1f 100644 --- a/gitlab/v4/objects/projects.py +++ b/gitlab/v4/objects/projects.py @@ -178,6 +178,8 @@ class Project( _repr_attr = "path_with_namespace" _upload_path = "/projects/{id}/uploads" + path_with_namespace: str + access_tokens: ProjectAccessTokenManager accessrequests: ProjectAccessRequestManager additionalstatistics: ProjectAdditionalStatisticsManager From e7d1fbba003a040615dd8120c553701b668285dd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 23 Jan 2026 21:43:05 +0000 Subject: [PATCH 14/18] chore(deps): update dependency wheel to v0.46.2 [security] --- requirements-test.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-test.txt b/requirements-test.txt index e1e2b5d81..4a253eb6b 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -10,4 +10,4 @@ PyYaml==6.0.3 responses==0.25.8 respx==0.22.0 trio==0.32.0 -wheel==0.45.1 +wheel==0.46.2 From 3bcc42a694afbf9f25c0b107d817342cf0379fd4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 26 Jan 2026 01:59:53 +0000 Subject: [PATCH 15/18] chore(deps): update gitlab/gitlab-ee docker tag to v18.8.2-ee.0 (#3334) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tests/functional/fixtures/.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/functional/fixtures/.env b/tests/functional/fixtures/.env index 617457fdc..c51423c9d 100644 --- a/tests/functional/fixtures/.env +++ b/tests/functional/fixtures/.env @@ -1,4 +1,4 @@ GITLAB_IMAGE=gitlab/gitlab-ee -GITLAB_TAG=18.8.0-ee.0 +GITLAB_TAG=18.8.2-ee.0 GITLAB_RUNNER_IMAGE=gitlab/gitlab-runner GITLAB_RUNNER_TAG=96856197 From ad43b763acdcd8d7db832972921fb071ea0a826f Mon Sep 17 00:00:00 2001 From: "John L. Villalovos" Date: Mon, 26 Jan 2026 08:05:14 -0800 Subject: [PATCH 16/18] chore(precommit): update dependency black to v26 Prior commit 39975d5cdae48e2f38cffa58057a4469c855e90e updated black to v26 but did not update `.pre-commit-config.yaml`. This resolves that. --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ef93b5552..36c90ae7c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ default_language_version: repos: - repo: https://github.com/psf/black - rev: 25.12.0 + rev: 26.1.0 hooks: - id: black - repo: https://github.com/commitizen-tools/commitizen From 4440d0ca0f9d31acf80db7f26b567bba206f6ebc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 26 Jan 2026 16:24:20 +0000 Subject: [PATCH 17/18] chore(deps): update all non-major dependencies --- .github/workflows/docs.yml | 8 ++++---- .github/workflows/lint.yml | 4 ++-- .github/workflows/pre_commit.yml | 4 ++-- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 20 ++++++++++---------- .pre-commit-config.yaml | 2 +- requirements-lint.txt | 4 ++-- requirements-test.txt | 4 ++-- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 90f7d3fd5..899f8fabf 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -22,9 +22,9 @@ jobs: sphinx: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v6.0.1 + - uses: actions/checkout@v6.0.2 - name: Set up Python - uses: actions/setup-python@v6.1.0 + uses: actions/setup-python@v6.2.0 with: python-version: "3.14" - name: Install dependencies @@ -37,9 +37,9 @@ jobs: twine-check: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v6.0.1 + - uses: actions/checkout@v6.0.2 - name: Set up Python - uses: actions/setup-python@v6.1.0 + uses: actions/setup-python@v6.2.0 with: python-version: "3.14" - name: Install dependencies diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 01bee8a33..7a0dd38dc 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -22,10 +22,10 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6.0.1 + - uses: actions/checkout@v6.0.2 with: fetch-depth: 0 - - uses: actions/setup-python@v6.1.0 + - uses: actions/setup-python@v6.2.0 with: python-version: "3.14" - run: pip install --upgrade tox diff --git a/.github/workflows/pre_commit.yml b/.github/workflows/pre_commit.yml index 4be228d66..993606750 100644 --- a/.github/workflows/pre_commit.yml +++ b/.github/workflows/pre_commit.yml @@ -29,8 +29,8 @@ jobs: pre_commit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6.0.1 - - uses: actions/setup-python@v6.1.0 + - uses: actions/checkout@v6.0.2 + - uses: actions/setup-python@v6.2.0 with: python-version: "3.14" - name: install tox diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ff04716dd..01829b244 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -14,7 +14,7 @@ jobs: id-token: write environment: pypi.org steps: - - uses: actions/checkout@v6.0.1 + - uses: actions/checkout@v6.0.2 with: fetch-depth: 0 token: ${{ secrets.RELEASE_GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0f2af115e..397559d31 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,9 +46,9 @@ jobs: version: "3.14" toxenv: py314,smoke steps: - - uses: actions/checkout@v6.0.1 + - uses: actions/checkout@v6.0.2 - name: Set up Python ${{ matrix.python.version }} - uses: actions/setup-python@v6.1.0 + uses: actions/setup-python@v6.2.0 with: python-version: ${{ matrix.python.version }} - name: Install dependencies @@ -65,9 +65,9 @@ jobs: matrix: toxenv: [api_func_v4, cli_func_v4] steps: - - uses: actions/checkout@v6.0.1 + - uses: actions/checkout@v6.0.2 - name: Set up Python - uses: actions/setup-python@v6.1.0 + uses: actions/setup-python@v6.2.0 with: python-version: "3.14" - name: Install dependencies @@ -87,9 +87,9 @@ jobs: coverage: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v6.0.1 + - uses: actions/checkout@v6.0.2 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6.1.0 + uses: actions/setup-python@v6.2.0 with: python-version: "3.14" - name: Install dependencies @@ -111,8 +111,8 @@ jobs: runs-on: ubuntu-latest name: Python wheel steps: - - uses: actions/checkout@v6.0.1 - - uses: actions/setup-python@v6.1.0 + - uses: actions/checkout@v6.0.2 + - uses: actions/setup-python@v6.2.0 with: python-version: "3.14" - name: Install dependencies @@ -129,9 +129,9 @@ jobs: runs-on: ubuntu-latest needs: [dist] steps: - - uses: actions/checkout@v6.0.1 + - uses: actions/checkout@v6.0.2 - name: Set up Python - uses: actions/setup-python@v6.1.0 + uses: actions/setup-python@v6.2.0 with: python-version: '3.14' - uses: actions/download-artifact@v7.0.0 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 36c90ae7c..1db179a02 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,7 +7,7 @@ repos: hooks: - id: black - repo: https://github.com/commitizen-tools/commitizen - rev: v4.11.6 + rev: v4.12.1 hooks: - id: commitizen stages: [commit-msg] diff --git a/requirements-lint.txt b/requirements-lint.txt index c559885b2..dc670d57e 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -1,7 +1,7 @@ -r requirements.txt argcomplete==2.0.0 black==26.1.0 -commitizen==4.11.6 +commitizen==4.12.1 flake8==7.3.0 isort==7.0.0 mypy==1.19.1 @@ -11,4 +11,4 @@ responses==0.25.8 respx==0.22.0 types-PyYAML==6.0.12.20250915 types-requests==2.32.4.20260107 -types-setuptools==80.9.0.20251223 +types-setuptools==80.10.0.20260124 diff --git a/requirements-test.txt b/requirements-test.txt index 4a253eb6b..875329563 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,7 +1,7 @@ -r requirements.txt anyio==4.12.1 build==1.4.0 -coverage==7.13.1 +coverage==7.13.2 pytest-console-scripts==1.4.1 pytest-cov==7.0.0 pytest-github-actions-annotate-failures==0.3.0 @@ -10,4 +10,4 @@ PyYaml==6.0.3 responses==0.25.8 respx==0.22.0 trio==0.32.0 -wheel==0.46.2 +wheel==0.46.3 From 425d0d5787f986ebbd980f4a8f638662132aa0bf Mon Sep 17 00:00:00 2001 From: semantic-release Date: Wed, 28 Jan 2026 01:22:03 +0000 Subject: [PATCH 18/18] chore: release v8.0.0 --- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ gitlab/_version.py | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef85c5019..dca7acc04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,34 @@ All versions below are listed in reverse chronological order. +## v8.0.0 (2026-01-28) + +### Bug Fixes + +- Actually define project repr_attr + ([`4187a69`](https://github.com/python-gitlab/python-gitlab/commit/4187a69420dd7b2e60c2d833ab246aec745d35cb)) + +- File save start_branch as a body attribute + ([`1001d93`](https://github.com/python-gitlab/python-gitlab/commit/1001d934e8c36cc3b14408b46b41030bf705a294)) + +### Chores + +- **black**: Run black v26 on code + ([`4a8d82b`](https://github.com/python-gitlab/python-gitlab/commit/4a8d82bec8f09fa142e8134589a0f40ef4f9c3be)) + +- **precommit**: Update dependency black to v26 + ([`ad43b76`](https://github.com/python-gitlab/python-gitlab/commit/ad43b763acdcd8d7db832972921fb071ea0a826f)) + +### Features + +- **graphql**: Update to gql 4.0.0 + ([`6f0da67`](https://github.com/python-gitlab/python-gitlab/commit/6f0da671b4586b23232ae89d57622254fa8a7945)) + +### Breaking Changes + +- **graphql**: GraphQL.execute() no longer accepts graphql.Source + + ## v7.1.0 (2025-12-28) ### Bug Fixes diff --git a/gitlab/_version.py b/gitlab/_version.py index 8305f3a6c..cf0655911 100644 --- a/gitlab/_version.py +++ b/gitlab/_version.py @@ -3,4 +3,4 @@ __email__ = "gauvainpocentek@gmail.com" __license__ = "LGPL3" __title__ = "python-gitlab" -__version__ = "7.1.0" +__version__ = "8.0.0"