Releases: python-gitlab/python-gitlab
v4.5.0
v4.5.0 (2024-05-13)
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 PR, size is 74845395; after this PR, size is
72617713. (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
forpre-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 <[email protected]> (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.
- docs: Note how to use the Docker image from within GitLab CI
- 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 <[email protected]>
l.dwp.gov.uk>
Co-authored-by: Nejc Habjan <[email protected]> (2d1b749
)
-
feat(cli): allow skipping initial auth calls (
001e596
) -
feat(api): allow updating protected branches (#2771)
-
feat(api): allow updating protected branches
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 <[email protected]>
Background:
If one queries for pipeline jobs with scope=["failed", "success"]
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 <[email protected]> (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
- 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.
...
v4.4.0
v4.4.0 (2024-01-15)
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 @/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.
v4.3.0
v4.3.0 (2023-12-28)
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
v4.2.0
v4.2.0 (2023-11-28)
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
v4.1.1 (2023-11-03)
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
v4.0.0
Feature
- client: mask tokens by default when logging (
1611d78
) - api: add ProjectPackagePipeline
- feat: officially support Python 3.12 (
2a69c0e
) - packages: Allow uploading bytes and files
- feat: Use requests AuthBase classes (
5f46cfd
) - api: add support for job token scope settings (
59d6a88
) - api: support project remote mirror deletion (
d900910
) - api: add optional GET attrs for /projects/:id/ci/lint (
40a102d
) - api: add support for new runner creation API (#2635)
- releases: Add support for direct_asset_path
- feat: Added iteration to issue and group filters (
8d2d297
)
Fix
- cli: add _from_parent_attrs to user-project manager (#2558) (
016d90c
) - cli: fix action display in --help when there are few actions
- client: support empty 204 responses in http_patch (
e15349c
) - snippets: allow passing list of files (
31c3c5e
)
Documentation
- correct error with back-ticks (#2653)
- access_token: adopt token docs to 16.1
- files: fix minor typo in variable declaration (
118ce42
)
Breaking
- 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
) - 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
) - Constants defined in
gitlab.const
can no longer be imported globally fromgitlab
.
Import them fromgitlab.const
instead. (e4a1f6e
) - Support for the deprecated
as_list
argument in
list()
calls has been removed. Useiterator
instead. (9b6d89e
) - The deprecated
lint()
method is no longer available.
Useci_lint.create()
instead. (0b17a2d
) - The deprecated
project.artifact()
method is no longer available.
Useproject.artifacts.raw()
instead. (90134c9
) - The deprecated
project.artifacts()
method is no longer available.
Useproject.artifacts.download()
instead. (42639f3
) - The deprecated
group.add_ldap_group_link()
andgroup.delete_ldap_group_link()
methods are no longer available. Usegroup.ldap_group_links.create()
andgroup.ldap_group_links.delete()
instead. (5c8b7c1
) - The deprecated
project.transfer_project()
method is no longer available.
Useproject.transfer()
instead. (27ed490
) - The
--all
option is no longer available in the CLI. Use--get-all
instead. (e9d48cf
) - As of python-gitlab 4.0.0, Python 3.7 is no longer
supported. Python 3.8 or higher is required. (058d5a5
)
v3.15.0
v3.14.0
Feature
- projects: Allow importing additional items from GitHub (
ce84f2e
) - objects: Support fetching PATs via id or
self
endpoint (19b38bd
) - Add resource_weight_event for ProjectIssue (
6e5ef55
) - backends: Use PEP544 protocols for structural subtyping (#2442) (
4afeaff
) - client: Add http_patch method (#2471) (
f711d9e
) - cli: Add setting of
allow_force_push
for protected branch (929e07d
)
Fix
- cli: Warn user when no fields are displayed (
8bf53c8
) - client: Properly parse content-type when charset is present (
76063c3
) - Support int for
parent_id
inimport_group
(90f96ac
) - cli: Add ability to escape at-prefixed parameter (#2513) (
4f7c784
) - cli: Display items when iterator is returned (
33a04e7
) - Typo fixed in docs (
ee5f444
)
Documentation
v3.13.0
Feature
- group: Add support for group restore API (
9322db6
) - client: Automatically retry on HTTP 409 Resource lock (
dced76a
) - api: Add support for bulk imports API (
043de2d
) - api: Add support for resource groups (
5f8b8f5
) - api: Support listing pipelines triggered by pipeline schedules (
865fa41
) - Allow filtering pipelines by source (
b6c0872
) - client: Bootstrap the http backends concept (#2391) (
91a665f
) - Add resource iteration events (see https://docs.gitlab.com/ee/api/resource_iteration_events.html) (
ef5feb4
) - Allow passing kwargs to Gitlab class when instantiating with
from_config
(#2392) (e88d34e
) - Add keep_base_url when getting configuration from file (
50a0301
)
Fix
- client: Regression - do not automatically get_next if page=# and (
585e3a8
) - Change return value to "None" in case getattr returns None to prevent error (
3f86d36
) - deps: Bump requests-toolbelt to fix deprecation warning (
faf842e
) - Use the ProjectIterationManager within the Project object (
44f05dc
) - api: Make description optional for releases (
5579750
)
Documentation
- faq: Describe and group common errors (
4c9a072
)