Skip to content

chore(deps): update dependency python-gitlab to v4 - autoclosed

renovate requested to merge renovate/python-gitlab-4.x into master

This MR contains the following updates:

Package Change Age Adoption Passing Confidence
python-gitlab (changelog) <4.0.0,>=3.0.0 -> <4.5.1,>=4.5.0 age adoption passing confidence

Release Notes

python-gitlab/python-gitlab (python-gitlab)

v4.5.0

Compare Source

Build
  • build: Add "--no-cache-dir" to pip commands in Dockerfile

This would not leave cache files in the built docker image.

Additionally, also only build the wheel in the build phase.

On my machine, before this MR, size is 7484539; after this MR, size is 7261771. (4ef94c8)

Chore
  • chore(deps): update all non-major dependencies (4f338ae)

  • chore(deps): update gitlab/gitlab-ee docker tag to v16.11.2-ee.0 (9be48f0)

  • chore(deps): update dependency myst-parser to v3 (9289189)

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

  • chore(deps): update dependency jinja2 to v3.1.4 [security] (8ea10c3)

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

  • chore(deps): update gitlab/gitlab-ee docker tag to v16.11.1-ee.0 (1ed8d6c)

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

  • chore(deps): update gitlab/gitlab-ee docker tag to v16 (ea8c4c2)

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

  • chore(deps): update dependency pytest-cov to v5 (db32000)

  • chore: update mypy to 1.9.0 and resolve one issue

mypy 1.9.0 flagged one issue in the code. Resolve the issue. Current unit tests already check that a None value returns text/plain. So function is still working as expected. (dd00bfc)

  • chore(deps): update dependency black to v24.3.0 [security] (f6e8692)

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

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

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

  • chore: add tox labels to enable running groups of environments

tox now has a feature of labels which allows running groups of environments using the command tox -m LABEL_NAME. For example tox -m lint which has been setup to run the linters.

Bumped the minimum required version of tox to be 4.0, which was released over a year ago. (d7235c7)

  • chore: add py312 & py313 to tox environment list

Even though there isn't a Python 3.13 at this time, this is done for the future. tox is already configured to just warn about missing Python versions, but not fail if they don't exist. (679ddc7)

  • chore(deps): update python-semantic-release/python-semantic-release action to v9 (e11d889)

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

  • chore(deps): update dependency furo to v2024 (f6fd02d)

  • chore(deps): update dependency pytest to v8 (253babb)

  • chore(deps): update dependency pytest-docker to v3 (35d2aec)

  • chore: update version of black for pre-commit

The version of black needs to be updated to be in sync with what is in requirements-lint.txt (3501716)

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

  • chore(deps): update codecov/codecov-action action to v4 (d2be1f7)

  • chore: adapt style for black v24 (4e68d32)

  • chore(deps): update dependency black to v24 (f59aee3)

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

Documentation
  • docs: add FAQ about conflicting parameters

We have received multiple issues lately about this. Add it to the FAQ. (683ce72)

  • docs(README): tweak GitLab CI usage docs (d9aaa99)

  • docs: how to run smoke tests

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (2d1f487)

  • docs(objects): minor rst formatting typo

To correctly format a code block have to use :: (57dfd17)

  • docs: correct rotate token example

Rotate token returns a dict. Change example to print the entire dict.

Closes: #​2836 (c53e695)

  • docs: Note how to use the Docker image from within GitLab CI

Ref: #​2823 (6d4bffb)

  • docs(artifacts): Fix argument indentation (c631eeb)
