19102 Commits

Author SHA1 Message Date
renovate[bot]
a3898c007d
chore(deps): update actions/setup-node action to v5 (#3217)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

###
[`v5`](https://redirect.github.com/actions/setup-node/compare/v4...v5)

[Compare
Source](https://redirect.github.com/actions/setup-node/compare/v4...v5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-05 09:58:29 +00:00
renovate[bot]
3257f7a8ec
chore(deps): update pre-commit hook adamchainz/django-upgrade to v1.27.0 (#3216)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[adamchainz/django-upgrade](https://redirect.github.com/adamchainz/django-upgrade)
| repository | minor | `1.25.0` -> `1.27.0` |

Note: The `pre-commit` manager in Renovate is not supported by the
`pre-commit` maintainers or community. Please do not report any problems
there, instead [create a Discussion in the Renovate
repository](https://redirect.github.com/renovatebot/renovate/discussions/new)
if you have any questions.

---

### Release Notes

<details>
<summary>adamchainz/django-upgrade (adamchainz/django-upgrade)</summary>

###
[`v1.27.0`](https://redirect.github.com/adamchainz/django-upgrade/compare/1.26.0...1.27.0)

[Compare
Source](https://redirect.github.com/adamchainz/django-upgrade/compare/1.26.0...1.27.0)

###
[`v1.26.0`](https://redirect.github.com/adamchainz/django-upgrade/compare/1.25.0...1.26.0)

[Compare
Source](https://redirect.github.com/adamchainz/django-upgrade/compare/1.25.0...1.26.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-31 11:01:57 +00:00
renovate[bot]
2baa06c9e8
chore(deps): update lycheeverse/lychee-action action to v2.6.1 (#3215)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[lycheeverse/lychee-action](https://redirect.github.com/lycheeverse/lychee-action)
| action | patch | `v2.6.0` -> `v2.6.1` |

---

### Release Notes

<details>
<summary>lycheeverse/lychee-action (lycheeverse/lychee-action)</summary>

###
[`v2.6.1`](https://redirect.github.com/lycheeverse/lychee-action/releases/tag/v2.6.1):
Version 2.6.1

[Compare
Source](https://redirect.github.com/lycheeverse/lychee-action/compare/v2.6.0...v2.6.1)

#### What's Changed

- Update lycheeVersion to v0.20.1 by
[@&#8203;github-actions](https://redirect.github.com/github-actions)\[bot]
in
[#&#8203;306](https://redirect.github.com/lycheeverse/lychee-action/pull/306),
which contains a hotfix for
[#&#8203;305](https://redirect.github.com/lycheeverse/lychee-action/issues/305).

**Full Changelog**:
<https://github.com/lycheeverse/lychee-action/compare/v2...v2.6.1>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi43IiwidXBkYXRlZEluVmVyIjoiNDEuODIuNyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-27 23:02:26 +00:00
jo
2b6c9b74ed
chore(deps): revert lock file maintenance (legacy/composer.json) (#3209)
This reverts commit 8cce9c38cd7179ada7ee443007b174bd75642423.
2025-08-26 11:41:50 +02:00
renovate[bot]
b87287e0f8
chore(deps): update lycheeverse/lychee-action action to v2.6.0 (#3212)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[lycheeverse/lychee-action](https://redirect.github.com/lycheeverse/lychee-action)
| action | minor | `v2.5.0` -> `v2.6.0` |

---

### Release Notes

<details>
<summary>lycheeverse/lychee-action (lycheeverse/lychee-action)</summary>

###
[`v2.6.0`](https://redirect.github.com/lycheeverse/lychee-action/releases/tag/v2.6.0):
Version 2.6.0

[Compare
Source](https://redirect.github.com/lycheeverse/lychee-action/compare/v2.5.0...v2.6.0)

#### What's Changed

- Update lychee version to v0.20.0 by
[@&#8203;github-actions](https://redirect.github.com/github-actions)\[bot]
in[https://github.com/lycheeverse/lychee-action/pull/304](https://redirect.github.com/lycheeverse/lychee-action/pull/304)4
- Bump actions/checkout from 4 to 5 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot]
in[https://github.com/lycheeverse/lychee-action/pull/303](https://redirect.github.com/lycheeverse/lychee-action/pull/303)3

**Full Changelog**:
https://github.com/lycheeverse/lychee-action/compare/v2...v2.6.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44MS4yIiwidXBkYXRlZEluVmVyIjoiNDEuODEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-23 13:54:31 +00:00
renovate[bot]
f3d95815f3
chore(deps): update amannn/action-semantic-pull-request action to v6.1.1 (#3211)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[amannn/action-semantic-pull-request](https://redirect.github.com/amannn/action-semantic-pull-request)
| action | patch | `v6.1.0` -> `v6.1.1` |

---

### Release Notes

<details>
<summary>amannn/action-semantic-pull-request
(amannn/action-semantic-pull-request)</summary>

###
[`v6.1.1`](https://redirect.github.com/amannn/action-semantic-pull-request/releases/tag/v6.1.1)

[Compare
Source](https://redirect.github.com/amannn/action-semantic-pull-request/compare/v6.1.0...v6.1.1)

##### Bug Fixes

- Parse `headerPatternCorrespondence` properly
([#&#8203;295](https://redirect.github.com/amannn/action-semantic-pull-request/issues/295))
([800da4c](800da4c97f))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44MS4yIiwidXBkYXRlZEluVmVyIjoiNDEuODEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-23 13:54:27 +00:00
renovate[bot]
8cce9c38cd
chore(deps): lock file maintenance (legacy/composer.json) (#3209)
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 - "after 4am and before 5am on monday"
(UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS43MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuODEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicGhwIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 22:00:03 +00:00
renovate[bot]
b7cba0d8b8
chore(deps): update amannn/action-semantic-pull-request action to v6.1.0 (#3210)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[amannn/action-semantic-pull-request](https://redirect.github.com/amannn/action-semantic-pull-request)
| action | minor | `v6.0.1` -> `v6.1.0` |

---

### Release Notes

<details>
<summary>amannn/action-semantic-pull-request
(amannn/action-semantic-pull-request)</summary>

###
[`v6.1.0`](https://redirect.github.com/amannn/action-semantic-pull-request/releases/tag/v6.1.0)

[Compare
Source](https://redirect.github.com/amannn/action-semantic-pull-request/compare/v6.0.1...v6.1.0)

##### Features

- Support providing regexps for types
([#&#8203;292](https://redirect.github.com/amannn/action-semantic-pull-request/issues/292))
([a30288b](a30288bf13))

##### Bug Fixes

- Remove trailing whitespace from "unknown release type" error message
([#&#8203;291](https://redirect.github.com/amannn/action-semantic-pull-request/issues/291))
([afa4edb](afa4edb1c4))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44MS4yIiwidXBkYXRlZEluVmVyIjoiNDEuODEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-20 21:59:14 +00:00
renovate[bot]
2adb74f96f
chore(deps): update amannn/action-semantic-pull-request action to v6 (#3208)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[amannn/action-semantic-pull-request](https://redirect.github.com/amannn/action-semantic-pull-request)
| action | major | `v5.5.3` -> `v6.0.1` |

---

### Release Notes

<details>
<summary>amannn/action-semantic-pull-request
(amannn/action-semantic-pull-request)</summary>

###
[`v6.0.1`](https://redirect.github.com/amannn/action-semantic-pull-request/releases/tag/v6.0.1)

[Compare
Source](https://redirect.github.com/amannn/action-semantic-pull-request/compare/v6.0.0...v6.0.1)

##### Bug Fixes

- Actually execute action
([#&#8203;289](https://redirect.github.com/amannn/action-semantic-pull-request/issues/289))
([58e4ab4](58e4ab40f5))

###
[`v6.0.0`](https://redirect.github.com/amannn/action-semantic-pull-request/releases/tag/v6.0.0)

[Compare
Source](https://redirect.github.com/amannn/action-semantic-pull-request/compare/v5.5.3...v6.0.0)

##### ⚠ BREAKING CHANGES

- Upgrade action to use Node.js 24 and ESM
([#&#8203;287](https://redirect.github.com/amannn/action-semantic-pull-request/issues/287))

##### Features

- Upgrade action to use Node.js 24 and ESM
([#&#8203;287](https://redirect.github.com/amannn/action-semantic-pull-request/issues/287))
([bc0c9a7](bc0c9a79ab))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS43MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNzEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 21:06:01 +00:00
renovate[bot]
cf0a6c4aa9
chore(deps): update actions/checkout action to v5 (#3206)
This PR contains the following updates:

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

---

### Release Notes

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

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

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

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS42MC40IiwidXBkYXRlZEluVmVyIjoiNDEuNjAuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 20:44:23 +00:00
jo
e8474fc990
chore(deps): revert lock file maintenance (legacy/composer.json) (#3201)
This reverts commit 385d50218670b3cceebb314dab43c3e7d52b6f00.
2025-08-11 10:28:54 +02:00
libretime-bot
66c1392c57 chore(legacy): update locales 2025-08-11 03:03:34 +00:00
renovate[bot]
385d502186
chore(deps): lock file maintenance (legacy/composer.json) (#3201)
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 - "after 4am and before 5am on monday"
(UTC), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNjAuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicGhwIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 01:59:51 +00:00
renovate[bot]
07d5ae46b7
chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v6 (#3205)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[pre-commit/pre-commit-hooks](https://redirect.github.com/pre-commit/pre-commit-hooks)
| repository | major | `v5.0.0` -> `v6.0.0` |

Note: The `pre-commit` manager in Renovate is not supported by the
`pre-commit` maintainers or community. Please do not report any problems
there, instead [create a Discussion in the Renovate
repository](https://redirect.github.com/renovatebot/renovate/discussions/new)
if you have any questions.

---

### Release Notes

<details>
<summary>pre-commit/pre-commit-hooks
(pre-commit/pre-commit-hooks)</summary>

###
[`v6.0.0`](https://redirect.github.com/pre-commit/pre-commit-hooks/releases/tag/v6.0.0):
pre-commit-hooks v6.0.0

[Compare
Source](https://redirect.github.com/pre-commit/pre-commit-hooks/compare/v5.0.0...v6.0.0)

#### Fixes

- `check-shebang-scripts-are-executable`: improve error message.
-
[#&#8203;1115](https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1115)
PR by [@&#8203;homebysix](https://redirect.github.com/homebysix).

#### Migrating

- now requires python >= 3.9.
-
[#&#8203;1098](https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1098)
PR by [@&#8203;asottile](https://redirect.github.com/asottile).
- `file-contents-sorter`: disallow `--unique` and `--ignore-case` at the
same
  time.
-
[#&#8203;1095](https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1095)
PR by [@&#8203;nemacysts](https://redirect.github.com/nemacysts).
-
[#&#8203;794](https://redirect.github.com/pre-commit/pre-commit-hooks/issues/794)
issue by [@&#8203;teksturi](https://redirect.github.com/teksturi).
- Removed `check-byte-order-marker` and `fix-encoding-pragma`.
  - `check-byte-order-marker`: migrate to `fix-byte-order-marker`.
  - `fix-encoding-pragma`: migrate to `pyupgrade`.
-
[#&#8203;1034](https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1034)
PR by [@&#8203;mxr](https://redirect.github.com/mxr).
-
[#&#8203;1032](https://redirect.github.com/pre-commit/pre-commit-hooks/issues/1032)
issue by [@&#8203;mxr](https://redirect.github.com/mxr).
-
[#&#8203;522](https://redirect.github.com/pre-commit/pre-commit-hooks/issues/522)
PR by [@&#8203;jgowdy](https://redirect.github.com/jgowdy).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS42MC40IiwidXBkYXRlZEluVmVyIjoiNDEuNjAuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 01:58:38 +00:00
Jonas L.
faa975bf2f
ci: fix docker bake v6 missing input (#3200)
### Description

Related to https://github.com/libretime/libretime/pull/3199
2025-08-09 16:27:29 +02:00
renovate[bot]
8598c69749
chore(deps): update dependency lxml to v6 (#3197)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [lxml](https://lxml.de/)
([source](https://redirect.github.com/lxml/lxml),
[changelog](https://git.launchpad.net/lxml/plain/CHANGES.txt)) |
`>=4.5.0,<6.0.0` -> `>=4.5.0,<6.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/lxml/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/lxml/5.4.0/6.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>lxml/lxml (lxml)</summary>

###
[`v6.0.0`](https://redirect.github.com/lxml/lxml/blob/HEAD/CHANGES.txt#600-2025-06-26)

[Compare
Source](https://redirect.github.com/lxml/lxml/compare/lxml-5.4.0...lxml-6.0.0)

\==================

## Features added

- [GH#463](https://redirect.github.com/GH/lxml/issues/463):
`lxml.html.diff` is faster and provides structurally better diffs.
  Original patch by Steven Fernandez.

- [GH#405](https://redirect.github.com/GH/lxml/issues/405): The
factories `Element` and `ElementTree` can now be used in type hints.

- [GH#448](https://redirect.github.com/GH/lxml/issues/448): Parsing from
`memoryview` and other buffers is supported to allow zero-copy parsing.

- [GH#437](https://redirect.github.com/GH/lxml/issues/437):
`lxml.html.builder` was missing several HTML5 tag names.
  Patch by Nick Tarleton.

- [GH#458](https://redirect.github.com/GH/lxml/issues/458): `CDATA` can
now be written into the incremental `xmlfile()` writer.
  Original patch by Lane Shaw.

- A new parser option `decompress=False` was added that controls the
automatic
input decompression when using libxml2 2.15.0 or later. Disabling this
option
by default will effectively prevent decompression bombs when handling
untrusted
input. Code that depends on automatic decompression must enable this
option.
Note that libxml2 2.15.0 was not released yet, so this option currently
has no
  effect but can already be used.

- The set of compile time / runtime supported libxml2 feature names is
available as
  `etree.LIBXML_COMPILED_FEATURES` and `etree.LIBXML_FEATURES`.
  This currently includes
  `catalog`, `ftp`, `html`, `http`, `iconv`, `icu`,
  `lzma`, `regexp`, `schematron`, `xmlschema`, `xpath`, `zlib`.

## Bugs fixed

- [GH#353](https://redirect.github.com/GH/lxml/issues/353): Predicates
in `.find*()` could mishandle tag indices if a default namespace is
provided.
  Original patch by Luise K.

- [GH#272](https://redirect.github.com/GH/lxml/issues/272): The `head`
and `body` properties of `lxml.html` elements failed if no such element
  was found.  They now return `None` instead.
  Original patch by FVolral.

- Tag names provided by code (API, not data) that are longer than
`INT_MAX`
  could be truncated or mishandled in other ways.

- `.text_content()` on `lxml.html` elements accidentally returned a
"smart string"
  without additional information.  It now returns a plain string.

- [LP#2109931](https://redirect.github.com/LP/lxml/issues/2109931): When
building lxml with coverage reporting, it now disables the
`sys.monitoring`
support due to the lack of support
i[https://github.com/nedbat/coveragepy/issues/1790](https://redirect.github.com/nedbat/coveragepy/issues/1790)90

## Other changes

- Support for Python < 3.8 was removed.

- Parsing directly from zlib (or lzma) compressed data is now considered
an optional
feature in lxml. It may get removed from libxml2 at some point for
security reasons
(compression bombs) and is therefore no longer guaranteed to be
available in lxml.

As of this release, zlib support is still normally available in the
binary wheels
but may get disabled or removed in later (x.y.0) releases. To test the
availability,
  use `"zlib" in etree.LIBXML_FEATURES`.

- The `Schematron` class is deprecated and will become non-functional in
a future lxml version.
The feature will soon be removed from libxml2 and stop being available.

- [GH#438](https://redirect.github.com/GH/lxml/issues/438): Wheels
include the `arm7l` target.

- [GH#465](https://redirect.github.com/GH/lxml/issues/465): Windows
wheels include the `arm64` target.
  Patch by Finn Womack.

- Binary wheels use the library versions libxml2 2.14.4 and libxslt
1.1.43.
Note that this disables direct HTTP and FTP support for parsing from
URLs.
Use Python URL request tools instead (which usually also support HTTPS).
  To test the availability, use `"http" in etree.LIBXML_FEATURES`.

- Windows binary wheels use the library versions libxml2 2.11.9, libxslt
1.1.39 and libiconv 1.17.
  They are now based on VS-2022.

- Built using Cython 3.1.2.

- The debug methods `MemDebug.dump()` and `MemDebug.show()` were removed
completely.
  libxml2 2.13.0 discarded this feature.

</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 becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicHl0aG9uIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 16:19:26 +02:00
renovate[bot]
e8afef82d1
chore(deps): update docker/bake-action action to v6 (#3199)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/bake-action](https://redirect.github.com/docker/bake-action) |
action | major | `v5` -> `v6` |

---

### Release Notes

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

###
[`v6`](https://redirect.github.com/docker/bake-action/compare/v5...v6)

[Compare
Source](https://redirect.github.com/docker/bake-action/compare/v5...v6)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 14:17:37 +00:00
renovate[bot]
5240176acd
chore(deps): update dependency node to v22 (#3198)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [node](https://redirect.github.com/actions/node-versions) | uses-with
| major | `16` -> `22` |
| [node](https://redirect.github.com/actions/node-versions) | uses-with
| major | `18` -> `22` |

---

### Release Notes

<details>
<summary>actions/node-versions (node)</summary>

###
[`v22.18.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.18.0-16666198358):
22.18.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.17.1-16309770702...22.18.0-16666198358)

Node.js 22.18.0

###
[`v22.17.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.17.1-16309770702):
22.17.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.17.0-15866718879...22.17.1-16309770702)

Node.js 22.17.1

###
[`v22.17.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.17.0-15866718879):
22.17.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.16.0-15177438473...22.17.0-15866718879)

Node.js 22.17.0

###
[`v22.16.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.16.0-15177438473):
22.16.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.15.1-15035854612...22.16.0-15177438473)

Node.js 22.16.0

###
[`v22.15.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.15.1-15035854612):
22.15.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.15.0-14621731016...22.15.1-15035854612)

Node.js 22.15.1

###
[`v22.15.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.15.0-14621731016):
22.15.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.14.0-13265982013...22.15.0-14621731016)

Node.js 22.15.0

###
[`v22.14.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.14.0-13265982013):
22.14.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.13.1-12900459766...22.14.0-13265982013)

Node.js 22.14.0

###
[`v22.13.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.13.1-12900459766):
22.13.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.13.0-12671059536...22.13.1-12900459766)

Node.js 22.13.1

###
[`v22.13.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.13.0-12671059536):
22.13.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.12.0-12152383658...22.13.0-12671059536)

Node.js 22.13.0

###
[`v22.12.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.12.0-12152383658):
22.12.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.11.0-11593095476...22.12.0-12152383658)

Node.js 22.12.0

###
[`v22.11.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.11.0-11593095476):
22.11.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.10.0-11377615849...22.11.0-11593095476)

Node.js 22.11.0

###
[`v22.10.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.10.0-11377615849):
22.10.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.9.0-10914884886...22.10.0-11377615849)

Node.js 22.10.0

###
[`v22.9.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.9.0-10914884886):
22.9.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.8.0-10685632420...22.9.0-10914884886)

Node.js 22.9.0

###
[`v22.8.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.8.0-10685632420):
22.8.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.7.0-10511334152...22.8.0-10685632420)

Node.js 22.8.0

###
[`v22.7.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.7.0-10511334152):
22.7.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.6.0-10277432289...22.7.0-10511334152)

Node.js 22.7.0

###
[`v22.6.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.6.0-10277432289):
22.6.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.5.1-10010673511...22.6.0-10277432289)

Node.js 22.6.0

###
[`v22.5.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.5.1-10010673511):
22.5.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.5.0-9985144103...22.5.1-10010673511)

Node.js 22.5.1

###
[`v22.5.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.5.0-9985144103):
22.5.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.4.1-9860948056...22.5.0-9985144103)

Node.js 22.5.0

###
[`v22.4.1`](https://redirect.github.com/actions/node-versions/releases/tag/22.4.1-9860948056):
22.4.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.4.0-9766506602...22.4.1-9860948056)

Node.js 22.4.1

###
[`v22.4.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.4.0-9766506602):
22.4.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.3.0-9569309553...22.4.0-9766506602)

Node.js 22.4.0

###
[`v22.3.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.3.0-9569309553):
22.3.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.2.0-9105861751...22.3.0-9569309553)

Node.js 22.3.0

###
[`v22.2.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.2.0-9105861751):
22.2.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.1.0-8926142033...22.2.0-9105861751)

Node.js 22.2.0

###
[`v22.1.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.1.0-8926142033):
22.1.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/22.0.0-8879734543...22.1.0-8926142033)

Node.js 22.1.0

###
[`v22.0.0`](https://redirect.github.com/actions/node-versions/releases/tag/22.0.0-8879734543):
22.0.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.19.4-16309772647...22.0.0-8879734543)

Node.js 22.0.0

###
[`v20.19.4`](https://redirect.github.com/actions/node-versions/releases/tag/20.19.4-16309772647):
20.19.4

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.19.3-15828158811...20.19.4-16309772647)

Node.js 20.19.4

###
[`v20.19.3`](https://redirect.github.com/actions/node-versions/releases/tag/20.19.3-15828158811):
20.19.3

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.19.2-15035857406...20.19.3-15828158811)

Node.js 20.19.3

###
[`v20.19.2`](https://redirect.github.com/actions/node-versions/releases/tag/20.19.2-15035857406):
20.19.2

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.19.1-14598289899...20.19.2-15035857406)

Node.js 20.19.2

###
[`v20.19.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.19.1-14598289899):
20.19.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.19.0-13838090974...20.19.1-14598289899)

Node.js 20.19.1

###
[`v20.19.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.19.0-13838090974):
20.19.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.18.3-13244516310...20.19.0-13838090974)

Node.js 20.19.0

###
[`v20.18.3`](https://redirect.github.com/actions/node-versions/releases/tag/20.18.3-13244516310):
20.18.3

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.18.2-12900461873...20.18.3-13244516310)

Node.js 20.18.3

###
[`v20.18.2`](https://redirect.github.com/actions/node-versions/releases/tag/20.18.2-12900461873):
20.18.2

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.18.1-11936931582...20.18.2-12900461873)

Node.js 20.18.2

###
[`v20.18.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.18.1-11936931582):
20.18.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.18.0-11182621166...20.18.1-11936931582)

Node.js 20.18.1

###
[`v20.18.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.18.0-11182621166):
20.18.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.17.0-10501110630...20.18.0-11182621166)

Node.js 20.18.0

###
[`v20.17.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.17.0-10501110630):
20.17.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.16.0-10080284600...20.17.0-10501110630)

Node.js 20.17.0

###
[`v20.16.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.16.0-10080284600):
20.16.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.15.1-9860950555...20.16.0-10080284600)

Node.js 20.16.0

###
[`v20.15.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.15.1-9860950555):
20.15.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.15.0-9607683765...20.15.1-9860950555)

Node.js 20.15.1

###
[`v20.15.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.15.0-9607683765):
20.15.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.14.0-9279690001...20.15.0-9607683765)

Node.js 20.15.0

###
[`v20.14.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.14.0-9279690001):
20.14.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.13.1-9021092103...20.14.0-9279690001)

Node.js 20.14.0

###
[`v20.13.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.13.1-9021092103):
20.13.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.13.0-8995628607...20.13.1-9021092103)

Node.js 20.13.1

###
[`v20.13.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.13.0-8995628607):
20.13.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.12.2-8647736879...20.13.0-8995628607)

Node.js 20.13.0

###
[`v20.12.2`](https://redirect.github.com/actions/node-versions/releases/tag/20.12.2-8647736879):
20.12.2

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.12.1-8541409420...20.12.2-8647736879)

Node.js 20.12.2

###
[`v20.12.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.12.1-8541409420):
20.12.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.12.0-8446029429...20.12.1-8541409420)

Node.js 20.12.1

###
[`v20.12.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.12.0-8446029429):
20.12.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.11.1-7910924545...20.12.0-8446029429)

Node.js 20.12.0

###
[`v20.11.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.11.1-7910924545):
20.11.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.11.0-7531642937...20.11.1-7910924545)

Node.js 20.11.1

###
[`v20.11.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.11.0-7531642937):
20.11.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.10.0-6972104774...20.11.0-7531642937)

Node.js 20.11.0

###
[`v20.10.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.10.0-6972104774):
20.10.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.9.0-6797996195...20.10.0-6972104774)

Node.js 20.10.0

###
[`v20.9.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.9.0-6797996195):
20.9.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.8.1-6529388730...20.9.0-6797996195)

Node.js 20.9.0

###
[`v20.8.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.8.1-6529388730):
20.8.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.8.0-6353460105...20.8.1-6529388730)

Node.js 20.8.1

###
[`v20.8.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.8.0-6353460105):
20.8.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.7.0-6231175880...20.8.0-6353460105)

Node.js 20.8.0

###
[`v20.7.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.7.0-6231175880):
20.7.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.6.1-6142062498...20.7.0-6231175880)

Node.js 20.7.0

###
[`v20.6.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.6.1-6142062498):
20.6.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.6.0-6092715008...20.6.1-6142062498)

Node.js 20.6.1

###
[`v20.6.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.6.0-6092715008):
20.6.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.5.1-5819736097...20.6.0-6092715008)

Node.js 20.6.0

###
[`v20.5.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.5.1-5819736097):
20.5.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.5.0-5619267642...20.5.1-5819736097)

Node.js 20.5.1

###
[`v20.5.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.5.0-5619267642):
20.5.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.4.0-5484146983...20.5.0-5619267642)

Node.js 20.5.0

###
[`v20.4.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.4.0-5484146983):
20.4.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.3.1-5342956167...20.4.0-5484146983)

Node.js 20.4.0

###
[`v20.3.1`](https://redirect.github.com/actions/node-versions/releases/tag/20.3.1-5342956167):
20.3.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.3.0-5218671512...20.3.1-5342956167)

Node.js 20.3.1

###
[`v20.3.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.3.0-5218671512):
20.3.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.2.0-4994802831...20.3.0-5218671512)

Node.js 20.3.0

###
[`v20.2.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.2.0-4994802831):
20.2.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.1.0-4890533026...20.2.0-4994802831)

Node.js 20.2.0

###
[`v20.1.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.1.0-4890533026):
20.1.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/20.0.0-4805425216...20.1.0-4890533026)

Node.js 20.1.0

###
[`v20.0.0`](https://redirect.github.com/actions/node-versions/releases/tag/20.0.0-4805425216):
20.0.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.20.8-14110393767...20.0.0-4805425216)

Node.js 20.0.0

###
[`v18.20.8`](https://redirect.github.com/actions/node-versions/releases/tag/18.20.8-14110393767):
18.20.8

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.20.7-13438827950...18.20.8-14110393767)

Node.js 18.20.8

###
[`v18.20.7`](https://redirect.github.com/actions/node-versions/releases/tag/18.20.7-13438827950):
18.20.7

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.20.6-12900463507...18.20.7-13438827950)

Node.js 18.20.7

###
[`v18.20.6`](https://redirect.github.com/actions/node-versions/releases/tag/18.20.6-12900463507):
18.20.6

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.20.5-11809974298...18.20.6-12900463507)

Node.js 18.20.6

###
[`v18.20.5`](https://redirect.github.com/actions/node-versions/releases/tag/18.20.5-11809974298):
18.20.5

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.20.4-9860952736...18.20.5-11809974298)

Node.js 18.20.5

###
[`v18.20.4`](https://redirect.github.com/actions/node-versions/releases/tag/18.20.4-9860952736):
18.20.4

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.20.3-9178518591...18.20.4-9860952736)

Node.js 18.20.4

###
[`v18.20.3`](https://redirect.github.com/actions/node-versions/releases/tag/18.20.3-9178518591):
18.20.3

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.20.2-8647739097...18.20.3-9178518591)

Node.js 18.20.3

###
[`v18.20.2`](https://redirect.github.com/actions/node-versions/releases/tag/18.20.2-8647739097):
18.20.2

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.20.1-8541411805...18.20.2-8647739097)

Node.js 18.20.2

###
[`v18.20.1`](https://redirect.github.com/actions/node-versions/releases/tag/18.20.1-8541411805):
18.20.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.20.0-8446030700...18.20.1-8541411805)

Node.js 18.20.1

###
[`v18.20.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.20.0-8446030700):
18.20.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.19.1-7910925895...18.20.0-8446030700)

Node.js 18.20.0

###
[`v18.19.1`](https://redirect.github.com/actions/node-versions/releases/tag/18.19.1-7910925895):
18.19.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.19.0-7042590257...18.19.1-7910925895)

Node.js 18.19.1

###
[`v18.19.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.19.0-7042590257):
18.19.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.18.2-6796085386...18.19.0-7042590257)

Node.js 18.19.0

###
[`v18.18.2`](https://redirect.github.com/actions/node-versions/releases/tag/18.18.2-6796085386):
18.18.2

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.18.1-6478376692...18.18.2-6796085386)

Node.js 18.18.2

###
[`v18.18.1`](https://redirect.github.com/actions/node-versions/releases/tag/18.18.1-6478376692):
18.18.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.18.0-6231178035...18.18.1-6478376692)

Node.js 18.18.1

###
[`v18.18.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.18.0-6231178035):
18.18.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.17.1-5819737873...18.18.0-6231178035)

Node.js 18.18.0

###
[`v18.17.1`](https://redirect.github.com/actions/node-versions/releases/tag/18.17.1-5819737873):
18.17.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.17.0-5596145502...18.17.1-5819737873)

Node.js 18.17.1

###
[`v18.17.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.17.0-5596145502):
18.17.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.16.1-5342957492...18.17.0-5596145502)

Node.js 18.17.0

###
[`v18.16.1`](https://redirect.github.com/actions/node-versions/releases/tag/18.16.1-5342957492):
18.16.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.16.0-4687330280...18.16.1-5342957492)

Node.js 18.16.1

###
[`v18.16.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.16.0-4687330280):
18.16.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.15.0-4362038354...18.16.0-4687330280)

Node.js 18.16.0

###
[`v18.15.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.15.0-4362038354):
18.15.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.14.2-4240168272...18.15.0-4362038354)

Node.js 18.15.0

###
[`v18.14.2`](https://redirect.github.com/actions/node-versions/releases/tag/18.14.2-4240168272):
18.14.2

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.14.1-4202770847...18.14.2-4240168272)

Node.js 18.14.2

###
[`v18.14.1`](https://redirect.github.com/actions/node-versions/releases/tag/18.14.1-4202770847):
18.14.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.14.0-4082410607...18.14.1-4202770847)

Node.js 18.14.1

###
[`v18.14.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.14.0-4082410607):
18.14.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.13.0-3853555232...18.14.0-4082410607)

Node.js 18.14.0

###
[`v18.13.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.13.0-3853555232):
18.13.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.12.1-3486235546...18.13.0-3853555232)

Node.js 18.13.0

###
[`v18.12.1`](https://redirect.github.com/actions/node-versions/releases/tag/18.12.1-3486235546):
18.12.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.12.0-3336799598...18.12.1-3486235546)

Node.js 18.12.1

###
[`v18.12.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.12.0-3336799598):
18.12.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.11.0-3326708113...18.12.0-3336799598)

Node.js 18.12.0

###
[`v18.11.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.11.0-3326708113):
18.11.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.10.0-3148976688...18.11.0-3326708113)

Node.js 18.11.0

###
[`v18.10.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.10.0-3148976688):
18.10.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.9.1-3117359014...18.10.0-3148976688)

Node.js 18.10.0

###
[`v18.9.1`](https://redirect.github.com/actions/node-versions/releases/tag/18.9.1-3117359014):
18.9.1

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.9.0-3016147249...18.9.1-3117359014)

Node.js 18.9.1

###
[`v18.9.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.9.0-3016147249):
18.9.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.8.0-2924196251...18.9.0-3016147249)

Node.js 18.9.0

###
[`v18.8.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.8.0-2924196251):
18.8.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.7.0-2744549059...18.8.0-2924196251)

Node.js 18.8.0

###
[`v18.7.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.7.0-2744549059):
18.7.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.6.0-2668405805...18.7.0-2744549059)

Node.js 18.7.0

###
[`v18.6.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.6.0-2668405805):
18.6.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.5.0-2633806751...18.6.0-2668405805)

Node.js 18.6.0

###
[`v18.5.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.5.0-2633806751):
18.5.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.4.0-2509927094...18.5.0-2633806751)

Node.js 18.5.0

###
[`v18.4.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.4.0-2509927094):
18.4.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.3.0-2426429734...18.4.0-2509927094)

Node.js 18.4.0

###
[`v18.3.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.3.0-2426429734):
18.3.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.2.0-2343541082...18.3.0-2426429734)

Node.js 18.3.0

###
[`v18.2.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.2.0-2343541082):
18.2.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.1.0-2264683089...18.2.0-2343541082)

Node.js 18.2.0

###
[`v18.1.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.1.0-2264683089):
18.1.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/18.0.0-2193993879...18.1.0-2264683089)

Node.js 18.1.0

###
[`v18.0.0`](https://redirect.github.com/actions/node-versions/releases/tag/18.0.0-2193993879):
18.0.0

[Compare
Source](https://redirect.github.com/actions/node-versions/compare/16.20.2-5819740093...18.0.0-2193993879)

Node.js 18.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 these
updates again.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 14:17:28 +00:00
renovate[bot]
2b9cabb31b
chore(deps): update actions/setup-node action to v4 (#3196)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://redirect.github.com/actions/setup-node) |
action | major | `v3` -> `v4` |

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

###
[`v4`](https://redirect.github.com/actions/setup-node/compare/v3...v4)

[Compare
Source](https://redirect.github.com/actions/setup-node/compare/v3...v4)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 14:17:23 +00:00
renovate[bot]
d9898e6491
chore(deps): update actions/download-artifact action to v5 (#3195)
This PR contains the following updates:

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

---

### Release Notes

<details>
<summary>actions/download-artifact (actions/download-artifact)</summary>

###
[`v5`](https://redirect.github.com/actions/download-artifact/compare/v4...v5)

[Compare
Source](https://redirect.github.com/actions/download-artifact/compare/v4...v5)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 16:16:56 +02:00
renovate[bot]
d165af183e
chore(deps): update lycheeverse/lychee-action action to v2.5.0 (#3194)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[lycheeverse/lychee-action](https://redirect.github.com/lycheeverse/lychee-action)
| action | minor | `v2.1.0` -> `v2.5.0` |

---

### Release Notes

<details>
<summary>lycheeverse/lychee-action (lycheeverse/lychee-action)</summary>

###
[`v2.5.0`](https://redirect.github.com/lycheeverse/lychee-action/releases/tag/v2.5.0):
Version 2.5.0

[Compare
Source](https://redirect.github.com/lycheeverse/lychee-action/compare/v2.4.1...v2.5.0)

#### Summary

Most notably with this release the deprecated `--exclude-mail` flag was
removed and the behavior of the `--accept` flag was updated. Previously,
status codes such as 200 OK were always accepted. Now they are only
accepted by default. This means providing the argument `--accept 201`
now rejects status code 200 OK.

#### What's Changed

- Update lycheeVersion to v0.19.1 by
[@&#8203;github-actions](https://redirect.github.com/github-actions)\[bot]
in[https://github.com/lycheeverse/lychee-action/pull/300](https://redirect.github.com/lycheeverse/lychee-action/pull/300)0
- See the lychee changes here:
https://github.com/lycheeverse/lychee/releases/tag/lychee-v0.19.1,
https://github.com/lycheeverse/lychee/releases/tag/lychee-v0.19.0

**Full Changelog**:
https://github.com/lycheeverse/lychee-action/compare/v2...v2.5.0

###
[`v2.4.1`](https://redirect.github.com/lycheeverse/lychee-action/releases/tag/v2.4.1):
Version 2.4.1

[Compare
Source](https://redirect.github.com/lycheeverse/lychee-action/compare/v2.4.0...v2.4.1)

#### What's Changed

- Added Update Default Lychee version workflow by
[@&#8203;Arteiii](https://redirect.github.com/Arteiii) in
[https://github.com/lycheeverse/lychee-action/pull/284](https://redirect.github.com/lycheeverse/lychee-action/pull/284)
- Use temporary directory for lychee installation by
[@&#8203;mre](https://redirect.github.com/mre) in
[https://github.com/lycheeverse/lychee-action/pull/287](https://redirect.github.com/lycheeverse/lychee-action/pull/287)
- Fix `lychee` version check by
[@&#8203;mondeja](https://redirect.github.com/mondeja) in
[https://github.com/lycheeverse/lychee-action/pull/288](https://redirect.github.com/lycheeverse/lychee-action/pull/288)

**Full Changelog**:
https://github.com/lycheeverse/lychee-action/compare/v2...v2.4.1

###
[`v2.4.0`](https://redirect.github.com/lycheeverse/lychee-action/releases/tag/v2.4.0):
Version 2.4.0

[Compare
Source](https://redirect.github.com/lycheeverse/lychee-action/compare/v2.3.0...v2.4.0)

#### What's Changed

- lychee now has a new task output, which allows to track which links
got fixed more easily.
  It looks like this:

  \[test.html]:

- \[X] \[404] https://en.wikipedia.org/wiki/foo | Network error: Not
Found
- \[ ] \[404] https://en.wikipedia.org/wiki/bar | Network error: Not
Found
- \[ ] \[ERROR] https://example.com/baz | Network error: error sending
request for url (https://example.com/baz) Maybe a certificate error?

Each broken link has a checkbox that can be ticked off once fixed.
Credit goes to [@&#8203;Arteiii](https://redirect.github.com/Arteiii)
for the idea and the implementation.
See
[#&#8203;274](https://redirect.github.com/lycheeverse/lychee-action/issues/274)
for more information.

- Update To latest lychee Release by
[@&#8203;Arteiii](https://redirect.github.com/Arteiii) in
[https://github.com/lycheeverse/lychee-action/pull/279](https://redirect.github.com/lycheeverse/lychee-action/pull/279)

- Add `workingDirectory` argument by
[@&#8203;mre](https://redirect.github.com/mre) in
[https://github.com/lycheeverse/lychee-action/pull/283](https://redirect.github.com/lycheeverse/lychee-action/pull/283)

#### New Contributors

- [@&#8203;Arteiii](https://redirect.github.com/Arteiii) made their
first contribution in
[https://github.com/lycheeverse/lychee-action/pull/279](https://redirect.github.com/lycheeverse/lychee-action/pull/279)

**Full Changelog**:
https://github.com/lycheeverse/lychee-action/compare/v2...v2.4.0

###
[`v2.3.0`](https://redirect.github.com/lycheeverse/lychee-action/releases/tag/v2.3.0):
Version 2.3.0

[Compare
Source](https://redirect.github.com/lycheeverse/lychee-action/compare/v2.2.0...v2.3.0)

#### What's Changed

- feat: support ARM workers by
[@&#8203;LesnyRumcajs](https://redirect.github.com/LesnyRumcajs) in
[https://github.com/lycheeverse/lychee-action/pull/273](https://redirect.github.com/lycheeverse/lychee-action/pull/273)

#### New Contributors

- [@&#8203;LesnyRumcajs](https://redirect.github.com/LesnyRumcajs) made
their first contribution in
[https://github.com/lycheeverse/lychee-action/pull/273](https://redirect.github.com/lycheeverse/lychee-action/pull/273)

**Full Changelog**:
https://github.com/lycheeverse/lychee-action/compare/v2...v2.3.0

###
[`v2.2.0`](https://redirect.github.com/lycheeverse/lychee-action/releases/tag/v2.2.0):
Version 2.2.0

[Compare
Source](https://redirect.github.com/lycheeverse/lychee-action/compare/v2.1.0...v2.2.0)

#### What's Changed

- Fix if expressions in GitHub actions by
[@&#8203;YDX-2147483647](https://redirect.github.com/YDX-2147483647) in
[https://github.com/lycheeverse/lychee-action/pull/265](https://redirect.github.com/lycheeverse/lychee-action/pull/265)
- Update README.md to include continue-on-error: true in action by
[@&#8203;psobolewskiPhD](https://redirect.github.com/psobolewskiPhD) in
[https://github.com/lycheeverse/lychee-action/pull/267](https://redirect.github.com/lycheeverse/lychee-action/pull/267)
- Bump default version to latest (0.18.0) by
[@&#8203;trask](https://redirect.github.com/trask) in
[https://github.com/lycheeverse/lychee-action/pull/269](https://redirect.github.com/lycheeverse/lychee-action/pull/269)

#### New Contributors

- [@&#8203;psobolewskiPhD](https://redirect.github.com/psobolewskiPhD)
made their first contribution in
[https://github.com/lycheeverse/lychee-action/pull/267](https://redirect.github.com/lycheeverse/lychee-action/pull/267)
- [@&#8203;trask](https://redirect.github.com/trask) made their first
contribution in
[https://github.com/lycheeverse/lychee-action/pull/269](https://redirect.github.com/lycheeverse/lychee-action/pull/269)

**Full Changelog**:
https://github.com/lycheeverse/lychee-action/compare/v2...v2.2.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiY2kiLCJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 16:16:23 +02:00
renovate[bot]
b68e61db68
chore(deps): update dependency black to v25 (#3191)
This PR contains the following updates:

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

---

### Release Notes

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

###
[`v25.1.0`](https://redirect.github.com/psf/black/blob/HEAD/CHANGES.md#2510)

[Compare
Source](https://redirect.github.com/psf/black/compare/24.10.0...25.1.0)

##### Highlights

This release introduces the new 2025 stable style
([#&#8203;4558](https://redirect.github.com/psf/black/issues/4558)),
stabilizing the following
changes:

- Normalize casing of Unicode escape characters in strings to lowercase
([#&#8203;2916](https://redirect.github.com/psf/black/issues/2916))
- Fix inconsistencies in whether certain strings are detected as
docstrings
([#&#8203;4095](https://redirect.github.com/psf/black/issues/4095))
- Consistently add trailing commas to typed function parameters
([#&#8203;4164](https://redirect.github.com/psf/black/issues/4164))
- Remove redundant parentheses in if guards for case blocks
([#&#8203;4214](https://redirect.github.com/psf/black/issues/4214))
- Add parentheses to if clauses in case blocks when the line is too long
([#&#8203;4269](https://redirect.github.com/psf/black/issues/4269))
- Whitespace before `# fmt: skip` comments is no longer normalized
([#&#8203;4146](https://redirect.github.com/psf/black/issues/4146))
- Fix line length computation for certain expressions that involve the
power operator
  ([#&#8203;4154](https://redirect.github.com/psf/black/issues/4154))
- Check if there is a newline before the terminating quotes of a
docstring
([#&#8203;4185](https://redirect.github.com/psf/black/issues/4185))
- Fix type annotation spacing between `*` and more complex type variable
tuple
([#&#8203;4440](https://redirect.github.com/psf/black/issues/4440))

The following changes were not in any previous release:

- Remove parentheses around sole list items
([#&#8203;4312](https://redirect.github.com/psf/black/issues/4312))
- Generic function definitions are now formatted more elegantly:
parameters are split
over multiple lines first instead of type parameter definitions
([#&#8203;4553](https://redirect.github.com/psf/black/issues/4553))

##### Stable style

- Fix formatting cells in IPython notebooks with magic methods and
starting or trailing
empty lines
([#&#8203;4484](https://redirect.github.com/psf/black/issues/4484))
- Fix crash when formatting `with` statements containing tuple
generators/unpacking
  ([#&#8203;4538](https://redirect.github.com/psf/black/issues/4538))

##### Preview style

- Fix/remove string merging changing f-string quotes on f-strings with
internal quotes
  ([#&#8203;4498](https://redirect.github.com/psf/black/issues/4498))
- Collapse multiple empty lines after an import into one
([#&#8203;4489](https://redirect.github.com/psf/black/issues/4489))
- Prevent `string_processing` and `wrap_long_dict_values_in_parens` from
removing
parentheses around long dictionary values
([#&#8203;4377](https://redirect.github.com/psf/black/issues/4377))
- Move `wrap_long_dict_values_in_parens` from the unstable to preview
style
([#&#8203;4561](https://redirect.github.com/psf/black/issues/4561))

##### Packaging

- Store license identifier inside the `License-Expression` metadata
field, see
[PEP 639](https://peps.python.org/pep-0639/).
([#&#8203;4479](https://redirect.github.com/psf/black/issues/4479))

##### Performance

- Speed up the `is_fstring_start` function in Black's tokenizer
([#&#8203;4541](https://redirect.github.com/psf/black/issues/4541))

##### Integrations

- If using stdin with `--stdin-filename` set to a force excluded path,
stdin won't be
formatted.
([#&#8203;4539](https://redirect.github.com/psf/black/issues/4539))

</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 becomes conflicted, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicHl0aG9uIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 16:13:35 +02:00
renovate[bot]
e63f5a3045
chore(deps): update dependency isort to v6 (#3192)
This PR contains the following updates:

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

---

### Release Notes

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

###
[`v6.0.1`](https://redirect.github.com/PyCQA/isort/releases/tag/6.0.1)

[Compare
Source](https://redirect.github.com/PyCQA/isort/compare/6.0.0...6.0.1)

#### Changes

- fix multi\_line\_output\_modes docs
([#&#8203;2096](https://redirect.github.com/PyCQA/isort/issues/2096))
[@&#8203;xinydev](https://redirect.github.com/xinydev)
- Ruff rules PT for pytest
([#&#8203;2372](https://redirect.github.com/PyCQA/isort/issues/2372))
[@&#8203;cclauss](https://redirect.github.com/cclauss)
- Ruff rules B017, B028, and E203
([#&#8203;2371](https://redirect.github.com/PyCQA/isort/issues/2371))
[@&#8203;cclauss](https://redirect.github.com/cclauss)
- Lint Python code with ruff
([#&#8203;2359](https://redirect.github.com/PyCQA/isort/issues/2359))
[@&#8203;cclauss](https://redirect.github.com/cclauss)
- Fix test\_find\_imports\_in\_file\_error failing on Windows
([#&#8203;2369](https://redirect.github.com/PyCQA/isort/issues/2369))
[@&#8203;kobarity](https://redirect.github.com/kobarity)
- Move flake8 settings into pyproject.toml
([#&#8203;2360](https://redirect.github.com/PyCQA/isort/issues/2360))
[@&#8203;cclauss](https://redirect.github.com/cclauss)
- Upgrade to uv>=0.6.0 and enable-cache
([#&#8203;2364](https://redirect.github.com/PyCQA/isort/issues/2364))
[@&#8203;cclauss](https://redirect.github.com/cclauss)
- Apply some ruff rules
([#&#8203;2353](https://redirect.github.com/PyCQA/isort/issues/2353))
[@&#8203;cclauss](https://redirect.github.com/cclauss)

#### 🪲 Fixes

- Add OSError handling in find\_imports\_in\_file
([#&#8203;2331](https://redirect.github.com/PyCQA/isort/issues/2331))
[@&#8203;kobarity](https://redirect.github.com/kobarity)
- Link GH as changelog
([#&#8203;2354](https://redirect.github.com/PyCQA/isort/issues/2354))
[@&#8203;staticdev](https://redirect.github.com/staticdev)

#### :construction\_worker: Continuous Integration

- Remove Safety
([#&#8203;2373](https://redirect.github.com/PyCQA/isort/issues/2373))
[@&#8203;staticdev](https://redirect.github.com/staticdev)

###
[`v6.0.0`](https://redirect.github.com/PyCQA/isort/releases/tag/6.0.0)

[Compare
Source](https://redirect.github.com/PyCQA/isort/compare/5.13.2...6.0.0)

#### Changes

#### 💥 Breaking Changes

- Remove support for Python 3.8
([#&#8203;2327](https://redirect.github.com/PyCQA/isort/issues/2327))
[@&#8203;DanielNoord](https://redirect.github.com/DanielNoord)

#### 🚀 Features

- Python 3.13 support
([#&#8203;2306](https://redirect.github.com/PyCQA/isort/issues/2306))
[@&#8203;mayty](https://redirect.github.com/mayty)
- Updates round 3
([#&#8203;2334](https://redirect.github.com/PyCQA/isort/issues/2334))
[@&#8203;matthewhughes934](https://redirect.github.com/matthewhughes934)
- Speed up exists\_case\_sensitive calls
([#&#8203;2264](https://redirect.github.com/PyCQA/isort/issues/2264))
[@&#8203;correctmost](https://redirect.github.com/correctmost)
- nit: Fix deprecation message link
([#&#8203;2220](https://redirect.github.com/PyCQA/isort/issues/2220))
[@&#8203;syou6162](https://redirect.github.com/syou6162)
- Ensure that split\_on\_trailing\_comma works with `as` imports
([#&#8203;2340](https://redirect.github.com/PyCQA/isort/issues/2340))
[@&#8203;DanielNoord](https://redirect.github.com/DanielNoord)
- Black profile: enable magic comma
([#&#8203;2236](https://redirect.github.com/PyCQA/isort/issues/2236))
[@&#8203;MrMino](https://redirect.github.com/MrMino)
- Fix google style test
([#&#8203;2336](https://redirect.github.com/PyCQA/isort/issues/2336))
[@&#8203;DanielNoord](https://redirect.github.com/DanielNoord)
- Update line\_length and single\_line\_exclusions in google profile
([#&#8203;2149](https://redirect.github.com/PyCQA/isort/issues/2149))
[@&#8203;jagapiou](https://redirect.github.com/jagapiou)
- Updates round 2
([#&#8203;2329](https://redirect.github.com/PyCQA/isort/issues/2329))
[@&#8203;matthewhughes934](https://redirect.github.com/matthewhughes934)
- Dependency updates round 1
([#&#8203;2325](https://redirect.github.com/PyCQA/isort/issues/2325))
[@&#8203;matthewhughes934](https://redirect.github.com/matthewhughes934)
- Run `pre-commit autoupdate`
([#&#8203;2321](https://redirect.github.com/PyCQA/isort/issues/2321))
[@&#8203;kurtmckee](https://redirect.github.com/kurtmckee)

#### 🪲 Fixes

- Allow `--diff` to be used with `--jobs`
([#&#8203;2302](https://redirect.github.com/PyCQA/isort/issues/2302))
[@&#8203;mnakama](https://redirect.github.com/mnakama)
- `wemake` has 80 chars hard limit, not 79
([#&#8203;2241](https://redirect.github.com/PyCQA/isort/issues/2241))
[@&#8203;sobolevn](https://redirect.github.com/sobolevn)
- Fix errors on `main`
([#&#8203;2320](https://redirect.github.com/PyCQA/isort/issues/2320))
[@&#8203;DanielNoord](https://redirect.github.com/DanielNoord)
- Fixed syntax error
([#&#8203;2289](https://redirect.github.com/PyCQA/isort/issues/2289))
[@&#8203;Sergio-prog](https://redirect.github.com/Sergio-prog)
- fix: typo
([#&#8203;2298](https://redirect.github.com/PyCQA/isort/issues/2298))
[@&#8203;Rotzbua](https://redirect.github.com/Rotzbua)
- Fix `sort_reexports` code mangling
([#&#8203;2283](https://redirect.github.com/PyCQA/isort/issues/2283))
[@&#8203;Helveg](https://redirect.github.com/Helveg)
- fix: correct group by package tokenization
([#&#8203;2136](https://redirect.github.com/PyCQA/isort/issues/2136))
[@&#8203;glasnt](https://redirect.github.com/glasnt)
- Fix isort-action usage documentation
([#&#8203;2297](https://redirect.github.com/PyCQA/isort/issues/2297))
[@&#8203;jamescurtin](https://redirect.github.com/jamescurtin)
- Fix CDN for Ace
([#&#8203;2127](https://redirect.github.com/PyCQA/isort/issues/2127))
[@&#8203;abitrolly](https://redirect.github.com/abitrolly)
- Fix help text
([#&#8203;2229](https://redirect.github.com/PyCQA/isort/issues/2229))
[@&#8203;stweil](https://redirect.github.com/stweil)
- docs: fix spelling mistake
([#&#8203;2249](https://redirect.github.com/PyCQA/isort/issues/2249))
[@&#8203;cachho](https://redirect.github.com/cachho)

#### :construction\_worker: Continuous Integration

- UV replacement of Poetry
([#&#8203;2349](https://redirect.github.com/PyCQA/isort/issues/2349))
[@&#8203;staticdev](https://redirect.github.com/staticdev)
- Make actions happy
([#&#8203;2311](https://redirect.github.com/PyCQA/isort/issues/2311))
[@&#8203;matthewhughes934](https://redirect.github.com/matthewhughes934)
- Fix GitHub Actions badges
([#&#8203;2326](https://redirect.github.com/PyCQA/isort/issues/2326))
[@&#8203;hugovk](https://redirect.github.com/hugovk)
- Eliminate `actions/cache@v2` usage
([#&#8203;2322](https://redirect.github.com/PyCQA/isort/issues/2322))
[@&#8203;kurtmckee](https://redirect.github.com/kurtmckee)
- feat: add dependabot for GH action update
([#&#8203;2300](https://redirect.github.com/PyCQA/isort/issues/2300))
[@&#8203;Rotzbua](https://redirect.github.com/Rotzbua)
- Update stage names for `pre-commit`
([#&#8203;2296](https://redirect.github.com/PyCQA/isort/issues/2296))
[@&#8203;matthewhughes934](https://redirect.github.com/matthewhughes934)

#### 📦 Dependencies

- Bump `poetry` to `2.0.1`
([#&#8203;2341](https://redirect.github.com/PyCQA/isort/issues/2341))
[@&#8203;DanielNoord](https://redirect.github.com/DanielNoord)
- Fix misc unsafe dependencies
([#&#8203;2345](https://redirect.github.com/PyCQA/isort/issues/2345))
[@&#8203;staticdev](https://redirect.github.com/staticdev)
- Bump the github-actions group across 1 directory with 5 updates
([#&#8203;2324](https://redirect.github.com/PyCQA/isort/issues/2324))
@&#8203;[dependabot\[bot\]](https://redirect.github.com/apps/dependabot)
- Bump gitpython from 3.1.40 to 3.1.41
([#&#8203;2223](https://redirect.github.com/PyCQA/isort/issues/2223))
@&#8203;[dependabot\[bot\]](https://redirect.github.com/apps/dependabot)
- Bump jinja2 from 3.1.2 to 3.1.3
([#&#8203;2224](https://redirect.github.com/PyCQA/isort/issues/2224))
@&#8203;[dependabot\[bot\]](https://redirect.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 becomes conflicted, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicHl0aG9uIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 16:13:14 +02:00
Jonas L.
f57002ed92
chore: update pre-commit hooks (#3193)
### Description

Update pre-commit hooks and fix formatting.
2025-08-09 16:13:02 +02:00
renovate[bot]
eb9b8bdf81
chore(deps): update dependency friendsofphp/php-cs-fixer to <3.85.2 (#3188)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
|
[friendsofphp/php-cs-fixer](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer)
| `<3.64.1` -> `<3.85.2` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/friendsofphp%2fphp-cs-fixer/3.85.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/friendsofphp%2fphp-cs-fixer/3.64.0/3.85.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>PHP-CS-Fixer/PHP-CS-Fixer (friendsofphp/php-cs-fixer)</summary>

###
[`v3.85.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3851)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.85.0...v3.85.1)

- chore: update legacy deps
([#&#8203;8902](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8902))

###
[`v3.85.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3850)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.84.0...v3.85.0)

- feat: `ArrayIndentationFixer` - handle closures inside attributes
([#&#8203;8888](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8888))
- feat: `NullableTypeDeclarationFixer` - support final promoted
properties
([#&#8203;8885](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8885))
- feat: `OperatorLinebreakFixer` - support pipe operator
([#&#8203;8891](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8891))
- feat: `PhpdocTypesFixer` - support multiline array shapes
([#&#8203;8893](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8893))
- fix: always reach 100% of checked files
([#&#8203;8861](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8861))
- fix: `BracesPositionFixer` - handle property hooks correctly
([#&#8203;8886](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8886))
- fix: `NullableTypeDeclarationFixer` - handle abstract and final
properties
([#&#8203;8876](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8876))
- fix: `PhpdocLineSpanFixer` - handle promoted properties
([#&#8203;8897](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8897))
- fix: `PhpUnitDataProviderNameFixer` - fix for multiple providers
defined by attributes for one test method
([#&#8203;8849](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8849))
- fix: `TernaryOperatorSpacesFixer` - handle `instanceof static`
([#&#8203;8879](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8879))
- fix: `TypeDeclarationSpacesFixer` - handle asymmetric visibility and
final properties
([#&#8203;8900](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8900))
- chore: add initial PHP 8.5 integration test
([#&#8203;8871](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8871))
- chore: add tests for public API methods
([#&#8203;8895](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8895))
- chore: apply changes from `PhpdocTypesFixer` for multiline array
shapes
([#&#8203;8894](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8894))
- chore: baseline files without error count
([#&#8203;8870](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8870))
- chore: cleanup `PhpCsFixer\DocBlock\Annotation`
([#&#8203;8892](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8892))
- chore: Command name/descriptions - use attribute and static properties
([#&#8203;8862](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8862))
- chore: Commands - unify way to define help content
([#&#8203;8881](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8881))
- chore: ConfigurationResolver - add few missing v4 TODOs
([#&#8203;8882](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8882))
- chore: fix `booleanNot.exprNotBoolean` errors
([#&#8203;8869](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8869))
- chore: fix/optimize some phpdocs
([#&#8203;8889](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8889))
- chore: more unification of PHP CS Fixer naming
([#&#8203;8854](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8854))
- chore: PHPStan baseline - use
`shipmonk/phpstan-baseline-per-identifier`
([#&#8203;8844](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8844))
- chore: remove dead code
([#&#8203;8896](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8896))
- chore: remove unused constants
([#&#8203;8864](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8864))
- chore: remove useless `@var` annotations
([#&#8203;8867](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8867))
- chore: simplify `ClassDefinitionFixer`
([#&#8203;8868](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8868))
- chore: unify usage of image versions to not mention minor
([#&#8203;8860](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8860))
- chore: update PHPStan
([#&#8203;8898](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8898))
- chore: update PHPStan extension for `Preg::match`
([#&#8203;8872](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8872))
- chore: wrong return values in `ErrorsManager`
([#&#8203;8863](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8863))
- chore: `OrderedInterfacesFixer` - make code more PHPStan friendly
([#&#8203;8866](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8866))
- chore: `Token` - add `@phpstan-assert-if-true`
([#&#8203;8865](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8865))
- deps: bump phpstan/phpstan from 2.1.17 to 2.1.18 in /dev-tools in the
phpstan group
([#&#8203;8859](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8859))
- deps: bump the phpstan group in /dev-tools with 4 updates
([#&#8203;8890](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8890))
- docs: better document reprecated rule sets
([#&#8203;8878](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8878))
- docs: cleanup docs for PHP 7
([#&#8203;8873](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8873))
- docs: cleanup docs for PHP < 7.4
([#&#8203;8855](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8855))
- docs: ListSetsCommand,FixCommand - document possible formats in
Command's definitions
([#&#8203;8880](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8880))
- DX: Explicitly prevent touching non-monolithic files
([#&#8203;6517](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/6517))

###
[`v3.84.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3840)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.83.0...v3.84.0)

- feat: Introduce `NoUselessPrintfFixer`
([#&#8203;8820](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8820))
- feat: `CastSpacesFixer` - support `(void)` cast
([#&#8203;8851](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8851))
- feat: `NewExpressionParenthesesFixer` - add to `PHP84MigrationSet`
([#&#8203;8788](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8788))
- feat: `VisibilityRequiredFixer` - support final promoted properties
([#&#8203;8835](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8835))
- fix: `PhpdocToParamTypeFixer` - do not convert types from
`phpstan-type`, `phpstan-import-type`, `psalm-type` and
`psalm-import-type`
([#&#8203;8842](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8842))
- fix: `PhpdocToPropertyTypeFixer` - do not convert types from
`phpstan-type`, `phpstan-import-type`, `psalm-type` and
`psalm-import-type`
([#&#8203;8847](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8847))
- fix: `PhpdocToReturnTypeFixer` - do not convert types from
`phpstan-type`, `phpstan-import-type`, `psalm-type` and
`psalm-import-type`
([#&#8203;8846](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8846))
- chore: introduce FCT for few missing tokens
([#&#8203;8845](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8845))
- chore: remove useless static variables for const content
([#&#8203;8836](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8836))
- chore: simplify `isGivenKind`/`equals`/`equalsAll` calls
([#&#8203;8843](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8843))
- docs: Support for new PHP version
([#&#8203;8780](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8780))

###
[`v3.83.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3830)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.82.2...v3.83.0)

- feat: Suppress enable parallel runner message when only 1 core is
available
([#&#8203;8833](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8833))
- fix: BracesPositionFixer - fix performance issue for massive files
with CT::T\_CURLY\_CLOSE
([#&#8203;8830](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8830))
- fix: `NoUnreachableDefaultArgumentValueFixer` - do not crash on
property hook
([#&#8203;8838](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8838))
- chore: Add CS commit to .git-blame-ignore-revs
- chore: apply native\_constant\_invocation for build-in consts
([#&#8203;8837](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8837))
- chore: configure native\_constant\_invocation
([#&#8203;8840](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8840))
- chore: early compat check with Symfony 8
([#&#8203;8827](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8827))
- chore: `FullyQualifiedStrictTypesFixer` - reduce function calls
([#&#8203;8834](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8834))
- CI: mark jobs allow-to-fail declarative, instead of imperative check
([#&#8203;8829](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8829))

###
[`v3.82.2`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3822)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.82.1...v3.82.2)

- fix: `ClassAttributesSeparationFixer` - handle method `get` aliased in
trait import
([#&#8203;8822](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8822))
- fix: `LowercaseStaticReferenceFixer` - do not touch enum's cases
([#&#8203;8824](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8824))
- fix: `StatementIndentationFixer` - multi constant statement containing
array
([#&#8203;8825](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8825))
- fix: `VisibilityRequiredFixer` - handle promoted property with
visibility and reference, but without type
([#&#8203;8823](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8823))

###
[`v3.82.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3821)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.82.0...v3.82.1)

- fix: `OrderedClassElementsFixer` - handle property hooks
([#&#8203;8817](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8817))
- fix: `SingleClassElementPerStatementFixer` - fix for property hooks
([#&#8203;8816](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8816))

###
[`v3.82.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3820)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.81.0...v3.82.0)

- chore: cleanup `FCTTest`
([#&#8203;8808](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8808))
- chore: PhpdocOrderFixer.php - CPU optimization
([#&#8203;8812](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8812))
- deps: update box
([#&#8203;8795](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8795))
- docs: fix whitespace around code examples and reference sections in
rules' docs
([#&#8203;8810](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8810))
- feat: `MagicConstantCasingFixer` - support `__PROPERTY__`
([#&#8203;8809](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8809))
- feat: `PhpUnitDataProviderNameFixer` - support data providers defined
by both annotation and attribute for the same test
([#&#8203;8811](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8811))
- fix: `PhpdocToParamTypeFixer` - always handle reference in PHPDoc
([#&#8203;8813](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8813))

###
[`v3.81.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3810)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.80.0...v3.81.0)

- feat: `VisibilityRequiredFixer` - handle more than only the first
promoted property
([#&#8203;8801](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8801))
- fix: `BracesPositionFixer` - do not crash when variable is terminated
by PHP close tag
([#&#8203;8804](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8804))
- fix: `PhpUnitDataProviderMethodOrderFixer` - handle data provider
defined by both annotation and attribute
([#&#8203;8805](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8805))
- fix: `PhpUnitInternalClassFixer` - skip adding `@internal` on
instantiation of anonymous classes
([#&#8203;8807](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8807))
- fix: `VisibilityRequiredFixer` - handle promoted parameter passed by
reference
([#&#8203;8799](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8799))
- chore: add automatically to milestone "PHP 8.5 initial compatibility"
if label is "topic/PHP8.5"
([#&#8203;8806](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8806))
- chore: fail "Deployment checks" if any job from `tests` failed
([#&#8203;8792](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8792))
- docs: update docs about --allow-unsupported-php-version
([#&#8203;8796](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8796))

###
[`v3.80.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3800)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.79.0...v3.80.0)

- feat: PHP 8.4 compatibility support
([#&#8203;8300](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8300))

###
[`v3.79.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3790)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.78.1...v3.79.0)

- chore: `VisibilityRequiredFixerTest` - run tests in correct PHP
version
([#&#8203;8790](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8790))
- feat: `BracesPositionFixer` - do not touch one-line properties with
hooks
([#&#8203;8785](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8785))
- feat: `PhpUnitDataProvider(.+)Fixer` - support attributes
([#&#8203;8197](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8197))

###
[`v3.78.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3781)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.78.0...v3.78.1)

- fix: `VisibilityRequiredFixer` - do not add `public` incorrectly
([#&#8203;8787](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8787))

###
[`v3.78.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3780)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.77.0...v3.78.0)

- chore: `VisibilityRequiredFixer` - document behaviour for asymmetric
visibility with only set-visibility
([#&#8203;8783](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8783))
- feat: `BracesPositionFixer` - support property hooks
([#&#8203;8782](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8782))
- feat: `VisibilityRequiredFixer` - support promoted property without
visibility
([#&#8203;8773](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8773))
- fix: `NativeFunctionInvocationFixer` - fix global function `set`
called in array key
([#&#8203;8568](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8568))
- fix: `NoBreakCommentFixer` - handle function having return type
([#&#8203;8767](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8767))
- fix: `StatementIndentationFixer` - handle functions `set` and `get`
(like property hooks, but not)
([#&#8203;8576](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8576))
- fix: `StaticPrivateMethodFixer` - handle nested calls
([#&#8203;8768](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8768))

###
[`v3.77.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3770)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.76.0...v3.77.0)

- chore: add automatically to milestone "PHP 8.4 initial compatibility"
if label is "topic/PHP8.4"
([#&#8203;8770](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8770))
- chore: Add CS commit to .git-blame-ignore-revs
- chore: fix adding automatically to milestone "PHP 8.4 initial
compatibility" if label is "topic/PHP8.4"
([#&#8203;8775](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8775))
- chore: fix adding automatically to milestone "PHP 8.4 initial
compatibility" if label is "topic/PHP8.4"
([#&#8203;8776](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8776))
- chore: move all indicators to analyzers
([#&#8203;8772](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8772))
- chore: move PHP-compat integration tests
([#&#8203;8781](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8781))
- chore: partially apply NoExtraBlankLinesFixer:tokens.comma
([#&#8203;8762](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8762))
- chore: reconfigure phpdoc\_order in local config
([#&#8203;8220](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8220))
- feat: PhpdocOrderFixer - extend support for phpstan and psalm
annotations
([#&#8203;8777](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8777))
- feat: support anonymous classes extending `TestCase` in PHPUnit fixers
([#&#8203;8707](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8707))
- feat: `CommentToPhpdocFixer` and `PhpdocToCommentFixer` - support
asymmetric visibility
([#&#8203;8774](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8774))
- feat: `NoEmptyStatementFixer` - support abstract property hooks
([#&#8203;8766](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8766))
- feat: `NullableTypeDeclarationForDefaultNullValueFixer` - support
asymmetric visibility in the constructor
([#&#8203;8604](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8604))
- feat: `ProtectedToPrivateFixer` - add support for promoted properties
([#&#8203;8608](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8608))
- fix: `PhpUnitAttributesFixer` - correctly remove annotations when
configured `['keep_annotations' => false]`
([#&#8203;8577](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8577))
- fix: `ProtectedToPrivateFixer` - fix asymmetric visibility with only
set visibility
([#&#8203;8763](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8763))

###
[`v3.76.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3760)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.75.0...v3.76.0)

- chore(release): bump php ci alpine version
([#&#8203;8581](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8581))
- chore: add missing priority test for `BracesPositionFixer` and
`MultilinePromotedPropertiesFixer`
([#&#8203;8596](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8596))
- chore: add more assertions in tests
([#&#8203;8740](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8740))
- chore: bump dependencies version to maximum for non-newest MAJOR
version
([#&#8203;8753](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8753))
- chore: cast types in tests
([#&#8203;8742](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8742))
- chore: cleanup booleans use in tests
([#&#8203;8738](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8738))
- chore: cleanup code in tests
([#&#8203;8745](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8745))
- chore: cleanup PsrAutoloadingFixerTest.php keywords handling, as
always defined currently
([#&#8203;8730](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8730))
- chore: cleanup `AlignMultilineCommentFixerTest`
([#&#8203;8688](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8688))
- chore: cleanup `BinaryOperatorSpacesFixerTest`
([#&#8203;8687](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8687))
- chore: cleanup `BlankLineBeforeStatementFixerTest`
([#&#8203;8685](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8685))
- chore: cleanup `ClassDefinitionFixerTest`
([#&#8203;8684](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8684))
- chore: cleanup `ClassDefinitionFixer`
([#&#8203;8580](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8580))
- chore: cleanup `ConcatSpaceFixerTest`
([#&#8203;8683](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8683))
- chore: cleanup `DoctrineAnnotationArrayAssignmentFixerTest`
([#&#8203;8621](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8621))
- chore: cleanup `DoctrineAnnotationBracesFixerTest`
([#&#8203;8623](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8623))
- chore: cleanup `DoctrineAnnotationIndentationFixerTest`
([#&#8203;8620](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8620))
- chore: cleanup `DoctrineAnnotationSpacesFixerTest`
([#&#8203;8624](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8624))
- chore: cleanup `EchoTagSyntaxFixerTest`
([#&#8203;8681](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8681))
- chore: cleanup `file_get_contents` return types
([#&#8203;8735](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8735))
- chore: cleanup `FunctionDeclarationFixerTest`
([#&#8203;8680](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8680))
- chore: cleanup `FunctionToConstantFixerTest`
([#&#8203;8618](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8618))
- chore: cleanup `GeneralPhpdocTagRenameFixerTest`
([#&#8203;8627](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8627))
- chore: cleanup `GlobalNamespaceImportFixerTest`
([#&#8203;8679](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8679))
- chore: cleanup `HeaderCommentFixerTest`
([#&#8203;8677](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8677))
- chore: cleanup `HeaderCommentFixerTest` (restore `@requires` for PHP
8.1)
([#&#8203;8678](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8678))
- chore: cleanup `IncrementStyleFixerTest`
([#&#8203;8676](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8676))
- chore: cleanup `IndentationTypeFixerTest`
([#&#8203;8675](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8675))
- chore: cleanup `ListSyntaxFixerTest`
([#&#8203;8674](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8674))
- chore: cleanup `MethodArgumentSpaceFixerTest`
([#&#8203;8673](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8673))
- chore: cleanup `MultilineWhitespaceBeforeSemicolonsFixerTest`
([#&#8203;8614](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8614))
- chore: cleanup `NativeConstantInvocationFixerTest`
([#&#8203;8672](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8672))
- chore: cleanup `NewWithParenthesesFixerTest`
([#&#8203;8592](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8592))
- chore: cleanup `NoBlankLinesAfterPhpdocFixerTest`
([#&#8203;8671](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8671))
- chore: cleanup `NoBreakCommentFixerTest`
([#&#8203;8670](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8670))
- chore: cleanup `NoClosingTagFixerTest`
([#&#8203;8669](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8669))
- chore: cleanup `NoEmptyStatementFixerTest`
([#&#8203;8667](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8667))
- chore: cleanup `NoSpacesAroundOffsetFixerTest`
([#&#8203;8666](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8666))
- chore: cleanup `NoUnneededControlParenthesesFixerTest`
([#&#8203;8665](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8665))
- chore: cleanup `NoUselessElseFixerTest`
([#&#8203;8664](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8664))
- chore: cleanup `PhpdocAddMissingParamAnnotationFixerTest`
([#&#8203;8663](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8663))
- chore: cleanup `PhpdocNoEmptyReturnFixerTest`
([#&#8203;8662](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8662))
- chore: cleanup `PhpdocNoPackageFixerTest`
([#&#8203;8626](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8626))
- chore: cleanup `PhpdocOrderByValueFixerTest`
([#&#8203;8661](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8661))
- chore: cleanup `PhpdocOrderFixerTest`
([#&#8203;8660](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8660))
- chore: cleanup `PhpdocParamOrderFixerTest`
([#&#8203;8659](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8659))
- chore: cleanup `PhpdocReturnSelfReferenceFixerTest`
([#&#8203;8658](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8658))
- chore: cleanup `PhpdocSeparationFixerTest`
([#&#8203;8657](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8657))
- chore: cleanup `PhpdocSummaryFixerTest`
([#&#8203;8654](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8654))
- chore: cleanup `PhpdocTrimFixerTest`
([#&#8203;8653](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8653))
- chore: cleanup `PhpdocTypesOrderFixerTest`
([#&#8203;8652](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8652))
- chore: cleanup `PhpdocVarWithoutNameFixerTest`
([#&#8203;8617](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8617))
- chore: cleanup `PhpUnitConstructFixerTest`
([#&#8203;8651](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8651))
- chore: cleanup `PhpUnitDedicateAssertFixerTest`
([#&#8203;8650](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8650))
- chore: cleanup `PhpUnitTestCaseStaticMethodCallsFixerTest`
([#&#8203;8649](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8649))
- chore: cleanup `Preg` issues
([#&#8203;8720](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8720))
- chore: cleanup `ReturnAssignmentFixerTest`
([#&#8203;8648](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8648))
- chore: cleanup `ReturnTypeDeclarationFixerTest`
([#&#8203;8647](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8647))
- chore: cleanup `SingleImportPerStatementFixerTest`
([#&#8203;8645](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8645))
- chore: cleanup `SingleLineCommentStyleFixerTest`
([#&#8203;8644](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8644))
- chore: cleanup `SingleSpaceAroundConstructFixerTest`
([#&#8203;8642](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8642))
- chore: cleanup `SpaceAfterSemicolonFixerTest`
([#&#8203;8625](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8625))
- chore: cleanup `SpacesInsideParenthesesFixerTest`
([#&#8203;8641](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8641))
- chore: cleanup `StatementIndentationFixerTest`
([#&#8203;8640](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8640))
- chore: cleanup `YodaStyleFixerTest`
([#&#8203;8638](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8638))
- chore: do not check if `JSON_INVALID_UTF8_IGNORE` is defined because
it always is (since PHP 7.2)
([#&#8203;8709](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8709))
- chore: handle saveXML failures explicitly
([#&#8203;8755](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8755))
- chore: ignore remaining PHPStan (false positive) issues
([#&#8203;8746](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8746))
- chore: improve PHPDoc's types in
([#&#8203;8741](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8741))
- chore: improve PHPDocs in tests
([#&#8203;8736](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8736))
- chore: improve PHPDocs in tests
([#&#8203;8744](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8744))
- chore: improve type of `Token::equalsAny`
([#&#8203;8743](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8743))
- chore: lint yaml files
([#&#8203;8622](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8622))
- chore: MultilinePromotedPropertiesFixer - mark new fixer introduced in
[#&#8203;8595](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8595)
as experimental
([#&#8203;8758](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8758))
- chore: PHPMD - cleanup `UnusedLocalVariable` for `foreach`
([#&#8203;8637](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8637))
- chore: refactor FCT
([#&#8203;8714](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8714))
- chore: remove unused local variables in src
([#&#8203;8600](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8600))
- chore: remove unused local variables in tests
([#&#8203;8599](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8599))
- chore: remove useless test from `AliasedFixerOptionTest`
([#&#8203;8739](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8739))
- chore: remove `defined` calls from tests
([#&#8203;8708](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8708))
- chore: restore original type of Token::equalsAny, partially reverts
[#&#8203;8743](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8743)
([#&#8203;8759](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8759))
- chore: run mutation tests on PHP 8.4
([#&#8203;8594](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8594))
- chore: solve one of phpstan warnings
([#&#8203;8754](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8754))
- chore: update dev tools
([#&#8203;8737](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8737))
- chore: update PHPUnit config
([#&#8203;8721](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8721))
- chore: update `checkbashisms` to 2.25.12
([#&#8203;8694](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8694))
- chore: update `checkbashisms` to 2.25.14
([#&#8203;8731](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8731))
- chore: use PHPStan type in data providers
([#&#8203;8605](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8605))
- chore: use `foreach` values
([#&#8203;8636](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8636))
- chore: use `Preg` class everywhere
([#&#8203;8689](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8689))
- CI: add self-approved label
([#&#8203;8757](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8757))
- CI: run on PHP 8.5
([#&#8203;8713](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8713))
- deps: bump alpine from 3.21.3 to 3.22.0
([#&#8203;8724](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8724))
- deps: bump alpine from 3.21.3 to 3.22.0
([#&#8203;8726](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8726))
- deps: bump ergebnis/composer-normalize from 2.45.0 to 2.46.0 in
/dev-tools
([#&#8203;8578](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8578))
- deps: bump ergebnis/composer-normalize from 2.46.0 to 2.47.0 in
/dev-tools
([#&#8203;8584](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8584))
- deps: bump phpstan/phpstan from 2.1.11 to 2.1.12 in /dev-tools in the
phpstan group
([#&#8203;8583](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8583))
- deps: bump phpstan/phpstan-symfony from 2.0.3 to 2.0.4 in /dev-tools
in the phpstan group
([#&#8203;8557](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8557))
- deps: bump the phpstan group across 1 directory with 2 updates
([#&#8203;8682](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8682))
- deps: upgrade docker deps
([#&#8203;8566](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8566))
- docs: extend and fix links to code
([#&#8203;8639](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8639))
- docs: Update SECURITY.md
([#&#8203;8716](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8716))
- docs: VisibilityRequiredFixer - extend docs
([#&#8203;8561](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8561))
- docs: `VisibilityRequiredFixer` - update docs
([#&#8203;8563](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8563))
- DX: add `symfony/polyfill-php84`
([#&#8203;8555](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8555))
- DX: always use the latest stable `checkbashisms` package
([#&#8203;8732](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8732))
- DX: check for `preg_` functions in tests
([#&#8203;8571](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8571))
- DX: cleanup `BlankLinesBeforeNamespaceFixerTest`
([#&#8203;8573](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8573))
- DX: cleanup `NativeFunctionInvocationFixerTest`
([#&#8203;8567](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8567))
- DX: cleanup `NoUselessConcatOperatorFixerTest`
([#&#8203;8572](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8572))
- DX: cleanup `SemicolonAfterInstructionFixerTest`
([#&#8203;8570](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8570))
- DX: fix data providers
([#&#8203;8693](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8693))
- DX: introduce `FCT` class for tokens not present in the lowest
supported PHP version
([#&#8203;8706](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8706))
- DX: move `symfony/polyfill-php84` to dev deps
([#&#8203;8559](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8559))
- DX: support PHP 8.4 in local Docker development environment
([#&#8203;8564](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8564))
- DX: trim array/yield keys
([#&#8203;8460](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8460))
- DX: use `WhitespacesAwareFixerInterface` only when needed
([#&#8203;8541](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8541))
- feat: add `NewExpressionParenthesesFixer`
([#&#8203;8246](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8246))
- feat: allowUnsupportedPhpVersion
([#&#8203;8733](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8733))
- feat: introduce `MultilinePromotedPropertiesFixer`
([#&#8203;8595](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8595))
- feat: Introduce `StaticPrivateMethodFixer`
([#&#8203;4557](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/4557))
- feat: `BracesPositionFixer` - support property hooks in promoted
properties
([#&#8203;8613](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8613))
- feat: `ClassAttributesSeparationFixer` - add support for property
hooks
([#&#8203;8610](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8610))
- feat: `GlobalNamespaceImportFixer` - analyze and fix more annotations
with types
([#&#8203;8593](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8593))
- feat: `LowercaseKeywordsFixer` - support asymmetric visibility
([#&#8203;8607](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8607))
- feat: `NoExtraBlankLinesFixer` - add comma to supported tokens
([#&#8203;8655](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8655))
- feat: `NoSuperfluousPhpdocTagsFixer` - support asymmetric visibility
([#&#8203;8700](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8700))
- feat: `NullableTypeDeclarationFixer` - support asymmetric visibility
([#&#8203;8697](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8697))
- feat: `OrderedClassElementsFixer` - add support for property hooks for
abstract properties
([#&#8203;8574](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8574))
- feat: `OrderedTypesFixer` - add support for asymmetric visibility
([#&#8203;8552](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8552))
- feat: `OrderedTypesFixer` - support asymmetric visibility in promoted
property
([#&#8203;8602](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8602))
- feat: `PhpdocAddMissingParamAnnotationFixer` - support asymmetric
visibility
([#&#8203;8701](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8701))
- feat: `PhpdocLineSpanFixer` - support asymmetric visibility
([#&#8203;8702](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8702))
- feat: `PhpdocVarWithoutNameFixer` - support asymmetric visibility
([#&#8203;8704](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8704))
- feat: `ProtectedToPrivateFixer` - add support for asymmetric
visibility
([#&#8203;8569](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8569))
- feat: `SingleClassElementPerStatementFixer` - support asymmetric
visibility
([#&#8203;8696](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8696))
- feat: `SingleSpaceAroundConstructFixer` - add support for asymmetric
visibility
([#&#8203;8699](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8699))
- feat: `StaticLambdaFixer` - support functions having classy elements
with `$this`
([#&#8203;8728](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8728))
- feat: `VisibilityRequiredFixer` - support ordering set-visibility
modifier
([#&#8203;8606](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8606))
- fix(dependabot): convert time values to string types
([#&#8203;8634](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8634))
- fix: "array" type must have no prefix to be fixable to "list"
([#&#8203;8692](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8692))
- fix: "min"/"max" in int generics must never be prefixed by backslash
([#&#8203;8691](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8691))
- fix: Allow non-doc comment on opening inline brace line
([#&#8203;8690](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8690))
- fix: `ConstantCaseFixer` - do not touch namespaces starting with
`Null\`
([#&#8203;8752](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8752))
- fix: `LowercaseStaticReferenceFixer` - do not change global constants
([#&#8203;8727](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8727))
- fix: `MultilineWhitespaceBeforeSemicolonsFixer` - do not touch
multiline constants definitions
([#&#8203;8615](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8615))
- fix: `NewWithParenthesesFixer` - fix `new` without parentheses on PHP
8.4 syntax
([#&#8203;8588](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8588))
- fix: `NoMultipleStatementsPerLineFixer` - handle `set` and `get` in
different casing in property hooks
([#&#8203;8558](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8558))
- fix: `NoUnusedImportsFixer` - handle imported class name with
underscore before or after it in PHPDoc
([#&#8203;8598](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8598))
- fix: `PhpUnitDedicateAssertFixer` - fix for `assertFalse` with
`instanceof`
([#&#8203;8597](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8597))
- fix: `PhpUnitNamespacedFixer` must rune before
`NoUnneededImportAliasFixer`
([#&#8203;8579](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8579))
- fix: `PhpUnitTestClassRequiresCoversFixer` - do not add
`@coversNothing` annotation when `CoversTrait` attribute is used
([#&#8203;8734](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8734))
- fix: `VisibilityRequiredFixer` - add support for asymmetric visibility
([#&#8203;8586](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8586))
- refactor: avoid unused local variables in tests
([#&#8203;8609](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8609))
- test: add more cases to `PhpUnitMethodCasingFixerTest`
([#&#8203;8551](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8551))
- test: fix "unused local variables `$token`"
([#&#8203;8603](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8603))
- test: More verbose error output for integration test
([#&#8203;8565](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8565))
- Update SECURITY.md

###
[`v3.75.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3750)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.74.0...v3.75.0)

- feat: `ClassAttributesSeparationFixer` - add support for asymmetric
visibility
([#&#8203;8518](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8518))
- fix: `NativeFunctionInvocationFixer` - fix for property hooks
([#&#8203;8540](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8540))
- chore: add return types for data providers for fixers
([#&#8203;8542](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8542))
- chore: add return types for data providers for non-fixers
([#&#8203;8543](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8543))
- chore: add return types for remaining data providers
([#&#8203;8544](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8544))
- chore: make data providers key type `int` if all the keys are strings
([#&#8203;8550](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8550))
- chore: make data providers key type `string` if all the keys are
strings
([#&#8203;8545](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8545))
- chore: SwitchContinueToBreakFixerTest - improve test case
descriptions/typehint
([#&#8203;8546](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8546))
- chore: `FunctionsAnalyzerTest` cleanup
([#&#8203;8539](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8539))
- deps: bump the phpstan group in /dev-tools with 2 updates
([#&#8203;8537](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8537))
- test: ProjectCodeTest::testDataProvidersDeclaredReturnType - allow for
int as iterable keys
([#&#8203;8548](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8548))

###
[`v3.74.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3740)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.73.1...v3.74.0)

- feat: add `--format=@&#8203;auto`
([#&#8203;8513](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8513))
- fix: `BracesPositionFixer` - do not create two consecutive whitespace
tokens
([#&#8203;8496](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8496))
- fix: `MbStrFunctionsFixer` - fix imports with leading backslash
([#&#8203;8507](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8507))
- fix: `NoUnreachableDefaultArgumentValueFixer` - do not crash on
property hook
([#&#8203;8512](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8512))
- fix: `OrderedImportsFixer` - do not take the braces part in grouped
imports into account
([#&#8203;8459](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8459))
- fix: `OrderedImportsFixer` - fix syntax error with grouped use
statement and multiple use with comma
([#&#8203;8483](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8483))
- fix: `PhpUnitAttributesFixer` - handle parentheses after data provider
method name
([#&#8203;8510](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8510))
- fix: `PhpUnitMethodCasingFixer` - do not touch anonymous class
([#&#8203;8463](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8463))
- chore: make options that have default and allowed sets the same size
the same array
([#&#8203;8529](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8529))
- chore: update return type of `FixerOptionInterface::getAllowedValues`
([#&#8203;8530](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8530))
- chore: `Preg` - improve types
([#&#8203;8527](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8527))
- CI: fix code coverage job
([#&#8203;8520](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8520))
- CI: try MacOS job without ParaUnit
([#&#8203;8528](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8528))
- deps: update PHPStan
([#&#8203;8531](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8531))
- deps: upgrade `PHPStan/*`
([#&#8203;8524](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8524))

###
[`v3.73.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3731)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.73.0...v3.73.1)

- fix: `OrderedClassElementsFixer` - do not crash on property hook
([#&#8203;8517](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8517))

###
[`v3.73.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3730)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.72.0...v3.73.0)

- feat: add support for asymmetric visibility to Doctrine's fixers
([#&#8203;8415](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8415))
- fix: `GeneralPhpdocTagRenameFixer` - do not rename keys in array shape
definition
([#&#8203;8477](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8477))
- fix: `MethodArgumentSpaceFixer` - handle when nested in HTML
([#&#8203;8503](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8503))
- chore: update `checkbashisms` to 2.25.5
([#&#8203;8519](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8519))
- DX: cleanup `NoExtraBlankLinesFixerTest`
([#&#8203;8505](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8505))
- DX: for duplicated test methods check methods without parameters
([#&#8203;8508](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8508))
- DX: remove more duplicated test methods
([#&#8203;8506](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8506))
- refactor: `Tokenizer` hash metode using `xxHash`
([#&#8203;8491](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8491))
- refactor: `TokensAnalyzerTest` - better test `isArray` and
`isArrayMultiLine`
([#&#8203;8504](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8504))
- test: run code coverage on PHP 8.4
([#&#8203;8448](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8448))

###
[`v3.72.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3720)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.71.0...v3.72.0)

- feat: `StatementIndentationFixer` - handle property hooks
([#&#8203;8492](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8492))
- fix: `MbStrFunctionsFixer` - fix imports
([#&#8203;8474](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8474))
- fix: `TrailingCommaInMultilineFixer` - handle empty match body
([#&#8203;8480](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8480))
- fix: `VisibilityRequiredFixer` - handle property hooks
([#&#8203;8495](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8495))
- deps: upgrade few dev-deps
([#&#8203;8490](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8490))
- deps: Upgrade PHPStan to 2.1.8
([#&#8203;8489](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8489))
- DX: add trailing comma to multiline auto-generated types
([#&#8203;8499](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8499))
- refactor: generalize CodeHasher into Hasher
([#&#8203;8500](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8500))
- refactor: Runner - unify paths used when using parallel runner
([#&#8203;8488](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8488))
- refactor: use Hasher instead of md5 directly
([#&#8203;8501](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8501))

###
[`v3.71.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3710)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.70.2...v3.71.0)

- feat: OrderedImportsFixer - deprecate length sorting algorithm
([#&#8203;8473](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8473))
- fix: `BinaryOperatorSpacesFixer` - do not break alignment of UTF-8
array keys
([#&#8203;8484](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8484))
- fix: `PhpdocAlignFixer` - align correctly type with UTF8 characters
([#&#8203;8486](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8486))
- fix: `SingleSpaceAroundConstructFixer` - handle alternative syntax
([#&#8203;8317](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8317))
- fix: `StatementIndentationFixer` - return in braceless if
([#&#8203;8479](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8479))
- chore: update type in
`SingleSpaceAroundConstructFixerTest::provideFixWithElseIfCases`
([#&#8203;8481](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8481))
- chore: update type in
`SingleSpaceAroundConstructFixerTest::provideFixWithIfCases`
([#&#8203;8482](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8482))
- deps: bump phpstan/phpstan from 2.1.6 to 2.1.7 in /dev-tools in the
phpstan group
([#&#8203;8485](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8485))
- DX: cleanup `PhpdocNoAliasTagFixerTest`
([#&#8203;8476](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8476))
- refactor: add `FullyQualifiedNameAnalyzer`
([#&#8203;8048](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8048))
- refactor: codeHash - update when it's (re-)generated
([#&#8203;8470](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8470))
- refactor: `SwitchAnalyzer` - improve performance
([#&#8203;8407](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8407))
- test: NameQualifiedTransformerTest - correct test case
([#&#8203;8471](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8471))

###
[`v3.70.2`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3702)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.70.1...v3.70.2)

- deps: upgrade deep dev-tools deps
([#&#8203;8472](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8472))
- fix: `MbStrFunctionsFixer` must run before
`NativeFunctionInvocationFixer`
([#&#8203;8466](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8466))
- fix: `MethodArgumentSpaceFixer` - fix nested calls for
`ensure_fully_multiline` option
([#&#8203;8469](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8469))

###
[`v3.70.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3701)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.70.0...v3.70.1)

- fix: `PhpUnitSizeClassFixer` must run before `PhpUnitAttributesFixer`
([#&#8203;8457](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8457))
- DX: cleanup `OrderedImportsFixerTest`
([#&#8203;8458](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8458))

###
[`v3.70.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3700)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.69.1...v3.70.0)

- feat: Add `PhpUnitDataProviderMethodOrderFixer` fixer
([#&#8203;8225](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8225))
- feat: `HeaderCommentFixer` - allow validators
([#&#8203;8452](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8452))
- feat: `PhpCsFixer` ruleset: use `operator_linebreak` rule for all
operators
([#&#8203;8417](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8417))
- feat: `PhpUnitMethodCasingFixer` to support PHPUnit's `Test` attribute
([#&#8203;8451](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8451))
- feat: `TypeDeclarationSpacesFixer` - Fix whitespace between const type
and const name
([#&#8203;8442](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8442))
- chore: extend bug report template
([#&#8203;8447](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8447))
- chore: extend bug report template - more installation options
([#&#8203;8450](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8450))
- CI: phpstan-symfony - add entry point for console
([#&#8203;8292](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8292))
- deps: bump alpine from 3.21.2 to 3.21.3
([#&#8203;8454](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8454))
- deps: bump phpstan/phpstan from 2.1.5 to 2.1.6 in /dev-tools in the
phpstan group
([#&#8203;8453](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8453))
- fix: `CommentsAnalyzer` - allow other forms of assignment as valid
structural elements for PHPDocs
([#&#8203;8371](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8371))
- fix: `PhpUnitTestClassRequiresCoversFixer` must run before
`PhpUnitAttributesFixer`
([#&#8203;8444](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8444))
- test: fix `CheckCommandTest::testDryRunModeIsUnavailable` to correctly
check that option `--dry-run` is unavailable
([#&#8203;8438](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8438))

###
[`v3.69.1`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3691)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.69.0...v3.69.1)

- fix: `PhpUnitAttributesFixer` - convert correctly version constraint
([#&#8203;8439](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8439))
- test: `PhpUnitAttributesFixer` must run before `NoEmptyPhpdocFixer`
([#&#8203;8443](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8443))

###
[`v3.69.0`](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3690)

[Compare
Source](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.68.5...v3.69.0)

- feat: Add unsealed array shape phpdoc support
([#&#8203;8299](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8299))
- fix: `OrderedClassElementsFixer` - sort correctly typed constants
([#&#8203;8408](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8408))
- chore: do not use test class as test data
([#&#8203;8430](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8430))
- chore: update `checkbashisms` to 2.25.2
([#&#8203;8427](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8427))
- chore: use constants instead of literal strings
([#&#8203;8422](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8422))
- CI: no need to unlock deps on master
([#&#8203;8426](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8426))
- CI: run tests using PHPUnit 12
([#&#8203;8431](https://redirect.github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/8431))
- deps: bump kubawerlos/composer-s

</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 becomes conflicted, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS41MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuNTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicGhwIl19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-08-09 15:57:06 +02:00
dakriy
5d7df2feb7
feat(legacy): now macro should use show start time when available (#3175)
### Description

Previously the `now` macro used the current time. This is a bit
confusing for autoloading playlists with dynamic smart blocks, as you
have to think about when autoloading happens. This just makes the
autoload datetime be the show start datetime.

**This is a new feature**:

Yes

**I have updated the documentation to reflect these changes**:

Yes

### Testing Notes

**What I did:**

I started up libretime, created an autoloading playlist with a dynamic
block set for one hour ahead. I then created a show with the autoloading
playlist one hour ahead of now and saw that it autoloaded properly and
that the hour matched the show start hour and not the current hour. I
also verified that the now functionality was not changed when not
autoloading by using the preview tracks button on the dynamic smart
block.

**How you can replicate my testing:**

See `What I did` section.

### **Links**

_Issues links or other related resources. Use the line Closes:
#bug_number to
link a bug in the issue tracker._
2025-08-09 15:56:47 +02:00
Jonas L.
14bb3e8889
feat(legacy): persist database connections (#3186)
### Description

Persist the database connection to reduce the load on Postgresql, and
improve performances.

https://www.php.net/manual/en/pdo.connections.php

https://www.php.net/manual/en/pdo.constants.php#pdo.constants.attr-persistent
2025-08-09 15:36:48 +02:00
Jonas L.
9d3a88093e
fix(legacy): do not send content-type header twice (#3187)
### Description

Nginx complains with a lot of warnings about duplicate headers:

```
nginx-1  | 2025/08/09 10:30:59 [warn] 30#30: *165 upstream sent duplicate header line: "Content-Type: application/javascript", previous value: "Content-Type: application/json", ignored while reading response header from upstream, client: 172.18.0.1, server: , request: "GET /api/live-info?callback=jQuery110208358688475043138_1754723948660&type=interval&limit=5&_=1754723949161 HTTP/1.0", upstream: "fastcgi://172.18.0.5:9000"
```
2025-08-09 14:28:34 +02:00
renovate[bot]
2b06c5e35c
chore(deps): update dependency psycopg to >=3.1.8,<3.3 (#3050)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [psycopg](https://psycopg.org/psycopg3/)
([source](https://redirect.github.com/psycopg/psycopg),
[changelog](https://psycopg.org/psycopg3/docs/news.html)) |
`>=3.1.8,<3.2` -> `>=3.1.8,<3.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/psycopg/3.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/psycopg/3.1.20/3.2.9?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>psycopg/psycopg (psycopg)</summary>

###
[`v3.2.9`](https://redirect.github.com/psycopg/psycopg/compare/3.2.8...3.2.9)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.2.8...3.2.9)

###
[`v3.2.8`](https://redirect.github.com/psycopg/psycopg/compare/3.2.7...3.2.8)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.2.7...3.2.8)

###
[`v3.2.7`](https://redirect.github.com/psycopg/psycopg/compare/3.2.6...3.2.7)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.2.6...3.2.7)

###
[`v3.2.6`](https://redirect.github.com/psycopg/psycopg/compare/3.2.5...3.2.6)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.2.5...3.2.6)

###
[`v3.2.5`](https://redirect.github.com/psycopg/psycopg/compare/3.2.4...3.2.5)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.2.4...3.2.5)

###
[`v3.2.4`](https://redirect.github.com/psycopg/psycopg/compare/3.2.3...3.2.4)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.2.3...3.2.4)

###
[`v3.2.3`](https://redirect.github.com/psycopg/psycopg/compare/3.2.2...3.2.3)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.2.2...3.2.3)

###
[`v3.2.2`](https://redirect.github.com/psycopg/psycopg/compare/3.2.1...3.2.2)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.2.1...3.2.2)

###
[`v3.2.1`](https://redirect.github.com/psycopg/psycopg/compare/3.2.0...3.2.1)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.2.0...3.2.1)

###
[`v3.2.0`](https://redirect.github.com/psycopg/psycopg/compare/3.1.20...3.2.0)

[Compare
Source](https://redirect.github.com/psycopg/psycopg/compare/3.1.20...3.2.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 becomes conflicted, 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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjEuMCIsInVwZGF0ZWRJblZlciI6IjQxLjQwLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInB5dGhvbiJdfQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2025-08-09 13:42:26 +02:00
renovate[bot]
237b32a3f9
chore(deps): update dependency uvicorn to >=0.17.6,<0.36.0 (#3124)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [uvicorn](https://redirect.github.com/encode/uvicorn)
([changelog](https://www.uvicorn.org/release-notes)) |
`>=0.17.6,<0.33.0` -> `>=0.17.6,<0.36.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/uvicorn/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/uvicorn/0.32.1/0.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>encode/uvicorn (uvicorn)</summary>

###
[`v0.35.0`](https://redirect.github.com/encode/uvicorn/releases/tag/0.35.0):
Version 0.35.0

[Compare
Source](https://redirect.github.com/encode/uvicorn/compare/0.34.3...0.35.0)

#### Added

- Add `WebSocketsSansIOProtocol` by
[@&#8203;Kludex](https://redirect.github.com/Kludex) in
[https://github.com/encode/uvicorn/pull/2540](https://redirect.github.com/encode/uvicorn/pull/2540)

#### Changed

- Refine help message for option `--proxy-headers` by
[@&#8203;zhangyoufu](https://redirect.github.com/zhangyoufu) in
[https://github.com/encode/uvicorn/pull/2653](https://redirect.github.com/encode/uvicorn/pull/2653)

#### New Contributors

- [@&#8203;zhangyoufu](https://redirect.github.com/zhangyoufu) made
their first contribution in
[https://github.com/encode/uvicorn/pull/2653](https://redirect.github.com/encode/uvicorn/pull/2653)

**Full Changelog**:
https://github.com/encode/uvicorn/compare/0.34.3...0.35.0

###
[`v0.34.3`](https://redirect.github.com/encode/uvicorn/releases/tag/0.34.3):
Version 0.34.3

[Compare
Source](https://redirect.github.com/encode/uvicorn/compare/0.34.2...0.34.3)

#### What's Changed

- Don't include `cwd()` when non-empty `--reload-dirs` is passed by
[@&#8203;stinovlas](https://redirect.github.com/stinovlas) in
[https://github.com/encode/uvicorn/pull/2598](https://redirect.github.com/encode/uvicorn/pull/2598)
- Apply `get_client_addr` formatting to WebSocket logging by
[@&#8203;Harry-Lees](https://redirect.github.com/Harry-Lees) in
[https://github.com/encode/uvicorn/pull/2636](https://redirect.github.com/encode/uvicorn/pull/2636)
- chore: improve type hints by
[@&#8203;waketzheng](https://redirect.github.com/waketzheng) in
[https://github.com/encode/uvicorn/pull/2638](https://redirect.github.com/encode/uvicorn/pull/2638)

#### New Contributors

- [@&#8203;stinovlas](https://redirect.github.com/stinovlas) made their
first contribution in
[https://github.com/encode/uvicorn/pull/2598](https://redirect.github.com/encode/uvicorn/pull/2598)
- [@&#8203;LifeLex](https://redirect.github.com/LifeLex) made their
first contribution in
[https://github.com/encode/uvicorn/pull/2621](https://redirect.github.com/encode/uvicorn/pull/2621)
- [@&#8203;Harry-Lees](https://redirect.github.com/Harry-Lees) made
their first contribution in
[https://github.com/encode/uvicorn/pull/2636](https://redirect.github.com/encode/uvicorn/pull/2636)
- [@&#8203;waketzheng](https://redirect.github.com/waketzheng) made
their first contribution in
[https://github.com/encode/uvicorn/pull/2638](https://redirect.github.com/encode/uvicorn/pull/2638)

**Full Changelog**:
https://github.com/encode/uvicorn/compare/0.34.2...0.34.3

###
[`v0.34.2`](https://redirect.github.com/encode/uvicorn/releases/tag/0.34.2):
Version 0.34.2

[Compare
Source](https://redirect.github.com/encode/uvicorn/compare/0.34.1...0.34.2)

#### What's Changed

- Flush the stdout buffer on Windows to trigger reload by
[@&#8203;jamesh1999](https://redirect.github.com/jamesh1999) in
[https://github.com/encode/uvicorn/pull/2604](https://redirect.github.com/encode/uvicorn/pull/2604)

#### New Contributors

- [@&#8203;jamesh1999](https://redirect.github.com/jamesh1999) made
their first contribution in
[https://github.com/encode/uvicorn/pull/2604](https://redirect.github.com/encode/uvicorn/pull/2604)

**Full Changelog**:
https://github.com/encode/uvicorn/compare/0.34.1...0.34.2

###
[`v0.34.1`](https://redirect.github.com/encode/uvicorn/releases/tag/0.34.1):
Version 0.34.1

[Compare
Source](https://redirect.github.com/encode/uvicorn/compare/0.34.0...0.34.1)

#### What's Changed

- Deprecate `ServerState` in the main module by
[@&#8203;Kludex](https://redirect.github.com/Kludex) in
[https://github.com/encode/uvicorn/pull/2581](https://redirect.github.com/encode/uvicorn/pull/2581)

#### New Contributors

- [@&#8203;RakhimovRamis](https://redirect.github.com/RakhimovRamis)
made their first contribution in
[https://github.com/encode/uvicorn/pull/2567](https://redirect.github.com/encode/uvicorn/pull/2567)
- [@&#8203;carlwgeorge](https://redirect.github.com/carlwgeorge) made
their first contribution in
[https://github.com/encode/uvicorn/pull/2590](https://redirect.github.com/encode/uvicorn/pull/2590)

**Full Changelog**:
https://github.com/encode/uvicorn/compare/0.34.0...0.34.1

###
[`v0.34.0`](https://redirect.github.com/encode/uvicorn/releases/tag/0.34.0):
Version 0.34.0

[Compare
Source](https://redirect.github.com/encode/uvicorn/compare/0.33.0...0.34.0)

#### What's Changed

- Add `content-length` to 500 response in wsproto by
[@&#8203;Kludex](https://redirect.github.com/Kludex) in
[https://github.com/encode/uvicorn/pull/2542](https://redirect.github.com/encode/uvicorn/pull/2542)
- Drop Python 3.8 by
[@&#8203;Kludex](https://redirect.github.com/Kludex) in
[https://github.com/encode/uvicorn/pull/2543](https://redirect.github.com/encode/uvicorn/pull/2543)

***

**Full Changelog**:
https://github.com/encode/uvicorn/compare/0.33.0...0.34.0

###
[`v0.33.0`](https://redirect.github.com/encode/uvicorn/releases/tag/0.33.0):
Version 0.33.0

[Compare
Source](https://redirect.github.com/encode/uvicorn/compare/0.32.1...0.33.0)

#### What's Changed

- Remove WatchGod by
[@&#8203;Kludex](https://redirect.github.com/Kludex) in
[https://github.com/encode/uvicorn/pull/2536](https://redirect.github.com/encode/uvicorn/pull/2536)

#### New Contributors

- [@&#8203;bwells](https://redirect.github.com/bwells) made their first
contribution in
[https://github.com/encode/uvicorn/pull/2491](https://redirect.github.com/encode/uvicorn/pull/2491)
- [@&#8203;tback](https://redirect.github.com/tback) made their first
contribution in
[https://github.com/encode/uvicorn/pull/2528](https://redirect.github.com/encode/uvicorn/pull/2528)

**Full Changelog**:
https://github.com/encode/uvicorn/compare/0.32.1...0.33.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 becomes conflicted, or you tick the
rebase/retry checkbox.

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS41OC4xIiwidXBkYXRlZEluVmVyIjoiNDEuNDAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicHl0aG9uIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 13:37:25 +02:00
libretime-bot
f429339bfc
chore(main): release 4.5.0 (#3164)
🤖 I have created a release *beep* *boop*
---


## [4.5.0](https://github.com/libretime/libretime/compare/4.4.0...4.5.0)
(2025-07-16)


### Features

* **legacy:** add config option for group separator in header auth
([#3181](https://github.com/libretime/libretime/issues/3181))
([f780994](f780994996))
* **playout:** don't clear liquidsoap queue on liquidsoap startup
([#3163](https://github.com/libretime/libretime/issues/3163))
([0b02ebf](0b02ebf1b6))
* rename `airtime-pypo` exchange to `playout`
([#3170](https://github.com/libretime/libretime/issues/3170))
([63ff50b](63ff50b82c))
* use fanout queue type for playout queue
([#3161](https://github.com/libretime/libretime/issues/3161))
([9e55d3b](9e55d3bb6f))


### Bug Fixes

* **playout:** invalid input source disconnect command send to
liquidsoap ([#3166](https://github.com/libretime/libretime/issues/3166))
([908d548](908d54805a))
* **playout:** remove potential deadlock in liquidsoap client
([#3165](https://github.com/libretime/libretime/issues/3165))
([f33518d](f33518d637))
* **playout:** when metadata has a newline playout stops
([#3160](https://github.com/libretime/libretime/issues/3160))
([d7987bb](d7987bb4ef))
* **worker:** catch mutagen `TypeError` when saving metadata
([#3182](https://github.com/libretime/libretime/issues/3182))
([107bacf](107bacf296))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: jo <ljonas@riseup.net>
2025-07-16 20:35:34 +02:00
dakriy
f780994996
feat(legacy): add config option for group separator in header auth (#3181)
### Description

Not all forward auth solutions use a comma for group seperator.

**This is a new feature**:

Yes

**I have updated the documentation to reflect these changes**:

Yes

### **Links**

[Authentik uses `|` so may as well make the group separator
configurable](https://docs.goauthentik.io/docs/add-secure-apps/providers/proxy/)
2025-07-16 20:32:34 +02:00
Jonas L.
107bacf296
fix(worker): catch mutagen TypeError when saving metadata (#3182)
Mutagen may fail with:

```
worker-1  | Traceback (most recent call last):
worker-1  |   File "/usr/local/lib/python3.10/site-packages/celery/app/trace.py", line 412, in trace_task
worker-1  |     R = retval = fun(*args, **kwargs)
worker-1  |   File "/usr/local/lib/python3.10/site-packages/celery/app/trace.py", line 704, in __protected_call__
worker-1  |     return self.run(*args, **kwargs)
worker-1  |   File "/src/libretime_worker/tasks.py", line 114, in podcast_download
worker-1  |     metadata["artist"] = podcast_name
worker-1  |   File "/usr/local/lib/python3.10/site-packages/mutagen/_file.py", line 74, in __setitem__
worker-1  |     self.tags[key] = value
worker-1  |   File "/usr/local/lib/python3.10/site-packages/mutagen/id3/_tags.py", line 341, in __setitem__
worker-1  |     raise TypeError("%r not a Frame instance" % tag)
worker-1  | TypeError: "Infos du soir" not a Frame instance
```

This TypeError was raised when I trying to write metadata to a wave
file.

This patch ensures that the error is reported back to the frontend. It
also improve the error messages being reported.
2025-07-16 20:24:02 +02:00
Kyle Robbertze
4b34070a72
docs: fix linting error (#3179)
### Description

Small linting error that needed fixing
2025-06-18 08:37:10 +01:00
Jonas L.
23917f7d8f
ci: fine grained test release (#3171)
### Description

Allow fine grained configuration on which release the test should be
run. This will be useful to start testing liquidsoap >=2.0.0 in our ci.
2025-06-14 18:41:59 +02:00
Jonas L.
63ff50b82c
feat: rename airtime-pypo exchange to playout (#3170)
### Description

The playout exchange was changed to `fanout` without migrating the
previous `direct` exchange. This cause issues during upgrades, such as:

```
amqp.exceptions.PreconditionFailed: Exchange.declare: (406) PRECONDITION_FAILED - inequivalent arg 'type' for exchange 'airtime-pypo' in vhost '/libretime': received 'fanout' but current is 'direct'
```

This is documented upstream in
https://www.rabbitmq.com/docs/queues#property-equivalence

This change provides an upgrade path by renaming the exchange, and leave
the old exchange behind. Loosing messages is not a concern for the
playout queue.

### Testing Notes

- Checkout version `4.4.0`
- Run `make dev`
- Checkout 9e55d3bb6f2fa0f9a4dc858359a99e9d50c826a4
- Run `make dev`
- See the exception in playout: `docker compose logs -f playout`
- Checkout this PR
- Run `make dev`
- See playout fine working.


### **Links**

https://github.com/libretime/libretime/pull/3161
2025-06-14 17:56:21 +02:00
dakriy
0b02ebf1b6
feat(playout): don't clear liquidsoap queue on liquidsoap startup (#3163)
### Description

When liquidsoap starts, it sends an API request to the legacy API which
triggers a rabbitmq message to the playout service to update the
liquidsoap queues and make sure they are correct. The removed line is
not necessary and will cause issues if there is more than one liquidsoap
service. It is not necessary because the playout service automatically
prunes the queue and will add/remove only what is necessary and does not
require the whole queue to be cleared. If the whole queue is cleared and
there are multiple liquid soap services, every LQ service will go silent
and then fade to normal volume in the middle of playout. Removing this
line has no logical effect as all the work it does is immediately redone
and removal fixes the re-cue-in issue when you have multiple liquidsoap
services all running playout.

So, this line in the best of cases is useless and does nothing, and in
the worst of cases causes playout issues, hence its removal.

**This is a new feature**:

No

**I have updated the documentation to reflect these changes**:

Bug fix

### Testing Notes

**What I did:**

I setup multiple playout/liquidsoap service pairs, and heard that when
one is restarted all of them go quiet and fade in from their current
play cursor. I then made the change and verified that only the restarted
service faded in.

**How you can replicate my testing:**

See above section

### **Links**

Related to #3161 and #3162
2025-06-14 17:56:06 +02:00
Jonas L.
f33518d637
fix: remove potential deadlock in liquidsoap client (#3165)
### Description

Remove the liquidsoap connection lock to remove any chance to run into a
deadlock. With this change, the client is not thread safe anymore.

Also handle connection error exception when talking to liquidsoap, e.g.
when liquidsoap is restarted and closes the telnet connection.

**This is a new feature**:

No

**I have updated the documentation to reflect these changes**:

Not relevant.

### Testing Notes

- Restart liquidsoap while playout is talking to it.
- See the connection being dropped and playout that might run into a
deadlock.
2025-06-14 15:45:54 +02:00
Jonas L.
6588eb0939
refactor(playout): revert prefer datetime.now(timezone.utc) over datetime.utcnow() (#3169)
This reverts commit 8bd2db16617bb90d9a3b00ec48a8836a6bafa4f1.

The API does not support timezone aware query parameters.
2025-06-14 15:16:47 +02:00
Jonas L.
e8d063d7e9
chore(playout): install lxml types to satisfy mypy (#3168)
Fixing a mypy warning about missing types.
2025-06-14 13:57:05 +02:00
Jonas L.
908d54805a
fix(playout): invalid input source disconnect command send to liquidsoap (#3166)
### Description

The `source_disconnect` method in the liquidsoap client was still using
the old names of the 2 harbor input (currently named input_main and
input_show).

Remove the `source_disconnect` method, in favor of the
`source_switch_status` method, to have a single source name mapping
between playout and liquidsoap.

This is a missing update from a refactor made a while ago:
2f9f60e639f13854094abb0f43730aebc9c89cee

### **Links**

Potential fix for https://github.com/libretime/libretime/issues/2796
2025-06-14 13:56:16 +02:00
Jonas L.
8bd2db1661
refactor(playout): prefer datetime.now(timezone.utc) over datetime.utcnow() (#3167)
### Description

`datetime.utcnow()` is deprecated in favor of
`datetime.now(timezone.utc)`.

See
https://docs.python.org/3/library/datetime.html#datetime.datetime.utcnow
2025-06-14 13:55:26 +02:00
dakriy
d7987bb4ef
fix: when metadata has a newline playout stops (#3160)
### Description

If the title or artist metadata in libretime has a newline, that file is
not played as telnet takes the newline as a command enter in the middle
of the command.

**This is a new feature**:

No

**I have updated the documentation to reflect these changes**:

No

### Testing Notes

**What I did:**

I spun up a fresh local LibreTime instance, uploaded a track with a
newline in the creator field. I then created a show and added the track
to the show and verified that the track did not play with error:

```
playout-1  | 2025-06-06 17:41:49,888 | ERROR    | libretime_playout.liquidsoap.client._client:_set_var:50 - ERROR: unknown command, type "help" to get a list of commands.
```

I then added my fix and verified that the track did play as it was
supposed to.

**How you can replicate my testing:**

See the above section

---------

Co-authored-by: jo <ljonas@riseup.net>
2025-06-08 16:54:21 +02:00
dakriy
9e55d3bb6f
feat: use fanout queue type for playout queue (#3161)
### Description

Currently, only one service can listen to libretime schedule change
events. This change allows for as many services as desired to listen for
schedule change events.

**This is a new feature**:

Yes

**I have updated the documentation to reflect these changes**:

No, as this seems like the obvious default

### Testing Notes

**What I did:**

I created 2 playout blocks, connected them both to the fanout queue and
saw that they could all connect and receive schedule change events at
the same time.

**How you can replicate my testing:**

See testing notes
2025-06-07 05:05:04 +01:00
Jonas L.
d3be6772de
docs: fix release note title (#3159)
### Description

Invalid release note title.


https://github.com/libretime/libretime/issues/3158#issuecomment-2922733908
2025-06-01 12:33:27 +02:00
libretime-bot
ef1b6f1f2d
chore(main): release 4.4.0 (#3145)
🤖 I have created a release *beep* *boop*
---


## [4.4.0](https://github.com/libretime/libretime/compare/4.3.0...4.4.0)
(2025-05-29)


### Features

* build and run custom nginx container
([#3155](https://github.com/libretime/libretime/issues/3155))
([658ce15](658ce15185))
* include nginx config inside libretime-nginx container
([#3157](https://github.com/libretime/libretime/issues/3157))
([659ac7a](659ac7aa77))


### Bug Fixes

* **legacy:** now macro should use station timezone
([#3143](https://github.com/libretime/libretime/issues/3143))
([c554863](c5548632e4))
* **legacy:** scheduled show length should not add track fade times
([#3144](https://github.com/libretime/libretime/issues/3144))
([5743a0f](5743a0f582))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: jo <ljonas@riseup.net>
2025-05-29 21:16:56 +02:00
Jonas L.
659ac7aa77
feat: include nginx config inside libretime-nginx container (#3157)
### Description

- Removes the need to download the nginx config file during the install,
- Can be overridden by mounting your own config file.


**This is a new feature**:

Reduce the amount of steps and files to install LibreTime using
docker-compose.

**I have updated the documentation to reflect these changes**:

Yes

### Testing Notes

**What I did:**

Do not mount the `./docker/nginx.conf` file in
`docker-compose.override.yml` and run:

```
make dev
```

### **Links**

Related to #3155
2025-05-29 20:58:26 +02:00
Kyle Robbertze
658ce15185
feat: build and run custom nginx container (#3155)
### Description

This replaces the volume mount that shared PHP code between the nginx
and legacy containers with a custom nginx image that has the code baked
in from build. I would have preferred to find a solution that did not
require this, but it looks like docker volumes do not support temporary
volumes that only last the lifetime of the container.

**This is a new feature**:

No

**I have updated the documentation to reflect these changes**:

N/A

### Testing Notes

**What I did:**

Tested with docker-compose

**How you can replicate my testing:**

Run the docker-compose setup

### **Links**

Closes: #3150

---------

Co-authored-by: jo <ljonas@riseup.net>
2025-05-29 17:04:17 +02:00
Kyle Robbertze
34cd5f8772
chore(deps): update vale to v3.11.2 (#3154)
Vale CI is broken until https://github.com/errata-ai/vale/issues/995 is
addressed
2025-04-14 11:00:20 +01:00
Kyle Robbertze
ef4e8f7c96
docs: note #3150 docker volume deletion required in upgrade (#3153)
See https://github.com/libretime/libretime/issues/3150
2025-04-14 10:55:00 +01:00