github savonet/liquidsoap v2.4.1
Liquidsoap 2.4.1

one day ago

This is the first bugfix release of the 2.4.x release cycle!

Most of the heavy lifting in terms of internal rewrite and new features has now been done we are now fully committed to bringing more stability and long-term enhancements to the framework.

This release should be safe to upgrade to for all users on the 2.4.0 release. In general, we strongly suggest migrating your code to our latest release: our resources are limited and the latest stable release if where we put all our efforts to fix bugs.

As usual, we do recommend testing the release on a staging/testing environment before pushing it to your production runtime.

A few new things with this release, mostly to facilitate user's life:

  • Initial metadata support for the %ffmpeg encoder to help support container-level setup such as DVB Service and Provider names (see: #4665)
  • start/stop server/telnet commands for outputs
  • A new settings.syslog.level to help set the syslog level.

Other important enhancements concern clocks and dynamic source collection, which is still a hotspot for us. If you're using a lot of dynamic sources and outputs, make sure to keep in touch with us, we want to keep making this as stable and usable as possible but we do not always think about all the possible use-case!

Lastly, the issues where large covert art binary data kept showing up in logs when logging metadata should finally be fixed! These strings are now tagged as binary internally and filtered out during logging/printing!

Here's the full changelog:

Liquidsoap 2.4.1 (2025-01-10)

New:

  • Added support for explicit metadata to pass to the output
    when creating a %ffmpeg encoder (#4667)
  • Added start/stop telnet commands for outputs.
  • Added settings.syslog.level to set syslog level (#4686)
  • Added active parameter to stereotool and output.stereotool (#4749)
  • Added file.mime.extension to get the file extension's associated
    with a MIME/content-type as registered in settings.http.mime.extnames

Changed:

  • Do not normalize sources in mix by default.
  • Added json.value to make it possible to mix different value
    types when returning json values (#4712)
  • Allow referring to pulseaudio devices by name (#4732)
  • output.shoutcast: make dj argument a getter.
  • Exclude metadata listed in settings.encoder.metadata.cover
    from automatic metadata recoding. (#4690)

Fixed:

  • Fix input.harbor initial metadata when switching with
    fades (#4736)
  • Fix audio artifact in crossfade transitions (#4739)
  • Make sure that sources re-used in source.dynamic are never
    inadvertently cleaned up (#4713)
  • Fix sources not being properly collected (#4670)
  • Raise a proper error on parse error raised during %include
    parsing.
  • Don't print metadata coverart string (#4730)
  • Make sure fetch always fetches a new request in request.dynamic (#4745)
  • Fixed start/stop logic in output.harbor (#4666)
  • Fixed fade.in/fade.out logic w.r.t. override metadata (#4759)
  • Fixed video.cover

Don't miss a new liquidsoap release

NewReleases is sending notifications on new releases.