-
-
Notifications
You must be signed in to change notification settings - Fork 195
/
NEWS
615 lines (496 loc) · 20.5 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
Changes in 1.19.0
=================
Released: 2024-10-09
- 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.
Changes in 1.18.1
=================
Released: 2023-10-26
- Communicate better when the Background portal kills an app
- Properly quote Flatpak command in the Background portal
- Improve documentation of the "cursor_mode" propery of the ScreenCast
backend D-Bus interface
- Fix ScreenCast portal removing transient restore permissions too early.
This fixes screen sharing dialogs on Chromium asking for the screen multiple
times.
- Only send the Closed session signal to the sender
- Add Meson options to disable building with Bubblewrap, and without the
Flatpak portal documentation. Disabling Bubblewrap is **highly** discouraged,
and only meant to be used on platforms that do not currently support it. By
disabling Bubblewrap, bitmap validation happens without a sandbox, which is
highly insecure since image parsing is a common source of exploits. Really,
just do not disable Bubblewrap please.
- Improve the manpage of portals.conf
- Various spelling fixes to the Document portal
- Add a new website! We don't have a fancy domain yet, but the website can be
accessed at https://flatpak.github.io/xdg-desktop-portal/
- Improve pid mapping for host system apps. This should get rid of some rare,
unnecessary warnings.
- Adjust documentation of Global Shortcuts portal's timestamps to millisecond
granularity
- Bump minimum Meson version to 0.58
Changes in 1.18.0
=================
Released: 2023-09-18
- Bump interface version of the Printer portal to 2
- Validate addresses following the HTML specs in the Email portal
Changes in 1.17.2
=================
Released: 2023-09-01
- Document minimum version of the new ReadOne() method of the Settings portal
- Add a mapping id property to the ScreenCast portal
- Add activation token parameter to the Email portal
- Test tarball generation in CI
Changes in 1.17.1
=================
Released: 2023-08-27
- Document xdg-desktop-portal versioning scheme
- Fix various issues in the OpenURI portal
- Introduce the ReadOne() method in the Settings portal. This method is now
preferred over the Read() method, as Read() mistakenly returned a variant
inside a variant. The Read() method will continue to exist for compatibility
with existing apps, but its usage is deprecated. We recommend apps to port
to the ReadOne() method. Apps can decide whether to use ReadOne() or Read()
by looking at the version of the Settings portal.
- Improvements to the new config-based portal matching mechanism. Config files
are now searched in standard paths, in a way that is compatible to other
system components (e.g. MIME types).
- Various small visual tweaks to the generated documentation
- Document a new 'accent-color' key in the Settings portal. This key represents
an arbitrary color in sRGB colorspace. How implementations of the portal
provide this key is entirely dependent on their internal policies and design.
- Translation updates
Changes in 1.17.0
=================
Released: 2023-08-04
- Drop the Autotools build. Meson is now the only supported build system.
- Rework how portal implementations are loaded. This new, more robust system
allows selecting specific backends for specific portals, and layering them
when necessary. Platforms that provide portals implementation are encouraged
to provide a suitable configuration file.
- Introduce a new Clipboard portal. This portal extends the Remote Desktop
portal by adding support for sharing clipboard between remote machines.
- Introduce a new Input Capture portal. This portal adds mechanisms for taking
control of input devices. The primary usage model is centered around the
InputLeap and Synergy use cases, where local devices are used to control
remote displays.
- Stop using the deprecated GTimeVal struct
- Bump GLib dependency to 2.66
- Add an "accept-label" option the the Print portal. This lets apps suggest a
proper label to the print operation.
- Various fixes to the Global Shortcuts portal
- Support restoring remote desktop sessions
- Improve robustness of the OpenURI portal by validating more URIs
- The PipeWire dependency is now mandatory
- Various improvements for the test suite
- Translation updates
Changes in 1.16.0
=================
Released: 2022-12-12
- Introduce a new background monitoring service. This allows desktop
environments to list applications that are running in background, that is,
sandboxed applications running without a visible window. Desktop environments
can display these background running applications in their interfaces, and
allow users to control their execution.
- Introduce the Global Shortcuts portal. This portal allows applications to
register and receive keyboard shortcuts even when they're not focused. This
was a highly requested feature, especially on Wayland desktops. There are
improvements to come, but portal backends can now implement this new portal.
- Various CI improvements
- Translation updates
Changes in 1.15.0
=================
Released: 2022-08-11
- Add Meson build files. For now, both Autotools and Meson are available
in the source tree. Starting from next release, tarballs will be generated
using Meson. There is no set date to delete Autotools files, but it will
happen at some point in the future. The removal of Autotools will be
communicated in advance.
- Make the Screenshot portal request permission to take screenshots. Frontends
that implement the version 2 of org.freedesktop.portal.impl.Screenshot portal
can now be aware that the screenshot permission was granted through the new
'permission_store_checked' option, and skip any kind of dialog when that is
the case.
- Stop sending the app id quoted in the Background portal
- Fix a bug in cgroup name parsing
- Various fixes to the Realtime portal
- Various CI improvements
- Translation updates
Changes in 1.14.1
=================
Released: 2022-03-18
- Fix an issue in 1.14.0 where xdg-desktop-portal.service starting before
graphical-session-pre.target would cause the GNOME session to deadlock by
moving code to a new libexec binary which handles deleting or migrating
.desktop files (and icons) from the dynamic launcher portal for apps which
have been uninstalled or renamed.
- Fix some bugs in the aforementioned launcher migration implementation,
"xdg-desktop-portal-rewrite-launchers".
- Fix build without libsystemd
Changes in 1.14.0
=================
Released: 2022-03-17
- Add a new "dynamic launcher" portal, which can install .desktop files and
accompanying icons after user confirmation.
- Rework handling of empty app IDs: In case an empty string app ID is stored in
the permission store, this permission is now shared only by apps whose app ID
couldn't be determined, rather than all unsandboxed apps.
- Use libsystemd (when available) to try to determine the app ID of unsandboxed
processes. This is useful since some portals otherwise can't be used by host
apps.
- Make x-d-p start on session start, which is needed for the dynamic launcher
portal to handle rewriting launchers for apps that have been renamed.
- Bring back the copy of Flatpak's icon-validator, which was dropped many
releases ago.
- Icon validation is now required for the notification and dynamic launcher
portals (previously it was only done if the "flatpak-validate-icon" binary
could be found).
- document-portal: Move to the libfuse3 API
- document-portal: Use renameat2 sys call
- document-portal: Use mutex to fix concurrency bug
- realtime: Fix error code paths
- realtime: Fix MakeThreadHighPriorityWithPID method
- screencast: Fix an error when restoring streams
- ci: Various improvements
- Documentation improvements
- New translations: pt, ro
Changes in 1.12.1
=================
Released: 2021-12-22
- Fix a crash in the device portal
Changes in 1.12.0
=================
Released: 2021-12-21
- Place portals in the systemd session.slice
- settings: Add color-scheme key
- open-uri: Avoid a sync call to org.freedesktop.FileManager
- screncast: Allow restoring previous sessions
- Add a portal for requesting realtime permissions
- ci: Many improvements
- Publish the docs from a ci job
- Translation updates
Changes in 1.10.0
=================
- Remap /run/flatpak/app, for Flatpak 1.11.x
- Remap /var/config and /var/data
- permission-store: Avoid a crash
- permissions-store: Add GetPermission
- screencast: Add 'virtual' source type
- openuri: Use real path for OpenDirectory
- location: Fix accuracy levels
- Add power profile monitor implementation
- Translation updates
Changes in 1.8.1
================
- openuri: Fix an fd leak
- filechooser: Fix directory support
- build: Drop a fontconfig dependency
- snap: Use cgroups to identify confined apps
- documents: Add snap support
- wallpaper: Fix a crash
- build: Factor out a fuse check
- Translation updates
Changes in 1.8.0
================
- openuri: Allow skipping the chooser for more URL tyles
- openuri: Robustness fixes
- filechooser: Return the current filter
- camera: Make the client node visible
- camera: Don't leak pipewire proxy
- Fix file descriptor leaks
- Testsuite improvements
- Translation updates
Changes in 1.7.2
================
- document: Reduce the use of open fds
- document: Add more tests and fix issues they found
- Fix the build with musl
Changes in 1.7.1
================
- filechooser: Add a "directory" option
- filechooser: Document the "writable" option
- document: Expose directories with their proper name
Changes in 1.7.0
================
- testsuite improvements
- background: Avoid a segfault
- screencast: Require pipewire 0.3
- document: Support exporting directories
- document: New fuse implementation
- better support for snap and toolbox
- Translation updates
Changes in 1.6.0
================
- tests: Adapt to libportal api changes
Changes in 1.5.4
================
- background: Add a signal to the impl api
- background: Rewrite the monitoring to better track when apps disappear
- permissions: Fix SetValue handling of GVariant wrapping. This is an api change
- openuri: Add a per-type always-ask option
- openuri: Show the app chooser dialog less often
- memorymonitor: A new portal to let apps receive low memory warnings
- filetransfer: A new portal to rewrite file paths between sandboxes
Changes in 1.5.3
================
* Add more tests
* Translation updates
* location: Various fixes
* document portal: Monitor fuse mount
* openuri: Only ask 3 times to use the same app
* openuri: Add an 'ask' option
* Fix build from git
* email: Allow multiple addresses, cc and bcc
* filechooser: Allow saving multiple files
Changes in 1.5.2
================
* Add many more tests, using libportal
* gamemode: Add a pidfd-based api
* inhibit: Send a Response signal
* openuri: Add an OpenDirectory api
* Translation updates
Changes in 1.5.1
================
* Add a portal for setting desktop backgrounds
* Add tests
* Optionally use libportal (for tests)
Changes in 1.5.0
================
* Add a secret portal that is meant be used via
libsecret inside the sandbox. One backend for
this will live in gnome-keyring, others are
possible
* Fix a file descriptor leak
* Reduce log spam
* Translation updates
Changes in 1.4.2
================
* Build fixes
Changes in 1.4.0
================
* Add a background&autostart portal
* Add a gamemode portal
* Add a camera portal
* Require pipewire 0.2.6
* inhibit: Track session state
* documents: Fix a ref-counting bug
* screencast: Add cursor modes
* screencast: Memory leak fixes
* Translation updates
Changes in 1.2.0
================
* notification: Use icon validator from flatpak
* notification: Don't leave temp files around
* email: Validate options better
* inhibit: Validate options better
* file chooser: Add support for setting the current filter
* Translation updates
Changes in 1.1.1
================
* Validate icons in notifications
* Respect lockdown settings
* Write back permissions for notifications to indicate portal use
* Set st_nlink in the documents portal
* Add infrastructure for validating options
* Validate email addresses
* Translation updates
Changes in 1.1.0
================
This is the first release in the new unstable 1.1.x series, leading up to 1.2
which is expected around the end of the year.
* Add a location portal, this requires geoclue 2.5.2
* Add a settings portal, for desktop-wide settings like XSettings or kdeglobals
* Allow locking down printing, save-to-disk and opening uris
* Monitor application changes in the open uri portal
* Add more tests
xdg-desktop-portal 1.0.3
========================
* Fix an option name in the remote desktop portal
* document-portal: Validate permissions and report errors
* Fix life-cycle issues with inodes in the document portal
* Improve the test coverage of the documents portal
* Add a 'coverage' make target
xdg-desktop-portal 1.0.2
========================
* networkmonitor: Fix several issues
* inhibit: Add session state monitoring
xdg-desktop-portal 1.0.1
========================
* networkmonitor: Add GetStatus and CanReach methods
* Unset GTK_USE_PORTAL
* Add a portal for moving files to the trash
* Fix an inode leak in the document portal
xdg-desktop-portal 1.0
======================
* screenshot: Add a color picker api
* screencast: Bump the pipewire dependency to 0.2.1
* Improve --help output
* Small documentation improvements
xdg-desktop-portal 0.99
=======================
* The NetworkMonitor portal API has been changed to allow access control
* The Proxy and NetworkMonitor portals only respond to requests from
sandboxes with network access
* The flatpak portal is now documented
xdg-desktop-portal 0.11
=======================
* Add initial support for Snap packages.
* Fix memory leaks when ownership of bus names changes.
* Include docs for the session, remote desktop and screencast portals.
* document-portal: Be more flexible validating apps' IDs.
* document-portal: Be more strict when checking & granting file access.
* file-chooser: Fix crash with unitialized data in the save dialog.
* open-uri: Don't ever skip showing the dialog if a threshold is set.
* open-uri: Don't register http: URIs for sandboxed handlers.
* remote-desktop: Use the correct device type values.
* screencast: Fix synchronization issue with PipeWire.
* Translation updates
Chinese (Taiwan)
Spanish
xdg-desktop-portal 0.10
=======================
This version of xdg-desktop-portal contains the xdg-document-portal
that used to be shipped by flatpak. The code was moved to
xdg-desktop-portal as a first step towards being used by
snappy. Additionally having the two related portals delivered together
makes it easier to implement new features that rely on changes to
both portals.
The two versions of the document portal are fully compatible, but the
package files will conflict with older versions of flatpak, so
packagers will have to pick one version. Following this there will be
a new release of unstable flatpak with the document portal removed,
and a release of the stable branch (0.10) that has a configure
option to disable the document portal.
Additionally, this release contains a new screencast and remote
desktop portal based on PipeWire.
Major changes in this versions:
* Import permission store from flatpak
* Import document portal from flatpak
* Add remote desktop portal
* Add screencast portal
* Add "interactive" mode to screenshot portal
* file-chooser: Don't return document paths for paths the application has direct access to
* Handle newer version of bubblewrap
* New abstraction for application info, supporting multiple sandbox technologies
* Add basic test suite
xdg-desktop-portal 0.9
======================
* Install pkg-config files into datadir
* Avoid a race in the portal APIs
* Change the email portal to take fds
* Translation updates
Galicican
Indonesian
Turkish
xdg-desktop-portal 0.8
======================
* Update po files
xdg-desktop-portal 0.7
======================
* In the OpenURI portal, send the content-type and filename to the appchooser
* Stop handling file: uris in the OpenURI method of the OpenURI portal
* Add an OpenFile method for local files to the OpenURI portal
* Bug fixes in the notification portal
* Translation updates:
Czech
Italian
xdg-desktop-portal 0.6
======================
* A portal for sending email has been added
* The OpenURI portal has be made a bit more permissive.
It will now directly use the system default for "safe"
schemes such as http, and local directories.
* Translation updates:
French
xdg-desktop-portal 0.5
======================
* The notification portal now supports non-exported actions
* An Account portal for basic user information has been added
* All portal interface now have a version property. Currently,
all interfaces are at version 1
* The file chooser portal was forgetting to make files created
for SaveFile writable. This has been fixed
* Translation updates:
Czech
Polish
Swedish
xdg-desktop-portal 0.4
======================
* No longer rely on cgroups to find the app id
* Fix handling of mime type filters in the file chooser portal
* Translation updates:
Chinese
Czech
German
Serbian
xdg-desktop-portal 0.3
======================
* open-uri: Allow configuring threshold
* open-uri: Use fallback applications when needed
* Translation updates:
Brazilian Portuguese
Hungarian
Slovak
Ukrainian
xdg-desktop-portal 0.2
======================
* Add internationalization support
* Add Qt annotations
* New portal APIs:
- org.freedesktop.portal.Device
* Translation updates:
Polish
Initial release 0.1
===================
Included portal APIs:
* org.freedesktop.portal.FileChooser
* org.freedesktop.portal.Print
* org.freedesktop.portal.OpenURI
* org.freedesktop.portal.Screenshot
* org.freedesktop.portal.Inhibit
* org.freedesktop.portal.Notification
* org.freedesktop.portal.NetworkMonitor
* org.freedesktop.portal.ProxyResolver