summaryrefslogtreecommitdiff
path: root/NEWS
blob: 7a2d2ea5f29855d568ce57ad368228b4167068ac (plain)
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
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