Commit Graph

18957 Commits

Author SHA1 Message Date
Thomas Göttgens 170d09545e
feat(legacy): disable public radio page and redirect to login (#2903)
### Description

Many people don't need the public page and use libretime purely for
playout management. This adds the ability to have libretime publicly
available but only present the login page to the user.

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

no, but i will add documentation if this PR is accepted.

### Testing Notes

**What I did:**

Toggle the new ceckbox on the general settings, log out and back in and
check behaviour.

note: this may have conflicts with the trim overbooked PR since the
toggle sits in the same place. If both are accepted this needs to be
formatted nicely :-)

---------

Co-authored-by: Thomas Göttgens <tgoettgens@mail.com>
Co-authored-by: Jonas L. <jooola@users.noreply.github.com>
Co-authored-by: Kyle Robbertze <paddatrapper@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2024-02-02 19:04:12 +01:00
renovate[bot] 199831458f
chore(deps): update docker/metadata-action action to v5.5.1 (#2928)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [docker/metadata-action](https://togithub.com/docker/metadata-action)
| action | minor | `v5.4.0` -> `v5.5.1` |

---

### Release Notes

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

###
[`v5.5.1`](https://togithub.com/docker/metadata-action/releases/tag/v5.5.1)

[Compare
Source](https://togithub.com/docker/metadata-action/compare/v5.5.0...v5.5.1)

- Don't set `cwd://` prefix for local bake files by
[@&#8203;crazy-max](https://togithub.com/crazy-max) in
[https://github.com/docker/metadata-action/pull/382](https://togithub.com/docker/metadata-action/pull/382)

**Full Changelog**:
https://github.com/docker/metadata-action/compare/v5.5.0...v5.5.1

###
[`v5.5.0`](https://togithub.com/docker/metadata-action/releases/tag/v5.5.0)

[Compare
Source](https://togithub.com/docker/metadata-action/compare/v5.4.0...v5.5.0)

- Set `cwd://` prefix for bake files path by
[@&#8203;crazy-max](https://togithub.com/crazy-max) in
[https://github.com/docker/metadata-action/pull/370](https://togithub.com/docker/metadata-action/pull/370)
- Bump
[@&#8203;docker/actions-toolkit](https://togithub.com/docker/actions-toolkit)
from 0.16.0 to 0.16.1 in
[https://github.com/docker/metadata-action/pull/371](https://togithub.com/docker/metadata-action/pull/371)
- Bump moment from 2.29.4 to 2.30.1 in
[https://github.com/docker/metadata-action/pull/373](https://togithub.com/docker/metadata-action/pull/373)
- Bump moment-timezone from 0.5.43 to 0.5.44 in
[https://github.com/docker/metadata-action/pull/374](https://togithub.com/docker/metadata-action/pull/374)

**Full Changelog**:
https://github.com/docker/metadata-action/compare/v5.4.0...v5.5.0

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Kyle Robbertze <kyle@paddatrapper.com>
2024-02-01 16:23:04 +00:00
renovate[bot] 88a293370d
chore(deps): update dependency pytest to v8 (#2921)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pytest](https://docs.pytest.org/en/latest/)
([source](https://togithub.com/pytest-dev/pytest),
[changelog](https://docs.pytest.org/en/stable/changelog.html)) |
`>=7.2.1,<8` -> `>=7.2.1,<9` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest/7.4.4/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/7.4.4/8.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v8.0.0`](https://togithub.com/pytest-dev/pytest/compare/7.4.4...8.0.0)

[Compare
Source](https://togithub.com/pytest-dev/pytest/compare/7.4.4...8.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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 17:34:11 +00:00
renovate[bot] c2e6d15014
chore(deps): update dependency pydantic to >=2.5.0,<2.7 (#2922)
[![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/)) |
`>=2.5.0,<2.6` -> `>=2.5.0,<2.7` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pydantic/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pydantic/2.5.3/2.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v2.6.0`](https://togithub.com/pydantic/pydantic/blob/HEAD/HISTORY.md#v260-2024-01-23)

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

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

The code released in v2.6.0 is practically identical to that of
v2.6.0b1.

##### What's Changed

##### Packaging

- Check for `email-validator` version >= 2.0 by
[@&#8203;commonism](https://togithub.com/commonism) in
[#&#8203;6033](https://togithub.com/pydantic/pydantic/pull/6033)
- Upgrade \`ruff\`\` target version to Python 3.8 by
[@&#8203;Elkiwa](https://togithub.com/Elkiwa) in
[#&#8203;8341](https://togithub.com/pydantic/pydantic/pull/8341)
- Update to `pydantic-extra-types==2.4.1` by
[@&#8203;yezz123](https://togithub.com/yezz123) in
[#&#8203;8478](https://togithub.com/pydantic/pydantic/pull/8478)
- Update to `pyright==1.1.345` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;8453](https://togithub.com/pydantic/pydantic/pull/8453)
- Update pydantic-core from 2.14.6 to 2.16.1, significant changes from
these updates are described below, full changelog
[here](https://togithub.com/pydantic/pydantic-core/compare/v2.14.6...v2.16.1)

##### New Features

- Add `NatsDsn` by [@&#8203;ekeew](https://togithub.com/ekeew) in
[#&#8203;6874](https://togithub.com/pydantic/pydantic/pull/6874)
- Add `ConfigDict.ser_json_inf_nan` by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[#&#8203;8159](https://togithub.com/pydantic/pydantic/pull/8159)
- Add `types.OnErrorOmit` by
[@&#8203;adriangb](https://togithub.com/adriangb) in
[#&#8203;8222](https://togithub.com/pydantic/pydantic/pull/8222)
- Support `AliasGenerator` usage by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8282](https://togithub.com/pydantic/pydantic/pull/8282)
- Add Pydantic People Page to docs by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8345](https://togithub.com/pydantic/pydantic/pull/8345)
- Support `yyyy-MM-DD` datetime parsing by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8404](https://togithub.com/pydantic/pydantic/pull/8404)
- Added bits conversions to the `ByteSize` class
[#&#8203;8415](https://togithub.com/pydantic/pydantic/issues/8415) by
[@&#8203;luca-matei](https://togithub.com/luca-matei) in
[#&#8203;8507](https://togithub.com/pydantic/pydantic/pull/8507)
- Enable json schema creation with type `ByteSize` by
[@&#8203;geospackle](https://togithub.com/geospackle) in
[#&#8203;8537](https://togithub.com/pydantic/pydantic/pull/8537)
- Add `eval_type_backport` to handle union operator and builtin generic
subscripting in older Pythons by
[@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;8209](https://togithub.com/pydantic/pydantic/pull/8209)
- Add support for `dataclass` fields `init` by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8552](https://togithub.com/pydantic/pydantic/pull/8552)
- Implement pickling for `ValidationError` by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/pydantic-core#1119](https://togithub.com/pydantic/pydantic-core/pull/1119)
- Add unified tuple validator that can handle "variadic" tuples via
PEP-646 by [@&#8203;dmontagu](https://togithub.com/dmontagu) in
[pydantic/pydantic-core#865](https://togithub.com/pydantic/pydantic-core/pull/865)

##### Changes

- Drop Python3.7 support by
[@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;7188](https://togithub.com/pydantic/pydantic/pull/7188)
- Drop Python 3.7, and PyPy 3.7 and 3.8 by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/pydantic-core#1129](https://togithub.com/pydantic/pydantic-core/pull/1129)
- Use positional-only `self` in `BaseModel` constructor, so no field
name can ever conflict with it by
[@&#8203;ariebovenberg](https://togithub.com/ariebovenberg) in
[#&#8203;8072](https://togithub.com/pydantic/pydantic/pull/8072)
- Make `@validate_call` return a function instead of a custom descriptor
- fixes binding issue with inheritance and adds `self/cls` argument to
validation errors by
[@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;8268](https://togithub.com/pydantic/pydantic/pull/8268)
- Exclude `BaseModel` docstring from JSON schema description by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8352](https://togithub.com/pydantic/pydantic/pull/8352)
- Introducing `classproperty` decorator for `model_computed_fields` by
[@&#8203;Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) in
[#&#8203;8437](https://togithub.com/pydantic/pydantic/pull/8437)
- Explicitly raise an error if field names clashes with types by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;8243](https://togithub.com/pydantic/pydantic/pull/8243)
- Use stricter serializer for unions of simple types by
[@&#8203;alexdrydew](https://togithub.com/alexdrydew)
[pydantic/pydantic-core#1132](https://togithub.com/pydantic/pydantic-core/pull/1132)

##### Performance

- Add Codspeed profiling Actions workflow by
[@&#8203;lambertsbennett](https://togithub.com/lambertsbennett) in
[#&#8203;8054](https://togithub.com/pydantic/pydantic/pull/8054)
- Improve `int` extraction by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[pydantic/pydantic-core#1155](https://togithub.com/pydantic/pydantic-core/pull/1155)
- Improve performance of recursion guard by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[pydantic/pydantic-core#1156](https://togithub.com/pydantic/pydantic-core/pull/1156)
- `dataclass` serialization speedups by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[pydantic/pydantic-core#1162](https://togithub.com/pydantic/pydantic-core/pull/1162)
- Avoid `HashMap` creation when looking up small JSON objects in
`LazyIndexMaps` by
[@&#8203;samuelcolvin](https://togithub.com/samuelcolvin) in
[pydantic/jiter#55](https://togithub.com/pydantic/jiter/pull/55)
- use hashbrown to speedup python string caching by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/jiter#51](https://togithub.com/pydantic/jiter/pull/51)
- Replace `Peak` with more efficient `Peek` by
[@&#8203;davidhewitt](https://togithub.com/davidhewitt) in
[pydantic/jiter#48](https://togithub.com/pydantic/jiter/pull/48)

##### Fixes

- Move `getattr` warning in deprecated `BaseConfig` by
[@&#8203;tlambert03](https://togithub.com/tlambert03) in
[#&#8203;7183](https://togithub.com/pydantic/pydantic/pull/7183)
- Only hash `model_fields`, not whole `__dict__` by
[@&#8203;alexmojaki](https://togithub.com/alexmojaki) in
[#&#8203;7786](https://togithub.com/pydantic/pydantic/pull/7786)
- Fix mishandling of unions while freezing types in the `mypy` plugin by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;7411](https://togithub.com/pydantic/pydantic/pull/7411)
- Fix `mypy` error on untyped `ClassVar` by
[@&#8203;vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx) in
[#&#8203;8138](https://togithub.com/pydantic/pydantic/pull/8138)
- Only compare pydantic fields in `BaseModel.__eq__` instead of whole
`__dict__` by
[@&#8203;QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia)
in [#&#8203;7825](https://togithub.com/pydantic/pydantic/pull/7825)
- Update `strict` docstring in `model_validate` method. by
[@&#8203;LukeTonin](https://togithub.com/LukeTonin) in
[#&#8203;8223](https://togithub.com/pydantic/pydantic/pull/8223)
- Fix overload position of `computed_field` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;8227](https://togithub.com/pydantic/pydantic/pull/8227)
- Fix custom type type casting used in multiple attributes by
[@&#8203;ianhfc](https://togithub.com/ianhfc) in
[#&#8203;8066](https://togithub.com/pydantic/pydantic/pull/8066)
- Fix issue not allowing `validate_call` decorator to be dynamically
assigned to a class method by
[@&#8203;jusexton](https://togithub.com/jusexton) in
[#&#8203;8249](https://togithub.com/pydantic/pydantic/pull/8249)
- Fix issue `unittest.mock` deprecation warnings by
[@&#8203;ibleedicare](https://togithub.com/ibleedicare) in
[#&#8203;8262](https://togithub.com/pydantic/pydantic/pull/8262)
- Added tests for the case `JsonValue` contains subclassed primitive
values by [@&#8203;jusexton](https://togithub.com/jusexton) in
[#&#8203;8286](https://togithub.com/pydantic/pydantic/pull/8286)
- Fix `mypy` error on free before validator (classmethod) by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8285](https://togithub.com/pydantic/pydantic/pull/8285)
- Fix `to_snake` conversion by
[@&#8203;jevins09](https://togithub.com/jevins09) in
[#&#8203;8316](https://togithub.com/pydantic/pydantic/pull/8316)
- Fix type annotation of `ModelMetaclass.__prepare__` by
[@&#8203;slanzmich](https://togithub.com/slanzmich) in
[#&#8203;8305](https://togithub.com/pydantic/pydantic/pull/8305)
- Disallow `config` specification when initializing a `TypeAdapter` when
the annotated type has config already by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8365](https://togithub.com/pydantic/pydantic/pull/8365)
- Fix a naming issue with JSON schema for generics parametrized by
recursive type aliases by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8389](https://togithub.com/pydantic/pydantic/pull/8389)
- Fix type annotation in pydantic people script by
[@&#8203;shenxiangzhuang](https://togithub.com/shenxiangzhuang) in
[#&#8203;8402](https://togithub.com/pydantic/pydantic/pull/8402)
- Add support for field `alias` in `dataclass` signature by
[@&#8203;NeevCohen](https://togithub.com/NeevCohen) in
[#&#8203;8387](https://togithub.com/pydantic/pydantic/pull/8387)
- Fix bug with schema generation with `Field(...)` in a forward ref by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8494](https://togithub.com/pydantic/pydantic/pull/8494)
- Fix ordering of keys in `__dict__` with `model_construct` call by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8500](https://togithub.com/pydantic/pydantic/pull/8500)
- Fix module `path_type` creation when globals does not contain
`__name__` by [@&#8203;hramezani](https://togithub.com/hramezani) in
[#&#8203;8470](https://togithub.com/pydantic/pydantic/pull/8470)
- Fix for namespace issue with dataclasses with `from __future__ import
annotations` by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8513](https://togithub.com/pydantic/pydantic/pull/8513)
- Fix: make function validator types positional-only by
[@&#8203;pmmmwh](https://togithub.com/pmmmwh) in
[#&#8203;8479](https://togithub.com/pydantic/pydantic/pull/8479)
- Fix usage of `@deprecated` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;8294](https://togithub.com/pydantic/pydantic/pull/8294)
- Add more support for private attributes in `model_construct` call by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8525](https://togithub.com/pydantic/pydantic/pull/8525)
- Use a stack for the types namespace by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8378](https://togithub.com/pydantic/pydantic/pull/8378)
- Fix schema-building bug with `TypeAliasType` for types with refs by
[@&#8203;dmontagu](https://togithub.com/dmontagu) in
[#&#8203;8526](https://togithub.com/pydantic/pydantic/pull/8526)
- Support `pydantic.Field(repr=False)` in dataclasses by
[@&#8203;tigeryy2](https://togithub.com/tigeryy2) in
[#&#8203;8511](https://togithub.com/pydantic/pydantic/pull/8511)
- Override `dataclass_transform` behavior for `RootModel` by
[@&#8203;Viicos](https://togithub.com/Viicos) in
[#&#8203;8163](https://togithub.com/pydantic/pydantic/pull/8163)
- Refactor signature generation for simplicity by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[#&#8203;8572](https://togithub.com/pydantic/pydantic/pull/8572)
- Fix ordering bug of PlainValidator annotation by
[@&#8203;Anvil](https://togithub.com/Anvil) in
[#&#8203;8567](https://togithub.com/pydantic/pydantic/pull/8567)
- Fix `exclude_none` for json serialization of `computed_field`s by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1098](https://togithub.com/pydantic/pydantic-core/pull/1098)
- Support yyyy-MM-DD string for datetimes by
[@&#8203;sydney-runkle](https://togithub.com/sydney-runkle) in
[pydantic/pydantic-core#1124](https://togithub.com/pydantic/pydantic-core/pull/1124)
- Tweak ordering of definitions in generated schemas by
[@&#8203;StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) in
[#&#8203;8583](https://togithub.com/pydantic/pydantic/pull/8583)

##### New Contributors

##### `pydantic`

- [@&#8203;ekeew](https://togithub.com/ekeew) made their first
contribution in
[#&#8203;6874](https://togithub.com/pydantic/pydantic/pull/6874)
- [@&#8203;lambertsbennett](https://togithub.com/lambertsbennett) made
their first contribution in
[#&#8203;8054](https://togithub.com/pydantic/pydantic/pull/8054)
- [@&#8203;vincent-hachin-wmx](https://togithub.com/vincent-hachin-wmx)
made their first contribution in
[#&#8203;8138](https://togithub.com/pydantic/pydantic/pull/8138)
-
[@&#8203;QuentinSoubeyranAqemia](https://togithub.com/QuentinSoubeyranAqemia)
made their first contribution in
[#&#8203;7825](https://togithub.com/pydantic/pydantic/pull/7825)
- [@&#8203;ariebovenberg](https://togithub.com/ariebovenberg) made their
first contribution in
[#&#8203;8072](https://togithub.com/pydantic/pydantic/pull/8072)
- [@&#8203;LukeTonin](https://togithub.com/LukeTonin) made their first
contribution in
[#&#8203;8223](https://togithub.com/pydantic/pydantic/pull/8223)
- [@&#8203;denisart](https://togithub.com/denisart) made their first
contribution in
[#&#8203;8231](https://togithub.com/pydantic/pydantic/pull/8231)
- [@&#8203;ianhfc](https://togithub.com/ianhfc) made their first
contribution in
[#&#8203;8066](https://togithub.com/pydantic/pydantic/pull/8066)
- [@&#8203;eonu](https://togithub.com/eonu) made their first
contribution in
[#&#8203;8255](https://togithub.com/pydantic/pydantic/pull/8255)
- [@&#8203;amandahla](https://togithub.com/amandahla) made their first
contribution in
[#&#8203;8263](https://togithub.com/pydantic/pydantic/pull/8263)
- [@&#8203;ibleedicare](https://togithub.com/ibleedicare) made their
first contribution in
[#&#8203;8262](https://togithub.com/pydantic/pydantic/pull/8262)
- [@&#8203;jevins09](https://togithub.com/jevins09) made their first
contribution in
[#&#8203;8316](https://togithub.com/pydantic/pydantic/pull/8316)
- [@&#8203;cuu508](https://togithub.com/cuu508) made their first
contribution in
[#&#8203;8322](https://togithub.com/pydantic/pydantic/pull/8322)
- [@&#8203;slanzmich](https://togithub.com/slanzmich) made their first
contribution in
[#&#8203;8305](https://togithub.com/pydantic/pydantic/pull/8305)
- [@&#8203;jensenbox](https://togithub.com/jensenbox) made their first
contribution in
[#&#8203;8331](https://togithub.com/pydantic/pydantic/pull/8331)
- [@&#8203;szepeviktor](https://togithub.com/szepeviktor) made their
first contribution in
[#&#8203;8356](https://togithub.com/pydantic/pydantic/pull/8356)
- [@&#8203;Elkiwa](https://togithub.com/Elkiwa) made their first
contribution in
[#&#8203;8341](https://togithub.com/pydantic/pydantic/pull/8341)
- [@&#8203;parhamfh](https://togithub.com/parhamfh) made their first
contribution in
[#&#8203;8395](https://togithub.com/pydantic/pydantic/pull/8395)
- [@&#8203;shenxiangzhuang](https://togithub.com/shenxiangzhuang) made
their first contribution in
[#&#8203;8402](https://togithub.com/pydantic/pydantic/pull/8402)
- [@&#8203;NeevCohen](https://togithub.com/NeevCohen) made their first
contribution in
[#&#8203;8387](https://togithub.com/pydantic/pydantic/pull/8387)
- [@&#8203;zby](https://togithub.com/zby) made their first contribution
in [#&#8203;8497](https://togithub.com/pydantic/pydantic/pull/8497)
- [@&#8203;patelnets](https://togithub.com/patelnets) made their first
contribution in
[#&#8203;8491](https://togithub.com/pydantic/pydantic/pull/8491)
- [@&#8203;edwardwli](https://togithub.com/edwardwli) made their first
contribution in
[#&#8203;8503](https://togithub.com/pydantic/pydantic/pull/8503)
- [@&#8203;luca-matei](https://togithub.com/luca-matei) made their first
contribution in
[#&#8203;8507](https://togithub.com/pydantic/pydantic/pull/8507)
- [@&#8203;Jocelyn-Gas](https://togithub.com/Jocelyn-Gas) made their
first contribution in
[#&#8203;8437](https://togithub.com/pydantic/pydantic/pull/8437)
- [@&#8203;bL34cHig0](https://togithub.com/bL34cHig0) made their first
contribution in
[#&#8203;8501](https://togithub.com/pydantic/pydantic/pull/8501)
- [@&#8203;tigeryy2](https://togithub.com/tigeryy2) made their first
contribution in
[#&#8203;8511](https://togithub.com/pydantic/pydantic/pull/8511)
- [@&#8203;geospackle](https://togithub.com/geospackle) made their first
contribution in
[#&#8203;8537](https://togithub.com/pydantic/pydantic/pull/8537)
- [@&#8203;Anvil](https://togithub.com/Anvil) made their first
contribution in
[#&#8203;8567](https://togithub.com/pydantic/pydantic/pull/8567)
- [@&#8203;hungtsetse](https://togithub.com/hungtsetse) made their first
contribution in
[#&#8203;8546](https://togithub.com/pydantic/pydantic/pull/8546)
- [@&#8203;StrawHatDrag0n](https://togithub.com/StrawHatDrag0n) made
their first contribution in
[#&#8203;8583](https://togithub.com/pydantic/pydantic/pull/8583)

##### `pydantic-core`

- [@&#8203;mariuswinger](https://togithub.com/mariuswinger) made their
first contribution in
[pydantic/pydantic-core#1087](https://togithub.com/pydantic/pydantic-core/pull/1087)
- [@&#8203;adamchainz](https://togithub.com/adamchainz) made their first
contribution in
[pydantic/pydantic-core#1090](https://togithub.com/pydantic/pydantic-core/pull/1090)
- [@&#8203;akx](https://togithub.com/akx) made their first contribution
in
[pydantic/pydantic-core#1123](https://togithub.com/pydantic/pydantic-core/pull/1123)

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 17:25:55 +00:00
Julien Valentin 12dd477312
fix(legacy): avoid crash when lot of streams in configuration (#2915)
### Description

lot of streams forbid
http://libretime.example.org/preference/stream-setting to open (max=4)
this patch prevent the crash by displaying an error message and truncate
streamcount to 4.

Co-authored-by: Kyle Robbertze <paddatrapper@users.noreply.github.com>
2024-01-30 17:24:28 +00:00
renovate[bot] f6d7be9b1c
chore(deps): update lycheeverse/lychee-action action to v1.9.3 (#2920)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[lycheeverse/lychee-action](https://togithub.com/lycheeverse/lychee-action)
| action | patch | `v1.9.1` -> `v1.9.3` |

---

### Release Notes

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

###
[`v1.9.3`](https://togithub.com/lycheeverse/lychee-action/releases/tag/v1.9.3):
Version 1.9.3

[Compare
Source](https://togithub.com/lycheeverse/lychee-action/compare/v1.9.2...v1.9.3)

#### What's Changed

- Bugfix: Pass custom `token` as input argument to action by
[@&#8203;mre](https://togithub.com/mre) in
[https://github.com/lycheeverse/lychee-action/pull/222](https://togithub.com/lycheeverse/lychee-action/pull/222)
Previously, the name of the token was incorrect, leading to no token
being used if the user specified `with: [token: ...]`.
Thanks to [@&#8203;tobon4](https://togithub.com/tobon4) for pointing
this out.

**Full Changelog**:
https://github.com/lycheeverse/lychee-action/compare/v1...v1.9.3

###
[`v1.9.2`](https://togithub.com/lycheeverse/lychee-action/releases/tag/v1.9.2):
Version 1.9.2

[Compare
Source](https://togithub.com/lycheeverse/lychee-action/compare/v1.9.1...v1.9.2)

#### What's Changed

- Bump actions/cache from 3 to 4 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/lycheeverse/lychee-action/pull/221](https://togithub.com/lycheeverse/lychee-action/pull/221)
- Bump peter-evans/create-issue-from-file from 4 to 5 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/lycheeverse/lychee-action/pull/223](https://togithub.com/lycheeverse/lychee-action/pull/223)
- Bump to lychee 0.14.2 in
eeb9cb63fe

**Full Changelog**:
https://github.com/lycheeverse/lychee-action/compare/v1...v1.9.2

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 17:22:44 +00:00
renovate[bot] 0c89350c2f
chore(deps): update peter-evans/dockerhub-description action to v4 (#2918)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[peter-evans/dockerhub-description](https://togithub.com/peter-evans/dockerhub-description)
| action | major | `v3` -> `v4` |

---

### Release Notes

<details>
<summary>peter-evans/dockerhub-description
(peter-evans/dockerhub-description)</summary>

###
[`v4`](https://togithub.com/peter-evans/dockerhub-description/compare/v3...v4)

[Compare
Source](https://togithub.com/peter-evans/dockerhub-description/compare/v3...v4)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-30 17:22:28 +00:00
Kyle Robbertze 3d13f41bbd
ci: pin docker/metadata-action to working version (#2924)
Pin docker/metadata-action to 5.4 until
https://github.com/docker/metadata-action/issues/381 is fixed
2024-01-30 17:15:15 +00:00
renovate[bot] dab6c486b8
chore(deps): update dependency uvicorn to >=0.17.6,<0.28.0 (#2913)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [uvicorn](https://togithub.com/encode/uvicorn)
([changelog](https://togithub.com/encode/uvicorn/blob/master/CHANGELOG.md))
| `>=0.17.6,<0.27.0` -> `>=0.17.6,<0.28.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/uvicorn/0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/uvicorn/0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/uvicorn/0.26.0/0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/uvicorn/0.26.0/0.27.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v0.27.0`](https://togithub.com/encode/uvicorn/blob/HEAD/CHANGELOG.md#0270---2024-01-20)

[Compare
Source](https://togithub.com/encode/uvicorn/compare/0.26.0...0.27.0)

##### Added

- Raise `ClientDisconnect(IOError)` on `send()` when client disconnected
([#&#8203;2218](https://togithub.com/encode/uvicorn/issues/2218))
19/01/24
- Bump ASGI WebSocket spec version to 2.4
([#&#8203;2221](https://togithub.com/encode/uvicorn/issues/2221))
20/01/24

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-23 21:57:06 +01:00
Thomas Göttgens b14469722e
docs(playout): close warning box properly (#2911) 2024-01-20 17:06:35 +00:00
Kyle Robbertze 54ec07d2bd
docs: fix broken link to install guide (#2908)
### Description

Follow up to #2904
2024-01-19 17:12:30 +00:00
renovate[bot] 0b5d63c547
chore(deps): update actions/cache action to v4 (#2906)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

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

---

### Release Notes

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

### [`v4`](https://togithub.com/actions/cache/compare/v3...v4)

[Compare Source](https://togithub.com/actions/cache/compare/v3...v4)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR 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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-19 17:05:01 +00:00
Thomas Göttgens b6c3ece7d9
docs(playout): add a tutorial to enable AAC in liquidsoap (#2904)
Documentation update regarding #2184

---------

Co-authored-by: Thomas Göttgens <tgoettgens@mail.com>
2024-01-19 16:58:22 +00:00
Weblate (bot) c42a1c6660
chore(legacy): translations update from Hosted Weblate (#2907)
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: Domenik Töfflinger <domenikt96@yahoo.de>
2024-01-19 16:56:16 +00:00
renovate[bot] 2a91320bb5
chore(deps): update dependency uvicorn to >=0.17.6,<0.27.0 (#2901)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [uvicorn](https://togithub.com/encode/uvicorn)
([changelog](https://togithub.com/encode/uvicorn/blob/master/CHANGELOG.md))
| `>=0.17.6,<0.26.0` -> `>=0.17.6,<0.27.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/uvicorn/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/uvicorn/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/uvicorn/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/uvicorn/0.25.0/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

###
[`v0.26.0`](https://togithub.com/encode/uvicorn/blob/HEAD/CHANGELOG.md#0260---2024-01-16)

[Compare
Source](https://togithub.com/encode/uvicorn/compare/0.25.0...0.26.0)

##### Changed

- Update `--root-path` to include the root path prefix in the full ASGI
`path` as per the ASGI spec
([#&#8203;2213](https://togithub.com/encode/uvicorn/issues/2213))
16/01/24
- Use `__future__.annotations` on some internal modules
([#&#8203;2199](https://togithub.com/encode/uvicorn/issues/2199))
16/01/24

</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:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMzUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEzNS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-17 19:19:27 +01:00
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