mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			257 lines
		
	
	
	
		
			8.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			257 lines
		
	
	
	
		
			8.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
PipeWire 0.3.0
 | 
						|
 | 
						|
The 0.3 release is a major milestone in the developement of
 | 
						|
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
 | 
						|
developement files and runtime paths are versioned so that
 | 
						|
future incompatible changes can be done without breaking
 | 
						|
exising applications.
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
 | 
						|
Older versions:
 | 
						|
 | 
						|
PipeWire 0.2.97
 | 
						|
 | 
						|
Eigth pre-release for upcomming 0.3:
 | 
						|
 | 
						|
- 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.
 | 
						|
 | 
						|
PipeWire 0.2.96
 | 
						|
 | 
						|
Seventh pre-release for upcomming 0.3:
 | 
						|
 | 
						|
- 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
 | 
						|
 | 
						|
PipeWire 0.2.95
 | 
						|
 | 
						|
Sixth pre-release for upcomming 0.3:
 | 
						|
 | 
						|
- Fix tests for big endian some more
 | 
						|
- Improve v2 compatibility mode: improve type negotiation and
 | 
						|
  update_permissions
 | 
						|
- Workaround for firefox screen sharing
 | 
						|
 | 
						|
 | 
						|
PipeWire 0.2.94
 | 
						|
 | 
						|
Fifth pre-release for upcomming 0.3:
 | 
						|
 | 
						|
- 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
 | 
						|
 | 
						|
Fourth pre-release for upcomming 0.3:
 | 
						|
 | 
						|
- 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
 | 
						|
 | 
						|
Third pre-release for upcomming 0.3:
 | 
						|
 | 
						|
- 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.
 | 
						|
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
 | 
						|
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
 |