Feature
  • feat(job_token_scope): support Groups in job token allowlist API (#​2816)

  • feat(job_token_scope): support job token access allowlist API

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> l.dwp.gov.uk> Co-authored-by: Nejc Habjan <nejc.habjan@siemens.com> (2d1b749)

  • feat(cli): allow skipping initial auth calls (001e596)

  • feat(api): allow updating protected branches (#​2771)

  • feat(api): allow updating protected branches

Closes #​2390 (a867c48)

Fix
  • fix: Consider scope an ArrayAttribute in PipelineJobManager

List query params like 'scope' were not being handled correctly for pipeline/jobs endpoint. This change ensures multiple values are appended with '[]', resulting in the correct URL structure.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com>


Background: If one queries for pipeline jobs with scope=[&#&#8203;34;failed&#&#8203;34;, &#&#8203;34;success&#&#8203;34;]

One gets: GET /api/v4/projects/176/pipelines/1113028/jobs?scope=success&scope=failed

But it is supposed to get: GET /api/v4/projects/176/pipelines/1113028/jobs?scope[]=success&scope[]=failed

The current version only considers the last element of the list argument.

Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> (c5d0404)

  • fix(test): use different ids for merge request, approval rule, project

The original bug was that the merge request identifier was used instead of the approval rule identifier. The test didn't notice that because it used 1 for all identifiers. Make these identifiers different so that a mixup will become apparent. (c23e6bd)

  • fix(api): fix saving merge request approval rules

Closes #​2548 (b8b3849)

  • fix: user.warn() to show correct filename of issue

Previously would only go to the 2nd level of the stack for determining the offending filename and line number. When it should be showing the first filename outside of the python-gitlab source code. As we want it to show the warning for the user of the libraries code.

Update test to show it works as expected. (529f1fa)

  • fix(api): update manual job status when playing it (9440a32)

  • fix(cli): allow exclusive arguments as optional (#​2770)

  • fix(cli): allow exclusive arguments as optional

The CLI takes its arguments from the RequiredOptional, which has three fields: required, optional, and exclusive. In practice, the exclusive options are not defined as either required or optional, and would not be allowed in the CLI. This changes that, so that exclusive options are also added to the argument parser.

  • fix(cli): inform argument parser that options are mutually exclusive

  • fix(cli): use correct exclusive options, add unit test

Closes #​2769 (7ec3189)

Test
  • test: remove approve step

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (48a6705)

  • test: tidy up functional tests

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (06266ea)

  • test: update api tests for GL 16.10
  • Make sure we're testing python-gitlab functionality, make sure we're not awaiting on Gitlab Async functions
  • Decouple and improve test stability

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (4bef473)

  • test(functional): enable bulk import feature flag before test (b81da2e)

  • test: don't use weak passwords

Newer versions of GitLab will refuse to create a user with a weak password. In order for us to move to a newer GitLab version in testing use a stronger password for the tests that create a user. (c64d126)

  • test: update tests for gitlab 16.8 functionality
  • use programmatic dates for expires_at in tokens tests
  • set PAT for 16.8 into tests

Signed-off-by: Tim Knight <tim.knight1@​engineering.digital.dwp.gov.uk> (f8283ae)

  • test(smoke): normalize all dist titles for smoke tests (ee013fe)

v4.4.0

Compare Source

Chore
  • chore(deps): update all non-major dependencies (550f935)

  • chore(deps): update pre-commit hook pycqa/flake8 to v7 (9a199b6)

  • chore(deps): update dependency jinja2 to v3.1.3 [security] (880913b)

  • chore(deps): update dependency flake8 to v7 (20243c5)

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

  • chore(ci): align upload and download action versions (dcca59d)

  • chore(deps): update actions/upload-artifact action to v4 (7114af3)

  • chore(ci): add Python 3.13 development CI job

Add a job to test the development versions of Python 3.13. (ff0c11b)

  • chore(deps): update all non-major dependencies (369a595)
Feature
  • feat(api): add reviewer_details manager for mergrequest to get reviewers of merge request

Those changes implements 'GET /projects/:id/merge_requests/:merge_request_iid/reviewers' gitlab API call. Naming for call is not reviewers because reviewers atribute already presen in merge request response (adbd90c)

  • feat(api): support access token rotate API (b13971d)

  • feat(api): support single resource access token get API (dae9e52)

Fix
  • fix(cli): support binary files with @ notation

Support binary files being used in the CLI with arguments using the @ notation. For example --avatar @&#8203;/path/to/avatar.png

Also explicitly catch the common OSError exception, which is the parent exception for things like: FileNotFoundError, PermissionError and more exceptions.

Remove the bare exception handling. We would rather have the full traceback of any exceptions that we don't know about and add them later if needed.

Closes: #​2752 (57749d4)

v4.3.0

Compare Source

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

  • chore(deps): update actions/stale action to v9 (c01988b)

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

  • chore(deps): update actions/setup-python action to v5 (fad1441)

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

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

  • chore(deps): update dependency types-setuptools to v69 (de11192)

Documentation
  • docs: fix rst link typo in CONTRIBUTING.rst (2b6da6e)
Feature
  • feat(api): add support for the Draft notes API (#​2728)

  • feat(api): add support for the Draft notes API

  • fix(client): handle empty 204 reponses in PUT requests (ebf9d82)

Fix
  • fix(cli): add ability to disable SSL verification

Add a --no-ssl-verify option to disable SSL verification

Closes: #​2714 (3fe9fa6)

v4.2.0

Compare Source

Chore
  • chore(deps): update all non-major dependencies (8aeb853)

  • chore(deps): update dessant/lock-threads action to v5 (f4ce867)

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

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

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

Feature
  • feat: add pipeline status as Enum

https://docs.gitlab.com/ee/api/pipelines.html (4954bbc)

  • feat(api): add support for wiki attachments (#​2722)

Added UploadMixin in mixin module Added UploadMixin dependency for Project, ProjectWiki, GroupWiki Added api tests for wiki upload Added unit test for mixin Added docs sections to wikis.rst (7b864b8)

v4.1.1

Compare Source

Chore
  • chore(ci): add release id to workflow step (9270e10)

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

Documentation
  • docs(users): add missing comma in v4 API create runner examples

The examples which show usage of new runner registration api endpoint are missing commas. This change adds the missing commas. (b1b2edf)

Fix
  • fix(build): include py.typed in dists (b928639)

v4.1.0

Compare Source

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

  • chore(CHANGELOG): re-add v4.0.0 changes using old format (258a751)

  • chore(CHANGELOG): revert python-semantic-release format change (b5517e0)

  • chore: add source label to container image (7b19278)

  • chore(rtd): revert to python 3.11 (#​2694) (1113742)

Ci
  • ci: remove unneeded GitLab auth (fd7bbfc)
Feature
  • feat: add Merge Request merge_status and detailed_merge_status values as constants (e18a424)
Fix
  • fix: remove depricated MergeStatus (c6c012b)

v4.0.0

Compare Source

Breaking
  • docs(advanced): document new netrc behavior

BREAKING CHANGE: python-gitlab now explicitly passes auth to requests, meaning it will only read netrc credentials if no token is provided, fixing a bug where netrc credentials took precedence over OAuth tokens. This also affects the CLI, where all environment variables now take precedence over netrc files. (45b8930)

  • refactor(build): build project using PEP 621

BREAKING CHANGE: python-gitlab now stores metadata in pyproject.toml as per PEP 621, with setup.py removed. pip version v21.1 or higher is required if you want to perform an editable install. (71fca8c)

  • refactor(const): remove deprecated global constant import

BREAKING CHANGE: Constants defined in gitlab.const can no longer be imported globally from gitlab. Import them from gitlab.const instead. (e4a1f6e)

  • refactor(list): as_list support is removed.

In list() calls support for the as_list argument has been removed. as_list was previously deprecated and now the use of iterator will be required if wanting to have same functionality as using as_list

BREAKING CHANGE: Support for the deprecated as_list argument in list() calls has been removed. Use iterator instead. (9b6d89e)

  • refactor(lint): remove deprecated lint()in favor of ci_lint.create()

BREAKING CHANGE: The deprecated lint() method is no longer available. Use ci_lint.create() instead. (0b17a2d)

  • refactor(artifacts): remove deprecated artifact()in favor of artifacts.raw()

BREAKING CHANGE: The deprecated project.artifact() method is no longer available. Use project.artifacts.raw() instead. (90134c9)

  • refactor(artifacts): remove deprecated artifacts()in favor of artifacts.download()

BREAKING CHANGE: The deprecated project.artifacts() method is no longer available. Use project.artifacts.download() instead. (42639f3)

  • refactor(groups): remove deprecated LDAP group link add/delete methods

BREAKING CHANGE: The deprecated group.add_ldap_group_link() and group.delete_ldap_group_link() methods are no longer available. Use group.ldap_group_links.create() and group.ldap_group_links.delete() instead. (5c8b7c1)

  • refactor(projects): remove deprecated project.transfer_project() in favor of project.transfer()

BREAKING CHANGE: The deprecated project.transfer_project() method is no longer available. Use project.transfer() instead. (27ed490)

  • fix(cli): remove deprecated --all option in favor of --get-all

BREAKING CHANGE: The --all option is no longer available in the CLI. Use --get-all instead. (e9d48cf)

  • feat: remove support for Python 3.7, require 3.8 or higher

Python 3.8 is End-of-Life (EOL) as of 2023-06-27 as stated in https://devguide.python.org/versions/ and https://peps.python.org/pep-0537/

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

BREAKING CHANGE: As of python-gitlab 4.0.0, Python 3.7 is no longer supported. Python 3.8 or higher is required. (058d5a5)

Chore
  • chore(ci): follow upstream config for release build_command (3e20a76)

  • chore(ci): update release build for python-semantic-release v8 (#​2692) (bf050d1)

  • chore(deps): update pre-commit hook pycqa/pylint to v3 (0f4a346)

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

  • chore: add package pipelines API link (2a2404f)

  • chore(ci): fix pre-commit deps and python version (1e7f257)

  • chore(ci): remove Python 3.13 dev job (e8c50f2)

  • chore(helpers): fix previously undetected flake8 issue (bf8bd73)

  • chore: fix test names (f1654b8)

  • chore: make linters happy (3b83d5d)

  • chore: change _update_uses to _update_method and use an Enum

Change the name of the _update_uses attribute to _update_method and store an Enum in the attribute to indicate which type of HTTP method to use. At the moment it supports POST and PUT. But can in the future support PATCH. (7073a2d)

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

  • chore(deps): update dependency pylint to v3 (491350c)

  • chore(deps): update pre-commit hook maxbrunet/pre-commit-renovate to v37 (b4951cd)

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

  • chore(deps): update dependency commitizen to v3.10.0 (becd8e2)

  • chore(deps): update pre-commit hook commitizen-tools/commitizen to v3.10.0 (626c2f8)

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

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

  • chore(deps): update all non-major dependencies to v23.9.1 (a16b732)

  • chore(deps): update actions/checkout action to v4 (af13914)

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

  • chore(deps): update dependency build to v1 (2e856f2)

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

  • chore(rtd): use readthedocs v2 syntax (6ce2149)

  • chore(rtd): fix docs build on readthedocs.io (#​2654) (3d7139b)

  • chore(ci): adapt release workflow and config for v8 (827fefe)

  • chore(deps): update relekang/python-semantic-release action to v8 (c57c85d)

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

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

  • chore(deps): update pre-commit hook maxbrunet/pre-commit-renovate to v36 (db58cca)

  • chore(deps): update dependency ubuntu to v22 (8865552)

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

  • chore(deps): update dependency pytest-docker to v2 (b87bb0d)

  • chore: switch to docker-compose v2

Closes: #​2625 (713b5ca)

  • chore: update PyYAML to 6.0.1

Fixes issue with CI having error: AttributeError: cython_sources

Closes: #​2624 (3b8939d)

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

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

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

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

  • chore(deps): update dependency types-setuptools to v68 (bdd4eb6)

  • chore(deps): update actions/upload-artifact action to v3 (b78d6bf)

  • chore(deps): update dependency setuptools to v68 (0f06082)

  • chore(deps): bring myst-parser up to date with sphinx 7 (da03e9c)

  • chore(deps): bring furo up to date with sphinx (a15c927)

  • chore(deps): update dependency sphinx to v7 (2918dfd)

  • chore(deps): update actions/checkout action to v3 (e2af1e8)

  • chore(deps): update actions/setup-python action to v4 (e0d6783)

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

  • chore(deps): pin pytest-console-scripts for 3.7 (6d06630)

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

Documentation
  • docs: correct error with back-ticks (#​2653)

New linting package update detected the issue. (0b98dd3)

  • docs(access_token): adopt token docs to 16.1

expires_at is now required Upstream MR: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/124964 (fe7a971)

  • docs(files): fix minor typo in variable declaration (118ce42)
Feature
  • feat(client): mask tokens by default when logging (1611d78)

  • feat(api): add ProjectPackagePipeline

Add ProjectPackagePipeline, which is scheduled to be included in GitLab 16.0 (5b4addd)

  • feat: officially support Python 3.12 (2a69c0e)

  • feat(packages): Allow uploading bytes and files

This commit adds a keyword argument to GenericPackageManager.upload() to allow uploading bytes and file-like objects to the generic package registry. That necessitates changing file path to be a keyword argument as well, which then cascades into a whole slew of checks to not allow passing both and to not allow uploading file-like objects as JSON data.

Closes https://github.com/python-gitlab/python-gitlab/issues/1815 (61e0fae)

  • feat: Use requests AuthBase classes (5f46cfd)

  • feat(api): add support for job token scope settings (59d6a88)

  • feat(api): support project remote mirror deletion (d900910)

  • feat(api): add optional GET attrs for /projects/:id/ci/lint (40a102d)

  • feat(api): add support for new runner creation API (#​2635)

Co-authored-by: Nejc Habjan <hab.nejc@gmail.com> (4abcd17)

  • feat(releases): Add support for direct_asset_path

This commit adds support for the “new” alias for filepath: direct_asset_path (added in 15.10) in release links API. (d054917)

  • feat: Added iteration to issue and group filters (8d2d297)
Fix
  • fix(cli): add _from_parent_attrs to user-project manager (#​2558) (016d90c)

  • fix(cli): fix action display in --help when there are few actions

fixes #​2656 (b22d662)

  • fix(client): support empty 204 responses in http_patch (e15349c)

  • fix(snippets): allow passing list of files (31c3c5e)

Test
  • test: add tests for token masking (163bfcf)

  • test(cli): add test for user-project list (a788cff)

  • test: correct calls to script_runner.run()

Warnings were being raised. Resolve those warnings. (cd04315)

  • test: fix failing tests that use 204 (No Content) plus content

urllib3>=2 now checks for expected content length. Also codes 204 and 304 are set to expect a content length of 0 [1]

So in the unit tests stop setting content to return in these situations.

[1] https://github.com/urllib3/urllib3/blob/88a707290b655394aade060a8b7eaee83152dc8b/src/urllib3/response.py#L691-L693 (3074f52)

Unknown
  • chore(deps): update dependency requests to v2.31.0 [security]

Also update dependency responses==0.23.3 as it provides support for urllib3&gt;=2

Closes: #​2626 (988a6e7)


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by renovate

Merge request reports