File wireplumber.changes of Package wireplumber

-------------------------------------------------------------------
Sat Jun 29 09:15:44 UTC 2024 - virtuousfox@gmail.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 18:15:41 UTC 2024 - virtuousfox@gmail.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 18:06:29 UTC 2024 - virtuousfox@gmail.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 02:00:34 UTC 2024 - virtuousfox@gmail.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 19:26:02 UTC 2024 - virtuousfox@gmail.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 09:19:01 UTC 2024 - virtuousfox@gmail.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 16:11:52 UTC 2024 - virtuousfox@gmail.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 08:25:45 UTC 2024 - virtuousfox@gmail.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 15:37:48 UTC 2024 - virtuousfox@gmail.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 22:27:09 UTC 2024 - virtuousfox@gmail.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 10:34:28 UTC 2024 - virtuousfox@gmail.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 12:01:58 UTC 2024 - virtuousfox@gmail.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 02:24:23 UTC 2024 - virtuousfox@gmail.com

- Update to version 0.5.1+3~git20240406.9d7c6b8:
  * monitors/bluez: fix BAP device set node naming

-------------------------------------------------------------------
Thu Apr 04 15:11:21 UTC 2024 - virtuousfox@gmail.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 14:56:09 UTC 2024 - virtuousfox@gmail.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 22:56:10 UTC 2024 - virtuousfox@gmail.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 00:39:02 UTC 2024 - virtuousfox@gmail.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 10:54:14 UTC 2024 - virtuousfox@gmail.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 03:11:38 UTC 2024 - virtuousfox@gmail.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 05:37:07 UTC 2024 - virtuousfox@gmail.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 06:36:49 UTC 2024 - virtuousfox@gmail.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 21:38:21 UTC 2024 - virtuousfox@gmail.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 18:52:21 UTC 2024 - virtuousfox@gmail.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 15:52:23 UTC 2024 - virtuousfox@gmail.com

- Update to version 0.4.82+36~git20240304.acb446d:
  * meson: fix typo in lib/wp/meson.build: @0 -> @0@

-------------------------------------------------------------------
Mon Mar 04 14:22:20 UTC 2024 - virtuousfox@gmail.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 13:14:09 UTC 2024 - virtuousfox@gmail.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 01:53:32 UTC 2024 - virtuousfox@gmail.com

- Update to version 0.4.82+1~git20240214.bebfc07:
  * wpctl: add settings subcomand to show, delete or change settings

-------------------------------------------------------------------
Wed Feb 14 23:32:18 UTC 2024 - virtuousfox@gmail.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 19:05:16 UTC 2024 - virtuousfox@gmail.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 15:12:51 UTC 2024 - virtuousfox@gmail.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 12:52:13 UTC 2024 - virtuousfox@gmail.com

- Update to version 0.4.81+50~git20240204.ac508ae:
  * linking: handle 'node.linger' property when target node not known

-------------------------------------------------------------------
Sun Feb 04 15:13:57 UTC 2024 - virtuousfox@gmail.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 13:42:23 UTC 2024 - virtuousfox@gmail.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 14:04:46 UTC 2024 - virtuousfox@gmail.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 12:22:18 UTC 2024 - virtuousfox@gmail.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 16:32:36 UTC 2024 - virtuousfox@gmail.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 20:12:58 UTC 2024 - virtuousfox@gmail.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 21:19:22 UTC 2024 - virtuousfox@gmail.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 02:57:00 UTC 2023 - virtuousfox@gmail.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 17:45:45 UTC 2023 - virtuousfox@gmail.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 14:24:34 UTC 2023 - virtuousfox@gmail.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 16:52:48 UTC 2023 - virtuousfox@gmail.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 03:53:19 UTC 2023 - virtuousfox@gmail.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 01:33:20 UTC 2023 - virtuousfox@gmail.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 11:02:40 UTC 2023 - virtuousfox@gmail.com

- Update to version 0.4.15~git20231012.d67b48e:
  * 0.4.15
  * docs: fix warnings related to recent policy-dsp changes

-------------------------------------------------------------------
Thu Oct 12 15:32:57 UTC 2023 - virtuousfox@gmail.com

- Update to version 0.4.14+28~git20231012.69ed770:
  * config: set priority. keys on midi-bridge
  * wpctl: add zsh completions

-------------------------------------------------------------------
Sun Oct 08 19:55:49 UTC 2023 - virtuousfox@gmail.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 16:41:40 UTC 2023 - virtuousfox@gmail.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 15:17:04 UTC 2023 - virtuousfox@gmail.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 21:10:08 UTC 2023 - virtuousfox@gmail.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 05:42:27 UTC 2023 - virtuousfox@gmail.com

- Update to version 0.4.14+14~git20230619.e24e52c:
  * spa-json: encode the string directly into the builder

-------------------------------------------------------------------
Mon Jun 19 16:04:00 UTC 2023 - virtuousfox@gmail.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 12:08:03 UTC 2023 - virtuousfox@gmail.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 16:04:06 UTC 2023 - virtuousfox@gmail.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 13:05:42 UTC 2023 - virtuousfox@gmail.com

