20 KiB
20 KiB
3.0.0-alpha.13 (2022-07-15)
Features
- remove unused python3-venv package (#1728)
- api: split api into multiple apps (#1626)
- improve apache configuration (#1784)
- api: replace uwsgi with gunicorn (#1785)
- replace exploded base_* with public_url
- shared: compress logs with gz (#1827)
- shared: remove unused abstract app (#1828)
- replace click envar with auto_envvar_prefix (#1829)
- shared: allow to disable log rotate/retention
- legacy: change logrotate config deploy path
- rotate logs using libretime user
- legacy: improve rabbitmq check (#1839)
- worker: don't run with a dedicated user
- playout: remove unused liquidsoap_prepare_terminate.py (#1854)
- legacy: check services using systemctl (#1856)
- change config file format to yaml
- change config filename to config.yml
- change config dir path to /etc/libretime
- installer: rewrite install script
- replace php migration with django migration
- drop cc_locale table
- api: create set_icecast_passwords command
- installer: post install setup instructions
- add systemd libretime.target
- move allowed cors url to configuration file
- remove php web installer
- move storage path setting to configuration file
- installer: rename shared files path to /usr/share/libretime
- shared: add config trailing slash sanitizer (#1870)
- rename default stream mount point to main
- api: rename user model fields (#1902)
- remove unused cc_sess table (#1907)
- remove unused cc_perms table (#1909)
- api: rename podcasts models fields (#1910)
- analyzer: move compute_md5 to shared library
- api: create bulk_import command
- legacy: compute md5 during early upload
- api: rename track type to library
- legacy: add Ukrainian language
- legacy: don't guess cors url from server
- installer: load .env file to persistent install config
- use dedicated 'libretime' user
- replace apache2 with nginx + php-fpm
- api: listen on unix socket with gunicorn
- api: use uvicorn as asgi server with gunicorn
- set default locale to en_US
- remove unused cc_country table
Bug Fixes
- add gettext for legacy locale generation (#1720)
- installer: install software-properties-common when required
- installer: always install fresh packages
- api: prevent timing attacke on api key (#1771)
- legacy: load vendors during config init
- legacy: bypass config validation during django migration
- legacy: the ini config parser requires a .conf ext
- playout: disable playout-notify log rotation
- don't set log folder permissions recursively
- shared: allow list settings (#1837)
- legacy: station url always has a trailing slash (#1838)
- legacy: check if libretime-api is running (#1841)
- don't add track types only on migration
- correct cc_file.artwork column size
- legacy: remove not null constraint when using default
- api: missing build-essential to build psycopg2
- drop unused sequences
- api: allow updating default_icecast_password (#1872)
- deps: update dependency @cmfcmf/docusaurus-search-local to ^0.11.0 (#1873)
- legacy: remove file directory metadata (#1887)
- api: update model fields in set_icecast_passwords (#1903)
- api: cascade when dropping table (#1908)
- legacy: station-metadata api endpoint
- legacy: don't log 'could not obtain lock' exception (#1943)
- legacy: check empty before iteration on files
- use constrained foreign key for files track_type
- deps: update dependency mermaid to v9.1.2 [security] (#1948)
- installer: update version file unless tarball (#1950)
- prevent data loose on track_types_id migration (#1949)
- use track_type_id in smartblock criteria
- legacy: no invalid track type in smartblock criteria
Documentation
- create 3.0.0-alpha.12 docs
- add version nav dropdown
- add urls redirects (#1581)
- fix broken links to celery project (#1744)
- draft architecture design document (#1736)
- start troubleshooting with syslog over libretime logs (#1783)
- update apache log filepath (#1811)
- explicitly mention lack of 22.04 support (#1858)
- add pre upgrade procedure warnings
- update install procedure
- add missing storage config upgrade procedure (#1871)
- remove packages based install (#1883)
- provide uninstall guidance (#1938)
- rename icecast to stream-configuration
- rename Libretime to LibreTime
- double 'the'
- rewrite reverse proxy guide
- uninstall /usr/lib systemd services
- troubleshoot webserver services (#1961)
- reorder upgrade steps
- add missing allowed_cors_origins config
Tests
- analyzer: recent liquidsoap version do not fail playability check
- legacy: use default rabbitmq settings (#1855)
- shared: remove bad disable no-self-use (#1862)
- api: use pytest to run api tests (#1645)
- api: allow f string format for logging
- api: disable too-few-public-methods lint error
- api: fix lint errors
- api: disable too-many-arguments lint error
- api: ignore tests file coverage
CI
- add missing python3-venv package for testing (#1729)
- generate schema and push to api-client repo (#1740)
- update api-schema generation commit message
- don't run api-schema generation on forks
- build test images for ubuntu jammy (#1743)
- fix dev images creation script (#1745)
- simplify legacy test matrix (#1749)
- test on ubuntu jammy
- ignore versioned_docs with find_closed_references (#1753)
- move docs linting to docs workflow
- only run website workflow for main branch
- add website build cache
- add website-preview workflow
- use GH actions bot for schema generation committer (#1756)
- setup command dispatcher (#1759)
- update workflow dispatch input description (#1762)
- do not cache website preview build (#1763)
- fix website preview cleanup branch (#1793)
- reduce usage (#1804)
- rename api-client repo (#1805)
- add link to next version of the docs in preview comment (#1824)
- specify python version
- replace link checker report with failing job
- check and dispatch api schema changes
- fix python packages caching (#1893)
- fix schema update commit author (#1912)
- api: fail job on linting error
- report pytest coverage in PR via codecov
- add missing codecov flags
- add api coverage report using codecov
- setup carryforward for coverage
- disable codecov project status check
- disable codecov patch status check
3.0.0-alpha.12 (2022-03-29)
Bug Fixes
- playout: add locales to libretime-playout-notify calls (#1715)
- worker: enable logfile variable expansion in ExecStart (#1717)
Documentation
- add missing data to release note
- fix and update links (#1714)
3.0.0-alpha.11 (2022-03-28)
Features
- run API tests in CI (#1421)
- add support for Ubuntu Focal 20.04 (#1168)
- debian 11 support (#1292)
- create libretime_shared package (#1349)
- enhance libretime shared (#1491)
- shared: let user provide the log level (#1493)
- replace verbosity flag with log-level flag (#1496)
- playout: enhance playout logging (#1495)
- api: update env var settings loading
- api: allow to run without log file for dev
- analyzer: enhance analyzer cli and logging (#1507)
- playout: migrate notify cli to click (#1519)
- shared: allow loading from ini config file
- shared: allow cli parametrized decorators (#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)
- legacy: rename log filepath (#1551)
- shared: add url/dsn property to config classes (#1553)
- remove locale generation from installer (#1560)
- legacy: consolidate constants (#1558)
- legacy: add db config defaults and allow custom port (#1559)
- remove unused ubuntu ppa (#1591)
- analyzer: do verify ssl certs on requests
- analyzer: rework analyze_metadata step
- api: improve uwsgi systemd integration (#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
- remove uninstall script (#1682)
- worker: add service log filepath (#1640)
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)
- legacy: validate id param in show image controller (#1510)
- playout: optional log_file for liquidsoap
- shared: require click >=8.0.3
- legacy: correct linting issues
- make vagrant source.list update idempotent (#1520)
- api: duplicate exception raising and close file
- legacy: api migration config variable name (#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)
- 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)
- shared: pin loguru version
- legacy: clean sql migrations files (#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)
- legacy: update setup with new db config schema (#1567)
- shared: do not strip vhost slash (#1594)
- analyzer: remove bad attributes in shutdown handler (#1605)
- analyzer: update docstring for organise_file
- shared: fix missing port in public_url
- change celery user in worker service file (#1638)
- api: model_bakery is a dev dependency
- api: static_url settings is required in dev mode (#1662)
- api_client: comply to legacy schedule events
- playout: remove stream_buffer_start in event dispatch
- add PPA for newer liquidsoap version on Ubuntu
- upgrade python packages during install (#1707)
- installer: test and create correct log path
- installer: remove rougue reference to /var/log/airtime (#1710)
- installer: remove /var/tmp/airtime reference
- worker: drop logfile reference until environment variable expansion works correctly
Documentation
- recommend current LTS or stable distro (#1564)
- replace jekyll with docusaurus
- rename documentation files
- restructure and backup pictures
- rework docs into the new website
- fix broken links
- fix prose linting errors
- remove mention of self signed certificate
- update reverse-proxy example variables
- update structure and create links between pages (#1611)
- fix deploy to LibreTime website
- import releases notes
- update releases notes
- update configuration schema
- prevent user to clone wrong repo (#1657)
- clean cloned repo before upgrading (#1676)
- unsure we restart service after upgrade (#1677)
- adjust formatting
- reload systemd service on upgrade (#1685)
- add mermaid graph generation (#1686)
- always run django migration on upgrade (#1687)
Tests
- shared: assert key is from file
- shared: check config using optional sections
- analyzer: rename and remove unused imports
- analyzer: update fixtures
- shared: ignore pylint warning
- shared: fix linting
- allow to set python linters to fail per app
- tools: fix mypy linters
- require lint to succeed for shared/ and tools/
- api: add bandit linter check
- api_client: add bandit linter check
- playout: add bandit linter check
- shared: add missing format lint check
- shared: add bandit linter check
- worker: add bandit linter check
- analyzer: fix inconsistent return statement
- analyzer: set test logging level to trace
- analyzer: use pathlib for tmp paths
- shared: config with required submodel (#1616)
CI
- add missing focal database test run
- add closed references notificier workflow (#1467)
- add semantic pull request linting (#1472)
- pin action-semantic-pull-request version
- add shared to allowed commit scopes (#1494)
- cancel duplicate test workflow (#1513)
- add website deploy workflow
- add dependabot check on website
- only cancel same worklow
- add link-checker workflow
- setup docs prose linting with vale
- lowercase org name (#1656)
- install git in libretime-dev testing image (#1706)
- run test container as root
- use ppa in all ubuntu distributions
- don't run linting in custom testing container
- use current release notes