| 
									
										
										
										
											2020-08-04 14:30:27 +02:00
										 |  |  | PipeWire 0.3.9 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Fix bad audio in chrome | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Remove some errors that are not real errors. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Fix 100% cpu when disconnecting devices. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improve pulseaudio introspection of formats | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Fix JACK metadata handling, carla can now monitor the | 
					
						
							|  |  |  |   port it creates and insert midi. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Add a new permission bit (M) that is needed to be able | 
					
						
							|  |  |  |   to configure metadata on an object. Improve security of | 
					
						
							|  |  |  |   metadata some more, only allow metadata on objects that | 
					
						
							|  |  |  |   are visible to the client setting the metadata. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Add support for videocrop in the GStreamer elements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improve handling of the runtime directory for the | 
					
						
							|  |  |  |   server sockets. Add some reasonable fallback when | 
					
						
							|  |  |  |   XDG_RUNTIME_DIR is not set, as suggested in the spec. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improve ALSA device names from ACP. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Fix various crasher bugs. One in the pulse layer, one in | 
					
						
							|  |  |  |   the session manager. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Make alsa plugin respect the PIPEWIRE_REMOTE env variable. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Various compile fixes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-04 17:21:15 +02:00
										 |  |  | Older versions: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-28 15:20:04 +02:00
										 |  |  | PipeWire 0.3.8 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Fix an embarrassing crasher in the JACK layer when | 
					
						
							|  |  |  |   metadata keys were removed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Make it possible to add properties to jack clients with | 
					
						
							|  |  |  |   a PIPEWIRE_PROPS env variable. This can be used to make | 
					
						
							|  |  |  |   JACK nodes look like a device (like an effects rack). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improvements in the session manager in how it links | 
					
						
							|  |  |  |   ports. Now it will try to link matching channels first | 
					
						
							|  |  |  |   and be more intelligent otherwise. The session manager | 
					
						
							|  |  |  |   will also configure the stream to the device port | 
					
						
							|  |  |  |   configuration when needed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Add ofono backend for Bluetooth HeadSet support. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improve default source and sink handling. They are now | 
					
						
							|  |  |  |   stored with their id, instead of name, in the metadata. | 
					
						
							|  |  |  |   This makes it work better with JACK because of JACK's | 
					
						
							|  |  |  |   limited name length. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improve environment variables to make it possible to | 
					
						
							|  |  |  |   create and connect to servers other than "pipewire-0". | 
					
						
							|  |  |  |   Implement this in pulseaudio, JACK and alsa layers. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Add an alsa mixer plugin so that alsamixer works with | 
					
						
							|  |  |  |   PipeWire. It will configure the default source/sink | 
					
						
							|  |  |  |   volumes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Fix capture devices. There was something wrong with how | 
					
						
							|  |  |  |   the resampler was used that caused corruption in the | 
					
						
							|  |  |  |   signal when the resampler was active. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - We now ship alsa card paths, profile-sets configuration | 
					
						
							|  |  |  |   files and udev rules so that we don't have to rely on | 
					
						
							|  |  |  |   the pulseaudio ones. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Many build and stability fixes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-21 12:06:39 +02:00
										 |  |  | PipeWire 0.3.7 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improved PulseAudio compatibility. The alsa card profile | 
					
						
							|  |  |  |   code was reused from PulseAudio. Devices now support | 
					
						
							|  |  |  |   all profiles, ports, jack detection, UCM and hardware | 
					
						
							|  |  |  |   mixers that PulseAudio implements. There should not | 
					
						
							|  |  |  |   be (almost) any difference between PipeWire and PulseAudio | 
					
						
							|  |  |  |   in how it presents and manages devices. | 
					
						
							|  |  |  |   Other missing API pieces such as the default sink/source | 
					
						
							|  |  |  |   and move_stream are implemented now.  At this point | 
					
						
							|  |  |  |   it should be possible to replace PulseAudio with the | 
					
						
							|  |  |  |   compatibility layer for those who want to try. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Many fixes and improvements to the GStreamer elements. | 
					
						
							|  |  |  |   pipewiresrc now has the ability to periodically resend | 
					
						
							|  |  |  |   the last frame. This makes it possible for use-cases like | 
					
						
							|  |  |  |   screensharing to only update the screen on changes while | 
					
						
							|  |  |  |   still keeping the client side encoder busy. PipeWire | 
					
						
							|  |  |  |   elements can now also share a connection between them. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improvements to the bluetooth nodes. Dynamically adding | 
					
						
							|  |  |  |   and removing devices should work much smoother now. Many | 
					
						
							|  |  |  |   fixes and improvements to a2dp and sco nodes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Reduced memory usage by using less pre-allocated memory | 
					
						
							|  |  |  |   where possible. JACK clients are especially using less | 
					
						
							|  |  |  |   memory. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Support for passive links is added again. These are links | 
					
						
							|  |  |  |   that don't cause the associated driver to become active. | 
					
						
							|  |  |  |   This makes it possible to have blocks of effects+sinks go | 
					
						
							|  |  |  |   to suspend as a group when not in use. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Both consumers and producers can now ask to renegotiate | 
					
						
							|  |  |  |   the format. This required some cleanups and improvements | 
					
						
							|  |  |  |   to how links and node states were handled. More work is | 
					
						
							|  |  |  |   needed to implement more use cases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Important fixes to how memory is shared with clients. Memory | 
					
						
							|  |  |  |   was not correctly freed in all cases, which would result | 
					
						
							|  |  |  |   in reuse of the wrong memory. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Support for planar formats for audio and video was added. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improved error handling in the session manager. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Metadata is now used to manage default audio source and | 
					
						
							|  |  |  |   sink devices. The session manager will try to link streams | 
					
						
							|  |  |  |   to the default device. Changing the default device will | 
					
						
							|  |  |  |   move streams to the new device. PulseAudio and JACK layers | 
					
						
							|  |  |  |   respect the default source/sinks. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Metadata is used to tag the desired output device for | 
					
						
							|  |  |  |   a stream and the session manager will move streams when | 
					
						
							|  |  |  |   the metadata changes. The PulseAudio layer uses this to | 
					
						
							|  |  |  |   implement the move_stream feature. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Many fixes to the security modules. The session manager now | 
					
						
							|  |  |  |   has a flatpak module that grants permissions to flatpak | 
					
						
							|  |  |  |   apps. The PulseAudio layer now respects the permissions of | 
					
						
							|  |  |  |   objects. Security related properties are made read-only | 
					
						
							|  |  |  |   now. Different access modules can now coexist. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - The portal module has been split up in 2 parts: | 
					
						
							|  |  |  |    1) a part living in the daemon that monitors the portal | 
					
						
							|  |  |  |       dbus owner and tags all clients from this PID. This | 
					
						
							|  |  |  |       part has to run in the daemon in order to securely | 
					
						
							|  |  |  |       tag the clients. | 
					
						
							|  |  |  |    2) a part in the session manager that uses the permission | 
					
						
							|  |  |  |       store to manage the permissions of portal managed | 
					
						
							|  |  |  |       clients. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Older versions: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-10 11:53:32 +02:00
										 |  |  | PipeWire 0.3.6 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Extensive memory leak fixing and stress testing was done. | 
					
						
							|  |  |  |   A big leak in screen sharing with DMA-BUF was fixed. | 
					
						
							|  |  |  | - Compile fixes | 
					
						
							|  |  |  | - Stability improvements in jack and pulseaudio layers. | 
					
						
							|  |  |  | - Added the old portal module to make the Camera portal | 
					
						
							|  |  |  |   work again. This will be moved to the session manager in | 
					
						
							|  |  |  |   future versions. | 
					
						
							|  |  |  | - Improvements to the GStreamer source and sink shutdown. | 
					
						
							|  |  |  | - Fix compatibility with v2 clients again when negotiating | 
					
						
							|  |  |  |   buffers. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-11 13:35:32 +02:00
										 |  |  | PipeWire 0.3.5 | 
					
						
							| 
									
										
										
										
											2020-04-30 17:55:35 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-11 13:35:32 +02:00
										 |  |  | - Compiler fixes | 
					
						
							|  |  |  | - Add pw-midiplay and pw-midirecord aliases | 
					
						
							|  |  |  | - Add pw-mididump tool | 
					
						
							|  |  |  | - Add pw-metadata tool to inspect, add and remove metadata | 
					
						
							|  |  |  |   for objects. | 
					
						
							|  |  |  | - Docs updates, man pages | 
					
						
							|  |  |  | - install alsa config files | 
					
						
							|  |  |  | - Fix linked sink/source in pulseaudio | 
					
						
							|  |  |  | - ratelimit graph processing warnings | 
					
						
							|  |  |  | - improve buffer handling in GStreamer elements | 
					
						
							|  |  |  | - Fix power usage by removing the queue for the alsa | 
					
						
							|  |  |  |   sequencer system announce messages. | 
					
						
							|  |  |  | - Fix metadata clear() method dispatch. | 
					
						
							|  |  |  | - Improve parameter enumeration, make it possible to detect | 
					
						
							|  |  |  |   missing parameters vs no-compatible parameters so that we | 
					
						
							|  |  |  |   can use defaults in the first case and error in the second | 
					
						
							|  |  |  |   case. | 
					
						
							|  |  |  | - Fix cleanup of proxy objects. Stability improvements on | 
					
						
							|  |  |  |   plug/unplug in session manager. | 
					
						
							|  |  |  | - Make it possible to set log level from config file | 
					
						
							|  |  |  | - improve debug of param negotiation errors. Log the | 
					
						
							|  |  |  |   parameters to stderr/journal. | 
					
						
							|  |  |  | - Make it possible to configure global logger | 
					
						
							|  |  |  |   implementation. | 
					
						
							|  |  |  | - Fix NEON detection | 
					
						
							|  |  |  | - JACK and PulseAudio compatibility improvements | 
					
						
							| 
									
										
										
										
											2020-04-30 17:55:35 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-11 13:35:32 +02:00
										 |  |  | PipeWire 0.3.4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - A quick update with some important stability fixes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-30 13:30:18 +02:00
										 |  |  | PipeWire 0.3.3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - NEON optimizations for audio conversion (32 and 64 bits) | 
					
						
							|  |  |  | - rework of session manager implementation | 
					
						
							|  |  |  | - Add option to disable modules in the session manager | 
					
						
							|  |  |  | - Release midi hardware devices when suspended | 
					
						
							|  |  |  | - various build fixes | 
					
						
							|  |  |  | - Clean up options of various utils | 
					
						
							|  |  |  | - Stability improvements | 
					
						
							|  |  |  | - Mayor improvements in pulseaudio emulation. Improved | 
					
						
							|  |  |  |   timings and compatibility. | 
					
						
							|  |  |  | - Implementation of drain and flush in pulse and alsa | 
					
						
							|  |  |  |   emulation. | 
					
						
							|  |  |  | - Implement poll on file descriptors. | 
					
						
							|  |  |  | - Improvement of metadata for jack emulation. | 
					
						
							|  |  |  | - Fix memory and thread problems in jack emulation. | 
					
						
							|  |  |  | - Simplification of state changes. Should make more use | 
					
						
							|  |  |  |   cases work in the jack emulation. | 
					
						
							|  |  |  | - Improvements in the gstreamer elements. Removal of | 
					
						
							|  |  |  |   extra internal queue. pipewiresink can now be used to | 
					
						
							|  |  |  |   play audio. | 
					
						
							|  |  |  | - Add pw-jack and pw-pulse scripts to run pulseaudio and | 
					
						
							|  |  |  |   jack applications with the right library path. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-26 12:34:54 +01:00
										 |  |  | PipeWire 0.3.2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - build fixes | 
					
						
							|  |  |  | - Added support for data type negotiation. This makes it | 
					
						
							|  |  |  |   possible for a client to say that it can handle DMABuf | 
					
						
							|  |  |  |   and MemFd and then let the server select a compatible | 
					
						
							|  |  |  |   format. | 
					
						
							|  |  |  | - Handle errors when enumerating parameters better. | 
					
						
							|  |  |  | - Add support for rate, format, channels and period_bytes | 
					
						
							|  |  |  |   to the alsa config file to restrict what alsa apps can | 
					
						
							|  |  |  |   negotiate. | 
					
						
							|  |  |  | - Fix JACK midi output. | 
					
						
							|  |  |  | - Optimizations in common audio format conversions using | 
					
						
							|  |  |  |   AVX2. Small optimizations to plugins. | 
					
						
							|  |  |  | - Change the vulkan compute example to an MIT licensed | 
					
						
							|  |  |  |   shader. | 
					
						
							|  |  |  | - Remove some hardcoded defaults in the audio and video | 
					
						
							|  |  |  |   processing and use the values from the processing | 
					
						
							|  |  |  |   context. This also fixes the vulkan example. | 
					
						
							|  |  |  | - Correct the documentation and defaults in the daemon | 
					
						
							|  |  |  |   config file. | 
					
						
							|  |  |  | - Fix alsa and v4l2 buffer recycle. A paused client could | 
					
						
							|  |  |  |   cause the server to leak all buffers. | 
					
						
							|  |  |  | - Remove some warnings that should be ignored. | 
					
						
							|  |  |  | - Fix a crash in the bluez5 plugins. | 
					
						
							|  |  |  | - Try to select higher quality formats first when | 
					
						
							|  |  |  |   negotiating a format with an audio device. | 
					
						
							|  |  |  | - Fix an infinite loop in udev detection in some cases. | 
					
						
							|  |  |  | - Add non-interactive mode to pw-cli. You can now just | 
					
						
							|  |  |  |   do "pw-cli ls Port" to get a listing of all ports. | 
					
						
							|  |  |  |   pw-cli will now also connect to the default server by | 
					
						
							|  |  |  |   default and has options to select a different server. | 
					
						
							|  |  |  | - Allow the server to go up to the maximum quantum (8192 | 
					
						
							|  |  |  |   samples or ~=180ms) if a client explicitly wants this. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-06 19:04:59 +01:00
										 |  |  | PipeWire 0.3.1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Don't load the rtkit module by default. It can cause a | 
					
						
							|  |  |  |   sigkill, which is not desirable for mutter, for example. | 
					
						
							|  |  |  |   Only enable this for the jack library for now. | 
					
						
							|  |  |  | - Don't use pthread cancel by default because it uses a | 
					
						
							|  |  |  |   signal that might crash some apps. Only use it for | 
					
						
							|  |  |  |   the jack library because jack clients really expect this. | 
					
						
							|  |  |  | - Build fixes for -Werror=suggest-attribute=format | 
					
						
							|  |  |  | - improve error messages, don't report harmless errors and | 
					
						
							|  |  |  |   warnings. Try to send error messages to the proxy that | 
					
						
							|  |  |  |   started the operation or is the owner of the object. | 
					
						
							|  |  |  | - pw-cat: midi improvement, add midi recording and dump | 
					
						
							|  |  |  |   in verbose mode | 
					
						
							|  |  |  | - fix properties when loading spa-nodes from the config | 
					
						
							|  |  |  | - Fix and update some examples | 
					
						
							|  |  |  | - jack: check arguments and don't crash when invalid | 
					
						
							|  |  |  | - Fix buffer memory upload. | 
					
						
							|  |  |  | - jack: fix compatibility with zrythm. Fix timemaster | 
					
						
							|  |  |  |   install, improve sample_rate callback. Fix reposition | 
					
						
							|  |  |  |   handling. | 
					
						
							|  |  |  | - fix crash in port after buffer negotiation error. | 
					
						
							|  |  |  | - add support for control ports in pw_filter | 
					
						
							|  |  |  | - fix cleanup of the metadata module | 
					
						
							|  |  |  | - improve param enumeration. | 
					
						
							|  |  |  | - Clear stream buffers when the format is cleared. | 
					
						
							|  |  |  | - Add create-object command in the config file to create | 
					
						
							|  |  |  |   object from a factory. | 
					
						
							|  |  |  | - Fix crash after the driver was not removed from unassigned | 
					
						
							|  |  |  |   nodes. Also properly pause inactive nodes. | 
					
						
							|  |  |  | - Use "true" and "false" in properties when we are talking | 
					
						
							|  |  |  |   about a boolean. | 
					
						
							|  |  |  | - pulseaudio: improve compatibility | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-20 15:33:31 +01:00
										 |  |  | PipeWire 0.3.0 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | The 0.3 release is a major milestone in the development of | 
					
						
							| 
									
										
										
										
											2020-02-20 15:33:31 +01:00
										 |  |  | PipeWire. It features a complete redesign of the scheduling | 
					
						
							|  |  |  | mechanisms that make it possible to run a JACK compatibility | 
					
						
							|  |  |  | layer with comparable performance to JACK2. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The API has been reworked and is declared stable now. All | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | development files and runtime paths are versioned so that | 
					
						
							| 
									
										
										
										
											2020-02-20 15:33:31 +01:00
										 |  |  | future incompatible changes can be done without breaking | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | existing applications. | 
					
						
							| 
									
										
										
										
											2020-02-20 15:33:31 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.3 also includes a (now mandatory) session manager | 
					
						
							|  |  |  | that populates and controls the PipeWire graph. This example | 
					
						
							|  |  |  | session manager is very simple and not configurable. It is | 
					
						
							|  |  |  | expected that future version will either switch to a more | 
					
						
							|  |  |  | flexible session manager (like WirePlumber) or improve the | 
					
						
							|  |  |  | configuration options of the example session manager. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.3 includes both PulseAudio, JACK and ALSA | 
					
						
							|  |  |  | compatibility libraries that are known to support a wide range | 
					
						
							|  |  |  | of applications. The ALSA library is pretty complete at this | 
					
						
							|  |  |  | point. The JACK and mostly the PulseAudio compatibility | 
					
						
							|  |  |  | libraries need more work. See the Wiki pages for the current | 
					
						
							|  |  |  | compatibility problems. We do not yet encourage people to | 
					
						
							|  |  |  | switch away from their existing audio solutions (PulseAudio | 
					
						
							|  |  |  | or JACK) but we would love to hear from people who try it | 
					
						
							|  |  |  | anyways. Future versions will mostly focus on improving | 
					
						
							|  |  |  | compatibility further to make PipeWire a drop-in replacement. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire comes with some GStreamer plugins to consume and | 
					
						
							|  |  |  | produce data for PipeWire. The consumer (pipewiresrc) is | 
					
						
							|  |  |  | working well in most cases. The sink (pipewiresink) is known | 
					
						
							|  |  |  | to be somewhat problematic for now. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-19 20:24:51 +01:00
										 |  |  | PipeWire 0.2.97 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Eighth pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-19 20:24:51 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - Build fixes | 
					
						
							|  |  |  | - pw-cat improvement: Fix remote name, add midi support | 
					
						
							|  |  |  | - add device subscribe params for completeness | 
					
						
							|  |  |  | - jack and pulseaudio compatibility fixes | 
					
						
							|  |  |  | - Fix a bug in resampler, add quality option, tweaked quality | 
					
						
							|  |  |  |   settings, tested now against https://src.infinitewave.ca/ | 
					
						
							|  |  |  |   testsignals and submitted results for publication. | 
					
						
							|  |  |  | - Fix awkwardness in buffer negotiations, the default number of | 
					
						
							|  |  |  |   buffers was 4 and jack could only handle 2, causing | 
					
						
							|  |  |  |   corruption. Also implement negotiation of Step ranges. | 
					
						
							|  |  |  | - Fix device reservation to work together with pulseaudio, | 
					
						
							|  |  |  |   previously we would block pulseaudio. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-11 16:06:27 +01:00
										 |  |  | PipeWire 0.2.96 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Seventh pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-11 16:06:27 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - jack: improve compatibility | 
					
						
							|  |  |  | - Fix unit test | 
					
						
							|  |  |  | - Fix license of jack and alsa libs | 
					
						
							|  |  |  | - Make start/stop more threadsafe | 
					
						
							|  |  |  | - Fix rt-kit again, add params to configure things, increase default | 
					
						
							|  |  |  |   soft/hard limits to avoid being killed. | 
					
						
							|  |  |  | - version 0 compatibility improvements, tested with firefox, cheese, | 
					
						
							|  |  |  |   GStreamer and chrome using compat layers. | 
					
						
							|  |  |  | - Fix timing for gstreamer source | 
					
						
							|  |  |  | - Require libspa in pkg-config file | 
					
						
							|  |  |  | - Limit buffers to 16 to support old clients | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | PipeWire 0.2.95 | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Sixth pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | - Fix tests for big endian some more | 
					
						
							|  |  |  | - Improve v2 compatibility mode: improve type negotiation and | 
					
						
							|  |  |  |   update_permissions | 
					
						
							|  |  |  | - Workaround for firefox screen sharing | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | PipeWire 0.2.94 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Fifth pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - Fix man page names | 
					
						
							|  |  |  | - Fix jack set_sync_timeout | 
					
						
							|  |  |  | - Improve JACK compatibility with apps that cache buffer pointers. | 
					
						
							|  |  |  | - Improve mlock failure warning message, add property to configure | 
					
						
							|  |  |  |   if mlock should be used. | 
					
						
							|  |  |  | - Improve OBJECT_PATH in alsa objects | 
					
						
							|  |  |  | - Install in versioned directory | 
					
						
							|  |  |  | - Add pw-profiler tool | 
					
						
							|  |  |  | - Improve pulseaudio compatibility wrt pa_operations | 
					
						
							|  |  |  | - Thread safety fixes in remote nodes when activating/deactivating | 
					
						
							|  |  |  | - Improve JACK names on duplicates | 
					
						
							|  |  |  | - Add option to ignore failure when loading modules | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.93 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Fourth pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - Fix unit tests on 32 bits | 
					
						
							|  |  |  | - Append -pw version to pulse and jack libs. This way we can install | 
					
						
							|  |  |  |   it next to the real libraries and use a symlink to enable it. | 
					
						
							|  |  |  | - Improve jack support by killing threads with pthread_cancel. This | 
					
						
							|  |  |  |   then also remove the eventfd from the data-loop, making it | 
					
						
							|  |  |  |   maybe a little faster. | 
					
						
							|  |  |  | - Fix jack_client_close() compatibility | 
					
						
							|  |  |  | - Fix some segfaults in the session manager | 
					
						
							|  |  |  | - Improve debug of protocol messages | 
					
						
							|  |  |  | - Add examples options | 
					
						
							|  |  |  | - Don't fail when alsa is not found | 
					
						
							|  |  |  | - Fix some compiler warnings with a new spa_aprintf() helper. | 
					
						
							|  |  |  | - Add pw-cat, the simple audio playback/record tool | 
					
						
							|  |  |  | - Rename pipewire tools to pw- prefix | 
					
						
							|  |  |  | - Add improve pw-cli object dump feature | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.92 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Third pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - Improve old version check some more | 
					
						
							|  |  |  | - Fix unit tests on little/big endian | 
					
						
							|  |  |  | - Fix compilation when CPU has no optimisations | 
					
						
							|  |  |  | - Install jack and pulse libraries | 
					
						
							|  |  |  | - Handle -EACCESS in flatpack access module | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.91 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | It is mostly a bugfix release to make the new version install and | 
					
						
							|  |  |  | run correctly in distros. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Install session manager, fix path to find the session manager | 
					
						
							|  |  |  | - Fix alsa buffer reuse | 
					
						
							|  |  |  | - Small fixes for crasher bugs | 
					
						
							|  |  |  | - Implement pw_core_set_paused() to suspend/resume even | 
					
						
							|  |  |  |   processing. This can be used when using multiple connections | 
					
						
							|  |  |  |   to a daemon and one needs to pause one connection until the | 
					
						
							|  |  |  |   other one completes an action. Used by session managers. | 
					
						
							|  |  |  | - Improve old version check | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.90 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is the first pre-release of the 0.3 version. It consists of a | 
					
						
							|  |  |  | major rewrite and is not API or ABI compatible with the 0.2 | 
					
						
							|  |  |  | branch. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.7 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is mostly a bugfix release and is API/ABI compatible with | 
					
						
							|  |  |  | previous 0.2 versions. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Work is ongoing in the work branch that features a completely new | 
					
						
							|  |  |  | scheduling method that will enable audio support. Some of these | 
					
						
							|  |  |  | API changes are backported in this branch. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Add support for alsa-lib 1.1.9 which changed the include path | 
					
						
							|  |  |  | - Improve error checking and reporting in the protocol | 
					
						
							|  |  |  | - deviceprovider: fix probing without starting | 
					
						
							|  |  |  | - add sentinel to some functions | 
					
						
							|  |  |  | - compiler fixes for musl | 
					
						
							|  |  |  | - Revert object tree permission checks that broke things, this is | 
					
						
							|  |  |  |   probably not a good idea (and the tree of objects is going to | 
					
						
							|  |  |  |   be removed later) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.6 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Improve error checking for threads | 
					
						
							|  |  |  | - Fix some memory and fd leaks | 
					
						
							|  |  |  | - Fix compilation with C++ compilers and clang | 
					
						
							|  |  |  | - DISABLE_RTKIT should now not try to use dbus at all | 
					
						
							|  |  |  | - Camera Portal fixes: | 
					
						
							|  |  |  | 	- add Camera media.role | 
					
						
							|  |  |  | 	- Rename module-flatpak to module-portal | 
					
						
							|  |  |  | 	- Use the portal permissions store for camera checks | 
					
						
							|  |  |  | - Actually use the passed fd in pipewiresrc | 
					
						
							|  |  |  | - Make properties with "pipewire." prefix read-only | 
					
						
							|  |  |  | - Add security label to client object | 
					
						
							|  |  |  | - Enforce link permissions | 
					
						
							|  |  |  | - Permissions of objects are now combined with parent permissions | 
					
						
							|  |  |  | - Remove libv4l2 dependency, it is not used | 
					
						
							|  |  |  | - Improve format negotiation in autolink #146 | 
					
						
							|  |  |  | - Try to avoid list corruption with event emmission #143 | 
					
						
							|  |  |  | - Fix destroy of client-node memory corruption | 
					
						
							|  |  |  | - Various small improvements | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.5 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - build fixes for systemd | 
					
						
							|  |  |  | - Add cursor and bitmap metadata. This can be used to send a cursor | 
					
						
							|  |  |  |   sprite with the video stream. | 
					
						
							|  |  |  | - permissions were set too strict for non-flatpak clients | 
					
						
							|  |  |  | - Fix crash in loop caused by thread unsafe hook emission | 
					
						
							|  |  |  | - Add more error checking for thread-loop | 
					
						
							|  |  |  | - Small cleanups and bugfixes | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Install man pages in right directory | 
					
						
							|  |  |  | - Add systemd socket activation | 
					
						
							|  |  |  | - Various memory leak and corruption fixes in properties, dbus and | 
					
						
							|  |  |  |   buffer mmaped memory. | 
					
						
							|  |  |  | - Fix v4l2 crash on unplug | 
					
						
							|  |  |  | - improve stream cleanup | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Fix deviceprovider caps introspection | 
					
						
							|  |  |  | - Refcounting fixes in pipewiresrc | 
					
						
							|  |  |  | - Remove clock interpolation from stream | 
					
						
							|  |  |  | - Improve clock in gstreamer elements | 
					
						
							|  |  |  | - Remove spalib | 
					
						
							|  |  |  | - Fix crash with pw_map | 
					
						
							|  |  |  | - Add version number to hook list | 
					
						
							|  |  |  | - Improve driver mode in gstreamer elements | 
					
						
							|  |  |  | - add daemon options | 
					
						
							|  |  |  | - add man pages | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Increment API version and .so version | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Various fixes to memory handling | 
					
						
							|  |  |  | - Fixes for shutdown | 
					
						
							|  |  |  | - v4l2 fix enumeration of frame intervals | 
					
						
							|  |  |  | - Make the daemon stop when the setup commands fail | 
					
						
							|  |  |  | - Improve safety of hooks | 
					
						
							|  |  |  | - Update stream API to more future proof version | 
					
						
							|  |  |  | - Add more options to stream API such as scheduling in the | 
					
						
							|  |  |  |   main thread and automatic mapping of buffers | 
					
						
							|  |  |  | - Add version file and macros to check compile time and | 
					
						
							|  |  |  |   runtime versions of pipewire | 
					
						
							|  |  |  | - Future proof some structs | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-27 14:00:19 +01:00
										 |  |  | PipeWire 0.1.9 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Various build fixes | 
					
						
							|  |  |  | - Do more permission checks | 
					
						
							|  |  |  | - Add support for doing async connections. This can be used to | 
					
						
							|  |  |  |   make connections through the portal later. | 
					
						
							|  |  |  | - Fix device creation from the GStreamer device monitor | 
					
						
							|  |  |  | - v4l2 experiment with controls | 
					
						
							|  |  |  | - move rtkit to a module to avoid dbus dependency | 
					
						
							|  |  |  | - use dmabuf allocator in gstreamer elements | 
					
						
							|  |  |  | - Add DSP module for pro audio cases, remove jack module. The | 
					
						
							|  |  |  |   idea is to make a replacement jack client library that talks | 
					
						
							|  |  |  |   pipewire directly instead of trying to emulate a jack server. | 
					
						
							|  |  |  | - Various memory handling improvements |