Skip to content

Releases: python-gitlab/python-gitlab

v5.1.0

28 Nov 00:59
Compare
Choose a tag to compare

v5.1.0 (2024-11-28)

Chores

  • deps: Update all non-major dependencies (9061647)

  • deps: Update gitlab/gitlab-ee docker tag to v17.6.0-ee.0 (#3044, 79113d9)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • deps: Update all non-major dependencies (62da12a)

  • deps: Update gitlab/gitlab-ee docker tag to v17.5.2-ee.0 (#3041, d39129b)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

  • deps: Update pre-commit hook maxbrunet/pre-commit-renovate to v39 (11458e0)

  • deps: Update all non-major dependencies (7e62136)

  • deps: Update dependency pytest-cov to v6 (ffa88b3)

  • deps: Update all non-major dependencies (d4b52e7)

  • deps: Update all non-major dependencies (541a7e3)

  • deps: Update gitlab/gitlab-ee docker tag to v17.5.1-ee.0 (8111f49)

Features

  • api: Get single project approval rule (029695d)

  • cli: Enable token rotation via CLI (0cb8171)

  • const: Add new Planner role to access levels (bdc8852)

  • api: Support list and delete for group service accounts (#2963, 499243b)

  • files: Add support for more optional flags (f51cd52)

GitLab's Repository Files API supports additional flags that weren't implemented before. Notably, the "start_branch" flag is particularly useful, as previously one had to use the "project-branch" command alongside "project-file" to add a file on a separate branch.

[1] https://docs.gitlab.com/ee/api/repository_files.html

v5.0.0

28 Oct 00:59
Compare
Choose a tag to compare

v5.0.0 (2024-10-28)

Breaking

  • feat: remove support for Python 3.8, require 3.9 or higher (#3005)

Python 3.8 is End-of-Life (EOL) as of 2024-10 as stated in
https://devguide.python.org/versions/ and
https://peps.python.org/pep-0569/#lifespan

By dropping support for Python 3.8 and requiring Python 3.9 or higher
it allows python-gitlab to take advantage of new features in Python
3.9, which are documented at:
https://docs.python.org/3/whatsnew/3.9.html

Closes: #2968

BREAKING CHANGE: As of python-gitlab 5.0.0, Python 3.8 is no longer
supported. Python 3.9 or higher is required. (9734ad4)

Bug Fixes

  • fix(api): set _repr_attr for project approval rules to name attr (#3011)

Co-authored-by: Patrick Evans patrick.evans@gehealthcare.com (1a68f1c)

Chores

  • chore: add testing of Python 3.14

Also fix annotations not working in Python 3.14 by using the
annotation on the 'class' instead of on the 'instance'

Closes: #3013 (14d2a82)

  • chore(deps): update dependency ubuntu to v24 (6fda15d)

  • chore(deps): update all non-major dependencies (1e4326b)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17.5.0-ee.0 (c02a392)

  • chore: add Python 3.13 as supported (#3012)

Mark that Python 3.13 is supported.

Use Python 3.13 for the Mac and Windows tests.

Also remove the 'py38' tox environment. We no longer support Python 3.8. (b565e78)

  • chore: remove "v3" question from issue template (#3017)

python-gitlab hasn't supported the GitLab v3 API since 2018. The last
version of python-gitlab to support it was v1.4

Support was removed in:

commit fe89b94
Author: Gauvain Pocentek gauvain@pocentek.net
Date: Sat May 19 17:10:08 2018 +0200

Drop API v3 support

Drop the code, the tests, and update the documentation. ([`482f2fe`](https://github.com/python-gitlab/python-gitlab/commit/482f2fe6ccae9239b3a010a70969d8d887cdb6b6))
  • chore(deps): update all non-major dependencies (b3834dc)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17.4.2-ee.0 (1cdfe40)

Documentation

Testing

  • test: add test for to_json() method

This should get us to 100% test coverage on gitlab/base.py (f4bfe19)

v4.13.0

08 Oct 13:28
Compare
Choose a tag to compare

v4.13.0 (2024-10-08)

Chore

  • chore(deps): update dependency pre-commit to v4 (#3008)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> (5c27546)

  • chore(deps): update all non-major dependencies (c3efb37)

Feature

  • feat(api): add support for project Pages API (0ee0e02)

v4.12.2

01 Oct 17:19
Compare
Choose a tag to compare

v4.12.2 (2024-10-01)

Fix

  • fix: raise GitlabHeadError in project.files.head() method (#3006)

When an error occurs, raise GitlabHeadError in
project.files.head() method.

Closes: #3004 (9bf26df)

v4.12.1

30 Sep 17:36
Compare
Choose a tag to compare

v4.12.1 (2024-09-30)

Chore

  • chore(deps): update all non-major dependencies (#3000)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> (d3da326)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17.4.1-ee.0 (64eed5d)

Fix

  • fix(ci): do not rely on GitLab.com runner arch variables (#3003) (c848d12)

  • fix(files): correctly raise GitlabGetError in get method (190ec89)

v4.12.0

28 Sep 00:55
Compare
Choose a tag to compare

v4.12.0 (2024-09-28)

Chore

  • chore(deps): update all non-major dependencies (ae132e7)

  • chore: update pylint to 3.3.1 and resolve issues (#2997)

pylint 3.3.1 appears to have added "too-many-positional-arguments"
check with a value of 5.

I don't disagree with this, but we have many functions which exceed
this value. We might think about converting some of positional
arguments over to keyword arguments in the future. But that is for
another time.

For now disable the check across the project. (a0729b8)

  • chore(deps): update dependency types-setuptools to v75 (a2ab54c)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17.4.0-ee.0 (8601808)

  • chore(deps): update all non-major dependencies (10ee58a)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17.3.2-ee.0 (5cd1ab2)

Feature

  • feat(build): build multi-arch images (#2987) (29f617d)

  • feat: introduce related_issues to merge requests (#2996) (174d992)

Fix

  • fix(api): head requests for projectfilemanager (#2977)

  • fix(api): head requests for projectfilemanager


Co-authored-by: Patrick Evans <patrick.evans@gehealthcare.com>
Co-authored-by: Nejc Habjan <hab.nejc@gmail.com> (96a18b0)

v4.11.1

13 Sep 13:32
Compare
Choose a tag to compare

v4.11.1 (2024-09-13)

Fix

  • fix(client): ensure type evaluations are postponed (b41b2de)

v4.11.0

13 Sep 12:28
Compare
Choose a tag to compare

v4.11.0 (2024-09-13)

Chore

  • chore(pre-commit): add deps (fe5e608)

  • chore(deps): update all non-major dependencies (fac8bf9)

  • chore(deps): update dependency types-setuptools to v74 (bdfaddb)

  • chore(deps): update all non-major dependencies (88c7529)

Documentation

  • docs(objects): fix typo in get latest pipeline (b9f5c12)

Feature

  • feat(client): make retries configurable in GraphQL (145870e)

  • feat(client): add retry handling to GraphQL client (8898c38)

  • feat(api): add exclusive GET attrs for /projects/:id/members (e637808)

  • feat: add a minimal GraphQL client (d6b1b0a)

  • feat(api): add exclusive GET attrs for /groups/:id/members (d44ddd2)

Refactor

  • refactor(client): move retry logic into utility (3235c48)

v4.10.0

28 Aug 00:52
Compare
Choose a tag to compare

v4.10.0 (2024-08-28)

Chore

  • chore(release): track tags for renovate (d600444)

  • chore(deps): update python-semantic-release/upload-to-gh-release digest to 17c75b7 (12caaa4)

  • chore(deps): update dependency types-setuptools to v73 (d55c045)

  • chore(deps): update all non-major dependencies (2ade0d9)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17.3.1-ee.0 (3fdd130)

  • chore(deps): update all non-major dependencies (0578bf0)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17.3.0-ee.0 (e5a46f5)

  • chore(deps): update dependency myst-parser to v4 (930d4a2)

  • chore(deps): update dependency sphinx to v8 (cb65ffb)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17.2.2-ee.0 (b2275f7)

  • chore(deps): update all non-major dependencies (31786a6)

Documentation

  • docs(faq): correct the attribute fetching example

There is an example about object attributes in the FAQ. It shows how to
properly fetch all attributes of all projects, by using list() followed
by a get(id) call.

Unfortunately this example used a wrong variable name, which caused it
not to work and which could have made it slightly confusing to readers.
This commit fixes that, by changing the variable name.

Now the example uses one variable for two Python objects. As they
correspond to the same GitLab object and the intended behavior is to
obtain that very object, just with all attributes, this is fine and is
probably what readers will find most useful in this context. (43a16ac)

Feature

  • feat(api): project/group hook test triggering

Add the ability to trigger tests of project and group hooks.

Fixes #2924 (9353f54)

Test

  • test(cli): allow up to 30 seconds for a project export

Before we allowed a maximum of around 15 seconds for the
project-export. Often times the CI was failing with this value.

Change it to a maximum of around 30 seconds. (bdc155b)

v4.9.0

06 Aug 12:12
Compare
Choose a tag to compare

v4.9.0 (2024-08-06)

Chore

  • chore(deps): update pre-commit hook maxbrunet/pre-commit-renovate to v38 (f13968b)

  • chore(deps): update all non-major dependencies (f95ca26)

  • chore(deps): update dependency types-setuptools to v71 (d6a7dba)

  • chore(deps): update python-semantic-release/upload-to-gh-release digest to 0dcddac (eb5c6f7)

  • chore(deps): update gitlab/gitlab-ee docker tag to v17.2.1-ee.0 (d13a656)

  • chore(deps): update all non-major dependencies (7adc86b)

  • chore(deps): update python-semantic-release/upload-to-gh-release digest to e2355e1 (eb18552)

  • chore(deps): update all non-major dependencies (e820db0)

  • chore(ci): make pre-commit check happy

pre-commit incorrectly wants double back-quotes inside the code
section. Rather than fight it, just use single quotes. (67370d8)

Feature

  • feat(snippets): add support for listing all instance snippets (64ae61e)