Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-python-gitlab for
openSUSE:Factory checked in at 2026-02-03 21:34:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-python-gitlab (Old)
and /work/SRC/openSUSE:Factory/.python-python-gitlab.new.1995 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-python-gitlab"
Tue Feb 3 21:34:55 2026 rev:29 rq:1330760 version:8.0.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-python-gitlab/python-python-gitlab.changes
2026-01-13 21:35:34.470499216 +0100
+++
/work/SRC/openSUSE:Factory/.python-python-gitlab.new.1995/python-python-gitlab.changes
2026-02-03 21:36:04.396145605 +0100
@@ -1,0 +2,15 @@
+Wed Jan 28 06:36:38 UTC 2026 - Johannes Kastl
<[email protected]>
+
+- update to 8.0.0:
+ * Bug Fixes
+ - Actually define project repr_attr (4187a69)
+ - File save start_branch as a body attribute (1001d93)
+ * Chores
+ - black: Run black v26 on code (4a8d82b)
+ - precommit: Update dependency black to v26 (ad43b76)
+ * Features
+ - graphql: Update to gql 4.0.0 (6f0da67)
+ * Breaking Changes
+ - graphql: GraphQL.execute() no longer accepts graphql.Source
+
+-------------------------------------------------------------------
Old:
----
python_gitlab-7.1.0.tar.gz
New:
----
python_gitlab-8.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-python-gitlab.spec ++++++
--- /var/tmp/diff_new_pack.TBMfms/_old 2026-02-03 21:36:05.464190491 +0100
+++ /var/tmp/diff_new_pack.TBMfms/_new 2026-02-03 21:36:05.464190491 +0100
@@ -17,7 +17,7 @@
Name: python-python-gitlab
-Version: 7.1.0
+Version: 8.0.0
Release: 0
Summary: Python module for interacting with the GitLab API
License: LGPL-3.0-only
@@ -34,7 +34,7 @@
BuildRequires: %{python_module PyYAML >= 6.0.1}
# relax constraint, as Tumbleweed already has 3.x
BuildRequires: %{python_module argcomplete >= 1.10.0 with %python-argcomplete
< 4 }
-BuildRequires: %{python_module gql >= 3.5.0 with %python-gql < 4 }
+BuildRequires: %{python_module gql >= 3.5.0 with %python-gql < 5 }
BuildRequires: %{python_module requests >= 2.32.0}
BuildRequires: %{python_module requests-toolbelt >= 1.0.0}
# /SECTION
@@ -51,7 +51,7 @@
Requires: python-requests-toolbelt >= 1.0.0
# relax constraint, as Tumbleweed already has 3.x
Requires: (python-argcomplete >= 1.10.0 with python-argcomplete < 4)
-Requires: (python-gql >= 3.5.2 with python-gql < 4)
+Requires: (python-gql >= 3.5.2 with python-gql < 5)
# /SECTION
Requires(post): update-alternatives
Requires(postun): update-alternatives
++++++ python_gitlab-7.1.0.tar.gz -> python_gitlab-8.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/CHANGELOG.md
new/python_gitlab-8.0.0/CHANGELOG.md
--- old/python_gitlab-7.1.0/CHANGELOG.md 2025-12-28 02:26:37.000000000
+0100
+++ new/python_gitlab-8.0.0/CHANGELOG.md 2026-01-28 02:22:03.000000000
+0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/PKG-INFO
new/python_gitlab-8.0.0/PKG-INFO
--- old/python_gitlab-7.1.0/PKG-INFO 2025-12-28 02:26:43.908252500 +0100
+++ new/python_gitlab-8.0.0/PKG-INFO 2026-01-28 02:22:09.971166400 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: python-gitlab
-Version: 7.1.0
+Version: 8.0.0
Summary: The python wrapper for the GitLab REST and GraphQL APIs.
Author-email: Gauvain Pocentek <[email protected]>
Maintainer-email: John Villalovos <[email protected]>, Max Wittig
<[email protected]>, Nejc Habjan <[email protected]>, Roger Meier
<[email protected]>
@@ -35,7 +35,7 @@
Provides-Extra: yaml
Requires-Dist: PyYaml>=6.0.1; extra == "yaml"
Provides-Extra: graphql
-Requires-Dist: gql[httpx]<4,>=3.5.0; extra == "graphql"
+Requires-Dist: gql[httpx]<5,>=3.5.0; extra == "graphql"
Dynamic: license-file
python-gitlab
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/gitlab/_version.py
new/python_gitlab-8.0.0/gitlab/_version.py
--- old/python_gitlab-7.1.0/gitlab/_version.py 2025-12-28 02:26:37.000000000
+0100
+++ new/python_gitlab-8.0.0/gitlab/_version.py 2026-01-28 02:22:03.000000000
+0100
@@ -3,4 +3,4 @@
__email__ = "[email protected]"
__license__ = "LGPL3"
__title__ = "python-gitlab"
-__version__ = "7.1.0"
+__version__ = "8.0.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/gitlab/cli.py
new/python_gitlab-8.0.0/gitlab/cli.py
--- old/python_gitlab-7.1.0/gitlab/cli.py 2025-12-28 02:26:27.000000000
+0100
+++ new/python_gitlab-8.0.0/gitlab/cli.py 2026-01-28 02:21:53.000000000
+0100
@@ -334,7 +334,7 @@
# 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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/gitlab/client.py
new/python_gitlab-8.0.0/gitlab/client.py
--- old/python_gitlab-7.1.0/gitlab/client.py 2025-12-28 02:26:27.000000000
+0100
+++ new/python_gitlab-8.0.0/gitlab/client.py 2026-01-28 02:21:53.000000000
+0100
@@ -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 __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 __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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/gitlab/v4/objects/files.py
new/python_gitlab-8.0.0/gitlab/v4/objects/files.py
--- old/python_gitlab-7.1.0/gitlab/v4/objects/files.py 2025-12-28
02:26:27.000000000 +0100
+++ new/python_gitlab-8.0.0/gitlab/v4/objects/files.py 2026-01-28
02:21:53.000000000 +0100
@@ -29,6 +29,7 @@
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 @@
# 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 @@
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 @@
"""
self.branch = branch
self.commit_message = commit_message
+ self.start_branch = start_branch
self.file_path = utils.EncodedId(self.file_path)
super().save(**kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/gitlab/v4/objects/projects.py
new/python_gitlab-8.0.0/gitlab/v4/objects/projects.py
--- old/python_gitlab-7.1.0/gitlab/v4/objects/projects.py 2025-12-28
02:26:27.000000000 +0100
+++ new/python_gitlab-8.0.0/gitlab/v4/objects/projects.py 2026-01-28
02:21:53.000000000 +0100
@@ -178,6 +178,8 @@
_repr_attr = "path_with_namespace"
_upload_path = "/projects/{id}/uploads"
+ path_with_namespace: str
+
access_tokens: ProjectAccessTokenManager
accessrequests: ProjectAccessRequestManager
additionalstatistics: ProjectAdditionalStatisticsManager
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/pyproject.toml
new/python_gitlab-8.0.0/pyproject.toml
--- old/python_gitlab-7.1.0/pyproject.toml 2025-12-28 02:26:27.000000000
+0100
+++ new/python_gitlab-8.0.0/pyproject.toml 2026-01-28 02:21:53.000000000
+0100
@@ -43,7 +43,7 @@
[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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/python_gitlab.egg-info/PKG-INFO
new/python_gitlab-8.0.0/python_gitlab.egg-info/PKG-INFO
--- old/python_gitlab-7.1.0/python_gitlab.egg-info/PKG-INFO 2025-12-28
02:26:43.000000000 +0100
+++ new/python_gitlab-8.0.0/python_gitlab.egg-info/PKG-INFO 2026-01-28
02:22:09.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: python-gitlab
-Version: 7.1.0
+Version: 8.0.0
Summary: The python wrapper for the GitLab REST and GraphQL APIs.
Author-email: Gauvain Pocentek <[email protected]>
Maintainer-email: John Villalovos <[email protected]>, Max Wittig
<[email protected]>, Nejc Habjan <[email protected]>, Roger Meier
<[email protected]>
@@ -35,7 +35,7 @@
Provides-Extra: yaml
Requires-Dist: PyYaml>=6.0.1; extra == "yaml"
Provides-Extra: graphql
-Requires-Dist: gql[httpx]<4,>=3.5.0; extra == "graphql"
+Requires-Dist: gql[httpx]<5,>=3.5.0; extra == "graphql"
Dynamic: license-file
python-gitlab
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_gitlab-7.1.0/python_gitlab.egg-info/requires.txt
new/python_gitlab-8.0.0/python_gitlab.egg-info/requires.txt
--- old/python_gitlab-7.1.0/python_gitlab.egg-info/requires.txt 2025-12-28
02:26:43.000000000 +0100
+++ new/python_gitlab-8.0.0/python_gitlab.egg-info/requires.txt 2026-01-28
02:22:09.000000000 +0100
@@ -5,7 +5,7 @@
argcomplete<3,>=1.10.0
[graphql]
-gql[httpx]<4,>=3.5.0
+gql[httpx]<5,>=3.5.0
[yaml]
PyYaml>=6.0.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/requirements-docs.txt
new/python_gitlab-8.0.0/requirements-docs.txt
--- old/python_gitlab-7.1.0/requirements-docs.txt 2025-12-28
02:26:27.000000000 +0100
+++ new/python_gitlab-8.0.0/requirements-docs.txt 2026-01-28
02:21:53.000000000 +0100
@@ -1,7 +1,7 @@
-r requirements.txt
furo==2025.12.19
jinja2==3.1.6
-myst-parser==4.0.1
-sphinx==8.2.3
+myst-parser==5.0.0
+sphinx==9.1.0
sphinxcontrib-autoprogram==0.1.9
sphinx-autobuild==2025.8.25
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/requirements-lint.txt
new/python_gitlab-8.0.0/requirements-lint.txt
--- old/python_gitlab-7.1.0/requirements-lint.txt 2025-12-28
02:26:27.000000000 +0100
+++ new/python_gitlab-8.0.0/requirements-lint.txt 2026-01-28
02:21:53.000000000 +0100
@@ -1,7 +1,7 @@
-r requirements.txt
argcomplete==2.0.0
-black==25.12.0
-commitizen==4.10.1
+black==26.1.0
+commitizen==4.12.1
flake8==7.3.0
isort==7.0.0
mypy==1.19.1
@@ -10,5 +10,5 @@
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-requests==2.32.4.20260107
+types-setuptools==80.10.0.20260124
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/requirements-test.txt
new/python_gitlab-8.0.0/requirements-test.txt
--- old/python_gitlab-7.1.0/requirements-test.txt 2025-12-28
02:26:27.000000000 +0100
+++ new/python_gitlab-8.0.0/requirements-test.txt 2026-01-28
02:21:53.000000000 +0100
@@ -1,7 +1,7 @@
-r requirements.txt
-anyio==4.12.0
-build==1.3.0
-coverage==7.13.0
+anyio==4.12.1
+build==1.4.0
+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 @@
responses==0.25.8
respx==0.22.0
trio==0.32.0
-wheel==0.45.1
+wheel==0.46.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/requirements.txt
new/python_gitlab-8.0.0/requirements.txt
--- old/python_gitlab-7.1.0/requirements.txt 2025-12-28 02:26:27.000000000
+0100
+++ new/python_gitlab-8.0.0/requirements.txt 2026-01-28 02:21:53.000000000
+0100
@@ -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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python_gitlab-7.1.0/tests/functional/cli/test_cli_artifacts.py
new/python_gitlab-8.0.0/tests/functional/cli/test_cli_artifacts.py
--- old/python_gitlab-7.1.0/tests/functional/cli/test_cli_artifacts.py
2025-12-28 02:26:27.000000000 +0100
+++ new/python_gitlab-8.0.0/tests/functional/cli/test_cli_artifacts.py
2026-01-28 02:21:53.000000000 +0100
@@ -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 -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/tests/functional/fixtures/.env
new/python_gitlab-8.0.0/tests/functional/fixtures/.env
--- old/python_gitlab-7.1.0/tests/functional/fixtures/.env 2025-12-28
02:26:27.000000000 +0100
+++ new/python_gitlab-8.0.0/tests/functional/fixtures/.env 2026-01-28
02:21:53.000000000 +0100
@@ -1,4 +1,4 @@
GITLAB_IMAGE=gitlab/gitlab-ee
-GITLAB_TAG=18.7.0-ee.0
+GITLAB_TAG=18.8.2-ee.0
GITLAB_RUNNER_IMAGE=gitlab/gitlab-runner
GITLAB_RUNNER_TAG=96856197
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python_gitlab-7.1.0/tests/unit/test_config.py
new/python_gitlab-8.0.0/tests/unit/test_config.py
--- old/python_gitlab-7.1.0/tests/unit/test_config.py 2025-12-28
02:26:27.000000000 +0100
+++ new/python_gitlab-8.0.0/tests/unit/test_config.py 2026-01-28
02:21:53.000000000 +0100
@@ -268,28 +268,22 @@
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 @@
@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