Skip to content

v4.6.0

Latest
Compare
Choose a tag to compare
@nejch nejch released this 28 May 00:46

v4.6.0 (2024-05-28)

Chore

  • chore(deps): update python-semantic-release/upload-to-gh-release digest to 673709c (1b550ac)

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

  • chore: update commit reference in git-blame-ignore-revs (d0fd5ad)

  • chore(cli): add ability to not add _id_attr as an argument

In some cases we don't want to have _id_attr as an argument.

Add ability to have it not be added as an argument. (2037352)

  • chore: create a CustomAction dataclass (61d8679)

  • chore: add an initial .git-blame-ignore-revs

This adds the .git-blame-ignore-revs file which allows ignoring
certain commits when doing a git blame --ignore-revs

Ignore the commit that requires keyword arguments for
register_custom_action()

https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view (74db84c)

  • chore: require keyword arguments for register_custom_action

This makes it more obvious when reading the code what each argument is
for. (7270523)

  • chore: remove typing-extensions from requirements.txt

We no longer support Python versions before 3.8. So it isn't needed
anymore. (d569128)

  • chore(deps): update dependency requests to v2.32.0 [security] (1bc788c)

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

  • chore(deps): update gitlab/gitlab-ee docker tag to v17 (5070d07)

  • chore(cli): on the CLI help show the API endpoint of resources

This makes it easier for people to map CLI command names to the API.

Looks like this:
$ gitlab --help
<snip>
The GitLab resource to manipulate.
application API endpoint: /applications
application-appearance
API endpoint: /application/appearance
application-settings
API endpoint: /application/settings
application-statistics
API endpoint: /application/statistics
<snip> (f1ef565)

  • chore(cli): add some simple help for the standard operations

Add help for the following standard operations:

  • list: List the GitLab resources
  • get: Get a GitLab resource
  • create: Create a GitLab resource
  • update: Update a GitLab resource
  • delete: Delete a GitLab resource

For example:
$ gitlab project-key --help
usage: gitlab project-key [-h] {list,get,create,update,delete,enable} ...

options:
-h, --help show this help message and exit

action:
list
get
create
update
delete
enable
Action to execute on the GitLab resource.
list List the GitLab resources
get Get a GitLab resource
create Create a GitLab resource
update Update a GitLab resource
delete Delete a GitLab resource (5a4a940)

  • chore: correct type-hint for job.trace()

Closes: #2808 (840572e)

  • chore: add type info for ProjectFile.content

Closes: #2821 (62fa271)

Feature

  • feat(api): add additional parameter to project/group iteration search (#2796)

Co-authored-by: Cristiano Casella <cristiano.casella@seacom.it>
Co-authored-by: Nejc Habjan <hab.nejc@gmail.com> (623dac9)

  • feat(api): add support for gitlab service account (#2851)

Co-authored-by: Nejc Habjan <hab.nejc@siemens.com> (b187dea)

  • feat: more usernames support for MR approvals

I don't think commit a2b8c8c went far enough to enable usernames
support. We create and edit a lot of approval rules based on an external
service (similar to CODE_OWNERS), but only have the usernames available,
and currently, have to look up each user to get their user ID to populate
user_ids for .set_approvers() calls. Would very much like to skip the
lookup and just send the usernames, which this change should allow.

See: https://docs.gitlab.com/ee/api/merge_request_approvals.html#create-project-level-rule

Signed-off-by: Jarod Wilson <jarod@redhat.com> (12d195a)

Fix

  • fix(deps): update minimum dependency versions in pyproject.toml

Update the minimum versions of the dependencies in the pyproject.toml
file.

This is related to PR #2878 (37b5a70)

  • fix(cli): don't require --id when enabling a deploy key

No longer require --id when doing:
gitlab project-key enable

Now only the --project-id and --key-id are required. (98fc578)

  • fix: don't raise RedirectError for redirected HEAD requests (8fc13b9)

  • fix: handle large number of approval rules

Use iterator=True when going through the list of current approval
rules. This allows it to handle more than the default of 20 approval
rules.

Closes: #2825 (ef8f0e1)

  • fix(projects): fix 'import_project' file argument type for typings

Signed-off-by: Adrian DC <radian.dc@gmail.com> (33fbc14)