Commit Graph

609 Commits

Author SHA1 Message Date
82c66f605f chore(deps): update docker/build-push-action action to v7
All checks were successful
Enforce Conventional Commit PR Title / Validate PR Title (pull_request_target) Successful in 4s
CI / ci (pull_request) Successful in 29s
2026-03-06 20:04:27 +00:00
c178fc9881 fix(deps): update dependency webex-bot to <1.2.5,>=1.2.4 (#570)
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-03-06 19:48:02 +00:00
ed12e54eb3 chore(deps): update dependency black to <26.3.1,>=26.3.0 (#571)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [black](https://github.com/psf/black) ([changelog](https://github.com/psf/black/blob/main/CHANGES.md)) | `<26.1.1,>=26.1.0` → `<26.3.1,>=26.3.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/black/26.3.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/26.1.0/26.3.0?slim=true) |

---

### Release Notes

<details>
<summary>psf/black (black)</summary>

### [`v26.3.0`](https://github.com/psf/black/blob/HEAD/CHANGES.md#2630)

[Compare Source](https://github.com/psf/black/compare/26.1.0...26.3.0)

##### Stable style

- Don't double-decode input, causing non-UTF-8 files to be corrupted ([#&#8203;4964](https://github.com/psf/black/issues/4964))
- Fix crash on standalone comment in lambda default arguments ([#&#8203;4993](https://github.com/psf/black/issues/4993))
- Preserve parentheses when `# type: ignore` comments would be merged with other
  comments on the same line, preventing AST equivalence failures ([#&#8203;4888](https://github.com/psf/black/issues/4888))

##### Preview style

- Fix bug where `if` guards in `case` blocks were incorrectly split when the pattern had
  a trailing comma ([#&#8203;4884](https://github.com/psf/black/issues/4884))
- Fix `string_processing` crashing on unassigned long string literals with trailing
  commas (one-item tuples) ([#&#8203;4929](https://github.com/psf/black/issues/4929))
- Simplify implementation of the power operator "hugging" logic ([#&#8203;4918](https://github.com/psf/black/issues/4918))

##### Packaging

- Fix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in
  frozen environments ([#&#8203;4930](https://github.com/psf/black/issues/4930))

##### Performance

- Introduce winloop for windows as an alternative to uvloop ([#&#8203;4996](https://github.com/psf/black/issues/4996))
- Remove deprecated function `uvloop.install()` in favor of `uvloop.new_event_loop()`
  ([#&#8203;4996](https://github.com/psf/black/issues/4996))
- Rename `maybe_install_uvloop` function to `maybe_use_uvloop` to simplify loop
  installation and creation of either a uvloop/winloop evenloop or default eventloop
  ([#&#8203;4996](https://github.com/psf/black/issues/4996))

##### Output

- Emit a clear warning when the target Python version is newer than the running Python
  version, since AST safety checks cannot parse newer syntax. Also replace the
  misleading "INTERNAL ERROR" message with an actionable error explaining the version
  mismatch ([#&#8203;4983](https://github.com/psf/black/issues/4983))

##### *Blackd*

- Introduce winloop to be used when windows in use which enables blackd to run faster on
  windows when winloop is installed. ([#&#8203;4996](https://github.com/psf/black/issues/4996))

##### Integrations

- Remove unused gallery script ([#&#8203;5030](https://github.com/psf/black/issues/5030))
- Harden parsing of `black` requirements in the GitHub Action when `use_pyproject` is
  enabled so that only version specifiers are accepted and direct references such as
  `black @&#8203; https://...` are rejected. Users should upgrade to the latest version of the
  action as soon as possible. This update is received automatically when using
  `psf/black@stable`, and is independent of the version of Black installed by the
  action. ([#&#8203;5031](https://github.com/psf/black/issues/5031))

##### Documentation

- Expand preview style documentation with detailed examples for `wrap_comprehension_in`,
  `simplify_power_operator_hugging`, and `wrap_long_dict_values_in_parens` features
  ([#&#8203;4987](https://github.com/psf/black/issues/4987))
- Add detailed documentation for formatting Jupyter Notebooks ([#&#8203;5009](https://github.com/psf/black/issues/5009))

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41OC4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTguMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/571
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-03-06 19:47:01 +00:00
66e602802a fix(deps): update dependency webex-bot to <1.2.4,>=1.2.3 (#566)
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-03-04 23:23:44 +00:00
1d9207db61 feat(deps): lock file maintenance (#564)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40Ni42IiwidXBkYXRlZEluVmVyIjoiNDMuNDYuNiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #564
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-03-04 22:14:57 +00:00
a72ad9e20d chore(deps): update docker/login-action action to v4 (#565)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/login-action](https://github.com/docker/login-action) | action | major | `v3` → `v4` |

---

### Release Notes

<details>
<summary>docker/login-action (docker/login-action)</summary>

### [`v4`](https://github.com/docker/login-action/compare/v3...v4)

[Compare Source](https://github.com/docker/login-action/compare/v3...v4)

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41Mi4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTIuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #565
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-03-04 22:11:33 +00:00
59f35b4d0c chore(deps): update dependency isort to <8.0.2,>=8.0.1 (#563)
All checks were successful
Release / Tag release (push) Successful in 10s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 2m5s
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.56.0
2026-02-28 13:55:18 +00:00
7d8a4b7ac1 fix(deps): update dependency astroid to <=4.1.1 (#562)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [astroid](https://github.com/pylint-dev/astroid) | `<=4.1.0` → `<=4.1.1` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/astroid/4.1.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/astroid/4.0.4/4.1.1?slim=true) |

---

### Release Notes

<details>
<summary>pylint-dev/astroid (astroid)</summary>

### [`v4.1.1`](https://github.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-411)

[Compare Source](https://github.com/pylint-dev/astroid/compare/v4.1.0...v4.1.1)

\============================
Release date: TBA

- Let `UnboundMethodModel` inherit from `FunctionModel` to improve inference of
  dunder methods for unbound methods.

- Filter `Unknown` from `UnboundMethod` and `Super` special attribute
  lookup to prevent placeholder nodes from leaking during inference.

### [`v4.1.0`](https://github.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-410)

[Compare Source](https://github.com/pylint-dev/astroid/compare/v4.0.4...v4.1.0)

\============================
Release date: 2026-02-08

- Add support for equality constraints (`==`, `!=`) in inference.
  Closes [pylint-dev/pylint#3632](https://github.com/pylint-dev/pylint/issues/3632)
  Closes [pylint-dev/pylint#3633](https://github.com/pylint-dev/pylint/issues/3633)

- Ensure `ast.JoinedStr` nodes are `Uninferable` when the `ast.FormattedValue` is
  `Uninferable`. This prevents `unexpected-keyword-arg` messages in Pylint
  where the `Uninferable` string appeared in function arguments that were
  constructed dynamically.

  Closes [pylint-dev/pylint#10822](https://github.com/pylint-dev/pylint/issues/10822)

- Add support for type constraints (`isinstance(x, y)`) in inference.

  Closes [pylint-dev/pylint#1162](https://github.com/pylint-dev/pylint/issues/1162)
  Closes [pylint-dev/pylint#4635](https://github.com/pylint-dev/pylint/issues/4635)
  Closes [pylint-dev/pylint#10469](https://github.com/pylint-dev/pylint/issues/10469)

- Make `type.__new__()` raise clear errors instead of returning `None`

- Move object dunder methods from `FunctionModel` to `ObjectModel` to make them
  available on all object types, not just functions.

  Closes [#&#8203;2742](https://github.com/pylint-dev/astroid/issues/2742)
  Closes [#&#8203;2741](https://github.com/pylint-dev/astroid/issues/2741)
  Closes [pylint-dev/pylint#6094](https://github.com/pylint-dev/pylint/issues/6094)

- `lineno` and `end_lineno` are now available on `Arguments`.

- Add helper to iterate over all annotations nodes of function arguments,
  `Arguments.get_annotations()`.

  Refs [#&#8203;2860](https://github.com/pylint-dev/astroid/issues/2860)

- Skip direct parent when determining the `Decorator` frame.

  Refs [pylint-dev/pylint#8425](https://github.com/pylint-dev/pylint/issues/8425)

- Add simple command line interface for astroid to output generated AST.
  Use with `python -m astroid`.

- Fix incorrect type inference for `super().method()` calls that return `Self`.
  Previously, astroid would infer the parent class type instead of the child class type,
  causing pylint E1101 false positives in method chaining scenarios.

  Closes [#&#8203;457](https://github.com/pylint-dev/astroid/issues/457)

- Add missing `dtype` and `casting` parameters to `numpy.concatenate` brain.

  Closes [#&#8203;2870](https://github.com/pylint-dev/astroid/issues/2870)

- Fix ability to detect .py modules inside PATH directories on Windows
  described by a UNC path with a trailing backslash (`\`)
  - Example: modutils.modpath\_from\_file(filename=r"\Mac\Code\tests\test\_resources.py", path=\["\mac\code"]) == \['tests', 'test\_resources']

- Fix `random.sample` inference crash when sequence contains uninferable elements.

  Closes [#&#8203;2518](https://github.com/pylint-dev/astroid/issues/2518)

- Fix `random.sample` crash when cloning `ClassDef` or `FunctionDef` nodes.

  Closes [#&#8203;2923](https://github.com/pylint-dev/astroid/issues/2923)

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zMS4xIiwidXBkYXRlZEluVmVyIjoiNDMuMzEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/562
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-02-23 22:18:56 +00:00
e231e0acd2 feat(deps): lock file maintenance (#561)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zMS4xIiwidXBkYXRlZEluVmVyIjoiNDMuMzEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #561
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-02-23 22:16:48 +00:00
3b036c4ea5 chore(deps): update dependency isort to v8 (#560)
All checks were successful
Release / Tag release (push) Successful in 7s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 2m3s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [isort](https://github.com/PyCQA/isort) ([changelog](https://github.com/PyCQA/isort/releases)) | `<7.0.1,>=7.0.0` → `<8.0.1,>=8.0.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/isort/8.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/isort/7.0.0/8.0.0?slim=true) |

---

### Release Notes

<details>
<summary>PyCQA/isort (isort)</summary>

### [`v8.0.0`](https://github.com/PyCQA/isort/blob/HEAD/CHANGELOG.md#800-February-19-2026)

[Compare Source](https://github.com/PyCQA/isort/compare/7.0.0...8.0.0)

- Removed `--old-finders` and `--magic-placement` flags and `old_finders` configuration option. The legacy finder logic that relied on environment introspection has been removed ([#&#8203;2445](https://github.com/PyCQA/isort/issues/2445)) [@&#8203;joao-faria-dev](https://github.com/joao-faria-dev)
  - Update the `plone` profile to not clash with `black` ([#&#8203;2456](https://github.com/PyCQA/isort/issues/2456)) [@&#8203;ale-rt](https://github.com/ale-rt)

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNS4xMSIsInVwZGF0ZWRJblZlciI6IjQzLjI1LjExIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: Luke Tainton <luke@tainton.uk>
Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/560
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.55.1
2026-02-21 17:39:51 +00:00
bfde54d73c fix(deps): update dependency astroid to <=4.1.0 (#559)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [astroid](https://github.com/pylint-dev/astroid) | `<=4.0.3` → `<=4.1.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/astroid/4.1.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/astroid/4.0.3/4.1.0?slim=true) |

---

### Release Notes

<details>
<summary>pylint-dev/astroid (astroid)</summary>

### [`v4.1.0`](https://github.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-410)

[Compare Source](https://github.com/pylint-dev/astroid/compare/v4.0.4...v4.1.0)

\============================
Release date: 2026-02-08

- Add support for equality constraints (`==`, `!=`) in inference.
  Closes [pylint-dev/pylint#3632](https://github.com/pylint-dev/pylint/issues/3632)
  Closes [pylint-dev/pylint#3633](https://github.com/pylint-dev/pylint/issues/3633)

- Ensure `ast.JoinedStr` nodes are `Uninferable` when the `ast.FormattedValue` is
  `Uninferable`. This prevents `unexpected-keyword-arg` messages in Pylint
  where the `Uninferable` string appeared in function arguments that were
  constructed dynamically.

  Closes [pylint-dev/pylint#10822](https://github.com/pylint-dev/pylint/issues/10822)

- Add support for type constraints (`isinstance(x, y)`) in inference.

  Closes [pylint-dev/pylint#1162](https://github.com/pylint-dev/pylint/issues/1162)
  Closes [pylint-dev/pylint#4635](https://github.com/pylint-dev/pylint/issues/4635)
  Closes [pylint-dev/pylint#10469](https://github.com/pylint-dev/pylint/issues/10469)

- Make `type.__new__()` raise clear errors instead of returning `None`

- Move object dunder methods from `FunctionModel` to `ObjectModel` to make them
  available on all object types, not just functions.

  Closes [#&#8203;2742](https://github.com/pylint-dev/astroid/issues/2742)
  Closes [#&#8203;2741](https://github.com/pylint-dev/astroid/issues/2741)
  Closes [pylint-dev/pylint#6094](https://github.com/pylint-dev/pylint/issues/6094)

- `lineno` and `end_lineno` are now available on `Arguments`.

- Add helper to iterate over all annotations nodes of function arguments,
  `Arguments.get_annotations()`.

  Refs [#&#8203;2860](https://github.com/pylint-dev/astroid/issues/2860)

- Skip direct parent when determining the `Decorator` frame.

  Refs [pylint-dev/pylint#8425](https://github.com/pylint-dev/pylint/issues/8425)

- Add simple command line interface for astroid to output generated AST.
  Use with `python -m astroid`.

- Fix incorrect type inference for `super().method()` calls that return `Self`.
  Previously, astroid would infer the parent class type instead of the child class type,
  causing pylint E1101 false positives in method chaining scenarios.

  Closes [#&#8203;457](https://github.com/pylint-dev/astroid/issues/457)

- Add missing `dtype` and `casting` parameters to `numpy.concatenate` brain.

  Closes [#&#8203;2870](https://github.com/pylint-dev/astroid/issues/2870)

- Fix ability to detect .py modules inside PATH directories on Windows
  described by a UNC path with a trailing backslash (`\`)
  - Example: modutils.modpath\_from\_file(filename=r"\Mac\Code\tests\test\_resources.py", path=\["\mac\code"]) == \['tests', 'test\_resources']

- Fix `random.sample` inference crash when sequence contains uninferable elements.

  Closes [#&#8203;2518](https://github.com/pylint-dev/astroid/issues/2518)

- Fix `random.sample` crash when cloning `ClassDef` or `FunctionDef` nodes.

  Closes [#&#8203;2923](https://github.com/pylint-dev/astroid/issues/2923)

### [`v4.0.4`](https://github.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-404)

[Compare Source](https://github.com/pylint-dev/astroid/compare/v4.0.3...v4.0.4)

\============================
Release date: 2026-02-07

- Fix `is_namespace()` crash when search locations contain `pathlib.Path` objects.

  Closes [#&#8203;2942](https://github.com/pylint-dev/astroid/issues/2942)

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNS4wIiwidXBkYXRlZEluVmVyIjoiNDMuMTUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/559
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-02-15 17:51:45 +00:00
80b4bc0054 [SECURITY] Update dependency pillow to <12.1.2,>=12.1.1 [SECURITY] (#558)
All checks were successful
Release / Tag release (push) Successful in 27s
Release / Create Release (push) Successful in 27s
Release / Publish Docker Images (push) Successful in 1m25s
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.55.0
2026-02-14 13:38:45 +00:00
368710a9cb feat(deps): lock file maintenance (#556)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40LjMiLCJ1cGRhdGVkSW5WZXIiOiI0My40LjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: #556
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-02-14 13:35:02 +00:00
50ea42fb40 fix(deps): update dependency webex-bot to <1.2.1,>=1.2.0 (#553)
All checks were successful
Release / Tag release (push) Successful in 15s
Release / Create Release (push) Successful in 9s
Release / Publish Docker Images (push) Successful in 2m46s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [webex-bot](https://github.com/fbradyirl/webex_bot) | `<1.1.0,>=1.0.3` → `<1.2.1,>=1.2.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/webex-bot/1.2.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/webex-bot/1.0.8/1.2.0?slim=true) |

---

### Release Notes

<details>
<summary>fbradyirl/webex_bot (webex-bot)</summary>

### [`v1.2.0`](https://github.com/fbradyirl/webex_bot/releases/tag/v1.2.0)

[Compare Source](https://github.com/fbradyirl/webex_bot/compare/v1.1.13...v1.2.0)

- no changes

### [`v1.1.13`](https://github.com/fbradyirl/webex_bot/releases/tag/v1.1.13)

[Compare Source](https://github.com/fbradyirl/webex_bot/compare/v1.1.12...v1.1.13)

- no changes

### [`v1.1.12`](https://github.com/fbradyirl/webex_bot/releases/tag/v1.1.12)

[Compare Source](https://github.com/fbradyirl/webex_bot/compare/v1.0.8...v1.1.12)

- no changes

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yLjAiLCJ1cGRhdGVkSW5WZXIiOiI0My4yLjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: #553
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.54.0
2026-02-06 18:33:51 +00:00
9d9d23cd04 feat(deps): lock file maintenance (#552)
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4wLjkiLCJ1cGRhdGVkSW5WZXIiOiI0My4wLjkiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: #552
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-02-06 18:28:38 +00:00
68fc0d7a04 feat(deps): lock file maintenance (#551)
All checks were successful
Release / Tag release (push) Successful in 24s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 1m46s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi40IiwidXBkYXRlZEluVmVyIjoiNDIuOTIuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #551
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.53.0
2026-01-28 19:39:47 +00:00
b050d79bfc chore(deps): update actions/checkout action to v6.0.2 (#550)
All checks were successful
Release / Tag release (push) Successful in 14s
Release / Create Release (push) Successful in 1s
Release / Publish Docker Images (push) Successful in 1m51s
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.52.0
2026-01-22 18:43:28 +00:00
2f0fac30bc chore(security): remove Snyk security workflow and update renovate configuration (#549)
Reviewed-on: #549
2026-01-21 20:52:36 +00:00
2d09709b9f feat(deps): lock file maintenance (#548)
All checks were successful
Security / Snyk (push) Successful in 38s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuODQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #548
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-01-19 20:42:00 +00:00
a776ffec35 Update renovate.json
All checks were successful
Security / Snyk (push) Successful in 32s
2026-01-19 20:16:33 +00:00
0ac402951c chore(deps): update dependency black to v26 (#547)
All checks were successful
Security / Snyk (push) Successful in 1m53s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [black](https://github.com/psf/black) ([changelog](https://github.com/psf/black/blob/main/CHANGES.md)) | `<25.12.1,>=25.12.0` → `<26.1.1,>=26.1.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/black/26.1.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/25.12.0/26.1.0?slim=true) |

---

### Release Notes

<details>
<summary>psf/black (black)</summary>

### [`v26.1.0`](https://github.com/psf/black/blob/HEAD/CHANGES.md#2610)

[Compare Source](https://github.com/psf/black/compare/25.12.0...26.1.0)

##### Highlights

Introduces the 2026 stable style ([#&#8203;4892](https://github.com/psf/black/issues/4892)), stabilizing the following changes:

- `always_one_newline_after_import`: Always force one blank line after import
  statements, except when the line after the import is a comment or an import statement
  ([#&#8203;4489](https://github.com/psf/black/issues/4489))
- `fix_fmt_skip_in_one_liners`: Fix `# fmt: skip` behavior on one-liner declarations,
  such as `def foo(): return "mock" # fmt: skip`, where previously the declaration would
  have been incorrectly collapsed ([#&#8203;4800](https://github.com/psf/black/issues/4800))
- `fix_module_docstring_detection`: Fix module docstrings being treated as normal
  strings if preceded by comments ([#&#8203;4764](https://github.com/psf/black/issues/4764))
- `fix_type_expansion_split`: Fix type expansions split in generic functions ([#&#8203;4777](https://github.com/psf/black/issues/4777))
- `multiline_string_handling`: Make expressions involving multiline strings more compact
  ([#&#8203;1879](https://github.com/psf/black/issues/1879))
- `normalize_cr_newlines`: Add `\r` style newlines to the potential newlines to
  normalize file newlines both from and to ([#&#8203;4710](https://github.com/psf/black/issues/4710))
- `remove_parens_around_except_types`: Remove parentheses around multiple exception
  types in `except` and `except*` without `as` ([#&#8203;4720](https://github.com/psf/black/issues/4720))
- `remove_parens_from_assignment_lhs`: Remove unnecessary parentheses from the left-hand
  side of assignments while preserving magic trailing commas and intentional multiline
  formatting ([#&#8203;4865](https://github.com/psf/black/issues/4865))
- `standardize_type_comments`: Format type comments which have zero or more spaces
  between `#` and `type:` or between `type:` and value to `# type: (value)` ([#&#8203;4645](https://github.com/psf/black/issues/4645))

The following change was not in any previous stable release:

- Regenerated the `_width_table.py` and added tests for the Khmer language ([#&#8203;4253](https://github.com/psf/black/issues/4253))

This release alo bumps `pathspec` to v1 and fixes inconsistencies with Git's
`.gitignore` logic ([#&#8203;4958](https://github.com/psf/black/issues/4958)). Now, files will be ignored if a pattern matches them, even
if the parent directory is directly unignored. For example, Black would previously
format `exclude/not_this/foo.py` with this `.gitignore`:

```
exclude/
!exclude/not_this/
```

Now, `exclude/not_this/foo.py` will remain ignored. To ensure `exclude/not_this/` and
all of it's children are included in formatting (and in Git), use this `.gitignore`:

```
*/exclude/*
!*/exclude/not_this/
```

This new behavior matches Git. The leading `*/` are only necessary if you wish to ignore
matching subdirectories (like the previous behavior did), and not just matching root
directories.

##### Output

- Explicitly shutdown the multiprocessing manager when run in diff mode too ([#&#8203;4952](https://github.com/psf/black/issues/4952))

##### Integrations

- Upgraded PyPI upload workflow to use Trusted Publishing ([#&#8203;4611](https://github.com/psf/black/issues/4611))

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NC4yIiwidXBkYXRlZEluVmVyIjoiNDIuODQuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/547
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-01-18 21:47:07 +00:00
9a43677b58 feat(deps): lock file maintenance (#546)
All checks were successful
Security / Snyk (push) Successful in 35s
Release / Tag release (push) Successful in 8s
Release / Create Release (push) Successful in 1s
Release / Publish Docker Images (push) Successful in 1m14s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43OC4xIiwidXBkYXRlZEluVmVyIjoiNDIuNzguMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #546
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.51.0
2026-01-13 20:07:23 +00:00
e55986ac5f chore(repo): remove .archive directory (#545)
All checks were successful
Release / Tag release (push) Successful in 8s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 1m12s
Security / Snyk (push) Successful in 53s
Reviewed-on: #545
v0.50.0
2026-01-05 12:24:05 +00:00
ce0c743226 feat(deps): lock file maintenance (#544)
All checks were successful
Security / Snyk (push) Successful in 46s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNzEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #544
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-01-05 11:19:00 +00:00
03f5e54891 fix(deps): update dependency astroid to <=4.0.3 (#543)
All checks were successful
Release / Tag release (push) Successful in 11s
Release / Create Release (push) Successful in 3s
Release / Publish Docker Images (push) Successful in 1m20s
Security / Snyk (push) Successful in 53s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [astroid](https://github.com/pylint-dev/astroid) | `<=4.0.2` → `<=4.0.3` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/astroid/4.0.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/astroid/4.0.2/4.0.3?slim=true) |

---

### Release Notes

<details>
<summary>pylint-dev/astroid (astroid)</summary>

### [`v4.0.3`](https://github.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-403)

[Compare Source](https://github.com/pylint-dev/astroid/compare/v4.0.2...v4.0.3)

\============================
Release date: 2026-01-03

- Fix inference of `IfExp` (ternary expression) nodes to avoid prematurely narrowing
  results in the face of inference ambiguity.

  Closes [#&#8203;2899](https://github.com/pylint-dev/astroid/issues/2899)

- Fix base class inference for dataclasses using the PEP 695 typing syntax.

  Refs [pylint-dev/pylint#10788](https://github.com/pylint-dev/pylint/issues/10788)

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNzEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/543
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.49.1
2026-01-04 08:53:50 +00:00
9cbe80bd6c fix(deps): update dependency pillow to <12.1.1,>=12.1.0 (#542)
All checks were successful
Security / Snyk (push) Successful in 2m32s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [pillow](https://github.com/python-pillow/Pillow) ([changelog](https://github.com/python-pillow/Pillow/releases)) | `<12.0.1,>=12.0.0` → `<12.1.1,>=12.1.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/pillow/12.1.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pillow/12.0.0/12.1.0?slim=true) |

---

### Release Notes

<details>
<summary>python-pillow/Pillow (pillow)</summary>

### [`v12.1.0`](https://github.com/python-pillow/Pillow/releases/tag/12.1.0)

[Compare Source](https://github.com/python-pillow/Pillow/compare/12.0.0...12.1.0)

<https://pillow.readthedocs.io/en/stable/releasenotes/12.1.0.html>

#### Deprecations

- Deprecate getdata(), in favour of new get\_flattened\_data() [#&#8203;9292](https://github.com/python-pillow/Pillow/issues/9292) \[[@&#8203;radarhere](https://github.com/radarhere)]

#### Documentation

- Specify APNG duration type when opening [#&#8203;9368](https://github.com/python-pillow/Pillow/issues/9368) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Added release notes for [#&#8203;9350](https://github.com/python-pillow/Pillow/issues/9350) [#&#8203;9366](https://github.com/python-pillow/Pillow/issues/9366) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update ImageMorph documentation [#&#8203;9349](https://github.com/python-pillow/Pillow/issues/9349) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Docs: update major bump cadence [#&#8203;9334](https://github.com/python-pillow/Pillow/issues/9334) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Add release notes for [#&#8203;9070](https://github.com/python-pillow/Pillow/issues/9070) [#&#8203;9320](https://github.com/python-pillow/Pillow/issues/9320) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Updated Ubuntu version [#&#8203;9306](https://github.com/python-pillow/Pillow/issues/9306) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update macOS tested Pillow versions [#&#8203;9265](https://github.com/python-pillow/Pillow/issues/9265) \[[@&#8203;radarhere](https://github.com/radarhere)]

#### Dependencies

- Update harfbuzz to 12.3.0 [#&#8203;9355](https://github.com/python-pillow/Pillow/issues/9355) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update xz to 5.8.2 [#&#8203;9343](https://github.com/python-pillow/Pillow/issues/9343) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Updated libjpeg-turbo to 3.1.3 [#&#8203;9333](https://github.com/python-pillow/Pillow/issues/9333) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Updated zlib-ng to 2.3.2 [#&#8203;9324](https://github.com/python-pillow/Pillow/issues/9324) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Updated libpng to 1.6.53 [#&#8203;9325](https://github.com/python-pillow/Pillow/issues/9325) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update actions/checkout action to v6 [#&#8203;9323](https://github.com/python-pillow/Pillow/issues/9323) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Update dependency mypy to v1.19.0 [#&#8203;9322](https://github.com/python-pillow/Pillow/issues/9322) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Updated libpng to 1.6.51 [#&#8203;9305](https://github.com/python-pillow/Pillow/issues/9305) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Updated brotli to 1.2.0 [#&#8203;9284](https://github.com/python-pillow/Pillow/issues/9284) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update libimagequant to 4.4.1 [#&#8203;9301](https://github.com/python-pillow/Pillow/issues/9301) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update zlib-ng to 2.3.1, except on manylinux2014 aarch64 [#&#8203;9312](https://github.com/python-pillow/Pillow/issues/9312) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Updated harfbuzz to 12.2.0 [#&#8203;9289](https://github.com/python-pillow/Pillow/issues/9289) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update github-actions [#&#8203;9277](https://github.com/python-pillow/Pillow/issues/9277) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]

#### Testing

- Replace pre-commit with prek [#&#8203;9360](https://github.com/python-pillow/Pillow/issues/9360) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Test PyQt6 on Python 3.14 on Windows [#&#8203;9353](https://github.com/python-pillow/Pillow/issues/9353) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Test 32-bit Windows on Windows Server 2022 [#&#8203;9345](https://github.com/python-pillow/Pillow/issues/9345) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Correct variable type [#&#8203;9335](https://github.com/python-pillow/Pillow/issues/9335) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Fix `ResourceWarning`s in `selftest.py` [#&#8203;9332](https://github.com/python-pillow/Pillow/issues/9332) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Fix testing good P mode BMP images [#&#8203;9319](https://github.com/python-pillow/Pillow/issues/9319) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Test Python 3.15 pre-release [#&#8203;9331](https://github.com/python-pillow/Pillow/issues/9331) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Test ImageFont.ImageFont, in case freetype2 is not supported [#&#8203;9287](https://github.com/python-pillow/Pillow/issues/9287) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Add Fedora 43 [#&#8203;9290](https://github.com/python-pillow/Pillow/issues/9290) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Remove Fedora 41 [#&#8203;9260](https://github.com/python-pillow/Pillow/issues/9260) \[[@&#8203;radarhere](https://github.com/radarhere)]

#### Type hints

- Add ImageFile context manager [#&#8203;9367](https://github.com/python-pillow/Pillow/issues/9367) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Assert fp is not None [#&#8203;8617](https://github.com/python-pillow/Pillow/issues/8617) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Added return type to ImageFile \_close\_fp() [#&#8203;9356](https://github.com/python-pillow/Pillow/issues/9356) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Use different variables for Image and ImageFile instances [#&#8203;9316](https://github.com/python-pillow/Pillow/issues/9316) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Correct variable type [#&#8203;9335](https://github.com/python-pillow/Pillow/issues/9335) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Improve type hints [#&#8203;9317](https://github.com/python-pillow/Pillow/issues/9317) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Use different variables for Image and ImageFile instances [#&#8203;9268](https://github.com/python-pillow/Pillow/issues/9268) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Added type hints [#&#8203;9269](https://github.com/python-pillow/Pillow/issues/9269) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Correct **getitem** return type [#&#8203;9264](https://github.com/python-pillow/Pillow/issues/9264) \[[@&#8203;radarhere](https://github.com/radarhere)]

#### Other changes

- Simplify band splitting [#&#8203;9291](https://github.com/python-pillow/Pillow/issues/9291) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Support saving APNG float durations [#&#8203;9365](https://github.com/python-pillow/Pillow/issues/9365) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Allow 1 mode images in MorphOp [#&#8203;9348](https://github.com/python-pillow/Pillow/issues/9348) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Use minimum supported Python version for Lint [#&#8203;9364](https://github.com/python-pillow/Pillow/issues/9364) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Allow for duplicate font variation styles [#&#8203;9362](https://github.com/python-pillow/Pillow/issues/9362) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Call parent verify method [#&#8203;9357](https://github.com/python-pillow/Pillow/issues/9357) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Return LUT from LutBuilder build\_default\_lut() [#&#8203;9350](https://github.com/python-pillow/Pillow/issues/9350) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Simplify WebP code [#&#8203;9329](https://github.com/python-pillow/Pillow/issues/9329) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Use unsigned long for DWORD [#&#8203;9352](https://github.com/python-pillow/Pillow/issues/9352) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Cast to UINT32 before shifting bits [#&#8203;9347](https://github.com/python-pillow/Pillow/issues/9347) \[[@&#8203;radarhere](https://github.com/radarhere)]
- \[pre-commit.ci] pre-commit autoupdate [#&#8203;9318](https://github.com/python-pillow/Pillow/issues/9318) \[@&#8203;[pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci)]
- Allow window ID to be passed to ImageGrab.grab() on macOS [#&#8203;9070](https://github.com/python-pillow/Pillow/issues/9070) \[[@&#8203;yankeguo](https://github.com/yankeguo)]
- Apply encoder options when saving multiple PNG frames [#&#8203;9300](https://github.com/python-pillow/Pillow/issues/9300) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Read all non-zero transparency from mode 1 PNG images as 255 [#&#8203;9282](https://github.com/python-pillow/Pillow/issues/9282) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Support writing IFD, SIGNED\_RATIONAL and InkNames TIFF tags [#&#8203;9276](https://github.com/python-pillow/Pillow/issues/9276) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Remove unused modes [#&#8203;9275](https://github.com/python-pillow/Pillow/issues/9275) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Correct allocating new color to RGBA palette [#&#8203;9313](https://github.com/python-pillow/Pillow/issues/9313) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Close image on ImageFont exception [#&#8203;9304](https://github.com/python-pillow/Pillow/issues/9304) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Reapply "Use macos-latest for iOS arm64 simulator" [#&#8203;9259](https://github.com/python-pillow/Pillow/issues/9259) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Escape period in pre-commit-config [#&#8203;9036](https://github.com/python-pillow/Pillow/issues/9036) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Add Apache-2.0 notice to IcoImagePlugin [#&#8203;8947](https://github.com/python-pillow/Pillow/issues/8947) \[[@&#8203;stefan6419846](https://github.com/stefan6419846)]
- \[pre-commit.ci] pre-commit autoupdate [#&#8203;9288](https://github.com/python-pillow/Pillow/issues/9288) \[@&#8203;[pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci)]
- Simplify code now that I;16\* modes are the only IMAGING\_TYPE\_SPECIAL [#&#8203;9263](https://github.com/python-pillow/Pillow/issues/9263) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Remove BytesIO from DdsImagePlugin [#&#8203;9273](https://github.com/python-pillow/Pillow/issues/9273) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Fix ZeroDivisionError in DdsImagePlugin [#&#8203;9272](https://github.com/python-pillow/Pillow/issues/9272) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Fix warnings [#&#8203;9257](https://github.com/python-pillow/Pillow/issues/9257) \[[@&#8203;radarhere](https://github.com/radarhere)]

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4yIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/542
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2026-01-02 11:00:21 +00:00
e30fb78242 feat(deps): lock file maintenance (#541)
All checks were successful
Release / Tag release (push) Successful in 15s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 1m13s
Security / Snyk (push) Successful in 55s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42NC4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #541
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.49.0
2025-12-23 00:25:46 +00:00
96dea5e1a1 feat(deps): lock file maintenance (#540)
All checks were successful
Release / Tag release (push) Successful in 8s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 1m18s
Security / Snyk (push) Successful in 31s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi41Mi44IiwidXBkYXRlZEluVmVyIjoiNDIuNTIuOCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #540
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.48.0
2025-12-15 21:30:36 +00:00
ca3e7a4f09 chore(deps): update actions/cache action to v5 (#539)
All checks were successful
Release / Tag release (push) Successful in 9s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 1m13s
Security / Snyk (push) Successful in 1m59s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://github.com/actions/cache) | action | major | `v4` -> `v5` |

---

### Release Notes

<details>
<summary>actions/cache (actions/cache)</summary>

### [`v5`](https://github.com/actions/cache/compare/v4...v5)

[Compare Source](https://github.com/actions/cache/compare/v4...v5)

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi40Ni4wIiwidXBkYXRlZEluVmVyIjoiNDIuNDYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #539
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.47.0
2025-12-11 21:56:20 +00:00
40254c6dab chore(deps): update dependency black to <25.12.1,>=25.12.0 (#538)
Some checks failed
Security / Snyk (push) Failing after 36m55s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [black](https://github.com/psf/black) ([changelog](https://github.com/psf/black/blob/main/CHANGES.md)) | `<25.11.1,>=25.11.0` -> `<25.12.1,>=25.12.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/black/25.12.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/25.11.0/25.12.0?slim=true) |

---

### Release Notes

<details>
<summary>psf/black (black)</summary>

### [`v25.12.0`](https://github.com/psf/black/blob/HEAD/CHANGES.md#25120)

[Compare Source](https://github.com/psf/black/compare/25.11.0...25.12.0)

##### Highlights

- Black no longer supports running with Python 3.9 ([#&#8203;4842](https://github.com/psf/black/issues/4842))

##### Stable style

- Fix bug where comments preceding `# fmt: off`/`# fmt: on` blocks were incorrectly
  removed, particularly affecting Jupytext's `# %% [markdown]` comments ([#&#8203;4845](https://github.com/psf/black/issues/4845))
- Fix crash when multiple `# fmt: skip` comments are used in a multi-part if-clause, on
  string literals, or on dictionary entries with long lines ([#&#8203;4872](https://github.com/psf/black/issues/4872))
- Fix possible crash when `fmt: ` directives aren't on the top level ([#&#8203;4856](https://github.com/psf/black/issues/4856))

##### Preview style

- Fix `fmt: skip` skipping the line after instead of the line it's on ([#&#8203;4855](https://github.com/psf/black/issues/4855))
- Remove unnecessary parentheses from the left-hand side of assignments while preserving
  magic trailing commas and intentional multiline formatting ([#&#8203;4865](https://github.com/psf/black/issues/4865))
- Fix `fix_fmt_skip_in_one_liners` crashing on `with` statements ([#&#8203;4853](https://github.com/psf/black/issues/4853))
- Fix `fix_fmt_skip_in_one_liners` crashing on annotated parameters ([#&#8203;4854](https://github.com/psf/black/issues/4854))
- Fix new lines being added after imports with `# fmt: skip` on them ([#&#8203;4894](https://github.com/psf/black/issues/4894))

##### Packaging

- Releases now include arm64 Windows binaries and wheels ([#&#8203;4814](https://github.com/psf/black/issues/4814))

##### Integrations

- Add `output-file` input to GitHub Action `psf/black` to write formatter output to a
  file for artifact capture and log cleanliness ([#&#8203;4824](https://github.com/psf/black/issues/4824))

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS40IiwidXBkYXRlZEluVmVyIjoiNDIuMzkuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/538
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-12-08 07:46:00 +00:00
0868aa84b4 feat(deps): lock file maintenance (#537)
All checks were successful
Security / Snyk (push) Successful in 1m38s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #537
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-12-07 11:24:15 +00:00
9d4f405a81 chore(deps): update actions/checkout action to v6.0.1 (#536)
All checks were successful
Security / Snyk (push) Successful in 40s
Release / Tag release (push) Successful in 12s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 1m3s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | patch | `v6.0.0` -> `v6.0.1` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v6.0.1`](https://github.com/actions/checkout/releases/tag/v6.0.1)

[Compare Source](https://github.com/actions/checkout/compare/v6.0.0...v6.0.1)

#### What's Changed

- Update all references from v5 and v4 to v6 by [@&#8203;ericsciple](https://github.com/ericsciple) in [#&#8203;2314](https://github.com/actions/checkout/pull/2314)
- Add worktree support for persist-credentials includeIf by [@&#8203;ericsciple](https://github.com/ericsciple) in [#&#8203;2327](https://github.com/actions/checkout/pull/2327)
- Clarify v6 README by [@&#8203;ericsciple](https://github.com/ericsciple) in [#&#8203;2328](https://github.com/actions/checkout/pull/2328)

**Full Changelog**: <https://github.com/actions/checkout/compare/v6...v6.0.1>

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMC4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzAuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #536
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.46.0
2025-12-06 11:03:14 +00:00
1b30048b4a feat(deps): lock file maintenance (#535)
All checks were successful
Security / Snyk (push) Successful in 34s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yNy4wIiwidXBkYXRlZEluVmVyIjoiNDIuMjcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #535
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-12-01 22:20:49 +00:00
447b1db5ba feat(deps): lock file maintenance (#534)
All checks were successful
Release / Tag release (push) Successful in 11s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 1m6s
Security / Snyk (push) Successful in 35s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS4zIiwidXBkYXRlZEluVmVyIjoiNDIuMTkuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #534
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.45.0
2025-11-27 18:53:23 +00:00
a821ee7349 chore(deps): update actions/checkout action to v6 (#533)
All checks were successful
Release / Tag release (push) Successful in 8s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 1m7s
Security / Snyk (push) Successful in 32s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | major | `v5.0.1` -> `v6.0.0` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v6.0.0`](https://github.com/actions/checkout/releases/tag/v6.0.0)

[Compare Source](https://github.com/actions/checkout/compare/v5.0.1...v6.0.0)

#### What's Changed

- Update README to include Node.js 24 support details and requirements by [@&#8203;salmanmkc](https://github.com/salmanmkc) in [#&#8203;2248](https://github.com/actions/checkout/pull/2248)
- Persist creds to a separate file by [@&#8203;ericsciple](https://github.com/ericsciple) in [#&#8203;2286](https://github.com/actions/checkout/pull/2286)
- v6-beta by [@&#8203;ericsciple](https://github.com/ericsciple) in [#&#8203;2298](https://github.com/actions/checkout/pull/2298)
- update readme/changelog for v6 by [@&#8203;ericsciple](https://github.com/ericsciple) in [#&#8203;2311](https://github.com/actions/checkout/pull/2311)

**Full Changelog**: <https://github.com/actions/checkout/compare/v5.0.0...v6.0.0>

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOC4wIiwidXBkYXRlZEluVmVyIjoiNDIuMTguMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #533
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.44.0
2025-11-20 16:51:58 +00:00
b3bb385a16 feat(deps): lock file maintenance (#531)
All checks were successful
Security / Snyk (push) Successful in 32s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xMS4wIiwidXBkYXRlZEluVmVyIjoiNDIuMTEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #531
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-11-17 19:15:31 +00:00
de0ab0b758 chore(deps): update actions/checkout action to v5.0.1 (#532)
All checks were successful
Security / Snyk (push) Successful in 29s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | patch | `v5.0.0` -> `v5.0.1` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v5.0.1`](https://github.com/actions/checkout/releases/tag/v5.0.1)

[Compare Source](https://github.com/actions/checkout/compare/v5.0.0...v5.0.1)

#### What's Changed

- Port v6 cleanup to v5 by [@&#8203;ericsciple](https://github.com/ericsciple) in [#&#8203;2301](https://github.com/actions/checkout/pull/2301)

**Full Changelog**: <https://github.com/actions/checkout/compare/v5...v5.0.1>

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xMi4xIiwidXBkYXRlZEluVmVyIjoiNDIuMTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9kZXBlbmRlbmNpZXMiXX0=-->

Reviewed-on: #532
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-11-17 18:48:57 +00:00
5a668b766c feat(ci): Add pytest-github-actions-annotate-failures (#530)
All checks were successful
Release / Tag release (push) Successful in 9s
Release / Create Release (push) Successful in 2s
Release / Publish Docker Images (push) Successful in 1m0s
Security / Snyk (push) Successful in 1m25s
Reviewed-on: #530
v0.43.0
2025-11-10 21:56:24 +00:00
ae0218800b feat(deps): lock file maintenance (#528)
All checks were successful
Security / Snyk (push) Successful in 30s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yLjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi4yLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: #528
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-11-10 21:14:04 +00:00
86310040a1 chore(deps): update dependency black to <25.11.1,>=25.11.0 (#529)
Some checks failed
Security / Snyk (push) Has been cancelled
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [black](https://github.com/psf/black) ([changelog](https://github.com/psf/black/blob/main/CHANGES.md)) | `<25.9.1,>=25.9.0` -> `<25.11.1,>=25.11.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/black/25.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/black/25.9.0/25.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>psf/black (black)</summary>

### [`v25.11.0`](https://github.com/psf/black/blob/HEAD/CHANGES.md#25110)

[Compare Source](https://github.com/psf/black/compare/25.9.0...25.11.0)

##### Highlights

- Enable base 3.14 support ([#&#8203;4804](https://github.com/psf/black/issues/4804))
- Add support for the new Python 3.14 t-string syntax introduced by PEP 750 ([#&#8203;4805](https://github.com/psf/black/issues/4805))

##### Stable style

- Fix bug where comments between `# fmt: off` and `# fmt: on` were reformatted ([#&#8203;4811](https://github.com/psf/black/issues/4811))
- Comments containing fmt directives now preserve their exact formatting instead of
  being normalized ([#&#8203;4811](https://github.com/psf/black/issues/4811))

##### Preview style

- Move `multiline_string_handling` from `--unstable` to `--preview` ([#&#8203;4760](https://github.com/psf/black/issues/4760))
- Fix bug where module docstrings would be treated as normal strings if preceded by
  comments ([#&#8203;4764](https://github.com/psf/black/issues/4764))
- Fix bug where python 3.12 generics syntax split line happens weirdly ([#&#8203;4777](https://github.com/psf/black/issues/4777))
- Standardize type comments to form `# type: <value>` ([#&#8203;4645](https://github.com/psf/black/issues/4645))
- Fix `fix_fmt_skip_in_one_liners` preview feature to respect `# fmt: skip` for compound
  statements with semicolon-separated bodies ([#&#8203;4800](https://github.com/psf/black/issues/4800))

##### Configuration

- Add `no_cache` option to control caching behavior. ([#&#8203;4803](https://github.com/psf/black/issues/4803))

##### Packaging

- Releases now include arm64 Linux binaries ([#&#8203;4773](https://github.com/psf/black/issues/4773))

##### Output

- Write unchanged content to stdout when excluding formatting from stdin using pipes
  ([#&#8203;4610](https://github.com/psf/black/issues/4610))

##### *Blackd*

- Implemented BlackDClient. This simple python client allows to easily send formatting
  requests to blackd ([#&#8203;4774](https://github.com/psf/black/issues/4774))

##### Integrations

- Enable 3.14 base CI ([#&#8203;4804](https://github.com/psf/black/issues/4804))
- Enhance GitHub Action `psf/black` to support the `required-version` major-version-only
  "stability" format when using pyproject.toml ([#&#8203;4770](https://github.com/psf/black/issues/4770))
- Improve error message for vim plugin users. It now handles independently vim version
- Vim: Warn on unsupported Vim and Python versions independently ([#&#8203;4772](https://github.com/psf/black/issues/4772))
- Vim: Print the import paths when importing black fails ([#&#8203;4675](https://github.com/psf/black/issues/4675))
- Vim: Fix handling of virtualenvs that have a different Python version ([#&#8203;4675](https://github.com/psf/black/issues/4675))

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yLjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi4yLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/529
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-11-10 21:13:47 +00:00
6bb4791a51 fix(deps): update dependency astroid to <=4.0.2 (#527)
Some checks failed
Security / Snyk (push) Has been cancelled
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [astroid](https://github.com/pylint-dev/astroid) | `<=4.0.1` -> `<=4.0.2` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/astroid/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/astroid/4.0.1/4.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>pylint-dev/astroid (astroid)</summary>

### [`v4.0.2`](https://github.com/pylint-dev/astroid/blob/HEAD/ChangeLog#Whats-New-in-astroid-402)

[Compare Source](https://github.com/pylint-dev/astroid/compare/v4.0.1...v4.0.2)

\============================
Release date: 2025-11-09

- Handle FunctionDef blockstart\_tolineno edge cases correctly.

  Refs [#&#8203;2880](https://github.com/pylint-dev/astroid/issues/2880)

- Add `HTTPMethod` enum support to brain module for Python 3.11+.

  Refs [pylint-dev/pylint#10624](https://github.com/pylint-dev/pylint/issues/10624)
  Closes [#&#8203;2877](https://github.com/pylint-dev/astroid/issues/2877)

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yLjAiLCJ1cGRhdGVkSW5WZXIiOiI0Mi40LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/527
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-11-10 21:13:35 +00:00
f80dbf492d chore(deps): update dependency pytest to v9 (#526)
All checks were successful
Release / Tag release (push) Successful in 14s
Release / Create Release (push) Successful in 4s
Release / Publish Docker Images (push) Successful in 1m12s
Security / Snyk (push) Successful in 1m11s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [pytest](https://github.com/pytest-dev/pytest) ([changelog](https://docs.pytest.org/en/stable/changelog.html)) | `<9.0.0,>=8.3.4` -> `<9.1.0,>=9.0.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/8.4.2/9.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>pytest-dev/pytest (pytest)</summary>

### [`v9.0.0`](https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.0)

[Compare Source](https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.0)

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xLjMiLCJ1cGRhdGVkSW5WZXIiOiI0Mi4xLjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInR5cGUvZGVwZW5kZW5jaWVzIl19-->

Reviewed-on: #526
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.42.0
2025-11-08 17:42:06 +00:00
6d0c4ef55a feat(deps): lock file maintenance (#525)
All checks were successful
Security / Snyk (push) Successful in 1m42s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjkuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE2OS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: #525
Reviewed-by: Luke Tainton <luke@tainton.uk>
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-11-03 21:24:00 +00:00
407368dfc5 fix(python): downgrade to latest Python 3.13 (#523)
All checks were successful
Security / Snyk (push) Successful in 56s
This app's dependencies do not work with Python 3.14's new async event loop changes, so I am setting the upper version limit to 3.13.

Reviewed-on: #523
v0.41.1
2025-11-02 17:33:31 +00:00
51cdbeaf19 feat(deps): update https://git.tainton.uk/actions/conventional-commits-check-action action to v1.3.0 (#522)
All checks were successful
Security / Snyk (push) Successful in 1m21s
Release / Tag release (push) Successful in 20s
Release / Create Release (push) Successful in 1s
Release / Publish Docker Images (push) Successful in 1m12s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://git.tainton.uk/actions/conventional-commits-check-action](https://git.tainton.uk/actions/conventional-commits-check-action) | action | minor | `v1.2.4` -> `v1.3.0` |

---

### Release Notes

<details>
<summary>actions/conventional-commits-check-action (https://git.tainton.uk/actions/conventional-commits-check-action)</summary>

### [`v1.3.0`](https://git.tainton.uk/actions/conventional-commits-check-action/releases/tag/v1.3.0)

[Compare Source](https://git.tainton.uk/actions/conventional-commits-check-action/compare/v1.2.4...v1.3.0)

##### Features

- **deps:** update conventional-pre-commit to 4.3.0 ([b6d1665](b6d1665137))

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNjUuNSIsInVwZGF0ZWRJblZlciI6IjQxLjE2NS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: #522
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.41.0
2025-10-30 20:47:34 +00:00
503d65b56f Update renovate.json
All checks were successful
Security / Snyk (push) Successful in 27s
2025-10-30 20:12:09 +00:00
e85eaf3452 chore(deps): lock file maintenance (#521)
All checks were successful
Security / Snyk (push) Successful in 1m19s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTkuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1OS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: #521
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-10-27 10:50:47 +00:00
5b98b132c6 chore(deps): lock file maintenance (#520)
Some checks failed
Release / Tag release (push) Successful in 16s
Release / Create Release (push) Successful in 5s
Release / Publish Docker Images (push) Failing after 1m3s
Security / Snyk (push) Successful in 1m11s
This PR contains the following updates:

| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |

🔧 This Pull Request updates lock files to use the latest dependency versions.

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on monday" (UTC), Automerge - At any time (no schedule defined).

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

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTIuOSIsInVwZGF0ZWRJblZlciI6IjQxLjE1Mi45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: #520
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-10-20 06:21:36 +00:00
d1f492b218 fix(deps): update dependency pillow to v12 (#519)
All checks were successful
Release / Tag release (push) Successful in 7s
Release / Create Release (push) Successful in 6s
Release / Publish Docker Images (push) Successful in 1m8s
Security / Snyk (push) Successful in 1m9s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [pillow](https://github.com/python-pillow/Pillow) ([changelog](https://github.com/python-pillow/Pillow/releases)) | `<12.0.0,>=11.0.0` -> `<12.0.1,>=12.0.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/pillow/12.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pillow/11.3.0/12.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>python-pillow/Pillow (pillow)</summary>

### [`v12.0.0`](https://github.com/python-pillow/Pillow/releases/tag/12.0.0)

[Compare Source](https://github.com/python-pillow/Pillow/compare/11.3.0...12.0.0)

<https://pillow.readthedocs.io/en/stable/releasenotes/12.0.0.html>

#### Removals

- Remove support for FreeType <= 2.9.0 [#&#8203;9159](https://github.com/python-pillow/Pillow/issues/9159) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Drop support for Python 3.9 [#&#8203;9119](https://github.com/python-pillow/Pillow/issues/9119) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Remove deprecations for Pillow 12.0.0 [#&#8203;9053](https://github.com/python-pillow/Pillow/issues/9053) \[[@&#8203;radarhere](https://github.com/radarhere)]

#### Deprecations

- Deprecate Image.\_show [#&#8203;9186](https://github.com/python-pillow/Pillow/issues/9186) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Deprecate ImageCmsProfile product\_name and product\_info [#&#8203;8995](https://github.com/python-pillow/Pillow/issues/8995) \[[@&#8203;lukegb](https://github.com/lukegb)]

#### Documentation

- ImagingHistogramInstance can use two bands [#&#8203;9251](https://github.com/python-pillow/Pillow/issues/9251) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update 12.0.0 release notes [#&#8203;9247](https://github.com/python-pillow/Pillow/issues/9247) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Added ImageDraw alpha channel examples [#&#8203;9201](https://github.com/python-pillow/Pillow/issues/9201) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update Python version [#&#8203;9230](https://github.com/python-pillow/Pillow/issues/9230) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Updated macOS tested Pillow versions [#&#8203;9209](https://github.com/python-pillow/Pillow/issues/9209) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Add GitHub profile link to release notes [#&#8203;9197](https://github.com/python-pillow/Pillow/issues/9197) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Split versionadded info [#&#8203;9190](https://github.com/python-pillow/Pillow/issues/9190) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Document ImageFile.MAXBLOCK [#&#8203;9163](https://github.com/python-pillow/Pillow/issues/9163) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Updated macOS version in CI targets [#&#8203;9157](https://github.com/python-pillow/Pillow/issues/9157) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Fix typos [#&#8203;9135](https://github.com/python-pillow/Pillow/issues/9135) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Added "Colors" to concepts [#&#8203;9067](https://github.com/python-pillow/Pillow/issues/9067) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update macOS tested Pillow versions [#&#8203;9068](https://github.com/python-pillow/Pillow/issues/9068) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Thanks, folks! [#&#8203;9056](https://github.com/python-pillow/Pillow/issues/9056) \[[@&#8203;aclark4life](https://github.com/aclark4life)]
- Setup nit: "fork" should be lowercased [#&#8203;9055](https://github.com/python-pillow/Pillow/issues/9055) \[[@&#8203;aclark4life](https://github.com/aclark4life)]

#### Dependencies

- Update dependency cibuildwheel to v3.2.1 [#&#8203;9246](https://github.com/python-pillow/Pillow/issues/9246) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- \[pre-commit.ci] pre-commit autoupdate [#&#8203;9233](https://github.com/python-pillow/Pillow/issues/9233) \[@&#8203;[pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci)]
- Update harfbuzz to 12.1.0 [#&#8203;9218](https://github.com/python-pillow/Pillow/issues/9218) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update libtiff to 4.7.1 [#&#8203;9222](https://github.com/python-pillow/Pillow/issues/9222) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update FreeType to 2.14.1 on macOS and Linux wheels [#&#8203;9217](https://github.com/python-pillow/Pillow/issues/9217) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update dependency cibuildwheel to v3.2.0 [#&#8203;9219](https://github.com/python-pillow/Pillow/issues/9219) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Update Ghostscript to 10.6.0 [#&#8203;9202](https://github.com/python-pillow/Pillow/issues/9202) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update openjpeg to 2.5.4 [#&#8203;9215](https://github.com/python-pillow/Pillow/issues/9215) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update harfbuzz to 11.5.0 [#&#8203;9203](https://github.com/python-pillow/Pillow/issues/9203) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update dependency mypy to v1.18.2 [#&#8203;9213](https://github.com/python-pillow/Pillow/issues/9213) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Update dependency mypy to v1.18.1 [#&#8203;9207](https://github.com/python-pillow/Pillow/issues/9207) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Update github-actions [#&#8203;9194](https://github.com/python-pillow/Pillow/issues/9194) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Updated harfbuzz to 11.4.5 [#&#8203;9150](https://github.com/python-pillow/Pillow/issues/9150) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update zlib-ng to 2.2.5 [#&#8203;9140](https://github.com/python-pillow/Pillow/issues/9140) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update raqm to 0.10.3 [#&#8203;9137](https://github.com/python-pillow/Pillow/issues/9137) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update libjpeg-turbo to 3.1.2 [#&#8203;9188](https://github.com/python-pillow/Pillow/issues/9188) \[[@&#8203;radarhere](https://github.com/radarhere)]
- \[pre-commit.ci] pre-commit autoupdate [#&#8203;9180](https://github.com/python-pillow/Pillow/issues/9180) \[@&#8203;[pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci)]
- Update dependency cibuildwheel to v3.1.4 [#&#8203;9164](https://github.com/python-pillow/Pillow/issues/9164) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Update actions/checkout action to v5 [#&#8203;9156](https://github.com/python-pillow/Pillow/issues/9156) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Update actions/download-artifact action to v5 [#&#8203;9141](https://github.com/python-pillow/Pillow/issues/9141) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Updated harfbuzz to 11.3.3 [#&#8203;9103](https://github.com/python-pillow/Pillow/issues/9103) \[[@&#8203;radarhere](https://github.com/radarhere)]
- \[pre-commit.ci] pre-commit autoupdate [#&#8203;9131](https://github.com/python-pillow/Pillow/issues/9131) \[@&#8203;[pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci)]
- Updated libimagequant to 4.4.0 [#&#8203;9074](https://github.com/python-pillow/Pillow/issues/9074) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update dependency mypy to v1.17.1 [#&#8203;9130](https://github.com/python-pillow/Pillow/issues/9130) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Update dependency cibuildwheel to v3.1.3 [#&#8203;9129](https://github.com/python-pillow/Pillow/issues/9129) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Update dependency cibuildwheel to v3.1.2 [#&#8203;9118](https://github.com/python-pillow/Pillow/issues/9118) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Updated libpng to 1.6.50 [#&#8203;9058](https://github.com/python-pillow/Pillow/issues/9058) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update cygwin/cygwin-install-action action to v6 [#&#8203;9108](https://github.com/python-pillow/Pillow/issues/9108) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Update dependency mypy to v1.17.0 [#&#8203;9092](https://github.com/python-pillow/Pillow/issues/9092) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- Updated libwebp to 1.6.0 [#&#8203;9082](https://github.com/python-pillow/Pillow/issues/9082) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update dependency cibuildwheel to v3.0.1 [#&#8203;9075](https://github.com/python-pillow/Pillow/issues/9075) \[@&#8203;[renovate\[bot\]](https://github.com/apps/renovate)]
- \[pre-commit.ci] pre-commit autoupdate [#&#8203;9073](https://github.com/python-pillow/Pillow/issues/9073) \[@&#8203;[pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci)]

#### Testing

- Check return types [#&#8203;9045](https://github.com/python-pillow/Pillow/issues/9045) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Upgrade from macos-13 [#&#8203;9212](https://github.com/python-pillow/Pillow/issues/9212) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Wheels CI: Check number of expected dists [#&#8203;9239](https://github.com/python-pillow/Pillow/issues/9239) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Assert image type [#&#8203;8845](https://github.com/python-pillow/Pillow/issues/8845) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Test GD transparency [#&#8203;9196](https://github.com/python-pillow/Pillow/issues/9196) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Test mode when saving PPM images [#&#8203;9195](https://github.com/python-pillow/Pillow/issues/9195) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Test unsupported BMP bitfields layout [#&#8203;9193](https://github.com/python-pillow/Pillow/issues/9193) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update Ghostscript to 10.6.0 [#&#8203;9202](https://github.com/python-pillow/Pillow/issues/9202) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Use monkeypatch [#&#8203;9192](https://github.com/python-pillow/Pillow/issues/9192) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Always check XMLPacket value [#&#8203;9113](https://github.com/python-pillow/Pillow/issues/9113) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Rename variable to not shadow import [#&#8203;9124](https://github.com/python-pillow/Pillow/issues/9124) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Removed unused code [#&#8203;9182](https://github.com/python-pillow/Pillow/issues/9182) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Add has\_feature\_version helper [#&#8203;9172](https://github.com/python-pillow/Pillow/issues/9172) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Replace print with assert [#&#8203;9171](https://github.com/python-pillow/Pillow/issues/9171) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Add Debian 13 Trixie [#&#8203;9147](https://github.com/python-pillow/Pillow/issues/9147) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Do not import from Tests directory in checks [#&#8203;9143](https://github.com/python-pillow/Pillow/issues/9143) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Improve features test coverage [#&#8203;9077](https://github.com/python-pillow/Pillow/issues/9077) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Remove WebP feature handling [#&#8203;9096](https://github.com/python-pillow/Pillow/issues/9096) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Update for pyroma 5.0 [#&#8203;9093](https://github.com/python-pillow/Pillow/issues/9093) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Improve WmfImagePlugin test coverage [#&#8203;9090](https://github.com/python-pillow/Pillow/issues/9090) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Improve DdsImagePlugin test coverage [#&#8203;9091](https://github.com/python-pillow/Pillow/issues/9091) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Improve ImageMath test coverage [#&#8203;9087](https://github.com/python-pillow/Pillow/issues/9087) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Fix unclosed file warning [#&#8203;9065](https://github.com/python-pillow/Pillow/issues/9065) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Pyroma now supports PEP 639 [#&#8203;9064](https://github.com/python-pillow/Pillow/issues/9064) \[[@&#8203;radarhere](https://github.com/radarhere)]

#### Type hints

- Install arro3 dependencies when type checking [#&#8203;9254](https://github.com/python-pillow/Pillow/issues/9254) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Check return types [#&#8203;9045](https://github.com/python-pillow/Pillow/issues/9045) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Assert image type [#&#8203;8845](https://github.com/python-pillow/Pillow/issues/8845) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Move imports into TYPE\_CHECKING [#&#8203;9123](https://github.com/python-pillow/Pillow/issues/9123) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Remove support for NumPy 1.20 when type checking [#&#8203;9125](https://github.com/python-pillow/Pillow/issues/9125) \[[@&#8203;radarhere](https://github.com/radarhere)]

#### Other changes

- Use macos-14 for iOS arm64 simulator [#&#8203;9258](https://github.com/python-pillow/Pillow/issues/9258) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Use enums for Modes and RawModes in C [#&#8203;9256](https://github.com/python-pillow/Pillow/issues/9256) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Add ImageText [#&#8203;9098](https://github.com/python-pillow/Pillow/issues/9098) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Shift bits before making value negative [#&#8203;9255](https://github.com/python-pillow/Pillow/issues/9255) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Support saving variable length rational TIFF tags by default [#&#8203;9241](https://github.com/python-pillow/Pillow/issues/9241) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Added four private SGI TIFF tags [#&#8203;9245](https://github.com/python-pillow/Pillow/issues/9245) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Band names for arrow exported images [#&#8203;9099](https://github.com/python-pillow/Pillow/issues/9099) \[[@&#8203;wiredfool](https://github.com/wiredfool)]
- Use macos-latest for iOS arm64 simulator [#&#8203;9250](https://github.com/python-pillow/Pillow/issues/9250) \[[@&#8203;radarhere](https://github.com/radarhere)]
- If pasting an image onto itself at a lower position, copy from bottom [#&#8203;8882](https://github.com/python-pillow/Pillow/issues/8882) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Removed unused access for I;32L and I;32B [#&#8203;9238](https://github.com/python-pillow/Pillow/issues/9238) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Corrected scientific-python-nightly-wheels pattern [#&#8203;9252](https://github.com/python-pillow/Pillow/issues/9252) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Run sdist when scheduled, but do not upload to scientific-python-nightly-wheels index [#&#8203;9248](https://github.com/python-pillow/Pillow/issues/9248) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Removed shebang lines and executable flags [#&#8203;9179](https://github.com/python-pillow/Pillow/issues/9179) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Remove Pillow version from PDF comment [#&#8203;9176](https://github.com/python-pillow/Pillow/issues/9176) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Support saving variable length rational TIFF tags [#&#8203;9111](https://github.com/python-pillow/Pillow/issues/9111) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Build Python 3.14 on macOS 10.15 [#&#8203;9234](https://github.com/python-pillow/Pillow/issues/9234) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Test largest CUR cursor [#&#8203;9191](https://github.com/python-pillow/Pillow/issues/9191) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Do not unnecessarily update FLI \_\_offset [#&#8203;9184](https://github.com/python-pillow/Pillow/issues/9184) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Fill alpha channel when quantizing RGB images [#&#8203;9133](https://github.com/python-pillow/Pillow/issues/9133) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Allow RGBA palettes to work with ImageOps.expand() [#&#8203;9138](https://github.com/python-pillow/Pillow/issues/9138) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Fixed loading rotated PCD images [#&#8203;9177](https://github.com/python-pillow/Pillow/issues/9177) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Cast before shifting bits [#&#8203;9236](https://github.com/python-pillow/Pillow/issues/9236) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Use \_ensure\_mutable() [#&#8203;9200](https://github.com/python-pillow/Pillow/issues/9200) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Seek past BeginBinary data when parsing EPS metadata [#&#8203;9211](https://github.com/python-pillow/Pillow/issues/9211) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Do not allow negative offset with memory mapping [#&#8203;9235](https://github.com/python-pillow/Pillow/issues/9235) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Clear C image when MPO frame image size changes [#&#8203;9208](https://github.com/python-pillow/Pillow/issues/9208) \[[@&#8203;radarhere](https://github.com/radarhere)]
- When converting RGBA to PA, use RGB to P quantization [#&#8203;9153](https://github.com/python-pillow/Pillow/issues/9153) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Remove use of sudo from libavif and raqm install scripts [#&#8203;9231](https://github.com/python-pillow/Pillow/issues/9231) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Load image palette into Python after converting to PA [#&#8203;9152](https://github.com/python-pillow/Pillow/issues/9152) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Check all reserved bytes in FLI header [#&#8203;9183](https://github.com/python-pillow/Pillow/issues/9183) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Limit length of read operation in ImageFont.\_load\_pilfont\_data() [#&#8203;9181](https://github.com/python-pillow/Pillow/issues/9181) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Python 3.9 wheels are no longer needed [#&#8203;9214](https://github.com/python-pillow/Pillow/issues/9214) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Remove unused Image \_expand() [#&#8203;9227](https://github.com/python-pillow/Pillow/issues/9227) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Updated FreeType to 2.14.1 on Windows [#&#8203;9206](https://github.com/python-pillow/Pillow/issues/9206) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Only deprecate fromarray mode for changing data types [#&#8203;9063](https://github.com/python-pillow/Pillow/issues/9063) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Fix reading RGB and CMYK IPTC images [#&#8203;9088](https://github.com/python-pillow/Pillow/issues/9088) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Install zstd for libtiff on Linux wheels [#&#8203;9097](https://github.com/python-pillow/Pillow/issues/9097) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Improve WalImageFile test coverage [#&#8203;9189](https://github.com/python-pillow/Pillow/issues/9189) \[[@&#8203;radarhere](https://github.com/radarhere)]
- ImageMorph operations must have length 1 [#&#8203;9102](https://github.com/python-pillow/Pillow/issues/9102) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Set correct size for rotated PCD images after opening [#&#8203;9086](https://github.com/python-pillow/Pillow/issues/9086) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Simplify check for GBR width and height [#&#8203;9089](https://github.com/python-pillow/Pillow/issues/9089) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Make in parallel when building libjpeg-turbo and openjpeg for macOS and Linux wheels [#&#8203;9144](https://github.com/python-pillow/Pillow/issues/9144) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Fix ZeroDivisionError in ImageStat [#&#8203;9105](https://github.com/python-pillow/Pillow/issues/9105) \[[@&#8203;radarhere](https://github.com/radarhere)]
- When deleting EXIF IFD tag, delete IFD data [#&#8203;9083](https://github.com/python-pillow/Pillow/issues/9083) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Allow alpha\_composite to use LA images [#&#8203;9066](https://github.com/python-pillow/Pillow/issues/9066) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Improve \_accept length check [#&#8203;9170](https://github.com/python-pillow/Pillow/issues/9170) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Do not set core to DeferredError [#&#8203;9166](https://github.com/python-pillow/Pillow/issues/9166) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Use macos-14 for iOS arm64 simulator [#&#8203;9161](https://github.com/python-pillow/Pillow/issues/9161) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Make in parallel when building brotli and libavif for macOS and Linux wheels [#&#8203;9142](https://github.com/python-pillow/Pillow/issues/9142) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Use Python 3.14 for gcc problem matching [#&#8203;9134](https://github.com/python-pillow/Pillow/issues/9134) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Add libavif support for iOS [#&#8203;9117](https://github.com/python-pillow/Pillow/issues/9117) \[[@&#8203;freakboy3742](https://github.com/freakboy3742)]
- Restore pyroma test for iOS [#&#8203;9116](https://github.com/python-pillow/Pillow/issues/9116) \[[@&#8203;freakboy3742](https://github.com/freakboy3742)]
- Use correct bands for two band histograms [#&#8203;9054](https://github.com/python-pillow/Pillow/issues/9054) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Add support for Python 3.14 [#&#8203;9120](https://github.com/python-pillow/Pillow/issues/9120) \[[@&#8203;hugovk](https://github.com/hugovk)]
- Drop support for PyPy3.10 [#&#8203;9112](https://github.com/python-pillow/Pillow/issues/9112) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Add parallel compile from pybind11 [#&#8203;8990](https://github.com/python-pillow/Pillow/issues/8990) \[[@&#8203;wiredfool](https://github.com/wiredfool)]
- Remove unused \_save\_cjpeg [#&#8203;9084](https://github.com/python-pillow/Pillow/issues/9084) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Ensure dynamic libjpeg libraries are not linked [#&#8203;9081](https://github.com/python-pillow/Pillow/issues/9081) \[[@&#8203;freakboy3742](https://github.com/freakboy3742)]
- Remove reference to libtiff 3.x [#&#8203;9072](https://github.com/python-pillow/Pillow/issues/9072) \[[@&#8203;radarhere](https://github.com/radarhere)]
- Restored manylinux2014 wheels [#&#8203;9059](https://github.com/python-pillow/Pillow/issues/9059) \[[@&#8203;radarhere](https://github.com/radarhere)]

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDkuMiIsInVwZGF0ZWRJblZlciI6IjQxLjE0OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/519
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
v0.40.6
2025-10-15 21:11:52 +02:00
c9ad33e65f chore(deps): update dependency isort to v7 (#514)
All checks were successful
Security / Snyk (push) Successful in 17m19s
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [isort](https://github.com/PyCQA/isort) ([changelog](https://github.com/PyCQA/isort/releases)) | `<6.1.1,>=6.1.0` -> `<7.0.1,>=7.0.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/isort/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/isort/6.1.0/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>PyCQA/isort (isort)</summary>

### [`v7.0.0`](https://github.com/PyCQA/isort/releases/tag/7.0.0)

[Compare Source](https://github.com/PyCQA/isort/compare/6.1.0...7.0.0)

#### Changes

#### 💥 Breaking Changes

- Drop support for Python 3.9 ([#&#8203;2430](https://github.com/PyCQA/isort/issues/2430)) [@&#8203;DanielNoord](https://github.com/DanielNoord)

#### 🚀 Features

- Show absolute paths in skipped file messages ([#&#8203;2416](https://github.com/PyCQA/isort/issues/2416)) [@&#8203;pranlawate](https://github.com/pranlawate)

#### 🪲 Fixes

- Some fixes for Python 3.14 ([#&#8203;2433](https://github.com/PyCQA/isort/issues/2433)) [@&#8203;DanielNoord](https://github.com/DanielNoord)
- Test on `3.14` and fix any bugs ([#&#8203;2425](https://github.com/PyCQA/isort/issues/2425)) [@&#8203;DanielNoord](https://github.com/DanielNoord)
- Update CHANGELOG.md + Fix Formatting and Grammar ([#&#8203;2419](https://github.com/PyCQA/isort/issues/2419)) [@&#8203;lukbrew25](https://github.com/lukbrew25)
- Fix output of hanging indent for long lines with noqa ([#&#8203;2407](https://github.com/PyCQA/isort/issues/2407)) [@&#8203;matan1008](https://github.com/matan1008)

#### :construction\_worker: Continuous Integration

- Format with `ruff` instead of `black` ([#&#8203;2432](https://github.com/PyCQA/isort/issues/2432)) [@&#8203;DanielNoord](https://github.com/DanielNoord)
- Target 3.10 for `ruff` ([#&#8203;2431](https://github.com/PyCQA/isort/issues/2431)) [@&#8203;DanielNoord](https://github.com/DanielNoord)
- Update development dependencies to latest version ([#&#8203;2426](https://github.com/PyCQA/isort/issues/2426)) [@&#8203;DanielNoord](https://github.com/DanielNoord)
- docs: update pre-commit examples to version 6.1.0 ([#&#8203;2413](https://github.com/PyCQA/isort/issues/2413)) [@&#8203;pranlawate](https://github.com/pranlawate)
- Small cleanup for developer environment ([#&#8203;2418](https://github.com/PyCQA/isort/issues/2418)) [@&#8203;DanielNoord](https://github.com/DanielNoord)

#### 📦 Dependencies

- Bump actions/setup-python from 5 to 6 in the github-actions group ([#&#8203;2411](https://github.com/PyCQA/isort/issues/2411)) @&#8203;[dependabot\[bot\]](https://github.com/apps/dependabot)

</details>

---

### 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 PR is behind base branch, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDYuMCIsInVwZGF0ZWRJblZlciI6IjQxLjE0Ni4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJ0eXBlL2RlcGVuZGVuY2llcyJdfQ==-->

Reviewed-on: https://git.tainton.uk/repos/webexmemebot/pulls/514
Co-authored-by: renovate[bot] <renovate-bot@git.tainton.uk>
Co-committed-by: renovate[bot] <renovate-bot@git.tainton.uk>
2025-10-13 17:40:54 +02:00