Changelog:
============
- Add Pytest 9 support
- Add Python 3.14 support
- Keep latest Pytest tests on supported Python versions
- Refactor CI to use the tox test matrix
- Replace pre-commit workflow with prek and mise
- Add Context7 project metadata
- Update linting tools
- Update GitHub Actions versions
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
=============
- Fix exception leaks
- MsgpackSerializer.loadsCall: honor ext_hook (symmetric with loads)
- Fixed slow locate_ns() on Windows: skipped reverse DNS lookup of 127.0.1.1 which caused 5+ second delays due to DNS timeout.
- Fixed exception leaks in message handling
- Fixed GC issue with daemon property
- Fixed thread race condition in nameserver remove()
- Fixed possible resource leaks in client
- Fixed IPv6 NAT port parse error in server
- Fixed crash related to None environment variable handling
- Fixed a deadlock scenario when using multiple proxies with different daemon connections
- Improved logging performance by avoiding eager string formatting
- Gracefully handle unreachable network in ip address resolution fallback
- Fixed potential socket leak from broadcast discovery when nameserver is unreachable
- Added extra message protocol validation for robustness
- Fixed nameserver metadata lookup returning incorrect results for None values
- Fix msgpack serializer loadsCall to make sure custom arguments get properly deserialized
- Various documentation and spelling corrections
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Filesystems may now define a ~Operations.poll method to support the epoll and select system calls.
- The FileHandleT and InodeT types are no longer declared as NewTypes but are now simply aliases for int.
- Future releases of pyfuse will be signed with signify rather than GPG.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
Fix a segfault when calling Unpacker.unpack() or Unpacker.skip() after an unpacking failure.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
- Fixed snapshot updates when pytest reuses stale assertion-rewrite cache files
after a test folder is moved, which could leave cached code objects pointing at
the old source path
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- make RAB feature production ready
- run async background boundary refresh on detached session
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
============
- Make sure client disconnects when write loop exits
- Address flaky unit test
- Stop using codecov service, since it has been failing for a long time
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Fix: some messages were being written to stdout, making coverage json -o -
useless for capturing JSON output. Now messages are written to stderr
- Fix: CoverageData kept one SQLite connection per thread that recorded
coverage, but never closed them when those threads terminated. On long runs
with many short-lived threads this leaked one file descriptor per dead thread,
eventually failing with OSError: [Errno 24] Too many open files. Connections
belonging to terminated threads are now closed and dropped.
- Fix: when using sys.monitoring, we were assuming we could use the COVERAGE_ID
tool id. But other tools might also assume they could use that id.
Pre-allocated ids don't really make sense, so now we search for a usable one
instead.
- Following the advice of cibuildwheel, we no longer distribute wheels for
Python 3.13 free-threaded.
- Fix: the default exclusion rule now also matches function bodies whose
closing return-type bracket is on its own line (for example, after a long ->
dict[...] annotation that a formatter has split over multiple lines).
- Fix: On 3.13t, we incorrectly issued Couldn't import C tracer errors. We
can't import the C tracer because in 7.14.2 we stopped shipping compiled
wheels for 3.13t.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Fixed timing leak vulnerability in EdDSA/Ed25519 signatures.
- Various minor documentation fixes.
- Various minor build system fixes.
- Various minor compiler warning fixes.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Add --no-command / -C flag to disable command mode at runtime
- Disable command mode in haveged.service and haveged-once.service
- Enable PrivateNetwork=true and remove ReadWritePaths=/dev/shm in service files
- Add PractRand example to man page
- Use O_EXCL with sem_open to prevent semaphore pre-planting attacks [pyllyukko]
- Recover stale semaphores after SIGKILL by unlinking and retrying
- Add sem_close before sem_unlink for proper cleanup ordering
- Fix compilation when NO_COMMAND_MODE is defined
- Fix out-of-bounds memory access in safein()/safeout() on socket errors
- Reject command socket connections from different user namespaces
- Use O_NOFOLLOW for PID file to prevent symlink attacks
- Open random device with O_CLOEXEC to prevent fd leak across execv
- Restrict semaphore permissions from 0644 to 0600
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Since commit f7735c9204 ("freeglut: split normal and gles packages")
in meta-oe, the freeglut recipe only provides the classic OpenGL version,
while the GLES-compatible variant is now available as freeglut-gles.
The jasper,ftgl and opencl-cts fail to configure when depending on freeglut in a
GLES-only build environment, because freeglut's do_configure cannot
locate the legacy OpenGL libraries.
So add virtual/freeglut to provide split version of freeglut.
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
opencl-cts depends on freeglut-gles which will cause can't find so file error when using freeglut-gles as:
opencl-cts/2026.05.05/recipe-sysroot-native/usr/bin/aarch64-oe-linux/aarch64-oe-linux-ld: cannot find -lglut: No such file or directory
It was caused by the CMake definition in opencl-cts
In test_conformance/gl/CMakeLists.txt, it will always find glut file to link but the realname is libfreeglut-gles.so or libfreeglut.so.
if(WIN32)
......
list(APPEND CLConform_LIBRARIES opengl32 freeglut glew32)
else(WIN32)
list(APPEND CLConform_LIBRARIES GL glut GLEW GLU)
endif(WIN32)
So add symbol link for so file in freeglut-gles.
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
With the current version, I had the QA issues below:
WARNING: bpftrace-0.25.1-r0 do_package_qa: QA Issue:
File /usr/lib/bpftrace/ptest/tests/.debug/bpftrace_test in package bpftrace-dbg contains reference to TMPDIR [buildpaths]
WARNING: bpftrace-0.25.1-r0 do_package_qa: QA Issue:
File /usr/lib/bpftrace/ptest/tests/bpftrace_test in package bpftrace-ptest contains reference to TMPDIR [buildpaths]
A bit of find + grep + strings show that this originally comes from:
field_analyser.cpp.o: [my tmpdir...]/bpftrace/0.25.1/build/tests/data
field_analyser.cpp.o: [my tmpdir...]/bpftrace/0.25.1/sources/bpftrace-0.25.1/tests/data/data_source.c
field_analyser.cpp.o: [my tmpdir...]/bpftrace/0.25.1/sources/bpftrace-0.25.1/tests/data
The .rodata section is infected with these, and after some more digging,
the paths come from debug symbols (i.e., .debug_line_str) in
data_source.o:
build/tests/data/data_source.o: /src/update-2026.01/build/tmp/work/riscv64.../bpftrace/0.25.1/build/tests/data
build/tests/data/data_source.o: /src/update-2026.01/build/tmp/work/riscv64.../bpftrace/0.25.1/sources/bpftrace-0.25.1/tests/data/data_source.c
build/tests/data/data_source.o: /src/update-2026.01/build/tmp/work/riscv64.../bpftrace/0.25.1/build/tests/data
build/tests/data/data_source.o: /src/update-2026.01/build/tmp/work/riscv64.../bpftrace/0.25.1/sources/bpftrace-0.25.1/tests/data
I'm not familiar with the magic performed by BuildBPF.cmake, but as far
as I can tell, gcc is being invoked with "-g" and no prefix mapping,
so there is no way of stopping the source path(s) from ending in data_source.o.
This patch adds a "bridge" between this .cmake file and bpftrace's
recipe, where I export DEBUG_PREFIX_MAP, so gcc is invoked with the
-ffile-prefix-map flags from OE Core.
The end result is:
$ strings ./build/tests/data/data_source.o | grep "debug\/bpftrace"
/usr/src/debug/bpftrace/0.25.1/tests/data/data_source.c
/usr/src/debug/bpftrace/0.25.1/tests/data
/usr/src/debug/bpftrace/0.25.1/tests/data
/usr/src/debug/bpftrace/0.25.1/tests/data
Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changes in 1.22.0
Released: 2026-06-08
Bug Fixes:
Correct passing icon GVariant around in the Dynamic Launcher Portal (#2006)
Improve Document Portal document path resolving for the File Chooser and OpenURI Portals (#2004)
Changes in 1.21.2
Released: 2026-05-06
New Features:
Add a target selection to the Screenshot Portal (#1981)
Add pipewire-serials to ScreenCast Portal streams (#1942)
Enhancements:
Provide proper errors when enabling autostart failed (#1906)
Integration for the gobject-linter and respective fixes for rule violations (#1974, #1996)
gvdb is now used as a meson subproject instead of a git subtree (#1978)
Add a missing deprecation annotation to InputCapture.CreateSession (#1967)
Various test and CI improvements (#1853, #1973, #1977)
Various code cleanups (#1969, #1958, #1979, #1960)
New and updated translations (#1965)
Bug Fixes:
Improve how the document portal keeps track of granted documents to avoid access getting lost when the system is rebooted (#1950)
Fix a regression which broke trashing files in Flatpak (#1982)
Improvements to the handling of the impl and frontend portal versions (#1966, #1968, #1970)
Changes in 1.21.1
Released: 2026-04-08
New Features:
Add Clipboard support to the Input Capture Portal (#1803)
Add session persistence support to the Input Capture Portal (#1898, #1914, #1913)
Security fixes:
Prevent trashing of arbitrary host files (GHSA-rqr9-jwwf-wxgj)
Ensure that the clipboard mime type string does not exceed 4kb (#1918)
Increase the file transfer token key size (#1916)
Properly validate all D-Bus file descriptor indexes (#1917)
Enhancements:
Improve loading portal configuration (#1867)
Drop unused multiple option in the File Chooser SaveFile request (#1923)
Clarify the uris option in the File Chooser SaveFile request (#1927)
Preparations for libdex support (#1879)
Improve documentation on the release procedure (#1887)
Specify that URIs follow RFC3986 (#1931)
Clarify BindShortcuts behavior in the Global Shortcuts portal (#1848)
Add a list of specialists for different portal topics (#1915)
Clarify that mime type filters in the File Chooser support wildcard subtypes (#1850)
Continue removing global state and direct dependencies (#1911, #1934)
Add Stargate Kotlin library to list of convenience libraries (#1936)
Use the default FUSE implementation for statfs in the Document Portal (#1807)
Guard renameat2() flags usage behind ifdefs in the Document Portal (#1929)
Various testing improvements (#1909, #1891, #1890, #1907)
New and updated translations (#1904, #1912, #1892, #1910, #1935, #1949)
Bug Fixes:
Fix the File Chooser Portal opening the parent of requested current_folder (#1945)
Prevent a deadlock on Document Portal shutdown (#1896)
Various small fixes in the Remote Desktop, Camera, and Background Portals (#1913, #1908, #1948, #1928, #1945)
Fix checking for Input Capture capabilities (#1895)
Print debug logs to stderr only, in the validate-icon and validate-sound utils (#1901)
Changes in 1.21.0
Released: 2026-01-21
New Features:
Add the has_current_page and has_selected_pages options to the Print Portal (#1777)
Allow running the tests with Valgrind's memcheck (#1770)
Add the ConfigureShortcuts method to the Global Shortcuts Portal (#1661)
Send activation tokens in the actiavated and deactiavated signals on the Global Shortcuts Portal (#1792)
Add a new reduced motion setting to the Settings Portal (#1840)
Support linyaps applications (#1846)
Add missing cell broadcast severities to the Notification Portal (#1738)
Enhancements:
Code cleanup (#1574, #1809, #1771, #1727)
Code refactoring (#1805, #1815, #1819, #1686)
Documentation improvements (#1712, #1759, #1776, #1795, #1798, #1866)
New and updated translations (#1735, #1760, #1765, #1774, #1780, #1781, #1786, #1787, #1789, #1797, #1800, #1801, #1802, #1811, #1833, #1826, #1852, #1841, #1843, #1851, #1869, #1860, #1788)
Improve various permission dialog texts (#1769, #1327, #1804)
Release procedure clarifications (#1710, #1714)
Updates to ASAN suppressions (#1711)
Make XdpAppInfo more testable (#1627)
Use the new PIDFD_GET_PID_NAMESPACE ioctl to get the pidns (#1713)
Improvements to the heuristics to translate a path in the sandbox to a path on the host (#1571)
Improve the mocking of the GeoClue service (#1695)
Make the camera permissions per-App on the host again (#1762)
Clean up permissions and desktop IDs usage (#1772, #1773)
Improve PID translations for host Apps (#1785)
Show an appropriate error when access to remote documents fails (#823)
Require a valid AppID from apps in RequestBackground to enable autostart (#1793)
Require a valid AppID from apps to use the Global Shortcuts Portal (#1817)
Test and document Notification Portal backward compatibilities (#1823)
Improve the heuristic to detect the App ID for host apps (#1595)
Add Merge Requirements documentation (#1775)
Initialize the Secret Portal asynchronously to avoid blocking when the secret service is not available (#1814)
Do not allow requesting a zero capability from the Input Capture Portal (#1880)
Require GLib version 2.76 and drop the related compatibility code (#1730)
Bug Fixes:
Fix a crash when loading information from Flatpak apps (#1720)
Fix fd handling to prevent EBADF errors (#1721)
Add a fallback code path for GLib older than 2.76 (#1728)
Don't require a .desktop file for Flatpak and Snap apps (#1729)
Fix a crash when calling GlobalShortcuts.BindShortcuts with an empty list (#1732)
Fix a crash when passing Request token handles which contain - (#1748)
Fix tests on systems without access to /proc/cmdline (#1766)
Stop accidentally running pytests of subprojects (#1767)
Give up trying to unmount an existing fuse mount when shutting down the Document Portal (#1799)
Fix compilation on Debian Testing, caused by a wrong cast (#1625)
Fix ownership of pidfd for XdpAppInfos (#1810)
Fix uninitialized variables (#1825)
Do not give access to read-only USB devices when read-write access was requested (#1794)
Do not kill PID 0 and handle races properly (#1864)
Fix forwarding the available-source-types and available-cursor-modes from the backend (#1868)
Ensure valid WAYLAND_DISPLAY/DISPLAY by launching after the graphical session target (#1830)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
PipeWire 1.6.7 (2026-06-18)
This is a bugfix release that is API and ABI compatible with the previous
1.6.x releases.
Highlights
- Fix a race issue where some ports would stay silent after a rate change.
- Fix sync regressions between ALSA cards in some cases.
- Small fixes and improvements.
PipeWire
- Fix a scheduler regression where some driver nodes would not run
correctly and cause sync issues. (#5210)
- Fix a race issue with suspend on samplerate changes. It can cause ports
to be silent. (#3547)
Modules
- There are some locking issues in the RT portal, for now reduce the
DBus timeout to something more sane. Also disable portal RT for
pipewire and the pulse server. These are not usually run in a sandbox
and can go directly to RTKit.
- Fix potential incorrect delay in combine-stream.
SPA
- Fix a regression in ALSA period_size calculations. For non-power-of-2
periods, it would in some cases round down a a power-of-2, causing a
mismatch between requested and configured period_size. (#5302)
- Fix a potential segfault when removing a card because of bad ALSA api
usage. (#5255)
- Emit a route param update when card properties change. Otherwise, jack
port updates are not always reflected correctly.
Misc
- Make sure we don't deal with uninitialized spa_dict.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
WirePlumber 0.5.15
Additions & Enhancements:
Added new WpPermissionManager API that centralizes access control for clients, with support for attaching permission managers to clients from Lua scripts; the client access scripts have been completely refactored to use the new API with a select-access event and a priority fallback mechanism: configuration, flatpak, snap, portal, and default (!797, !822, !825)
Added new WpStateMetadata class that mirrors the persistent state into a PipeWire metadata object, allowing users to clear or change saved device profiles at runtime using pw-metadata (!818)
Added set_param(), enum_params_sync() and params-changed signal to WpSpaDevice, and an event signal for SPA device events, allowing monitors to directly interact with SPA devices and react to profile changes without going through the global WpDevice object (!835, !842)
Added list subcommand to wpctl for displaying PipeWire objects in a script-friendly format, with bash completions (!805, !823)
Added reset command to wpctl to reset the state of WirePlumber and PipeWire to installation defaults (!848, !849)
Enhanced wpctl to connect to the manager socket when available, giving the tool unrestricted access to the PipeWire graph (!814)
Added new bluetooth.profile-preference setting to find-preferred-profile for selecting quality or latency A2DP profiles (!819)
Added a cache for camera permission checks in the portal access module to avoid frequent D-Bus calls; also added a 3-second timeout and fixed the Set create parameter in portal-permissionstore (!820, !821)
Fixes:
Fixed wpctl set-volume by PID to apply the same volume level to all matching nodes (#944; !829)
Fixed portal clients to be un-gated immediately after permission setup, preventing them from remaining blocked (#941; !826)
Fixed ALSA monitor to set the device profile to Off and restore it when a node enters an error state, forcing a close/reopen of the device to recover from broken ALSA device states (!837)
Fixed voice call profile selection to not skip profiles with unknown availability (!834)
Fixed memory leak in Lua scripting by only holding a strong reference of the Lua state when a script is activated, preventing leaked proxy warning messages on core disconnect (!844)
Fixed state-stream to only use the media.role key when its value is Notification when forming the stream state lookup key (!845)
Fixed pw-obj-mixin to apply the active filter when enumerating cached params and to deduplicate subscribed param IDs (!839, !840)
Fixed m-lua-scripting to validate Bool values in Pod.Choice.Enum (!841)
Fixed shutdown sequence to properly deactivate all objects and plugins before teardown (#881; !833)
Fixed Bluetooth to not set bluez5.autoswitch-routes on BT devices (!811)
Fixed null pointer dereference in permission-manager (!812)
Fixed module destructor ordering to call the parent destructor before finalizing internal state (!813)
Fixed nil value when logging in state-profile (!815)
Fixed gobject-introspection issue on spa-pod to correctly generate Python bindings (!828)
Updated translations: Chinese, Serbian, Serbian Latin
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>