Skip to content

Commit

Permalink
Update 2023-07-21-liquidsoap-2.2.0.md
Browse files Browse the repository at this point in the history
  • Loading branch information
toots authored Jul 21, 2023
1 parent 383e0b1 commit 4781d87
Showing 1 changed file with 9 additions and 44 deletions.
53 changes: 9 additions & 44 deletions _posts/2023-07-21-liquidsoap-2.2.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,7 @@ See below for a detailed list!

## ✨ New features

<h3 class="liq-padding-release-feature">🎛️ Multitrack</h3>

<details>
<summary></summary>
### 🎛️ Multitrack

This is by far the biggest change in this relase! This brings the ability to demux and remux tracks inside sources, making it possible
to:
Expand All @@ -26,12 +23,8 @@ to:

And much more! The full documentation is [here](https://www.liquidsoap.info/doc-2.2.0/multitrack.html). We plan on expanding this
support in the future in particular to allow track selection based on language, encoded content etc.
</details>

<h3 class="liq-padding-release-feature">🏷️ HLS metadata</h3>

<details>
<summary></summary>
### 🏷️ HLS metadata

At last! We now support metadata in HLS streams using a timed ID3 stream for `mpegts` container and plain ID3v2 tags for
`adts`, `mp3`, `ac3` and `eac3` formats. There is currently no support for metadata with `mp4` containers.
Expand All @@ -42,47 +35,32 @@ to production. It can be turned off by setting `id3` to false on your HLS stream
Full documentation is [here](https://www.liquidsoap.info/doc-2.2.0/hls_output.html#metadata).
</details>

<h3 class="liq-padding-release-feature">🎨 Colored logs<h3></h3>

<details>
<summary></summary>
### 🎨 Colored logs

Small change but not the least important! Logs are now colored by default when printed on the console. This finally makes it possible
to read logs with high level of details!

We are aware of the need for more developer tooling and quality of life improvements! In the next release cycle, we hope to work on code
formatting, highlighting and more!
</details>

<h3 class="liq-padding-release-feature">🕸️ New HTTP API</h3>

<details>
<summary></summary>
### 🕸️ New HTTP API

Interacting with your scripts is essential and, for this, web interfaces and APIs are really useful. In order to make
our HTTP server easier to use, we wrote a new web API that is very close to node express' API and should be fairly easy to
use! The documentation is [here](https://www.liquidsoap.info/doc-dev/harbor_http.html#nodeexpress-api)

These changes also included a revamping of our SSL support which is now modular and with a new TLS optional support!
</details>

<h3 class="liq-padding-release-feature">🎚️ Native stereotool support</h3>

<details>
<summary></summary>
### 🎚️ Native stereotool support

While commited to open-source through and through, we also do want to meet our users where they are. To this end, it
seems that a lof of them want to use the proprietary stereotool audio processing. Up until this version, the only option
was via the external command line encoder and this was not satisfactory.

With this release, it is now possible to use the shared library distributed by the author, which provides support for
an new `stereotool` internal operator that is much easier to integrate. See the documentation [here](https://www.liquidsoap.info/doc-dev/stereotool.html).
</details>

<h3 class="liq-padding-release-feature">📟 Records enhancements</h3>

<details>
<summary></summary>
### 📟 Records enhancements

As part of the language changes requred for multitrack, we now support the following operations on records:

Expand All @@ -104,21 +82,13 @@ def f(x) =
end
end
```
</details>

<h3 class="liq-padding-release-feature">🪢 Support for YAML parsing/rendering</h3>

<details>
<summary></summary>
### 🪢 Support for YAML parsing/rendering

Following the recent [JSON parsing](https://www.liquidsoap.info/doc-2.2.0/json.html) feature, we now support [YAML parsing](https://www.liquidsoap.info/doc-2.2.0/yaml.html)
in a very similar was as json.
</details>

<h3 class="liq-padding-release-feature">🔮 Memory optimization</h3>

<details>
<summary></summary>
### 🔮 Memory optimization

While we are aware that memory consumption with this release may have increased a bit due to on-going changes, we have done our best to introduce more
ways to control it and understand its usage.
Expand All @@ -132,20 +102,15 @@ native 64-bit floating point numbers.
We also added a new `track.audio.defer` operator that can be used to buffer large amount of audio data without impacting performances.

You can read more about memory utilization in liquidsoap [here](https://www.liquidsoap.info/doc-dev/memory.html).
</details>

<h3 class="liq-padding-release-feature">🐪 Switch to `dune` and javascript runtime</h3>

<details>
<summary></summary>
### 🐪 Switch to `dune` and javascript runtime

While perhaps more exciting to developers, the project has now fully moved to the OCaml `dune` builder. This
provides an extra level of flexibility, In particular, we were able to extract the code that is specific to the
liquidsoap language, that is everything that pertains to parsing/evaluating/type checking without the streaming and
system specific operators and export it as an [online playground](https://www.liquidsoap.info/try/). We're not sure yet
what we'll do with it. It might be possible, for instance, to write a javascript backend to use liquidsoap scripts
with the [Web media APIs](https://developer.mozilla.org/en-US/docs/Web/Media)!
</details>

## 🕵️ Versioning and release assets

Expand Down

0 comments on commit 4781d87

Please sign in to comment.