🤖 I have created a release *beep* *boop* --- ## [4.3.0](https://github.com/libretime/libretime/compare/4.2.0...4.3.0) (2025-03-12) ### Features * add flac support to Web player ([#3128](https://github.com/libretime/libretime/issues/3128)) ([203c927](203c927554)) * add Norwegian Bokmål locale ([#3073](https://github.com/libretime/libretime/issues/3073)) ([e614fbc](e614fbcf6c)) * **analyzer:** parse comment fields from mp3 files ([#3082](https://github.com/libretime/libretime/issues/3082)) ([02a779b](02a779b413)) * **api:** added filters on genre & md5 for files api ([#3127](https://github.com/libretime/libretime/issues/3127)) ([b1bdd6d](b1bdd6d9be)) * **api:** enable writes to schedule table ([#3109](https://github.com/libretime/libretime/issues/3109)) ([2ac7e8a](2ac7e8a506)) * **legacy:** implement subset sum solution to show scheduling ([#3019](https://github.com/libretime/libretime/issues/3019)) ([5b5c68c](5b5c68c628)), closes [#3018](https://github.com/libretime/libretime/issues/3018) * **legacy:** order by filename when lptime is null ([#3069](https://github.com/libretime/libretime/issues/3069)) ([8c26505](8c26505622)) * **legacy:** show filename and size on edit page and add filename datatable column ([#3083](https://github.com/libretime/libretime/issues/3083)) ([16deaf0](16deaf08c6)), closes [#3053](https://github.com/libretime/libretime/issues/3053) * **legacy:** trused header sso auth ([#3095](https://github.com/libretime/libretime/issues/3095)) ([2985d85](2985d8554a)) * **legacy:** update deprecated PHP code ([#2789](https://github.com/libretime/libretime/issues/2789)) ([3a8dcbc](3a8dcbce60)) * **playout:** add Liquidsoap 2.0 support ([#2786](https://github.com/libretime/libretime/issues/2786)) ([f9c0bd5](f9c0bd5a05)) * use custom intro/outro playlists per show ([#2941](https://github.com/libretime/libretime/issues/2941)) ([299be3c](299be3c142)) ### Bug Fixes * add missing file for nb_NO locale ([#3075](https://github.com/libretime/libretime/issues/3075)) ([a3865aa](a3865aa6ee)) * **analyzer:** make ffmpeg filters less aggressive ([#3086](https://github.com/libretime/libretime/issues/3086)) ([32cad0f](32cad0faa4)), closes [#2629](https://github.com/libretime/libretime/issues/2629) * docker warnings "keywords casing do not match" ([#3048](https://github.com/libretime/libretime/issues/3048)) ([e095cb2](e095cb2a5f)) * intro/outro playlist unset was impossible ([#3101](https://github.com/libretime/libretime/issues/3101)) ([7992a9b](7992a9be2d)) * **legacy:** additional specifics added to CSVexport.js for RFC 4180 ([#3131](https://github.com/libretime/libretime/issues/3131)) ([644d2b9](644d2b9ce5)), closes [#2477](https://github.com/libretime/libretime/issues/2477) * **legacy:** fix filename criteria searching ([#3068](https://github.com/libretime/libretime/issues/3068)) ([c883d0f](c883d0f2d5)) * **legacy:** migrations from airtime 2.5.1 ([#3123](https://github.com/libretime/libretime/issues/3123)) ([82d5af2](82d5af2dfb)) * **legacy:** support Postgresql 12 syntax ([#3103](https://github.com/libretime/libretime/issues/3103)) ([0b221f4](0b221f4fff)), closes [#3102](https://github.com/libretime/libretime/issues/3102) * **playout:** improve the way hashlib is called in libretime_playout/player ([#3135](https://github.com/libretime/libretime/issues/3135)) ([5b4c720](5b4c720e10)), closes [#3134](https://github.com/libretime/libretime/issues/3134) * regenerate API schema ([38a0bf9](38a0bf98b2)) * regenerate API schema ([ce257a1](ce257a1f35)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
LibreTime API
This API provides access to LibreTime's database via a Django application.
Deploying
Deploying in a production environment is done in the install
script which installs LibreTime. This is how the API is installed in the Vagrant
development images too. This method does not automatically reflect changes to
this API. After any changes, the libretime-api systemd service needs
restarting:
sudo systemctl restart libretime-api
Connections to the API are proxied through the Apache web server by default.
Endpoint exploration and documentation is available from
http://example.com/api/v2/schema/swagger-ui/, where example.com is the URL
for the LibreTime instance.
Development
For development, you can install all required dependencies and loading the environment using the following command:
make install
source .venv/bin/activate
You should be able to lint or format the code or run api commands:
make format
make lint
libretime-api help
In order to work with the database and message queue, you need to start the docker based development stack present at the project root:
pushd ..
docker-compose up -d
popd
You can now run the api tests:
make test
Inside Vagrant
You can develop the api using a live reloading version within Vagrant:
vagrant up bullseye
vagrant ssh bullseye
cd /vagrant/api
sudo pip3 install -e .
sudo systemctl stop libretime-api
sudo -u libretime LIBRETIME_DEBUG=True libretime-api runserver 0.0.0.0:8081
3rd Party Licences
libretime_api/tests/resources/song.mp3: Steps - Tears On The Dancefloor (Album
Teaser) by mceyedol. Downloaded from
https://soundcloud.com/mceyedol/steps-tears-on-the-dancefloor-album-teaser
released under a Creative Commons Licence
(cc-by-sa-nc-sa)