- Update to version 0.4.14+6~git20230414.7e3b175:
  * bluetooth.conf: set the export-core to true

-------------------------------------------------------------------
Thu Apr 13 04:30:58 UTC 2023 - virtuousfox@gmail.com

- Update to version 0.4.14+5~git20230408.faf98ae:
  * bluez: emit combine-stream for BAP device sets
  * Replace ru.po

-------------------------------------------------------------------
Thu Mar 30 06:27:29 UTC 2023 - virtuousfox@gmail.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 04:50:13 UTC 2023 - virtuousfox@gmail.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 07:04:48 UTC 2023 - virtuousfox@gmail.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 22:20:09 UTC 2023 - virtuousfox@gmail.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 05:59:55 UTC 2023 - virtuousfox@gmail.com

- Update to version 0.4.13+6~git20230110.f3e62f3:
  * bluez: Update headset roles default value

-------------------------------------------------------------------
Thu Jan 05 08:42:45 UTC 2023 - virtuousfox@gmail.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 15:26:12 UTC 2022 - virtuousfox@gmail.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 01:51:51 UTC 2022 - virtuousfox@gmail.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 10:25:38 UTC 2022 - virtuousfox@gmail.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 14:20:21 UTC 2022 - virtuousfox@gmail.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 13:39:57 UTC 2022 - virtuousfox@gmail.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 10:18:08 UTC 2022 - virtuousfox@gmail.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 03:53:45 UTC 2022 - virtuousfox@gmail.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 06:04:50 UTC 2022 - virtuousfox@gmail.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 19:42:26 UTC 2022 - virtuousfox@gmail.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 22:40:01 UTC 2022 - virtuousfox@gmail.com

- Update to version 0.4.11+23~git20220923.cafb048:
  * config: bluez: add Opus encoding settings
  * Update Hungarian translation

-------------------------------------------------------------------
Thu Sep 15 22:08:51 UTC 2022 - virtuousfox@gmail.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 06:57:06 UTC 2022 - virtuousfox@gmail.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 12:20:52 UTC 2022 - virtuousfox@gmail.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 11:06:51 UTC 2022 - virtuousfox@gmail.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 16:14:39 UTC 2022 - virtuousfox@gmail.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 16:27:20 UTC 2022 - virtuousfox@gmail.com

- Update to version 0.4.11+7~git20220714.d502969:
  * Fix leftover use of module-reserve-device's state property

-------------------------------------------------------------------
Wed Jul 13 15:15:14 UTC 2022 - virtuousfox@gmail.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 09:25:26 UTC 2022 - virtuousfox@gmail.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 18:09:15 UTC 2022 - virtuousfox@gmail.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 13:36:23 UTC 2022 - virtuousfox@gmail.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 11:02:36 UTC 2022 - virtuousfox@gmail.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 04:55:12 UTC 2022 - virtuousfox@gmail.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 11:17:43 UTC 2022 - virtuousfox@gmail.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 12:19:03 UTC 2022 - virtuousfox@gmail.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 17:38:56 UTC 2022 - virtuousfox@gmail.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 21:00:59 UTC 2022 - virtuousfox@gmail.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 06:29:10 UTC 2022 - virtuousfox@gmail.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 01:35:16 UTC 2022 - virtuousfox@gmail.com

- Update to version 0.4.10+10~git20220524.13b85bd:
  * m-lua-scripting: fix object refcounting
  * Add po/POTFILES.skip

-------------------------------------------------------------------
Sun May 22 00:57:52 UTC 2022 - virtuousfox@gmail.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 16:06:45 UTC 2022 - virtuousfox@gmail.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 23:18:13 UTC 2022 - virtuousfox@gmail.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 13:06:49 UTC 2022 - virtuousfox@gmail.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 @DEFAULT_{AUDIO,VIDEO}_{SINK,SOURCE}@ as ID

-------------------------------------------------------------------
Sat Apr 23 18:10:11 UTC 2022 - virtuousfox@gmail.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 13:51:04 UTC 2022 - virtuousfox@gmail.com

- Update to version 0.4.9+19~git20220415.a247254:
  * scripts: access-portal: Fix incorrect bitmask checking for media roles

-------------------------------------------------------------------
Thu Apr 14 00:57:22 UTC 2022 - virtuousfox@gmail.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 09:23:37 UTC 2022 - virtuousfox@gmail.com

- Update to version 0.4.9+14~git20220408.f7c01d2:
  * Add Linphone to "media-role.applications"

-------------------------------------------------------------------
Wed Apr 06 08:46:04 UTC 2022 - virtuousfox@gmail.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 07:53:40 UTC 2022 - virtuousfox@gmail.com

- Update to version 0.4.9+8~git20220327.812fc9b:
  * scripts: policy-node: filter-like streams should not follow default

