|
2 | 2 |
|
3 | 3 |
|
4 | 4 |
|
| 5 | +## v4.5.0 (2024-05-13) |
| 6 | + |
| 7 | +### Build |
| 8 | + |
| 9 | +* build: Add "--no-cache-dir" to pip commands in Dockerfile |
| 10 | + |
| 11 | +This would not leave cache files in the built docker image. |
| 12 | + |
| 13 | +Additionally, also only build the wheel in the build phase. |
| 14 | + |
| 15 | +On my machine, before this PR, size is 74845395; after this PR, size is |
| 16 | +72617713. ([`4ef94c8`](https://github.com/python-gitlab/python-gitlab/commit/4ef94c8260e958873bb626e86d3241daa22f7ce6)) |
| 17 | + |
| 18 | +### Chore |
| 19 | + |
| 20 | +* chore(deps): update all non-major dependencies ([`4f338ae`](https://github.com/python-gitlab/python-gitlab/commit/4f338aed9c583a20ff5944e6ccbba5737c18b0f4)) |
| 21 | + |
| 22 | +* chore(deps): update gitlab/gitlab-ee docker tag to v16.11.2-ee.0 ([`9be48f0`](https://github.com/python-gitlab/python-gitlab/commit/9be48f0bcc2d32b5e8489f62f963389d5d54b2f2)) |
| 23 | + |
| 24 | +* chore(deps): update dependency myst-parser to v3 ([`9289189`](https://github.com/python-gitlab/python-gitlab/commit/92891890eb4730bc240213a212d392bcb869b800)) |
| 25 | + |
| 26 | +* chore(deps): update all non-major dependencies ([`65d0e65`](https://github.com/python-gitlab/python-gitlab/commit/65d0e6520dcbcf5a708a87960c65fdcaf7e44bf3)) |
| 27 | + |
| 28 | +* chore(deps): update dependency jinja2 to v3.1.4 [security] ([`8ea10c3`](https://github.com/python-gitlab/python-gitlab/commit/8ea10c360175453c721ad8e27386e642c2b68d88)) |
| 29 | + |
| 30 | +* chore(deps): update all non-major dependencies ([`1f0343c`](https://github.com/python-gitlab/python-gitlab/commit/1f0343c1154ca8ae5b1f61de1db2343a2ad652ec)) |
| 31 | + |
| 32 | +* chore(deps): update gitlab/gitlab-ee docker tag to v16.11.1-ee.0 ([`1ed8d6c`](https://github.com/python-gitlab/python-gitlab/commit/1ed8d6c21d3463b2ad09eb553871042e98090ffd)) |
| 33 | + |
| 34 | +* chore(deps): update all non-major dependencies ([`0e9f4da`](https://github.com/python-gitlab/python-gitlab/commit/0e9f4da30cea507fcf83746008d9de2ee5a3bb9d)) |
| 35 | + |
| 36 | +* chore(deps): update gitlab/gitlab-ee docker tag to v16 ([`ea8c4c2`](https://github.com/python-gitlab/python-gitlab/commit/ea8c4c2bc9f17f510415a697e0fb19cabff4135e)) |
| 37 | + |
| 38 | +* chore(deps): update all non-major dependencies ([`d5b5fb0`](https://github.com/python-gitlab/python-gitlab/commit/d5b5fb00d8947ed9733cbb5a273e2866aecf33bf)) |
| 39 | + |
| 40 | +* chore(deps): update dependency pytest-cov to v5 ([`db32000`](https://github.com/python-gitlab/python-gitlab/commit/db3200089ea83588ea7ad8bd5a7175d81f580630)) |
| 41 | + |
| 42 | +* chore: update `mypy` to 1.9.0 and resolve one issue |
| 43 | + |
| 44 | +mypy 1.9.0 flagged one issue in the code. Resolve the issue. Current |
| 45 | +unit tests already check that a `None` value returns `text/plain`. So |
| 46 | +function is still working as expected. ([`dd00bfc`](https://github.com/python-gitlab/python-gitlab/commit/dd00bfc9c832aba0ed377573fe2e9120b296548d)) |
| 47 | + |
| 48 | +* chore(deps): update dependency black to v24.3.0 [security] ([`f6e8692`](https://github.com/python-gitlab/python-gitlab/commit/f6e8692cfc84b5af2eb6deec4ae1c4935b42e91c)) |
| 49 | + |
| 50 | +* chore(deps): update all non-major dependencies ([`14a3ffe`](https://github.com/python-gitlab/python-gitlab/commit/14a3ffe4cc161be51a39c204350b5cd45c602335)) |
| 51 | + |
| 52 | +* chore(deps): update all non-major dependencies ([`3c4dcca`](https://github.com/python-gitlab/python-gitlab/commit/3c4dccaf51695334a5057b85d5ff4045739d1ad1)) |
| 53 | + |
| 54 | +* chore(deps): update all non-major dependencies ([`04c569a`](https://github.com/python-gitlab/python-gitlab/commit/04c569a2130d053e35c1f2520ef8bab09f2f9651)) |
| 55 | + |
| 56 | +* chore: add tox `labels` to enable running groups of environments |
| 57 | + |
| 58 | +tox now has a feature of `labels` which allows running groups of |
| 59 | +environments using the command `tox -m LABEL_NAME`. For example |
| 60 | +`tox -m lint` which has been setup to run the linters. |
| 61 | + |
| 62 | +Bumped the minimum required version of tox to be 4.0, which was |
| 63 | +released over a year ago. ([`d7235c7`](https://github.com/python-gitlab/python-gitlab/commit/d7235c74f8605f4abfb11eb257246864c7dcf709)) |
| 64 | + |
| 65 | +* chore: add py312 & py313 to tox environment list |
| 66 | + |
| 67 | +Even though there isn't a Python 3.13 at this time, this is done for |
| 68 | +the future. tox is already configured to just warn about missing |
| 69 | +Python versions, but not fail if they don't exist. ([`679ddc7`](https://github.com/python-gitlab/python-gitlab/commit/679ddc7587d2add676fd2398cb9673bd1ca272e3)) |
| 70 | + |
| 71 | +* chore(deps): update python-semantic-release/python-semantic-release action to v9 ([`e11d889`](https://github.com/python-gitlab/python-gitlab/commit/e11d889cd19ec1555b2bbee15355a8cdfad61d5f)) |
| 72 | + |
| 73 | +* chore(deps): update all non-major dependencies ([`3c4b27e`](https://github.com/python-gitlab/python-gitlab/commit/3c4b27e64f4b51746b866f240a1291c2637355cc)) |
| 74 | + |
| 75 | +* chore(deps): update dependency furo to v2024 ([`f6fd02d`](https://github.com/python-gitlab/python-gitlab/commit/f6fd02d956529e2c4bce261fe7b3da1442aaea12)) |
| 76 | + |
| 77 | +* chore(deps): update dependency pytest to v8 ([`253babb`](https://github.com/python-gitlab/python-gitlab/commit/253babb9a7f8a7d469440fcfe1b2741ddcd8475e)) |
| 78 | + |
| 79 | +* chore(deps): update dependency pytest-docker to v3 ([`35d2aec`](https://github.com/python-gitlab/python-gitlab/commit/35d2aec04532919d6dd7b7090bc4d5209eddd10d)) |
| 80 | + |
| 81 | +* chore: update version of `black` for `pre-commit` |
| 82 | + |
| 83 | +The version of `black` needs to be updated to be in sync with what is |
| 84 | +in `requirements-lint.txt` ([`3501716`](https://github.com/python-gitlab/python-gitlab/commit/35017167a80809a49351f9e95916fafe61c7bfd5)) |
| 85 | + |
| 86 | +* chore(deps): update all non-major dependencies ([`7dc2fa6`](https://github.com/python-gitlab/python-gitlab/commit/7dc2fa6e632ed2c9adeb6ed32c4899ec155f6622)) |
| 87 | + |
| 88 | +* chore(deps): update codecov/codecov-action action to v4 ([`d2be1f7`](https://github.com/python-gitlab/python-gitlab/commit/d2be1f7608acadcc2682afd82d16d3706b7f7461)) |
| 89 | + |
| 90 | +* chore: adapt style for black v24 ([`4e68d32`](https://github.com/python-gitlab/python-gitlab/commit/4e68d32c77ed587ab42d229d9f44c3bc40d1d0e5)) |
| 91 | + |
| 92 | +* chore(deps): update dependency black to v24 ([`f59aee3`](https://github.com/python-gitlab/python-gitlab/commit/f59aee3ddcfaeeb29fcfab4cc6768dff6b5558cb)) |
| 93 | + |
| 94 | +* chore(deps): update all non-major dependencies ([`48726fd`](https://github.com/python-gitlab/python-gitlab/commit/48726fde9b3c2424310ff590b366b9fdefa4a146)) |
| 95 | + |
| 96 | +### Documentation |
| 97 | + |
| 98 | +* docs: add FAQ about conflicting parameters |
| 99 | + |
| 100 | +We have received multiple issues lately about this. Add it to the FAQ. ([`683ce72`](https://github.com/python-gitlab/python-gitlab/commit/683ce723352cc09e1a4b65db28be981ae6bb9f71)) |
| 101 | + |
| 102 | +* docs(README): tweak GitLab CI usage docs ([`d9aaa99`](https://github.com/python-gitlab/python-gitlab/commit/d9aaa994568ad4896a1e8a0533ef0d1d2ba06bfa)) |
| 103 | + |
| 104 | +* docs: how to run smoke tests |
| 105 | + |
| 106 | +Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`2d1f487`](https://github.com/python-gitlab/python-gitlab/commit/2d1f4872390df10174f865f7a935bc73f7865fec)) |
| 107 | + |
| 108 | +* docs(objects): minor rst formatting typo |
| 109 | + |
| 110 | +To correctly format a code block have to use `::` ([`57dfd17`](https://github.com/python-gitlab/python-gitlab/commit/57dfd1769b4e22b43dc0936aa3600cd7e78ba289)) |
| 111 | + |
| 112 | +* docs: correct rotate token example |
| 113 | + |
| 114 | +Rotate token returns a dict. Change example to print the entire dict. |
| 115 | + |
| 116 | +Closes: #2836 ([`c53e695`](https://github.com/python-gitlab/python-gitlab/commit/c53e6954f097ed10d52b40660d2fba73c2e0e300)) |
| 117 | + |
| 118 | +* docs: Note how to use the Docker image from within GitLab CI |
| 119 | + |
| 120 | +Ref: #2823 ([`6d4bffb`](https://github.com/python-gitlab/python-gitlab/commit/6d4bffb5aaa676d32fc892ef1ac002973bc040cb)) |
| 121 | + |
| 122 | +* docs(artifacts): Fix argument indentation ([`c631eeb`](https://github.com/python-gitlab/python-gitlab/commit/c631eeb55556920f5975b1fa2b1a0354478ce3c0)) |
| 123 | + |
| 124 | +### Feature |
| 125 | + |
| 126 | +* feat(job_token_scope): support Groups in job token allowlist API (#2816) |
| 127 | + |
| 128 | +* feat(job_token_scope): support job token access allowlist API |
| 129 | + |
| 130 | +Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> |
| 131 | +l.dwp.gov.uk> |
| 132 | +Co-authored-by: Nejc Habjan <nejc.habjan@siemens.com> ([`2d1b749`](https://github.com/python-gitlab/python-gitlab/commit/2d1b7499a93db2c9600b383e166f7463a5f22085)) |
| 133 | + |
| 134 | +* feat(cli): allow skipping initial auth calls ([`001e596`](https://github.com/python-gitlab/python-gitlab/commit/001e59675f4a417a869f813d79c298a14268b87d)) |
| 135 | + |
| 136 | +* feat(api): allow updating protected branches (#2771) |
| 137 | + |
| 138 | +* feat(api): allow updating protected branches |
| 139 | + |
| 140 | +Closes #2390 ([`a867c48`](https://github.com/python-gitlab/python-gitlab/commit/a867c48baa6f10ffbfb785e624a6e3888a859571)) |
| 141 | + |
| 142 | +### Fix |
| 143 | + |
| 144 | +* fix: Consider `scope` an ArrayAttribute in PipelineJobManager |
| 145 | + |
| 146 | +List query params like 'scope' were not being handled correctly for |
| 147 | +pipeline/jobs endpoint. |
| 148 | +This change ensures multiple values are appended with '[]', resulting in |
| 149 | +the correct URL structure. |
| 150 | + |
| 151 | +Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> |
| 152 | + |
| 153 | +--- |
| 154 | + |
| 155 | +Background: |
| 156 | +If one queries for pipeline jobs with `scope=["failed", "success"]` |
| 157 | + |
| 158 | +One gets: |
| 159 | +GET /api/v4/projects/176/pipelines/1113028/jobs?scope=success&scope=failed |
| 160 | + |
| 161 | +But it is supposed to get: |
| 162 | +GET /api/v4/projects/176/pipelines/1113028/jobs?scope[]=success&scope[]=failed |
| 163 | + |
| 164 | +The current version only considers the last element of the list argument. |
| 165 | + |
| 166 | +Signed-off-by: Guilherme Gallo <guilherme.gallo@collabora.com> ([`c5d0404`](https://github.com/python-gitlab/python-gitlab/commit/c5d0404ac9edfbfd328e7b4f07f554366377df3f)) |
| 167 | + |
| 168 | +* fix(test): use different ids for merge request, approval rule, project |
| 169 | + |
| 170 | +The original bug was that the merge request identifier was used instead of the |
| 171 | +approval rule identifier. The test didn't notice that because it used `1` for |
| 172 | +all identifiers. Make these identifiers different so that a mixup will become |
| 173 | +apparent. ([`c23e6bd`](https://github.com/python-gitlab/python-gitlab/commit/c23e6bd5785205f0f4b4c80321153658fc23fb98)) |
| 174 | + |
| 175 | +* fix(api): fix saving merge request approval rules |
| 176 | + |
| 177 | +Closes #2548 ([`b8b3849`](https://github.com/python-gitlab/python-gitlab/commit/b8b3849b2d4d3f2d9e81e5cf4f6b53368f7f0127)) |
| 178 | + |
| 179 | +* fix: user.warn() to show correct filename of issue |
| 180 | + |
| 181 | +Previously would only go to the 2nd level of the stack for determining |
| 182 | +the offending filename and line number. When it should be showing the |
| 183 | +first filename outside of the python-gitlab source code. As we want it |
| 184 | +to show the warning for the user of the libraries code. |
| 185 | + |
| 186 | +Update test to show it works as expected. ([`529f1fa`](https://github.com/python-gitlab/python-gitlab/commit/529f1faacee46a88cb0a542306309eb835516796)) |
| 187 | + |
| 188 | +* fix(api): update manual job status when playing it ([`9440a32`](https://github.com/python-gitlab/python-gitlab/commit/9440a3255018d6a6e49269caf4c878d80db508a8)) |
| 189 | + |
| 190 | +* fix(cli): allow exclusive arguments as optional (#2770) |
| 191 | + |
| 192 | +* fix(cli): allow exclusive arguments as optional |
| 193 | + |
| 194 | +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. |
| 195 | + |
| 196 | + * fix(cli): inform argument parser that options are mutually exclusive |
| 197 | + |
| 198 | + * fix(cli): use correct exclusive options, add unit test |
| 199 | + |
| 200 | +Closes #2769 ([`7ec3189`](https://github.com/python-gitlab/python-gitlab/commit/7ec3189d6eacdb55925e8be886a44d7ee09eb9ca)) |
| 201 | + |
| 202 | +### Test |
| 203 | + |
| 204 | +* test: remove approve step |
| 205 | + |
| 206 | +Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`48a6705`](https://github.com/python-gitlab/python-gitlab/commit/48a6705558c5ab6fb08c62a18de350a5985099f8)) |
| 207 | + |
| 208 | +* test: tidy up functional tests |
| 209 | + |
| 210 | +Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`06266ea`](https://github.com/python-gitlab/python-gitlab/commit/06266ea5966c601c035ad8ce5840729e5f9baa57)) |
| 211 | + |
| 212 | +* test: update api tests for GL 16.10 |
| 213 | + |
| 214 | +- Make sure we're testing python-gitlab functionality, |
| 215 | +make sure we're not awaiting on Gitlab Async functions |
| 216 | +- Decouple and improve test stability |
| 217 | + |
| 218 | +Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`4bef473`](https://github.com/python-gitlab/python-gitlab/commit/4bef47301342703f87c1ce1d2920d54f9927a66a)) |
| 219 | + |
| 220 | +* test(functional): enable bulk import feature flag before test ([`b81da2e`](https://github.com/python-gitlab/python-gitlab/commit/b81da2e66ce385525730c089dbc2a5a85ba23287)) |
| 221 | + |
| 222 | +* test: don't use weak passwords |
| 223 | + |
| 224 | +Newer versions of GitLab will refuse to create a user with a weak |
| 225 | +password. In order for us to move to a newer GitLab version in testing |
| 226 | +use a stronger password for the tests that create a user. ([`c64d126`](https://github.com/python-gitlab/python-gitlab/commit/c64d126142cc77eae4297b8deec27bb1d68b7a13)) |
| 227 | + |
| 228 | +* test: update tests for gitlab 16.8 functionality |
| 229 | + |
| 230 | +- use programmatic dates for expires_at in tokens tests |
| 231 | +- set PAT for 16.8 into tests |
| 232 | + |
| 233 | +Signed-off-by: Tim Knight <tim.knight1@engineering.digital.dwp.gov.uk> ([`f8283ae`](https://github.com/python-gitlab/python-gitlab/commit/f8283ae69efd86448ae60d79dd8321af3f19ba1b)) |
| 234 | + |
| 235 | +* test(smoke): normalize all dist titles for smoke tests ([`ee013fe`](https://github.com/python-gitlab/python-gitlab/commit/ee013fe1579b001b4b30bae33404e827c7bdf8c1)) |
| 236 | + |
| 237 | + |
5 | 238 | ## v4.4.0 (2024-01-15)
|
6 | 239 |
|
7 | 240 | ### Chore
|
|
0 commit comments