Commit Graph

18992 Commits

Author SHA1 Message Date
renovate[bot] 5a581c034e chore(deps): lock file maintenance (legacy/composer.json) 2024-01-16 10:21:21 +00:00
Thomas Göttgens 95283efc1f
feat(legacy): add aac/opus support to dashboard player (#2881)
### Description

The Player on the dashbaord does not correctly play an AAC stream. The
rewritng logic only takes into account the ogg format. Add rewriting
from aac to m4a in the javascript calls so the player works.

**This is a new feature**:

AAC output currently only works with replacing liquidsoap, so
technically this is a new feature.

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

The dashboard player is not documented. The player widget works with AAC
streams already.

### Testing Notes

**What I did:**

Swapped liquidsoap and reconfigured the default mp3 stream as AAC

**How you can replicate my testing:**

on ubuntu focal, drop in the upstream liquidsoap deb to enable aac, then
configure the secondary output to use 128kbit aac instead of mp3.
Restart the target, login to the dashboard and open the dashboard
player. Both streams from the dropdown should work.

---------

Co-authored-by: Thomas Göttgens <tgoettgens@mail.com>
Co-authored-by: Jonas L <jooola@users.noreply.github.com>
2024-01-13 13:47:54 +01:00
Jonas L f6d57d5f2d
chore: introduce the stable-4.x branch (#2888)
### Description

Related to https://github.com/libretime/libretime/issues/2887
2024-01-13 12:50:51 +01:00
renovate[bot] 4c40fab58e
chore(deps): update dependency lxml to >=4.5.0,<6.0.0 (main) (#2878)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

###
[`v5.1.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#510-2024-01-05)

[Compare
Source](https://togithub.com/lxml/lxml/compare/lxml-5.0.1...lxml-5.1.0)

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

## Features added

-   Parsing ASCII strings is slightly faster.

## Bugs fixed

- [GH#349](https://togithub.com/GH/lxml/issues/349): The HTML
`Cleaner()` interpreted an accidentally provided string parameter
for the `host_whitelist` as list of characters and silently failed to
reject any hosts.
    Passing a non-collection is now rejected.

## Other changes

-   Support for Python 2.7 and Python versions < 3.6 was removed.

-   The wheel build was migrated to use `cibuildwheel`.
    Patch by Primož Godec.

</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-12 21:04:49 +01:00
renovate[bot] 02e258500b chore(deps): update lycheeverse/lychee-action action to v1.9.1 2024-01-11 06:01:32 +00:00
renovate[bot] ee33c0c56a chore(deps): lock file maintenance (legacy/composer.json) 2024-01-09 09:35:34 +00:00
libretime-bot 4795170feb
chore(main): release 4.0.0 (#2834)
🤖 I have created a release *beep* *boop*
---


## [4.0.0](https://github.com/libretime/libretime/compare/3.2.0...4.0.0)
(2024-01-07)


### ⚠ BREAKING CHANGES

* The media file serving is now handled by Nginx instead of the API
service. The `storage.path` field is now used in the Nginx
configuration, so make sure to update the Nginx configuration file if
you change it.
* **installer:** The default listen port for the installer is now
`8080`. We recommend that you put a reverse proxy in front of LibreTime.
* **installer:** The `--update-nginx` flag was removed from the
installer. The nginx configuration deployed by the installer will now
always be overwritten. Make sure to move your customizations to a
reverse proxy configuration.
* The default system output (`stream.outputs.system[].kind`) changed
from `alsa` to `pulseaudio`. Make sure to update your configuration file
if you rely on the default system output.
* The `general.secret_key` configuration field is now required. Make
sure to update your configuration file and add a secret key.

### Features

* default system output is now `pulseaudio`
([#2842](https://github.com/libretime/libretime/issues/2842))
([083ee3f](083ee3f1dd)),
closes [#2542](https://github.com/libretime/libretime/issues/2542)
* disable uvicorn worker lifespan
([#2845](https://github.com/libretime/libretime/issues/2845))
([8743c84](8743c84d0f))
* **installer:** add the `--storage-path` flag
([#2865](https://github.com/libretime/libretime/issues/2865))
([5b23852](5b23852f8d))
* **installer:** change default listen port to 8080
([#2852](https://github.com/libretime/libretime/issues/2852))
([f72b7f9](f72b7f9c97))
* **installer:** remove the `--update-nginx` flag
([#2851](https://github.com/libretime/libretime/issues/2851))
([35d7eac](35d7eace13))
* **playout:** configure device for alsa and pulseaudio system outputs
([#2654](https://github.com/libretime/libretime/issues/2654))
([06af18b](06af18b84e))
* rewrite cloud-init config
([#2853](https://github.com/libretime/libretime/issues/2853))
([8406d52](8406d520d7))
* run python in optimized mode
([#2874](https://github.com/libretime/libretime/issues/2874))
([3f7fc99](3f7fc99b6b))
* the `general.secret_key` configuration field is now required
([#2841](https://github.com/libretime/libretime/issues/2841))
([0d2d1a2](0d2d1a2673)),
closes [#2426](https://github.com/libretime/libretime/issues/2426)
* use nginx to serve media files
([#2860](https://github.com/libretime/libretime/issues/2860))
([4603c17](4603c1759f))


### Bug Fixes

* add parent function name in setValue exception
([#2777](https://github.com/libretime/libretime/issues/2777))
([c764a5a](c764a5a648))
* **api:** ensure non ascii paths are handled by X-Accel-Redirect
([#2861](https://github.com/libretime/libretime/issues/2861))
([0ce63f3](0ce63f3bf0))
* **api:** enum schema description
([#2803](https://github.com/libretime/libretime/issues/2803))
([976b70e](976b70ed32))
* **api:** let nginx handle the media file content type
([#2862](https://github.com/libretime/libretime/issues/2862))
([72268ad](72268ad9bb))
* **api:** move gunicorn worker config to python file
([#2854](https://github.com/libretime/libretime/issues/2854))
([43221d9](43221d9d7f))
* **api:** paths with question marks chars are handled by
X-Accel-Redirect
([#2875](https://github.com/libretime/libretime/issues/2875))
([b2c1ceb](b2c1ceb89f))
* **deps:** update dependency friendsofphp/php-cs-fixer to &lt;3.42.1
(main) ([#2765](https://github.com/libretime/libretime/issues/2765))
([8ae4dce](8ae4dce9e7))
* **deps:** update dependency friendsofphp/php-cs-fixer to &lt;3.43.2
(main) ([#2848](https://github.com/libretime/libretime/issues/2848))
([62e5f4d](62e5f4dfbb))
* **deps:** update dependency friendsofphp/php-cs-fixer to &lt;3.45.1
(main) ([#2855](https://github.com/libretime/libretime/issues/2855))
([6f84328](6f84328380))
* **deps:** update dependency friendsofphp/php-cs-fixer to &lt;3.46.1
(main) ([#2868](https://github.com/libretime/libretime/issues/2868))
([4827dbc](4827dbce71))
* **legacy:** allow uploading opus files
([#2804](https://github.com/libretime/libretime/issues/2804))
([f252a16](f252a16637))
* **legacy:** declare previously undeclared variable
([#2793](https://github.com/libretime/libretime/issues/2793))
([e2cfbf4](e2cfbf4c03))
* **legacy:** ensure last played criteria works with never played files
([#2840](https://github.com/libretime/libretime/issues/2840))
([24ee383](24ee3830c2))
* **playout:** increase file download chunk size to 8192 bytes
([#2863](https://github.com/libretime/libretime/issues/2863))
([7ed1be1](7ed1be1816))
* **playout:** remove empty file when the download request failed
([#2864](https://github.com/libretime/libretime/issues/2864))
([2facbfa](2facbfaff2))
* **worker:** unbound variable when episode url returns HTTP 404
([#2844](https://github.com/libretime/libretime/issues/2844))
([3f39689](3f396895e5))

---
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>
2024-01-07 16:56:33 +01:00
Jonas L b2c1ceb89f
fix(api): paths with question marks chars are handled by X-Accel-Redirect (#2875)
Use the filepath_to_uri function instead.
2024-01-07 15:07:01 +01:00
Jonas L 3f7fc99b6b
feat: run python in optimized mode (#2874)
Set PYTHONOPTIMIZE=2 to enable
https://docs.python.org/3/using/cmdline.html#cmdoption-OO
2024-01-07 14:30:20 +01:00
renovate[bot] 4827dbce71
fix(deps): update dependency friendsofphp/php-cs-fixer to <3.46.1 (main) (#2868)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[friendsofphp/php-cs-fixer](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer)
| `<3.45.1` -> `<3.46.1` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/friendsofphp%2fphp-cs-fixer/3.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/friendsofphp%2fphp-cs-fixer/3.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/friendsofphp%2fphp-cs-fixer/3.45.0/3.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/friendsofphp%2fphp-cs-fixer/3.45.0/3.46.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v3.46.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3460)

[Compare
Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.45.0...v3.46.0)

- chore: fix internal typehints in Tokens
([#&#8203;7656](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7656))
- chore: reduce PHPStan baseline
([#&#8203;7643](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7643))
- docs: Show class with unit tests and BC promise info
([#&#8203;7667](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7667))
- feat: change default ruleset to `@PER-CS` (only behind
PHP_CS_FIXER_FUTURE_MODE=1)
([#&#8203;7650](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7650))
- feat: Support new/instanceof/use trait in
`fully_qualified_strict_types`
([#&#8203;7653](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7653))
- fix: FQCN parse phpdoc using full grammar regex
([#&#8203;7649](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7649))
- fix: Handle FQCN properly with `leading_backslash_in_global_namespace`
option enabled
([#&#8203;7654](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7654))
- fix: PhpdocToParamTypeFixerTest - support for arrow functions
([#&#8203;7647](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7647))
- fix: PHP_CS_FIXER_FUTURE_MODE - proper boolean validation
([#&#8203;7651](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7651))

</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2024-01-07 13:59:02 +01:00
renovate[bot] 4e22e8cc65
chore(deps): update dependency flake8 to v7 (main) (#2870)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [flake8](https://togithub.com/pycqa/flake8)
([changelog](https://flake8.pycqa.org/en/latest/release-notes/index.html))
| `>=6.0.0,<7` -> `>=6.0.0,<8` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/flake8/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/flake8/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/flake8/6.1.0/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/flake8/6.1.0/7.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pycqa/flake8 (flake8)</summary>

### [`v7.0.0`](https://togithub.com/pycqa/flake8/compare/6.1.0...7.0.0)

[Compare
Source](https://togithub.com/pycqa/flake8/compare/6.1.0...7.0.0)

</details>

---

### Configuration

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

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

♻ **Rebasing**: Whenever PR 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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-07 12:56:00 +01:00
renovate[bot] 9f82e5ffcd chore(deps): update lycheeverse/lychee-action action to v1.9.0 2024-01-06 22:00:48 +00:00
Jonas L 5b23852f8d
feat(installer): add the `--storage-path` flag (#2865)
### Description

Add the `--storage-path` flag to the installer to configure a custom
storage path out of the box.

On existing installation, we check that the 'storage.path' in the
configuration file is the same as the one provided by the installer.
This ensures that we don't update the nginx configuration file with an
invalid storage path.
2024-01-01 14:38:05 +01:00
renovate[bot] 5bd8ee0476
chore(deps): update dependency lxml to v5 (main) (#2856)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [lxml](https://lxml.de/) ([source](https://togithub.com/lxml/lxml),
[changelog](https://git.launchpad.net/lxml/plain/CHANGES.txt)) |
`>=4.5.0,<4.10.0` -> `>=4.5.0,<5.1.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/lxml/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/lxml/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/lxml/4.9.4/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/lxml/4.9.4/5.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v5.0.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#500-2023-12-29)

[Compare
Source](https://togithub.com/lxml/lxml/compare/lxml-4.9.4...lxml-5.0.0)

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

## Features added

- Character escaping in `C14N2` serialisation now uses a single pass
over the text
    instead of searching for each unescaped character separately.

-   Early support for Python 3.13a2 was added.

## Bugs fixed

- [LP#1976304](https://togithub.com/LP/lxml/issues/1976304): The
`Element.addnext()` method previously inserted the new element
before existing tail text. The tail text of both sibling elements now
stays on
    the respective elements.

- [LP#1980767](https://togithub.com/LP/lxml/issues/1980767),
[GH#379](https://togithub.com/GH/lxml/issues/379): `TreeBuilder.close()`
could fail with a `TypeError` after
    parsing incorrect input.  Original patch by Enrico Minack.

- `Element.itertext(with_tail=False)` returned the tail text of comments
and
    processing instructions, despite the explicit option.

- [GH#370](https://togithub.com/GH/lxml/issues/370): A crash with recent
libxml2 2.11.x versions was resolved.
    Patch by Michael Schlenker.

-   A compile problem with recent libxml2 2.12.x versions was resolved.

- The internal exception handling in C callbacks was improved for Cython
3.0.

- The exception declarations of `xmlInputReadCallback`,
`xmlInputCloseCallback`,
`xmlOutputWriteCallback` and `xmlOutputCloseCallback` in `tree.pxd` were
corrected to prevent running Python code or calling into the C-API with
a live
    exception set.

- [GH#385](https://togithub.com/GH/lxml/issues/385): The long deprecated
`unittest.m̀akeSuite()` function is no longer used.
    Patch by Miro Hrončok.

- [LP#1522052](https://togithub.com/LP/lxml/issues/1522052): A
file-system specific test is now optional and should no longer fail
    on systems that don't support it.

- [GH#392](https://togithub.com/GH/lxml/issues/392): Some tests were
adapted for libxml2 2.13.
    Patch by Nick Wellnhofer.

-   Contains all fixes from lxml 4.9.4.

## Other changes

- [LP#1742885](https://togithub.com/LP/lxml/issues/1742885): lxml no
longer expands external entities (XXE) by default to prevent
the security risk of loading arbitrary files and URLs. If this feature
is needed,
it can be enabled in a backwards compatible way by using a parser with
the option
`resolve_entities=True`. The new default is
`resolve_entities='internal'`.

- With libxml2 2.10.4 and later (as provided by the lxml 5.0 binary
wheels),
parsing HTML tags with "prefixes" no longer builds a namespace
dictionary
in `nsmap` but considers the `prefix:name` string the actual tag name.
With older libxml2 versions, since 2.9.11, the prefix was removed.
Before
    that, the prefix was parsed as XML prefix.

lxml 5.0 does not try to hide this difference but now changes the
ElementPath
implementation to let `element.find("part1:part2")` search for the tag
`part1:part2` in documents parsed as HTML, instead of looking only for
`part2`.

- [LP#2024343](https://togithub.com/LP/lxml/issues/2024343): The
validation of the schema file itself is now optional in the
ISO-Schematron implementation. This was done because some lxml
distributions
discard the RNG validation schema file due to licensing issues. The
validation
can now always be disabled with `Schematron(...,
validate_schema=False)`.
It is enabled by default if available and disabled otherwise. The module
constant `lxml.isoschematron.schematron_schema_valid_supported` can be
used
    to detect whether schema file validation is available.

-   Some redundant and long deprecated methods were removed:
    `parser.setElementClassLookup()`,
    `xslt_transform.apply()`,
    `xpath.evaluate()`.

- Some incorrect declarations were removed from `python.pxd`. In
general, this file
should not be used by external Cython code. Use the C-API declarations
provided by
    Cython itself instead.

- Binary wheels use the library versions libxml2 2.12.3 and libxslt
1.1.39.

- Built with Cython 3.0.7, updated to follow recent changes in Cython
3.1-dev.

</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2024-01-01 13:18:55 +01:00
Jonas L 2facbfaff2
fix(playout): remove empty file when the download request failed (#2864) 2024-01-01 13:16:13 +01:00
Jonas L 72268ad9bb
fix(api): let nginx handle the media file content type (#2862) 2024-01-01 13:07:35 +01:00
Jonas L 7ed1be1816
fix(playout): increase file download chunk size to 8192 bytes (#2863) 2024-01-01 13:07:27 +01:00
Jonas L 0ce63f3bf0
fix(api): ensure non ascii paths are handled by X-Accel-Redirect (#2861) 2024-01-01 12:58:19 +01:00
renovate[bot] 6f84328380
fix(deps): update dependency friendsofphp/php-cs-fixer to <3.45.1 (main) (#2855)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[friendsofphp/php-cs-fixer](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer)
| `<3.43.2` -> `<3.45.1` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/friendsofphp%2fphp-cs-fixer/3.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/friendsofphp%2fphp-cs-fixer/3.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/friendsofphp%2fphp-cs-fixer/3.43.1/3.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/friendsofphp%2fphp-cs-fixer/3.43.1/3.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v3.45.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3450)

[Compare
Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.44.0...v3.45.0)

- feat: Enable symbol importing in `@PhpCsFixer` ruleset
([#&#8203;7629](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7629))
- fix: NoUnneededBracesFixer - improve handling of global namespace
([#&#8203;7639](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7639))
- test: run tests with "short_open_tag" enabled
([#&#8203;7637](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7637))

###
[`v3.44.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3440)

[Compare
Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.43.1...v3.44.0)

- feat: Introduce percentage bar as new default progress output
([#&#8203;7603](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7603))

</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-12-30 19:41:50 +01:00
Jonas L 4603c1759f
feat!: use nginx to serve media files (#2860)
Closes #2522

To reduce the strain on the API service, we moved the media file serving
to the Nginx web server. The API is still handling the authentication,
but delegates the serving using the `X-Accel-Redirect` header.

BREAKING CHANGE: The media file serving is now handled by Nginx instead
of the API service. The `storage.path` field is now used in the Nginx
configuration, so make sure to update the Nginx configuration file if
you change it.
2023-12-30 18:59:15 +01:00
Jonas L 8406d520d7
feat: rewrite cloud-init config (#2853)
### Description

Fix and update the could init config to install an insecure LibreTime
server.
2023-12-29 17:57:59 +01:00
Jonas L f72b7f9c97
feat(installer)!: change default listen port to 8080 (#2852)
Closes #2575
Closes #2543

BREAKING CHANGE: The default listen port for the installer is now
`8080`. We recommend that you put a reverse proxy in front of LibreTime.
2023-12-29 17:49:07 +01:00
Jonas L 43221d9d7f
fix(api): move gunicorn worker config to python file (#2854)
### Description

Passing the --lifespan flag to gunicorn does not forward the option to
uvicorn.
2023-12-29 17:47:50 +01:00
Jonas L 35d7eace13
feat(installer)!: remove the `--update-nginx` flag (#2851)
### Description

Related to #2543

BREAKING CHANGE: The `--update-nginx` flag was removed from the
installer. The nginx configuration deployed by the installer will now
always be overwritten. Make sure to move your customizations to a
reverse proxy configuration.
2023-12-29 15:55:35 +01:00
renovate[bot] 62e5f4dfbb
fix(deps): update dependency friendsofphp/php-cs-fixer to <3.43.2 (main) (#2848)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[friendsofphp/php-cs-fixer](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer)
| `<3.42.1` -> `<3.43.2` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/friendsofphp%2fphp-cs-fixer/3.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/friendsofphp%2fphp-cs-fixer/3.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/friendsofphp%2fphp-cs-fixer/3.42.0/3.43.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/friendsofphp%2fphp-cs-fixer/3.42.0/3.43.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.43.1`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3431)

[Compare
Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.43.0...v3.43.1)

- fix: Import only unique symbols' short names
([#&#8203;7635](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7635))

###
[`v3.43.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3430)

[Compare
Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.42.0...v3.43.0)

- chore: change base of `@Symfony` set to `@PER-CS2.0`
([#&#8203;7627](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7627))
- chore: PHPUnit - allow for v10
([#&#8203;7606](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7606))
- chore: Preg - rework catching the error
([#&#8203;7616](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7616))
- chore: Revert unneeded peer-dep-pin and re-gen lock file
([#&#8203;7618](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7618))
- docs: drop extra note about 8.0.0 bug in README.md
([#&#8203;7614](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7614))
- feat: add cast_spaces into `@PER-CS2.0`
([#&#8203;7625](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7625))
- feat: Configurable phpDoc tags for FQCN processing
([#&#8203;7628](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7628))
- feat: StatementIndentationFixer - introduce
stick_comment_to_next_continuous_control_statement config
([#&#8203;7624](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7624))
- feat: UnaryOperatorSpacesFixer - introduce only_dec_inc config
([#&#8203;7626](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7626))
- fix: FullyQualifiedStrictTypesFixer - better support annotations in
inline {}
([#&#8203;7633](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7633))
- fix: Improve how FQCN is handled in phpDoc
([#&#8203;7622](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7622))
- fix: phpdoc_align - fix multiline tag alignment issue
([#&#8203;7630](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7630))

</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-12-29 15:28:57 +01:00
maxtim 06af18b84e
feat(playout): configure device for alsa and pulseaudio system outputs (#2654)
### Description

Add hardware configuration to liquidsoap so that users may
set hardware output in config.yml.

---------

Co-authored-by: jo <ljonas@riseup.net>
2023-12-29 15:22:43 +01:00
Jonas L 9d6061e42e
refactor(playout): fix deprecation warnings (#2847)
### Description
Fix pydantic deprecation warnings after upgrade to v2.
2023-12-28 14:19:29 +01:00
Jonas L 3f396895e5
fix(worker): unbound variable when episode url returns HTTP 404 (#2844)
### Description

When the episode URL return a 404, the tmp_file is never set, and we
have an unbound variable exception.
2023-12-28 14:05:35 +01:00
Jonas L 413b37d5e5
refactor(worker): add require secret_key config field (#2846)
Missing secret_key change from
https://github.com/libretime/libretime/pull/2841
2023-12-28 14:01:54 +01:00
Jonas L 8743c84d0f
feat: disable uvicorn worker lifespan (#2845)
### Description

Fix this Django exception: Django can only handle ASGI/HTTP connections,
not lifespan.
2023-12-28 14:00:58 +01:00
Weblate (bot) 0e91a7db7d
chore(legacy): translations update from Hosted Weblate (#2843)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for
[LibreTime/Legacy](https://hosted.weblate.org/projects/libretime/legacy/).



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/libretime/legacy/horizontal-auto.svg)

Co-authored-by: Maurizio Castelvetro <castelvetro@gmail.com>
2023-12-28 13:45:53 +01:00
Jonas L 083ee3f1dd
feat!: default system output is now `pulseaudio` (#2842)
BREAKING CHANGE: The default system output
(`stream.outputs.system[].kind`) changed from `alsa` to `pulseaudio`.
Make sure to update your configuration file if you rely on the default
system output.

Closes #2542
2023-12-27 18:23:40 +01:00
Jonas L 0d2d1a2673
feat!: the `general.secret_key` configuration field is now required (#2841)
BREAKING CHANGE: The `general.secret_key` configuration field is now
required. Make sure to update your configuration file and add a secret
key.

Closes #2426
2023-12-27 18:15:47 +01:00
Jonas L 24ee3830c2
fix(legacy): ensure last played criteria works with never played files (#2840)
### Description

Closes #2798

COALESCE last played null values with date -infinity, to ensure newly
added files are found by the last played smart block criteria.
2023-12-27 17:32:33 +01:00
Jonas L d80100a216
refactor(api): fix deprecation warnings (#2839)
Fix some deprecation warnings related to the pydantic upgrade.
2023-12-27 15:46:38 +01:00
renovate[bot] 8ae4dce9e7
fix(deps): update dependency friendsofphp/php-cs-fixer to <3.42.1 (main) (#2765)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[friendsofphp/php-cs-fixer](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer)
| `<3.41.2` -> `<3.42.1` |
[![age](https://developer.mend.io/api/mc/badges/age/packagist/friendsofphp%2fphp-cs-fixer/3.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/packagist/friendsofphp%2fphp-cs-fixer/3.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/packagist/friendsofphp%2fphp-cs-fixer/3.41.1/3.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/packagist/friendsofphp%2fphp-cs-fixer/3.41.1/3.42.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v3.42.0`](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/blob/HEAD/CHANGELOG.md#Changelog-for-v3420)

[Compare
Source](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/compare/v3.41.1...v3.42.0)

- chore: aim to not rely on internal array pointer but use
array_key_first
([#&#8203;7613](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7613))
- chore: deprecate Token::isKeyCaseSensitive
([#&#8203;7599](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7599))
- chore: deprecate Token::isKeyCaseSensitive, 2nd part
([#&#8203;7601](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7601))
- chore: do not check PHP_VERSION_ID
([#&#8203;7602](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7602))
- chore: FileFilterIteratorTest - more accurate type in docs
([#&#8203;7542](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7542))
- chore: minor code cleanup
([#&#8203;7607](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7607))
- chore: more types
([#&#8203;7598](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7598))
- chore: PHPDoc key-value spacing
([#&#8203;7592](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7592))
- chore: PHPUnit - run defects first
([#&#8203;7570](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7570))
- chore: ProjectCodeTest - DRY on Tokens creation
([#&#8203;7574](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7574))
- chore: ProjectCodeTest - prepare for symfony/console v7
([#&#8203;7605](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7605))
- chore: ProjectCodeTest::provide\*ClassCases to return iterable with
key for better tests execution log
([#&#8203;7572](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7572))
- chore: ProjectCodeTest::testDataProvidersDeclaredReturnType - use
better DataProvider to simplify test logic
([#&#8203;7573](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7573))
- chore: TokensAnalyzer - string-enum for better typehinting
([#&#8203;7571](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7571))
- chore: unify tests not agnostic of PHP version
([#&#8203;7581](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7581))
- chore: use ::class more
([#&#8203;7545](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7545))
- CI: Introduce `composer-unused`
([#&#8203;7536](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7536))
- DX: add types to anonymous functions
([#&#8203;7561](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7561))
- DX: Allow running smoke tests within Docker runtime
([#&#8203;7608](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7608))
- DX: check fixer's options for wording
([#&#8203;7543](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7543))
- DX: cleanup deprecation message
([#&#8203;7576](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7576))
- DX: do not allow overriding constructor of
`PHPUnit\Framework\TestCase`
([#&#8203;7563](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7563))
- DX: do not import ExpectDeprecationTrait in UtilsTest
([#&#8203;7562](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7562))
- DX: Enforce consistent naming in tests
([#&#8203;7556](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7556))
- DX: fix checking test class extends `PhpCsFixer\Tests\TestCase`
([#&#8203;7567](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7567))
- DX: make sure that exceptions in
`AbstractFixerTestCase::testProperMethodNaming` are not already fixed
([#&#8203;7588](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7588))
- DX: remove recursion from AbstractIntegrationTestCase::testIntegration
([#&#8203;7577](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7577))
- DX: remove `PhpUnitNamespacedFixerTest::testClassIsFixed`
([#&#8203;7564](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7564))
- DX: remove `symfony/phpunit-bridge`
([#&#8203;7578](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7578))
- DX: replace fixture classes with anonymous ones
([#&#8203;7533](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7533))
- DX: Unify Docker mount points and paths
([#&#8203;7549](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7549))
- DX: unify fixer's test method names - quick wins
([#&#8203;7584](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7584))
- DX: unify tests for casing fixers
([#&#8203;7558](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7558))
- DX: use anonymous function over concrete classes
([#&#8203;7553](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7553))
- feat(EXPERIMENTAL): ClassKeywordFixer
([#&#8203;2918](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/2918))
- feat(EXPERIMENTAL): ClassKeywordFixer, part 2
([#&#8203;7550](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7550))
- feat(PhpdocToCommentFixer): Add option to handle return as valid
docblock usage
([#&#8203;7401](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7401))
([#&#8203;7402](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7402))
- feat: Ability to import FQCNs found during analysis
([#&#8203;7597](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7597))
- feat: add phpDoc support for `fully_qualified_strict_types` fixer
([#&#8203;5620](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/5620))
- feat: Handle deprecated rule sets similarly to deprecated fixers
([#&#8203;7288](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7288))
- feat: PhpUnitTestCaseStaticMethodCallsFixer - cover PHPUnit v10
methods
([#&#8203;7604](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7604))
- feat: Support more FQCNs cases in `fully_qualified_strict_types`
([#&#8203;7459](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7459))
- fix: AbstractFixerTestCase - fix checking for correct casing
([#&#8203;7540](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7540))
- fix: Better OS detection in integration tests
([#&#8203;7547](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7547))
- fix: NativeTypeDeclarationCasingFixe - handle static property without
type
([#&#8203;7589](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7589))
- test: AutoReview - unify data provider returns
([#&#8203;7544](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7544))
- test: check to have DataProviders code agnostic of PHP version
([#&#8203;7575](https://togithub.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7575))

</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/libretime/libretime).

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

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-12-27 13:40:15 +01:00
renovate[bot] 7db7eb083c
fix(deps): update dependency pydantic to v2 (main) (#2604)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pydantic](https://togithub.com/pydantic/pydantic)
([changelog](https://docs.pydantic.dev/latest/changelog/)) |
`>=1.7.4,<1.11` -> `>=1.7.4,<2.6` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/1.10.13/2.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/1.10.13/2.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pydantic/pydantic (pydantic)</summary>

###
[`v2.5.3`](https://togithub.com/pydantic/pydantic/releases/tag/v2.5.3):
2023-12-22

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.5.2...v2.5.3)

##### v2.5.3 (2023-12-22)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.5.3)

##### What's Changed

##### Packaging

-   uprev `pydantic-core` to 2.14.6

##### Fixes

- Fix memory leak with recursive definitions creating reference cycles
by [@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/pydantic-core#1125](https://togithub.com/pydantic/pydantic-core/pull/1125)

Full Changelog:
https://github.com/pydantic/pydantic/compare/v2.5.2...v2.5.3/

###
[`v2.5.2`](https://togithub.com/pydantic/pydantic/releases/tag/v2.5.2):
2023-11-22

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.5.1...v2.5.2)

#### v2.5.2 (2023-11-22)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.5.2)

##### What's Changed

##### Packaging

-   uprev `pydantic-core` to 2.14.5

##### New Features

- Add `ConfigDict.ser_json_inf_nan` by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;8159](https://togithub.com/pydantic/pydantic/pull/8159)

##### Fixes

- Fix validation of `Literal` from JSON keys when used as `dict` key by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1075](https://togithub.com/pydantic/pydantic-core/pull/1075)
- Fix bug re `custom_init` on members of `Union` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1076](https://togithub.com/pydantic/pydantic-core/pull/1076)
- Fix `JsonValue` `bool` serialization by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8190](https://togithub.com/pydantic/pydantic/pull/8159)
- Fix handling of unhashable inputs with `Literal` in `Union`s by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1089](https://togithub.com/pydantic/pydantic-core/pull/1089)

###
[`v2.5.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v251-2023-11-15)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.5.0...v2.5.1)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.5.1)

##### What's Changed

##### Packaging

- uprev pydantic-core to 2.14.3 by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;8120](https://togithub.com/pydantic/pydantic/pull/8120)

##### Fixes

- Fix package description limit by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8097](https://togithub.com/pydantic/pydantic/pull/8097)
- Fix `ValidateCallWrapper` error when creating a model which has a
@&#8203;validate_call wrapped field annotation by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8110](https://togithub.com/pydantic/pydantic/pull/8110)

###
[`v2.5.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v250-2023-11-13)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.4.2...v2.5.0)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.5.0)

The code released in v2.5.0 is functionally identical to that of
v2.5.0b1.

##### What's Changed

##### Packaging

- Update pydantic-core from 2.10.1 to 2.14.1, significant changes from
these updates are described below, full changelog
[here](https://togithub.com/pydantic/pydantic-core/compare/v2.10.1...v2.14.1)
- Update to `pyright==1.1.335` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;8075](https://togithub.com/pydantic/pydantic/pull/8075)

##### New Features

- Allow plugins to catch non `ValidationError` errors by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7806](https://togithub.com/pydantic/pydantic/pull/7806)
- Support `__doc__` argument in `create_model()` by
[@&#8203;chris-spann](https://togithub.com/chris-spann) in
[#&#8203;7863](https://togithub.com/pydantic/pydantic/pull/7863)
- Expose `regex_engine` flag - meaning you can use with the Rust or
Python regex libraries in constraints by
[@&#8203;utkini](https://togithub.com/utkini) in
[#&#8203;7768](https://togithub.com/pydantic/pydantic/pull/7768)
- Save return type generated from type annotation in `ComputedFieldInfo`
by [@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;7889](https://togithub.com/pydantic/pydantic/pull/7889)
- Adopting `ruff` formatter by
[@&#8203;Luca-Blight](https://togithub.com/Luca-Blight) in
[#&#8203;7930](https://togithub.com/pydantic/pydantic/pull/7930)
- Added `validation_error_cause` to config by
[@&#8203;zakstucke](https://togithub.com/zakstucke) in
[#&#8203;7626](https://togithub.com/pydantic/pydantic/pull/7626)
- Make path of the item to validate available in plugin by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7861](https://togithub.com/pydantic/pydantic/pull/7861)
- Add `CallableDiscriminator` and `Tag` by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7983](https://togithub.com/pydantic/pydantic/pull/7983)
- `CallableDiscriminator` renamed to `Discriminator` by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8047](https://togithub.com/pydantic/pydantic/pull/8047)
- Make union case tags affect union error messages by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8001](https://togithub.com/pydantic/pydantic/pull/8001)
- Add `examples` and `json_schema_extra` to `@computed_field` by
[@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;8013](https://togithub.com/pydantic/pydantic/pull/8013)
- Add `JsonValue` type by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7998](https://togithub.com/pydantic/pydantic/pull/7998)
- Allow `str` as argument to `Discriminator` by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8047](https://togithub.com/pydantic/pydantic/pull/8047)
- Add `SchemaSerializer.__reduce__` method to enable pickle
serialization by [@&#8203;edoakes](https://togithub.com/edoakes) in
[pydantic/pydantic-core#1006](https://togithub.com/pydantic/pydantic-core/pull/1006)

##### Changes

- **Significant Change:** replace `ultra_strict` with new smart union
implementation, the way unions are validated has changed significantly
to improve performance and correctness, we have worked hard to
absolutely minimise the number of cases where behaviour has changed, see
the PR for details - by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/pydantic-core#867](https://togithub.com/pydantic/pydantic-core/pull/867)
- Add support for instance method reassignment when `extra='allow'` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7683](https://togithub.com/pydantic/pydantic/pull/7683)
- Support JSON schema generation for `Enum` types with no cases by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7927](https://togithub.com/pydantic/pydantic/pull/7927)
- Warn if a class inherits from `Generic` before `BaseModel` by
[@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;7891](https://togithub.com/pydantic/pydantic/pull/7891)

##### Performance

- New custom JSON parser, `jiter` by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[pydantic/pydantic-core#974](https://togithub.com/pydantic/pydantic-core/pull/974)
- PGO build for MacOS M1 by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[pydantic/pydantic-core#1063](https://togithub.com/pydantic/pydantic-core/pull/1063)
- Use `__getattr__` for all package imports, improve import time by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7947](https://togithub.com/pydantic/pydantic/pull/7947)

##### Fixes

- Fix `mypy` issue with subclasses of `RootModel` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7677](https://togithub.com/pydantic/pydantic/pull/7677)
- Properly rebuild the `FieldInfo` when a forward ref gets evaluated by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7698](https://togithub.com/pydantic/pydantic/pull/7698)
- Fix failure to load `SecretStr` from JSON (regression in v2.4) by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7729](https://togithub.com/pydantic/pydantic/pull/7729)
- Fix `defer_build` behavior with `TypeAdapter` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7736](https://togithub.com/pydantic/pydantic/pull/7736)
- Improve compatibility with legacy `mypy` versions by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7742](https://togithub.com/pydantic/pydantic/pull/7742)
- Fix: update `TypeVar` handling when default is not set by
[@&#8203;pmmmwh](https://togithub.com/pmmmwh) in
[#&#8203;7719](https://togithub.com/pydantic/pydantic/pull/7719)
- Support specification of `strict` on `Enum` type fields by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7761](https://togithub.com/pydantic/pydantic/pull/7761)
- Wrap `weakref.ref` instead of subclassing to fix `cloudpickle`
serialization by [@&#8203;edoakes](https://togithub.com/edoakes) in
[#&#8203;7780](https://togithub.com/pydantic/pydantic/pull/7780)
- Keep values of private attributes set within `model_post_init` in
subclasses by [@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;7775](https://togithub.com/pydantic/pydantic/pull/7775)
- Add more specific type for non-callable `json_schema_extra` by
[@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;7803](https://togithub.com/pydantic/pydantic/pull/7803)
- Raise an error when deleting frozen (model) fields by
[@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;7800](https://togithub.com/pydantic/pydantic/pull/7800)
- Fix schema sorting bug with default values by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7817](https://togithub.com/pydantic/pydantic/pull/7817)
- Use generated alias for aliases that are not specified otherwise by
[@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;7802](https://togithub.com/pydantic/pydantic/pull/7802)
- Support `strict` specification for `UUID` types by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7865](https://togithub.com/pydantic/pydantic/pull/7865)
- JSON schema: fix extra parameter handling by
[@&#8203;me-and](https://togithub.com/me-and) in
[#&#8203;7810](https://togithub.com/pydantic/pydantic/pull/7810)
- Fix: support `pydantic.Field(kw_only=True)` with inherited dataclasses
by [@&#8203;PrettyWood](https://togithub.com/PrettyWood) in
[#&#8203;7827](https://togithub.com/pydantic/pydantic/pull/7827)
- Support `validate_call` decorator for methods in classes with
`__slots__` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7883](https://togithub.com/pydantic/pydantic/pull/7883)
- Fix pydantic dataclass problem with `dataclasses.field` default by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7898](https://togithub.com/pydantic/pydantic/pull/7898)
- Fix schema generation for generics with union type bounds by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7899](https://togithub.com/pydantic/pydantic/pull/7899)
- Fix version for `importlib_metadata` on python 3.7 by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7904](https://togithub.com/pydantic/pydantic/pull/7904)
- Support `|` operator (Union) in PydanticRecursiveRef by
[@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;7892](https://togithub.com/pydantic/pydantic/pull/7892)
- Fix `display_as_type` for `TypeAliasType` in python 3.12 by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7929](https://togithub.com/pydantic/pydantic/pull/7929)
- Add support for `NotRequired` generics in `TypedDict` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7932](https://togithub.com/pydantic/pydantic/pull/7932)
- Make generic `TypeAliasType` specifications produce different schema
definitions by [@&#8203;alexdrydew](https://togithub.com/alexdrydew) in
[#&#8203;7893](https://togithub.com/pydantic/pydantic/pull/7893)
- Added fix for signature of inherited dataclass by
[@&#8203;howsunjow](https://togithub.com/howsunjow) in
[#&#8203;7925](https://togithub.com/pydantic/pydantic/pull/7925)
- Make the model name generation more robust in JSON schema by
[@&#8203;joakimnordling](https://togithub.com/joakimnordling) in
[#&#8203;7881](https://togithub.com/pydantic/pydantic/pull/7881)
- Fix plurals in validation error messages (in tests) by
[@&#8203;Iipin](https://togithub.com/Iipin) in
[#&#8203;7972](https://togithub.com/pydantic/pydantic/pull/7972)
- `PrivateAttr` is passed from `Annotated` default position by
[@&#8203;tabassco](https://togithub.com/tabassco) in
[#&#8203;8004](https://togithub.com/pydantic/pydantic/pull/8004)
- Don't decode bytes (which may not be UTF8) when displaying SecretBytes
by [@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;8012](https://togithub.com/pydantic/pydantic/pull/8012)
- Use `classmethod` instead of `classmethod[Any, Any, Any]` by
[@&#8203;Mr-Pepe](https://togithub.com/Mr-Pepe) in
[#&#8203;7979](https://togithub.com/pydantic/pydantic/pull/7979)
- Clearer error on invalid Plugin by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;8023](https://togithub.com/pydantic/pydantic/pull/8023)
- Correct pydantic dataclasses import by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;8027](https://togithub.com/pydantic/pydantic/pull/8027)
- Fix misbehavior for models referencing redefined type aliases by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8050](https://togithub.com/pydantic/pydantic/pull/8050)
- Fix `Optional` field with `validate_default` only performing one field
validation by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1002](https://togithub.com/pydantic/pydantic-core/pull/1002)
- Fix `definition-ref` bug with `Dict` keys by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1014](https://togithub.com/pydantic/pydantic-core/pull/1014)
- Fix bug allowing validation of `bool` types with
`coerce_numbers_to_str=True` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1017](https://togithub.com/pydantic/pydantic-core/pull/1017)
- Don't accept `NaN` in float and decimal constraints by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/pydantic-core#1037](https://togithub.com/pydantic/pydantic-core/pull/1037)
- Add `lax_str` and `lax_int` support for enum values not inherited from
str/int by [@&#8203;michaelhly](https://togithub.com/michaelhly) in
[pydantic/pydantic-core#1015](https://togithub.com/pydantic/pydantic-core/pull/1015)
- Support subclasses in lists in `Union` of `List` types by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1039](https://togithub.com/pydantic/pydantic-core/pull/1039)
- Allow validation against `max_digits` and `decimals` to pass if
normalized or non-normalized input is valid by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1049](https://togithub.com/pydantic/pydantic-core/pull/1049)
- Fix: proper pluralization in `ValidationError` messages by
[@&#8203;Iipin](https://togithub.com/Iipin) in
[pydantic/pydantic-core#1050](https://togithub.com/pydantic/pydantic-core/pull/1050)
- Disallow the string `'-'` as `datetime` input by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/speedate#52](https://togithub.com/pydantic/speedate/pull/52) &
[pydantic/pydantic-core#1060](https://togithub.com/pydantic/pydantic-core/pull/1060)
- Fix: NaN and Inf float serialization by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/pydantic-core#1062](https://togithub.com/pydantic/pydantic-core/pull/1062)
- Restore manylinux-compatible PGO builds by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/pydantic-core#1068](https://togithub.com/pydantic/pydantic-core/pull/1068)

##### New Contributors

##### `pydantic`

- [@&#8203;schneebuzz](https://togithub.com/schneebuzz) made their first
contribution in
[#&#8203;7699](https://togithub.com/pydantic/pydantic/pull/7699)
- [@&#8203;edoakes](https://togithub.com/edoakes) made their first
contribution in
[#&#8203;7780](https://togithub.com/pydantic/pydantic/pull/7780)
- [@&#8203;alexmojaki](https://togithub.com/alexmojaki) made their first
contribution in
[#&#8203;7775](https://togithub.com/pydantic/pydantic/pull/7775)
- [@&#8203;NickG123](https://togithub.com/NickG123) made their first
contribution in
[#&#8203;7751](https://togithub.com/pydantic/pydantic/pull/7751)
- [@&#8203;gowthamgts](https://togithub.com/gowthamgts) made their first
contribution in
[#&#8203;7830](https://togithub.com/pydantic/pydantic/pull/7830)
- [@&#8203;jamesbraza](https://togithub.com/jamesbraza) made their first
contribution in
[#&#8203;7848](https://togithub.com/pydantic/pydantic/pull/7848)
- [@&#8203;laundmo](https://togithub.com/laundmo) made their first
contribution in
[#&#8203;7850](https://togithub.com/pydantic/pydantic/pull/7850)
- [@&#8203;rahmatnazali](https://togithub.com/rahmatnazali) made their
first contribution in
[#&#8203;7870](https://togithub.com/pydantic/pydantic/pull/7870)
- [@&#8203;waterfountain1996](https://togithub.com/waterfountain1996)
made their first contribution in
[#&#8203;7878](https://togithub.com/pydantic/pydantic/pull/7878)
- [@&#8203;chris-spann](https://togithub.com/chris-spann) made their
first contribution in
[#&#8203;7863](https://togithub.com/pydantic/pydantic/pull/7863)
- [@&#8203;me-and](https://togithub.com/me-and) made their first
contribution in
[#&#8203;7810](https://togithub.com/pydantic/pydantic/pull/7810)
- [@&#8203;utkini](https://togithub.com/utkini) made their first
contribution in
[#&#8203;7768](https://togithub.com/pydantic/pydantic/pull/7768)
- [@&#8203;bn-l](https://togithub.com/bn-l) made their first
contribution in
[#&#8203;7744](https://togithub.com/pydantic/pydantic/pull/7744)
- [@&#8203;alexdrydew](https://togithub.com/alexdrydew) made their first
contribution in
[#&#8203;7893](https://togithub.com/pydantic/pydantic/pull/7893)
- [@&#8203;Luca-Blight](https://togithub.com/Luca-Blight) made their
first contribution in
[#&#8203;7930](https://togithub.com/pydantic/pydantic/pull/7930)
- [@&#8203;howsunjow](https://togithub.com/howsunjow) made their first
contribution in
[#&#8203;7925](https://togithub.com/pydantic/pydantic/pull/7925)
- [@&#8203;joakimnordling](https://togithub.com/joakimnordling) made
their first contribution in
[#&#8203;7881](https://togithub.com/pydantic/pydantic/pull/7881)
- [@&#8203;icfly2](https://togithub.com/icfly2) made their first
contribution in
[#&#8203;7976](https://togithub.com/pydantic/pydantic/pull/7976)
- [@&#8203;Yummy-Yums](https://togithub.com/Yummy-Yums) made their first
contribution in
[#&#8203;8003](https://togithub.com/pydantic/pydantic/pull/8003)
- [@&#8203;Iipin](https://togithub.com/Iipin) made their first
contribution in
[#&#8203;7972](https://togithub.com/pydantic/pydantic/pull/7972)
- [@&#8203;tabassco](https://togithub.com/tabassco) made their first
contribution in
[#&#8203;8004](https://togithub.com/pydantic/pydantic/pull/8004)
- [@&#8203;Mr-Pepe](https://togithub.com/Mr-Pepe) made their first
contribution in
[#&#8203;7979](https://togithub.com/pydantic/pydantic/pull/7979)
- [@&#8203;0x00cl](https://togithub.com/0x00cl) made their first
contribution in
[#&#8203;8010](https://togithub.com/pydantic/pydantic/pull/8010)
- [@&#8203;barraponto](https://togithub.com/barraponto) made their first
contribution in
[#&#8203;8032](https://togithub.com/pydantic/pydantic/pull/8032)

##### `pydantic-core`

- [@&#8203;sisp](https://togithub.com/sisp) made their first
contribution in
[pydantic/pydantic-core#995](https://togithub.com/pydantic/pydantic-core/pull/995)
- [@&#8203;michaelhly](https://togithub.com/michaelhly) made their first
contribution in
[pydantic/pydantic-core#1015](https://togithub.com/pydantic/pydantic-core/pull/1015)

###
[`v2.4.2`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v242-2023-09-27)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.4.1...v2.4.2)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.4.2)

##### What's Changed

##### Fixes

- Fix bug with JSON schema for sequence of discriminated union by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7647](https://togithub.com/pydantic/pydantic/pull/7647)
- Fix schema references in discriminated unions by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7646](https://togithub.com/pydantic/pydantic/pull/7646)
- Fix json schema generation for recursive models by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7653](https://togithub.com/pydantic/pydantic/pull/7653)
- Fix `models_json_schema` for generic models by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7654](https://togithub.com/pydantic/pydantic/pull/7654)
- Fix xfailed test for generic model signatures by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7658](https://togithub.com/pydantic/pydantic/pull/7658)

##### New Contributors

- [@&#8203;austinorr](https://togithub.com/austinorr) made their first
contribution in
[#&#8203;7657](https://togithub.com/pydantic/pydantic/pull/7657)
- [@&#8203;peterHoburg](https://togithub.com/peterHoburg) made their
first contribution in
[#&#8203;7670](https://togithub.com/pydantic/pydantic/pull/7670)

###
[`v2.4.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v241-2023-09-26)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.4.0...v2.4.1)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.4.1)

##### What's Changed

##### Packaging

- Update pydantic-core to 2.10.1 by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;7633](https://togithub.com/pydantic/pydantic/pull/7633)

##### Fixes

- Serialize unsubstituted type vars as `Any` by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7606](https://togithub.com/pydantic/pydantic/pull/7606)
- Remove schema building caches by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7624](https://togithub.com/pydantic/pydantic/pull/7624)
- Fix an issue where JSON schema extras weren't JSON encoded by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7625](https://togithub.com/pydantic/pydantic/pull/7625)

###
[`v2.4.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v240-2023-09-22)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.3.0...v2.4.0)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.4.0)

##### What's Changed

##### Packaging

- Update pydantic-core to 2.10.0 by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7542](https://togithub.com/pydantic/pydantic/pull/7542)

##### New Features

- Add `Base64Url` types by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7286](https://togithub.com/pydantic/pydantic/pull/7286)
- Implement optional `number` to `str` coercion by
[@&#8203;lig](https://togithub.com/lig) in
[#&#8203;7508](https://togithub.com/pydantic/pydantic/pull/7508)
- Allow access to `field_name` and `data` in all validators if there is
data and a field name by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7542](https://togithub.com/pydantic/pydantic/pull/7542)
- Add `BaseModel.model_validate_strings` and
`TypeAdapter.validate_strings` by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7552](https://togithub.com/pydantic/pydantic/pull/7552)
- Add Pydantic `plugins` experimental implementation by
[@&#8203;lig](https://togithub.com/lig)
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) and
[@&#8203;Kludex](https://togithub.com/Kludex) in
[#&#8203;6820](https://togithub.com/pydantic/pydantic/pull/6820)

##### Changes

- Do not override `model_post_init` in subclass with private attrs by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;7302](https://togithub.com/pydantic/pydantic/pull/7302)
- Make fields with defaults not required in the serialization schema by
default by [@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7275](https://togithub.com/pydantic/pydantic/pull/7275)
- Mark `Extra` as deprecated by
[@&#8203;disrupted](https://togithub.com/disrupted) in
[#&#8203;7299](https://togithub.com/pydantic/pydantic/pull/7299)
- Make `EncodedStr` a dataclass by
[@&#8203;Kludex](https://togithub.com/Kludex) in
[#&#8203;7396](https://togithub.com/pydantic/pydantic/pull/7396)
- Move `annotated_handlers` to be public by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7569](https://togithub.com/pydantic/pydantic/pull/7569)

##### Performance

- Simplify flattening and inlining of `CoreSchema` by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7523](https://togithub.com/pydantic/pydantic/pull/7523)
- Remove unused copies in `CoreSchema` walking by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7528](https://togithub.com/pydantic/pydantic/pull/7528)
- Add caches for collecting definitions and invalid schemas from a
CoreSchema by [@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7527](https://togithub.com/pydantic/pydantic/pull/7527)
- Eagerly resolve discriminated unions and cache cases where we can't by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7529](https://togithub.com/pydantic/pydantic/pull/7529)
- Replace `dict.get` and `dict.setdefault` with more verbose versions in
`CoreSchema` building hot paths by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7536](https://togithub.com/pydantic/pydantic/pull/7536)
- Cache invalid `CoreSchema` discovery by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7535](https://togithub.com/pydantic/pydantic/pull/7535)
- Allow disabling `CoreSchema` validation for faster startup times by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7565](https://togithub.com/pydantic/pydantic/pull/7565)

##### Fixes

- Fix config detection for `TypedDict` from grandparent classes by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7272](https://togithub.com/pydantic/pydantic/pull/7272)
- Fix hash function generation for frozen models with unusual MRO by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7274](https://togithub.com/pydantic/pydantic/pull/7274)
- Make `strict` config overridable in field for Path by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7281](https://togithub.com/pydantic/pydantic/pull/7281)
- Use `ser_json_<timedelta|bytes>` on default in `GenerateJsonSchema` by
[@&#8203;Kludex](https://togithub.com/Kludex) in
[#&#8203;7269](https://togithub.com/pydantic/pydantic/pull/7269)
- Adding a check that alias is validated as an identifier for Python by
[@&#8203;andree0](https://togithub.com/andree0) in
[#&#8203;7319](https://togithub.com/pydantic/pydantic/pull/7319)
- Raise an error when computed field overrides field by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7346](https://togithub.com/pydantic/pydantic/pull/7346)
- Fix applying `SkipValidation` to referenced schemas by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7381](https://togithub.com/pydantic/pydantic/pull/7381)
- Enforce behavior of private attributes having double leading
underscore by [@&#8203;lig](https://togithub.com/lig) in
[#&#8203;7265](https://togithub.com/pydantic/pydantic/pull/7265)
- Standardize `__get_pydantic_core_schema__` signature by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7415](https://togithub.com/pydantic/pydantic/pull/7415)
- Fix generic dataclass fields mutation bug (when using `TypeAdapter`)
by [@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7435](https://togithub.com/pydantic/pydantic/pull/7435)
- Fix `TypeError` on `model_validator` in `wrap` mode by
[@&#8203;pmmmwh](https://togithub.com/pmmmwh) in
[#&#8203;7496](https://togithub.com/pydantic/pydantic/pull/7496)
- Improve enum error message by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7506](https://togithub.com/pydantic/pydantic/pull/7506)
- Make `repr` work for instances that failed initialization when
handling `ValidationError`s by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7439](https://togithub.com/pydantic/pydantic/pull/7439)
- Fixed a regular expression denial of service issue by limiting
whitespaces by [@&#8203;prodigysml](https://togithub.com/prodigysml) in
[#&#8203;7360](https://togithub.com/pydantic/pydantic/pull/7360)
- Fix handling of `UUID` values having `UUID.version=None` by
[@&#8203;lig](https://togithub.com/lig) in
[#&#8203;7566](https://togithub.com/pydantic/pydantic/pull/7566)
- Fix `__iter__` returning private `cached_property` info by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;7570](https://togithub.com/pydantic/pydantic/pull/7570)
- Improvements to version info message by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7594](https://togithub.com/pydantic/pydantic/pull/7594)

##### New Contributors

- [@&#8203;15498th](https://togithub.com/15498th) made their first
contribution in
[#&#8203;7238](https://togithub.com/pydantic/pydantic/pull/7238)
- [@&#8203;GabrielCappelli](https://togithub.com/GabrielCappelli) made
their first contribution in
[#&#8203;7213](https://togithub.com/pydantic/pydantic/pull/7213)
- [@&#8203;tobni](https://togithub.com/tobni) made their first
contribution in
[#&#8203;7184](https://togithub.com/pydantic/pydantic/pull/7184)
- [@&#8203;redruin1](https://togithub.com/redruin1) made their first
contribution in
[#&#8203;7282](https://togithub.com/pydantic/pydantic/pull/7282)
- [@&#8203;FacerAin](https://togithub.com/FacerAin) made their first
contribution in
[#&#8203;7288](https://togithub.com/pydantic/pydantic/pull/7288)
- [@&#8203;acdha](https://togithub.com/acdha) made their first
contribution in
[#&#8203;7297](https://togithub.com/pydantic/pydantic/pull/7297)
- [@&#8203;andree0](https://togithub.com/andree0) made their first
contribution in
[#&#8203;7319](https://togithub.com/pydantic/pydantic/pull/7319)
- [@&#8203;gordonhart](https://togithub.com/gordonhart) made their first
contribution in
[#&#8203;7375](https://togithub.com/pydantic/pydantic/pull/7375)
- [@&#8203;pmmmwh](https://togithub.com/pmmmwh) made their first
contribution in
[#&#8203;7496](https://togithub.com/pydantic/pydantic/pull/7496)
- [@&#8203;disrupted](https://togithub.com/disrupted) made their first
contribution in
[#&#8203;7299](https://togithub.com/pydantic/pydantic/pull/7299)
- [@&#8203;prodigysml](https://togithub.com/prodigysml) made their first
contribution in
[#&#8203;7360](https://togithub.com/pydantic/pydantic/pull/7360)

###
[`v2.3.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v230-2023-08-23)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.2.1...v2.3.0)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.3.0)

- 🔥 Remove orphaned changes file from repo by
[@&#8203;lig](https://togithub.com/lig) in
[#&#8203;7168](https://togithub.com/pydantic/pydantic/pull/7168)
- Add copy button on documentation by
[@&#8203;Kludex](https://togithub.com/Kludex) in
[#&#8203;7190](https://togithub.com/pydantic/pydantic/pull/7190)
- Fix docs on JSON type by [@&#8203;Kludex](https://togithub.com/Kludex)
in [#&#8203;7189](https://togithub.com/pydantic/pydantic/pull/7189)
- Update mypy 1.5.0 to 1.5.1 in CI by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7191](https://togithub.com/pydantic/pydantic/pull/7191)
- fix download links badge by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7200](https://togithub.com/pydantic/pydantic/pull/7200)
- add 2.2.1 to changelog by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7212](https://togithub.com/pydantic/pydantic/pull/7212)
- Make ModelWrapValidator protocols generic by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7154](https://togithub.com/pydantic/pydantic/pull/7154)
- Correct `Field(..., exclude: bool)` docs by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7214](https://togithub.com/pydantic/pydantic/pull/7214)
- Make shadowing attributes a warning instead of an error by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7193](https://togithub.com/pydantic/pydantic/pull/7193)
- Document `Base64Str` and `Base64Bytes` by
[@&#8203;Kludex](https://togithub.com/Kludex) in
[#&#8203;7192](https://togithub.com/pydantic/pydantic/pull/7192)
- Fix `config.defer_build` for serialization first cases by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7024](https://togithub.com/pydantic/pydantic/pull/7024)
- clean Model docstrings in JSON Schema by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7210](https://togithub.com/pydantic/pydantic/pull/7210)
- fix [#&#8203;7228](https://togithub.com/pydantic/pydantic/pull/7228)
(typo): docs in `validators.md` to correct `validate_default` kwarg by
[@&#8203;lmmx](https://togithub.com/lmmx) in
[#&#8203;7229](https://togithub.com/pydantic/pydantic/pull/7229)
-  Implement `tzinfo.fromutc` method for `TzInfo` in `pydantic-core` by
[@&#8203;lig](https://togithub.com/lig) in
[#&#8203;7019](https://togithub.com/pydantic/pydantic/pull/7019)
- Support `__get_validators__` by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7197](https://togithub.com/pydantic/pydantic/pull/7197)

###
[`v2.2.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v221-2023-08-18)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.2.0...v2.2.1)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.2.1)

- Make `xfail`ing test for root model extra stop `xfail`ing by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6937](https://togithub.com/pydantic/pydantic/pull/6937)
- Optimize recursion detection by stopping on the second visit for the
same object by [@&#8203;mciucu](https://togithub.com/mciucu) in
[#&#8203;7160](https://togithub.com/pydantic/pydantic/pull/7160)
- fix link in docs by
[@&#8203;tlambert03](https://togithub.com/tlambert03) in
[#&#8203;7166](https://togithub.com/pydantic/pydantic/pull/7166)
- Replace MiMalloc w/ default allocator by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[pydantic/pydantic-core#900](https://togithub.com/pydantic/pydantic-core/pull/900)
- Bump pydantic-core to 2.6.1 and prepare 2.2.1 release by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7176](https://togithub.com/pydantic/pydantic/pull/7176)

###
[`v2.2.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v220-2023-08-17)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.1.1...v2.2.0)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.2.0)

- Split "pipx install" setup command into two commands on the
documentation site by [@&#8203;nomadmtb](https://togithub.com/nomadmtb)
in [#&#8203;6869](https://togithub.com/pydantic/pydantic/pull/6869)
- Deprecate `Field.include` by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6852](https://togithub.com/pydantic/pydantic/pull/6852)
- Fix typo in default factory error msg by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6880](https://togithub.com/pydantic/pydantic/pull/6880)
- Simplify handling of typing.Annotated in GenerateSchema by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6887](https://togithub.com/pydantic/pydantic/pull/6887)
- Re-enable fastapi tests in CI by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6883](https://togithub.com/pydantic/pydantic/pull/6883)
- Make it harder to hit collisions with json schema defrefs by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6566](https://togithub.com/pydantic/pydantic/pull/6566)
- Cleaner error for invalid input to `Path` fields by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;6903](https://togithub.com/pydantic/pydantic/pull/6903)
- 📝 support Coordinate Type by
[@&#8203;yezz123](https://togithub.com/yezz123) in
[#&#8203;6906](https://togithub.com/pydantic/pydantic/pull/6906)
- Fix `ForwardRef` wrapper for py 3.10.0 (shim until bpo-45166) by
[@&#8203;randomir](https://togithub.com/randomir) in
[#&#8203;6919](https://togithub.com/pydantic/pydantic/pull/6919)
- Fix misbehavior related to copying of RootModel by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6918](https://togithub.com/pydantic/pydantic/pull/6918)
- Fix issue with recursion error caused by ParamSpec by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6923](https://togithub.com/pydantic/pydantic/pull/6923)
- Add section about Constrained classes to the Migration Guide by
[@&#8203;Kludex](https://togithub.com/Kludex) in
[#&#8203;6924](https://togithub.com/pydantic/pydantic/pull/6924)
- Use `main` branch for badge links by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;6925](https://togithub.com/pydantic/pydantic/pull/6925)
- Add test for v1/v2 Annotated discrepancy by
[@&#8203;carlbordum](https://togithub.com/carlbordum) in
[#&#8203;6926](https://togithub.com/pydantic/pydantic/pull/6926)
- Make the v1 mypy plugin work with both v1 and v2 by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6921](https://togithub.com/pydantic/pydantic/pull/6921)
- Fix issue where generic models couldn't be parametrized with BaseModel
by [@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6933](https://togithub.com/pydantic/pydantic/pull/6933)
- Remove xfail for discriminated union with alias by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6938](https://togithub.com/pydantic/pydantic/pull/6938)
- add field_serializer to computed_field by
[@&#8203;andresliszt](https://togithub.com/andresliszt) in
[#&#8203;6965](https://togithub.com/pydantic/pydantic/pull/6965)
- Use union_schema with Type\[Union\[...]] by
[@&#8203;JeanArhancet](https://togithub.com/JeanArhancet) in
[#&#8203;6952](https://togithub.com/pydantic/pydantic/pull/6952)
- Fix inherited typeddict attributes / config by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6981](https://togithub.com/pydantic/pydantic/pull/6981)
- fix dataclass annotated before validator called twice by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;6998](https://togithub.com/pydantic/pydantic/pull/6998)
- Update test-fastapi deselected tests by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7014](https://togithub.com/pydantic/pydantic/pull/7014)
- Fix validator doc format by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7015](https://togithub.com/pydantic/pydantic/pull/7015)
- Fix typo in docstring of model_json_schema by
[@&#8203;AdamVinch-Federated](https://togithub.com/AdamVinch-Federated)
in [#&#8203;7032](https://togithub.com/pydantic/pydantic/pull/7032)
- remove unused "type ignores" with pyright by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7026](https://togithub.com/pydantic/pydantic/pull/7026)
- Add benchmark representing FastAPI startup time by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7030](https://togithub.com/pydantic/pydantic/pull/7030)
- Fix json_encoders for Enum subclasses by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7029](https://togithub.com/pydantic/pydantic/pull/7029)
- Update docstring of `ser_json_bytes` regarding base64 encoding by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;7052](https://togithub.com/pydantic/pydantic/pull/7052)
- Allow `@validate_call` to work on async methods by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7046](https://togithub.com/pydantic/pydantic/pull/7046)
- Fix: mypy error with `Settings` and `SettingsConfigDict` by
[@&#8203;JeanArhancet](https://togithub.com/JeanArhancet) in
[#&#8203;7002](https://togithub.com/pydantic/pydantic/pull/7002)
- Fix some typos (repeated words and it's/its) by
[@&#8203;eumiro](https://togithub.com/eumiro) in
[#&#8203;7063](https://togithub.com/pydantic/pydantic/pull/7063)
- Fix the typo in docstring by
[@&#8203;harunyasar](https://togithub.com/harunyasar) in
[#&#8203;7062](https://togithub.com/pydantic/pydantic/pull/7062)
- Docs: Fix broken URL in the pydantic-settings package recommendation
by [@&#8203;swetjen](https://togithub.com/swetjen) in
[#&#8203;6995](https://togithub.com/pydantic/pydantic/pull/6995)
- Handle constraints being applied to schemas that don't accept it by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6951](https://togithub.com/pydantic/pydantic/pull/6951)
- Replace almost_equal_floats with math.isclose by
[@&#8203;eumiro](https://togithub.com/eumiro) in
[#&#8203;7082](https://togithub.com/pydantic/pydantic/pull/7082)
- bump pydantic-core to 2.5.0 by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;7077](https://togithub.com/pydantic/pydantic/pull/7077)
- Add `short_version` and use it in links by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7115](https://togithub.com/pydantic/pydantic/pull/7115)
- 📝 Add usage link to `RootModel` by
[@&#8203;Kludex](https://togithub.com/Kludex) in
[#&#8203;7113](https://togithub.com/pydantic/pydantic/pull/7113)
- Revert "Fix default port for mongosrv DSNs
([#&#8203;6827](https://togithub.com/pydantic/pydantic/issues/6827))" by
[@&#8203;Kludex](https://togithub.com/Kludex) in
[#&#8203;7116](https://togithub.com/pydantic/pydantic/pull/7116)
- Clarify validate_default and \_Unset handling in usage docs and
migration guide by [@&#8203;benbenbang](https://togithub.com/benbenbang)
in [#&#8203;6950](https://togithub.com/pydantic/pydantic/pull/6950)
- Tweak documentation of `Field.exclude` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;7086](https://togithub.com/pydantic/pydantic/pull/7086)
- Do not require `validate_assignment` to use `Field.frozen` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;7103](https://togithub.com/pydantic/pydantic/pull/7103)
- tweaks to `_core_utils` by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;7040](https://togithub.com/pydantic/pydantic/pull/7040)
- Make DefaultDict working with set by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7126](https://togithub.com/pydantic/pydantic/pull/7126)
- Don't always require typing.Generic as a base for partially
parametrized models by [@&#8203;dmontagu](https://togithub.com/dmontagu)
in [#&#8203;7119](https://togithub.com/pydantic/pydantic/pull/7119)
- Fix issue with JSON schema incorrectly using parent class core schema
by [@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7020](https://togithub.com/pydantic/pydantic/pull/7020)
- Fix xfailed test related to TypedDict and alias_generator by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6940](https://togithub.com/pydantic/pydantic/pull/6940)
- Improve error message for NameEmail by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6939](https://togithub.com/pydantic/pydantic/pull/6939)
- Fix generic computed fields by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6988](https://togithub.com/pydantic/pydantic/pull/6988)
- Reflect namedtuple default values during validation by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7144](https://togithub.com/pydantic/pydantic/pull/7144)
- Update dependencies, fix pydantic-core usage, fix CI issues by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7150](https://togithub.com/pydantic/pydantic/pull/7150)
- Add mypy 1.5.0 by [@&#8203;hramezani](https://togithub.com/hramezani)
in [#&#8203;7118](https://togithub.com/pydantic/pydantic/pull/7118)
- Handle non-json native enum values by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7056](https://togithub.com/pydantic/pydantic/pull/7056)
- document `round_trip` in Json type documentation by
[@&#8203;jc-louis](https://togithub.com/jc-louis) in
[#&#8203;7137](https://togithub.com/pydantic/pydantic/pull/7137)
- Relax signature checks to better support builtins and C extension
functions as validators by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;7101](https://togithub.com/pydantic/pydantic/pull/7101)
- add union_mode='left_to_right' by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;7151](https://togithub.com/pydantic/pydantic/pull/7151)
- Include an error message hint for inherited ordering by
[@&#8203;yvalencia91](https://togithub.com/yvalencia91) in
[#&#8203;7124](https://togithub.com/pydantic/pydantic/pull/7124)
- Fix one docs link and resolve some warnings for two others by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7153](https://togithub.com/pydantic/pydantic/pull/7153)
- Include Field extra keys name in warning by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7136](https://togithub.com/pydantic/pydantic/pull/7136)

###
[`v2.1.1`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v211-2023-07-25)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.1.0...v2.1.1)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.1.1)

- Skip FieldInfo merging when unnecessary by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6862](https://togithub.com/pydantic/pydantic/pull/6862)

###
[`v2.1.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v210-2023-07-25)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.0.3...v2.1.0)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.1.0)

- Add `StringConstraints` for use as Annotated metadata by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6605](https://togithub.com/pydantic/pydantic/pull/6605)
- Try to fix intermittently failing CI by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6683](https://togithub.com/pydantic/pydantic/pull/6683)
- Remove redundant example of optional vs default. by
[@&#8203;ehiggs-deliverect](https://togithub.com/ehiggs-deliverect) in
[#&#8203;6676](https://togithub.com/pydantic/pydantic/pull/6676)
- Docs update by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;6692](https://togithub.com/pydantic/pydantic/pull/6692)
- Remove the Validate always section in validator docs by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6679](https://togithub.com/pydantic/pydantic/pull/6679)
- Fix recursion error in json schema generation by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6720](https://togithub.com/pydantic/pydantic/pull/6720)
- Fix incorrect subclass check for secretstr by
[@&#8203;AlexVndnblcke](https://togithub.com/AlexVndnblcke) in
[#&#8203;6730](https://togithub.com/pydantic/pydantic/pull/6730)
- update pdm / pdm lockfile to 2.8.0 by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;6714](https://togithub.com/pydantic/pydantic/pull/6714)
- unpin pdm on more CI jobs by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;6755](https://togithub.com/pydantic/pydantic/pull/6755)
- improve source locations for auxiliary packages in docs by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;6749](https://togithub.com/pydantic/pydantic/pull/6749)
- Assume builtins don't accept an info argument by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6754](https://togithub.com/pydantic/pydantic/pull/6754)
- Fix bug where calling `help(BaseModelSubclass)` raises errors by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6758](https://togithub.com/pydantic/pydantic/pull/6758)
- Fix mypy plugin handling of `@model_validator(mode="after")` by
[@&#8203;ljodal](https://togithub.com/ljodal) in
[#&#8203;6753](https://togithub.com/pydantic/pydantic/pull/6753)
- update pydantic-core to 2.3.1 by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;6756](https://togithub.com/pydantic/pydantic/pull/6756)
- Mypy plugin for settings by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6760](https://togithub.com/pydantic/pydantic/pull/6760)
- Use `contentSchema` keyword for JSON schema by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6715](https://togithub.com/pydantic/pydantic/pull/6715)
- fast-path checking finite decimals by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;6769](https://togithub.com/pydantic/pydantic/pull/6769)
- Docs update by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;6771](https://togithub.com/pydantic/pydantic/pull/6771)
- Improve json schema doc by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6772](https://togithub.com/pydantic/pydantic/pull/6772)
- Update validator docs by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6695](https://togithub.com/pydantic/pydantic/pull/6695)
- Fix typehint for wrap validator by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6788](https://togithub.com/pydantic/pydantic/pull/6788)
- 🐛 Fix validation warning for unions of Literal and other type by
[@&#8203;lig](https://togithub.com/lig) in
[#&#8203;6628](https://togithub.com/pydantic/pydantic/pull/6628)
- Update documentation for generics support in V2 by
[@&#8203;tpdorsey](https://togithub.com/tpdorsey) in
[#&#8203;6685](https://togithub.com/pydantic/pydantic/pull/6685)
- add pydantic-core build info to `version_info()` by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;6785](https://togithub.com/pydantic/pydantic/pull/6785)
- Fix pydantic dataclasses that use slots with default values by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6796](https://togithub.com/pydantic/pydantic/pull/6796)
- Fix inheritance of hash function for frozen models by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6789](https://togithub.com/pydantic/pydantic/pull/6789)
-  Add `SkipJsonSchema` annotation by
[@&#8203;Kludex](https://togithub.com/Kludex) in
[#&#8203;6653](https://togithub.com/pydantic/pydantic/pull/6653)
- Error if an invalid field name is used with Field by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6797](https://togithub.com/pydantic/pydantic/pull/6797)
- Add `GenericModel` to `MOVED_IN_V2` by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6776](https://togithub.com/pydantic/pydantic/pull/6776)
- Remove unused code from `docs/usage/types/custom.md` by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6803](https://togithub.com/pydantic/pydantic/pull/6803)
- Fix `float` -> `Decimal` coercion precision loss by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6810](https://togithub.com/pydantic/pydantic/pull/6810)
- remove email validation from the north star benchmark by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;6816](https://togithub.com/pydantic/pydantic/pull/6816)
- Fix link to mypy by
[@&#8203;progsmile](https://togithub.com/progsmile) in
[#&#8203;6824](https://togithub.com/pydantic/pydantic/pull/6824)
- Improve initialization hooks example by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6822](https://togithub.com/pydantic/pydantic/pull/6822)
- Fix default port for mongosrv DSNs by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6827](https://togithub.com/pydantic/pydantic/pull/6827)
- Improve API documentation, in particular more links between usage and
API docs by [@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;6780](https://togithub.com/pydantic/pydantic/pull/6780)
- update pydantic-core to 2.4.0 by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;6831](https://togithub.com/pydantic/pydantic/pull/6831)
- Fix `annotated_types.MaxLen` validator for custom sequence types by
[@&#8203;ImogenBits](https://togithub.com/ImogenBits) in
[#&#8203;6809](https://togithub.com/pydantic/pydantic/pull/6809)
- Update V1 by [@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6833](https://togithub.com/pydantic/pydantic/pull/6833)
- Make it so callable JSON schema extra works by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6798](https://togithub.com/pydantic/pydantic/pull/6798)
- Fix serialization issue with `InstanceOf` by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6829](https://togithub.com/pydantic/pydantic/pull/6829)
- Add back support for `json_encoders` by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6811](https://togithub.com/pydantic/pydantic/pull/6811)
- Update field annotations when building the schema by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6838](https://togithub.com/pydantic/pydantic/pull/6838)
- Use `WeakValueDictionary` to fix generic memory leak by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6681](https://togithub.com/pydantic/pydantic/pull/6681)
- Add `config.defer_build` to optionally make model building lazy by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;6823](https://togithub.com/pydantic/pydantic/pull/6823)
- delegate `UUID` serialization to pydantic-core by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;6850](https://togithub.com/pydantic/pydantic/pull/6850)
- Update `json_encoders` docs by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6848](https://togithub.com/pydantic/pydantic/pull/6848)
- Fix error message for `staticmethod`/`classmethod` order with
validate_call by [@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6686](https://togithub.com/pydantic/pydantic/pull/6686)
- Improve documentation for `Config` by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[#&#8203;6847](https://togithub.com/pydantic/pydantic/pull/6847)
- Update serialization doc to mention `Field.exclude` takes priority
over call-time `include/exclude` by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6851](https://togithub.com/pydantic/pydantic/pull/6851)
- Allow customizing core schema generation by making `GenerateSchema`
public by [@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6737](https://togithub.com/pydantic/pydantic/pull/6737)

###
[`v2.0.3`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v203-2023-07-05)

[Compare
Source](https://togithub.com/pydantic/pydantic/compare/v2.0.2...v2.0.3)

[GitHub
release](https://togithub.com/pydantic/pydantic/releases/tag/v2.0.3)

- Mention PyObject (v1) moving to ImportString (v2) in migration doc by
[@&#8203;slafs](https://togithub.com/slafs) in
[#&#8203;6456](https://togithub.com/pydantic/pydantic/pull/6456)
- Fix release-tweet CI by [@&#8203;Kludex](https://togithub.com/Kludex)
in [#&#8203;6461](https://togithub.com/pydantic/pydantic/pull/6461)
- Revise the section on required / optional / nullable fields. by
[@&#8203;ybressler](https://togithub.com/ybressler) in
[#&#8203;6468](https://togithub.com/pydantic/pydantic/pull/6468)
- Warn if a type hint is not in fact a type by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6479](https://togithub.com/pydantic/pydantic/pull/6479)
- Replace TransformSchema with GetPydanticSchema by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6484](https://togithub.com/pydantic/pydantic/pull/6484)
- Fix the un-hashability of various annotation types, for use in caching
generic containers by [@&#8203;dmontagu](https://togithub.com/dmontagu)
in [#&#8203;6480](https://togithub.com/pydantic/pydantic/pull/6480)
- PYD-164: Rework custom types docs by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6490](https://togithub.com/pydantic/pydantic/pull/6490)
- Fix ci by [@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6507](https://togithub.com/pydantic/pydantic/pull/6507)
- Fix forward ref in generic by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;6511](https://togithub.com/pydantic/pydantic/pull/6511)
- Fix generation of serialization JSON schemas for
core_schema.ChainSchema by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6515](https://togithub.com/pydantic/pydantic/pull/6515)
- Document the change in `Field.alias` behavior in Pydantic V2 by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;6508](https://togithub.com/pydantic/pydantic/pull/6508)
- Give better error message attempting to compute the json schema of a
model with undefined fields by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;6519](https://togithub.com/pydantic/pydantic/pull/6519)
- Document `alias_priority` by
[@&#8203;tpdorsey](https://togithub.com/tpdorsey) in
[#&#8203;6520](https://togithub.com/pydantic/pydantic/pull/6520)
- Add redirect for types documentation by
[@&#8203;tpdorsey](https://togithub.com/tpdorsey) in
[#&#8203;6513](https://t

</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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/libretime/libretime).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNDQuMiIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-12-27 13:35:19 +01:00
libretime-bot 8a8dd98417 chore(legacy): update locales 2023-12-25 01:55:32 +00:00
renovate[bot] ecdb68768a chore(deps): update pre-commit hook psf/black-pre-commit-mirror to v23.12.1 2023-12-24 13:12:59 +00:00
Jonas L 9a60465163
ci: ensure release pipeline run after tag (#2830)
By default, Release Please uses the built-in GITHUB_TOKEN secret.
However, all resources created by release-please (release tag or release
pull request) will not trigger future GitHub actions workflows, and
workflows normally triggered by release.created events will also not
run.
2023-12-22 21:32:43 +01:00
Jonas L d5dea88521
docs: fix release note title (#2829) 2023-12-22 21:32:20 +01:00
Jonas L f24926acd5
ci: add branch names to commit scopes (#2824)
### Description
Ensure the release pull request does not fail the PR title check.
2023-12-22 20:55:06 +01:00
Jonas L 3ab9067c3f
ci: update backport bot templates (#2821)
### Description

Better integrations with release-please, using my action fork until
https://github.com/tibdex/backport/pull/109 is merged upstream.
2023-12-22 19:54:11 +01:00
Jonas L f252a16637
fix(legacy): allow uploading opus files (#2804) 2023-12-22 19:30:01 +01:00
Jonas L e7a678e91f
build: replace custom release script with release-please (#2817)
* build: replace custom release script with release-please

* include package-name
2023-12-22 19:19:12 +01:00
Jonas L 3e06cc1072
ci: update actions/*-artifact actions to v4 (#2818) 2023-12-22 18:23:56 +01:00
renovate[bot] 95fb85ad84
chore(deps): update dependency uvicorn to >=0.17.6,<0.26.0 (#2773)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-22 18:12:09 +01:00
renovate[bot] 7b9b9e43ef chore(deps): update actions/stale action to v9 2023-12-22 16:49:50 +00:00
renovate[bot] b6dae7e1e7 chore(deps): update actions/setup-python action to v5 2023-12-21 09:27:16 +00:00
renovate[bot] a1941fc97b chore(deps): update pre-commit hook pycqa/isort to v5.13.2 2023-12-20 04:08:18 +00:00