-------------------------------------------------------------------
Fri Mar 25 19:44:37 UTC 2022 - virtuousfox@gmail.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 05:14:02 UTC 2022 - virtuousfox@gmail.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 01:29:39 UTC 2022 - virtuousfox@gmail.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 20:38:31 UTC 2022 - virtuousfox@gmail.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 07:30:11 UTC 2022 - virtuousfox@gmail.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 11:34:07 UTC 2022 - virtuousfox@gmail.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 22:46:22 UTC 2022 - virtuousfox@gmail.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 10:25:42 UTC 2022 - virtuousfox@gmail.com

- Update to version 0.4.8+4~git20220214.c4c5ca8:
  * policy-bluetooth: fix string.find crash with nil string

-------------------------------------------------------------------
Fri Feb 11 20:34:35 UTC 2022 - virtuousfox@gmail.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 10:22:43 UTC 2022 - virtuousfox@gmail.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 16:36:47 UTC 2022 - virtuousfox@gmail.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 16:08:24 UTC 2022 - virtuousfox@gmail.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 02:05:26 UTC 2022 - virtuousfox@gmail.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 00:44:30 UTC 2022 - virtuousfox@gmail.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 01:03:23 UTC 2022 - virtuousfox@gmail.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 10:53:18 UTC 2022 - virtuousfox@gmail.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 00:16:07 UTC 2022 - virtuousfox@gmail.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 13:01:11 UTC 2022 - virtuousfox@gmail.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 22:26:11 UTC 2022 - virtuousfox@gmail.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 23:01:50 UTC 2022 - virtuousfox@gmail.com

- Update to version 0.4.6+1~git20220107.23fc4d2:
  * policy-node: fix typo when finding best target

-------------------------------------------------------------------
Thu Jan 06 18:44:00 UTC 2022 - virtuousfox@gmail.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 17:53:54 UTC 2022 - virtuousfox@gmail.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 13:33:22 UTC 2022 - virtuousfox@gmail.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 16:02:51 UTC 2022 - virtuousfox@gmail.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 23:23:24 UTC 2021 - virtuousfox@gmail.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 23:24:38 UTC 2021 - virtuousfox@gmail.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 16:58:27 UTC 2021 - virtuousfox@gmail.com

- Update to version 0.4.5+38~git20211220.5412ca9:
  * log: guard against NULL messages

-------------------------------------------------------------------
Mon Dec 20 10:41:35 UTC 2021 - virtuousfox@gmail.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 05:44:27 UTC 2021 - virtuousfox@gmail.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 19:25:25 UTC 2021 - virtuousfox@gmail.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 12:39:53 UTC 2021 - virtuousfox@gmail.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 17:40:32 UTC 2021 - virtuousfox@gmail.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 12:34:35 UTC 2021 - alarrosa@suse.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 16:12:01 UTC 2021 - alarrosa@suse.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

-------------------------------------------------------------------
Wed Dec 30 13:19:27 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>

- Disable testrun for 32bit arches, upstream do not care for them,
  so we can not expect fixed tests any time soon.

-------------------------------------------------------------------
Fri Dec 18 20:22:35 UTC 2020 - bjorn.lie@gmail.com

- Update to version 0.3.0+37:
  * m-endpoint-creation: remove undefined API
  * m-endpoint-creation: remove unnused variable in Bluez5 endpoint
    creation
  * m-device-activation: use profile from default-profile module if
    loaded
  * modules: add module to store device profiles each time they
    change
  * lib: add new WpState API to save and load data from files
  * m-monitor: add use-acp flag
  * modules: refactor dbus reservation
  * plugin: add name property
  * wpctl: add set-profile option
  * transition: stop and return error if cancelled by the
    GCancellable

-------------------------------------------------------------------
Tue Oct 20 11:48:52 UTC 2020 - dimstar@opensuse.org

- Update to version 0.3.0+27:
  * device: set parent type to GObject in WpSpaDevice structure

-------------------------------------------------------------------
Mon Oct 12 13:24:01 UTC 2020 - dimstar@opensuse.org

- Update to version 0.3.0+26:
  * m-endpoint-creation: add bluez5 endpoint creation for bluetooth
    devices
  * m-config-endpoint: refactor and rename to endpoint-creation
  * modules: add bluez5 endpoint session item
  * modules: add fake stream session item
  * m-si-adapter: use the adapter's name as stream name
  * m-si-adapter: set the configured flag when configuration was
    successful
  * m-config-policy: set the stream name to the media role propery
    by default

-------------------------------------------------------------------
Fri Sep 11 10:45:33 UTC 2020 - dimstar@opensuse.org

- Update to version 0.3.0+19:
  * Implement PW_TYPE_INTERFACE_Metadata
  * metadata: fix more coding style issues
  * metadata: improve implementation
  * metadata: remove WP_METADATA_FEATURES_STANDARD and fix
    copyright years
  * module-metadata: s/settings/plugin/
  * modules: rename metadata module to just 'module-metadata'
  * tests: fix permissions check failure with latest pipewire
  * tests: implement a WpMetadata unit test
- Drop use-system-cpptoml.patch: fixed upstream.

-------------------------------------------------------------------
Mon Jul 20 12:27:44 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>

- Initial version of wireplumber 0.3.0
openSUSE Build Service is sponsored by