chore: release 3.0.0-alpha.11 (#1620)
* chore: release 3.0.0-alpha.11 * import release note skeleton * add missing db config schema changes * wording * sort release note commit order and add latest commits / changes * chore: bump website version tag to 3.0.0-alpha.11 * add latest commits * add note about api static files removal * improve upgrade procedure after testing * document #1606 as a known issue Co-authored-by: Kyle Robbertze <kyle@paddatrapper.com>
This commit is contained in:
parent
e5385b0dac
commit
f0cd040bac
|
@ -0,0 +1,287 @@
|
|||
---
|
||||
title: LibreTime 3.0.0 alpha 11
|
||||
---
|
||||
|
||||
import ReleaseHead from './\_release-head.md';
|
||||
|
||||
<ReleaseHead date='TBD' version='3.0.0-alpha.11'/>
|
||||
|
||||
## :sparkling_heart: Contributors
|
||||
|
||||
The LibreTime project wants to thank the following contributors for authoring PRs to this release:
|
||||
|
||||
## :rocket: Features
|
||||
|
||||
- Use setuptools entrypoints ([#1409](https://github.com/libretime/libretime/issues/1409))
|
||||
- Support php7.4 ([#1354](https://github.com/libretime/libretime/issues/1354))
|
||||
- run API tests in CI ([#1421](https://github.com/libretime/libretime/issues/1421))
|
||||
- add support for Ubuntu Focal 20.04 ([#1168](https://github.com/libretime/libretime/issues/1168))
|
||||
- debian 11 support ([#1292](https://github.com/libretime/libretime/issues/1292))
|
||||
- create libretime_shared package ([#1349](https://github.com/libretime/libretime/issues/1349))
|
||||
- enhance libretime shared ([#1491](https://github.com/libretime/libretime/issues/1491))
|
||||
- **shared:** let user provide the log level ([#1493](https://github.com/libretime/libretime/issues/1493))
|
||||
- replace verbosity flag with log-level flag ([#1496](https://github.com/libretime/libretime/issues/1496))
|
||||
- **playout:** enhance playout logging ([#1495](https://github.com/libretime/libretime/issues/1495))
|
||||
- **api:** update env var settings loading
|
||||
- **api:** allow to run without log file for dev
|
||||
- **analyzer:** enhance analyzer cli and logging ([#1507](https://github.com/libretime/libretime/issues/1507))
|
||||
- **playout:** migrate notify cli to click ([#1519](https://github.com/libretime/libretime/issues/1519))
|
||||
- **shared:** allow loading from ini config file
|
||||
- **shared:** allow cli parametrized decorators ([#1527](https://github.com/libretime/libretime/issues/1527))
|
||||
- **shared:** add suffix to shared config models
|
||||
- **analyzer:** load config using shared helpers
|
||||
- **playout:** change playout working directory
|
||||
- **playout:** load config using shared helpers
|
||||
- **analyzer:** analyze replaygain using ffmpeg
|
||||
- **analyzer:** analyze cuepoint using ffmpeg
|
||||
- **playout:** change liquidsoap working dir ([#1547](https://github.com/libretime/libretime/issues/1547))
|
||||
- **legacy:** rename log filepath ([#1551](https://github.com/libretime/libretime/issues/1551))
|
||||
- **shared:** add url/dsn property to config classes ([#1553](https://github.com/libretime/libretime/issues/1553))
|
||||
- remove locale generation from installer ([#1560](https://github.com/libretime/libretime/issues/1560))
|
||||
- **legacy:** consolidate constants ([#1558](https://github.com/libretime/libretime/issues/1558))
|
||||
- **legacy:** add db config defaults and allow custom port ([#1559](https://github.com/libretime/libretime/issues/1559))
|
||||
- remove unused ubuntu ppa ([#1591](https://github.com/libretime/libretime/issues/1591))
|
||||
- **analyzer:** do verify ssl certs on requests
|
||||
- **analyzer:** rework analyze_metadata step
|
||||
- **api:** improve uwsgi systemd integration ([#1614](https://github.com/libretime/libretime/issues/1614))
|
||||
- **analyzer:** rework organise_file using pathlib
|
||||
- **shared:** load config from str filepath
|
||||
- **shared:** create general config model
|
||||
- **shared:** create time functions
|
||||
- **shared:** return log level and filepath
|
||||
- remove unused web_server_user config entry
|
||||
- **legacy:** clean config parsing and add defaults
|
||||
- **api_client:** load config using shared helpers
|
||||
- **worker:** load config using shared helpers
|
||||
- **shared:** do not exit on missing config file
|
||||
- **api:** remove admin app and static files
|
||||
- **api:** load config using shared helpers
|
||||
- **legacy:** replace massivescale/celery-php with jooola/celery-php
|
||||
- **worker:** set celery timezone to UTC
|
||||
- **api:** include id in file/webstream serializers
|
||||
|
||||
## :bug: Bug fixes
|
||||
|
||||
- remove rogue buster reference
|
||||
- correct vagrantfile function call
|
||||
- declare pypo.notify module
|
||||
- revert removal of eval for shell commands
|
||||
- add missing dependencies to celery module
|
||||
- assume api client is installed
|
||||
- **shared:** fix tests
|
||||
- change filepath options type to pathlib.Path ([#1506](https://github.com/libretime/libretime/issues/1506))
|
||||
- **legacy:** validate id param in show image controller ([#1510](https://github.com/libretime/libretime/issues/1510))
|
||||
- **playout:** optional log_file for liquidsoap
|
||||
- **shared:** require click >=8.0.3
|
||||
- **legacy:** correct linting issues
|
||||
- make vagrant source.list update idempotent ([#1520](https://github.com/libretime/libretime/issues/1520))
|
||||
- **api:** duplicate exception raising and close file
|
||||
- **legacy:** api migration config variable name ([#1522](https://github.com/libretime/libretime/issues/1522))
|
||||
- **shared:** prevent child override by empty dict
|
||||
- **shared:** tmp_path fixture type mismatch
|
||||
- **analyzer:** install missing steps package
|
||||
- **shared:** type is required for default config submodel ([#1536](https://github.com/libretime/libretime/issues/1536))
|
||||
- **legacy:** default values when array is null
|
||||
- **legacy:** do not catch too broad exceptions
|
||||
- **legacy:** add more null check in api live info
|
||||
- **legacy:** only render if img creation succeed ([#1540](https://github.com/libretime/libretime/issues/1540))
|
||||
- **shared:** pin loguru version
|
||||
- **legacy:** clean sql migrations files ([#1545](https://github.com/libretime/libretime/issues/1545))
|
||||
- **shared:** set logger encoding and dont assume encoding
|
||||
- **playout:** proper logger format string
|
||||
- **playout:** only exclude ended file event
|
||||
- **api_client:** use same date format as schedule key
|
||||
- **api_client:** properly enclose events in media dict
|
||||
- **playout:** properly populate scheduled_now_webstream
|
||||
- **legacy:** revert default storage path ([#1563](https://github.com/libretime/libretime/issues/1563))
|
||||
- **legacy:** update setup with new db config schema ([#1567](https://github.com/libretime/libretime/issues/1567))
|
||||
- **shared:** do not strip vhost slash ([#1594](https://github.com/libretime/libretime/issues/1594))
|
||||
- **analyzer:** remove bad attributes in shutdown handler ([#1605](https://github.com/libretime/libretime/issues/1605))
|
||||
- **analyzer:** update docstring for organise_file
|
||||
- **shared:** fix missing port in public_url
|
||||
- change celery user in worker service file ([#1638](https://github.com/libretime/libretime/issues/1638))
|
||||
- **api:** model_bakery is a dev dependency
|
||||
- **api:** static_url settings is required in dev mode ([#1662](https://github.com/libretime/libretime/issues/1662))
|
||||
- **api_client:** comply to legacy schedule events
|
||||
- **playout:** remove stream_buffer_start in event dispatch
|
||||
|
||||
## :fire: Deprecation and removal
|
||||
|
||||
## :arrow_up: Upgrading
|
||||
|
||||
### Analyzer certificate verification
|
||||
|
||||
Analyzer no longer ignore certificate verification when performing a request. We recommend using Let's Encrypt to get a certificate. If you do rely on self signed certificate, please read the [requests](https://docs.python-requests.org/) documentation to provide a CA Bundle to verify the cert using environment variables.
|
||||
|
||||
### Analyzer new command line interface
|
||||
|
||||
The Analyzer command line interface has been reworked and uses new flags.
|
||||
|
||||
- `--debug` flag becomes `--log-level <level>`
|
||||
- `--rmq-config-file` flag becomes `--config <filepath>`
|
||||
- `--http-retry-queue-file` flag becomes `--retry-queue-filepath`.
|
||||
- `retry-queue-filepath` default value changed from `/tmp/airtime_analyzer_http_retries` to `retry_queue` in the working directory.
|
||||
|
||||
### New configuration schema and validation
|
||||
|
||||
The configuration file parsing was improved with validation and the configuration schema was updated. Some deprecated fields were removed and other were renamed.
|
||||
|
||||
The `general` section has been changed:
|
||||
|
||||
- the `general.web_server_user` entry was removed
|
||||
- the `general.cache_ahead_hours` entry now defaults to 1
|
||||
- the `general.airtime_dir` entry is deprecated and can be removed
|
||||
- the `general.station_id` entry is deprecated and can be removed
|
||||
- the `general.protocol` (`http` or `https`) entry is recommended over the `general.force_ssl` entry.
|
||||
- the `general.force_ssl` entry should either be removed or set to a value (`true` or `false`), an empty value will fail validation.
|
||||
|
||||
The storage (`current_backend`) section has been changed:
|
||||
|
||||
- the `current_backend.storage_backend` entry now defaults to the only valid value `file`.
|
||||
|
||||
:::note
|
||||
|
||||
You can remove the entire `current_backend` section from your configuration file.
|
||||
|
||||
:::
|
||||
|
||||
The `database` section has been changed:
|
||||
|
||||
- the `database.*` entries now have defaults
|
||||
- the `database.port` entry was added and defaults to `5432`
|
||||
- the `database.dbname` entry was renamed to `database.name`
|
||||
- the `database.dbuser` entry was renamed to `database.user`
|
||||
- the `database.dbpass` entry was renamed to `database.password`
|
||||
|
||||
The `rabbitmq` section has been changed:
|
||||
|
||||
- the `rabbitmq.*` entries now have defaults
|
||||
|
||||
The `pypo` section has been changed:
|
||||
|
||||
- the `pypo` section was renamed to `playout`
|
||||
- the `pypo.ls_*` entries were renamed to `playout.liquidsoap_*`
|
||||
- the `pypo.*_dir` entries were removed
|
||||
- the `pypo.api_client` entry was removed
|
||||
- the `pypo.record_file_type` entry was renamed to `playout.record_file_format`
|
||||
- the `pypo.base_recorded_files` entry was removed
|
||||
- the `pypo.poll_interval` entry was removed
|
||||
- the `pypo.push_interval` entry was removed
|
||||
- the `pypo.cue_style` entry was removed
|
||||
|
||||
The deprecated sections `monit` and `facebook` are unused, they can be removed from your configuration file.
|
||||
|
||||
Unless you use a custom auth backend, the `ldap` section can be removed from your configuration file.
|
||||
|
||||
Remove any quoted values in your configuration file, validation might fail otherwise. See the following example:
|
||||
|
||||
```ini
|
||||
# The previously quoted value
|
||||
ls_port = '1234'
|
||||
# should become
|
||||
liquidsoap_port = 1234
|
||||
```
|
||||
|
||||
Please see the [configuration documentation](../admin-manual/setup/configuration.md) for more details.
|
||||
|
||||
### Environment variables
|
||||
|
||||
The API configuration environment variables names changed:
|
||||
|
||||
- `LIBRETIME_CONF_DIR` was removed
|
||||
- `LIBRETIME_CONF_FILE` was renamed to `LIBRETIME_CONFIG_FILEPATH`
|
||||
|
||||
The Analayzer configuration environment variables names changed:
|
||||
|
||||
- `LIBRETIME_CONF_DIR` environment variable was replaced with `LIBRETIME_CONFIG_FILEPATH`.
|
||||
|
||||
The Worker configuration environment variables names changed:
|
||||
|
||||
- `RMQ_CONFIG_FILE` was renamed to `LIBRETIME_CONFIG_FILEPATH`.
|
||||
|
||||
### Log files new paths
|
||||
|
||||
When running Playout from the command line, the service will not log to a file by default.
|
||||
When running Playout as a systemd service, the log file moved from `/var/log/airtime/pypo/pypo.log` to `/var/log/libretime/playout.log`
|
||||
|
||||
The Playout Notify log file at `/var/log/airtime/pypo-liquidsoap/notify.log` was removed and merged into the existing `/var/log/libretime/liquidsoap.log` log file.
|
||||
|
||||
When running Liquidsoap from the command line, the service will not log to a file by default.
|
||||
When running Liquidsoap as a systemd service, the log file moved from `/var/log/airtime/pypo-liquidsoap/ls_script.log` to `/var/log/libretime/liquidsoap.log`
|
||||
|
||||
The Legacy log file moved from `/var/log/airtime/zendphp.log` to `/var/log/libretime/legacy.log`
|
||||
|
||||
The API log file moved from `/var/log/airtime/api.log` to `/var/log/libretime/api.log`
|
||||
|
||||
Run the following command to create the new and clean the old log directory:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /var/log/libretime
|
||||
sudo chown -R www-data:www-data /var/log/libretime
|
||||
|
||||
sudo rm -rf /var/log/airtime
|
||||
```
|
||||
|
||||
### Services new working directories
|
||||
|
||||
When running Playout as a systemd service, the working directory changed from `/var/tmp/airtime/pypo/` to `/var/lib/libretime/playout`. When running from the command line, the users current working directory is now used by default.
|
||||
|
||||
When running Liquidsoap as a systemd service, the working directory is now `/var/lib/libretime/playout`. When running from the command line, the users current working directory is now used by default.
|
||||
|
||||
When running Analyzer as a systemd service, the working directory is now `/var/lib/libretime/analyzer`.
|
||||
|
||||
When running Worker (celery) as a systemd service, the working directory changed from `/srv/airtime` to `/var/lib/libretime/worker`.
|
||||
|
||||
Run the following command to clean the old directory:
|
||||
|
||||
```bash
|
||||
sudo rm -rf /var/tmp/airtime/pypo/
|
||||
```
|
||||
|
||||
### Analyzer new `ffmpeg` based steps
|
||||
|
||||
The Analyzer now requires `ffmpeg`. The `silan` system dependency and the `rgain3` python package and it's system dependencies can be removed.
|
||||
|
||||
Run the following command to clean the old packages:
|
||||
|
||||
```bash
|
||||
sudo apt purge silan
|
||||
|
||||
sudo apt purge \
|
||||
gir1.2-gtk-3.0 \
|
||||
libcairo2-dev \
|
||||
libgirepository1.0-dev \
|
||||
libglib2.0-dev \
|
||||
pkg-config \
|
||||
python3-cairo \
|
||||
python3-dev \
|
||||
python3-gi \
|
||||
python3-gi-cairo \
|
||||
python3-gst-1.0
|
||||
sudo pip3 uninstall rgain3
|
||||
```
|
||||
|
||||
### No static files for the API
|
||||
|
||||
The API does not rely on static files in production anymore.
|
||||
|
||||
Run the following command to clean the old files:
|
||||
|
||||
```bash
|
||||
sudo rm -rf /usr/share/airtime/api
|
||||
```
|
||||
|
||||
## :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.
|
||||
|
||||
### Ubuntu 18.04 Playout Status
|
||||
|
||||
The playout status notifications in the web interface are not working. The issue
|
||||
is tracked in [#1606](https://github.com/libretime/libretime/issues/1606). The
|
||||
playout works correctly and can be heard in Icecast, however the **On Air**
|
||||
button is greyed out and the status reported on the **Streams** status page can
|
||||
report errors connecting to Liquidsoap. The current workaround is to upgrade the
|
||||
server to Ubuntu 20.04.
|
||||
|
||||
## :memo: Colophon
|
|
@ -1,7 +1,7 @@
|
|||
module.exports = {
|
||||
title: "LibreTime",
|
||||
description: "Radio Broadcast & Automation Platform",
|
||||
version: "3.0.0-alpha.10",
|
||||
version: "3.0.0-alpha.11",
|
||||
website: "https://libretime.org",
|
||||
|
||||
repository: {
|
||||
|
@ -22,7 +22,7 @@ module.exports = {
|
|||
home: {
|
||||
links: [
|
||||
{ label: "Get started 🚀", to: "/docs/admin-manual" },
|
||||
{ label: "Release note", to: "/docs/releases/3.0.0-alpha.10" },
|
||||
{ label: "Release note", to: "/docs/releases/3.0.0-alpha.11" },
|
||||
],
|
||||
},
|
||||
|
||||
|
|
Loading…
Reference in New Issue