# What changed in python-gitlab

> 24 changes in python-gitlab 6 to 8 from its official release notes, upgrade guides and advisories: 2 breaking, 13 new APIs and options. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/pypi/python-gitlab/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## python-gitlab 8

### Breaking changes

- GraphQL.execute() no longer accepts graphql.Source. (8.0.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.0.0)

### New APIs and options

- Supports a custom webhook template on project hooks. (8.5.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.5.0)
- Adds ListMixin to the remaining discussion note managers, enabling list operations on them. (8.5.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.5.0)
- Allows updating only a user's email, username, or name. (8.5.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.5.0)
- Adds the Security Manager role as an access-level constant for developers to use. (8.4.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.4.0)
- Full service account support is added at instance, group, and project level. (8.3.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.3.0)
- Adds an optional parameter to set an approval rule on all protected branches. (8.2.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.2.0)
- Adds support for managing project feature flags and their user lists through the API. (8.2.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.2.0)
- Runner jobs now support the order_by filter. (8.1.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.1.0)
- Runner jobs now support the sort filter. (8.1.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.1.0)

### Behavior and default changes

- Additionally handles retries when requests time out. (8.5.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.5.0)

### Fixes and other changes

- Adds all available attributes to project hooks. (8.6.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.6.0)
- Allows the resolved field on a project merge request discussion note to be updated. (8.5.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.5.0)
- Retries fetching the server version after an unknown result. (8.5.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.5.0)
- Create and update attributes for CI/CD variables are updated. (8.3.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.3.0)
- Service account token classes are registered in RotateMixin CLI actions. (8.3.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.3.0)
- Defines the project repr_attr attribute. (8.0.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.0.0)
- File save sends start_branch as a body attribute. (8.0.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v8.0.0)

## python-gitlab 7

### Breaking changes

- Python 3.9 is no longer supported; Python 3.10 or higher is required, and Python 3.14 is supported. (7.0.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v7.0.0)

### New APIs and options

- Adds support for deleting registry protection rules. (7.1.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v7.1.0)

### Fixes and other changes

- Prevents negative sleep time during rate limit retries. (7.1.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v7.1.0)

## python-gitlab 6

### New APIs and options

- Adds the content_ref parameter to ProjectCiLintManager. (6.5.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v6.5.0)
- Adds the dry_run_ref parameter to ProjectCiLintManager. (6.5.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v6.5.0)
- Implements skip_confirmation for creating user emails. (6.5.0) — [release notes](https://github.com/python-gitlab/python-gitlab/releases/tag/v6.5.0)
