From 9ebd2c85ef2a8f6b1a6846649a53ab72f75a2857 Mon Sep 17 00:00:00 2001 From: jo Date: Mon, 21 Feb 2022 13:18:15 +0100 Subject: [PATCH] docs: import releases notes --- docs/releases/3.0.0-alpha.00.md | 17 +++ docs/releases/3.0.0-alpha.01.md | 86 +++++++++++ docs/releases/3.0.0-alpha.02.md | 186 +++++++++++++++++++++++ docs/releases/3.0.0-alpha.03.md | 246 ++++++++++++++++++++++++++++++ docs/releases/3.0.0-alpha.04.md | 248 ++++++++++++++++++++++++++++++ docs/releases/3.0.0-alpha.05.md | 261 ++++++++++++++++++++++++++++++++ docs/releases/3.0.0-alpha.06.md | 225 +++++++++++++++++++++++++++ docs/releases/3.0.0-alpha.07.md | 240 +++++++++++++++++++++++++++++ docs/releases/3.0.0-alpha.08.md | 222 +++++++++++++++++++++++++++ docs/releases/3.0.0-alpha.09.md | 204 +++++++++++++++++++++++++ docs/releases/3.0.0-alpha.10.md | 80 +++++++--- 11 files changed, 1993 insertions(+), 22 deletions(-) create mode 100644 docs/releases/3.0.0-alpha.00.md create mode 100644 docs/releases/3.0.0-alpha.01.md create mode 100644 docs/releases/3.0.0-alpha.02.md create mode 100644 docs/releases/3.0.0-alpha.03.md create mode 100644 docs/releases/3.0.0-alpha.04.md create mode 100644 docs/releases/3.0.0-alpha.05.md create mode 100644 docs/releases/3.0.0-alpha.06.md create mode 100644 docs/releases/3.0.0-alpha.07.md create mode 100644 docs/releases/3.0.0-alpha.08.md create mode 100644 docs/releases/3.0.0-alpha.09.md diff --git a/docs/releases/3.0.0-alpha.00.md b/docs/releases/3.0.0-alpha.00.md new file mode 100644 index 000000000..16594ddcc --- /dev/null +++ b/docs/releases/3.0.0-alpha.00.md @@ -0,0 +1,17 @@ +The first release from the LibreTime Community. + +## Features + +- Working installer for Debian and Ubuntu +- Automated Vagrant setup for developers on either Debian, Ubuntu or CentOS +- Removed visible legacy upstream branding +- Disable most legacy upstream "pro" SaaS integrations +- "pro" widgets for everyone +- AutoDJ support for shows +- Tons of bugfixes like working silan cue cuts and more + +The complete LibreTime documentation is available at [libretime.org](http://libretime.org). + +Since this is an alpha release there will be bugs in the code. Some features that went missing in legacy upstreams "pro" branch have been backported while others are still waiting for such treatment. Please report any issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). + +The attached debian package is considered unstable as it has not had any serious testing at all. It mainly demonstrates that we are able to build one. diff --git a/docs/releases/3.0.0-alpha.01.md b/docs/releases/3.0.0-alpha.01.md new file mode 100644 index 000000000..6f7a478a6 --- /dev/null +++ b/docs/releases/3.0.0-alpha.01.md @@ -0,0 +1,86 @@ +The complete LibreTime documentation is available at [libretime.org](http://libretime.org). + +Since this is an alpha release there will be bugs in the code. Please report any issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). + +## Features + +- Make overriding of album tag in downloaded Podcasts configurable +- Configurable master and show sources in settings +- Version check on main interface against Github +- updated i18n strings (complete ru_RU translation) +- Allow closing "Scheduled Shows" tab in Showbuilder +- FreeIPA Auth Adaptor + +## Bugfixes + +- Use `restart=always` in systemd installs +- Do not depend on hardcoded admin password for autoplaylist feature +- more legacy upstream branding removal +- restore table settings (ie. columns and sort) on login +- translatable radio page +- line-in recording almost works again +- no more oopsing on week info API + +## Deprecated Features + +- The `ubuntu` Vagrant box has been replaced with `ubuntu-xenial` and `ubuntu-trusty`. The `debian` box has been replaced with `debian-jessie` and `debian-wheezy`. Users of the old boxes should switch to a new box so we can drop the old box after this release. + +## Known Issues + +The following issues need a workaround for the time being. Please search the [issues](https://github.com/LibreTime/libretime/issues) before reporting problems not listed below. + +### Outdated silan reports unreliable cue in/out information + +Out of the box the installer installs a broken, outdated version of silan on all Debian based Platforms (ie. Ubuntu). This affects all distros supported by the installer except CentOS which does not have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). + +You can check the version of silan by running with `silan --version` which should report `0.3.3` or with `sudo dpkg -s silan | awk '/Version/ {print $2}'` that will show the exact package version you installed. Please include this information if you file bugs concerning silan. + +There are multiple workarounds to this issue and [a bug against the upstream](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855319) has been opened with Debian. Until this is sorted you should pre-install silan from a source you trust. If your distro has not updated to 0.3.3 yet you can also help by asking your distros maintainers for a bump. + +The following solutions have been reported to work. + +#### Silan from OBS build (https://github.com/LibreTime/libretime/issues/177#issuecomment-299195796) + +Works for all relevant Debian and Ubuntu distros and installs silan `0.3.3~nmu1`. + +```bash +# install package signing key from obs +wget -qO- http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_7.0/Release.key \ + | apt-key add - + +# add OBS repo to sources list (pick the distro you need) + +# Debian Wheezy +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_7.0 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Debian Jessie +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_8.0 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Trusty +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_14.04 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Xenial +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_16.04 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list + +# update local package database +apt-get update + +# install silan 0.3.3 from obs packages +apt-get install silan +``` + +#### Legacy upstream silan packages (https://github.com/LibreTime/libretime/issues/197) + +Legacy Upstream hosts patched packages for Ubuntu Trusty on `apt.sourcefabric.org`. They install as `0.3.2~trusty~sfo-1`. + +```bash +sudo tee -a /etc/apt/sources.list <Features +- Bugfixes +- Deprecated Features +- Updating +- Deprecation Announcement for Debian 7 (Wheezy) +- Known Issues + - Outdated silan reports unreliable cue in/out information + - Liquidsoap >= 1.3.0 Support +- Colophon + + + +## Features + +- Updated [upgrade docs](http://libretime.org/manual/upgrading/) +- PHP 7.0 support +- Native systemd unit files on all supported distros + + + +## Bugfixes + +- Fix reversed name & description fields in stream 3 additional options +- Use file-magic instead of python-magic for working install with distro packages +- Use local angular install on radio page instead of cdn +- Allow deleting of initial admin user +- Fix gitattribute issues with the docs +- and some more small stuff + + + +## Deprecated Features + +- The installer distro selection process has been upgraded and the `--distribution` and `--release` parameters are not needed anymore. They are still supported for the time being but their use is not recommended. + + + +## Updating + +See [the docs](http://libretime.org/manual/upgrading/) for complete information on updating. Please ensure that you have proper [backups](http://libretime.org/manual/backing-up-the-server/) and a rollback scenario in place before updating. +If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity. + +If you installed from GitHub you can `git pull` in you local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script. + + + +## Deprecation Announcement for Debian 7 (Wheezy) + +Up until `3.0.0-alpha.2` Debian 7 (Wheezy) was in the list of supported distros. + +Given that Debian 9 (Stretch) is now available and installing LibreTime on Wheezy probably never worked properly out of the box LibreTime has to update its support matrix. This info is in the release notes as an early warning since we are deprecating a major os version with an upcoming release. + + + +## Known Issues + +The following issues need a workaround for the time being. Please search the [issues](https://github.com/LibreTime/libretime/issues) before reporting problems not listed below. + + + +### Outdated silan reports unreliable cue in/out information + +Out of the box the installer installs a broken, outdated version of silan on all Debian based Platforms (ie. Ubuntu). This affects all distros supported by the installer except CentOS which does not have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). + +You can check the version of silan by running with `silan --version` which should report `0.3.3` or with `sudo dpkg -s silan | awk '/Version/ {print $2}'` that will show the exact package version you installed. Please include this information if you file bugs concerning silan. + +There are multiple workarounds to this issue and [a bug against the upstream](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855319) has been opened with Debian. Until this is sorted you should pre-install silan from a source you trust. If your distro has not updated to 0.3.3 yet you can also help by asking your distros maintainers for a bump. + +LibreTime is looking for a Debian Maintainer willing to adopt silan. This would be a much appreciated good deed to the open source broadcast community, both terrestrial and online. Your contribution to silan could literally make a difference to millions of listeners daily. + +The following solutions have been reported to work. + +#### Silan from OBS build (https://github.com/LibreTime/libretime/issues/177#issuecomment-299195796) + +Works for all relevant Debian and Ubuntu distros and installs silan `0.3.3~nmu1`. + +```bash +# install package signing key from obs +wget -qO- http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_7.0/Release.key \ + | apt-key add - + +# add OBS repo to sources list (pick the distro you need) + +# Debian Wheezy +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_7.0 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Debian Jessie +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_8.0 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Trusty +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_14.04 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Xenial +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_16.04 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list + +# update local package database +apt-get update + +# install silan 0.3.3 from obs packages +apt-get install silan +``` + +#### Local armhf builds for Raspberry Pi 3 (https://github.com/LibreTime/libretime/issues/214#issuecomment-305988355) + +Since build.opensuse.org can't build Debian packages on arm due to missing dependencies, the `0.3.3~nmu1` arm package was built in a docker crossdev environment. This is reported to work on Debian Jessie on a Raspberry Pi 3 Model B. + +```bash +curl -L -O https://github.com/LibreTime/libretime/files/1049738/silan_0.3.3.nmu1_armhf.deb.tar.gz +tar xvf silan_0.3.3.nmu1_armhf.deb.tar.gz +sudo dpkg -i silan_0.3.3~nmu1_armhf.deb +``` + +#### Legacy upstream silan packages (https://github.com/LibreTime/libretime/issues/197) + +Legacy upstream hosts patched packages for Ubuntu Trusty on `apt.sourcefabric.org`. They install as `0.3.2~trusty~sfo-1`. + +```bash +sudo tee -a /etc/apt/sources.list < + +### Liquidsoap >= 1.3.0 Support + +Libretime currently only supports liquidsoap `< 1.3.0` out of the box. If you install a current version of liquidsoap [using OPAM](http://liquidsoap.fm/download.html) or through the [Rabe Liquidsoap Distribution for CentOS (RaBe LSD)](build.opensuse.org/project/show/home:radiorabe:liquidsoap) you will most likely have liquidsoap `1.3.1` installed. + +You can check your liquidsoap version by running `liquidsoap --version`. + +If you already have liquidsoap >= 1.3.0 you have a couple of options. + +#### Liquidsoap 1.3.0 Patchset (#192) + +You can patch your installation of LibreTime to support liquidsoap 1.3.0. + +An up to date patch is available through GitHub and can be applied to an unpacked tarball as follows. + +```bash +cd libretime-3.0.0-alpha.2/ +curl -L https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0.patch | patch -p1 +``` + +Git users can pull from the branch at https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0 directly. + +#### Install old liquidsoap from opam (#192) + +You can downgrade an OPAM install of liquidsoap by running the following command. + +```bash +opam install "liquidsoap<1.3.0" +``` + + + +## Colophon + +I made some [git of theseus graphs](https://erikbern.com/2016/12/05/the-half-life-of-code.html) on the history of LibreTime. What makes these interesting is that the project started in CVS, was migrated to Subversion and then to Git the commit history always being preserved. Let's have a look down the shoulders of the giants we are standing on. + +![stack_plot](https://user-images.githubusercontent.com/116588/26903309-efa373ce-4bdc-11e7-8ce7-c60a72635639.png) + +[More GoT graphs](https://github.com/LibreTime/libretime/wiki/Git-of-Theseus) can be found in [the wiki](https://github.com/LibreTime/libretime/wiki). I didn't originally know that the code started out as not much PHP (0e968e62887f3f87f5e90845867dd90c8950deb1), with C++ making an early entry soon after (9c60b17e7e9e9830f103d387780bee555c0283b4). At the time (2004) LibreTime seems to have been called livesupport. In 2006(ish) it was rebranded to CampCaster (fe31d2dfabc83f57d7a5dbb1864022dca76fd604), with the rename to Airtime being worked on somewhere in 2010 (169c4ec214659876d797c025793cb8bd45e088c3). diff --git a/docs/releases/3.0.0-alpha.03.md b/docs/releases/3.0.0-alpha.03.md new file mode 100644 index 000000000..d3c9302f1 --- /dev/null +++ b/docs/releases/3.0.0-alpha.03.md @@ -0,0 +1,246 @@ +The complete LibreTime documentation is available at [libretime.org](http://libretime.org). + +The full tarball for the `3.0.0-alpha.3` release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.3/libretime-3.0.0-alpha.3.tar.gz). + +Since this is an alpha release there will be bugs in the code. Please report new issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). + +## Table of Contents + +- Features +- Bugfixes +- Deprecated Features +- Updating +- Known Issues + - Outdated silan reports unreliable cue in/out information + - Liquidsoap >= 1.3.0 support + - No watched folder support + - No Line In recording support + - Playout won't work if locale is missing +- Colophon + + + +## Features + +- Debian 9 support in installer shell script +- Simplify configuration file structure +- Lots of work on Hungarian (hu_HU) translation +- Automatic Creation of Smartblocks and Playlists for new Podcasts +- Duplicate Smartblock functionality in context menu +- Better server preparation docs with firewall infos + + + +## Bugfixes + +- CORS responses work for all browsers and with TLS or on non default ports +- Fix update warning for pre-release candidates +- Dont install dev packages in installer for faster installs +- Some php 7.1 patches +- Better logging for analyzer and pypo +- Fix chunked podcast downloading +- Fix TLS timestamp updating + + + +## Deprecated Features + +- The contents of `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` have been moved to the main `/etc/airtime/airtime.ini` file and the env specific symlink is no longer needed. See below for instructions on how to migrate from a pre-release that created those files. +- As per [the announcement in the `3.0.0-alpha.2` release notes](https://github.com/LibreTime/libretime/releases/tag/3.0.0-alpha.2#wheezy-deprecation-3.0.0-alpha.2) we are dropping Debian 7/Wheezy as a supported platform. +- The installer distro selection process has been upgraded and the --distribution and --release parameters are not needed anymore. They are still supported for the time being but their use is not recommended. + + +## Updating + +See [the docs](http://libretime.org/manual/upgrading/) for complete information on updating. Please ensure that you have proper [backups](http://libretime.org/manual/backing-up-the-server/) and a rollback scenario in place before updating. +If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity. + +If you installed from GitHub you can `git pull` in you local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script. + +### Updating from 3.0.0-alpha or 3.0.0-alpha.2 + +The configuration file structure has changed. Please move the contents of the `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` files into the main `/etc/airtime/airtime.ini`. In all known cases you need to add the following sections to the file. + +```ini +[current_backend] +storage_backend=file + +[amazon_S3] +provider=amazon_S3 +bucket=0 +api_key=0 +api_key_secret=0 +``` + +You can then remove the files and the symlink. + +```bash +rm /etc/airtime/cloud_storage.conf \ + /etc/airtime/rabbitmq-analyzer.ini \ + /etc/airtime/production +``` + +Analyzer grabs all the needed info from the main `airtime.ini` file starting with `3.0.0-alpha.3`. + + + +## Known Issues + +The following issues need a workaround for the time being. Please search the [issues](https://github.com/LibreTime/libretime/issues) before reporting problems not listed below. + + + +### Outdated silan reports unreliable cue in/out information + +Out of the box the installer installs a broken, outdated version of silan on most Debian based Platforms (ie. Ubuntu). This affects all distros supported by the installer except Debian unstable which has the silan 0.3.3 and CentOS which does not have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). + +You can check the version of silan by running with `silan --version` which should report `0.3.3` or with `sudo dpkg -s silan | awk '/Version/ {print $2}'` that will show the exact package version you installed. Please include this information if you file bugs concerning silan. + +There are multiple workarounds to this issue and [a bug against the upstream](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855319) has been opened with Debian. Until this is sorted you should pre-install silan from a source you trust. If your distro has not updated to 0.3.3 yet you can also help by asking your distros maintainers for a bump. + +Kyle Robbertze @paddatrapper has taken over maintainership of the silan packages in Debian as he is currently packaging LibreTime for Debian. Thank you very much Kyle! + +The following solutions have been reported to work. + +#### Silan from OBS build (https://github.com/LibreTime/libretime/issues/177#issuecomment-299195796) + +Works for all relevant Debian and Ubuntu distros and installs silan `0.3.3~nmu1`. + +```bash +# install package signing key from obs +wget -qO- http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_7.0/Release.key \ + | apt-key add - + +# add OBS repo to sources list (pick the distro you need) + +# Debian Stretch +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_9.0_standard/ ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Debian Jessie +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_8.0 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Xenial +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_16.04 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Trusty +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_14.04 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list + +# update local package database +apt-get update + +# install silan 0.3.3 from obs packages +apt-get install silan +``` + +#### Local armhf builds for Raspberry Pi 3 (https://github.com/LibreTime/libretime/issues/214#issuecomment-305988355) + +Since build.opensuse.org can't build Debian packages on arm due to missing dependencies, the `0.3.3~nmu1` arm package was built in a docker crossdev environment. This is reported to work on Debian Jessie on a Raspberry Pi 3 Model B. + +```bash +curl -L -O https://github.com/LibreTime/libretime/files/1049738/silan_0.3.3.nmu1_armhf.deb.tar.gz +tar xvf silan_0.3.3.nmu1_armhf.deb.tar.gz +sudo dpkg -i silan_0.3.3~nmu1_armhf.deb +``` + +#### Legacy upstream silan packages (https://github.com/LibreTime/libretime/issues/197) + +Legacy upstream hosts patched packages for Ubuntu Trusty on `apt.sourcefabric.org`. They install as `0.3.2~trusty~sfo-1`. + +```bash +sudo tee -a /etc/apt/sources.list < + +### Liquidsoap >= 1.3.0 Support + +Libretime currently only supports liquidsoap `< 1.3.0` out of the box. If you install a current version of liquidsoap [using OPAM](http://liquidsoap.fm/download.html) or through the [Rabe Liquidsoap Distribution for CentOS (RaBe LSD)](build.opensuse.org/project/show/home:radiorabe:liquidsoap) you will most likely have liquidsoap `1.3.1` installed. + +You can check your liquidsoap version by running `liquidsoap --version`. + +If you already have liquidsoap >= 1.3.0 you have a couple of options. + +#### Liquidsoap 1.3.0 Patchset (#192) + +You can patch your installation of LibreTime to support liquidsoap 1.3.0. + +An up to date patch is available through GitHub and can be applied to an unpacked tarball as follows. + +```bash +cd libretime-3.0.0-alpha.3/ +curl -L https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0.patch | patch -p1 +``` + +Git users can pull from the branch at https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0 directly. + +#### Install old liquidsoap from opam (#192) + +You can downgrade an OPAM install of liquidsoap by running the following command. + +```bash +opam install "liquidsoap<1.3.0" +``` + + + +### No watched folder support + +Currently LibreTime does not support watching folders as [described in the manual](http://libretime.org/manual/media-folders/#watching-a-folder). Uploading files through the web interface works fine and can be automated via a REST API. Re-implementing watched folder support is on the roadmap. Please consider helping out with the code to help speed things along if you want to use the feature. + + + +### No line in support + +Line In recording can be enabled in the UI but doesn't currently work. This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. + + + +### Playout won't work if locale is missing + +Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. + +You can set up the locale using a combination of the following command. You might also want to consult the documentation of your VPS provider as it may contain an official way to set up locales when provisioning a VPS. + +```bash +# Set locale using systemds localectl +localectl set-locale LANG="en_US.utf8" +``` + +these instructions do not seem to work on all Debian based distros so you might need to use `update-locale` as follows. + +``` +#Purge all locales but en_US.UTF-8 +sudo locale-gen --purge en_US.UTF-8 +#Populate LANGUAGE= +sudo update-locale LANGUAGE="en_US.UTF-8" +``` + + + +## Colophon + +It's been awesome to see that the interest in LibreTime isn't dying off. + +I recently did some cleaning up of the labels and milestones in the issue tracker and would like to ask everyone to help out with tagging issues and managing milestones. + +Currently the milestones only contain issues likely to be finished in the development window of the respective version. This includes things that already have a pull-request or issues with a high priority due to their sensible or blocking nature. Feel free to request new labels and unversioned milestones if you feel you can use them. + +That's all for these release notes. I'd also like to note that I plan on doing releases more often. They will be smaller but there will be less changes per release. diff --git a/docs/releases/3.0.0-alpha.04.md b/docs/releases/3.0.0-alpha.04.md new file mode 100644 index 000000000..55ec87b12 --- /dev/null +++ b/docs/releases/3.0.0-alpha.04.md @@ -0,0 +1,248 @@ +The complete LibreTime documentation is available at [libretime.org](http://libretime.org). + +The full tarball for the `3.0.0-alpha.4` release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.4/libretime-3.0.0-alpha.4.tar.gz). + +Since this is an alpha release there will be bugs in the code. Please report new issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). + +## Table of Contents + +- Features +- Bugfixes +- Deprecated Features +- Updating +- Known Issues + - Outdated silan reports unreliable cue in/out information + - Liquidsoap support + - No watched folder support + - No Line In recording support + - Playout won't work if locale is missing + - Lack of i18n toolchain is disturbing +- Colophon + + + +## Features + +- Updated Hungarian translations +- Preview tracks in generated SmartBlocks +- New icon to mark autoplaylist based show on calendar page +- Relative date filters for Smartblocks + + + +## Bugfixes + +- Fix updating track information from pypo on TLS only setups +- Fix seeking in track preview +- Fix advanced search in calendar mode +- Validate contents of VERSION file to fix non-enriched git tarball install +- dead code removal of legacy media-monitor code base + + + +## Deprecated Features + +- The contents of `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` have been moved to the main `/etc/airtime/airtime.ini` file and the env specific symlink is no longer needed. See below for instructions on how to migrate from a pre-release that created those files. +- As per [the announcement in the `3.0.0-alpha.2` release notes](https://github.com/LibreTime/libretime/releases/tag/3.0.0-alpha.2#wheezy-deprecation-3.0.0-alpha.2) we are dropping Debian 7/Wheezy as a supported platform. +- The installer distro selection process has been upgraded and the --distribution and --release parameters are not needed anymore. They are still supported for the time being but their use is not recommended. + + + +## Updating + +See [the docs](http://libretime.org/manual/upgrading/) for complete information on updating. Please ensure that you have proper [backups](http://libretime.org/manual/backing-up-the-server/) and a rollback scenario in place before updating. +If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity. + +If you installed from GitHub you can `git pull` in you local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script. + +### Updating from 3.0.0-alpha or 3.0.0-alpha.2 + +The configuration file structure has changed. Please move the contents of the `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` files into the main `/etc/airtime/airtime.ini`. In all known cases you need to add the following sections to the file. + +```ini +[current_backend] +storage_backend=file + +[amazon_S3] +provider=amazon_S3 +bucket=0 +api_key=0 +api_key_secret=0 +``` + +You can then remove the files and the symlink. + +```bash +rm /etc/airtime/cloud_storage.conf \ + /etc/airtime/rabbitmq-analyzer.ini \ + /etc/airtime/production +``` + +Analyzer grabs all the needed info from the main `airtime.ini` file starting with `3.0.0-alpha.4`. + + + +## 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. + + + +### Outdated silan reports unreliable cue in/out information + +Out of the box the installer installs a broken, outdated version of silan on most Debian based Platforms (ie. Ubuntu). This affects all distros supported by the installer except Debian unstable which has the silan 0.3.3 and CentOS which does not have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). + +You can check the version of silan by running with `silan --version` which should report `0.3.3` or with `sudo dpkg -s silan | awk '/Version/ {print $2}'` that will show the exact package version you installed. Please include this information if you file bugs concerning silan. + +There are multiple workarounds to this issue and [a bug against the upstream](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855319) has been fixed. Kyle Robbertze @paddatrapper has taken over maintainership of the silan packages in Debian as he is currently packaging LibreTime for Debian. The silan package is in testing as can be seen in the [Debian PTS](https://tracker.debian.org/pkg/silan). This section will get updated once the package is in stable. + +Until this is sorted you should pre-install silan from a source you trust. If your distro has not updated to 0.3.3 yet you can also help by asking your distros maintainers for a bump. + +The following solutions have been reported to work. + +#### Silan from OBS build (https://github.com/LibreTime/libretime/issues/177#issuecomment-299195796) + +Works for all relevant Debian and Ubuntu distros and installs silan `0.3.3~nmu1`. + +```bash +# install package signing key from obs +wget -qO- http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_7.0/Release.key \ + | apt-key add - + +# add OBS repo to sources list (pick the distro you need) + +# Debian Stretch +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_9.0_standard/ ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Debian Jessie +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_8.0 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Xenial +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_16.04 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Trusty +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_14.04 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list + +# update local package database +apt-get update + +# install silan 0.3.3 from obs packages +apt-get install silan +``` + +#### Local armhf builds for Raspberry Pi 3 (https://github.com/LibreTime/libretime/issues/214#issuecomment-305988355) + +Since build.opensuse.org can't build Debian packages on arm due to missing dependencies, the `0.3.3~nmu1` arm package was built in a docker crossdev environment. This is reported to work on Debian Jessie on a Raspberry Pi 3 Model B. + +```bash +curl -L -O https://github.com/LibreTime/libretime/files/1049738/silan_0.3.3.nmu1_armhf.deb.tar.gz +tar xvf silan_0.3.3.nmu1_armhf.deb.tar.gz +sudo dpkg -i silan_0.3.3~nmu1_armhf.deb +``` + +#### Legacy upstream silan packages (https://github.com/LibreTime/libretime/issues/197) + +Legacy upstream hosts patched packages for Ubuntu Trusty on `apt.sourcefabric.org`. They install as `0.3.2~trusty~sfo-1`. + +```bash +sudo tee -a /etc/apt/sources.list < + +### Liquidsoap Support + +Libretime currently only supports liquidsoap `< 1.3.0` out of the box. If you install a current version of liquidsoap [using OPAM](http://liquidsoap.fm/download.html) or through the [Rabe Liquidsoap Distribution for CentOS (RaBe LSD)](build.opensuse.org/project/show/home:radiorabe:liquidsoap) you will most likely have liquidsoap `1.3.2` or `1.3.3` installed. + +#352 reports that liquidsoap `< 1.3.0` can exhibit issues on some Debian based installs. One fix for the issue is to install liquidsoap `1.3.0` and to use the following patching steps. Kyle from silan fame is taking the needed steps to get liquidsoap maintained again in Debian so we expect the situation to improve over time. + +You can check your liquidsoap version by running `liquidsoap --version`. + +If you already have liquidsoap >= 1.3.0 you have a couple of options. + +#### Liquidsoap 1.3.0 Patchset (#192) + +You can patch your installation of LibreTime to support liquidsoap 1.3.0. + +An up to date patch is available through GitHub and can be applied to an unpacked tarball as follows. + +```bash +cd libretime-3.0.0-alpha.4/ +curl -L https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0.patch | patch -p1 +``` + +Git users can pull from the branch at https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0 directly. + +#### Install old liquidsoap from opam (#192) + +You can downgrade an OPAM install of liquidsoap by running the following command. + +```bash +opam install "liquidsoap<1.3.0" +``` + + + +### No watched folder support + +Currently LibreTime does not support watching folders as [described in the manual](http://libretime.org/manual/media-folders/#watching-a-folder). Uploading files through the web interface works fine and can be automated via a REST API. Re-implementing watched folder support is on the roadmap. Please consider helping out with the code to help speed things along if you want to use the feature. + + + +### No line in support + +Line In recording can be enabled in the UI but doesn't currently work. This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. + + + +### Playout won't work if locale is missing + +Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. + +You can set up the locale using a combination of the following command. You might also want to consult the documentation of your VPS provider as it may contain an official way to set up locales when provisioning a VPS. + +```bash +# Set locale using systemds localectl +localectl set-locale LANG="en_US.utf8" +``` + +These instructions do not seem to work on all Debian based distros so you might need to use `update-locale` as follows. + +``` +#Purge all locales but en_US.UTF-8 +sudo locale-gen --purge en_US.UTF-8 +#Populate LANGUAGE= +sudo update-locale LANGUAGE="en_US.UTF-8" +``` + + + +### Lack of i18n toolchain is disturbing + +Some translations might miss the tarball. They didn't get lost but the build chain needs fixing. Work is in #301 and additional work is needed as it has become clear that we proabably want to support bidirectional translation syncing with zanata. + + + +## Colophon + +This is the first release that contains code contributions from more than 5 developers. Also, we reached :100: :star2: a while ago and this is the fifth release since we forked almost a year ago. I'm looking forward to celebrating the one year anniversary of LibreTime soon. + +A large thanks from RelEng goes to everyone who put their hard work into LibreTime both here on [GitHub](https://github.com/LibreTime/libretime) as well as on our [Discourse](http://discourse.libretime.org). Cutting these releases wouldn't be half as rewarding without the constant feedback from the community. diff --git a/docs/releases/3.0.0-alpha.05.md b/docs/releases/3.0.0-alpha.05.md new file mode 100644 index 000000000..d50eb4417 --- /dev/null +++ b/docs/releases/3.0.0-alpha.05.md @@ -0,0 +1,261 @@ +The complete LibreTime documentation is available at [libretime.org](http://libretime.org). + +The full tarball for the `3.0.0-alpha.5` release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.5/libretime-3.0.0-alpha.5.tar.gz). + +Since this is an alpha release there will be bugs in the code. Please report new issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). + +## Table of Contents + +- Features +- Bugfixes +- Deprecated Features +- Updating +- Deprecation Announcement for Ubuntu 14.04 (Trusty) +- Known Issues + - Media-Monitor config needs manual removing + - Outdated silan reports unreliable cue in/out information + - Liquidsoap support + - No watched folder support + - No Line In recording support + - Playout won't work if locale is missing + - Lack of i18n toolchain is disturbing +- Colophon + + + +## Features + +- Interface improvements +- Raspbian 9 support in installer script +- Allow skipping RabbitMQ and PostgreSQL install in installer script with `--no-rabbitmq ` and `--no-postgres` + + + +## Bugfixes + +- Remove `[media-monitor]` section from default install (look here for workaround) +- Fix last help links that pointed to sourcefabric and update others to point to discourse +- Fix for ShoutCAST DNAS rejecting title updates when artist is missing +- Initial fixes for native IPv6 support +- Support modern pika versions +- Disable podcast subscription limit +- Return proper `Content-Length` for legacy database entries missing the info + + + +## Deprecated Features + +- The contents of `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` have been moved to the main `/etc/airtime/airtime.conf` file and the env specific symlink is no longer needed. See below for instructions on how to migrate from a pre-release that created those files. +- As per [the announcement in the `3.0.0-alpha.2` release notes](https://github.com/LibreTime/libretime/releases/tag/3.0.0-alpha.2#wheezy-deprecation-3.0.0-alpha.2) we are dropping Debian 7/Wheezy as a supported platform. +- The installer distro selection process has been upgraded and the --distribution and --release parameters are not needed anymore. They are still supported for the time being but their use is not recommended. +- Removed Amazon S3 storage support + + + +## Updating + +See [the docs](http://libretime.org/manual/upgrading/) for complete information on updating. Please ensure that you have proper [backups](http://libretime.org/manual/backing-up-the-server/) and a rollback scenario in place before updating. +If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity. + +If you installed from GitHub you can `git pull` in you local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script. + +### Updating from 3.0.0-alpha or 3.0.0-alpha.2 + +The configuration file structure has changed. Please move the contents of the `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` files into the main `/etc/airtime/airtime.conf`. In all known cases you need to add the following section to the file. + +```ini +[current_backend] +storage_backend=file +``` + +You can then remove the files and the symlink. + +```bash +rm /etc/airtime/cloud_storage.conf \ + /etc/airtime/rabbitmq-analyzer.ini \ + /etc/airtime/production +``` + +While you're at you may also want to remove the `amazon_s3` section if it was in any of the files. + +Analyzer grabs all the needed info from the main `airtime.conf` file starting with `3.0.0-alpha.5`. + + + +## Deprecation Announcement for Ubuntu 14.04 (Trusty) + +Up until `3.0.0-alpha.4` Ubuntu 14.04 (Trusty) was in the list of supported distros. + +Given that Ubuntu 16.04 (Xenial) and Ubuntu 18.04 (Bionic) are now available and Trusty is EOL in April 2019 LibreTime has to update its support matrix. This info is in the release notes as an early warning since we are deprecating a major os version with an upcoming release. + + + +## 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. + + + +### Media-Monitor config needs manual removing + +If you are using the `install` script you should most likely remove the `[media-monitor]` config section from your `/etc/airtime/airtime.conf` file to ensure you do not run into the problems described in +https://github.com/LibreTime/libretime/issues/450. We recommend you do this before running the update since there are no known LibreTime releases that depend on the config value. + + + +### Outdated silan reports unreliable cue in/out information + +Out of the box the installer installs a broken, outdated version of silan on most Debian based Platforms (ie. Ubuntu). This affects all distros supported by the installer except Debian unstable which has the silan 0.3.3 and CentOS which does not have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). + +You can check the version of silan by running with `silan --version` which should report `0.3.3` or with `sudo dpkg -s silan | awk '/Version/ {print $2}'` that will show the exact package version you installed. Please include this information if you file bugs concerning silan. + +There are multiple workarounds to this issue and [a bug against the upstream](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=855319) has been fixed. Kyle Robbertze @paddatrapper has taken over maintainership of the silan packages in Debian as he is currently packaging LibreTime for Debian. The silan package is in testing as can be seen in the [Debian PTS](https://tracker.debian.org/pkg/silan). This section will get updated once the package is in stable. + +Until this is sorted you should pre-install silan from a source you trust. If your distro has not updated to 0.3.3 yet you can also help by asking your distros maintainers for a bump. + +The following solutions have been reported to work. If they do not work, please note that it is your responsibility to get working silan packages. + +#### Silan from OBS build (https://github.com/LibreTime/libretime/issues/177#issuecomment-299195796) + +Works for all relevant Debian and Ubuntu distros and installs silan `0.3.3~nmu1`. + +```bash +# install package signing key from obs +wget -qO- http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_7.0/Release.key \ + | apt-key add - + +# add OBS repo to sources list (pick the distro you need) + +# Debian Stretch +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_9.0_standard/ ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Debian Jessie +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Debian_8.0 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Xenial +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/xUbuntu_16.04 ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list +# Ubuntu Trusty (14.04) EOL in April 2019 +echo 'deb http://download.opensuse.org/repositories/home:/hairmare:/silan/Ubuntu_14.10_standard/ ./' \ + > /etc/apt/sources.list.d/hairmare_silan.list + +# update local package database +apt-get update + +# install silan 0.3.3 from obs packages +apt-get install silan +``` + +#### Local armhf builds for Raspberry Pi 3 (https://github.com/LibreTime/libretime/issues/214#issuecomment-305988355) + +Since build.opensuse.org can't build Debian packages on arm due to missing dependencies, the `0.3.3~nmu1` arm package was built in a docker crossdev environment. This is reported to work on Debian Jessie on a Raspberry Pi 3 Model B. + +```bash +curl -L -O https://github.com/LibreTime/libretime/files/1049738/silan_0.3.3.nmu1_armhf.deb.tar.gz +tar xvf silan_0.3.3.nmu1_armhf.deb.tar.gz +sudo dpkg -i silan_0.3.3~nmu1_armhf.deb +``` + +#### Legacy upstream silan packages (https://github.com/LibreTime/libretime/issues/197) + +Legacy upstream hosts patched packages for Ubuntu Trusty on `apt.sourcefabric.org`. They install as `0.3.2~trusty~sfo-1`. + +```bash +sudo tee -a /etc/apt/sources.list < + +### Liquidsoap Support + +Libretime currently only supports liquidsoap `< 1.3.0` out of the box. If you install a current version of liquidsoap [using OPAM](http://liquidsoap.fm/download.html) or through the [Rabe Liquidsoap Distribution for CentOS (RaBe LSD)](build.opensuse.org/project/show/home:radiorabe:liquidsoap) you will most likely have liquidsoap `1.3.2` or `1.3.3` installed. + +#352 reports that liquidsoap `< 1.3.0` can exhibit issues on some Debian based installs. One fix for the issue is to install liquidsoap `1.3.0` and to use the following patching steps. Kyle from silan fame is taking the needed steps to get liquidsoap maintained again in Debian so we expect the situation to improve over time. + +You can check your liquidsoap version by running `liquidsoap --version`. + +If you already have liquidsoap >= 1.3.0 you have a couple of options. + +#### Liquidsoap 1.3.0 Patchset (#192) + +You can patch your installation of LibreTime to support liquidsoap 1.3.0. + +An up to date patch is available through GitHub and can be applied to an unpacked tarball as follows. + +```bash +cd libretime-3.0.0-alpha.5/ +curl -L https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0.patch | patch -p1 +``` + +Git users can pull from the branch at https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0 directly. + +#### Install old liquidsoap from opam (#192) + +You can downgrade an OPAM install of liquidsoap by running the following command. + +```bash +opam install "liquidsoap<1.3.0" +``` + + + +### No watched folder support + +Currently LibreTime does not support watching folders as [described in the manual](http://libretime.org/manual/media-folders/#watching-a-folder). Uploading files through the web interface works fine and can be automated via a REST API. Re-implementing watched folder support is on the roadmap. Please consider helping out with the code to help speed things along if you want to use the feature. + + + +### No line in support + +Line In recording can be enabled in the UI but doesn't currently work. This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. + + + +### Playout won't work if locale is missing + +Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. + +You can set up the locale using a combination of the following command. You might also want to consult the documentation of your VPS provider as it may contain an official way to set up locales when provisioning a VPS. + +```bash +# Set locale using systemds localectl +localectl set-locale LANG="en_US.utf8" +``` + +These instructions do not seem to work on all Debian based distros so you might need to use `update-locale` as follows. + +``` +#Purge all locales but en_US.UTF-8 +sudo locale-gen --purge en_US.UTF-8 +#Populate LANGUAGE= +sudo update-locale LANGUAGE="en_US.UTF-8" +``` + + + +### Lack of i18n toolchain is disturbing + +Some translations might miss the tarball. They didn't get lost but the build chain needs fixing. Work is in #301 and additional work is needed as it has become clear that we proabably want to support bidirectional translation syncing with zanata. + + + +## Colophon + +Sorry for the _late_ release, RelEng has been busy with adulting and generally having a life as of lately. I'm still very much committed to LibreTime but can only find a limited amount of time to look into Issues due to being busy qualifying LibreTime for production workloads at my station. I plan on re-shifting my focus on pull request reviews and RelEng to address my lack of time going further. diff --git a/docs/releases/3.0.0-alpha.06.md b/docs/releases/3.0.0-alpha.06.md new file mode 100644 index 000000000..d7decee85 --- /dev/null +++ b/docs/releases/3.0.0-alpha.06.md @@ -0,0 +1,225 @@ +The full tarball for the `3.0.0-alpha.6` release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.6/libretime-3.0.0-alpha.6.tar.gz). + +Since this is an alpha release there will be bugs in the code. Please report new issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). + +## Table of Contents + +- Features +- Bugfixes +- Deprecated Features +- Installation +- Updating +- Known Issues + - Installer Issues + - Media-Monitor config needs manual removing + - Outdated silan reports unreliable cue in/out information + - Liquidsoap support + - No watched folder support + - No Line In recording support + - Playout won't work if locale is missing + - Lack of i18n toolchain is disturbing +- Colophon + + + +## Features + +- Turn on the podcast album override by default on new installs. +- Ubuntu 18.04 (Bionic) **developer** tooling. +- Collapse advanced configuration in show edit form. +- Clock icon in calendar for autoloading playlists. +- Let user edit podcast name. +- Default to creating dynamic smartblock when creating new smartblocks. +- Move advanced smartblock configuration to collapsed "Advanced options" section. +- Assume "Y" as answer for questions during installer. + + + +## Bugfixes + +- Fix sizing for playlist and smart block on shorter screens. +- Increased celery timeout to 1800 seconds (affects podcast downloads and other tasks like things related to the soundcloud integration). +- remove some obsolete scripts from `utils/`. +- Fix version check for cases where GitHub is not available or temporarily fails. +- Clarify wording for "Autoloading Playlist" (used to be called "Auto Schedule" or other names). +- Remove "Record & Rebroadcast" from ui. +- Fix scrolling issue in "Add Show" dialog. +- Allow ampersand in smartblock search criteria. +- Fix display of selected tracks in Smartblock criteria. +- Add docs into enriched tarball for packagers. +- Improve filling smartblocks, they should not get overscheduled rather than not getting filled up all the way. +- Remove broken ReCaptcha. +- Fix reading metadata from non-mp3 sources (in podcasts and uploads). +- Update mutagen to fix some edge cases when reading metadata from files in analyzer. +- Fix shuffling playlists that contain a smart block. +- Remove unused zfdebug from dev environment. + + + +## Deprecated Features + +- The contents of `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` have been moved to the main `/etc/airtime/airtime.conf` file and the env specific symlink is no longer needed. See below for instructions on how to migrate from a pre-release that created those files. +- As per [the announcement in the `3.0.0-alpha.5` release notes](https://github.com/LibreTime/libretime/releases/tag/3.0.0-alpha.5#trusty-deprecation-3.0.0-alpha.5) we are dropping Ubuntu 14.04 (Trusty) as a supported platform. +- Removed Amazon S3 storage support. +- Remove "Record & Rebroadcast" from ui. + + + +## Installation + +The main installation docs may be found at [http://libretime.org/install/](libretime.org/install/). They describe a "developer" install using the bundled `install` script. + +We are preparing packages for supported distros and you can take those for a spin if you would like to. Usually the packages get built pretty soon after a release is published. If the current version is not available from the below sources you should wait for a while until they get uploaded. + +- [Ubuntu Xenial packages](https://github.com/LibreTime/libretime-debian-packaging/releases) +- [CentOS 7 packages](https://build.opensuse.org/package/show/home:radiorabe:airtime/libretime) + +Please reference these links for further information on how to install from packages. The install docs will get updated to show how to install packages once we have validated that the packages work properly and when the packages are available from a repository allowing you to automate updating to a new version. + + + +## Updating + +See [the docs](http://libretime.org/manual/upgrading/) for complete information on updating. Please ensure that you have proper [backups](http://libretime.org/manual/backing-up-the-server/) and a rollback scenario in place before updating. +If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity. + +If you installed from GitHub you can `git pull` in your local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script. + +### Updating from 3.0.0-alpha, 3.0.0-alpha.1 and, 3.0.0-alpha.2 + +The configuration file structure has changed. Please move the contents of the `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` files into the main `/etc/airtime/airtime.conf`. In all known cases you need to add the following section to the file. + +```ini +[current_backend] +storage_backend=file +``` + +You can then remove the files and the symlink. + +```bash +rm /etc/airtime/cloud_storage.conf \ + /etc/airtime/rabbitmq-analyzer.ini \ + /etc/airtime/production +``` + +While you're at you may also want to remove the `amazon_s3` section if it was in any of the files. + +Analyzer grabs all the needed info from the main `airtime.conf` file starting with `3.0.0-alpha.6`. + + + +## 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. + + + +### Installer Issues + +The installer is generally a bit unstable, we hope to be able to offer some reasonable packages at some point. Some of the GUI driven parts before the first login are also in a somewhat questionable state, ymmv. + +For now the installer distro selection is pretty good at auto-detecting your os and usually does an ok job depending on your distro. You should usually not need to pass a --distribution and --release parameter, those are still supported for the time being but their use is not recommended. + +The ui works best if you don't use it in an opinionated fashion and change just the bare minimal. + +If you want a secure environment you should work through the [preparing the server](http://libretime.org/manual/preparing-the-server/) docs (up until the dragons) and be prepared to fix some of the issues the installer gets wrong manually by hacking the config file after the fact. + +If you want to skip the installer GUI completely you can configure LibreTime using `airtime_mvc/build/airtime.example.conf` as an template. Due to some python/PHP differences you must remove all comments from the example to use it 😞. You'll also have to create some folder structures manually and check if the music dir got properly created directly in the database. Referencing a second `install -fiap` install on a non productive system for reference can help with this type of bootstrap. + + + +### Media-Monitor config needs manual removing + +If you are using the `install` script you should most likely remove the `[media-monitor]` config section from your `/etc/airtime/airtime.conf` file to ensure you do not run into the problems described in +https://github.com/LibreTime/libretime/issues/450. We recommend you do this before running the update since there are no known LibreTime releases that depend on the config value. + + + +### Outdated silan reports unreliable cue in/out information + +Out of the box the installer installs a broken, outdated version of silan on some Debian based Platforms (ie. Ubuntu). This affects all distros supported by the installer except Debian testing which has the silan 0.3.3 and CentOS which does not have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). + +Check your version of silan by running `silan --version`. This should report `0.3.3` or higher. If not please see the [Silan Installation](https://github.com/LibreTime/libretime/wiki/Silan-Installation) wiki page for more details & workarounds. + +To date silan 0.3.3 or higher is in Debian testing & Ubuntu Bionic. You can check the upstream progress the [Debian PTS](https://tracker.debian.org/pkg/silan) and [Ubuntu launchpad](https://launchpad.net/ubuntu/+source/silan). This section will get removed once the package is in stable. + +tldr: **[Silan Installation](https://github.com/LibreTime/libretime/wiki/Silan-Installation)** + + + +### Liquidsoap Support + +Libretime currently only supports liquidsoap `< 1.3.0` out of the box. If you install a current version of liquidsoap [using OPAM](http://liquidsoap.fm/download.html) or through the [Rabe Liquidsoap Distribution for CentOS (RaBe LSD)](build.opensuse.org/project/show/home:radiorabe:liquidsoap) you will most likely have liquidsoap `1.3.2` or `1.3.3` installed. + +#352 reports that liquidsoap `< 1.3.0` can exhibit issues on some Debian based installs. One fix for the issue is to install liquidsoap `1.3.0` and to use the following patching steps. Kyle from silan fame is taking the needed steps to get liquidsoap maintained again in Debian so we expect the situation to improve over time. + +You can check your liquidsoap version by running `liquidsoap --version`. + +If you already have liquidsoap >= 1.3.0 you have a couple of options. + +#### Liquidsoap 1.3.0 Patchset (#192) + +You can patch your installation of LibreTime to support liquidsoap 1.3.0. + +An up to date patch is available through GitHub and can be applied to an unpacked tarball as follows. + +```bash +cd libretime-3.0.0-alpha.6/ +curl -L https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0.patch | patch -p1 +``` + +Git users can pull from the branch at https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0 directly. + +#### Install old liquidsoap from opam (#192) + +You can downgrade an OPAM install of liquidsoap by running the following command. + +```bash +opam install "liquidsoap<1.3.0" +``` + + + +### No watched folder support + +Currently LibreTime does not support watching folders as [described in the manual](http://libretime.org/manual/media-folders/#watching-a-folder). Uploading files through the web interface works fine and can be automated via a REST API. Re-implementing watched folder support is on the roadmap. Please consider helping out with the code to help speed things along if you want to use the feature. + + + +### No line in support + +This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. + + + +### Playout won't work if locale is missing + +Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. + +You can set up the locale using a combination of the following commands. You might also want to consult the documentation of your VPS provider as it may contain an official way to set up locales when provisioning a VPS. + +```bash +# Set locale using systemds localectl +localectl set-locale LANG="en_US.utf8" +``` + +These instructions do not seem to work on all Debian based distros so you might need to use `update-locale` as follows. + +``` +#Purge all locales but en_US.UTF-8 +sudo locale-gen --purge en_US.UTF-8 +#Populate LANGUAGE= +sudo update-locale LANGUAGE="en_US.UTF-8" +``` + + + +### Lack of i18n toolchain is disturbing + +Some translations might miss the tarball. They didn't get lost but the build chain needs fixing. Work is in #301 and additional work is needed as it has become clear that we probably want to support bidirectional translation syncing with zanata. + + + +## Colophon + +I would like to use this space to extend a warm welcome to our new Maintainers @paddatrapper, @frecuencialibre and @ned-kelly. We are happy to have you on board. Thank you very much for helping maintain LibreTime ❤️ diff --git a/docs/releases/3.0.0-alpha.07.md b/docs/releases/3.0.0-alpha.07.md new file mode 100644 index 000000000..ee0996944 --- /dev/null +++ b/docs/releases/3.0.0-alpha.07.md @@ -0,0 +1,240 @@ +The full tarball for the `3.0.0-alpha.7` release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.7/libretime-3.0.0-alpha.7.tar.gz). + +Since this is an alpha release there will be bugs in the code. Please report new issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). Join our [discourse](https://discourse.libretime.org/) if you need help and for general discussion. + +## Table of Contents + +- Features +- Bugfixes +- Deprecated Features +- Contributors +- Installation +- Updating +- Deprecation Announcement for Debian 8 (Jessie) +- Known Issues + - Installer Issues + - Media-Monitor config needs manual removing + - Outdated silan reports unreliable cue in/out information + - Liquidsoap support + - No watched folder support + - No Line In recording support + - Playout won't work if locale is missing + - Lack of i18n toolchain is disturbing + + + +## Features + +- Set default focus to search field on library page. +- PHP 7.2 and 7.3 compatibility (for Ubuntu 18.04.1 LTS (Bionic Beaver) and other modern distros) +- "Podcast Album Override" is now "Podcast Metadata Override " and additionally overrides the track title with the title from the RSS feed. The artist field is set to the podcast name in LibreTime. +- Allowed users to customize the title of podcasts +- Disabled the creation of smartblocks and playlists for new podcasts by default and added a generate button under the edit podcast tab +- Better libvirt integration in Vagrant setup. +- Debian 11 (Buster) support +- Add columns for uploaded and genre to default library view, sorts it by uploaded and removes album column by default +- Add more details to the information returned by the API `onAirLightAction` call +- Update Spanish translations +- Allow admins to edit the owner of a track +- Added system-wide intro and outro playlists for autoloading playlists +- Added show-source info to live-info-v2 API +- Update much of the documentation +- Allow program managers to view listeners statistics + + + +## Bugfixes + +- Fix DOS line-endings in vendorized PHP dependencies for packaging. +- Fix overlapping show names if show does not fit in calendar. +- Fall back to treating file as MP3 if it isn't recognized by mutagen. +- Remove defunct support-setting page. +- Remove legacy AAC code, fix AAC support for SHOUTcast. +- Display Settings menu for all users. +- Make "Time Remaining" Smartblock work in Playlist. +- Fix non-audio enclosure crash when importing badly formed podcast feeds +- Fix flac files not playing out +- Fix 500 error when making API call `onAirLightAction` +- Fix warning message shown in `schedule` API call +- Fix bug where many empty playlists were created when using autoloading +- Passed show variable to smartblocks loaded via playlist to fix time remaining smartblocks with autoloading playlists. +- Restore top right user setting link and logout link to UI +- Fix an unnecessary type conversion to seconds that caused errors with PHP 7.2 +- Fix import errors on podcast episodes with long descriptions +- Fix issue with multiple time remaining smartblocks in a single playlist not detecting remaining time correctly +- Fix occasional empty administration page due to null previous file reference + + + +## Deprecated Features + +- We are beginning to phase out support for Debian 8 (Jessie). See the announcement for more details. + +## Contributors + + +The LibreTime project wants to thank the following contributors for adding PRs to this release: @robbt @frecuencialibre @detobate @greenjon @xabispacebiker @mikeopensauce @paddatrapper @hairmare @ryanrain + + + +## Installation + +The main installation docs may be found at [http://libretime.org/install/](libretime.org/install/). They describe a "developer" install using the bundled `install` script. + +We are preparing packages for supported distros and you can take those for a spin if you would like to. Usually the packages get built pretty soon after a release is published. If the current version is not available from the below sources you should wait for a while until they get uploaded. + +- [Ubuntu Xenial packages](https://github.com/LibreTime/libretime-debian-packaging/releases) +- [Debian Buster packages](https://github.com/LibreTime/libretime-debian-packaging/releases) +- [CentOS 7 packages](https://build.opensuse.org/package/show/home:radiorabe:airtime/libretime) + +Please reference these links for further information on how to install from packages. The install docs will get updated to show how to install packages once we have validated that the packages work properly and when the packages are available from a repository allowing you to automate updating to a new version. + + + +## Updating + +See [the docs](http://libretime.org/manual/upgrading/) for complete information on updating. Please ensure that you have proper [backups](http://libretime.org/manual/backing-up-the-server/) and a rollback scenario in place before updating. +If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity. + +If you installed from GitHub you can `git pull` in your local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script. + +### Updating from 3.0.0-alpha, 3.0.0-alpha.1 and, 3.0.0-alpha.2 + +The configuration file structure has changed. Please move the contents of the `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` files into the main `/etc/airtime/airtime.conf`. In all known cases you need to add the following section to the file. + +```ini +[current_backend] +storage_backend=file +``` + +You can then remove the files and the symlink. + +```bash +rm /etc/airtime/cloud_storage.conf \ + /etc/airtime/rabbitmq-analyzer.ini \ + /etc/airtime/production +``` + +While you're at you may also want to remove the `amazon_s3` section if it was in any of the files. + +Analyzer grabs all the needed info from the main `airtime.conf` file starting with `3.0.0-alpha.7`. + + + +## Deprecation Announcement for Debian 8 (Jessie) + +Up until `3.0.0-alpha.7` Debian 8 (Jessie) was in the list of supported distros. + +Given that Debian 9 (Stretch) is now available and Jessie is EOL since June 2018 LibreTime has to update its support matrix. This info is in the release notes as an early warning since we are deprecating a major os version with an upcoming release. + + + +## 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. + + + +### Installer Issues + +The installer is generally a bit unstable, we hope to be able to offer some reasonable packages at some point. Some of the GUI driven parts before the first login are also in a somewhat questionable state, ymmv. + +For now the installer distro selection is pretty good at auto-detecting your os and usually does an ok job depending on your distro. You should usually not need to pass a --distribution and --release parameter, those are still supported for the time being but their use is not recommended. + +The UI works best if you don't use it in an opinionated fashion and change just the bare minimal. + +If you want a secure environment you should work through the [preparing the server](http://libretime.org/manual/preparing-the-server/) docs (up until the dragons) and be prepared to fix some of the issues the installer gets wrong manually by hacking the config file after the fact. + +If you want to skip the installer GUI completely you can configure LibreTime using `airtime_mvc/build/airtime.example.conf` as an template. Due to some python/PHP differences you must remove all comments from the example to use it 😞. You'll also have to create some folder structures manually and check if the music dir got properly created directly in the database. Referencing a second `install -fiap` install on a non productive system for reference can help with this type of bootstrap. + + + +### Media-Monitor config needs manual removing + +If you are using the `install` script you should most likely remove the `[media-monitor]` config section from your `/etc/airtime/airtime.conf` file to ensure you do not run into the problems described in +https://github.com/LibreTime/libretime/issues/450. We recommend you do this before running the update since there are no known LibreTime releases that depend on the config value. + + + +### Outdated silan reports unreliable cue in/out information + +Out of the box the installer installs a broken, outdated version of silan (0.3.2) on some Debian based Platforms (ie. Ubuntu). This affects Ubuntu 16.04, Debian Jessie and Debian Stretch. CentOS does not have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). + +Check your version of silan by running `silan --version`. This should report `0.3.3` or higher. If not please see the [Silan Installation](https://github.com/LibreTime/libretime/wiki/Silan-Installation) wiki page for more details & workarounds. + +To date silan 0.3.3 or higher is in Debian testing & Ubuntu Bionic. You can check the upstream progress the [Debian PTS](https://tracker.debian.org/pkg/silan) and [Ubuntu launchpad](https://launchpad.net/ubuntu/+source/silan). This section will get removed once the package is in stable. + +tldr: **[Silan Installation](https://github.com/LibreTime/libretime/wiki/Silan-Installation)** + + + +### Liquidsoap Support + +Libretime currently only supports liquidsoap `< 1.3.0` out of the box. If you install a current version of liquidsoap [using OPAM](http://liquidsoap.fm/download.html) or through the [Rabe Liquidsoap Distribution for CentOS (RaBe LSD)](build.opensuse.org/project/show/home:radiorabe:liquidsoap) you will most likely have liquidsoap `1.3.2` or `1.3.3` installed. + +#352 reports that liquidsoap `< 1.3.0` can exhibit issues on Debian Stretch installs. One fix for the issue is to install liquidsoap `1.3.0` and to use the following patching steps. + +You can check your liquidsoap version by running `liquidsoap --version`. + +If you already have liquidsoap >= 1.3.0 you have a couple of options. + +#### Liquidsoap 1.3.0 Patchset (#192) + +You can patch your installation of LibreTime to support liquidsoap 1.3.0. + +An up to date patch is available through GitHub and can be applied to an unpacked tarball as follows. + +```bash +cd libretime-3.0.0-alpha.7/ +curl -L https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0.patch | patch -p1 +``` + +Git users can pull from the branch at https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0 directly. + +#### Install old liquidsoap from opam (#192) + +You can downgrade an OPAM install of liquidsoap by running the following command. + +```bash +opam install "liquidsoap<1.3.0" +``` + + + +### No watched folder support + +Currently LibreTime does not support watching folders. Uploading files through the web interface works fine and can be automated via a REST API. Re-implementing watched folder support is on the roadmap. Please consider helping out with the code to help speed things along if you want to use the feature. + + + +### No line in support + +This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. + + + +### Playout won't work if locale is missing + +Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. + +You can set up the locale using a combination of the following commands. You might also want to consult the documentation of your VPS provider as it may contain an official way to set up locales when provisioning a VPS. + +```bash +# Set locale using systemds localectl +localectl set-locale LANG="en_US.utf8" +``` + +These instructions do not seem to work on all Debian based distros so you might need to use `update-locale` as follows. + +``` +#Purge all locales but en_US.UTF-8 +sudo locale-gen --purge en_US.UTF-8 +#Populate LANGUAGE= +sudo update-locale LANGUAGE="en_US.UTF-8" +``` + + + +### Lack of i18n toolchain is disturbing + +Some translations might miss the tarball. They didn't get lost, but the build chain needs fixing. Work is in #301 and additional work is needed as it has become clear that we probably want to support bidirectional translation syncing with zanata. diff --git a/docs/releases/3.0.0-alpha.08.md b/docs/releases/3.0.0-alpha.08.md new file mode 100644 index 000000000..e64fe82bc --- /dev/null +++ b/docs/releases/3.0.0-alpha.08.md @@ -0,0 +1,222 @@ +The complete LibreTime documentation is available at [libretime.org](http://libretime.org). + +The full tarball for the `3.0.0-alpha.8` release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.8/libretime-3.0.0-alpha.8.tar.gz). + +Since this is an alpha release there will be bugs in the code. + +Please report new issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). Join our [discourse](https://discourse.libretime.org/) or chat us up on [Slack](https://discourse.libretime.org/t/slack-for-libretime) if you need help and for general discussion. + +## Table of Contents + +- Features +- Bugfixes +- Deprecated Features +- Contributors +- Installation +- Updating +- Known Issues + - Installer Issues + - Media-Monitor config needs manual removing + - Outdated silan reports unreliable cue in/out information + - Liquidsoap support + - No watched folder support + - No Line In recording support + - Playout won't work if locale is missing + - Lack of i18n toolchain is disturbing + + + +## Features + +- The LibreTime project now has a proper logo! +- New "Show Listener Stats" in "Analytics" contains listeners statistics on specific shows. +- Display time of last podcast import in downloaded podcasts view. +- Allow sorting by last play date in smartblocks, makes creating playlists that play the least played track possible. +- Preliminary support for Debian Buster (Remember to [patch the liquidsoap scripts](https://github.com/LibreTime/libretime/releases#issues-liquidsoap-3.0.0-alpha.8) if you use Buster). + + + +## Bugfixes + +- Widgets now use user specified timezones as they should. +- Podcast view now display proper number of downloaded podcasts rather than just the first 25 podcasts. +- Fix using non-ascii characters in podcast publishing service. +- Fix canceling current show for "linked" shows. +- Fix empty schedule page when previous track is empty. +- Fix focus jumping to search in advanced search. + + + +## Deprecated Features + +- We are phasing out support for Debian 8 (Jessie). See the announcement in the 3.0.0-alpha.7 release notes for more details. +- Liquidsoap 1.1.1 support. 3.0.0-alpha.8 is most likely the last version to support liquidsoap 1.1.1 out of the box. The number of distros that install a current version of liquidsoap are gaining the majority and once Ubuntu releases a version of their distro that has liquidsoap 1.3.x we will switch to native liquidsoap 1.3.x support. Users still on liquidsoap 1.1.1 will need to apply a patch to their liquidsoap scripts (or update liquidsoap). + + + +## Contributors + +The LibreTime project wants to thank the following contributors for adding PRs to this release: + +- [@ciaby](https://github.com/ciaby) +- [@hairmare](https://github.com/hairmare) +- [@learning-more](https://github.com/learning-more) +- [@mirzazulfan](https://github.com/mirzazulfan) +- [@paddatrapper](https://github.com/paddatrapper) +- [@Robbt](https://github.com/Robbt) + + + +## Installation + +The main installation docs may be found at [http://libretime.org/install/](libretime.org/install/). They describe a "developer" install using the bundled `install` script. + +We are preparing packages for supported distros and you can take those for a spin if you would like to. Usually the packages get built pretty soon after a release is published. If the current version is not available from the below sources you should wait for a while until they get uploaded. + +- [Ubuntu packages](https://github.com/LibreTime/libretime-debian-packaging/releases) +- [Debian packages](https://github.com/LibreTime/libretime-debian-packaging/releases) +- [CentOS packages](https://build.opensuse.org/package/show/home:radiorabe:airtime/libretime) + +Please reference these links for further information on how to install from packages. The install docs will get updated to show how to install packages once we have validated that the packages work properly and when the packages are available from a repository allowing you to automate updating to a new version. + + + +## Updating + +See [the docs](http://libretime.org/manual/upgrading/) for complete information on updating. Please ensure that you have proper [backups](http://libretime.org/manual/backing-up-the-server/) and a rollback scenario in place before updating. +If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity. + +If you installed from GitHub you can `git pull` in your local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script. + +### Updating from 3.0.0-alpha, 3.0.0-alpha.1 and, 3.0.0-alpha.2 + +The configuration file structure has changed. Please move the contents of the `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` files into the main `/etc/airtime/airtime.conf`. In all known cases you need to add the following section to the file. + +```ini +[current_backend] +storage_backend=file +``` + +You can then remove the files and the symlink. + +```bash +rm /etc/airtime/cloud_storage.conf \ + /etc/airtime/rabbitmq-analyzer.ini \ + /etc/airtime/production +``` + +While you're at you may also want to remove the `amazon_s3` section if it was in any of the files. + +Analyzer grabs all the needed info from the main `airtime.conf` file starting with `3.0.0-alpha.8`. + + + +## 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. + + + +### Installer Issues + +The installer is generally a bit unstable, we hope to be able to offer some reasonable packages at some point. Some of the GUI driven parts before the first login are also in a somewhat questionable state, ymmv. + +For now the installer distro selection is pretty good at auto-detecting your os and usually does an ok job depending on your distro. You should usually not need to pass a --distribution and --release parameter, those are still supported for the time being but their use is not recommended. + +The UI works best if you don't use it in an opinionated fashion and change just the bare minimal. + +If you want a secure environment you should work through the [preparing the server](http://libretime.org/manual/preparing-the-server/) docs (up until the dragons) and be prepared to fix some of the issues the installer gets wrong manually by hacking the config file after the fact. + +If you want to skip the installer GUI completely you can configure LibreTime using `airtime_mvc/build/airtime.example.conf` as an template. Due to some python/PHP differences you must remove all comments from the example to use it 😞. You'll also have to create some folder structures manually and check if the music dir got properly created directly in the database. Referencing a second `install -fiap` install on a non productive system for reference can help with this type of bootstrap. + + + +### Media-Monitor config needs manual removing + +If you are using the `install` script you should most likely remove the `[media-monitor]` config section from your `/etc/airtime/airtime.conf` file to ensure you do not run into the problems described in +https://github.com/LibreTime/libretime/issues/450. We recommend you do this before running the update since there are no known LibreTime releases that depend on the config value. + + + +### Outdated silan reports unreliable cue in/out information + +Out of the box the installer installs a broken, outdated version of silan (0.3.2) on some Debian based Platforms (ie. Ubuntu). This affects Ubuntu 16.04, Debian Jessie and Debian Stretch. CentOS does not have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). + +Check your version of silan by running `silan --version`. This should report `0.3.3` or higher. If not please see the [Silan Installation](https://github.com/LibreTime/libretime/wiki/Silan-Installation) wiki page for more details & workarounds. + +To date silan 0.3.3 or higher is in Debian testing & Ubuntu Bionic. You can check the upstream progress the [Debian PTS](https://tracker.debian.org/pkg/silan) and [Ubuntu launchpad](https://launchpad.net/ubuntu/+source/silan). This section will get removed once the package is in stable. + +tldr: **[Silan Installation](https://github.com/LibreTime/libretime/wiki/Silan-Installation)** + + + +### Liquidsoap Support + +Libretime currently only supports liquidsoap `< 1.3.0` out of the box. If you install a current version of liquidsoap [using OPAM](http://liquidsoap.fm/download.html) or through the [Rabe Liquidsoap Distribution for CentOS (RaBe LSD)](build.opensuse.org/project/show/home:radiorabe:liquidsoap) you will most likely have liquidsoap `1.3.2` or `1.3.3` installed. + +#352 reports that liquidsoap `< 1.3.0` can exhibit issues on Debian Stretch installs. One fix for the issue is to install liquidsoap `1.3.0` and to use the following patching steps. + +You can check your liquidsoap version by running `liquidsoap --version`. + +If you already have liquidsoap >= 1.3.0 you have a couple of options. + +#### Liquidsoap 1.3.0 Patchset (#192) + +You can patch your installation of LibreTime to support liquidsoap 1.3.0. + +An up to date patch is available through GitHub and can be applied to an unpacked tarball as follows. + +```bash +cd libretime-3.0.0-alpha.8/ +curl -L https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3-for-3.0.0-alpha.7.patch | patch -p1 +``` + +Git users can pull from the branch at https://github.com/LibreTime/libretime/compare/master...radiorabe:feature/liquidsoap-1.3.0-for-3.0.0-alpha.7 directly. + +#### Install old liquidsoap from opam (#192) + +You can downgrade an OPAM install of liquidsoap by running the following command. + +```bash +opam install "liquidsoap<1.3.0" +``` + + + +### No watched folder support + +Currently LibreTime does not support watching folders. Uploading files through the web interface works fine and can be automated via a REST API. Re-implementing watched folder support is on the roadmap. Please consider helping out with the code to help speed things along if you want to use the feature. + + + +### No line in support + +This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. + + + +### Playout won't work if locale is missing + +Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. + +You can set up the locale using a combination of the following commands. You might also want to consult the documentation of your VPS provider as it may contain an official way to set up locales when provisioning a VPS. + +```bash +# Set locale using systemds localectl +localectl set-locale LANG="en_US.utf8" +``` + +These instructions do not seem to work on all Debian based distros so you might need to use `update-locale` as follows. + +``` +#Purge all locales but en_US.UTF-8 +sudo locale-gen --purge en_US.UTF-8 +#Populate LANGUAGE= +sudo update-locale LANGUAGE="en_US.UTF-8" +``` + + + +### Lack of i18n toolchain is disturbing + +Some translations might miss the tarball. They didn't get lost, but the build chain needs fixing. Work is in #301 and additional work is needed as it has become clear that we probably want to support bidirectional translation syncing with zanata. diff --git a/docs/releases/3.0.0-alpha.09.md b/docs/releases/3.0.0-alpha.09.md new file mode 100644 index 000000000..6af341fc7 --- /dev/null +++ b/docs/releases/3.0.0-alpha.09.md @@ -0,0 +1,204 @@ +The complete LibreTime documentation is available at [libretime.org](http://libretime.org). + +The full tarball for the `3.0.0-alpha.9` release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.9/libretime-3.0.0-alpha.9.tar.gz). + +Since this is an alpha release there will be bugs in the code. + +Please report new issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). Join our [discourse](https://discourse.libretime.org/) or chat to us on our [Mattermost instance](https://chat.libretime.org/e) if you need help and for general discussion. + +## Table of Contents + +- Features +- Bugfixes +- Deprecated Features +- Contributors +- Installation +- Updating +- Known Issues + - Installer Issues + - Media-Monitor config needs manual removing + - Outdated silan reports unreliable cue in/out information + - No watched folder support + - No Line In recording support + - Playout won't work if locale is missing + - Lack of i18n toolchain is disturbing + + + +## Features + +- Display artwork from ID3 tags if available +- Expose track metadata or artwork in new API endpoint +- "Track Type" feature to classify tracks for auto-DJ +- support liquidsoap versions 1.1.1, 1.3.x and 1.4.x out of the box +- Improved French translation +- Updated jquery.cookie to js.cookie +- `forceSSL` config to support TLS on non default ports +- macOS Catalina support for Vagrant +- CentOS 8 Support +- Installer creates a secure icecast password on first run +- Support Multipass as an alternative to Vagrant dev environments + + + +## Bugfixes + +- Fix using outro playlist in "repeat until full" smartblock +- Switch to reliable message consumption to prevent RabbitMQ connections getting dropped side-effects +- Replace absolute css and js URLs with relative URLs +- remove legacy upstream conversion tracking, provisioning, and billing code +- disabled version notification to avoid confusion, users can check current version in Settings > Status. +- Swap out MusesPlayer for HTML5Player for playout +- Make lots of untranslatable strings translatable + + + +## Deprecated Features + +- Liquidsoap 1.1.1 support. 3.0.0-alpha.9 is most likely the last version to support liquidsoap 1.1.1 out of the box. The number of distros that install a current version of liquidsoap are gaining the majority and once Ubuntu releases a version of their distro that has liquidsoap 1.3.x we will switch to liquidsoap 1.3.x support only. Users still on liquidsoap 1.1.1 will need to apply a patch to their liquidsoap scripts (or update liquidsoap). + + + +## Contributors + +The LibreTime project wants to thank the following contributors for committing PRs to this release: + +- [@caveman99](https://github.com/caveman99) +- [@codenift](https://github.com/codenift) +- [@farggus](https://github.com/farggus) +- [@glibloc](https://github.com/glibloc) +- [@hairmare](https://github.com/hairmare) +- [@jeromelebleu](https://github.com/jeromelebleu) +- [@kmahelona](https://github.com/kmahelona) +- [@monkeywithacupcake](https://github.com/monkeywithacupcake) +- [@Numerico](https://github.com/Numerico) +- [@paddatrapper](https://github.com/paddatrapper) +- [@q84fh](https://github.com/q84fh) +- [@rjhelms](https://github.com/rjhelms) +- [@Robbt](https://github.com/Robbt) +- [@samkitk](https://github.com/samkitk) +- [@teotikalki](https://github.com/teotikalki) +- [@valerio-bozzolan](https://github.com/valerio-bozzolan) +- [@xabispacebiker](https://github.com/xabispacebiker) +- [@zklosko](https://github.com/zklosko) + + + +## Installation + +The main installation docs may be found at [https://libretime.org/install/](https://libretime.org/install). They describe a "developer" install using the bundled `install` script. + +We are preparing packages for supported distros and you can take those for a spin if you would like to. Usually the packages get built pretty soon after a release is published. If the current version is not available from the below sources you should wait for a while until they get uploaded. + +- [Ubuntu packages](https://github.com/LibreTime/libretime-debian-packaging/releases) +- [Debian packages](https://github.com/LibreTime/libretime-debian-packaging/releases) +- [CentOS packages](https://build.opensuse.org/package/show/home:radiorabe:airtime/libretime) + +Please reference these links for further information on how to install from packages. The install docs will get updated to show how to install packages once we have validated that the packages work properly and when the packages are available from a repository allowing you to automate updating to a new version. + + + +## Updating + +See [the docs](http://libretime.org/manual/upgrading/) for complete information on updating. Please ensure that you have proper [backups](http://libretime.org/manual/backing-up-the-server/) and a rollback scenario in place before updating. +If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity. + +If you installed from GitHub you can `git pull` in your local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script. + +### Updating from 3.0.0-alpha, 3.0.0-alpha.1 and, 3.0.0-alpha.2 + +The configuration file structure has changed. Please move the contents of the `/etc/airtime/cloud_storage.conf` and `/etc/airtime/rabbitmq-analyzer.ini` files into the main `/etc/airtime/airtime.conf`. In all known cases you need to add the following section to the file. + +```ini +[current_backend] +storage_backend=file +``` + +You can then remove the files and the symlink. + +```bash +rm /etc/airtime/cloud_storage.conf \ + /etc/airtime/rabbitmq-analyzer.ini \ + /etc/airtime/production +``` + +While you're at you may also want to remove the `amazon_s3` section if it was in any of the files. + +Analyzer grabs all the needed info from the main `airtime.conf` file starting with `3.0.0-alpha.8`. + + + +## 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. + + + +### Installer Issues + +The installer is generally a bit unstable, we hope to be able to offer some reasonable packages at some point. Some of the GUI driven parts before the first login are also in a somewhat questionable state, ymmv. + +For now the installer distro selection is pretty good at auto-detecting your os and usually does an ok job depending on your distro. You should usually not need to pass a --distribution and --release parameter, those are still supported for the time being but their use is not recommended. + +The UI works best if you don't use it in an opinionated fashion and change just the bare minimal. + +If you want a secure environment you should work through the [preparing the server](https://libretime.org/install#preparing-the-server) docs (up until the dragons) and be prepared to fix some of the issues the installer gets wrong manually by hacking the config file after the fact. + +If you want to skip the installer GUI completely you can configure LibreTime using `airtime_mvc/build/airtime.example.conf` as an template. Due to some python/PHP differences you must remove all comments from the example to use it 😞. You'll also have to create some folder structures manually and check if the music dir got properly created directly in the database. Referencing a second `install -fiap` install on a non productive system for reference can help with this type of bootstrap. + + + +### Media-Monitor config needs manual removing + +If you are using the `install` script you should most likely remove the `[media-monitor]` config section from your `/etc/airtime/airtime.conf` file to ensure you do not run into the problems described in +https://github.com/LibreTime/libretime/issues/450. We recommend you do this before running the update since there are no known LibreTime releases that depend on the config value. + + + +### Outdated silan reports unreliable cue in/out information + +Out of the box the installer installs a broken, outdated version of silan (0.3.2) on some Ubuntu 16.04. CentOS does not have upstream packages and you may either install from source or use the [0.3.3 packages](https://github.com/radiorabe/centos-rpm-silan) from [RaBe APEL](https://build.opensuse.org/project/show/home:radiorabe:audio). + +Check your version of silan by running `silan --version`. This should report `0.3.3` or higher. If not please see the [Silan Installation](https://github.com/LibreTime/libretime/wiki/Silan-Installation) wiki page for more details & workarounds. + +tldr: **[Silan Installation](https://github.com/LibreTime/libretime/wiki/Silan-Installation)** + + + +### No watched folder support + +Currently LibreTime does not support watching folders. Uploading files through the web interface works fine and can be automated via a REST API. Re-implementing watched folder support is on the roadmap. Please consider helping out with the code to help speed things along if you want to use the feature. + + + +### No line in support + +This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. + + + +### Playout won't work if locale is missing + +Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. + +You can set up the locale using a combination of the following commands. You might also want to consult the documentation of your VPS provider as it may contain an official way to set up locales when provisioning a VPS. + +```bash +# Set locale using systemds localectl +localectl set-locale LANG="en_US.utf8" +``` + +These instructions do not seem to work on all Debian based distros so you might need to use `update-locale` as follows. + +``` +#Purge all locales but en_US.UTF-8 +sudo locale-gen --purge en_US.UTF-8 +#Populate LANGUAGE= +sudo update-locale LANGUAGE="en_US.UTF-8" +``` + + + +### Lack of i18n toolchain is disturbing + +Some translations might miss the tarball. They didn't get lost, but the build chain needs fixing. Work is in #301 and additional work is needed as it has become clear that we probably want to support bidirectional translation syncing with zanata. diff --git a/docs/releases/3.0.0-alpha.10.md b/docs/releases/3.0.0-alpha.10.md index 5543440ef..305a8af6c 100644 --- a/docs/releases/3.0.0-alpha.10.md +++ b/docs/releases/3.0.0-alpha.10.md @@ -1,12 +1,26 @@ ---- -title: LibreTime 3.0.0 alpha 10 ---- +The complete LibreTime documentation is available at [libretime.org](http://libretime.org). -The full tarball for the **3.0.0-alpha.10** release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.10/libretime-3.0.0-alpha.10.tar.gz). +The full tarball for the `3.0.0-alpha.10` release of LibreTime is available [here](https://github.com/LibreTime/libretime/releases/download/3.0.0-alpha.10/libretime-3.0.0-alpha.10.tar.gz). Since this is an alpha release there will be bugs in the code. -Please report new issues and/or feature requests in the [issue tracker](https://github.com/LibreTime/libretime/issues). Join our [discourse](https://discourse.libretime.org/) or chat to us on our [Mattermost](https://chat.libretime.org/) instance if you need help and for general discussion. +Please report new issues and/or feature requests in [the issue tracker](https://github.com/LibreTime/libretime/issues). Join our [discourse](https://discourse.libretime.org/) or chat to us on our [Mattermost instance](https://chat.libretime.org/e) if you need help and for general discussion. + +## Table of Contents + +- [Features](#features-3.0.0-alpha.10) +- [Bugfixes](#bugfixes-3.0.0-alpha.10) +- [Deprecated Features](#deprecated-3.0.0-alpha.10) +- [Contributors](#contributors-3.0.0-alpha.10) +- [Installation](#install-3.0.0-alpha.10) +- [Updating](#update-3.0.0-alpha.10) +- [Known Issues](#issues-3.0.0-alpha.10) + - [Interface Customization Issues](#issues-interface-issues-3.0.0-alpha.10) + - [No watched folder support](#issues-watched-3.0.0-alpha.10) + - [No Line In recording support](#issues-line-in-3.0.0-alpha.10) + - [Playout won't work if locale is missing](#issues-no-locale-3.0.0-alpha.10) + + ## Features @@ -17,6 +31,8 @@ Please report new issues and/or feature requests in the [issue tracker](https:// - Move Python scripts into `/usr/local/bin` - Add REST API v2 (unstable and subject to change) + + ## Bug Fixes - Renamed airtime_analyzer to libretime-analyzer @@ -30,6 +46,8 @@ Please report new issues and/or feature requests in the [issue tracker](https:// - Clean up CORS setup in the installer - Pin the `setuptools` version to ensure older versions of LibreTime can still be installed + + ## Deprecated Features - Removed broken Soundcloud integration @@ -38,24 +56,28 @@ Please report new issues and/or feature requests in the [issue tracker](https:// - Removed SysV and Upstart init system files - Removed broken My Podcasts feature + + ## Contributors The LibreTime project wants to thank the following contributors for authoring PRs to this release: -- [@jooola](https://github.com/jooola) -- [@paddatrapper](https://github.com/paddatrapper) -- [@xabispacebiker](https://github.com/xabispacebiker) -- [@malespiaut](https://github.com/malespiaut) -- [@zklosko](https://zklosko.github.io) -- [@brekemeier](https://github.com/brekemeier) -- [@jeromelebleu](https://github.com/jeromelebleu) -- [@danielhjames](https://github.com/danielhjames) -- [@rjhelms](https://github.com/rjhelms) -- [@hairmare](https://github.com/hairmare) +- @jooola +- @paddatrapper +- @xabispacebiker +- @malespiaut +- @zklosko +- @brekemeier +- @jeromelebleu +- @danielhjames +- @rjhelms +- @hairmare + + ## Installation -The main installation docs may be found [here](../admin-manual/setup/install.md). They describe a "developer" install using the bundled `install` script. +The main installation docs may be found at [https://libretime.org/install/](https://libretime.org/install). They describe a "developer" install using the bundled `install` script. We are preparing packages for supported distros and you can take those for a spin if you would like to. Usually the packages get built pretty soon after a release is published. If the current version is not available from the below sources you should wait for a while until they get uploaded. @@ -65,18 +87,20 @@ We are preparing packages for supported distros and you can take those for a spi Please reference these links for further information on how to install from packages. The install docs will get updated to show how to install packages once we have validated that the packages work properly and when the packages are available from a repository allowing you to automate updating to a new version. -If you want to skip the installer GUI completely you can configure LibreTime using `legacy/build/airtime.example.conf` as an template. Due to some Python/PHP differences you must remove all comments from the example to use it 😞. You'll also have to create some folder structures manually and check if the music dir got properly created directly in the database. Referencing a second install -fiap install on a non productive system for reference can help with this type of bootstrap. +If you want to skip the installer GUI completely you can configure LibreTime using `legacy/build/airtime.example.conf` as an template. Due to some python/PHP differences you must remove all comments from the example to use it 😞. You'll also have to create some folder structures manually and check if the music dir got properly created directly in the database. Referencing a second `install -fiap` install on a non productive system for reference can help with this type of bootstrap. + + ## Updating -See [the docs](../admin-manual/backup.md) for complete information on updating. Please ensure that you have proper backups and a rollback scenario in place before updating. +See [the docs](https://libretime.org/docs/upgrading) for complete information on updating. Please ensure that you have proper [backups](https://libretime.org/docs/backing-up-the-server) and a rollback scenario in place before updating. If the update does not go smoothly, it may cause significant downtime, so you should always have a fallback system available during the update to ensure broadcast continuity. If you installed from GitHub you can `git pull` in your local working copy and re-run the `./install` script with the same `--web-root` and `--web-user` arguments you used during the initial install. Tarball users can leave out the git pull part and just call the new version of the install script. Once the update has taken place, you will need to run the following commands to clean up old scripts and configuration: -```bash +``` # Remove the old packages sudo pip3 uninstall \ airtime-playout \ @@ -120,22 +144,32 @@ sudo rm -f \ /usr/bin/sqlformat ``` + + ## 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. +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. + + ### Interface Customization Issues The UI works best if you don't use it in an opinionated fashion and change just the bare minimal. + + ### No watched folder support Currently LibreTime does not support watching folders. Uploading files through the web interface works fine and can be automated via a REST API. Re-implementing watched folder support is on the roadmap. Please consider helping out with the code to help speed things along if you want to use the feature. This is tracked in [#70](https://github.com/LibreTime/libretime/issues/70). + + ### No line in support This feature went missing from LibreTime due to the fact that we based our code off of the saas-dev branch of legacy upstream and support for recording hasn't been ported to the new airtime analyzer ingest system. #42 currently tracks the progress being made on line in recording. This is tracked in [#42](https://github.com/LibreTime/libretime/issues/42). + + ### Playout won't work if locale is missing Some minimal OS installs do not have a default locale configured. This only seems to affect some VPS installs as they often do not have a locale setup in the default images provided. This is tracked in [#317](https://github.com/LibreTime/libretime/issues/317). @@ -147,11 +181,13 @@ You can set up the locale using a combination of the following commands. You mig localectl set-locale LANG="en_US.utf8" ``` -These instructions do not seem to work on all Debian based distros so you might need to use update-locale as follows. +These instructions do not seem to work on all Debian based distros so you might need to use `update-locale` as follows. -```bash +``` #Purge all locales but en_US.UTF-8 sudo locale-gen --purge en_US.UTF-8 #Populate LANGUAGE= sudo update-locale LANGUAGE="en_US.UTF-8" ``` + +