PipeWire 1.6.7 has been released as the latest maintenance update to the 1.6 series, fixing the JACK compatibility layer, where PipeWire developers resolved a data race in jack_port_get_buffer() when called from multiple threads, which could cause lost MIDI events in applications like Ardour.
Moreover, this update improves memory handling in several areas. It fixes unbounded memory allocations, adds Content-Length and allocation checks in the RAOP module to prevent out-of-memory errors, and addresses a Pulse-server issue that could cause stack exhaustion from unbounded allocation usage.
Elsewhere, the update avoids unnecessary graph recalculations by fixing a bug that could occur when suspending an active node. The modules area also gets a fix for a potential memory leak in the error path of client-node.
The SPA layer sees several filter-graph improvements, including fixes for dynamic graph updates and volume handling when a filter is loaded inside a node with hardware volume. In addition, the SOFA filter now has new normalize and latency options, while PipeWire also fixes a case where unplugging a card could trigger 100% usage.
Bluetooth users get a useful fix for a potential leak when a transport fails to start. On the GStreamer side, PipeWire 1.6.8 skips invalid crop metadata and fixes a crash caused by a metadata listener being registered twice.
For additional details, see the changelog.
PipeWire 1.6.8 is available now from the project’s GitLab release page and source archive. Linux distributions are expected to ship it through their regular update channels.
