Commit Graph

746 Commits

Author SHA1 Message Date
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 <3.42.1
(main) ([#2765](https://github.com/libretime/libretime/issues/2765))
([8ae4dce](8ae4dce9e7))
* **deps:** update dependency friendsofphp/php-cs-fixer to <3.43.2
(main) ([#2848](https://github.com/libretime/libretime/issues/2848))
([62e5f4d](62e5f4dfbb))
* **deps:** update dependency friendsofphp/php-cs-fixer to <3.45.1
(main) ([#2855](https://github.com/libretime/libretime/issues/2855))
([6f84328](6f84328380))
* **deps:** update dependency friendsofphp/php-cs-fixer to <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 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 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 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
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 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 d5dea88521
docs: fix release note title (#2829) 2023-12-22 21:32:20 +01:00
Jonas L e7a678e91f
build: replace custom release script with release-please (#2817)
* build: replace custom release script with release-please

* include package-name
2023-12-22 19:19:12 +01:00
Jonas L 26737abad2
chore: release 3.2.0 (#2754) 2023-10-16 21:26:59 +02:00
Jonas L b2e512cbcd
feat: add mobile devices stream config field (#2744) 2023-10-14 08:13:04 +01:00
Jonas L 132d64197e
docs: fix broken link (#2616) 2023-07-07 08:30:21 +01:00
jo c2c0be1fbc feat(api): add email configuration 2023-06-02 07:44:34 +01:00
Kyle Robbertze 2f32241351
docs: update chat links to point to matrix (#2571) 2023-05-30 11:49:37 +02:00
jo 08e2eec0a3 chore: release 3.1.0 2023-05-26 15:34:43 +02:00
jo a7ed0697a1 docs: add 3.1.x distribution releases support 2023-05-26 15:34:43 +02:00
Jonas L e207b6e388
docs: be consistent with example domain (#2568) 2023-05-26 14:00:34 +01:00
jo 17fb1c45df docs: install using a reverse proxy by default 2023-05-26 13:46:46 +01:00
jo f74062a622 docs: fix icecast certificates bundle command 2023-05-26 13:46:46 +01:00
jo d25e0dd171 docs: remove setup without reverse proxy 2023-05-26 13:46:46 +01:00
Jonas L d9663c0a4e
docs: split airtime migration into more steps (#2565) 2023-05-25 14:59:08 +01:00
Jonas L a67a8a880c
docs: improve airtime migration guide (#2564) 2023-05-25 14:46:20 +01:00
jo 9edfd710e6 docs: add note about unused packages 2023-05-12 13:44:31 +01:00
jo 7b2939a7a6 chore: force docs sync 2023-05-12 13:44:31 +01:00
jo d01edc4dce
Merge branch 'stable' 2023-05-01 10:16:56 +02:00
Jonas L 7f1492aac0
docs: fix broken link (#2532) 2023-04-28 12:07:45 +01:00
jo b2fc3a5ecf feat(playout): allow harbor ssl configuration 2023-04-24 14:58:34 +01:00
jo 8764feded9 docs: ensure example values are replaced 2023-04-24 14:58:34 +01:00
jo 2fd5b50229 docs: add certbot setup guide 2023-04-21 20:47:43 +01:00
jo a375e5b917 docs: improve install guides 2023-04-21 20:47:43 +01:00
jo ca449c1a3b docs: improve reverse proxy docs 2023-04-21 20:47:43 +01:00
Jonas L 5a8e8d298d
docs: docker config template install with envsubst (#2517) 2023-04-21 17:35:01 +01:00
jo 19bcc251e2 docs: split install guide per install method 2023-04-21 16:59:23 +01:00
jo ff03dad9a8 docs: rename setup to install 2023-04-21 16:59:23 +01:00
jo 8052622e69 docs: move configuration documentation 2023-04-21 16:59:23 +01:00
jo fed81f7272 docs: fix broken links 2023-04-12 16:50:04 +01:00
jo 5ca0788388 docs: move release docs in the release section 2023-04-12 16:50:04 +01:00
jo 755848482d feat: set icecast mount default charset to UTF-8
On first install, configure icecast to use utf-8 as default charset for it's mounts.

Fixes #2501
2023-04-12 11:42:51 +01:00
jo d4c272db49 chore: use a secure dev environment 2023-04-12 08:11:21 +01:00
jo 22b2d33c4d chore: adapt c4 to match our branches and releases requirements 2023-04-03 11:54:23 +01:00
jo 1d48e47721 chore: fix dot list numbers 2023-04-03 11:54:23 +01:00
jo 49d4fafa0c
Merge branch 'stable' 2023-04-03 12:31:50 +02:00
jo ade4d2736f docs: add some history notes 2023-04-03 11:10:01 +01:00
jo 5065415ff7 docs: extract dev workflows from contributing docs 2023-04-03 11:10:01 +01:00
jo a9b7513bc0 docs: split developer and contributor manual 2023-04-03 11:10:01 +01:00
jo 2c35544c08 docs: move contributing to docs/contribute 2023-04-03 11:10:01 +01:00
jo bc745617fb docs: fix database backup and restore commands
The commands should now work out of the box when copy pasted on most systems. The previous one required the users to read the docs and the man pages.
2023-03-22 09:14:56 +00:00
jo f722cec2eb docs: upgrade by migrating to a new server 2023-03-22 09:14:56 +00:00
Jonas L d800c5e280
feat: use secret_key config field instead of api_key (#2444)
Fixes #2426
2023-03-22 09:14:11 +00:00
Jonas L f318ab8a2b
docs: add instructions for the sentry setup (#2441) 2023-03-15 13:13:37 +00:00