SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for wireplumber-0.5.6+5~git20241003.b2d2f656-1.3.x86_64.rpm :

* Sun Oct 06 2024 virtuousfoxAATTgmail.com- Update to version 0.5.6+5~git20241003.b2d2f656:
* monitor-utils: Check all libcamera v4l2 devices
* monitor-utils: Rework camera deduplication code
* module-dbus-connection: fix GCancellable leak
* m-mixer-api: Fix memory in leak wp_mixer_api_set_volume
* Thu Sep 12 2024 virtuousfoxAATTgmail.com- Update to version 0.5.6+1~git20240910.b68a6794:
* autoswitch-bluetooth-profile: switch only Bluetooth devices
* 0.5.6
* lib: wp_core_connect_fd: add \\since marker
* docs: document multi-instance configuration profiles
* docs: clarified how to setup debug logs in lua
* systemd: load the system instance with the \'main-systemwide\' profile by default
* wireplumber.conf: add systemwide, embedded and split-instance profiles
* internal-comp-loader: implement profiles inheriting other profiles
* wireplumber.conf: add before/after dependencies where needed
* wireplumber.conf: improve the v4l2 and libcamera monitors components definitions
* tests: component-loader: fix GError memory leak
* internal-comp-loader: implement before/after dependencies for components
* lib: settings: find the first loaded instance of WpSettings when metadata_name is NULL
* main: show the profile name on the app name
* Wed Aug 28 2024 virtuousfoxAATTgmail.com- Update to version 0.5.5+7~git20240826.895c1c72:
* lib: core: merge wp_core_connect implementations
* lib: core: allow to connect a core with a given socket
* po: add Slovenian (sl) language
* autoswitch-bluetooth-profile: Use event source object managers
* docs: add info on how to set the log level via configuration
* rescan: Stop rescan for 2s if BT node is removed
* rescan: Merge filters metadata changed hook with rescan-trigger
* Sat Jun 29 2024 virtuousfoxAATTgmail.com- Update to version 0.5.5~git20240628.43e939c0:
* 0.5.5
* wpctl: Make sure default node Id is updated when printing filters
* Revert \"lib: core: set the export core to be shared to pipewire modules\"
* linking: explicitly mark targets that should be managed by the role-based policy
* linking: redefine script dependencies
* Thu Jun 27 2024 virtuousfoxAATTgmail.com- Update to version 0.5.4+2~git20240627.96dc0453:
* l/find-best-target: Allow regular filters to be best targets
* linking-utils: fallback to role priority 0 if none is defined
* Wed Jun 26 2024 virtuousfoxAATTgmail.com- Update to version 0.5.4~git20240626.dc6694fb:
* 0.5.4
* smart-equalizer.conf: fix filter.smart.target usage example
* config: rename the duck-level option to have \"role-based\" in its name
* docs: linking: update existing hooks documentation
* scripts: remove deprecated and outdated intended-roles.lua
* l/rescan: use parseBool() to interpret boolean property
* s/link-target: mark links as role-based only if the role links rescan hook is enabled
* script-tester: load find-media-role-target.lua to fix test failure
* config: add example that shows how to setup a smart equalizer filter
* s/link-target: do not treat links to monitoring streams as role links
* s/link-target: avoid holding a reference to the si in the link-error callback
* s/create-item: add setting to enforce a media.role on streams that don\'t have one
* linking: move find-media-role-target hook to run later in the chain
* lib: core: set the export core to be shared to pipewire modules
* config: add example media-role-nodes.conf
* wireplumber.conf: improve standard policy definition
* remove \"virtual items\" scripts, m-si-audio-virtual and related tests
* linking: role based priority system: hook to apply policy
* linking-utils: add routines to keep track of the priority media role link
* linking: get-filter-from-target.lua: bypass for media role targets
* linking: add a new hook to find media role targets
* get-filter-from-target: Don\'t bypass the hook if the session item is a regular filter
* filter-utils: Allow smart filters to have as target filters that are not smart
* tests: skip some tests when audiotestsrc is unavailable
* Tue Jun 18 2024 virtuousfoxAATTgmail.com- Update to version 0.5.3+8~git20240617.47ec8140:
* scripts/device: avoid crashing if the device.name is not set
* tests/examples: add example on how to set node \"params\" under Props
* autoswitch-bluetooth-profile: Always destroy the restore timeout source before switching
* Mon Jun 10 2024 virtuousfoxAATTgmail.com- Update to version 0.5.3+5~git20240610.f57a4630:
* node/software-dsp: ensure that filter chains are properly unloaded
* scripts: Fix autoswitch BT profile when using filters
* bluez: Don\'t create loopback source if autoswitch setting is disabled
* conf: further improve how top-level objects are handled
* conf: skip empty configuration files to avoid crashing
* 0.5.3
* metadata: remove incorrect `transfer` annotation
* core: add missing \\ingroup
* docs: gen-api-gtkdoc.py: fix SyntaxWarning with raw strings
* gi: hide WP_PRIVATE_API functions from gir
* tests: conf: test a few more edge cases
* tests: conf: add test for as-section parsing
* lib: conf: make it possible to parse files wrapped in {}, to allow standard JSON
* lib: spa-device: emit object-removed & create-object in sequence when an object is updated
* monitors/alsa: add some logging around node name deduplication
* device/state-profile: do not restore unavailable profiles from the state file
* node/create-item: simplify si properties configuration
* Sun May 26 2024 virtuousfoxAATTgmail.com- Update to version 0.5.2+20~git20240524.df8bc124:
* state-stream: fix using the default volume
* filter-utils.lua: Check media type when finding the default filter
* Fri May 24 2024 virtuousfoxAATTgmail.com- Update to version 0.5.2+18~git20240523.226be2e2:
* monitor-utils: fix variable check
* monitor-utils: make cam_api_data a local variable
* Wed May 22 2024 virtuousfoxAATTgmail.com- Update to version 0.5.2+16~git20240518.4ed51791:
* linking: return after aborting transition
* transition: ensure single completion and finish
* transition: fix memory leak when error is already set
* Thu May 09 2024 virtuousfoxAATTgmail.com- Update to version 0.5.2+13~git20240508.88d1dd86:
* wireplumber.conf: increase the cam discovery timer value
* m-lua-scripting: correct typo
* monitors/camera: fix camera device deduplication not working for certain devices.
* Improve monitoring of seat state
* Sun May 05 2024 virtuousfoxAATTgmail.com- Update to version 0.5.2+9~git20240503.3e643aad:
* log: use G_GNUC_DEPRECATED_FOR to deprecate wp_log_checked
* log: add wp_logt_checked taking WpLogTopic, to decide on debug messages
* log: prepend topic to journald logs & add locations on debug levels
* wireplumber.conf: add a video-only profile
* json-utils: fix overriding of non-container values when merging
* filter-utils: Check main filter nodes in a more robust way
* lua: json: fix error ouput
* lua: json: add method to merge json containers
* scripts: fix event:get_data() usage in apply-profile
* Wed Apr 24 2024 virtuousfoxAATTgmail.com- Update to version 0.5.2~git20240422.b302ebd6:
* 0.5.2
* core: fix WpLoopSource lifecycle
* core: keep pw loop entered exactly when it is running
* default-nodes: fallback to priority.driver if priority.session is not set
* Thu Apr 18 2024 virtuousfoxAATTgmail.com- Update to version 0.5.1+14~git20240418.473e463c:
* meson: create the lib version like pipewire
* Revert \"node/software-dsp: do not hide target node when hide-parent is false\"
* docs: document filter-path property of software DSP policy
* node/software-dsp: implement loading filter graphs from disk
* lua: allow Conf methods to be indexed or called
* lua: add constructor and file ops for WpConf
* conf: allow a SPA-JSON container to be loaded as a named WpConf section
* conf: allow a WpConf to be loaded without fragments
* conf: Add WpProperties as a member of WpConf
* conf: explain behaviour of wp_base_dirs_find_file
* wplua/sandbox: support mixing static methods and constructors in class identifiers
* Tue Apr 09 2024 virtuousfoxAATTgmail.com- Update to version 0.5.1+3~git20240406.9d7c6b8:
* monitors/bluez: fix BAP device set node naming
* Thu Apr 04 2024 virtuousfoxAATTgmail.com- Update to version 0.5.1+2~git20240403.8ee3518:
* monitor-utils: clear cam data after creating nodes
* core: set context.modules.allow-empty to silence warning in pw_context
* Sat Mar 30 2024 virtuousfoxAATTgmail.com- Update to version 0.5.1~git20240330.961450b:
* 0.5.1
* docs: move the software_dsp document down in the TOC
* docs: improve the wording and formatting of the software_dsp doc
* state-stream: fix storing/restoring notification volume
* node/software-dsp: do not hide target node when hide-parent is false
* docs: Document automatic software DSP handling
* wireplumber.conf: add node.software-dsp to wireplumber.components
* node/software-dsp: Port Node ObjectManager to SimpleEventHook
* node/software-dsp: get match rules from conf.d
* node/software-dsp: move and rename scripts/policy-dsp.lua
* Wed Mar 27 2024 virtuousfoxAATTgmail.com- Update to version 0.5.0+19~git20240326.62dd6ef:
* policy-dsp: allow matching on all node properties
* linking: Use sendClientError in link-error handler
* scripts: add error code argument to sendClientError helper
* m-portal-permissionstore: improve the warnings printed due to remote errors
* m-lua-scripting: downgrade notice to debug when printing operation errors
* linking: improve link failure & debug messages
* main: print warning about old style config files
* docs: remove main.rst
* docs: conf_file: raise more the visibility of the config break
* docs/daemon: re-arrange some sections in the toctree to make more sense
* docs: move well-known settings docs from src/scripts/lib to where they belong
* docs: add a basic \"config migration from 0.4\" guide
* autoswitch-bluetooth-profile: never use headset profile without input
* monitors/bluez: fix autoswitch A2DP input profiles
* docs: fix typo in {device,node}.disabled documentation
* m-settings: remove all persistent settings if key is null
* m-settings: clear schema settings metadata when plugin is disabled
* m-std-event-source: cancel events when the node associated with the si dies
* filter-utils: fix handling of targetless smart filters
* Tue Mar 19 2024 virtuousfoxAATTgmail.com- Update to version 0.5.0~git20240318.59d190a:
* 0.5.0
* main: set application.version on the core
* alsa: rename vm.type to cpu.vm.name to be consistent with pipewire master
* log: make the log topic flags an enumeration and publicly documented
* docs: add document on how to modify the configuration
* docs: update access configuration doc
* docs: remove \"policy\" configuration doc page
* docs: improve bluetooth documentation and example config file
* Sat Mar 16 2024 virtuousfoxAATTgmail.com- Update to version 0.4.90+28~git20240315.4683f1f:
* wireplumber.conf: run stream-state.lua before m-standard-event-source
* Update Swedish translation
* docs: configuration: update docs on \"settings\" after the latest changes
* Wed Mar 13 2024 virtuousfoxAATTgmail.com- Update to version 0.4.90+25~git20240312.95cfa9e:
* wpctl: fix settings --help listing
* docs: conf_file: small updates
* docs: installing: update dependency versions
* si-linkables: do not fully reset when the underlying proxy is destroyed
* registry: move to a separate file and decouple it from the object manager
* log: docs: document the log topic definition macros
* monitors/bluez: add \'internal\' prefix to internal bluez node names.
* monitor/bluez: set node.name property when creating combine stream
* Tue Mar 12 2024 virtuousfoxAATTgmail.com- Update to version 0.4.90+17~git20240311.9caa44c:
* meson: bump min pipewire version to 1.0.2
* scripts: fix regression in state-routes.lua when marking routes as \'active\'
* scripts: improve linking logs
* monitors: use parseBool for boolean properties in rules
* config: add {device|node}.disable
* Sun Mar 10 2024 virtuousfoxAATTgmail.com- Update to version 0.4.90+12~git20240309.dee7403:
* object-interest: make WP_INTEREST_MATCH_ALL part of the enum
* proxy: make the FEATURES_MINIMAL and FEATURES_ALL constants part of the enum
* log: fix WP_LOG_LEVEL_TRACE value in the g-i bindings
* base-dirs: wrap flag groups in parenthesis
* log.h: define G_LOG_DOMAIN only if WP_USE_LOCAL_LOG_TOPIC_IN_G_LOG is defined
* meson: make sure the boolean options have boolean values
* meson: move the common CFLAGS to project-wide scope
* scripts: make sure target is not nil when iterating filters with matching targets
* Thu Mar 07 2024 virtuousfoxAATTgmail.com- Update to version 0.4.90+4~git20240307.f24edf6:
* docs: update the documentation around file search locations
* scripts: rescan linkables when device EnumRoute param changes
* scripts: fix available routes check when selecting the default node
* scripts: fix typo in rescan-virtual-links.lua
* Mon Mar 04 2024 virtuousfoxAATTgmail.com- Update to version 0.4.90~git20240304.2249d8d:
* 0.4.90 (0.5.0~rc1)
* m-mixer-api: use gboolean instead of bool
* core: close the configuration file after loading all components
* scripts: access: cache the access.rules in a global config variable
* scripts: remove cutils.evaluateRulesApplyProperties()
* lua: change the Conf API to have methods for getting sections as specific types
* meson: bump min pipewire version to 0.3.82
* Mon Mar 04 2024 virtuousfoxAATTgmail.com- Update to version 0.4.82+36~git20240304.acb446d:
* meson: fix typo in lib/wp/meson.build: AATT0 -> AATT0AATT
* Mon Mar 04 2024 virtuousfoxAATTgmail.com- Update to version 0.4.82+35~git20240304.00e5c0d:
* settings: log warnings if setting does not exist in the schema
* conf: fix settings schema typos
* base-dirs: add missing (nullable) annotation
* base-dirs: ensure we skip non-absolute paths in the XDG env variables
* base-dirs: tidy up the build-time base dirs and honor the SUBDIR_WIREPLUMBER flag
* base-dirs: add a SUBDIR_WIREPLUMBER flag to append \"/wireplumber\" to the base dirs
* base-dirs: rename ETC & PREFIX
* flags to BUILD
* and improve documentation
* docs: add base-dirs in the generated C API documentation
* conf: drop all the _get_value() functions and remove the fallback from _get_section()
* conf: add a simple check for old format wireplumber.conf files
* wireplumber.conf: document the main difference between context.modules and wp.components
* meson: install configuration files back in $wireplumber_data_dir
* conf: refactor configuration loading
* spa-json: wrap the data instead of the spa_json
* in _parser_get_json()
* tests/wp/spa-json: add \"undefined\" parser unit test
* spa-json: add new \"undefined\" parser constructor
* base-dirs: return NULL from lookup_dirs() when the searched path is absolute
* base-dirs: add support for finding modules and remove wp_get_module_dir()
* base-dirs: add XDG_CONFIG/DATA_DIRS and CONFIGURATION & DATA groups
* base-dirs: change the function signatures to prefix with wp_base_dirs_
*
* base-dirs: move file lookup utils out of wp.{c,h} and into base-dirs.{c,h}
* WpLookupDirs: remove the flag for looking into G_TEST_SRCDIR
* wp_new_files_iterator: refactor to behave like pipewire
* wp_find_file: s/char/gchar/ in suffix argument
* docs: fix documentation for WpMetadataItem
* Update Polish translation
* Sat Mar 02 2024 virtuousfoxAATTgmail.com- Update to version 0.4.82+9~git20240229.578b855:
* settings: fix all coverity scan defects
* scripts: remove settings-manager and use the Settings API
* wpctl: use WpSettings API instead of metadata in \'settings\' sub-command
* m-lua-scripting: complete Lua Settings API
* m-settings: load all settings in sm-metadata
* settings: add API to set, reset, save, delete and iterate settings
* m-settings: add settings schema to metadata
* metadata: remove wp_metadata_iterator_item_extract() API
* Sat Feb 17 2024 virtuousfoxAATTgmail.com- Update to version 0.4.82+1~git20240214.bebfc07:
* wpctl: add settings subcomand to show, delete or change settings
* Wed Feb 14 2024 virtuousfoxAATTgmail.com- Update to version 0.4.82~git20240214.5826a21:
* 0.4.82 (0.5.0 pre-release 2)
* docs: update ALSA documentation
* Mon Feb 12 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+60~git20240212.89b9218:
* device-profile-hooks: add a hook to prioritize the profiles
* device-profile-hooks: move the selected profile check
* json-utils: correct typo
* lib/settings: make the WpSettings object a non-singleton
* lib/settings: reorder functions to follow the pattern of other files
* monitors: improve notice messages about missing SPA plugins
* README: remove broken badge
* Fri Feb 09 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+53~git20240207.b703c01:
* wpctl: show persistent settings and add sub-command to clear them
* module-settings: don\'t remove setting from sm-settings if it was removed from persistent-sm-settings
* wpctl: show filters in the status output
* Wed Feb 07 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+50~git20240204.ac508ae:
* linking: handle \'node.linger\' property when target node not known
* Sun Feb 04 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+49~git20240202.1d2fe9b:
* module-settings: remove \'settings.persistent\' option
* linking: rename props to \'node.dont-fallback\', \'node.dont-move\' and \'node.linger\'
* docs: add linking documentation
* tests/wp/events.c: replace g_assert() with g_assert_true()
* scripts: move filter-forward-format.lua from \'linking\' to \'node\' subdirectory
* docs: improve smart filters documentation
* Wed Jan 31 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+43~git20240131.6d9205c:
* filter-utils: fix indexing nil value
* scripts/linking/rescan.lua: fix log access
* scripts: only log session item Id when unhandling it
* docs: move smart filters documentation to the policies section
* docs: add policies section
* bluez.lua: always hide sco-source nodes from applications
* script-tester: load the new settings-instance component
* script-tester: simplify the load_component() function
* docs: reorder menu items under \"Configuration\" section
* docs: rename settings section and add link back to the config option types
* docs: add link from the well-known features section back to components & profiles
* docs: add info about the different configuration option types
* conf: split out unneeded example sections to log.conf and settings.conf fragments
* m-settings: rename persistent.settings to settings.persistent
* docs: update multi-instance documentation
* m-settings: split out the WpSettings instance loading to a new built-in component
* Wed Jan 24 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+27~git20240123.95ae88d:
* bluez.lua: set the loopback input stream media class to internal
* link/node: Fix docs on state_changed_callback
* Mon Jan 22 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+25~git20240122.874a432:
* autoswitch-bluetooth-profile: remove applications array and use loopback filter
* filter-utils: always convert to string when checking if target rules match
* linking: remove redundant \'dont_move\' parameter
* Mon Jan 15 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+22~git20240114.6f3eb32:
* config: update example bluetooth.conf
* docs: update Bluetooth docs
* docs: update locations.rst
* log: rename back to wp_log_set_level
* m-lua-scripting: register/unregister log topics
* log: forward log level patterns also to libpipewire
* log: support topic patterns also in config file log.level
* log: allow dynamic log levels for WpLogTopic
* client access: add support for snap permissions
* filter-utils: handle new \'filter.smart.targetable\' property
* linking: handle defined target properly with smart filters
* filter-utils: improve get_filter_from_target API to also work with filters
* Fri Jan 12 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+10~git20240108.42f4fa9:
* Update POTFILES.in
* state-routes: use the correct device id when restoring route properties
* lua: hooks: record the entire \'after\' array
* event: add some trace logs to debug sorting hook dependencies
* bt-pinephone.lua: remove useless variable assignments
* apply-routes.lua: rename variable to make the code easier to understand
* state-routes: fix restoring volumes when a Route is changed manually
* Fri Jan 05 2024 virtuousfoxAATTgmail.com- Update to version 0.4.81+3~git20240105.d60747f:
* docs: remove obsolete tags
* event-dispatcher: fix ingroup documentation
* docs-policy: add filter.smart = true
* 0.4.81
* state: add save_after_timeout() method to replace all custom timeout code
* common-utils: remove the simple serializer functions that were used for state files
* state-routes: use json to store info in the state file
* scripts: s/putils/lutils/g (\"policy\" utils -> \"linking\" utils)
* wpctl: resolve device id and route device internally
* wpctl: add set-route subcommand
* docs: explain runtime logging controls
* wpctl: add set-log-level command
* m-log-settings: add module for changing log level at runtime
* wp: make wp_log_set_global_level public API
* docs: shuffle files to have the same logical hierarchy as on the generated doc
* script docs: rewrite all csv-table to list-table for better source readability
* docs: update understanding_wireplumber.rst, merging changes from !535
* systemd: change the template services to load different profiles instead of conf files
* daemon: add cmdline option to load custom profile and report error if not found
* scripts: common-utils: do not crash if the defaults table is nil
* docs: update configuration.rst
* docs: add central doc section about the configuration file
* docs: document components, profiles, features and settings
* docs: update copyright years
* docs: lua: document missing Core functions
* meson: exclude rst files from being installed with the scripts
* Added Hebrew translation.
* meson: Set correct package version for generated .gir file for gobject introspection
* scripts: tidy up monitor settings and config options
* m-lua-scripting: add Core.get_properties() method
* scripts: tidy up device-related settings
* m-si-audio-adapter: make sure format task is finished even if ports were already configured
* scripts: tidy-up linking related settings
* s-linking: always rescan when the default targets change
* settings: tidy up node-related settings
* scripts: rename all foo-config libs to settings-foo
* config: install commented-out conf files as examples in /usr/share/doc/wireplumber/examples
* access-default: do not crash if the rules section is not defined in the config
* access-default: do not require the configuration file rules to operate
* common-utils: avoid crashing when a rules section is not defined in the config
* monitors/alsa: remove vm.node.defaults and use match rules instead
* monitors/alsa-midi: move default property values in the Lua script
* monitors/libcamera: s/libcam/libcamera/g
* monitors: remove the unused libcamera.lua script
* wireplumber.conf: refactor optional pipewire modules into components
* comp-loader: add support for loading pipewire modules as components
* comp-loader: add support for wireplumber.components.rules
* spa-json: rename _from_string() to _wrap_string() and add new \"from\" variants
* json-utils: add wp_json_utils_merge_containers(), factored out of conf.c
* config: add bluetooth seat-monitoring feature
* monitors: test the features that enable optional functionality
* monitors/alsa: drop the half-implemented support for the \"JACK device\"
* config: drop some unused settings and replace others with component features
* lua api: add support for PW_PERM_L
* scripts: skip profile iteration when device.profile found
* spa-pod: don\'t use assertion macro in code that needs to run always
* spa-pod: fix parser to be able to collect IDs as strings (\'K\')
* tests: fix script-tester to work with the metadata.lua changes
* tree-wide: refactor active feature checks to use _test_active_features()
* lib: object: add functions to test active and supported features
* scripts: merge metadata.lua and filters-metadata.lua
* conf: remove wp_conf_apply_rules()
* scripts: switch to using JsonUtils.match_rules_apply_properties()
* lua: api: bind json-utils functions
* lib: add new json-utils set of functions
* s-create-item: add some debug logging
* meson.build: set `WIREPLUMBER_CONFIG_DIR` in devenv
* linking: use si_props for \'target.
*\' properties
* linking: handle \'target.linger\' property
* linking: handle \'target.dont-fallback\' and \'target.dont-move\' properties
* link-target: set was_handled flag when link was created
* find-defined-target: don\'t stop processing if defined target is not prepared yet
* tests: script-tester: fix locking of test-server
* main: try to connect preferably to the manager socket
* internal-comp-loader: fix `WpSpaJson` memory leak
* rescan: make sure disabled smart filters are unlinked before rescanning
* filter-utils: always evaluate filters before \'linking/rescan\' hook
* Revert \"api: module: support loading arguments from file\"
* Revert \"link: add WP_LINK_FEATURE_ESTABLISHED to track when a link is PAUSED/ACTIVE\"
* scripts: Fix typo in autoswitch-bluetooth-profile.lua
* wpctl: use auto cleanup for the `WpCtl` object
* scripts: Fix bluetooth profile autoswitch
* access: set pipewire.access.effective property on clients
* access: handle pipewire.client.access and flatpak status
* access: support new \"default\" pipewire.access value
* lua: add new Client.update_properties() API
* client: add wp_client_update_properties
* m-lua-scripting: check argument type is table to avoid crashing
* scripts: add new \'filter.smart\' property
* scripts: use \'filter.smart\' prefix for smart filter properties
* scripts: change filter.enabled property to filter.disabled
* linking-utils: rename unwrap_find_target_event -> unwrap_select_target_event
* scripts: remove \'active-features\' session item constraints
* linking-utils: cleanup duplicate functions
* scripts: don\'t use \'local\' for file-wide scoped variables
* docs: add documentation on device, default-nodes and linking scripts
* event: annotate key in wp_event_get_data
* tests: replace \"policy\" with \"linking\"
* Lua scripts: replace \"policy\" with \"linking\"
* config: replace \"policy\" with \"linking\"
* steam.conf: enhance the illustration of the config
* bluetooth.conf: change the syntax for rules from Lua to JSON
* access.conf: uncomment the rules the way they were before
* settings: correct class description
* session-item: improve class description
* docs: add WpConf documentation page
* docs: fix WpComponentLoader documentation page
* m-std-event-source: restore the rescan_scheduled flag before rescanning
* tests: add test for glob patterns in hook dependencies
* event: allow hook before/after strings to be glob patterns
* scripts: fix minor issues with smart filters policy
* docs: fix warnings and errors in filter documentation
* docs: Add filters documentation
* scripts: use filter-utils to implement smart filter policy
* scripts: add filter-utils.lua
* scripts: add filters_metadata.lua
* device: remove echo-cancel configuration
* tests: add event dispatch order test for same priority events
* event-dispatcher: sort same priority events by the order they have been received
* scripts: do not store the link in si_flags
* camera-monitors: add a config property for camera discovery timeout
* wireplumber.conf: run monitors towards the end
* monitor-utils: use uniform naming style for lib apis
* camera monitors: introduce cam device arbitration logic
* camera monitors: pass device and node properties as event data
* api.c: add wp_core_test_feature API
* wireplumber.conf: add new v4l2 monitor hooks
* v4l2/monitors: rebase v4l2 monitor into a bunch of hooks
* wireplumber.conf: add the new libcamera monitor hooks
* libcamera/monitors: rebase libcamera monitor into a bunch of hooks
* monitor-utils: introduce monitor utils lua library
* event
*.c: add a few more log msgs
* m-standard-source: handle create-
* events
* log: set empty string to not set log_fields
* m-mixer-api: track monitorMute and allow modifying them
* scripts: run find-best-profile hook before running apply-profile hook
* tests: wait for the cores to connect before starting
* tests: upgrade failure notices to criticals
* config: make it possible to have feature profiles
* core: load components internally and refactor main to just activate it
* object: make wp_object_get_core() return itself if it\'s the core
* core: refactor to subclass from WpObject
* object.h: don\'t include core.h
* m-std-event-source: don\'t push events during the core dispose sequence
* tests: reduce logs coming from libpipewire
* device/state-routes.lua: fix finding stored routes
* device/state-routes.lua: fix check for empty selected-routes
* src/scripts: add few comments
* internal-comp-loader: fix error ownership in parsing step
* comp-loader: register the component & feature only if it activates successfully
* gitlab-ci: bump ubuntu image to 22.04 LTS
* tests: do not explicitly free f->base.conf_file
* conf: refactor component loading to use a dependency system
* tests: add component loader unit test
* core: make the object registration functions public
* core: introduce the notion of provided features on components
* properties: add json to properties converters
* dbus: refactor WpDBus into a plugin called dbus-connection
* conf: fix equal matches
* tests: add conf test for equal matches
* event-hook: fix different signedness comparison warning
* main: move the code that loads the components section into the library
* component-loader: make wp_core_load_component_finish() return a boolean
* component-loader: activate & register objects through a common code path
* component-loader: add a load_finish() vfunc to finish the async operation
* core: move wp_core_load_component
* declarations to component-loader.h
* component-loader: move module loading to a new WpInternalCompLoader object
* component-loader: pass core and cancellable parameters in load()
* component-loader: convert WpComponentLoader to a GInterface
* core: change the component arguments to be WpSpaJson instead of GVariant
* log: ensure that warnings from pw/spa are printed as warnings
* lua: json: catch syntax errors when converting to native lua types
* log: fix log level mask to be able to test the trace level
* script-tester: decouple script tests setup/teardown from basic
* tests: run with WIREPLUMBER_DEBUG=T, not 7...
* meson: bump version to 0.4.80 and API version to 0.5
* scripts: use log topics
* docs: update the log system documentation
* log: make the level name a plain character in the log_level_info struct
* log: make debug level 0 enable fatal errors
* log: accept 0 as a level and do safety checks on the level string
* log: rename \"message\" level to \"notice\" and print criticals with \"E\"
* log: disable \"conn.
*\" topic by default, like pipewire does
* log: always set PIPEWIRE_DEBUG
* log: rename log_level_index to level_index_from_flags, for consistency
* log: improve the initialization process
* lua: add new Log.open_topic() API
* log: implement a log topics system, like pipewire
* log: describe the syslog priority numbers for code clarity
* component-loader: update documentation
* log: implement different debug level per topic, like in pipewire
* log: map spa ERROR and WARN to GLib\'s CRITICAL and WARNING respectively
* bluez: minor configuration fixup
* daemon: homogenize the init transition debug messages
* daemon: use g_steal_pointer() to NULL-ify the head of the components list
* daemon: use a different GList pointer to iterate the components list
* object-manager: set self->installed=TRUE before emiting the signal
* daemon: wait for export-core to be connected to continue the transition
* core: return true from _is_connected() only after receiving the info structure
* daemon: fallthrough to the error case instead of repeating cleanup statements
* daemon: check for media-session before loading any components
* daemon: remove redundant calls to component_data_free()
* daemon: exit with WP_EXIT_CONFIG code if a component fails to load
* daemon: check for the correct \"file not found\" code
* daemon: remove unused variable
* meson: install scripts in /usr/share/wireplumber
* default-nodes-tests: use the changed variable in test utils
* policy-utils.lua: remove object managers
* common-utils.lua: remove metadata object managers
* lib/wp: Fix lookup_dirs with WP_LOOKUP_DIR_ENV_DATA or WP_LOOKUP_DIR_ENV_TEST_SRCDIR
* component-loader: make wp_core_load_component() API asynchronous
* component-loader: remove handling of \'pw_module\' components
* m-lua-scripting: remove handling of \'config/lua\' files
* m-metadata: remove module-metadata and replace it with a simple lua script
* default-node: rename select-default-nodes.lua
* default-nodes: make the default-config
* keys trigger common
* find-selected-default-node.lua: add a new default node hook
* test-utils: align style
* test-utils: add a restartPlugin API
* default node tests: add initial test
* script-tester: add a restart-plugin action signal
* script-tester: pass the fixture pointer to plugin
* script-tester: run default-node scripts ahead of m-metadata
* state-default-nodes: initialize the metadata variable
* common-utils: add a null check for default-nodes query
* wireplumber.conf: hike the priority of default-node scripts
* apply-default-node.lua: re-instate the \"set default node\" debug log msg
* prepare-link.lua: fix unassigned variables
* scripts: use the event stack to handle virtual session items
* tests: remove audiotestsrc-play example
* Rename endpoint concept to virtual session item
* lib: remove WpEndpoint and WpSiEndpoint APIs
* tests: use WpConf for the settings unit tests
* scripts: use WpConf API to get configuration values
* main: use WpConf to get wireplumber component dependencies
* m-settings: use WpConf to get the wireplumber settings
* m-lua-scripting: add WpConf Lua API
* conf: add support to override sections and nested objects/arrays
* lib: add WpConf API
* docs: initial design documentation
* lua: AsyncEventHook: allow hooks to handle transition errors
* transition: don\'t allow _return_error() to be called recursively
* linking tests: create stream node after device nodes are ready
* test-utils.lua: create stream node with script tester plugin
* script-tester: create a new script tester plugin
* linking tests: add defined tests
* test-utils.lua: add support for defined test cases
* linking tests: add default device test cases
* test-lib.lua: add support of default device selection
* linking tests: add non default device tests
* test-utils.lua: support non-default device tests
* script-tester.c: use the latest list of components
* link-target.lua: change into a async hook link setup is a asynchronous action, async hook serves the purpose well here.
* policy tests: facilitate Lua src tests in script-tester.c
* script tests: add test utils
* tests: settings: run all the tests with default metadata
* lua tests: script tests: add a new folder
* lib/wp: add a new search folder to locate the Lua Test scripts
* lua tests: script-tester: add new infrastructure needed to launch the policy tests
* lua tests: give a label to the current Lua script tests
* find-best-routes.lua: add a null check while selecting routes
* m-std-event-source: separate rescan events for linking and default-nodes
* m-std-event-source: fix state names in node-state-changed event
* scripts: default-nodes: fix mistakes to make default-node selection work
* scripts: move create-item.lua under node/ and modernize it
* scripts: rename all hooks to follow a nicer naming scheme
* scripts: rename directories to follow the new naming scheme
* m-std-event-source: don\'t crash in disable() if the core is not available
* tests: lua-json: verify that nested objects inside arrays work
* events: rename find-target-si-and-link to select-target
* test-lua-json: verify that empty arrays and objects work
* m-lua-scripting/api: allow EventDispatcher.push_event() to accept event objects
* wireplumber.conf: update the list of loaded modules and scripts
* m-default-nodes-api: revert to the version from master, without hooks
* default-nodes: port to a set of scripts with hooks
* scripts: refactor restore-stream into node/state-stream
* state-profile: dynamically respond to config.use-persistent-storage changes
* scripts: split/refactor the policy-device-routes script into smaller hooks
* m-std-event-source: add a \"create-event\" action
* remove policy-device-profile and m-default-profile
* scripts: rewrite policy-device-profile and m-default-profile into a set of hooks
* scripts: remove priority from all hooks and set up some basic dependencies
* event: move cancelling of events on pw-proxy-destroyed to m-std-event-source
* event-dispatcher: refactor to use before/after dependencies on hooks
* event-dispatcher: expose iterator to iterate over the registered hooks
* event-hook: remove the exec type property & enumeration
* m-std-event-source: use type-specific event names and multiple object managers
* scripts: port suspend-node.lua to the event dispatcher architecture
* scripts: simplify policy-device-profile.lua
* scripts: port misc hooks to use the new priority enumerations
* wplua: expose setmetatable / getmetatable in the sandbox
* m-standard-event-source: simplify push_event, removing the subject_type
* scripts: delete policy-node.lua
* scripts/policy-desktop: add main rescan script
* scripts/policy-desktop: add script for the filter-forward-format logic
* scripts/policy-desktop: add move & follow settings handlers
* scripts/lib: update policy-config to use the settings manager
* scripts/lib: add a new settings manager lua library
* scripts: policy-node: use policy-config library
* scripts: remove policy-hooks.lua
* scripts/policy-desktop: add back the sample user hook on a separate file
* scripts/policy-desktop: fix the code of the find-target hooks to work again
* scripts/lib: add policy-config script library
* scripts: split policy-hooks into separate files, one for each hook
* m-lua-scripting: api: bind WpEvent set_data/get_data
* event: add datalist to store arbitrary data on the event
* m-standard-event-source: add \"schedule-rescan\" action signal
* event-hook: rewrite the hook priorities enum
* m-standard-event-source: export the push_event function as an action signal
* m-standard-event-source: refactor around a central \"push_event\" function
* m-standard-event-source: pass self as the event\'s source object
* m-standard-event-source: add object-manager property
* m-standard-event-source: add SiLink to the object type & priority list
* m-standard-event-source: manage all kinds of session items in the om
* m-standard-event-source: remove the devices object manager
* main: Free the component deps using the correct API
* lib: remove deprecated APIs
* m-settings: trigger init of WpSettings object
* settings: remove unnecessary log message
* m-lua-scripting: support dangling components
* component-loader: support dangling components
* main.c: refactor the init transition with priority tag
* conf: move endpoints into wireplumber.settings
* lib: event-hook/dispatcher: constness and staticness fixes
* settings: append matches if the rule name matches
* config: comment all remaining rules
* policy-device-profile.lua: use default rules if none are defined
* bluez.lua: use default rules if none are defined
* alsa.lua: use default rules if none are defined
* access-default.lua: use default rules if none are defined
* event-dispatcher: Add a trace log msg to indicate the events created
* wpexec: Add support for event dispatcher
* config: use wireplumber nomenclature for the setting names
* config: comment persistent.settings to false as it is its default value
* config: make remaining non rule settings optional
* m-lua-scripting: add fallback value for parse_{array|object}_safe() APIs
* config: always comment the default values
* config: consider dependency valid if not defined in WpSettings
* config: move all components into wireplumber.conf
* config: fix flags for libpipewire-module-rt
* config: use the pipewire directory
* policy-device-endpoint.lua: remove unused move configuration
* policy-hooks.lua: set move configuration to true by default
* common-utils.lua: use different timeout callbacks for different states
* conf: comment persistent.settings as it is disable by default
* module-settings: refactor to only load state file when plugin is enabled
* policy-hooks.lua: An example of user injectible hook
* policy-{node|hooks}.lua: Fix issues in Zoom Desktop Video Sharing.
* m-lua-scripting: Return the event in the push_event API
* event-dispatcher: Group after-events-with-event hooks of a session item
* settings: make sure WpSpaJson is valid after doing wp_iterator_next()
* settings: make sure WpSpaJson is not NULL when checking its type
* settings: remove wp_settings_get_all() API
* main: parse component flags in a more robust way
* main: always expect component deps to be a JSON array
* main: use smart pointers to avoid wp_spa_json_unref()
* config: clean and comment all configuration that is not needed by default
* main.c: Allow for array of dependencies
* Wireplumber Settings: Port the latest changes from master
* policy-{bluetooth|device-profile|device-routes}.lua: Optimize for Event stack
* m-default-nodes{-api}: Correct the critical log msg
* monitors: Align nomenclature of the settings and rules
* restore-stream.lua: optimize for event-stack
* policy-node.lua: apply policy settings live
* settings: use WpSpaJson instead of raw string in WpSettingsChangedCallback
* scripts: use the WpSettings safe APIs
* settings: add APIs to parse all types safely
* m-default-nodes{-api}: optimize for event-stack
* policy-node.lua: fix the session items unhandling
* scripts: use the new object ID as index in the Lua tables
* session-item: remove ID property
* object: add ID property
* test/settings.lua: fix the assert failure in the callback API tests
* policy-node.lua: Second round of cleanup.
* policy-node.lua: First round of cleanup
* m-lua-scripting: push_event API to return the event created
* event-dispatcher: Introduce after-events-with-event hook type
* Revert \"event-dispatcher: after-events hooks to get the trigger event info\"
* settings: don\'t show warning if rule or action are empty objects
* settings: remove _get_{boolean|int|float|string}() APIs
* m-lua-scripting: don\'t show warning if object key is not a string
* settings: fix code format
* settings: fix memory leaks
* monitors: use new Settings.get_all() API
* settings: add new _get_all() API
* settings: use WpSpaJson to parse the settings
* spa-json: add _add_from_string() and _add_from_stringn() builder APIs
* settings: use TRUE/FALSE instead of true/false
* docs: update new configuration file names
* conf: rename \'
*-settings.conf\' files to just \'
*.conf\'
* create-node.lua: Adjust style
* m-default-profile: Adjust style and update summary.
* tests/events.c: Adjust style
* event-dispatcher: after-events hooks to get the trigger event info
* policy-node.lua: Adjust style
* policy-bluetooth.lua: Port onto Event-stack
* policy-bluetooth.lua: Adjust style
* lib: event-dispatcher: Dont push empty events
* event-hooks: give unique names to event hooks
* event-dispatcher: Donot cancel the object-removed event
* event-hooks: remove the unwanted second arg in simple hooks
* device-profiles: Port to event-stack
* create-item.lua: Adjust style
* restore-stream.lua: Adjust style
* device-profiles: Add summary
* policy-device-profile.lua: Adjust style
* policy-device-routes.lua: Port to event-stack
* policy-device-routes.lua: Add summary and enhance the debug messages
* policy-device-defaults.lua: Adjust style
* event-dispatcher: Add an enumeration of default event hook priorities
* m-default-nodes
*: Remove suffixes in hooks name
* restore-stream.lua: Port to event-stack
* policy-node.lua: Update settings file used
* event-dispatcher: log event and hook names and chains
* m-standard-event-source: fix params of on-params-changed event
* m-default-nodes: Port to Event stack
* doc: event-dispatcher: Update the annotations
* m-standard-event-source: fix metadata changed evnt
* event-dispatcher: Merge global properties
* policy-node.lua: Update the summary
* create-item.lua: Update the summary
* policy-node: Adjust the priority of policy event
* lib: Refine trace messages
* m-lua-scripting: Fix bug in WpEvent referencing
* policy-node: Port to Event Stack design
* create-item: push linkable events.
* wireplumber.conf: add m-standard-event-source
* WIP: port create-item.lua to use event hooks
* lua: add EventInterest convenience constructor for declaring interest on events
* tests: wplua: add event hooks lua test
* event-dispatcher: use an eventfd to make the source ready
* event-hook: do not expose the dispatcher in the public API
* simple-event-hook: do not pass the dispatcher as argument to the closure
* lua: implement EventDispatcher.push_event
* lua: add WpAsyncEventHook bindings
* event-hook: add an async event hook implementation
* modules: add m-standard-event-source
* event-hook: use WP_TYPE_EVENT as the type for hook interest
* lua: add bindings for event / hook / dispatcher
* lib: initial version of WpEventDispatcher / WpEvent / WpEventHook
* config: remove obsolete files
* lib: wpsettings: Add _register_callback () API
* docs: configs-refactor changes.
* config/JSON: Spruce up the JSON config files
* m-settings: Fix the crash with empty settings
* policy: Switch policy settings to JSON
* tests: Add tests for JSON array of strings
* endpoints: Switch endpoints config to JSON
* main.c: Add support for ifexits and nofail flags
* bluez.lua: Switch bluez lua monitor to wpsettings
* wpsettings: switch settings in main.lua.d to JSON
* device-settings: Switch device settings to wpsettings
* lib: Add _get_float() wpsettings API
* wireplumber.conf: split up the wireplumber config
* lua: fix number of returned values in Settings.apply_rule
* settings: fix doxygen/g-i strings/commands and link them to the sphinx site
* lua monitors: switch to wpsetttings
* lib: Add _get_{int,string}() APIs
* main: Add support for deps flag in loading modules
* lib: Add wp_settings_apply_rule() API
* spa-json: add _is_container () API
* lib: Add parsing logic for rules
* tests: Add tests for WpSettings object
* lib: Introduce WpSettings API
* m-settings: Module to handle JSON config settings.
* Wed Dec 06 2023 virtuousfoxAATTgmail.com- Update to version 0.4.17~git20231203.d3eb77b:
* release 0.4.17
* policy-endpoint-device: handle filters only if we have endpoints
* object-manager: ref all object managers before exposing tmp globals
* Wed Nov 29 2023 virtuousfoxAATTgmail.com- Update to version 0.4.16+3~git20231129.a063d48:
* scripts: pass is_filter to createLink
* scripts: log si_link after creating it
* Update fa.po
* release 0.4.16
* scripts: add new sm-objects script
* policy-device-profile.lua: add a method to prioritize BT codecs.
* policy-endpoint-device.lua: connect filter output to actual sinks
* policy-endpoint-device.lua: logic to connect endpoint to filter
* policy-endpoint-device.lua: enhance link log msgs
* policy-endpoint-client.lua: avoid connecting filters to endpoints
* meson: bump the required pipewire version to 0.3.68
* si-standard-link: remove the \"passive\" property
* si-audio-endpoint: mark the nodes as passive instead of marking the links
* Sun Nov 12 2023 virtuousfoxAATTgmail.com- Update to version 0.4.15+14~git20231110.74d3b55:
* metadata: export using the pw_impl_metadata properties
* lua api: allow nil to be passed on all constructors that take optional properties
* core: add wp_core_get_own_bound_id() method
* lua: json: add optional argument in the json parse() method to limit the number of recursions
* lua: json: allow keys inside objects to be without quotes
* properties: update doc to mention that it\'s possible to use JSON in _new_string()
* Tue Nov 07 2023 virtuousfoxAATTgmail.com- Update to version 0.4.15+8~git20231107.3fa8751:
* config: allow passing arguments to pipewire modules
* conf: update module-rt usage
* Wed Nov 01 2023 virtuousfoxAATTgmail.com- Update to version 0.4.15+6~git20231030.7a65d76:
* policy-dsp: add ability to hide parent nodes
* m-default-nodes: clear all previous configured nodes if metadata changes to NULL
* docs: fix typo in ALSA passthrough instructions
* Wed Oct 25 2023 virtuousfoxAATTgmail.com- Update to version 0.4.15+3~git20231023.23ba019:
* object-manager: use an idle callback to expose tmp globals instead of pw_core_sync
* object-manager: reduce the amount of globals that initially match the interest
* docs: Provide example for iec958.codecs config
* Fri Oct 13 2023 virtuousfoxAATTgmail.com- Update to version 0.4.15~git20231012.d67b48e:
* 0.4.15
* docs: fix warnings related to recent policy-dsp changes
* Thu Oct 12 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+28~git20231012.69ed770:
* config: set priority. keys on midi-bridge
* wpctl: add zsh completions
* Sun Oct 08 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+26~git20231002.5faab4e:
* policy-device-profile: set default and best by device.profile
* policy-dsp: expect policy-device-profile to manage profiles
* policy-dsp: load filters from file
* policy-dsp: add a policy for loading filter chains
* api: module: support loading arguments from file
* policy-device-profile: Use device.profile if set
* config: alsa: increase VM period-size to 1024
* Wed Sep 06 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+19~git20230901.02e1393:
* policy-node: destroy node only after sending an error to the client
* Thu Aug 31 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+18~git20230830.6e81dc7:
* docs: Add missing \'\\since\' attributes to types and functions that have been added in versions later than 0.4.0
* Add enum documentation and `Since` tag to the generated gir file
* gir: Add object documentation and `Since` tag to the generated gir file
* Thu Aug 17 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+15~git20230811.227dd97:
* m-lua-scripting: always parse JSON to String if its type is not recognized
* Wed Jun 21 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+14~git20230619.e24e52c:
* spa-json: encode the string directly into the builder
* Mon Jun 19 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+13~git20230619.e91a958:
* spa-json: Fix conditional jump on uninitialised value when adding empty strings to builder
* bluez: disable auto-connect by default
* Thu Jun 15 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+11~git20230614.5d4db78:
* suspend-node: check if the node still exists before suspending it
* node: prevent crashing if the proxy isn\'t bound
* Remove RestrictNamespaces from systemd service
* Wed May 24 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+8~git20230523.6dc5ac0:
* wpctl: add status options to display device/node names and nicknames
* tests: common: crank up timeout for slower devices
* Thu Apr 20 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+6~git20230414.7e3b175:
* bluetooth.conf: set the export-core to true
* Thu Apr 13 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+5~git20230408.faf98ae:
* bluez: emit combine-stream for BAP device sets
* Replace ru.po
* Thu Mar 30 2023 virtuousfoxAATTgmail.com- Update to version 0.4.14+3~git20230324.7235097:
* po: Update Belarusian translation
* bluez: update configuration settings
* gitlab-ci: Update all images and use latest CI templates
* 0.4.14
* Wed Mar 08 2023 virtuousfoxAATTgmail.com- Update to version 0.4.13+21~git20230304.aaefda8:
* Update Polish translation
* libcamera.lua: add support for disabling nodes
* policy-node: do not hold references in link-error handler
* po: Update Ukrainian translation
* alsa: boost pro- profiles priority
* policy-node: handle WpSiStandardLink link-error signal
* m-si-link: propagate WpLink errors
* m-lua-scripting: increase refcount of export_core before pushing into the Lua state
* po: Update German translation
* Fri Feb 03 2023 virtuousfoxAATTgmail.com- Update to version 0.4.13+12~git20230131.a0e8470:
* restore-stream: add default-channel-volume config option
* docs: add new ACP option do docs
* Thu Jan 26 2023 virtuousfoxAATTgmail.com- Update to version 0.4.13+10~git20230124.2daa2da:
* bluez-midi: add property for setting latency offset
* bluez-midi: set api.glib.mainloop
* scripts: add bluez-midi monitor and its configuration
* docs: add api.acp.probe-rate docs
* Wed Jan 11 2023 virtuousfoxAATTgmail.com- Update to version 0.4.13+6~git20230110.f3e62f3:
* bluez: Update headset roles default value
* Thu Jan 05 2023 virtuousfoxAATTgmail.com- Update to version 0.4.13+5~git20230104.6b761c0:
* m-lua-scripting: ignore string/integer table keys when constructing a JSON Array/Object
* spa-json: make sure we only add encoded string data
* Mention wpexec in lua docs
* Thu Dec 15 2022 virtuousfoxAATTgmail.com- Update to version 0.4.13+2~git20221214.5d9fb9f:
* Fix typo: numner to number
* alsa-monitor: handle snd_aloop devices better
* release 0.4.13
* Fri Dec 09 2022 virtuousfoxAATTgmail.com- Update to version 0.4.12+26~git20221207.784f03d:
* module-si-audio-adapter: Pass through encoded audio
* module-si-audio-adapter: Do not set channels if parsed result is 0
* Tue Dec 06 2022 virtuousfoxAATTgmail.com- Update to version 0.4.12+24~git20221206.98d968c:
* policy-node: rescan also when streams are removed
* object-manager: copy the objects array in the iterator
* tests: add unit test verifying we can remove SIs from OMs while iterating
* tests: stop using fake{sink,src} to avoid skipping tests
* Update Hindi (hi) translation
* tests: wplua: json: test json object key with spaces and special characters
* Sun Dec 04 2022 virtuousfoxAATTgmail.com- Update to version 0.4.12+18~git20221202.44cdce4:
* bluez: Add Offload SCO nodes routing sample (for PinePhone)
* bluez: Add Offload SCO nodes
* Fri Dec 02 2022 virtuousfoxAATTgmail.com- Update to version 0.4.12+16~git20221201.09a6881:
* restore-stream.lua: do not restore the target when it is defined in node props
* monitors: v4l2: allow disabling devices and nodes
* metadata: use an object closure to avoid crashing if the core disconnects early
* config: append \"Firefox Developer Edition\" to list of media role apps
* meson: Add options to configure whether to build daemon, tools and modules.
* main: Return transition error only once
* access-portal: re-evaluate permission when a camera is added
* Wed Nov 09 2022 virtuousfoxAATTgmail.com- Update to version 0.4.12+9~git20221108.e77ad8c:
* alsa.lua: remove the disabled entities from the names table
* scripts: policy-node: wait for unactivated links instead of removing
* Updated slovak translation
* gir: Add pkg-config package name and main header
* po: Update Czech translation
* Fri Oct 21 2022 virtuousfoxAATTgmail.com- Update to version 0.4.12+4~git20221018.5622805:
* meson: rename dbus option to dbus-tests
* tests: Make dbus-based tests depend on dbus option
* meson_options.txt: Add option to disable dbus
* config: bluez: Add property for HSP/HFP native backend modem
* release 0.4.12
* po: update LINGUAS
* gitlab-ci: add check to verify po/LINGUAS is correctly maintained
* Mon Oct 03 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+31~git20220928.8fa1693:
* Apply 1 suggestion(s) to 1 file(s)
* alsa-midi: move MIDI bridge properties into a table
* alsa-midi: add an option to disable longname/card number display
* module-default-nodes: prioritize previous configured defaults
* Tue Sep 27 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+27~git20220927.41a6a9d:
* config: re-wrap media-role.applications and add \"Skype\" in the list
* config: bluez: Update source-role property name
* config: BT profile switching for chromium webrtc streams
* bluez: use device id instead of profile name in node names
* Fri Sep 23 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+23~git20220923.cafb048:
* config: bluez: add Opus encoding settings
* Update Hungarian translation
* Thu Sep 15 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+21~git20220915.ab6bc62:
* m-portal-permissionstore: remove old unused header
* scripts: bluez: Autoconnect bap-sink stream on peripheral/acceptor
* scripts: bluez: Autoconnect media.source stream
* Update Catalan translation
* Wed Aug 31 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+17~git20220828.55691a0:
* spa-json: always advance to the end of the nested array/object
* Sun Aug 21 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+16~git20220816.b1b5bf2:
* wpctl: add option to limit set-volume final value
* Update Persian translation
* Georgian translation
* m-si-link: don\'t wait for establish before activation + cleanup links
* policy-node: fix potential rescan loop
* Wed Aug 03 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+11~git20220731.7a70b04:
* policy-device-profile: set best profile even if it has not changed
* Sun Jul 31 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+10~git20220729.ccf1630:
* main: add --version flag to show current version
* wpctl: accept 0 as ID in clear-default subcommand
* meson.build: remove version check before setting up devenv
* Fri Jul 15 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+7~git20220714.d502969:
* Fix leftover use of module-reserve-device\'s state property
* Wed Jul 13 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+6~git20220713.dca2ca2:
* config: add possible dither.method property
* dbus: fix crash when trying to reconnect
* Fri Jul 08 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11+4~git20220707.aee4fe2:
* policy-device-routes: consider routes only for active profile
* policy-default-routes: use different default volume for input direction
* policy-device-routes: change default volume to 0.4 on cubic scale
* alsa: use \"obj_type\" as a variable name to avoid shadowing lua\'s \"type\" function
* Tue Jul 05 2022 virtuousfoxAATTgmail.com- Update to version 0.4.11~git20220705.80b3559:
* release 0.4.11
* subprojects: bump lua to 5.4.4
* wpctl: set-volume: improve the code, treat percentage as pactl does
* wpctl: remove unused variables
* wpctl: remove double % sign printouts, fix the style of the set-volume summary
* Sun Jul 03 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+49~git20220702.9def3f9:
* link: add WP_LINK_FEATURE_ESTABLISHED to track when a link is PAUSED/ACTIVE
* alsa: add mechanism to override node default properties for VMs
* lua: add Core.get_vm_type() method
* Tue Jun 28 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+46~git20220628.d7f1710:
* policy-device-profile: always consider the stored default profile when re-evaluating
* wpctl: fix `inspect` for metadata objects
* si-node: skip control ports from the list of ports to be linked
* Change LUA to Lua
* Tue Jun 28 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+42~git20220627.ba30a4f:
* si-audio-adapter: skip control ports from the list of ports to be linked
* wp_spa_json_to_string: add since marker
* Mon Jun 27 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+40~git20220627.b6e8e7e:
* spa-json: encode string in wp_spa_json_new_string()
* spa-json: add wp_spa_json_to_string() API
* spa-json: only add the json data represented by its size
* config: rename empty.noise -> dither.noise
* Update Swedish translation
* Update Ukrainian translation
* alsa.lua: remove node names from table when parent device is destroyed
* m-default-nodes: reevaluate nodes when ports changed
* device: add new wp_spa_device_managed_object_new_iterator API
* iterator: skip NULL pointers when iterating pointer arrays
* Fri Jun 24 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+30~git20220624.2536380:
* config: add more possible device properties
* Update Polish translation
* Update POTFILES.in
* dbus: fix bus type check when getting instance
* Wed Jun 08 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+26~git20220608.2e9549e:
* po: add Persian language
* wpctl: allow modifying volume levels using percentage/step amount.
* wpctl: Add get-volume command and functionality
* core: add API to get virtual machine type
* m-reserve-device: use WpDbus API
* modules: move all portal-permissionstore code into one file
* m-portal-permissionstore: use WpDbus API
* lib: add new WpDbus API
* Wed Jun 01 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+18~git20220531.2ac3847:
* libcamera: give higher priority to external cameras
* v4l2: append \"(V4L2)\" in node descriptions
* libcamera: improve the front/back camera descriptions
* v4l2/libcamera: set node.nick on nodes
* libcamera: set a user-friendly description for internal cameras
* wpctl: print link states in the status output
* link: add link state accessors and change signal
* Fri May 27 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+11~git20220526.9ec2757:
* monitors: enable libcamera by default and set priority on all camera nodes
* Wed May 25 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+10~git20220524.13b85bd:
* m-lua-scripting: fix object refcounting
* Add po/POTFILES.skip
* Sun May 22 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+8~git20220520.392cce2:
* m-default-nodes: don\'t check if all device nodes are ready when finding default node
* alsa.lua: fix device name deduplication when reservation is enabled
* m-lua-scripting: allow converting GValue holding NULL objects to Lua
* docs: fix WIREPLUMBER_DEBUG examples
* Enable proper syntax highlighting.
* Add alsa_monitor.rule example, capitalization, syntax.
* Fri May 13 2022 virtuousfoxAATTgmail.com- Update to version 0.4.10+2~git20220512.1f04530:
* config: fix enabled property to default to \"true\" when not defined
* examples: add a lua example showing how to load filter-chain from a script
* release 0.4.10
* properties: improve documentation of _get_count()
* i18n: remove the module and embed the gettext calls into the lua api
* si-interfaces: improve documentation on latest api additions
* Enable automatic bluetooth profile switching for Mumble
* Fri May 06 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9+39~git20220505.3bdacc4:
* config: add enabled property on monitors
* policy-node: forward filter stream\'s format to filter device
* m-lua-scripting: add WpSiAdapter APIs
* si-adapter: add ports state change signal
* docs: add placeholder for lua_spa_pod
* docs: remove deprecated doxygen configuration params
* wpctl: support changing volume and mute by PID number
* Mon May 02 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9+32~git20220502.8af6f3d:
* modules/logind: be more specific when creating the login monitor
* m-mixer-api: fix channelVolumes array iteration in set-volume
* wpexec: fix script activation to work with per-script plugins
* wpctl: support AATTDEFAULT_{AUDIO,VIDEO}_{SINK,SOURCE}AATT as ID
* Sat Apr 23 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9+28~git20220423.81af8c2:
* lua: sandbox: remove all traces of the minimal_std flag, as it\'s no longer used
* docs: fix sandbox documentation to reflect changes
* tests: wplua: add a test for asynchronous script activation
* object-interest: don\'t try to pattern-match NULL strings
* m-lua-scripting: wrap every script in a WpPlugin and expose async activation api
* lua: sandbox: relax the sandbox to allow more functionality in scripts
* wplua: implement reference counting of the lua_State
* wplua: enable the use of require() to load lua libraries from scripts/lib
* wplua: split the functionality of the load functions into smaller functions
* Wed Apr 20 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9+19~git20220415.a247254:
* scripts: access-portal: Fix incorrect bitmask checking for media roles
* Thu Apr 14 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9+18~git20220411.018ccb9:
* po: Add translations from pipewire
* scripts: translate user-visible strings in alsa.lua
* modules: add m-i18n
* Update 10-default-policy.lua
* Sun Apr 10 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9+14~git20220408.f7c01d2:
* Add Linphone to \"media-role.applications\"
* Wed Apr 06 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9+13~git20220405.d1f20e2:
* systemd: Allow systemd system services to use module-rt
* scripts: Add script to create fallback sink
* config: document which options need to be turned off to use wp without D-Bus
* scripts: policy-device-profile: clear tables when devices removed
* suspend-node: trigger idle timeout also if a node goes into \"error\" state
* Wed Mar 30 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9+8~git20220327.812fc9b:
* scripts: policy-node: filter-like streams should not follow default
* Fri Mar 25 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9+7~git20220324.d173eea:
* main: don\'t use struct spa_json
* spa-json: add _new_from_stringn() API
* wplua: move under modules/module-lua-scripting
* main: use WpSpaJson when loading components
* spa-json: allow parsing unquoted keys when getting object properties
* src: setlocale in main() for tools and the daemon
* properties: Add get count API
* Wed Mar 23 2022 virtuousfoxAATTgmail.com- Update to version 0.4.9~git20220322.8b97b40:
* release 0.4.9
* tests: use GNU_SOURCE for compiling tests as well
* Fri Mar 18 2022 virtuousfoxAATTgmail.com- Update to version 0.4.8+32~git20220316.44a09a1:
* tests: spa-json: add a test to verify that we can parse the spa-json format
* spa-json: allocate enough space for parsing strings without looping
* spa-json: Parse unquoted string literals
* Wed Mar 09 2022 virtuousfoxAATTgmail.com- Update to version 0.4.8+29~git20220308.538976b:
* Add Telegram Desktop to the list of programs to enable bluetooth autoswitching.
* ci: add Alpine target to test Musl builds
* alsa: fixup node.nick
* policy-endpoint-device: Fix endpoints not connected with devices
* scripts: bluez: set icon name for bluez devices
* scripts: restore-stream: handle target.object
* policy-node: handle nodes-follow-default in handleLinkable
* policy-node: support target.object key
* wp: fix behavior of transitions before advanced for first time
* Mon Mar 07 2022 virtuousfoxAATTgmail.com- Update to version 0.4.8+20~git20220301.b95da33:
* alsa: also try the profile description if the pcm name is empty, for node.nick
* alsa: use the pcm name to populate the node.nick
* si-audio-adapter: relax format parsing
* conf: add property to disable dummy AVRCP player in bluetooth.conf
* scripts: policy-node: don\'t use fallback for dont-reconnect w/ target
* policy-node: don\'t move already linked dont-reconnect nodes
* scripts: policy-node: handle device linkable removal
* policy-device-profile: Don\'t restore if active profile is persistent and default
* object: abort queued transitions if current transition failed.
* Mon Feb 21 2022 virtuousfoxAATTgmail.com- Update to version 0.4.8+11~git20220221.b8b3f17:
* config: add more chromium based browsers to media-role.applications
* policy-node/create-item: fix handling of linkables pending activation
* Fri Feb 18 2022 virtuousfoxAATTgmail.com- Update to version 0.4.8+9~git20220216.edf0dc6:
* config: rename default-routes.lua to policy-device-routes.lua
* policy-device-profile: add option to set persistent profiles
* config: port device-activation module to policy-device.profile.lua
* gitlab-ci: update ci-templates, fedora version and coverity version
* spa-json: fix format and remove unneded WP_API
* Tue Feb 15 2022 virtuousfoxAATTgmail.com- Update to version 0.4.8+4~git20220214.c4c5ca8:
* policy-bluetooth: fix string.find crash with nil string
* Fri Feb 11 2022 virtuousfoxAATTgmail.com- Update to version 0.4.8+3~git20220209.e429db7:
* spa-json: fix va_list APIs for different architectures
* lib: remove some listeners
* restore-stream: do not crash if config.properties is nil
* Tue Feb 08 2022 virtuousfoxAATTgmail.com- Update to version 0.4.8~git20220207.e14bb72:
* release 0.4.8
* meson: require pipewire 0.3.45 for pw_context_conf_section_for_each()
* docs: add WpSpaJson C API Documentation files
* policy-node: find best linkable if default node passthrough is not compatible
* Thu Feb 03 2022 virtuousfoxAATTgmail.com- Update to version 0.4.7+41~git20220203.13034fa:
* main: use pw_context_conf_section_for_each()
* restore-stream: export the route-settings metadata again
* lua-scripting: expose WpImplMetadata on the API
* restore-stream: add rules matching to allow overriding things per stream
* config: move restore-stream.lua configuration in its own file
* restore-stream: use the new Json API and remove route-settings-api module
* policy-endpint: add support for stream audio nodes without media.role
* scripts: policy-bluetooth: don\'t switch if already have input route
* scripts: policy-bluetooth: save only necessary state on disk
* scripts: policy-bluetooth: monitor whether streams are running
* scripts: policy-bluetooth: save profiles by name, not index
* scripts: policy-bluetooth: fix headset profile saving
* scripts: policy-bluetooth: fix state_table usage
* scripts: policy-bluetooth: ignore monitor streams properly
* spa-json: add null character when finishing building json
* Tue Feb 01 2022 virtuousfoxAATTgmail.com- Update to version 0.4.7+26~git20220127.384c577:
* default-nodes: add option to auto-switch to echo-cancel nodes
* policy-node: schedule rescan if device params changed
* Fri Jan 28 2022 virtuousfoxAATTgmail.com- Update to version 0.4.7+24~git20220127.da023e1:
* conf: added ability to disable MIDI functionality entirely
* m-lua-scripting: add Json.Raw constructor
* wpctl: ensure that the result of strtol() is < G_MAXUINT32
* spa-json: fix coverity scan issues
* default-nodes: use WpSpaJson API
* m-lua-scripting: add WpSpaJson API
* spa-json: add new WpSpaJson API
* wpctl: add clear-default option to clear default configured node names
* m-default-nodes-api: add API to get and set default configured node name
* default-nodes: reevaluate when device params changed
* bluez5: fix initial profile selection
* Sat Jan 22 2022 virtuousfoxAATTgmail.com- Update to version 0.4.7+13~git20220121.411378d:
* spa-pod: add missing API sentinel
* lib: assert non-NULL input for wp_spa_pod_equal
* tests: don\'t leak fd in test
* Thu Jan 20 2022 virtuousfoxAATTgmail.com- Update to version 0.4.7+10~git20220119.0c3be71:
* conf: update module-rt usage in bluetooth.conf
* docs: actually mention correct numbers in the priority.session note
* docs: add a note about good priority values for nodes
* conf: update module-rt usage
* Sat Jan 15 2022 virtuousfoxAATTgmail.com- Update to version 0.4.7+6~git20220114.ef7504b:
* scripts: policy-bluetooth: Support saving of user selected headset profile
* scripts: Add a bluetooth policy script
* scripts: intended-roles: Use both device and stream
* Revert \"default-nodes: increase priority if node has available routes\"
* default-nodes: handle nodes without Routes
* default-nodes: increase priority if node has available routes
* Fri Jan 14 2022 virtuousfoxAATTgmail.com- Update to version 0.4.7~git20220113.afb177b:
* release 0.4.7
* scripts: fallback to empty config table if args were not passed from the config files
* device-activation: show device name in logs
* default-nodes: add more logs
* added support for disabling nodes and devices through conf
* Wed Jan 12 2022 virtuousfoxAATTgmail.com- Update to version 0.4.6+9~git20220112.75281d8:
* default-nodes: check if default node has available route
* scripts: monitors: log warning if spa devices were not created successfully
* default-nodes: check if the ports exist in rescan_om
* policy-endpoint-client.lua: fix record with endpoints
* config: update the endpoints config
* Tue Jan 11 2022 virtuousfoxAATTgmail.com- Update to version 0.4.6+4~git20220109.bc76cb7:
* spa-pod: fix different architecture errors for boolean values
* policy-node: find best linkable if default one cannot be linked
* policy-node: schedule a rescan without timeout if defined target is not found
* Fri Jan 07 2022 virtuousfoxAATTgmail.com- Update to version 0.4.6+1~git20220107.23fc4d2:
* policy-node: fix typo when finding best target
* Thu Jan 06 2022 virtuousfoxAATTgmail.com- Update to version 0.4.6~git20220106.9a73329:
* release 0.4.6
* m-default-nodes-api: don\'t return stream node if default node name matches
* create-item: downgrade warning to message
* bump pipewire dep to 0.3.43
* m-device-activation: reset iterator when finding best and default profiles
* si-audio-adapter: Reference WpTransition before passing it as callback data
* policy-node: always use the default linkable if default nodes module is loaded
* module-default-nodes-api: sync with core before emitting changed signal
* m-default-nodes: don\'t reevaluate nodes if they are not ready
* m-default-nodes: set effective node metadata to NULL if node is not found
* Wed Jan 05 2022 virtuousfoxAATTgmail.com- Update to version 0.4.5+63~git20220105.3f3c980:
* create-item: downgrade warning to message
* bump pipewire dep to 0.3.43
* m-device-activation: reset iterator when finding best and default profiles
* Wed Jan 05 2022 virtuousfoxAATTgmail.com- Update to version 0.4.5+60~git20220105.b6dd422:
* si-audio-adapter: Reference WpTransition before passing it as callback data
* policy-node: always use the default linkable if default nodes module is loaded
* module-default-nodes-api: sync with core before emitting changed signal
* m-default-nodes: don\'t reevaluate nodes if they are not ready
* m-default-nodes: set effective node metadata to NULL if node is not found
* policy-node.lua: Fix nil value indexing
* config: add commented-out \"session.suspend-timeout-seconds\" option in alsa config
* suspend-node: use a 5sec timeout by default, to be inline with the docs
* docs: update documented versions of dependencies
* docs: update the \"running\" instructions
* docs: split up and enrich configuration docs
* json: improve json parsing
* Mon Jan 03 2022 virtuousfoxAATTgmail.com- Update to version 0.4.5+48~git20220103.071ad0e:
* config: add property for audio.allowed-rates
* config: enable RT on the data thread for bluetooth nodes
* Wed Dec 22 2021 virtuousfoxAATTgmail.com- Update to version 0.4.5+46~git20211222.e04acbd:
* docs: remove protected annotations from functions to show them in the docs
* policy: use a scheduleRescan function to avoid unneeded rescans
* create-item: don\'t register item if failed to activate
* si-std-link: handle node destroy events while linking is in progress
* registry: ensure in-progress activations are aborted when a global is removed
* Tue Dec 21 2021 virtuousfoxAATTgmail.com- Update to version 0.4.5+41~git20211221.a2921d7:
* pipewire-obj-mixin: guard against proxy being destroyed while syncing to core
* core: add wp_core_sync_closure()
* object-manager: doc: add note about the installed signal
* Mon Dec 20 2021 virtuousfoxAATTgmail.com- Update to version 0.4.5+38~git20211220.5412ca9:
* log: guard against NULL messages
* Mon Dec 20 2021 virtuousfoxAATTgmail.com- Update to version 0.4.5+37~git20211220.0ff9ea9:
* meson.build: add devenv
* m-device-activation: reevaluate current profile if params changed
* m-default-profile: only store the default profile if the save flag is present
* m-mixer-api: unset iterator value before breaking or returning from loop
* pipewire-object-mixin: enable feature info when event info is fully processed
* metadata: unset iterator value before breaking or returning from loop
* Sat Dec 18 2021 virtuousfoxAATTgmail.com- Update to version 0.4.5+31~git20211215.6d7ae69:
* pipewire-object-mixin: use 64-bit type for `change_mask`
* meson: set minimum pipewire version to 0.3.41
* si-standard-link: return transition error once even if multiple links failed
* proxy: abort activation if error or destroyed
* object: add new _abort_activation API
* docs: update daemon configuration to match new config files
* Fri Dec 10 2021 virtuousfoxAATTgmail.com- Update to version 0.4.5+25~git20211207.22fd429:
* default-routes.lua: reevaluate current profile only for its own routes
* scripts: also look in $XDG_CONFIG_HOME/scripts
* m-device-activation: set best profile if default is not available
* policy-node.lua: Fix si_link activation failure handling
* default-routes: make the default volume configurable
* access-config: add restricted access permissions
* policy-node: don\'t crash if device.id is not set on a target
* policy-node: improve default device selection logic
* wp: fixup tmp_global exposition with removed objects
* wp: add an assert to guard against id race conditions arising
* si-standard-link: always return transition error if activation fails
* si-audio-adapter: always return task error if set ports format fails
* si-audio-adapter: clean up unneeded code when setting ports format
* alsa: handle the release-requested signal
* Revert \"policy-node: Remove direction check\"
* lib: don\'t read hidden files from the config directory
* policy-node: wait for nodes when we become unlinked
* log: support strings as level selectors in WIREPLUMBER_DEBUG
* lib: correct documentation for wp_iterator_fold/foreach
* lib: fix some incorrect docs for signals
* Fix some typos
* m-reserve-device: replace the hash table key on new insert
* ci: use FDO_CI_CONCURRENT if available to control the job count
* policy-node: Remove direction check
* libcamera: use the new manager object for monitoring
* release 0.4.5
* policy-node: don\'t clear peer_id when removing a link that was not for that peer
* policy-node: improve debug messages in findUndefinedTarget()
* policy-node: fix small issues in last patch (last comment in !253)
* policy-node: improve target device selection logic
* wp: invalidate WpGlobal id when removed from registry
* Wed Nov 10 2021 virtuousfoxAATTgmail.com- Update to version 0.4.4+24~git20211110.07cd52b:
* policy-node: check target exists before checking if an item is linked to it
* policy-node: grab si.id once in createLink() and reuse it
* policy-node: add check to not relink more than 5 times if link with peer fails
* policy-node: lookup the proper peer link when handling linkable
* systemd: document the service files for split mode
* policy-node: make sure \'taget.node\' property has a valid Id before waiting
* default-routes.lua: add missing break in best route selection logic
* scripts: escape semicolon when serializing and parsing array
* ci: add a shellcheck job
* wp-uninstalled: fix a few shellcheck complaints
* policy-{node,endpoint-device}: do not hold reference to si_link in closure
* policy-endpoint-client.lua: refactor based on policy-node.lua
* policy-endpoint-device.lua: refactor based on policy-node.lua
* m-si-audio-endpoint: use an internal audio adapter session item
* m-si-audio-adapter: add no-format configuration property
* m-si-audio-endpoint: do not use virtual media class for null sink nodes
* m-si-audio-adapter: remove unused audio utilities
* Tue Oct 19 2021 virtuousfoxAATTgmail.com- Update to version 0.4.4+7~git20211019.eff97ae:
* file-monitor-api: allow watching files too, not just directories
* policy-node: enforce the direction of the target when linking by node name
* wp-factory: enumerate pw_factory objects
* si-audio-adapter: make sure formats is valid before iterating
* policy-node: don\'t rescan in the timeout callback if the si was already destroyed
* policy-node: don\'t hold a reference to the session item in the timeout callback
* si-standard-link: fix crash after returning a link error
* release 0.4.4
* meson: add support for compiling module-logind with elogind
* policy-node: when node.target is specified, wait a bit for the target to be available
* policy-node: avoid searching for existing links if there is no reason
* policy-node: improve debug messages
* wplua: handle re-entrancy in _wplua_closure_marshal
* restore-stream.lua: do not remove target.node manually
* wp-uninstalled.sh: print the build directory to avoid confusion
* Makefile: run valgrind with better arguments & environment
* Makefile: use the build dir found by wp-uninstalled to run wireplumber from
* meson: replace deprecated dep.get_pkgconfig_variable() with dep.get_variable()
* meson: bump requirement to 0.56 to use meson.project_{source,build}_root()
* wp-uninstalled: error with usage information if no command is given
* wp-uninstalled: exit with status code 1, not -1
* wp-uninstalled: try to find the build directory
* wp-uninstalled: build this script with the meson dirs filled in
* wp-uninstalled: rename SCRIPT_DIR to SOURCEDIR
* meson: give the wireplumber binary a variable name
* wp: implement topics in SPA log interface
* object-manager: downgrade proxy activation failure message
* si-audio-adapter: skip reconfiguring if the same mode & format are requested
* si-standard-link: fix aux channels links
* si-standard-link: do not crash if an output port has no input port to link to
* si-standard-link: refactor linking logic to correctly link unpositioned nodes
* wp: support loading optional modules
* lua/api: fix impl_module_new arg parse
* si-audio-adapter: parse the rate optionally
* policy-node: accept TRUE as a valid boolean property value
* si-audio-adapter: ensure the node is suspended before changing PortConfig
* policy-node: implement encoded audio passthrough
* spa-pod: accept NULL object/struct/pod in a property field
* lua/api: add bindings for client:send_error()
* lua/pod: add bindings for fixate() and filter()
* spa-pod: add _filter() method
* client: add _send_error() method
* si-audio-adapter: find the device format early and store format-specific flags
* spa-pod: add _fixate() method
* default-routes: switch to the route when availability changed
* policy-node: add support for passive links
* modules: fix default audio format segfault
* systemd: alias to pipewire-session-manager.service
* ci: attempt an update of the ubuntu 20.04 image to fix SSL certificate issues
* release 0.4.3
* policy-node: do not try to link monitors in no-dsp mode, as they do not exist
* policy-node: cleanup target.node metadata when the default sink changes
* policy-endpoint-client: decrease log message verbosity
* policy: refactor/improve policy-node & session items to fix linking to monitors
* Revert \"wp: fix spa_log_methods version\"
* scripts: add libcamera monitor
* implement route-settings metadata and notification volume
* restore-stream: don\'t include the final : in the key name
* restore-stream: stop when we find the first suitable key
* m-default-nodes: safeguard timeout callback with g_cclosure_new_object
* m-default-nodes: lift restrictions on media.class for audio nodes
* lib: node: add gobject properties for state & {n,max}-{input,output}-ports
* metadata: fix properties
* default-routes: save and restore iec958Codecs
* wp: fix spa_log_methods version
* wp: fix pw_log_set usage
* default-access: grant full permissions to flatpak \"Manager\" apps
* m-si-audio-adapter: add \'disable.dsp\' configuration property
* m-si-standard-link: refactor and add support for no DSP mode
* si-adapter: call format task if port param-info is triggered in non DSP mode
* si-adapter: use F32P default format if mode is NULL
* config: bluez: update to match current bluez5 spa module
* object-manager: guard self in the idle callback using g_cclosure_new_object
* main: fail to start with a warning if media-session is also running
* modules: implement logind module and integrate with bluez monitor
* m-portal-permissionstore: try to reconnect on idle if DBus connection is closed
* scripts: handle dbus service restarts if reserve device is enabled
* m-device-reservation: try to reconnect on idle if DBus connection is closed
* si-audio-adapter: use INPUT direction to configure virtual sources
* systemd: add GIO_USE_VFS=local environment variable
* main: print the type of signal that stopped us
* spa-pod: add support for custom Id properties
* si-audio-endpoint: don\'t build DSP format in _set_ports_format
* si-audio-adapter: don\'t build DSP format in _set_ports_format
* alsa-monitor: add check for nill monitor
* metadata: use pw_impl_metadata for WpImplMetadata
* lib/wp/device: demote missing SPA warning to message
* v4l: add basic check for nil monitor
* bluez: add basic check for nil monitor
* lua/api: fix object constructors to fail gracefully
* meson: Build tests conditionally
* policy-node: schedule pending rescan if old link is not active
* policy-node: don\'t try to link to the same link-group
* policy-node: re-evaluate all nodes when changed
* 50-alsa-config.lua: Add missing commas
* release 0.4.2
* docs: lua proxies: add since markers for new methods
* docs: impl-module: add since markers and improve the Lua doc appearence
* remove wpipc
* tests: file-monitor: also remove the \'foo\' file at the end of the test
* tests: state: remove the \"escaped\" state file at the end of the test
* tests: use .local/state instead of .local/.state for the state dir
* systemd: remove AssertPathExists from the templated units
* meson: install configuration in $prefix/share
* wp: make wp_get_xdg_state_dir() private
* wp: make the config file lookup methods more generic
* doc: Add WpImplModule docs for the C and Lua API
* m-lua-scripting: Add WpImplModule bindings
* build: fix volatile compatible-pointer-types warnings
* properties: adjust documentation for the recent WpPropertiesItem changes
* wp: Add a WpImplModule for loading modules in WirePlumber context
* build: Allow to specify which system lua to use
* src: scripts: add alsa-mini.lua monitor
* m-lua-scripting: add GLib access Lua API
* modules: add new API module to monitor files
* dump_table: Sort keys before printing
* Fix not-equals verb having the wrong number of arguments in Lua API
* wp: refactor and rename wp_iter_conf_files() to use WpIterator
* wp: polish documentation and add annotations for the config-related functions
* lib: s/G_GNUC_DEPRECATED/G_DEPRECATED/
* lib: explicitly ignore the return value of g_strlcpy() to silence coverity
* tests: skip test if specific spa lib is not installed
* tests: common: add API to check if spa lib is installed
* lib: deprecate the functions to fetch the config directory
* lib: add functions to search in configuration/data directories
* lib: always return the full path from wp_get_config/data_dir
* lib: add a function to return the XDG_CONFIG_DIR
* main: assemble the full config file name and pass that to pipewire
* doc: fix documentation for passing a config file
* modules: fix g_file_test for regular files
* properties: use a boxed WpPropertiesItem type when iterating
* meson.build: adds summary() about Lua implementation used
* state: store our WpState files in $XDG_STATE_HOME/wireplumber
* lib: add a function to get the xdg state dir
* meson.build: let meson handle the prefix + bindir concatination
* meson: adds summary() to auto features
* docs: document the lua ObjectManager / Interest / Constraint APIs
* lua: add not-equals to the possible constraint verbs
* session-item: fix reference leak when getting properties
* tests: create wpipc tests sockets also in /tmp with a random name
* tests: run with PIPEWIRE_RUNTIME_DIR=/tmp
* object-manager: remove old global when exposing new global with same id
* global-proxy: add extra checks to make sure binding is successful
* m-lua-scripting: unref value pod after adding it to control
* lua: add Port.get_direction() + documentation for it
* docs: mention the new matrix room in the community resources
* docs: complete lua Node api docs and fix some ref links
* lua: fail if an optional Interest is not none, nil, Interest or table
* lua: complete the WpNode bindings
* wplua: expose functions to convert enums to strings for lua and vice versa
* state: escape invalid key file characters
* tests: endpoint: fix coverity \'side effect in assertion\' error
* tests: set PIPEWIRE_RUNTIME_DIR and stop using XDG_RUNTIME_DIR
* release 0.4.1
* ci: enable testing of wpipc
* tests: examples: print error if buffer is not valid in wpipc-client
* tests: wpipc: check if new connection to new receiver is valid after losing connection
* wpipc: sender: disconnect and clear all pending tasks if connection was lost
* wpipc: receiver: also emit sender disconnected when failed to read
* wpipc: protocol: make sure buffer is initialized to 0 before building reply/request
* wpipc: change epoll thread func type name to be more consistent
* tests: wpipc: use GCond instead of while loop to wait for events
* tests: wpipc: fix typo in sender-receiver unit test
* ci: add ubuntu 20.04 builds and test some more option combinations
* docs: relax doxygen version requirement
* meson: bump lua dependency to 5.4 and update the subproject
* wplua: remove handling of LUA_ERRGCMM, which is removed in lua 5.4
* m-reserve-device: use a weak ref instead of raw pointer for transition
* tests: transition: make sure transition is still valid after advancing
* tests: fix coverity scan side effect in assertion issues
* wp: log warning if PIPEWIRE_DEBUG env variable could not be set
* m-default-nodes: properly parse args
* m-lua-scripting: check return values of lua_getstack and lua_getinfo
* m-mixer-api: only add \'mute\' if correctly parsed
* m-lua-scripting: make sure pod is successfully parsed
* m-lua-scripting: make sure lua type is valid
* m-lua-scripting: fix conversion from SPA_TYPE_Bytes to LUA_TNUMBER
* m-si-standard-link: make link_all a parameter
* access-portal: fix granting access to camera device nodes
* lib: Use #define instead of \'static const\' for constants
* scripts: Add an intended-roles policy script
* tests: add pipewire env variables when running tests, tidy up common_env
* tests/metadata: also fix failing metadata unit test
* si-audio-adapter/endpoint: do not sync() in loops, use ports-changed instead
* s/metadatas/metadata/g
* metadata: filter for the \"default\" metadata object in all places where we use it
* wp-uninstalled.sh: don\'t shift after -b, there\'s a generic shift below
* meson: avoid source_root(), as it fails when wireplumber is a subproject
* lib: fix some issues found by coverity
* README: add coverity badge
* coverity: use gzip instead of lzma to compress the coverity data
* coverity: use a regexp that nukes all the glib enumerator deprecation macros
* ci: disable more things from the pipewire build
* ci: add support for coverity, based on pipewire\'s gitlab-ci.yml
* meson: bump glib requirement to 2.62 as we are already using 2.62 API
* meson: add glib version required/allowed checks
* release 0.4.0
* create-item: handle all kinds of Audio/Video & Stream nodes
* si-standard-link: treat endpoints as devices when linking stream<->endpoint
* config: document the duck.level policy property
* scripts: change debug level for some messages
* lua: improve the object:activate() callback to report errors
* wplua: add a wplua_checkclosure() helper function
* Revert \"tests: enable G_SLICE=debug-blocks in all tests\"
* meson: add \'--keep-debuginfo=yes\' to the valgrind command line
* pipewire-object: change params-changed signal to take a string param name
* tests: enable G_SLICE=debug-blocks in all tests
* meson: use environment() objects to define env for tests
* meson: add a test setup to run tests under valgrind
* daemon/wpexec: standardize exit codes based on sysexits.h
* daemon: replace the exit_message with direct message printouts
* wpexec: force the log level to be at least 1 and use fprintf() for local errors
* daemon: exit with 0 both in case of a signal and in case of disconnection
* tests: si-standard-link: remove unneeded core syncs
* tests: common: make sure no events are pending before destroying core
* lib: add struct paddings to be able to maintain ABI compatibility
* docs: set breathe_default_members to get struct members to show up in the docs
* docs: remove :project: annotations for breathe
* pw-object-mixin: ignore set param on already destroyed objects
* proxy: destroy pw_proxy if bind_error is called
* restore-stream: implement storing/restoring of target.node metadata
* lua: implement metadata:set()
* lua: fix refcounting of metadata iterator
* wplua: fix memleak when converting GVariant to Lua
* m-default-nodes-api: free default nodes when disabling plugin
* m-default-nodes: free default nodes when disabling plugin
* global-proxy: fix leak when getting global properties
* spa-pod: check if pod is valid before _parser_can_collect
* lua: remove hack around WpObjectInterest since we can _ref() it now
* object-interest: remove unused _copy() method
* default-routes: use a constraint to check if device.name is present
* default-routes: fix storing dev_info
* scripts: initial restore-stream implementation
* object-manager: small doc fix
* object-manager: support declaring interest on all properties of globals
* object-interest: enrich _matches_full() to be able to check all constraints
* si-adapter: handle autoconnect property
* si-adapter: handle dont-remix streams
* tests: store temporary WpState files in the build directory
* state: remove support for groups and propagate save errors
* state: don\'t stat() before creating the dir or removing the state file
* policy: don\'t crash if some node properties are not set
* pipewire-object: fix memory leaks when getting properties
* m-default-profiles: finalize parent when plugin is destroyed
* si-adapter: take ownership of format argument
* endpoint: free media_class when disposing WpImplEndpoint
* pipewire-object: take ownership of param argument
* monitors: sanitize device names like media-session does
* object: advance pending transitions if activation fails
* modules: remove the old m-default-routes
* m-device-activation: don\'t set device routes
* default-routes: re-implement the default-routes module in lua
* docs: Write gtk-doc comments for constant variables
* docs: include wp.h in gir sources
* docs: Add brief descriptions to all functions
* policy: destroy node if defined target was not found and reconnect is false
* global-proxy: make sure registry is valid before requesting destroy
* lua: don\'t crash if an iterator is NULL
* lua: allow the Log api to debug boxed objects (useful for pods)
* lua: fix PipewireObject api: s/set_params/set_param/ and cleanup
* lua: add WpState bindings
* object: use weakref when advancing current transition
* object: use destroy notify to keep self alive while advancing transitions
* docs: make progress on lua api documentation
* policy-{node,endpoint-client}: do not crash if media.class is nil
* meson: add reference to bugfix
* config: disable role-based endpoints in the default configuration
* tests: si-audio-adapter: test is.device property
* m-si-standard-link: fix number of links check
* tests: si-standard-link: fix racy test
* meson: force the gir target to depend on wp-gtkdoc.h
* docs: tidy up most documents and try to update the information in them
* docs: use the default sidebar color to make the version easier to read
* docs: show version number on the sidebar
* release 0.3.96
* Makefile: use wp-uninstalled.sh to implement the run target
* gitignore: remove obsolete entry
* editorconfig: remove obsolete entry and add python script rules
* LICENSE: update copyright years
* docs: convert NEWS to rst and add it in the generated docs
* docs: update installing-wireplumber page
* ci: bump distribution tag date to the actual branch merge day
* gir: fix generate_gir()
* docs: convert lua api docs to pure rst
* docs: fix gobject-introspection data generation
* ci: update fdo template, fedora image and dependencies for docs
* docs: improve the home page and toc; use README.rst as a base; add badges
* docs: fix C API documentation to work nicely with doxygen & sphinx
* docs: meson: rebuild docs when Doxyfile.in changes
* docs: setup sphinx to use the graphviz extension
* docs: improve the visual appearence of the generated html and cleanup
* docs: reorganize .rst files and add tables of contents for the APIs
* meson: refactor docs + gi build system
* docs: build gobject introspection from xml files generated by Doxygen
* ci: replace hotdoc with Doxygen, Sphinx and Breathe tools
* docs: Add Lua API documentation
* docs: api: Replace hotdoc specific commands with Doxygen specific commands
* docs: Replace hotdoc with Doxygen & Sphinx to generate documentation
* pipewire-object-mixin: fix memleak in GList
* policy-endpoint-device: wait until previous links are activated
* m-si-standard-link: remove unused manage.lifetime configuration property
* tests: enable si-standard-link test and port it to new API
* wplua: ref closure before invalidating it
* wpctl: fix iterator cleanup
* endpoint: remove wp_endpoint_create_link()
* scripts: remove static-sessions
* wp: remove WpSession and WpEndpointLink
* policy: don\'t link endpoints on startup
* m-default-nodes: check if node is valid before returning bound id
* policy: reevaluate all linkables if one linkable was removed
* m-default-routes: log error message when failed to get current routes
* m-default-profile: log error message when failed to get current profile
* m-mixer-api: make sure the enum param iterator is valid
* pipewire-object-mixin: make sure enum params task is only triggered once
* modules: steal the format_task before returning it
* systemd: Add conflicts with pipewire-media-session
* proxy: don\'t accept NULL pw_proxy in set_pw_proxy API
* m-device-activation: use sync API to enum available profiles
* m-default-routes: use sync API to enum available routes
* m-default-profile: use sync API to enum available profiles
* global-proxy: delay object creation until bound feature is requested
* alsa-monitor: activate BOUND feature in JACK device
* tests: proxy: add a test for enum_params errors
* proxy: relax proxy error warning messages
* pw-object-mixin: watch for proxy errors during enum_params
* proxy: add a \"bind\" watch, to watch for proxy errors while binding/exporting
* proxy: add error signal
* policy: fix removing of item links when linkable is removed
* tests: spa-pod: fix int64 constant to work on all architectures
* global-proxy: destroy the global when proxy is destroyed
* global-proxy: inherit from WpProxy when declaring class
* spa-pod: respect the SPA size for long and int APIs
* si-standard-link: configure the format in WpSiAdapters before linking
* modules: implement WpSiAdapter in si-audio-adapter and si-audio-endpoint
* si-interfaces: add WpSiAdapter interface to set and get session item fortmat
* session-item: add _get_property API
* si-audio-adapter: remove unneeded \'preferred.n.channels\' property
* si-standard-link: make sure create_links creates at least 1 link
* modules: remove role and priority properties from si-audio-adapter and si-node
* si-interfaces: rename WpSiPortInfo to WpSiLinkable
* scripts: cleaned and improved policy scripts
* create-item.lua: always enable monitor ports by default
* modules: remove \'monitor\' port context from si-audio-adapter and si-node
* release 0.3.95
* meson: depend on pipewire 0.3.26
* config: bluez: update to match media-session\'s bluez-monitor.conf
* lua: rename Plugin() to Plugin.find()
* session-item: remove undefined API
* wp: remove WpSessionBin
* wp: rename debug.{h,c} to log.{h,c}
* config: disable ipc module by default and move it to the main instance
* wpipc: place sockets in the same runtime directory as pipewire
* m-ipc: cleanup server using g_clear_pointer() for consistency and safety
* wpipc: remove socket files after shutdown of the server
* meson: generate and install pkg-config file for wpipc
* meson: find threads_dep early and also use it in the wpipc-client
* wpipc: use proper api & so versions
* meson: replace join_paths() with operator /
* meson: remove audiofade pipewire branch check
* meson: make wpipc optional and disabled by default
* policy-node: accept node names or paths in a stream\'s node.target property
* policy-endpoint-client-links.lua: consider \'suspend.playback\' metadata
* modules: add ipc module
* lib: add wpipc library
* config: unify config and config-split
* systemd: add templated systemd unit files
* policy-endpoint: implement volume ducking
* m-mixer-api: track monitorVolumes and allow modifying them
* access: add a more generic \"default\" access policy script
* config: add an example of split-instance configuration
* Add a wp-uninstalled.sh script for easily running programs uninstalled
* lua: remove the ability to specify spa_libs in the lua config
* daemon: init export core in the daemon and share it with modules
* lua: change the \"wireplumber.interactive\" property to \"wireplumber.daemon\"
* daemon: Use a pipewire-style config file to load initial configuration
* core: use log.level from the pw_context
* log: factor out the log level configuration into wp_log_level_set()
* audio-endpoint: configure adapter for null sink with monitor.channel-volumes
* impl-node: implement WpPipewireObject
* device: debug and enhance spa device event handling
* config: policy: improve the endpoints & roles example config
* policy-endpoint-client: remove handling of move & follow and endpoint priorities
* meson: bump version to 0.3.70
* m-mixer-api: allow calling the action signals even when the plugin is not enabled
* m-default-nodes-api: remove reduntant call to g_clear_object
* wplua: store closures only with a weak reference
* examples: add example script to get the default sink\'s volume
* scripts: add policy for links between clients and endpoints
* lua: add WpObject get_active/supported_features() bindings
* lua: add g_get_real/monotonic_time() bindings
* si-audio-endpoint: give better descriptions to endpoints and their null sinks
* static-endpoints: avoid capturing session item reference in the activate closure
* policy: export endpoints, do not export endpoint links
* wpctl: handle endpoints nicely and enable volume controls on them
* tools: split wireplumber script execution mode to a separate wpexec tool
* tools: move under the \'src\' directory
* src: scripts: rename policy-endpoint.lua to policy-endpoint-client.lua
* m-audio-endpoint: remove target property
* static-endpoints.lua: don\'t export endpoints, only activate them
* m-mixer-api: add configurable support for the cubic volume scale
* wpctl: use mixer & default-nodes API modules
* m-mixer-api: also add channel-independent volume for ease of use
* wpctl: remove obsolete default node/endpoint key macros
* m-mixer-api: fix getting volume info from nodes that don\'t have volumeBase & step
* lua: add a Debug.dump_table() utility function
* m-default-nodes-api: load all information before declaring the plugin as \"enabled\"
* lua: add a Core.require_api() utility function
* modules: add module-mixer-api
* src: config: do not create endpoints by default
* src: scripts: add policy-endpoint.lua script
* policy-node.lua: do not handle items with media role if endpoints exist
* policy-node.lua: clean up findTarget function
* src: scripts: add static-endpoints.lua script
* modules: remove unneeded si-audio-convert module
* src: config: rename session-item support to default-policy
* create-item.lua: only create items for client and device nodes
* policy-item.lua: only handle si-audio-adapter and si-nodes links
* src: scripts: remove unneeded policy-endpoint.lua
* m-lua-scripting: add object manager get_n_objects API
* si-audio-endpoint: deactivate node when disabling active feature
* m-si-audio-endpoint: fix port configuration and target linking
* m-si-audio-endpoint: make target property optional
* tests: si-standard-link: sync core before finishing
* si-standard-link: call parent class finalize once finalized
* m-si-standard-link: properly set in item port context when configuring
* policy-node.lua: fix param name typo when finding target
* policy-node: properly remove links between apps and capture devices
* endpoint: remove useless pw_proxy_destroyed handlers
* registry: fix issues with dangling WpGlobal objects causing assertion failures
* modules: use dots instead of dashes for session item properties
* wpctl: status: print nodes, ports, links grouped more nicely
* registry: fix odd assertion failures that occured from time to time
* policy-node.lua: support config.move and config.follow
* m-si-audio-adapter: abort activation if node feature ports is no longer enabled
* m-si-standard-link: make sure in/out items are valid before activating
* wpctl: fix setting default nodes
* m-default-nodes: restore configured values on the metadata at startup
* policy-node: use default-nodes-api plugin
* modules: add new module-default-nodes-api
* m-default-nodes: move common code to a new header
* m-default-nodes: add properties to control storage method and interval
* modules: rename default-metadata to default-nodes and enable it always in the config
* m-default-metadata: remove default endpoints, follow upstream logic
* policy-node.lua: fix type mismatch when comparing session item Ids
* lua: s/Feature.Object.ALL/Features.ALL/
* bluez config: update based on the latest media-session config
* m-default-metadata: add support for default audio nodes
* wpctl: list nodes and allow setting default nodes
* modules: remove endpoint impl on si-node, si-audio-convert and si-audio-adapter
* tests: si-standard-link: use new si-audio-endpoint
* modules: add si-audio-endpoint session item
* src: scripts: add policy-node.lua to link port info session items
* src: config: rename endpoint-support to session-item-support
* modules: remove si-monitor module
* src: scripts: add create-item.lua and remove create-endpoint.lua
* m-si-standard-link: set out-item-id and in-item-id properties
* session-item: add id property
* m-si-audio-adapter: ensure ports are available before enabling active
* m-lua-scripting: add get_associated_proxy session item Lua API
* si-interfaces: make WpSiLink work with WpSiPortInfo instead of WpSiEndpoint
* si-interfaces: rename WpSiEndpointAcquisition to WpSiAcquisition
* m-si-standard-link: use a weak reference for in and out endpoints
* m-si-standard-link: fix in-endpoint check when configuring
* wplua: sort properties after transfering them from lua
* properties: add wp_properties_sort()
* monitor-alsa: add api.alsa.card.
* properties on nodes
* bluez5: autoconnect bluetooth stream nodes
* object: deactivate only the features that were previously active
* bluez5: use api.bluez5.connection-info
* m-si-convert: rename to si-audio-convert
* m-si-adapter: rename to si-audio-adapter
* tests: session-item: add registration test
* object-interest: add support for session item properties
* session-item: add _register and _remove API
* session-item: refactor and inherit from WpObject
* session-bin: remove unused wp_session_bin_new API
* lib: make WpImplEndpoint and WpImplEndpointLink public
* m-si-adapter: rename algorithms to audio-utils
* m-si-monitor-endpoint: rename to si-monitor
* m-si-simple-node-endpoint: rename to si-node
* lib: remove WpEndpointStream API
* wp_init: set PIPEWIRE_DEBUG
* spa-device: do not assert if the activation transition fails
* m-default-routes: return if default routes for a device are not found
* m-default-routes: relax some warning logs to debug
* m-lua-script: add object_deactivate API
* m-lua-script: add closure for object_activate API
* object: add wp_object_activate_closure API
* ci: use \'disabled\' instead of \'false\' when configuring pipewire
* m-lua-scripting: add WpSessionBin add API
* lib: remove WpConfiguration
* lib: documentation fixes
* lua/api: add Link() constructor
* module-default-routes: store/restore route properties
* module-device-activation: apply default route on each new device
* modules: add module-default-routes for storing/restoring routes
* lua/api: default Constraint type always to pw-global
* object-interest: remove type checks
* lua/api: simplify & improve session_item_configure
* lua/api: make the type optional when declaring Interest as a function argument
* lua/api: improve getting optional Interest arguments
* Tue Mar 02 2021 alarrosaAATTsuse.com- Update to version 0.3.60+git.20210301.6c2bfea:
* scripts: policy-endpoints: add move and follow options
* m-lua-scripting: add get_n_streams endpoint API
* m-lua-scripting: add lookup session API
* examples: add bt-profile-switch example
* lua/pod: don\'t crash on parsing objects with unknown keys, just ignore them
* Fri Feb 26 2021 alarrosaAATTsuse.com- Update to version 0.3.60+git.20210225.9f50117:
* lib: remove module.{c,h}
* meson: fix glib version requirement checks
* systemd: use the older version of the systemd pkgconfig variables
* systemd: remove RuntimeDirectory from the system service
* daemon: add systemd unit files
* m-lua-scripting/pod: retrieve Ids in Array & Choice as strings, if possible
* m-lua-scripting/pod: s/id_type/object_id/ as commented on !125
* m-lua-scripting: add support for choices when creating object pods
* m-lua-scripting: refactor array and choice pod constructors to accept Id names
* m-lua-scripting: allow constructing pod Ids with the Id name
* m-lua-scripting: set id_type field when parsing pod objects
* m-lua-scripting: set pod_type and value_type fieds when parsing non-primitive pods
* m-lua-scripting: start indices from 1 when parsing pods
* test-endpoint: fix failure with pipewire master
* config: split flatpak access configuration
* scripts/access: update access scripts to call update_permissions() cleanly
* lua/api: fix client update_permissions()
* examples: interactive.lua: add a shebang and update running instructions
* lua: enable loading scripts with a shebang
* lua/api: log using a debug category unique for the calling script file
* lua/api: ensure the function name in the debug output is non-null
* monitor-alsa: fix node description on strange embedded devices
* suspend-node: honor \"session.suspend-timeout-seconds\"
* monitors: sanitize node descriptions too
* wplua: table_to_properties: use luaL_tolstring to do string conversions
* config: bluez-monitor: add hfp_hf in the supported roles comment
* m-lua-scripting: add WpPipewireObject api
* config: move loading of all audio support modules in 90-enable-audio-all
* config: split configuration for endpoints support in config.lua.d
* monitors: drop the monitor- prefix from the filenames and s/bluez5/bluez/
* config: make the monitor properties & rules available in global tables
* config: load reserve-device only if alsa.reserve is true
* monitor-bluez: fix source priority assignment
* monitors: sanitize node names to match media-session\'s behavior
* wplua: gvariant_to_lua: convert dictionary keys to integers if possible
* monitor-alsa: sync logic, properties and configuration with media-session
* wplua: improve GVariant array conversion
* wplua: improve gvariant <-> lua conversion functions
* wplua: remove VARDICT handling in gvariant->lua conversion
* config: mimick media-session\'s v4l2-monitor.conf
* monitor-v4l2: copy properties and rules logic from media-session
* config: immitate media-session\'s bluez-monitor.conf
* monitor-bluez: copy all properties and the rules functionality from media-session
* lua/config: load split config files in alphanumeric order
* tests/lua: test monitor configuration rules code
* lua/api: add wp_object_interest_matches() binding
* object-interest: allow matching against WpProperties objects
* scripts: add portal access script
* scripts: add flatpak access lua script
* wplua: handle more GVariant cases
* m-lua-scripting: add WpClient LUA api
* Revert \"meson: relax meson version dependency when building with system lua\"
* meson: relax meson version dependency when building with system lua
* lua/pod: optimize push_primitive_values()
* tests/wplua: set WIREPLUMBER_CONFIG_DIR to an invalid directory
* lua/pod: simplify spa_pod_object_new()
* lua/pod: optimize lookups in primitive_lua_type and fix some mistakes
* lua/pod: lookup the object type and values table only once when constructing objects
* lua/pod: convert Id object fields to strings, if possible
* rename all foo_iterate APIs to foo_new_iterator
* m-lua-scripting/pod: push pod constructors using luaL_newlib instead of manually
* modules: remove m-node-suspension
* m-lua-scripting/api: fix om:lookup() to return nil when no object was found
* scripts: add suspend-node.lua to replace m-node-suspension
* wplua: fix enum <-> lua conversion
* create-endpoint.lua: fix some issues
* create-endpoint.lua: fix indentation
* node: change send_command() to take a string
* tests: wplua: add pod.lua script to validate pod API
* tests: wplua: add a script tester to validate lua scripts
* m-lua-scripting: add WpSpaPod api
* wplua: fix vtables lookup in boxed __index function
* examples: add an example interactive lua script
* m-lua-scripting/api: add wp_object_manager_iterate_filtered()
* proxy: add a method to query the interface type
* daemon: add a mode to execute lua scripts from the command line
* m-lua-scripting/api: add WpCore bindings
* m-lua-scripting/api: fix access to core in session_item_new()
* meson: bump version
* meson: remove C++ support, there\'s no C++ code anymore
* monitor-alsa: simplify reserve-device connection logic
* monitor-alsa: receive script configuration from config.lua
* scripts: add static-sessions.lua
* m-lua-scripting/api: add WpImplSession bindings
* m-lua-scripting: pass component arguments to scripts
* wplua: pass SANDBOX_CONFIG as a script argument
* wplua: allow exchanging arguments and results with scripts
* m-lua-scripting: use wplua_table_to_asv() instead of custom function
* wplua: add GVariant dictionary conversion functions
* wptoml: remove, it\'s not used anymore
* daemon: refactor
* m-lua-scripting: fixes
* wp: add wp_get_data_dir()
* src: move scripts to their own directory, install in $prefix/share/
* object-interest: add a NOT_EQUALS verb
* m-lua-scripting: allow queuing-in scripts without the plugin being activated
* m-lua-scripting: refactor as a WpComponentLoader
* wplua: allow loading relative paths from wplua_load_path()
* wplua: add g_autoptr support to lua_State
* wplua: add flags to modify the sandbox behavior
* wp: export functions to get the module & config dirs
* lib: introduce WpComponentLoader and remove WpModule
* plugin: inherit from WpObject
* modules: remove modules that are obsoleted by the lua scripts
* modules: actually delete module-dbus-reservation.c
* monitor-alsa: add device reservation logic
* spa-device: add an \"object-removed\" signal
* lua: add wp_plugin_find binding
* modules: delete the old dbus-reservation module
* modules: implement a new reserve-device module
* plugin: add a method to find plugins easily
* conf: create-endpoint.lua: make sure endpoints always have a valid name
* conf: create-endpoint.lua: use node id as key in session_items table
* meson: add \'system-lua\' project option to toggle the bundled lua
* conf: disable legacy endpoint creation module and replace it with lua script
* m-lua-scripting: add session item lua API
* session-item: add export API with closure
* session-item: add activate API with closure
* docs: update daemon/running.md
* m-lua-scripting: fix reference count in object manager\'s lookup API
* object-interest: add _ref and _unref APIs
* config: enable lua scripts, disable legacy modules
* lua: fix some nasty memory leaks
* meson: require pipewire 0.3.20
* spa-device: handle DeviceEvent and configure node props
* m-lua-scripting: do stop the lua engine on deactivate()
* main: drop WpConfiguration reference early
* plugin: debug activation & deactivation
* wplua: object: unset GValues used when calling action signals
* config: add lua-based device monitors
* m-lua-scripting: add bindings required for device monitors
* impl-node: derive from WpProxy
* spa-device: derive from WpProxy and manage child objects internally
* m-default-metadata: handle default nodes
* config: rename desktop profile to desktop-ep
* spa-pod: add the ability to specify Id properties as strings
* spa-type: refactor
* m-lua-scripting: handle default endpoints from the metadata
* m-config-policy: handle default endpoints from the metadata
* modules: replace session-settings with default-metadata
* wpctl: implement set-default using the metadata API
* meson: fix lua dependency on Arch Linux
* metadata: refactor API to quickly find a specific value
* state: use GKeyFile API to keep state in disk
* wp: remove initialization of wireplumber types
* session: remove default-endpoint-changed signal
* spa-type: fix param profile\'s last Id
* config: implement the functionality of config-policy in Lua
* m-lua-scripting: expose session, endpoint, endpoint-link APIs
* wplua: expose table to/from properties conversion functions
* object, pw-obj-mixin: fix warnings
* config: disable audio sink \"streams\"; they fail on latest pipewire
* Fix compiler warnings that appear with the warning flags enabled
* meson: enable compiler flags for warnings, if supported
* modules: implement module-lua-scripting
* wplua: use only the basename of the files for debug/error messages
* wplua: use the error handler also when loading chunks
* wplua: implement __tostring for GObject
* wplua: use the registry to store vtables & closures
* wplua: remove TypeClass, push constructors as ClassName_new
* wplua: allow checking for a specific GType with isobject/isboxed
* configuration: convert file paths from relative to absolute if necessary
* configuration: implement grouping files in subdirectories
* wplua: add proper GError domain & error codes
* wplua: implement sandboxing of scripts
* wplua: convert WpProperties to table and vice versa
* wplua: new simple engine to integrate GObject with Lua
* meson: add dependency on lua 5.3
* tools: port wpctl to the new APIs
* tests: endpoint: re-enable the params unit test
* lib: delete WpProps
* pw-object-mixin: refactor, implement param caching and features for impl objects
* iterator: add version field in the methods struct
* meson: bump project & API versions
* spa-pod: make the wrap functions public, remove private.h and sort out the rest
* private: further cleanup of private.h, sort out header includes
* session-item: move wp_session_item_set_parent() to the public header
* defs: add a new WP_PRIVATE_API function annotation
* iterator: make private stuff public, cleanup private.h further
* lib: move WpImplEndpoint
* header parts to private/impl-endpoint.h
* m-metadata: add callback for wp_object_activate()
* src: port daemon to the new APIs
* modules: port modules and their tests to the new proxy APIs
* object-manager: recursively store requested features on children
* impl-endpoint{,-stream}: disable FEATURE_PROPS temporarily
* tests: fix library unit tests
* lib: refactor WpProxy
* lib: add new proxy-interfaces: interfaces for the refactored WpProxy class
* lib/private: move the registry & global APIs to a separate header
* lib: add new WpObject base class
 
ICM