Releases: flatpak/xdg-desktop-portal
1.20.0
1.19.4
New Features:
- Introduce the host app registry. This interface allows host system apps
(i.e. apps not running under a sandboxing mechanism like Flatpak) register
themselves with XDG Desktop Portal. This allows XDG Desktop Portal to use
a proper app id, and desktop file, improving the interaction with portal
backends.
Enhancements:
- Use a new internal script to simplify running tests.
Bug Fixes:
- Properly escape notification body in the Notification portal.
- Fix various documentation links in the USB portal documentation page.
1.19.3
Bug Fixes:
- Fix documentation links in the USB portal page.
- Make the Document portal track open files, and release them when shutting down. This should fix some harmless leak reports.
- Fix a memory leak, a crash, and improve robustness against non-existing folders in the Dynamic Launcher portal.
- Fix build with PipeWire 1.3.82
Enhancements:
- Make the host path xattr more useful by removing the trailing end character, and also reporting the xattr of files inside folders added to the document store.
- Remove libportal-based integrated tests. This should remove the cyclic dependency between libportal, and xdg-desktop-portal. All tests are now based on the Python testing framework.
35433a77746aed517fea00a22bebc2ab8aa584caccea24f3bc15c1d9ea925be9 *xdg-desktop-portal-1.19.3.tar.xz
1.19.2
Bug Fixes:
- Fix permission check for host system apps in the Camera portal.
- Do not expose the Settings portal if there are no backends available.
- Disable sounds-related notification tests if the project is built without wavparse.
Enhancements:
- Start porting the test suite to Python tests. Once finished, this should break the cyclic dependency between xdg-desktop-portal and libportal.
- Install Python-based tests. This is mostly useful for distributions to run tests as part of their packaging process.
b9bee6eb6b1bba585a057fc33a417741973ab0f0d373a0567225069eebc163ff *xdg-desktop-portal-1.19.2.tar.xz
1.19.1
Dependencies:
- XDG Desktop Portal now requires GLib 2.72 or higher.
New Features:
- Introduce the Notification v2 portal. This updated version of the Notification portal supports a plethora of new fields for notifications, such as sounds, categories, purpose, and more.
- Introduce the USB portal. This portal allows apps with relevant permissions to enumerate and acquire access to specific USB devices.
- Introduce a new
SchemeSupported
method to the OpenURI portal. This new method allows apps to know ahead of time if the host system is able to deal with a particular scheme.
Enhancements:
- Continued the move towards Python-based tests. This should simplify the test setup in the project quite significantly, and also will allow removing the cyclic dependency between libportal and XDG Desktop Portal.
- Introduce umockdev-based tests.
- Improve the icon validator so it can deal with memfd-based icons.
- Clarify behavior of the Settings portal for non-standardized keys.
- In the Global Shortcuts portal, clarify that the result the
BindShortcuts
of may be a subset of all requested shortcuts. - Add a documentation page about icon validation requirements.
Bug Fixes:
- Fix memory leaks in the Background, Email, and Global Shortcuts portals.
- Fix a general file descriptor & memory leak.
- Fix a regression in the Settings portal.
- New and updated translations.
a09ad4d8b0697b6670ce75437b61a620373641625b4e505c4a012273f5000cea *xdg-desktop-portal-1.19.1.tar.xz
1.19.0
Important
This was the first release of xdg-desktop-portal made using automation. If you found any issues with it, please let us know.
- Completely rework and restructure the documentation website. Documentation is now segmented by target audience (app developers, desktop developers, and contributors). It also documents how the Document portal operates, the FUSE filesystem, and custom file attributes. This is available in the following address: https://flatpak.github.io/xdg-desktop-portal/docs/index.html
- The portals.conf parser is now able to handle fallback backends better, and respects the order of backends in the config file.
- Try to use the xdg-desktop-portal-gtk backend as a last resort backend, if everything else fails.
- Implement getlk and setlk, and honour O_NOFOLLOW, in the Document portal's FUSE filesystem.
- Neutralize the Devices portal. Originally the Devices portal was introduced so that services like PulseAudio or PipeWire could request access to microphones and cameras on the behalf of apps. It was not meant to be used by sandboxed apps directly, which is unusual for a portal. Practically, however, it didn't take off.
- Implement PID/TID mapping for host system apps.
- Add a new "supported_output_file_formats" option to the Print portal. This can be used by apps like browsers to limit the output file formats presented by the Print portal backend. For example, an app can limit file printing to PDF files.
- Add a new "GetHostPaths" method to the Document portal, which allows mapping file descriptors to paths on the host system. This can be used by apps to show more meaningful file paths in the user interface.
- Like the new method above, the Document portal sets the "user.document-portal.host-path" xattr on files, pointing to the the host
system file path. The use case is similar to "GetHostPaths". - Make the Background portal more robust when validating autostart files.
- Clarify behavior of the File Chooser portal in the documentation pages.
- Improve robustness against deleted o_path fds in the Document portal.
- Fix a warning in some systems while trying to load Request D-Bus object properties.
- Fix a physical inode leak in the Document portal.
- Various improvements to the test suite. Python-based tests now run in parallel and are more careful when setting up the mock D-Bus server. Tests also start dbus-monitor if necessary now. FUSE tests of the Document portal have been made more TAP-alike now.
- Memory leak fixes in a variety of portals and services, including the permissions database, the Document portal, the File Transfer portal, the Location portal, the Background portal, tests, and the icon validator. And more. There's a lot of memory leak fixes everywhere, really.
- Major refactorings of the icon validator. Icons are now limited to 4MB files.
- Update XML specification specifying session handle type to match current actual ABI in GlobalShortcuts, Inhibit, RemoteDesktop, and ScreenCast portals.
- New and updated translations.
1.18.4
This is a new minor release of xdg-desktop-portal 1.18 series. Users and distributions are strongly encouraged to update to this version. These are the changes included in this release:
- Don't allow commandline arrays when the first commandline item starts with whitespace or hyphen. (CVE-2024-32462)
- Do not store device access permission if it returned an error.
- Fix crash with config files without a default backend set.
$ sha256sum xdg-desktop-portal-1.18.4.tar.xz
b858aa1e74e80c862790dbb912906e6eab8b1e4db9339cd759473af62b461e65 xdg-desktop-portal-1.18.4.tar.xz
1.16.1
This is a new minor release of xdg-desktop-portal 1.16 series. Users and distributions are strongly encouraged to update to this version. These are the changes included in this release:
- Don't allow commandline arrays when the first commandline item starts with whitespace or hyphen. (CVE-2024-32462)
- Set writable flag of files correctly in the FileChooser portal
- Handle bad requests more gracefully in the File Transfer portal
- Various fixes to documentation
- Various smaller bugfixes
- Translation updates
$ sha256sum xdg-desktop-portal-1.16.1.tar.xz
9b3ea112f19fcd953b629194a5ff377571036162d81575d11c0c8d3d6ba88d9c xdg-desktop-portal-1.16.1.tar.xz
1.18.3
This is a new minor release of xdg-desktop-portal 1.18 series. Users and distributions are strongly encouraged to update to this version. These are the changes included in this release:
- Don't try to read D-Bus object properties of Request objects on construction.
- Fix various memory and file descriptor leaks.
- Minuscule optimization to the ScreenCast portal so that it stores restoration data with a single D-Bus call, instead of two.
- Fix a crash in the OpenURI file when trying to open a non-existing file.
- Fix a bug in PipeWire that prevented cameras from being reported reliably.
- Various smaller bug fixes.
$ sha256sum xdg-desktop-portal-1.18.3.tar.xz
d23c1efb66ac325396cd0ac4a063fc24a9bd9d5e9829467050ae5417d1a7b3ad xdg-desktop-portal-1.18.3.tar.xz
1.18.2
This is a new minor release of xdg-desktop-portal 1.18 series. Users and distributions are strongly encouraged to update to this version. These are the changes included in this release:
- Pass the token to the OpenURI portal and, when missing, an empty string.
- Fix various memory and file descriptor leaks in the Document portal.
- Make files and folders openend with the Document portal close properly. This should fix cases where the Document portal prevented external devices from unmounting, due to files inside them not getting closed after applications stop using them.
- Implement FUSE getlk and setlk callbacks.This should enable using sqlite3 through the Document portal.
- Properly resolve fd symlinks before opening them with O_NOFOLLOW.
- Fix cases where the portal id is assumed to match the .desktop file name.
- Allow sending directories in the file transfer portal. This should make it possible to, among other things, drag and drop folders and files simultaneously from and to sandboxed applications.
- Fallback to a hardcoded check to xdg-desktop-portal-gtk in the absence of any other portal or configuration file, as a last resort mechanism.
- Various smaller fixes to the build system.
$ sha256sum xdg-desktop-portal-1.18.2.tar.xz
dfac239c5476aafd117a9a10131a2f0b142f72106c52fc03859938e00545f440 xdg-desktop-portal-1.18.2.tar.xz