Skip to content

Commit

Permalink
chore(main): release 4.0.0 (#2834)
Browse files Browse the repository at this point in the history
🤖 I have created a release *beep* *boop*
---


## [4.0.0](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](#2842))
([083ee3f](083ee3f)),
closes [#2542](#2542)
* disable uvicorn worker lifespan
([#2845](#2845))
([8743c84](8743c84))
* **installer:** add the `--storage-path` flag
([#2865](#2865))
([5b23852](5b23852))
* **installer:** change default listen port to 8080
([#2852](#2852))
([f72b7f9](f72b7f9))
* **installer:** remove the `--update-nginx` flag
([#2851](#2851))
([35d7eac](35d7eac))
* **playout:** configure device for alsa and pulseaudio system outputs
([#2654](#2654))
([06af18b](06af18b))
* rewrite cloud-init config
([#2853](#2853))
([8406d52](8406d52))
* run python in optimized mode
([#2874](#2874))
([3f7fc99](3f7fc99))
* the `general.secret_key` configuration field is now required
([#2841](#2841))
([0d2d1a2](0d2d1a2)),
closes [#2426](#2426)
* use nginx to serve media files
([#2860](#2860))
([4603c17](4603c17))


### Bug Fixes

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

---
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>
  • Loading branch information
libretime-bot and jooola committed Jan 7, 2024
1 parent b2c1ceb commit 4795170
Show file tree
Hide file tree
Showing 10 changed files with 116 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .github/release-please-manifest.json
@@ -1 +1 @@
{".":"3.2.0"}
{".":"4.0.0"}
44 changes: 44 additions & 0 deletions CHANGELOG.md
@@ -1,5 +1,49 @@
# Changelog

## [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](https://github.com/libretime/libretime/commit/083ee3f1dd74441e288b4d63178ae9cea12ba286)), closes [#2542](https://github.com/libretime/libretime/issues/2542)
* disable uvicorn worker lifespan ([#2845](https://github.com/libretime/libretime/issues/2845)) ([8743c84](https://github.com/libretime/libretime/commit/8743c84d0f007a5430e9059c197a261e613cc642))
* **installer:** add the `--storage-path` flag ([#2865](https://github.com/libretime/libretime/issues/2865)) ([5b23852](https://github.com/libretime/libretime/commit/5b23852f8d144f0c7cdeb62831f7b1a27872b40e))
* **installer:** change default listen port to 8080 ([#2852](https://github.com/libretime/libretime/issues/2852)) ([f72b7f9](https://github.com/libretime/libretime/commit/f72b7f9c9727800a9d77d64c540c12f272bb0ae3))
* **installer:** remove the `--update-nginx` flag ([#2851](https://github.com/libretime/libretime/issues/2851)) ([35d7eac](https://github.com/libretime/libretime/commit/35d7eace13c2b9667fdb41fec0788118e0c5e63f))
* **playout:** configure device for alsa and pulseaudio system outputs ([#2654](https://github.com/libretime/libretime/issues/2654)) ([06af18b](https://github.com/libretime/libretime/commit/06af18b84e7dfaad95e3b55dda22ec1ddad27050))
* rewrite cloud-init config ([#2853](https://github.com/libretime/libretime/issues/2853)) ([8406d52](https://github.com/libretime/libretime/commit/8406d520d7a7bea4060be8a00e360bcf413cb2d5))
* run python in optimized mode ([#2874](https://github.com/libretime/libretime/issues/2874)) ([3f7fc99](https://github.com/libretime/libretime/commit/3f7fc99b6b343fbc8df319d8130ba8247aea96d8))
* the `general.secret_key` configuration field is now required ([#2841](https://github.com/libretime/libretime/issues/2841)) ([0d2d1a2](https://github.com/libretime/libretime/commit/0d2d1a26731a2b41ce5e574ed6de9950eaae4153)), closes [#2426](https://github.com/libretime/libretime/issues/2426)
* use nginx to serve media files ([#2860](https://github.com/libretime/libretime/issues/2860)) ([4603c17](https://github.com/libretime/libretime/commit/4603c1759f29b8a1adb3e83d610ca00e778d76bd))


### Bug Fixes

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

## [3.2.0](https://github.com/libretime/libretime/compare/3.1.0...3.2.0) (2023-10-16)

- [Release note](https://libretime.org/docs/releases/3.2.0/)
Expand Down
2 changes: 1 addition & 1 deletion analyzer/setup.py
@@ -1,6 +1,6 @@
from setuptools import find_packages, setup

version = "3.2.0" # x-release-please-version
version = "4.0.0" # x-release-please-version

setup(
name="libretime-analyzer",
Expand Down
2 changes: 1 addition & 1 deletion api-client/setup.py
@@ -1,6 +1,6 @@
from setuptools import find_packages, setup

version = "3.2.0" # x-release-please-version
version = "4.0.0" # x-release-please-version

setup(
name="libretime-api-client",
Expand Down
2 changes: 1 addition & 1 deletion api/setup.py
@@ -1,6 +1,6 @@
from setuptools import find_packages, setup

version = "3.2.0" # x-release-please-version
version = "4.0.0" # x-release-please-version

setup(
name="libretime-api",
Expand Down
65 changes: 65 additions & 0 deletions docs/releases/4.0.0.md
@@ -0,0 +1,65 @@
---
title: LibreTime 4.0.0
---

import ReleaseHead from './\_release-head.md';

<ReleaseHead date='2024-01-07' version='4.0.0'/>

## :sparkling_heart: Contributors

The LibreTime project wants to thank the following contributors for authoring PRs to this release:

- @jooola
- @maxtimbo
- @mp3butcher

## :rocket: Features

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

## :bug: Bug fixes

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

## :arrow_up: Upgrading

### Installer changes

The installer received a few breaking changes:

- The default listen port for the installer is now `8080`. We recommend that you put a reverse proxy in front of LibreTime with your customizations.
- The `--update-nginx` flag was removed from the installer. The nginx configuration deployed by the installer will now always be overwritten. Again, we recommend that you put a reverse proxy in front of LibreTime with your customizations.
- The media file serving is now handled by Nginx instead of the API service. The configuration `storage.path` field is now used in the Nginx configuration, so make sure that the Nginx configuration file has the right storage path. To update the Nginx configuration file with the installer, you can use the `--storage-path` option to specify your custom storage path.

### The `general.secret_key` configuration field is required

The `general.secret_key` field in the [configuration file](../admin-manual/configuration.md#general) is now **required**, to prevent reusing the `general.api_key` for cryptographic usage.

### The `stream.outputs.system[].kind` configuration field now defaults to `pulseaudio`

The `stream.outputs.system[].kind` field in the [configuration file](../admin-manual/configuration.md#general) default value changed from `alsa` to `pulseaudio`. Make sure to update your configuration file if you rely on the default system output.
8 changes: 0 additions & 8 deletions docs/releases/unreleased.md
Expand Up @@ -26,14 +26,6 @@ Please follow this **before the upgrade procedure**.

## :arrow_up: Upgrading

### The `general.secret_key` configuration field is required

The `general.secret_key` field in the [configuration file](../admin-manual/configuration.md#general) is now **required**, to prevent reusing the `general.api_key` for cryptographic usage.

### The `stream.outputs.system[].kind` configuration field now defaults to `pulseaudio`

The `stream.outputs.system[].kind` field in the [configuration file](../admin-manual/configuration.md#general) default value changed from `alsa` to `pulseaudio`. Make sure to update your configuration file if you rely on the default system output.

## :warning: Known issues

The following issues may need a workaround for the time being. Please search the [issues](https://github.com/libretime/libretime/issues) before reporting problems not listed below.
Expand Down
2 changes: 1 addition & 1 deletion playout/setup.py
@@ -1,6 +1,6 @@
from setuptools import find_packages, setup

version = "3.2.0" # x-release-please-version
version = "4.0.0" # x-release-please-version

setup(
name="libretime-playout",
Expand Down
2 changes: 1 addition & 1 deletion shared/setup.py
@@ -1,6 +1,6 @@
from setuptools import find_packages, setup

version = "3.2.0" # x-release-please-version
version = "4.0.0" # x-release-please-version

setup(
name="libretime-shared",
Expand Down
2 changes: 1 addition & 1 deletion worker/setup.py
@@ -1,6 +1,6 @@
from setuptools import find_packages, setup

version = "3.2.0" # x-release-please-version
version = "4.0.0" # x-release-please-version

setup(
name="libretime-worker",
Expand Down

0 comments on commit 4795170

Please sign in to comment.