PipeWire

MediaMIT

Audio and video server for Linux, handling routing, capture and low-latency processing.

Latest 1.6.8 · by PipeWireWebsiteRSS

Release activity

Release activity — 10 releases across 10 days since Feb 19, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Feb 19, 2026. Older weeks are hidden at this screen width.
JunJulAugSep
SundayNo releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026No releases on Aug 23, 2026No releases on Aug 30, 2026No releases on Sep 6, 2026No releases on Sep 13, 2026
MondayNo releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026No releases on Aug 17, 2026No releases on Aug 24, 2026No releases on Aug 31, 2026No releases on Sep 7, 2026No releases on Sep 14, 2026
TuesdayNo releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026No releases on Aug 18, 2026No releases on Aug 25, 2026No releases on Sep 1, 2026No releases on Sep 8, 2026
WednesdayNo releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026No releases on Aug 19, 2026No releases on Aug 26, 2026No releases on Sep 2, 2026No releases on Sep 9, 2026
ThursdayNo releases on Jun 4, 2026No releases on Jun 11, 20261 release on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 20261 release on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026No releases on Aug 20, 2026No releases on Aug 27, 2026No releases on Sep 3, 2026No releases on Sep 10, 2026
FridayNo releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026No releases on Aug 14, 2026No releases on Aug 21, 2026No releases on Aug 28, 2026No releases on Sep 4, 2026No releases on Sep 11, 2026
SaturdayNo releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026No releases on Aug 22, 2026No releases on Aug 29, 2026No releases on Sep 5, 2026No releases on Sep 12, 2026

10 releases since Feb 19, 2026

Changelog

1.6.8

Latest
Added 1
  • Add normalize and latency options to the SOFA filter
Fixed 12
  • Fix a data race in JACK that could cause lost MIDI events in ardour
  • Avoid some graph recalculations, which fixes a bug when suspending a node while it is active
  • Do Content-Length and allocation check in RAOP to avoid OOM errors
  • Fix a potential memory leak in the error path of client-node
  • Fix filter-graph dynamic graph updates
  • Avoid 100% CPU when unplugging a card

From PipeWire

PipeWire 1.6.8 (2026-07-09)

This is a bugfix release that is API and ABI compatible with the previous 1.6.x releases.

Highlights
  • Fix a data race in JACK that could cause lost MIDI events in ardour.
  • Fix some unbounded memory allocations.
  • Various small fixes.
PipeWire
  • Avoid some graph recalcs, which fixes a bug when suspending a node while it is active.
