From b117ee3d139f422e463ebeb5007517a2052af8a4 Mon Sep 17 00:00:00 2001 From: malmor <62105800+malmor@users.noreply.github.com> Date: Wed, 28 Jan 2026 13:06:43 +0100 Subject: [PATCH 01/14] feat(api): add support for sort filter in runner jobs This commits allows users to configure the 'sort' filter as defined in [1], so that one can fetch the most recent jobs first. [1]: https://docs.gitlab.com/api/runners/#list-all-jobs-processed-by-a-runner --- gitlab/v4/objects/runners.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab/v4/objects/runners.py b/gitlab/v4/objects/runners.py index e4a37e8e3..87b6a8b3c 100644 --- a/gitlab/v4/objects/runners.py +++ b/gitlab/v4/objects/runners.py @@ -38,7 +38,7 @@ class RunnerJobManager(ListMixin[RunnerJob]): _path = "/runners/{runner_id}/jobs" _obj_cls = RunnerJob _from_parent_attrs = {"runner_id": "id"} - _list_filters = ("status",) + _list_filters = ("status", "sort") class Runner(SaveMixin, ObjectDeleteMixin, RESTObject): From 25316d0550afbdd37b600e79070815c915c65524 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Feb 2026 01:15:41 +0000 Subject: [PATCH 02/14] 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 1db179a02..4adfdbb24 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.12.1 + rev: v4.13.0 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.84.0 + rev: 42.95.1 hooks: - id: renovate-config-validator diff --git a/requirements-lint.txt b/requirements-lint.txt index dc670d57e..a70fb2c96 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.12.1 +commitizen==4.13.0 flake8==7.3.0 isort==7.0.0 mypy==1.19.1 From 0086b13cd6c119c56c43ae1aaf49247a838d133d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 2 Feb 2026 01:37:23 +0000 Subject: [PATCH 03/14] chore(deps): update pre-commit hook maxbrunet/pre-commit-renovate to v43 --- .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 4adfdbb24..0e141fe8c 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.95.1 + rev: 43.0.9 hooks: - id: renovate-config-validator From 6151671b2cf11b9c86e8463005ab938162d4ba89 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Feb 2026 00:44:53 +0000 Subject: [PATCH 04/14] chore(deps): update all non-major dependencies --- .pre-commit-config.yaml | 4 ++-- requirements-lint.txt | 2 +- requirements-test.txt | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0e141fe8c..10e0cf70a 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.13.0 + rev: v4.13.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: 43.0.9 + rev: 43.4.3 hooks: - id: renovate-config-validator diff --git a/requirements-lint.txt b/requirements-lint.txt index a70fb2c96..dad6b4822 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.13.0 +commitizen==4.13.6 flake8==7.3.0 isort==7.0.0 mypy==1.19.1 diff --git a/requirements-test.txt b/requirements-test.txt index 875329563..64f2077d6 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.2 +coverage==7.13.3 pytest-console-scripts==1.4.1 pytest-cov==7.0.0 pytest-github-actions-annotate-failures==0.3.0 From f82ae24c82a8349f139d416ec9b494562abb6b1e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 9 Feb 2026 02:22:29 +0000 Subject: [PATCH 05/14] chore(deps): update gitlab/gitlab-ee docker tag to v18.8.3-ee.0 (#3341) 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 c51423c9d..feaeae8b3 100644 --- a/tests/functional/fixtures/.env +++ b/tests/functional/fixtures/.env @@ -1,4 +1,4 @@ GITLAB_IMAGE=gitlab/gitlab-ee -GITLAB_TAG=18.8.2-ee.0 +GITLAB_TAG=18.8.3-ee.0 GITLAB_RUNNER_IMAGE=gitlab/gitlab-runner GITLAB_RUNNER_TAG=96856197 From de116f90294c93ebef321c981a164a6648bbecf8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 02:09:44 +0000 Subject: [PATCH 06/14] chore(deps): update gitlab/gitlab-ee docker tag to v18.8.4-ee.0 (#3348) 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 feaeae8b3..ed558270b 100644 --- a/tests/functional/fixtures/.env +++ b/tests/functional/fixtures/.env @@ -1,4 +1,4 @@ GITLAB_IMAGE=gitlab/gitlab-ee -GITLAB_TAG=18.8.3-ee.0 +GITLAB_TAG=18.8.4-ee.0 GITLAB_RUNNER_IMAGE=gitlab/gitlab-runner GITLAB_RUNNER_TAG=96856197 From 4e01d33cc85cff1ab6fac28ddc6fa52ade0a83b8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 06:03:18 +0000 Subject: [PATCH 07/14] chore(deps): update all non-major dependencies --- .pre-commit-config.yaml | 4 ++-- requirements-lint.txt | 2 +- requirements-test.txt | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 10e0cf70a..8572ab66f 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.13.6 + rev: v4.13.7 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: 43.4.3 + rev: 43.15.2 hooks: - id: renovate-config-validator diff --git a/requirements-lint.txt b/requirements-lint.txt index dad6b4822..0ab2b5aa7 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.13.6 +commitizen==4.13.7 flake8==7.3.0 isort==7.0.0 mypy==1.19.1 diff --git a/requirements-test.txt b/requirements-test.txt index 64f2077d6..57b91c186 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.3 +coverage==7.13.4 pytest-console-scripts==1.4.1 pytest-cov==7.0.0 pytest-github-actions-annotate-failures==0.3.0 @@ -9,5 +9,5 @@ pytest==9.0.2 PyYaml==6.0.3 responses==0.25.8 respx==0.22.0 -trio==0.32.0 +trio==0.33.0 wheel==0.46.3 From 84ad3fd19cfbc236e962ac77c910571b0888c000 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Frederik=20L=C3=A9ger?= Date: Tue, 10 Feb 2026 11:13:44 +0100 Subject: [PATCH 08/14] fix(types): add explicit submodule import for pyright compatibility Add `import gitlab.base` inside the TYPE_CHECKING block in repositories.py so that pyright can resolve `gitlab.base.RESTObject`. Without the explicit import, pyright cannot resolve the submodule access via the parent package (implicit submodule access is a runtime loader side effect that type checkers don't model). This caused `_RestObjectBase` to be `Unknown`, propagating through `RepositoryMixin` into `Project` and other classes. Fixes python-gitlab/python-gitlab#3342 Co-Authored-By: Claude Opus 4.6 --- gitlab/v4/objects/repositories.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gitlab/v4/objects/repositories.py b/gitlab/v4/objects/repositories.py index 71935caaa..a621cda43 100644 --- a/gitlab/v4/objects/repositories.py +++ b/gitlab/v4/objects/repositories.py @@ -17,6 +17,8 @@ if TYPE_CHECKING: # When running mypy we use these as the base classes + import gitlab.base + _RestObjectBase = gitlab.base.RESTObject else: _RestObjectBase = object From b0e064d022f30da2cd9ffa8c2e01f10e1f553108 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 01:49:45 +0000 Subject: [PATCH 09/14] chore(deps): update gitlab/gitlab-ee docker tag to v18.9.0-ee.0 (#3355) 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 ed558270b..8b6ab0604 100644 --- a/tests/functional/fixtures/.env +++ b/tests/functional/fixtures/.env @@ -1,4 +1,4 @@ GITLAB_IMAGE=gitlab/gitlab-ee -GITLAB_TAG=18.8.4-ee.0 +GITLAB_TAG=18.9.0-ee.0 GITLAB_RUNNER_IMAGE=gitlab/gitlab-runner GITLAB_RUNNER_TAG=96856197 From e5fd81dd51fc4a8c8da24da966818308a8ebb5a9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 02:11:41 +0000 Subject: [PATCH 10/14] chore(deps): update all non-major dependencies --- .github/workflows/stale.yml | 2 +- .pre-commit-config.yaml | 6 +++--- requirements-lint.txt | 6 +++--- requirements-test.txt | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index e4fd014a5..167deac9b 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -17,7 +17,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v10.1.1 + - uses: actions/stale@v10.2.0 with: operations-per-run: 500 stale-issue-label: "stale" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8572ab66f..a570cee88 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.13.7 + rev: v4.13.8 hooks: - id: commitizen stages: [commit-msg] @@ -20,7 +20,7 @@ repos: hooks: - id: isort - repo: https://github.com/pycqa/pylint - rev: v4.0.4 + rev: v4.0.5 hooks: - id: pylint additional_dependencies: @@ -51,6 +51,6 @@ repos: - id: rst-directive-colons - id: rst-inline-touching-normal - repo: https://github.com/maxbrunet/pre-commit-renovate - rev: 43.15.2 + rev: 43.31.1 hooks: - id: renovate-config-validator diff --git a/requirements-lint.txt b/requirements-lint.txt index 0ab2b5aa7..97096ef20 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -1,13 +1,13 @@ -r requirements.txt argcomplete==2.0.0 black==26.1.0 -commitizen==4.13.7 +commitizen==4.13.8 flake8==7.3.0 isort==7.0.0 mypy==1.19.1 -pylint==4.0.4 +pylint==4.0.5 pytest==9.0.2 -responses==0.25.8 +responses==0.26.0 respx==0.22.0 types-PyYAML==6.0.12.20250915 types-requests==2.32.4.20260107 diff --git a/requirements-test.txt b/requirements-test.txt index 57b91c186..a5bcbefc5 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -7,7 +7,7 @@ pytest-cov==7.0.0 pytest-github-actions-annotate-failures==0.3.0 pytest==9.0.2 PyYaml==6.0.3 -responses==0.25.8 +responses==0.26.0 respx==0.22.0 trio==0.33.0 wheel==0.46.3 From 14bdc0497df4828908d721567b10946c51527275 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 04:52:32 +0000 Subject: [PATCH 11/14] chore(deps): update dependency isort to v8 --- requirements-lint.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-lint.txt b/requirements-lint.txt index 97096ef20..51fa59ee8 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -3,7 +3,7 @@ argcomplete==2.0.0 black==26.1.0 commitizen==4.13.8 flake8==7.3.0 -isort==7.0.0 +isort==8.0.0 mypy==1.19.1 pylint==4.0.5 pytest==9.0.2 From 0bfaa6b0d5381a9dce8d5c37696188395bb9c08f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Feb 2026 05:43:36 +0000 Subject: [PATCH 12/14] chore(deps): update dependency types-setuptools to v82 --- requirements-lint.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-lint.txt b/requirements-lint.txt index 51fa59ee8..021d12133 100644 --- a/requirements-lint.txt +++ b/requirements-lint.txt @@ -11,4 +11,4 @@ responses==0.26.0 respx==0.22.0 types-PyYAML==6.0.12.20250915 types-requests==2.32.4.20260107 -types-setuptools==80.10.0.20260124 +types-setuptools==82.0.0.20260210 From d5dc73d0f82a15d96a956c1d868c253c9586e1bf Mon Sep 17 00:00:00 2001 From: malmor <62105800+malmor@users.noreply.github.com> Date: Thu, 29 Jan 2026 07:48:30 +0100 Subject: [PATCH 13/14] feat(api): add support for order_by filter in runner jobs This commits adds to the work done in [1]. After reading the docs [2] again, you must define order_by when using sort, so this commits adds this as an additional filter. [1]: https://github.com/python-gitlab/python-gitlab/pull/3336 [2]: https://docs.gitlab.com/api/runners/#list-all-jobs-processed-by-a-runner Signed-off-by: malmor <62105800+malmor@users.noreply.github.com> --- gitlab/v4/objects/runners.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab/v4/objects/runners.py b/gitlab/v4/objects/runners.py index 87b6a8b3c..ba7256cf5 100644 --- a/gitlab/v4/objects/runners.py +++ b/gitlab/v4/objects/runners.py @@ -38,7 +38,7 @@ class RunnerJobManager(ListMixin[RunnerJob]): _path = "/runners/{runner_id}/jobs" _obj_cls = RunnerJob _from_parent_attrs = {"runner_id": "id"} - _list_filters = ("status", "sort") + _list_filters = ("status", "order_by", "sort") class Runner(SaveMixin, ObjectDeleteMixin, RESTObject): From 5294a4862511aed78ed7e5cc45ea6424b5f48825 Mon Sep 17 00:00:00 2001 From: semantic-release Date: Sat, 28 Feb 2026 01:26:08 +0000 Subject: [PATCH 14/14] chore: release v8.1.0 --- CHANGELOG.md | 16 ++++++++++++++++ gitlab/_version.py | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dca7acc04..7168b6f88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ All versions below are listed in reverse chronological order. +## v8.1.0 (2026-02-28) + +### Bug Fixes + +- **types**: Add explicit submodule import for pyright compatibility + ([`84ad3fd`](https://github.com/python-gitlab/python-gitlab/commit/84ad3fd19cfbc236e962ac77c910571b0888c000)) + +### Features + +- **api**: Add support for order_by filter in runner jobs + ([`d5dc73d`](https://github.com/python-gitlab/python-gitlab/commit/d5dc73d0f82a15d96a956c1d868c253c9586e1bf)) + +- **api**: Add support for sort filter in runner jobs + ([`b117ee3`](https://github.com/python-gitlab/python-gitlab/commit/b117ee3d139f422e463ebeb5007517a2052af8a4)) + + ## v8.0.0 (2026-01-28) ### Bug Fixes diff --git a/gitlab/_version.py b/gitlab/_version.py index cf0655911..9ec122c99 100644 --- a/gitlab/_version.py +++ b/gitlab/_version.py @@ -3,4 +3,4 @@ __email__ = "gauvainpocentek@gmail.com" __license__ = "LGPL3" __title__ = "python-gitlab" -__version__ = "8.0.0" +__version__ = "8.1.0"