Skip to main content
Version: Next

LibreTime 4.0.0

This version was released the 2024-01-07.

info

Please report new issues and/or feature requests in the issue tracker.

For general discussion or if you need help, you can join the discourse forum or chat on #libretime:matrix.org.

The full tarball for the 4.0.0 release of LibreTime is available here.

💖 Contributors

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

  • @jooola
  • @maxtimbo
  • @mp3butcher

🚀 Features

🐛 Bug fixes

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

⬆️ 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 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 default value changed from alsa to pulseaudio. Make sure to update your configuration file if you rely on the default system output.