Modules
  • Do Content-Length and allocation check in RAOP to avoid OOM errors.
  • Fix a potential memory leak in the error path of client-node. (#5348)
SPA
  • Fix filter-graph dynamic graph updates.
  • Avoid 100% when unplugging a card.
  • Fix filter-graph volumes when the filter is loaded inside a node with hardware volume. (#5344)
  • Add normalize and latency options to the SOFA filter. (#5322)
Bluetooth
  • Fix a potential leak when transport fails to start.
Pulse-server
  • Avoid stack exhaustion via unbounded alloca.
JACK
  • Fix a data race in jack_port_get_buffer() when called from concurrent threads, like in ardour. (#5324)
GStreamer
  • Skip invalid crop metadata.
  • Avoid crash because metadata listener was registered twice.
View originalPermalink
How 1.6.8 went

1.6.7

Fixed 8
  • Fix a scheduler regression where some driver nodes would not run correctly and cause sync issues
  • Fix a race issue with suspend on samplerate changes that can cause ports to be silent
  • Fix locking issues in the RT portal by reducing the DBus timeout and disabling portal RT for pipewire and the pulse server
  • Fix potential incorrect delay in combine-stream
  • Fix a regression in ALSA period_size calculations for non-power-of-2 periods
  • Fix a potential segfault when removing a card because of bad ALSA api usage
  • Emit a route param update when card properties change to ensure jack port updates are reflected correctly
  • Make sure we don't deal with uninitialized spa_dict

From PipeWire

PipeWire 1.6.7 (2026-06-18)

This is a bugfix release that is API and ABI compatible with the previous 1.6.x releases.

Highlights
  • Fix a race issue where some ports would stay silent after a rate change.
  • Fix sync regressions between ALSA cards in some cases.
  • Small fixes and improvements.
PipeWire
  • Fix a scheduler regression where some driver nodes would not run correctly and cause sync issues. (#5210)
  • Fix a race issue with suspend on samplerate changes. It can cause ports to be silent. (#3547)
Modules
  • There are some locking issues in the RT portal, for now reduce the DBus timeout to something more sane. Also disable portal RT for pipewire and the pulse server. These are not usually run in a sandbox and can go directly to RTKit.
  • Fix potential incorrect delay in combine-stream.
SPA
  • Fix a regression in ALSA period_size calculations. For non-power-of-2 periods, it would in some cases round down a a power-of-2, causing a mismatch between requested and configured period_size. (#5302)
  • Fix a potential segfault when removing a card because of bad ALSA api usage. (#5255)
  • Emit a route param update when card properties change. Otherwise, jack port updates are not always reflected correctly.
Misc
  • Make sure we don't deal with uninitialized spa_dict.
View originalPermalink
How 1.6.7 went

1.6.6

Changed 1
  • Relax LADSPA path loading to allow absolute paths when loading modules from a config file, blocking them only in unsafe cases
Fixed 11
  • Fix a bug in the server code that could leave snap clients without sound
  • Fix volume restore issue in filter-graph when using custom volume controls
  • Fix the meta permission check on metadata
  • Make sure the server does not accept too many file descriptors
  • Fix potential race condition with buffer allocation and Suspend
  • Fix a regression in the dither noise that was silent when no input was available

From PipeWire

PipeWire 1.6.6 (2026-05-26)

This is a bugfix release that is API and ABI compatible with the previous 1.6.x releases.

Highlights
  • Fix a bug in the server code that could leave snap clients without sound. (#5270)
  • Relax LADSPA path loading again, absolute paths are only blocked in unsafe cases.
  • Fix a volume restore issue in filter-graph when using custom volume controls.
  • Small fixes and improvements.
PipeWire
  • Fix the meta permission check on metadata.
  • Make sure we don't accept too many fds.
  • Fix potential race with buffer allocation and Suspend. (#3547)
SPA
  • Relax LADSPA path loading. Absolute paths are allowed when loading modules from a config file. They are now only blocked when loading the pulse ladspa modules and filter-chains in nodes because those can load ladspa plugins in other processes. (#5222)
  • Fix a regression in the dither noise that was silent when no input was available. (#5260)
  • Fix volume initialization in filter-graph. (#5192)
Pulse-server
  • Fix a bug in the server code that could leave snap clients without sound. (#5270)
  • Be more careful with the stream suspend messages and only send them when the stream is monitoring. (#5273)
  • Fix monitor mode in pavucontrol.
Tools
  • Fix midifile SysEx writing in pw-cat and ensure the header is written correctly on close.
  • Make sure pw-cat does not try to convert Midi to UMP.
View originalPermalink
How 1.6.6 went

1.6.5

Changed 1
  • Improve renegotiation in audioconvert when the graph rate changes and the resampler was disabled
Fixed 6
  • Fix an issue in pw-filter where buffers could end up stuck on a port and the port becomes silent
  • Improve ROC receiver start/stop and fix memory leaks
  • Fix the midi buffer size in jack-tunnel
  • Rate limit out-of-buffers errors
  • Partially revert the line-out mute patch that was breaking things and leaving audio muted when plugging-unplugging jacks
  • Fix potential crash in alsa when logging
Removed 1
  • Remove the pipe filter from filter-graph as it is broken by design and a security nightmare
Security 1
  • Add extra security checks and hardening fixes to pulse-server

From PipeWire

PipeWire 1.6.5 (2026-05-13)

This is a bugfix release that is API and ABI compatible with the previous 1.6.x releases.

Highlights
  • Fix muted output in some cases.
  • Removed the pipe filter in filter-graph.
  • More fixes and improvements.
PipeWire
  • Fix an issue in pw-filter where it could end up in a loop where buffers are stuck on a port and the port becomes silent. (#5249)
Modules
  • Improve ROC receiver start/stop, fixes memory leaks. (#5250)
  • Remove the pipe filter from filter-graph, it's broken by design and a security nightmare.
  • Fix the midi buffer size in jack-tunnel.
SPA
  • Rate limit out-of-buffers errors. (#5249)
  • Partially revert the line-out mute patch, it seems to break things and leave audio muted when plugging-unplugging jacks. (#5246)
  • Improve renegotiation in audioconvert when the graph rate changes and the resampler was disabled. (#4933).
  • Fix potential crash in alsa when logging.
Pulse-server
  • A whole bunch of extra security checks and hardening fixes.
View originalPermalink
How 1.6.5 went

1.6.4

Changed 2
  • Allow negative gain in mixer
  • Improve alsa-seq port names, add : between client and port
Fixed 7
  • Refuse to load plugins and crash when pw_init() was not called
  • Fix LADSPA plugin loading, support LADSPA_PATH ending with /
  • Fix segfault in alsa-seq when removing devices in some cases
  • ACP: don't override user-selected port on availability changes
  • Ignore non DSP ports to avoid emitting extra callbacks in JACK
  • Fix crop metadata in GStreamer
  • Fix WAVEX saving in pw-cat

From PipeWire

PipeWire 1.6.4 (2026-04-22)

This is a bugfix release that is API and ABI compatible with the previous 1.6.x releases.

Highlights
  • Small improvements and seqfault fixes.
  • Try to not emit ports that JACK doesn't understand. Fixes glitches in ardour and other JACK apps.
PipeWire
  • Refuse to load plugins and crash when pw_init() was not called. (!2784)
SPA
  • Fix LADSPA plugin loading, support LADSPA_PATH ending with /
  • Fix segfault in alsa-seq when removing devices in some cases. (#5221)
  • Allow negative gain in mixer. (#5228)
  • Improve alsa-seq port names, add : between client and port. (#5229)
  • ACP: don’t override user-selected port on availability changes.
Bluetooth
  • Backport some important fixes and minor improvements.
JACK
  • Ignore non DSP ports to avoid emitting extra callbacks.
GStreamer
  • Fix crop metadata.
Tools
  • Fix WAVEX saving in pw-cat. (#5233)
View originalPermalink
How 1.6.4 went

1.6.3

Changed 2
  • Avoid MIDI conversions to and from UMP to reduce conversions in most nodes
  • Increase the notify queue in JACK to avoid losing notifications
Fixed 11
  • Fix regression with sample rate changes
  • Fix potential integer overflow in memory mapping
  • Align RTP timestamps to make RAOP work on more devices
  • Avoid crashes in RTP streams because of concurrent event emission
  • Avoid invalid file descriptor usage in native-protocol with specially crafted messages
  • Fix properties and params enumeration in filter-chain

From PipeWire

PipeWire 1.6.3 (2026-04-09)

Highlights
  • Fix some RAOP compatibility regressions.
  • Fix segfault in the mixer in some cases.
  • Most nodes now produce and consume MIDI1 again and avoid conversions to and from UMP.
  • Various small fixes and improvements.
PipeWire
  • Fix regression with sample rate changes. (#5207)
  • Fix a potential integer overflow in the memory mapping.
Modules
  • Align RTP timestamps to make RAOP work on more devices. (#5167)
  • Avoid crashes in RTP streams because of concurrent event emission.
  • Avoid invalid fd usage in native-protocol with special crafted messages.
  • Fix properties and params enumeration in filter-chain (#5202).
SPA
  • Fix compilation with -Werror=discarded-qualifiers
  • Avoid OOB read in mix matrix. (#5176)
  • Avoid loading plugins from absolute paths that are not in the search path.
  • Avoid MIDI conversions to and from UMP. (#5183)
Bluetooth
  • Backport some fixes and avoid some crashes.
JACK
  • Make sure timebase callback is never called with 0 frames.
  • Increase the notify queue to avoid losing notifications.
View originalPermalink
How 1.6.3 went

1.4.11

Added 1
  • Add priority.session to sink/sources to make it possible to change the default device
Changed 5
  • Improve filter-graph setup and reset
  • Improve filter-graph multichannel handling
  • Support link-local addresses in RAOP and snapcast
  • Mark libcamera properties as write-only
  • Improve the JSON parser to end a symbol at container start
Fixed 5
  • Fix potential invalid memory free and fd close in client-node causing crashes
  • Fix issues with filter-graph without channel layout
  • Fix segfaults in JACK applications when jack_port_by_id() returns NULL
  • Fix jack_port_type_id() compatibility with JACK1/2
  • Fix jack-server port registration

From PipeWire

PipeWire 1.4.11 (2026-03-19)

This is a small bugfix release that is API and ABI compatible with previous 1.x releases.

Highlights
  • Fix a potential invalid memory free and fd close, causing crashes.
  • Improve filter-graph setup and channel handling.
  • Fix a segfault in some JACK apps (Ardour) when a lot of objects are created/destroyed because a function was not expected to return NULL.
  • Some more small fixes and improvements.
Modules
  • Add priority.session to some of the sink/sources to make it possible to change the default device. (#5125)
  • Support link-local addresses in RAOP and snapcast. (#4830)
  • Fix potential invalid mem and fd free in client-node. (#5162)
SPA
  • Improve filter-graph setup and reset.
  • Improve filter-graph multichannel handling. (#4866)
  • Fix some issues with filter-graph without channel layout. (#5084)
  • Mark libcamera properties as write-only.
  • Improve the JSON parser, container start ends a symbol.
JACK
  • Avoid segfaults because jack_port_by_id() returns NULL. (#3512)
  • Fix jack_port_type_id() compatibility with JACK1/2.
  • Fix jack-server port registration.
View originalPermalink
How 1.4.11 went

1.6.2

Added 1
  • Support ACP_IGNORE_DB in udev
Changed 3
  • Use 0x as a prefix for hex values
  • Mark Props as write-only in libcamera
  • Optimize audio mixer
Fixed 5
  • Prevent potential crash when invalid memory was freed
  • Don't try to free invalid memory or close invalid file descriptors when the client aborted before allocating buffer memory
  • Fix initialization of control properties for SOFA and biquads in the filter-graph
  • Fix min/max default values for LADSPA and LV2
  • Fix jack_port_type_id() to return values compatible with JACK1/2
Removed 1
  • Remove optimization to skip shared memory in links that causes problems later

From PipeWire

PipeWire 1.6.2 (2026-03-16)

This is a bugfix release that is API and ABI compatible with the previous 1.6.x releases.

Highlights
  • Fix a potential crash when the wrong memory was freed.
  • Fix a optimization with shared memory over some links that could cause errors later on.
  • Fix SOFA filter and default control input in LADSPA and LV2.
  • Some other small fixes and improvements.
PipeWire
  • Remove an optimization to skip share mem in links, it causes problems later on. (#5159)
Modules
  • Don't try to free invalid memory or close invalid fds when the client aborted before allocating buffer memory. (#5162)
SPA
  • support ACP_IGNORE_DB in udev.
  • Use 0x as a prefix for hex values.
  • Mark Props as write-only in libcamera.
  • Small optimization in the audio mixer.
  • Fix initialization of control properties for SOFA and biquads in the filter-graph. (#5152)
  • Fix min/max default values for LADSPA and LV2.
JACK
  • Fix jack_port_type_id(). Return values that are compatible with JACK1/2.

Fixes:

fb47e739d9f605772b5098421a809537c108d30c Fix compilation

View originalPermalink
How 1.6.2 went

1.6.1

Changed 2
  • Remove node.link-group from driver nodes
  • Improve the timestamps on buffers
Fixed 5
  • Fix socket activation, which could cause a failure to start PipeWire in some setups
  • Fix crashes in many JACK apps when nodes/ports are quickly added/removed such as when there are notifications
  • Fix playback of encoded formats in pw-cat
  • Fix the libcamera stop sequence
  • Never return NULL from jack_port_by_id()

From PipeWire

PipeWire 1.6.1 (2026-03-09)

This is a bugfix release that is API and ABI compatible with the previous 1.6.x releases.

Highlights
  • Fix socket activation, which could cause a failure to start PipeWire in some setups.
  • Fix crashes in many JACK apps when nodes/ports are quickly added/removed such as when there are notifications (like when changing the volume in KDE).
  • Fix playback of encoded formats in pw-cat again.
  • Some other smaller fixes and improvements.
Modules
  • Fix socket activation. (#5140)
  • Remove node.link-group from driver nodes.
SPA
  • Fix the libcamera stop sequence.
JACK
  • Never return NULL from jack_port_by_id(). (#3512)
GStreamer
  • Improve the timestamps on buffers.
Tools
  • Fix playback of encoded formats. (#5155)

Suggested patches:

4c2692342efa7852cadd8535548a30745709e083 See #5159

View originalPermalink
How 1.6.1 went
1.6.0

1.6.0 (Penicillin)

Added 17
  • Add LDAC decoder for bluetooth
  • Add SpanDSP for bluetooth packet loss concealment
  • Add safe parsing and building of PODs in shared memory
  • Add support for metadata features to signal sync_timeline metadata RELEASE operation
  • Add support for node commands and events to contain extra user data
  • Add support for compressed format helper functions to create and parse formats
Changed 4
  • Increase max channels support to 128
  • Add locking with priority inversion to loops
  • Parse channel positions from EDID data
  • Set channel maps on ALSA
Removed 1
  • Remove support for v0 clients

From PipeWire

PipeWire 1.6.0 (2026-02-19)

This is the 1.6 release that is API and ABI compatible with previous 1.4.x releases.

This release contains some of the bigger changes that happened since the 1.4 release last year, including:

  • An LDAC decoder was added for bluetooth.
  • SpanDSP for bluetooth packet loss concealment.
  • Safe parsing and building of PODs in shared memory.
  • Added support for metadata features. This is used to signal that the sync_timeline metadata supports the RELEASE operation.
  • Node commands and events can contain extra user data.
  • Support for more compressed format helper functions to create and parse formats.
  • Support for compile time max channels. The max channels was increased to 128.
  • Support for audio channel layouts was added. This makes it possible to set "audio.layout" = "5.1" instead of the more verbose audio.position = [ FL, FR, FC, LFE, SL, SR ]
  • Support for Capability Params was added. This can be used to negotiate capabilities on a link before format and buffer negotiation takes place.
  • More HDR colortypes are added.
  • Loops now have locking with priority inversion. Most code was adapted to use the faster locks instead of epoll/eventfd to update shared state.
  • Channel position are parsed from EDID data.
  • Channel maps are now set on ALSA.
  • The resampler now supports configurable window functions such as blackman and kaiser windows. The phases are now also calculated with fixed point math, which makes it more accurate.
  • Many bluetooth updates and improvements.
  • The filter-graph has an ffmpeg and ONNX plugin. The ffmpeg plugin can run an audio AVFilterGraph. The ONNX plugin can run some models such as the silero VAD.
  • Many AVB updates. Work is ongoing to merge the Milan protocol.
  • Support for v0 clients was removed.
  • The jack-tunnel module can now autoconnect ports.
  • ROC support multitrack layouts now.
  • Many RTP updates.
  • rlimits can now be set in the config file.
  • Thread reset on fork can now be configured. JACK clients expect this to be disabled.
  • node.exclusive is now enforced.
  • node.reliable enables reliable transport.
  • pw-cat supports sysex and midiclip as well as some more uncompressed formats. Options were added to set the container and codec formats as well as list the supported containers, codecs, layouts and channel names.
  • Documentation updates.
Highlights (since the previous 1.5.85 prerelease)
  • Fix a 64 channel limit in the channel mixer.
  • Fix an fd leak in pulse-server in some error cases.
  • Some small fixes and improvements.
PipeWire
  • Fix Capability leaks.
  • Return an error in pw-stream get-time when not STREAMING.
  • Set the current time in the driver position before starting. Some followers might look at it.
Modules
  • Improve default channel handling in module-filter-chain.
  • Support source and sink only module-filter-chain.
  • Tweak the filter-chain spatializer example gains.
  • Handle new snapcast service type. (#5104)
  • Implement socket activation without depending on libsystemd.
  • Support ipv4 link-local addresses in RAOP and snapcast. (#4830)
  • Forward ROC-toolkit logs to pipewire.
SPA
  • Improve default channel handling in filter-graph. (#5084)
  • Clamp control values to min/max. (#5088)
  • Support mode JBL gaming headsets.
  • Handle some SOFA errors and add gain option.
  • Really handle more than 64 channels in the channelmixer. (#5118)
  • Allow removal in ALSA-udev of ignored cards.

pulse-server

  • Fix mono mixdown query.
  • Expose headset autoswitch message.
  • Handle EPROTO errors by disconnecting.
  • Handle timeouts in play-sample streams. (#5099)
GStreamer
  • Fix crop metadata.
  • Fix a race in the buffer release function.
Tools
  • Improve format support and detection in pw-cat.
  • Add some more options to pw-cat to list supported containers and formats. (#5117)
View originalPermalink
How 1.6.0 went
View all

Discussion