Prepare 0.29.1
[dconf.git] / NEWS
blob5f44bcb91a79a7bd7902a74e7dcb05dea2d57988
1 Changes in dconf 0.29.1
2 =======================
4  - Engine: track in progress watch handles to avoid spurious changed
5    signals for the root path. Subscription requests are no longer sent
6    if the engine is already subscribed to the given path. In the case
7    that some value changes while a subscription request is in progress,
8    a changed signal is only sent for the path being subscribed to
9    instead of the root path. (Daniel Playfair Cal; !1, !5, #790640)
11  - Engine: fix deadlock which occured when using the engine from libsoup
12    within flatpak by extending the existing workaround for Glib !541, aka
13    #674885. GSocket and various other GObject types are now also
14    initialised in the main thread. (Owen Taylor; !15)
16  - Add transfer annotations to the GTK-Doc strings for functions in the
17    dconf_changeset_* and dconf_client_* namespaces (Xavier Claessens,
18    Philip Withnall; !9, #758903)
20  - Update GVDB subtree from GVDB master, containing mostly documentation
21    improvements (Philip Withnall; !17)
23  - dconf-update.vala: correct error message grammar (Kenyon Ralph; !6)
25  - Various meson related improvements (Iñigo Martínez; !11)
27  - Add GitLab CI (Philip Withnall; !10)
29  - Service: Port from the deprecated g_type_class_add_private() to
30    G_ADD_PRIVATE() (Philip Withnall; !7)
32  - Add Daniel Playfair Cal and Philip Withnall as maintainers (Philip
33    Withnall)
36 Changes in dconf 0.28.0
37 =======================
39  - Update README
41 Changes in dconf 0.27.1
42 =======================
44  - Port to meson build system (#784910)
46 Changes in dconf 0.26.1
47 ========================
49  - Work around a deadlock in GObject type initialization (#674885)
51 Changes in dconf 0.26.0
52 ========================
54 None.
56 Changes in dconf 0.25.1
57 ========================
59  - the libdbus-1 backend has been removed.  dconf now always uses GDBus.
61  - support has been added for system administration frameworks to set up
62    the dconf profile via a file placed in the XDG_RUNTIME_DIR or in
63    /run/dconf/.  In the case of the file in /run/dconf/, it is not
64    possible to modify the proile, even via the DCONF_PROFILE environment
65    variable, which makes it slightly more difficult to evade lockdown.
67  - directory resets are now implemented properly in DConfChangeset which
68    means that reading a subkey through a changeset that contains a reset
69    for a parent directory of that key will return TRUE with a NULL value
71  - a new API dconf_client_read_full() has been added which allows
72    reading the user value, the default value, or querying what the
73    effective value would be if a changeset were to be applied.
75  - a new API has been added for listing the locks that are in effect:
76    dconf_client_list_locks()
78  - DConfClient has a new "writability-changed" signal
80  - support for reading default values and listing locks have been added
81    to the dconf commandline tool
83  - support for g_autoptr() has been added for DConfClient and
84    DConfChangeset
86  - the handling of reading of default values via GSettings has been made
87    more efficient.  More major changes to the GSettings backend are
88    expected in the near future.
90 Changes in dconf 0.24.0
91 ========================
93 The version number was increased and a new entry was added to the NEWS.
95 Changes in dconf 0.23.2
96 ========================
98  - remove dconf-editor manpage (accidentally missed during the split)
100  - fix whitespace issues in 'dconf --help'
102 Changes in dconf 0.23.1
103 ========================
105  - dconf-editor is now in a separate package
107  - portability improvements
109 Changes in dconf 0.22.0
110 ========================
112  - fix handling of floating point keys in editor
114  - update appdata for renamed desktop file
116  - minor doap changes
118 Translations:
119    French
120    Indonesian
121    Lithuanian
122    Hungarian
123    Catalan (Valencian)
124    Korean
125    Traditional Chinese
126    Spanish
127    Brazilian Portuguese
128    Galician translations
129    Catalan
130    Basque language
131    Danish
132    Norwegian bokmål
133    Greek
134    Czech
135    Slovenian
136    Swedish
137    Polish
138    Latvian
139    Hebrew
140    Russian
141    German
142    Assamese
143    Serbian
145 Changes in dconf 0.21.0
146 ========================
148  - editor desktop file renamed to ca.desrt.dconf-editor to take advantage of
149    D-Bus activation
151  - prevent the service from being released more than once if we receive
152    multiple signals (which caused a hang)
154 Translations:
155   Indonesian
156   Greek
157   Swedish
159 Changes in dconf 0.20.0
160 ========================
162 Czech translation updated.
164 Changes in dconf 0.19.92
165 =========================
167  - depend on automake 1.11.2
169  - stop using ACLOCAL_FLAGS
171  - depend on released version of Vala (0.18.0)
173 Changes in dconf 0.19.91
174 =========================
176  - fix an unlikely failure in the fuzz testing of gvdb
178  - fix a thread safety issue with file-db
180 Changes in dconf 0.19.90
181 =========================
183  - dconf compile: always write little endian
185  - file-db: don't install match rules on no bus (fixes gdbus assertion)
187  - update dconf(1) manpage for 'dconf compile'
189  - fix 'make clean' on FreeBSD
191  - editor: provide appdata
193 Translations updates:
194   Ukrainian translation
195   Aragonese translation
196   Chinese
198 Changes in dconf 0.19.3
199 ========================
201  - quite a lot of test coverage improvements
203  - Add a proper DCONF_ERROR error domain
205  - suppress GLib deprecation warnings during build
207  - engine: issue warnings about missing files only once per source
209  - engine: grok the WritabilityNotify signal from D-Bus
211  - gsettings: handle writability changes correctly
213  - engine: assorted fixes for issues found during testing
215  - portability: only link to -ldl if it is required
217  - add support for 'file-db' to profiles: this is an absolute path to a
218    immutable dconf database file
220  - add support for finding profiles in XDG_DATA_DIRS if they are not in
221    /etc
223  - add 'dconf compile' command for building dconf databases from
224    keyfiles in arbitrary locations (like from the build system of a
225    project that may want to install a file-db)
227  - editor: add a section separator to the app menu for consistency
229 Changes in dconf 0.19.2
230 ========================
232  - Add support for the new GSettingsBackend.read_user_value() API
234  - bump GLib version depend accordingly (2.39.1)
236 Translations updates:
237  Greek
238  Catalan (Valencian)
239  Simplified Chinese
240  Persian
242 Changes in dconf 0.18.0
243 ========================
245 Translations updates:
246  Basque
247  Danish
248  Japanese
249  Korean
250  Portuguese
251  Punjabi
253 Changes in dconf 0.17.1
254 ========================
256 Documentation updates, including better coverage of profiles.
258 Translations updates:
259  Assamese
260  Belarusian
261  Catalan
262  Dutch
263  Estonian
264  Finnish
265  French
266  German
267  Hungarian
268  Indonesian
269  Italian
270  Korean
271  Latvian
272  Polish
273  Russian
274  Serbian
275  Tajik
276  Thai
277  Traditional Chinese
279 Changes in dconf 0.17.0
280 ========================
282 Fix a semi-serious thread safety issue:
284   https://bugzilla.gnome.org/show_bug.cgi?id=703073
286 Some improvements to the editor:
288  - fix some compile warnings
289  - use gresource
290  - cancel searches on escape
292 Translation updates:
293  Brazilian Portuguese
294  Czech
295  Esperanto
296  Friulian
297  Galician
298  German
299  Hebrew
300  Indonesian
301  Lithuanian
302  Malayalam
303  Norwegian bokmål
304  Slovak
305  Slovenian
306  Spanish
307  Tajik
309 Changes in dconf 0.16.0
310 ========================
312 This release one small fix and many translation updates.
314  - Set G_LOG_DOMAIN so that 'dconf' shows in GLib log messages
316 Translation updates:
317  Assamese
318  Basque
319  Belarusian
320  Brazilian Portuguese
321  Catalan
322  Czech
323  Danish
324  Estonian
325  Finnish
326  French
327  German
328  Greek
329  Hindi
330  Korean
331  Latvian
332  Persian
333  Portuguese
334  Punjabi
335  Russian
336  Tadjik
337  Tamil
338  Uyghur
339  Valencian
341 Changes in dconf 0.15.3
342 ========================
344 This release more or less completes the rewriting of dconf-service.
345 Support for backends are now fully-realised (and we have a couple of
346 them as proof).  Many small bugs (some with serious symptoms) have been
347 fixed vs. the last release.
349  - fix problem related to empty changesets (caused by empty 'dconf
350    load', for example).  These are now handled properly on the server
351    side but also forbidden in the client libraries.
353  - new icons: hicolor icons have been updated and a HighContrast set
354    added
356  - loosen some assertions on the order of messages being returned from
357    the service.  D-Bus violates this order in the case that the service
358    crashes and that's no reason to take the client with it as well.
360  - improve autogen.sh non-bash compatibility
362  - add some backends to the dconf-service (that were 'considered' as per
363    the last NEWS).  The first backend is a null backend that allows for
364    a temporary database tied to the lifetime of the session, possibly
365    useful for testing.
367  - also add a new 'keyfile' backend for the service.  This is primarily
368    intended to be used with NFS (where use of mmap is not safe)
370  - add a mkdir() in the case of an empty home directory where
371    ~/.config/dconf does not already exist
373  - fix crashes in the service caused by failures to write (including
374    failures caused by the above issue being overlooked)
376  - work around an issue with a testcase hanging and failing due to a
377    GLib change to the order in which testcases are run
379  - running autoreconf on tarballs should now work
381 Translations updated:
382  Aragonese
383  Friulian
384  Galician
385  Greek
386  Hebrew
387  Hungarian
388  Italian
389  Lithuanian
390  Norwegian bokmål
391  Polish
392  Serbian
393  Slovak
394  Slovenian
395  Spanish
396  Thai
397  Uyghur
399 Bugs closed:
400  595579  support NFS
401  663961  Cannot build without a git checkout
402  673834  dconf commandline tool doesn't initialise the locale
403  686998  add keywords to the desktop file
404  687120  gnome-ostree-3.8 triggers expected && oc->change == expected assertion
405  687310  dconf-editor should install a highcontrast app icon
406  689136  Crash in dconf_writer_real_end(): change is NULL (when $XDG_CONFIG_HOME/dconf does not exist)
407  690316  writer: Fix typo causing segfaults on service shutdown
408  690477  Can't build with gnome-apps-3.6 module set
409  691013  Crash on missing ~/.config/dconf and clear pointer
410  692144  needs a nicer icon
411  692186  build: autogen.sh uses /bin/sh but depends on advanced shell redirection shorthands
413 Changes in dconf 0.15.2
414 ========================
416  - update to the new GVDB API (GBytes based) and refactor a bit
418  - add a new type of "database mode" DConfChangeset and use it
420  - the service has been substantially rewritten
421   - using gdbus-codegen
422   - cache the file contents instead of read/modify/write each time
423   - new DConfWriter abstraction allows considering support for backends
424   - uses only POSIX IO (read and write syscalls) for database access
425   - workaround mmap() bug on OpenBSD
427  - editor:
428   - Fix search order of schema dirs
429   - Translate summary and description
431 Translations:
433  - Indonesian
434  - Slovak
436 Changes in dconf 0.15.1
437 ========================
439  - add --disable-man
441  - fix reading default values in GSettings backend
443  - editor:
444    - support schema overrides
445    - search improvements (search directories, values, descriptions)
446    - correctly get text from schema descriptions
447    - only write window state settings on exit and support fullscreen state
449  - dconf_rebuilder_get_parent: don't leak parent_name
451 Translations:
453  - Arabic
454  - Belarusian
455  - Bengali
456  - Brazilian Portuguese
457  - British English
458  - Bulgarian
459  - Catalan
460  - Catalan (Valencian)
461  - Czech
462  - Danish
463  - Estonian
464  - Finnish
465  - French
466  - German
467  - Hebrew
468  - Hindi
469  - Hungarian
470  - Indonesian
471  - Italian
472  - Japanese
473  - Korean
474  - Latvian
475  - Lithuanian
476  - Malayalam
477  - Marathi
478  - Norwegian bokmål
479  - Persian
480  - Polish
481  - Portuguese
482  - Russian
483  - Simplified Chinese
484  - Slovenian
485  - Spanish
486  - Swedish
487  - Tamil
488  - Telugu
489  - Thai
490  - Vietnamese
492 Changes in dconf 0.13.90
493 =========================
495 The only change in this release is the addition of many translations for
496 dconf-editor:
498  - Traditional Chinese
499  - Serbian
500  - Ukrainian
501  - Punjabi
502  - Greek
503  - Galician
504  - Spanish
505  - Assamese
506  - Polish
507  - Hungarian
509 Changes in dconf 0.13.5
510 ========================
512  - the service no longer attempts to migrate the primary dconf database from
513    its (years) old path ~/.config/dconf to the new ~/.config/dconf/user
515  - fixes for profile file parsing problems
517  - fix obscure race in GDBus handling code that could result in
518    out-of-order message delivery
520  - editor:
521   - clean up some messages and mark strings for translations
522   - enable NLS
523   - add Esperanto translation
525  - add manpages for dconf(7), dconf(1), dconf-service and dconf-editor
527 Changes in dconf 0.13.4 (since 0.13.0)
528 =======================================
530  - extensively refactored -- watch for bugs
532  - now depends on GLib 2.33.3 for g_slist_copy_deep() and
533    g_clear_pointer() with workaround for GCC
535  - API of libdconf has changed; soname bumped to libdconf.so.1
537  - installed header layout has changed
539  - there are changes to the API used between the client and the service.
540    New clients will only talk with the new service (so make sure to
541    restart it).  Old clients (ie: already-running programs) will
542    continue to be able to talk to the new service version.
544  - there is a now a fairly decent test suite but it requires a full
545    D-Bus environment to run in, so it may make sense to avoid 'make
546    check' on builders for the time being
548 Changes in dconf 0.13.0
549 =======================
551  - now requiring Vala 0.18 (ie: at least 0.17.0)
553  - editor: use GtkApplication and GMenu
554  - editor: support searching for keys
556  - dconf cli: call setlocale() on startup
558 Changes in dconf 0.11.7
559 =======================
561  - engine: don't leak the lock table if a system database changes while
562    a program is running
564  - dbus-1: call g_slist_remove_link instead of g_slist_remove
566  - editor: set 'wrap' property on default value label
568  - dconf update:
570    - code cleanup, better error handling
571    - read keyfiles in a defined order (later files take precedence)
572    - don't issue warnings if a key is defined in multiple files
574 Changes in dconf 0.11.6
575 =======================
577  - new DCONF_BLAME mode for debugging spurious dconf writes at login
579  - stop hardcoding the assumption that there will be exactly one user
580    database followed by zero or more system databases
582  - allow DCONF_PROFILE to specify a profile file by absolute path
584  - dbus-1: fix multiple-key change notifications
586  - autogen.sh can now be called from out of tree
588 Changes in dconf 0.11.5
589 =======================
591  - do not install non-standard icon sizes
593  - fix a bug with getting default values when no profile is in use
595  - some general code cleanups on the client side
597  - improve Makefile compatibility: avoid using 'echo -e'
599 Changes in dconf 0.11.3
600 =======================
602  - works with (and only with) Vala 0.15.1
604  - we now have an icon for dconf-editor
606 Changes in dconf 0.11.2
607 =======================
609  - many bugfixes and improvements to the editor, most notably porting to
610    GtkGrid to avoid the GtkTable layout bug that was causing size to be
611    incorrectly allocated
613  - fix a crasher due to invalid string index of -1
615 Changes in dconf 0.10.0
616 =======================
618 The version number was increased and a new entry was added to the NEWS.
620 Changes in dconf 0.9.1
621 ======================
623   - give a g_warning() on failure to communicate with service
625   - remove unworking 'set lock' call from dconf API and commandline tool
627   - add code to exit gracefully on receipt of SIGINT, SIGHUP, SIGTERM
629   - remove "service function" logic; always use the XDG runtime directory
631 Changes in dconf 0.9.0
632 ======================
634 There has been an extremely minor incompatible change in the D-Bus API
635 of dconf this release.  From a practical standpoint, this change will
636 have no effect.  However, it serves as a reminder that the dconf D-Bus
637 API is private and can change from version to version (and will likely
638 change in the future).
640 As such, it is appropriate for those packaging dconf to kill all running
641 instances of dconf ('killall dconf-service') as part of their postinst
642 for the package.  It will be dbus-activated again on the next use.
644   - support loading/storing of maybe types in dconf
646   - remove NFS detection hackery and rely on XDG runtime dir
648   - add proper support for change notification to DConfClient
650   - commandline tool improvements
652     - reset: reset keys or entire subpaths
654     - dump: dump entire subpaths to keyfile format
656     - load: load them back again (maybe at a different path)
658     - watch: actually works now
660   - editor improvements
662     - keys now change in editor when changed from outside
664     - support for flags
666     - show dconf-editor in applications list
668   - work around incompatible Vala bindings changes with an #if
670   - don't install the bash completion script as executable
672   - fix a warning caused by reusing a GError variable
674   - other small fixes
677 Changes in dconf 0.7.5
678 ======================
680 This release corrects a serious flaw in the previous release: crashing
681 if the database did not already exist.
683 It also contains many fixes and improvements to the dconf-editor,
684 including use of GSettings to store the window geometry.
686 This is the final release before 0.8.0 which will become the first
687 release in a new stable series.  Feature development will continue on
688 'master' toward 0.9 past that point.
690 Changes in dconf 0.7.4
691 ======================
693 Changes in this version:
695   - #648949: multithreading issue fixed (which actually affects all
696     GSettings-using programs since dconf is used from a helper thread in
697     that case)
699   - dconf commandline tool is vastly more friendly now
701     - no more aborting on unrecognised arguments
703     - proper help
705     - bash completion support
707   - support for sysadmin lockdown
709   - the editor now properly reads installed enum xml files
711 Changes in dconf 0.7.3
712 ======================
714 This release consists almost entirely of fixes made by Robert to
715 dconf-editor.  A few other trivial build fixes are included as well
716 (bumping library version dependencies to match reality, etc).
718 Changes in dconf 0.7.2
719 ======================
721 This is entirely a cleanup/fixes release.  Some fixes here to make the
722 increasingly-strict toolchain happy, and also some fixes for some
723 crashers in the GSettings backend and service.
725  - remove some unused variables (new GCC gives a warning: #640566, another)
726  - add a mutex to fix multi-threading issue (#640611)
727  - don't crash if we have no D-Bus
728  - clean up symbol exports
729  - fix a crash in the service when using 'reset'
730  - drop old linker options that were for libtool
732 Changes in dconf 0.7.1
733 ======================
735 The last release contained a few problems that caused build failures on
736 some strict linkers.  Those should be fixed now.
738 Changes in dconf 0.7
739 ====================
741  - new library to use dconf with libdbus-1
742  - quite a lot of improvements and bug-fixes in dconf-editor, thanks to
743    Robert Ancell
744  - some bug fixes in the GSettings backend (crashers caused by use if
745    custom dconf profiles)
746  - some FreeBSD build fixes
747  - increased Vala dependency to 0.11.4 (required for dconf-editor fixes)
749 Changes in dconf 0.6
750 ====================
752  - Rewrite a lot of the GSettings backend to reduce GDBus abuse.  We use
753    our own worker thread now instead of trying to hijack GDBus's.
754  - disable gobject-introspection support for now
755  - drop support for GTK2 in dconf-editor
756  - Add a new torture-test case
757  - Increase dbus timeout to 2 minutes (in case the service is heavily loaded)
758  - Fix several memory leaks and other bugs
760 Changes in dconf 0.5.1
761 ======================
763  - Adjust to GDBus API changes
764  - Send correct object path in Notify on WriteMany
765  - Use printf() and exit() instead of g_error() to avoid too many crash
766    reports for now
767  - Require gobject-introspection 0.9.5
768  - Require vala 0.9.5
769  - Make dconf-editor optional
770  - Drop libgee requirement for dconf-editor
771  - Tweak shared library installation to make ldconfig happy
772  - Bump .gir version to dconf-1.0
773  - Fix introspection build with recent gobject-introspection
774  - Minor bug fixes
776 Changes in dconf 0.5
777 =====================
779  - Include a dconf-editor
780  - drop libtool
781  - allow compiling without gobject-introspection
782  - autotools/build fixups
783  - repair some broken use of tags
784  - many updates for glib API changes
785  - fix a crasher in the service
786  - prefer 'automake-1.11' if it is in the path
787  - add support for layering (ie: for system defaults)
788  - add support for multiple writers in one service
789  - add a shared memory status region to indicate if the gvdb is stale
790      this prevents dconf from having to reopen the file each time
791  - support keyfile-maintained system settings (via 'dconf update')
792  - port client library and commandline tool to vala
793  - client library no longer has unimplemented calls
794    (except for write_many_async, due to bugs in valac)
795  - gtk-doc is now complete for the client library
796  - install our own vapi
797  - support 'reset' in the GSettingsBackend
799 Changes in dconf 0.4
800 =====================
802  - fix crashes when the dconf database doesn't yet exist
803  - add some incomplete gtk-doc
804  - use new GVDB (note: dconf file format has incompatibly changed)
805  - implement GSettings sync()
806  - use string tags instead of sequence numbers since it was impossible
807    to have universally unique sequence numbers
808  - theoretical support for sharing dconf databases between machines with
809    different byte orders
810  - fix bug where first write was not successful when auto-starting
811    service
812  - FreeBSD build fixes
813  - client API cleanups
814  - GObject introspection support
815  - enable automake silent rules by default for tarball builds