Change LGPL-2.1+ to LGPL-2.1-or-later
[platform/upstream/glib.git] / NEWS
1 Overview of changes in GLib 2.78.4, 2024-01-21
2 ==============================================
3
4 * Bugs fixed:
5   - !3754 Backport !3751 “Fix generated RST anchors for methods, signals and
6     properties” to glib-2-78
7   - !3756 docs/reference: depend on a native gtk-doc
8   - !3759 Backport !3753 “gobject_gdb.py: Do not break bt on optimized build” to
9     glib-2-78
10   - !3766 Backport !3750 “gregex: clean up usage of _GRegex.jit_status” to
11     glib-2-78
12
13
14 Overview of changes in GLib 2.78.3, 2023-12-06
15 ==============================================
16
17 * Fix a crash-causing regression in xdgmime (#3191, work by Philip Withnall)
18
19 * Bugs fixed:
20   - #3191 Crash in __gio_xdg_cache_mime_type_subclass (Philip Withnall)
21   - !3747 Backport !3742 “xdgmime: Update to upstream commit c2c814d4051f232” to
22     glib-2-78
23
24
25 Overview of changes in GLib 2.78.2, 2023-12-05
26 ==============================================
27
28 * Bugs fixed:
29   - #3156 check for #ifdef PTRACE_O_EXITKILL will always fail since it isn't a
30     macro (Alessandro Bono)
31   - #3157 gsubprocess build-time test intermittently timing out since 2.78.1
32     (Simon McVittie)
33   - !3673 Backport !3669 “meson: Improve PTRACE_O_EXITKILL presence check” to
34     glib-2-78
35   - !3680 Backport !3677 “Make GQuark register intentional leaks” to glib-2-78
36   - !3681 Backport 3678 “gsignalgroup: Avoid function call with side effect in
37     g_return_* macro” to glib-2-78
38   - !3686 Backport !3685 “tests: Don't assume that sh optimizes simple commands
39     into exec” to glib-2-78
40   - !3718 Backport !3714 “xdgmime: Handle buggy type definitions with circular
41     inheritance” to glib-2-78
42   - !3727 Backport !3725 “collate: Don't segfault on bad input” to glib-2-78
43
44 * Translation updates:
45   - Ukrainian (Yuri Chornoivan)
46
47
48 Overview of changes in GLib 2.78.1, 2023-10-25
49 ==============================================
50
51 * Fix truncating files when `g_file_set_contents_full()` is called without
52   `G_FILE_SET_CONTENTS_CONSISTENT` (#3144, work by Philip Withnall)
53
54 * Fix `-Dlibelf=disabled` on Linux (#3120, work by Philip Withnall)
55
56 * Bugs fixed:
57   - #3105 NetworkManager 1.44.0 crashes repeatedly with glib 2.78.0 (Philip
58     Withnall)
59   - #3111 gsubprocess-testprog.c: build error with cygwin (sys/ptrace.h: No such
60     file or directory) (Philip Withnall)
61   - #3116 gio clears modification time in microseconds when setting with
62     `set_modification_date_time` (Lukáš Tyrychtr)
63   - #3120 Build of glib 2.78.0 ignores -Dlibelf=disabled (Philip Withnall)
64   - #3128 glib-2.78.0 fails at gio/tests/gsubprocess.p/gsubprocess.c.o
65   - #3130 Segfault when creating GIO GPropertyAction without properties
66   - #3144 `g_file_set_contents_full()` doesn't truncate the file (without
67     `G_FILE_SET_CONTENTS_CONSISTENT`) (Philip Withnall)
68   - !3576 guniprop.c: Avoid creating (temporarily) out-of-bounds pointers
69   - !3579 Fixes for integer cast warnings when targeting CHERI
70   - !3580 Fix test_find_program on FreeBSD
71   - !3589 gconstructor.h: Ensure [c|d]tor prototypes are present for MSVC (Chun-
72     wei Fan)
73   - !3594 Fix gutils-user-database test on macOS
74   - !3596 Add value annotation to G_TYPE_FUNDAMENTAL_MAX
75   - !3601 meson: Fix Windows build with PCRE2 as sibling subproject
76   - !3604 Backport !3589 “gconstructor.h: Ensure [c|d]tor prototypes are present
77     for MSVC” to glib-2-78
78   - !3608 Backport !3587 “glocalfileinfo: Preserve microseconds for
79     access/modify times” to glib-2-78
80   - !3609 Backport !3607 “Make sure the `GTask` is freed on a graceful
81     disconnect” to glib-2-78 (Pavel Sobolev)
82   - !3614 Backport !3582 “Buffer needs to be aligned correctly to receive
83     linux_dirent64.” to glib-2-78
84   - !3616 Backport !3590 “gtestutils.h: Fix warning with -Wsign-conversion
85     caused by g_assert_cmpint” to glib-2-78
86   - !3619 Backport !3617 “tests: Drop unnecessary include from gsubprocess-
87     testprog.c” to glib-2-78
88   - !3622 Backport !3621 “wakeup: do single read when using eventfd()” to
89     glib-2-78
90   - !3625 Backport !3624 “wakeup: Fix g_wakeup_acknowledge if signal comes in”
91     to glib-2-78
92   - !3644 Backport !3633 “Use g_task_return in task threads” to glib-2-78
93   - !3649 Backport !3648 “build: Fix -Dlibelf=disabled on Linux” to glib-2-78
94   - !3659 Backport !3650 “gfileutils: Add a missing ftruncate() call when
95     writing files” to glib-2-78
96
97 * Translation updates:
98   - Catalan (Jordi Mas i Hernandez)
99   - Chinese (China) (Boyuan Yang)
100   - Czech (Daniel Rusek)
101   - Esperanto (Kristjan SCHMIDT)
102   - French (Alexandre Franke)
103   - Georgian (Ekaterine Papava)
104   - Italian (Milo Casagrande)
105   - Latvian (Rūdolfs Mazurs)
106   - Portuguese (Brazil) (Rafael Fontenelle)
107   - Romanian (Daniel Șerbănescu)
108   - Russian (Artur S0)
109   - Slovenian (Matej Urbančič)
110   - Spanish (Daniel Mustieles)
111   - Turkish (Sabri Ünal)
112
113
114 Overview of changes in GLib 2.78.0, 2023-09-08
115 ==============================================
116
117 * Bugs fixed:
118   - #3095 Error handling of invalid GKeyFile string escape sequences changed in
119     GLib 2.77.3 (Philip Withnall)
120   - !3559 gdb: Workaround optimized out quark_seq_id
121   - !3561 meson: fix `gnetworking.h` install tag
122   - !3562 gthread: Annotate g_thread_exit() with G_NORETURN
123   - !3564 Fix gutils-user-database unit test
124
125 * Translation updates:
126   - Basque (Asier Sarasua Garmendia)
127   - Czech (Vojtěch Perník)
128   - Danish (Alan Mortensen)
129   - English (United Kingdom) (Bruce Cowan)
130   - Galician (Fran Dieguez)
131   - Georgian (Ekaterine Papava)
132   - German (Philipp Kiemle, Jürgen Benvenuti)
133   - Hebrew (Yosef Or Boczko)
134   - Hungarian (Balázs Úr)
135   - Indonesian (Andika Triwidada)
136   - Korean (Changwoo Ryu)
137   - Lithuanian (Aurimas Černius)
138   - Persian (Danial Behzadi)
139   - Polish (Piotr Drąg)
140   - Swedish (Anders Jonsson)
141   - Turkish (Emin Tufan Çetin)
142   - Ukrainian (Yuri Chornoivan)
143
144
145 Overview of changes in GLib 2.77.3, 2023-08-31
146 ==============================================
147
148 * Bugs fixed:
149   - #2575 GSettings schemas default value translations don't work when using
150     l10n=time (Michael Catanzaro)
151   - #3032 gdbus-codegen eats indentation in RST in XML comments (André)
152   - #3051 g_dbus_connection_export_menu_model() is not thread_safe
153   - #3061 Possible SEGV (null pointer deref) in distribute_method_call() (Philip
154     Withnall)
155   - #3083 `arg_data`  in GOptionEntry is not a list (Philip Withnall)
156   - #3090 Possible SEGV (null pointer deref) in _g_resource_file_new() (Philip
157     Withnall)
158   - !3459 glib-unix: Clean up use of O_NONBLOCK
159   - !3503 interim solution for macOS CI
160   - !3519 meson: warn if -mms-bitfields is necessary
161   - !3526 gnetworkaddress: use reentrant getservbyname_r() if available
162   - !3527 tests: Use g_assert_*() rather than g_assert() in tree tests
163   - !3528 gio-tool-info: Move translator comments so they’re visible
164   - !3530 gregex: set default max stack size for PCRE2 JIT compiler to 512KiB
165   - !3532 tests: Disable use of ptrace() in tests on BSD and macOS
166   - !3533 ci: Only run pages CI job on scheduled job runs
167   - !3534 ci: Further fix to pages CI job
168   - !3535 Use 'meson setup' to configure
169   - !3538 glib-unix: Accept O_CLOEXEC as well as FD_CLOEXEC in
170     g_unix_open_pipe()
171   - !3540 gio: Add gresource.dtd
172   - !3541 gtestutils: Mention not ignoring SIGCHLD in g_test_trap_subprocess()
173     docs
174   - !3542 [th/gchildwatch-fail-message] gmain: improve g_warning() for failure
175     in g_child_watch_dispatch()
176   - !3543 [th/use-localtime-r] use localtime_r() in g_log_writer_format_fields()
177   - !3545 gregex: if JIT stack limit is reached, fall back to interpretive
178     matching
179   - !3547 glib/gfileutils.c: use 64 bits for value in get_tmp_file()
180   - !3550 glib/tests/asyncqueue.c: skip test_async_queue_timed in 2038 or later
181   - !3553 Generate missing docs for out arguments
182   - !3555 gkeyfile: Fix overwriting of GError
183
184 * Translation updates:
185   - Basque (Asier Sarasua Garmendia)
186   - Kazakh (Baurzhan Muftakhidinov)
187   - Panjabi (Amn Alam)
188   - Persian (Danial Behzadi)
189   - Swedish (Anders Jonsson)
190
191
192 Overview of changes in GLib 2.77.2, 2023-08-12
193 ==============================================
194
195 * Bugs fixed:
196   - #3071 g_test_trap_subprocess and g_test_subprocess broken in 2.77.1 (Jonas
197     Ådahl)
198   - !3432 ci: Don’t run pipeline after merging a MR
199   - !3520 Fix typos
200   - !3521 GTree: Handle node counter overflow and return it as an unsigned value
201   - !3523 gspawn, gdataset: Restore nullable callback functions
202
203 * Translation updates:
204   - Chinese (China) (Luming Zh)
205   - Galician (Fran Dieguez)
206   - Indonesian (Kukuh Syafaat)
207   - Polish (Piotr Drąg)
208   - Portuguese (Hugo Carvalho)
209   - Russian (Artur So)
210   - Spanish (Daniel Mustieles)
211   - Turkish (Sabri Ünal)
212
213
214 Overview of changes in GLib 2.77.1, 2023-07-30
215 ==============================================
216
217 * Fix some regressions with `GKeyFile` comment handling (#3047, work by Gaël Bonithon)
218
219 * Improve handling of query and fragment components in `file:` URIs (#3050, work by Lukáš Tyrychtr)
220
221 * Bugs fixed:
222   - #473 systemtap probes for gvariant (Allison Karlitskaya)
223   - #623 g_type_query() doesn't work for dynamic types (Philip Withnall)
224   - #931 Optimise GPrivate by removing one malloc (Allison Karlitskaya)
225   - #2929 gio: Failing build due to race generating glib/gversionmacros.h (Eric
226     van Gyzen)
227   - #3045 2.77.0: gio pkg-config test has incorrect install location for gio-
228     querymodules & glib-compile-schemas (Philip Withnall)
229   - #3047 2.77.0 changes formatting of keyfiles (Gaël Bonithon)
230   - #3048 Forcing fallback for libintl does not work (Brendan Shanks)
231   - #3050 g_file_new_for_uri() handles query strings incorrectly ("?") (Lukáš
232     Tyrychtr)
233   - #3054 Fedora installer (anaconda) crashes early with glib 2.77.0 due to
234     "Attempt to unlock mutex that was not locked", when it runs `hwclock` and
235     changes the system time (Thomas Haller, Philip Withnall)
236   - !3287 Audit and fix incorrect use of (closure) in glib
237   - !3461 gfileinfo: add file_path methods for language bindings
238   - !3485 docs: Expand supported platforms documentation a little
239   - !3494 ci: Manually fetch submodules for style-check CI jobs
240   - !3495 gdbus-codegen: Error on invalid dbus types
241   - !3496 garray: Fix typo in doc comment of g_ptr_array_sort[_with_data]()
242   - !3499 strfuncs: Add missing ownership annotations for returned string
243     vectors
244   - !3504 Revert "build/gmodule-2.0.pc: Move compiler flags from Libs to Cflags"
245   - !3505 meson: help gobject-introspection locate source and build dirs
246   - !3509 build-sys: drop -mms-bitfields GCC flag
247   - !3510 testutils: Use prctl PR_SET_DUMPABLE to silence core dumps on Linux
248   - !3514 Revert "build-sys: drop -mms-bitfields GCC flag"
249   - !3515 gnetworkmonitor: Expand guidelines for metered data use
250   - !3517 tests: Add some more tests for g_type_query()
251   - !3518 m4macros: drop unused m4 files
252
253 * Translation updates:
254   - Georgian (Ekaterine Papava)
255   - Hebrew (Yosef Or Boczko)
256   - Hungarian (Balázs Úr)
257   - Persian (Danial Behzadi)
258   - Slovenian (Matej Urbančič)
259   - Ukrainian (Yuri Chornoivan)
260
261
262 Overview of changes in GLib 2.77.0, 2023-07-06
263 ==============================================
264
265 * Fix `GSocketClient` connecting to a proxy if the port is not specified
266   (#2832, work by Michael Catanzaro)
267
268 * Support using `copy_file_range()` in `g_file_copy()`, if available (#2863,
269   work by Philip Withnall)
270
271 * Improve handling of comments above groups in key files (#2927,
272   work by Gaël Bonithon)
273
274 * Re-upgrade missing attribute debugs to criticals in `GFileInfo` (#2951,
275   work by Philip Withnall)
276
277 * Do not redefine NULL on C++ (#2973, work by Marco Trevisan)
278
279 * Make `g_signal_handlers_block_matched()` work for `G_SIGNAL_MATCH_ID`
280   (#2980, work by Przemyslaw Gorszkowski)
281
282 * Fixes to support building with bionic libc better (#3008, work by Øyvind Kolås)
283
284 * Fix potential stack overflow in gspawn on macOS if open file limit is very
285   high (#3024, work by Dario Saccavino)
286
287 * Fix support for `--force-fallback-for libpcre` in meson configuration (#3025,
288   work by Marius Kintel)
289
290 * Generate specific marshallers in `gdbus-codegen` (#3028, work by Marco Trevisan)
291
292 * Fix build failure on Android with `statx()` support (#3039, work by Philip Withnall)
293
294 * Improve locking performance of `GSignal` (!2824, work by Marco Trevisan)
295
296 * Improve locking performance of `g_main_context_iterate()` (!3235, work by
297   Marco Trevisan)
298
299 * Add an inline definition of `g_free()` to automatically use `g_free_sized()`
300   if available (!3252, work by Marco Trevisan)
301
302 * Fix race with `waitpid()` and `GChildWatchSource` (!3353, work by Thomas Haller)
303
304 * Add `glib_valgrind_suppressions` variable to glib pkg-config file (!3361, work
305   by Marco Trevisan)
306
307 * Fix build on macOS SDK 10.11 (!3385, work by Peter Williams)
308
309 * Switch to using a separate thread pool and support timeouts in
310   `GThreadedResolver` (!3397, work by Philip Withnall)
311
312 * Track pending `GTask`s if `G_ENABLE_DEBUG` is defined (!3404, work by Philip Withnall)
313
314 * Support GSignal fast path and more marshallers in `gobject_gdb.py` (!3437,
315   work by Nelson Ben)
316
317 * Disable the macOS CI because it’s too unreliable — if you rely on GLib working
318   on macOS, please get in touch and do something to help! (!3463, decision taken
319   by Philip Withnall)
320
321 * Bugs fixed:
322   - #65 glib-mkenums: parse_trigraph() chokes on quoted commas (Emmanuel Fleury)
323   - #95 GMarkupParser documentation completion (David King)
324   - #98 g_get_current_dir SIGSEGV on long path (Philip Withnall)
325   - #104 Invocation of the interface "g_key_file_remove_comment" does not remove
326     comment in specific case (Gaël Bonithon)
327   - #116 Document UTF-8 behaviour and requirements throughout GLib (Philip
328     Withnall)
329   - #252 Disagreement between runtime and docs on whether interfaces are
330     "classed" (Philip Withnall)
331   - #322 gdbus-example-proxy-subclass.c is not complete. (Colin Walters)
332   - #799 GAppInfoMonitor documentation deficiencies (Philip Withnall)
333   - #1264 Use-after-free under
334     send_message_with_reply_cleanup():gdbusconnection.c:1792 (Philip Withnall)
335   - #2289 Document clearly that libgio is not guaranteed to be safe to use in
336     setuid processes (Philip Withnall)
337   - #2307 mainloop test leaks a GMainLoop object (Philip Withnall)
338   - #2829 "glib-compile-resources --dependency-file=DEPFILE" creates wrong set
339     of dependencies (Michael Catanzaro)
340   - #2832 GSocketClient cannot proxy connect unless default port is explicitly
341     specified in proxy URL (Michael Catanzaro)
342   - #2855 gio/tests/socket-client.c name is too confusing because it does not
343     use GSocketClient (Mike Salmela)
344   - #2861 Check for __kernel_long_t when enabling futex()
345   - #2863 Use copy_file_range() whenever possible in g_file_copy (Philip
346     Withnall)
347   - #2864 Documentation mentions non-existing function `g_value_free` (Philip
348     Withnall)
349   - #2879 Job #2498619 failed: gio/tests/socket.c:1654:test_reuse_tcp: assertion
350     failed (error == (g-io-error-quark, 33)): error is NULL (Philip Withnall)
351   - #2927 GKeyFile: Inconsistent behavior of comment writing above a group (Gaël
352     Bonithon)
353   - #2939 mkenums.py test fails on FreeBSD (Philip Withnall)
354   - #2951 Re-upgrade missing attribute debugs to criticals in GFileInfo (Philip
355     Withnall)
356   - #2952 Not clear that GPollableInputStream methods are undefined if
357     can_poll() returns FALSE (Philip Withnall)
358   - #2953 Missing docs for GOption (commandline parser) (Sam Thursfield)
359   - #2958 nbd server fails with glib 2.76.0
360   - #2960 GDebugControllerDBus wrong default in documentation (Philip Withnall)
361   - #2963 Probably wrong information regarding G_PLATFORM_WIN32 in
362     README.win32.md
363   - #2965 test_measure fails with coreutils 9.2 (Joan Bruguera)
364   - #2966 Multiple Definition Error When Generating gio/tests/test5.gresource
365     (Dan Yeaw)
366   - #2969 user docs: GLib.DateTime.format: broken highlighting (Philip Withnall)
367   - #2972 GtkFileLauncher: generated paths not recognized on Win32 (Luca Bacci)
368   - #2973 Build failed due to NULL pointer redefinition in C++ (Marco Trevisan
369     (Treviño))
370   - #2980 g_signal_handlers_block_matched does not work for G_SIGNAL_MATCH_ID
371     (Przemyslaw Gorszkowski)
372   - #2982 Build randomly fails with: 'gmodule/gmodule-visibility.h' file not
373     found (Marco Trevisan (Treviño))
374   - #2993 g_dbus_interface_skeleton_get_vtable misses transfer annotation and is
375     not introspectable
376   - #2997 g_assert_cmpuint() should display positive, not negative values (Eric
377     Blake)
378   - #3003 glib-compile-schemas failed on directory name with no Latin symbols
379     (Daniyar Tleulin)
380   - #3007 GOptionContext group headings missing colon at the end (Philip
381     Withnall)
382   - #3008 Adaptations for building with bionic libc under termux (Øyvind Kolås)
383   - #3020 Races in gio/tests/portal-support-snap* tests
384   - #3024 Possible stack overflow in gspawn on MacOS
385   - #3025 libpcre and libintl cannot be chosen to use the builtins
386   - #3027 action exporter fails in the presence of actions with maybe parameter
387     types (Matthias Clasen)
388   - #3028 gdbus-codegen should generate marshallers (Marco Trevisan (Treviño))
389   - #3030 Document GListModel requiring unique instance pointers from
390     GListModelInterface.get_item (Christian Hergert)
391   - #3034 futex based g_mutex_lock sometimes splatters errno with EAGAIN on
392     contended locks
393   - #3039 Build failure due to statx fields with NDK r25.c (Philip Withnall)
394   - #3040 gtester in custom_target() run against system rather than built
395     libglib during build
396   - !2824 gsignal: Reduce lock/unlock pairs and ensure we always work on valid
397     signal nodes
398   - !3146 Make GVariant/GHash opaque types compatible with CHERI
399   - !3235 gmain: Avoid some lock/unlock dance during g_main_context_iterate
400   - !3252 gmem: Add an inline definition of g_free() to automatically use
401     g_free_sized()
402   - !3289 Work around an UCRT issue with _wspawn() functions taking an envp
403     block
404   - !3306 gregistrysettingsbackend: Allow a different root key path
405   - !3308 doc: Workaround missing API index
406   - !3314 gmain: More explicitly document g_main_context_release() prereqs
407   - !3326 unicode: add tests for g_utf8_normalize() and empty strings
408   - !3333 build: Drop old .gitignore files from test directories
409   - !3335 meson: allow -Dlibelf=enabled without pkg-config
410   - !3337 gio-tool-info: Fix a duplicate attribute name in the UI
411   - !3340 meson: Move msvc_recommended_pragmas.h to a subdirectory
412   - !3341 g_utf8_normalize: don't read past the end of the buffer
413   - !3342 Add fuzzing harness for g_utf8_normalize()
414   - !3344 tools: Drop check-abis.sh script
415   - !3345 docs: Drop section about default branch renaming from README.md
416   - !3347 gsocket/inotify/gwakeup: Use SOCK_NONBLOCK and O_NONBLOCK to avoid
417     fcntl() syscalls where possible
418   - !3351 tests: Update Unicode normalisation tests from Unicode 15
419   - !3352 meson: Fix detection of a system-provided proxy-libintl
420   - !3353 [th/child-watch-waitpid] fix race with waitpid() and child watcher
421     sources
422   - !3356 build/gmodule-2.0.pc: Move compiler flags from Libs to Cflags
423   - !3357 Make clang++ happier when using G_STATIC_ASSERT
424   - !3361 meson: Add glib_valgrind_suppressions variable to glib pkg-config file
425   - !3365 gwin32: Avoid use of function call with side effect in g_return_*
426     macro
427   - !3366 Add init macros for refcounting types
428   - !3367 actiongroup: Add a compiler warning
429   - !3371 Explicitly mark size parameter as (in)
430   - !3377 gsignal: Clarify documentation for GSignalMatchType matching
431   - !3378 build: Post-release version bump
432   - !3381 gtimer: Avoid doing anything on g_usleep (0)
433   - !3382 gsocket: Explicitly mark size parameter as (in)
434   - !3383 add g_timeout_add_seconds_once
435   - !3384 Test g_signal_handlers_disconnect_matched for G_SIGNAL_MATCH_ID match
436   - !3385 gio: fix build on older macOS SDKs
437   - !3388 appmonitor: Skip the test under OSX
438   - !3389 glib/tests/[rec-]mutex: Allow each thread to work
439   - !3390 Fix error format in gio/gunixconnection.c (part 2)
440   - !3392 gvariant: Fix doc for g_variant_new_object_path
441   - !3393 Fix small issues in docs
442   - !3395 gtask: Document that g_task_run_in_thread() uses a shared resource
443   - !3396 glib-unix: Improve documentation for g_unix_fd_source_new()
444   - !3397 gthreadedresolver: Switch to using a separate thread pool and support
445     timeouts
446   - !3398 Avoid having g_futex_simple() inadvertently modify errno
447   - !3399 meson: wrap html documentation generation with gtk_doc option
448   - !3400 restore error messages in gunixconnection while maintaining older
449     compiler support
450   - !3401 ci: Disable the Coverity CI job
451   - !3404 gtask: Track pending GTasks if G_ENABLE_DEBUG is defined
452   - !3405 gthreadedresolver: Remove some incorrect assertions
453   - !3406 gthreadpool: Clarify that item_free_func is not normally called
454   - !3407 gregistrysettingsbackend: Remove translatable pspec nick/blurb
455   - !3408 docs: Update/Drop txt documents from docs directory
456   - !3409 docs: Don’t ignore gunixfdlist.h when building docs on Windows
457   - !3410 tests: Add descriptions to environment tests
458   - !3416 gtestutils: Fix section marker in documentation
459   - !3418 docs: Add lb90 as a Windows maintainer
460   - !3419 docs: Update various broken/redirected links and fix list formatting
461   - !3420 gtestutils: print timing information per test case in TAP output
462   - !3421 glib/tests/fileutils:fix asserts when running as root
463   - !3422 Check for linux/netlink.h buildability
464   - !3423 gstring: add g_string_new_take
465   - !3425 gwin32networkmonitor: Fix returning address of local variable
466   - !3426 gdataset, gobject: Use atomic compare and exchange full to set
467     pointers
468   - !3429 Rename GTK+ to GTK (mostly comments and documentation)
469   - !3430 gobject_gdb.py: fix regression caused by bfbe7127d5
470   - !3431 gfile: Ensure loff_t is defined on FreeBSD
471   - !3435 Ignore g_task_print_alive_task() when introspecting GIO
472   - !3437 gobject_gdb.py: support gsignal fastpath and detect more marshallers
473   - !3438 gio: Check cancellable iterating local file enumerator
474   - !3439 gstring: Add `Since` marker to `g_string_new_take()`
475   - !3440 gutf8: Add a g_utf8_truncate_middle() function
476   - !3441 Allow proper introspection of GTypeValueTable
477   - !3442 gio: Add g_file_new_build_filenamev
478   - !3448 meson: try iconv in libintl lookup
479   - !3449 docs: Move README.win32.md to the docs folder and update
480     CONTRIBUTING.md
481   - !3450 gactionmap: Add g_action_map_remove_action_entries()
482   - !3453 docs: Use the type name as the section name for GKeyFile
483   - !3455 gfileinfo: add (type filename) annotation to symlink_target functions
484   - !3456 gmain: Document that g_steal_fd() preserves errno
485   - !3458 gstdio: Improve documentation of some functions as async-signal safe
486   - !3462 tests: Reduce thread and iteration count on CI for /thread/rec-mutex3
487   - !3463 ci: Disable the macOS CI
488   - !3465 gobject_gdb.py: adapt to recent gsignal changes
489   - !3466 resolver: Add space in documentations
490   - !3470 pcre subproject fixes: Allow fallback & static build
491   - !3471 gio-tool-mount: Add option to show progress when unmounting
492   - !3472 tests: Fix an intermittent timing error with testing g_usleep(0)
493   - !3477 gdbus-codegen: Fix some minor typos in the documentation
494   - !3484 docs: Fix a typo in the backports policy
495   - !3486 docs: Document issue and merge request triaging and review guidelines
496   - !3488 codegen: Use g_signal_emit to emit signals
497   - !3489 guniprop: fix param direction in g_unichar_get_mirror_char(), for
498     introspection
499   - !3490 gobject/tests: Fix running on 32-bit Windows
500
501 * Translation updates:
502   - Bulgarian (Alexander Shopov)
503   - Chinese (China) (Boyuan Yang)
504   - English (United Kingdom) (Bruce Cowan)
505   - Galician (Fran Dieguez)
506   - Portuguese (Brazil) (Leônidas Araújo)
507   - Slovak (Dušan Kazik)
508   - Swedish (Anders Jonsson)
509   - Turkish (Sabri Ünal)
510
511
512 Overview of changes in GLib 2.76.1, 2023-03-22
513 ==============================================
514
515 * Fix build failures in third party C++ projects using `g_strdup()` via C++
516   qualified symbol lookup (#2936, work by Xi Ruoyao)
517
518 * Downgrade critical warnings from `GFileInfo` about missing attributes to debug
519   messages, as it was affecting too many apps; the critical warnings will be
520   reinstated early in the 2.78 cycle, so apps should continue to fix their
521   ambiguous use of `GFileInfo` API (#2948, work by Philip Withnall)
522
523 * Bugs fixed:
524   - #159 g_strstr_len() ignores haystack_len (Philip Withnall)
525   - #352 Docs for g_file_enumerator_next_files_async () are unclear about end
526     condition (Owen Taylor)
527   - #919 g_variant_dict_lookup is unclear about what happens on failure (Philip
528     Withnall)
529   - #2922 GWin32AppInfo: Missing NULL string check (Luca Bacci)
530   - #2936 Possible regression in 2.75.3 when used from C++ due to g_strdup
531     becoming a macro
532   - #2943 Meson fails TAP test when g_test_message is called before g_test_init
533     (Philip Withnall)
534   - #2948 gio list triggers 'GFileInfo created without …' warnings for trash,
535     smb and google-drive GVFS backends (Philip Withnall)
536   - !3241 inotify: Avoid empty root directory string
537   - !3315 tests: Change the time function used in the bookmark tests
538   - !3318 gmacros: Add GCC < 5 fallback for __always_inline__
539   - !3319 fuzzing: do not build tests if build_tests is false
540   - !3321 tests: only build messages-low-memory if RTLD_NEXT is available
541   - !3323 tests: Fix timeout sources in gdbus-auth and gapplication tests
542   - !3324 tests: Reduce number of iterations in queue test
543   - !3325 gdesktopappinfo: Add a missing NULL check
544   - !3330 tests: Check a few results in strfuncs tests
545   - !3338 gfileinfo: Temporarily downgrade missing attribute criticals to debugs
546
547 * Translation updates:
548   - French (Guillaume Bernard)
549   - Persian (Danial Behzadi)
550   - Turkish (Sabri Ünal)
551
552
553 Overview of changes in GLib 2.76.0, 2023-03-10
554 ==============================================
555
556 * Fix several regressions in handling `GFileInfo` attributes (#2932, #2934,
557   work by Ondrej Holy and Philip Withnall)
558
559 * Bugs fixed:
560   - #2932 ETAG_VALUE not set in GFileInfo when requested (Philip Withnall)
561   - #2934 File attributes are not set when their value is FALSE/NULL (Philip
562     Withnall)
563   - !3309 gfile: Fix file size detection when copying on btrfs
564   - !3310 glocalfileinfo: Mark the lost+found dir as hidden again
565   - !3311 glocalfileinfo: Ensure that is-backup is always set
566
567 * Translation updates:
568   - Bulgarian (Alexander Shopov)
569   - Catalan (Jordi Mas i Hernandez)
570   - Czech (Marek Černocký)
571   - German (Tim Sabsch)
572   - Korean (Changwoo Ryu)
573   - Polish (Piotr Drąg)
574   - Russian (Aleksandr Melman)
575   - Turkish (Sabri Ünal)
576
577
578 Overview of changes in GLib 2.75.4, 2023-03-03
579 ==============================================
580
581 * Emit a critical warning when acquiring the notification queue during GObject
582   finalization. A type's `finalize()` implementation should not call public
583   API that emits property notifications. (!3119, work by Marco Trevisan and Emmanuele Bassi)
584
585 * Bugs fixed:
586   - #2720 Fails to create resource.o with LLVM ld
587   - #2905 [MSVC] gstring.h: warning C4141: 'inline': used more than once
588   - #2907 g_file_info_get_name returns NULL in contradiction to docs (Philip
589     Withnall)
590   - #2913 `glib:glib / error` fails with Glibc-2.37 (Philip Withnall)
591   - #2915 Python tests fail on Windows when an environment variable contains
592     non-ASCII characters (Luca Bacci)
593   - #2916 gdbus: Never buffer reads during server authentication
594   - #2918 2.75.3: array-test fails on big-endian CPUs (Simon McVittie)
595   - #2919 2.75.3: g_string_append_len_inline: error: implicit conversion changes
596     signedness
597   - #2924 Use-after-free of GDBusMethodInvocation in GDBusInterfaceSkeleton
598     (Philip Withnall)
599   - !3168 GWin32AppInfo: Retrieve display name for UWP / Packaged apps
600   - !3273 Revert "Revert "tests: Temporarily disable socket test due to a kernel
601     bug""
602   - !3275 tests: Add a -Wsign-conversion test for gstring.h
603   - !3279 tests: Don’t run the GObject performance tests under valgrind
604   - !3280 ci: Use Meson 1.0.0 on Windows and macOS CI builds
605   - !3281 tests: Remove custom printerr logging from live-g-file
606   - !3282 spawn-test: Use an absolute path to the system sort.exe on Windows
607   - !3283 Make sure new file descriptors have close-on-exec flag set on them in
608     a race-free way
609   - !3284 Allow passing a `NULL` item to `g_list_store_find_with_equal_func()`
610   - !3288 spawn-test: Fix running on non-English Windows
611   - !3290 g_type_name: Fix return annotation
612   - !3292 Close-on-exec flag few missed places
613   - !3294 gio/tests/cxx.cpp: fix missing sentinel for musl
614   - !3295 tests: Add some missing g_thread_join() calls to onceinit test
615   - !3296 gdbusconnection: Explicitly destroy an idle source on cleanup
616   - !3299 Update the NEWS file
617   - !3301 GObject: Add nullable annotations
618   - !3304 tests: Skip assert-msg-test.py if gdb fails
619   - !3305 Fix a memory leak in g_strerror
620
621 * Translation updates:
622   - Basque (Asier Sarasua Garmendia)
623   - Danish (Alan Mortensen)
624   - Galician (Fran Dieguez)
625   - Georgian (Ekaterine Papava)
626   - German (Tim Sabsch)
627   - Hebrew (Yaron Shahrabani)
628   - Hungarian (Balázs Úr)
629   - Indonesian (Kukuh Syafaat)
630   - Lithuanian (Aurimas Černius)
631   - Portuguese (Hugo Carvalho)
632   - Serbian (Марко Костић)
633   - Slovenian (Matej Urbančič)
634   - Spanish (Daniel)
635   - Swedish (Anders Jonsson)
636   - Turkish (Sabri Ünal, Emin Tufan Çetin)
637   - Ukrainian (Yuri Chornoivan)
638
639
640 Overview of changes in GLib 2.75.3, 2023-02-13
641 ==============================================
642
643 * Drop the implementation of GSlice, and make the API use the system `malloc()`
644   internally (#1079) (based on investigation work by multiple people)
645
646 * Use a thread-spawning thread to keep thread scheduler settings consistent;
647   fixes GThreadPool critical warnings due to failing to set scheduler settings
648   in some situations (#2769, work by Sebastian Dröge and others)
649
650 * GIR annotation improvements for multiple APIs (#2827, #2894, #2895, #2897,
651   !3198, !3234, !3236, !3238, !3245, !3266, work by multiple people)
652
653 * Optimise printing of nested maybes in `g_variant_print()` (#2862, work by Philip Withnall)
654
655 * Use `tap` test protocol within GLib, and support TAP 13/14 (!3140, work by Marco Trevisan)
656
657 * Fix a regression in glib-compile-schemas 2.75.2 causing schemas and override
658   files to be sorted incorrectly (!3188, spotted by John Wudrick, work by Philip Withnall)
659
660 * Support per-desktop overrides in `GSettingsAction` (!3193, work by Philip Withnall)
661
662 * Various optimisations to `GString` (!3199, work by Matthias Clasen and Marco Trevisan)
663
664 * Reduce allocations in message printing functions if there’s nothing to format (!3205, work by Marco Trevisan)
665
666 * Add inline version of `g_strdup()`, allowing the compiler to do `NULL` folding
667   and constant folding on `strlen()` calls (!3209, work by Marco Trevisan)
668
669 * Add a `GPathBuf` API for building and manipulating file paths (!3216, work by Emmanuele Bassi)
670
671 * Add `g_string_free_and_steal()` and use it to warn on unused results from
672   `g_string_free (_, FALSE)` (!3219, !3226, work by Matthias Clasen and Sergey Bugaev)
673
674 * Add `g_free_sized()` and `g_aligned_free_sized()` to mirror the upcoming
675   `free_sized()` function in C23; use these if porting away from `g_slice_free()`
676   (!3231, work by Philip Withnall)
677
678 * Fix underspecified dependencies on generated headers in `meson.build`, which
679   should reduce spurious build failures (!3260, work by Eli Schwartz)
680
681 * Bugs fixed:
682   - #1079 Investigate dropping or deprecating the GSlice allocator (Natanael
683     Copa)
684   - #2769 GThreadPool crashes with: Failed to set scheduler settings: Operation
685     not permitted (Sebastian Dröge)
686   - #2827 Callback parameters get wrong attributes in gir files
687   - #2862 fuzz_variant_text: Timeout in fuzz_variant_text when printing nested
688     maybes
689   - #2876 g_find_program_for_path is public ABI but not declared in a public
690     header (Philip Withnall)
691   - #2877 glib/tests/array-
692     test.c:1828:pointer_array_new_from_null_terminated_array_from_gstrv:
693     'g_ptr_array_index (gparray, 4)' should be NULL (Simon McVittie)
694   - #2881 Invalid read of size 4 in get_matched_substring_number (Philip
695     Withnall)
696   - #2883 g_file_set_contents fails on mingw64 with "no error" if file size >
697     INT_MAX (CCode)
698   - #2890 g_string_append() macro evaluates arguments multiple times (Marco
699     Trevisan (Treviño))
700   - #2891 Memory leak in "gio/win32/gwin32fsmonitorutils.c" (Philip Withnall)
701   - #2892 Memory leak in "gio/gwin32mount.c" (Philip Withnall)
702   - #2894 g_value_take_string: wrong ownership transfer info in GIR (Lukáš
703     Tyrychtr)
704   - #2895 g_io_channel_get_line_term: wrong GIR (Bart Jacobs)
705   - #2897 g_time_zone_adjust_time: GIR says gint64 but it's gint64* (Bart
706     Jacobs)
707   - #2898 g_print replaces non-ascii characters with question mark
708   - #2900 msys2-clang64: g_spawn_[a]sync() fails in clang builds when envp is
709     not NULL
710   - #2901 g_app_info_get_executable doesn't work well on latest Ubuntu with
711     Firefox installed as snap
712   - #2908 Crash when creating GtkTextView with G_DEBUG=gc-friendly (Marco
713     Trevisan (Treviño))
714   - #2914 Should GPathBuf split on both directions of slashes on Windows? (Simon
715     McVittie)
716   - GNOME/gimp#9094 devel: None of the extensions and plugins load in Clang
717     builds
718   - !3140 meson: Use 'tap' test protocol and support TAP 13/14
719   - !3184 build: Don't overwrite build variables
720   - !3185 Include gobject-visibility.h in glib-types.h
721   - !3187 tests/desktop-app-info: fix stack-use-after-scope
722   - !3188 glib-compile-schemas: Fix typo in comparison function
723   - !3189 docs: Fix return type in cmpint
724   - !3191 tests: Improve error message if setting max processes to 1 fails
725   - !3192 garray: Avoid calling memcpy with no items
726   - !3193 gsettings: Support per-desktop overrides in GSettingsAction
727   - !3196 gio/tests/file.c:Fix expectations when running as root
728   - !3198 Fix a couple of `closure` annotations
729   - !3199 Some GString optimizations
730   - !3203 GTask: Document issues
731   - !3205 gmessages: Avoid strings duplication if there's nothing to format
732   - !3206 tests: Add a test print to spawn-test on Windows
733   - !3207 tests: Fix a minor leak in the GString tests
734   - !3209 gstrfuncs: Add inline version of g_strdup()
735   - !3216 Add GPathBuf
736   - !3219 Add g_string_free_and_steal
737   - !3221 TAP: some further cleanups
738   - !3223 Add a few suppressions to glib.supp and fix a minor bug in
739     gapplication test
740   - !3224 gtestutils: Fix a potential NULL pointer dereference in g_test_log()
741   - !3225 tests: Temporarily disable socket test due to a kernel bug
742   - !3226 Make g_string_free (_, FALSE) warn on unused result
743   - !3231 gmem: Add g_free_sized() and g_aligned_free_sized()
744   - !3234 GMainContext: Use nullable context in docs (and in some missing code)
745   - !3236 g_regex_escape_string: bad GIR: utf8[] -> utf8
746   - !3238 Fix GIR: gunichar -> gunichar[]
747   - !3242 GAtomicArray: Ensure metadata does not misalign the payload
748   - !3243 Allow using msort_r CHERI-enabled architectures
749   - !3245 gio: converter: Forbid null out arguments
750   - !3246 tests: Fix a few minor leaks in gdbus-example-peer
751   - !3247 tests: Fix a minor leak in the cxx string append tests
752   - !3248 timezone: Fix a compiler warning
753   - !3249 gstring: Avoid warnings from inline functions
754   - !3250 ci: Temporarily only run the FreeBSD 13 CI on a schedule
755   - !3251 Revert "gtype: Use the system allocator on UNIX" and use g_free_sized
756     instead
757   - !3256 Remove n_preallocs field from InstanceData
758   - !3258 Revert "ci: Temporarily only run the FreeBSD 13 CI on a schedule"
759   - !3259 gmessages: use g_atomic_pointer to access handlers for
760     g_print()/g_printerr()
761   - !3260 fix underspecified dependencies on generated headers
762   - !3262 Add a (temporary) assertion that sizeof(gsize) == sizeof(guintptr)
763   - !3263 Revert "glib-init: Add more static assertions for gintptr, guintptr"
764   - !3265 fileutils: Make some sample code detect symlinks as intended
765   - !3266 Avoid some warnings from GObject-Introspection
766   - !3268 po: Add missing header file to POTFILES.in
767
768 * Translation updates:
769   - Belarusian (Vasil Pupkin)
770   - Galician (Fran Dieguez)
771   - Georgian (Ekaterine Papava)
772   - Hebrew (Yosef Or Boczko)
773   - Indonesian (Kukuh Syafaat)
774   - Portuguese (Hugo Carvalho)
775   - Russian (Aleksandr Melman)
776   - Turkish (Sabri Ünal, Emin Tufan Çetin)
777   - Ukrainian (Yuri Chornoivan)
778
779
780 Overview of changes in GLib 2.75.2, 2023-01-06
781 ==============================================
782
783 * Add `g_ptr_array_sort_values()` and `g_ptr_array_sort_values_with_data()` APIs
784   (work by Marco Trevisan) (!3155)
785
786 * Some fixes for activation of UWP apps on Windows (work by Luca Bacci) (#2843, !3167)
787
788 * Support Markdown output from `gdbus-codegen` (work by Guido Günther) (!3171)
789
790 * Bugs fixed:
791   - #2871 Leak in g_find_program_for_path() (Philip Withnall)
792   - #2843 gtk_show_uri can't open browser on MSYS2 on Windows (Luca Bacci)
793   - #2857 Grammar issue in documentation glib stpcpy (Peter Bloomfield)
794   - !3155 garray: Add g_ptr_array_sort_values[_with_data]() wrappers
795   - !3162 gobject: Add a missing NULL check for the return from
796     lookup_type_node_I()
797   - !3167 GWin32AppInfo: Fixes for UWP (packaged) apps activation
798   - !3169 GLocalFile: Delete redundant error saving statement
799   - !3170 GLocalFile: add error handle for trash info file writing
800   - !3171 codegen: Support markdown suitable for gi-docgen
801   - !3173 gdesktopappinfo: Drop an unnecessary NULL check
802   - !3174 garray: Add some additional length assertions
803   - !3175 codegen: Check parameter before calling its interface method
804   - !3177 Various fixes for how we interact with subproject dependencies
805   - !3178 glocalfileinfo: Don't reset mtime tv_sec when setting tv_usec
806   - !3181 INSTALL.md,README.win32.md: Actualize links
807
808 * Translation updates:
809   - Turkish (Sabri Ünal)
810
811
812 Overview of changes in GLib 2.75.1, 2022-12-21
813 ==============================================
814
815 * Add new `GFileInfo` properties for large thumbnails (work by Matthias Clasen) (#621)
816
817 * Fix missing input validation in `GDBusMenuModel` (work by Lars Uebernickel) (#861)
818
819 * Change default `g_desktop_app_info_search()` algorithm to include substring
820   matches (work by Alynx Zhou) (#1152)
821
822 * Various GVariant security fixes when handling untrusted data (work by
823   William Manley, Philip Withnall, Simon McVittie) (#2121, #2540, #2794, #2797,
824   #2839, #2840, #2841)
825
826 * Add support for XDG Activation protocol in `GAppLaunchContext` (work by
827   Ilya Fedin) (#2709)
828
829 * Return `application/x-zerosize` rather than `text/plain` as content type for
830   empty files (work by Philip Withnall) (#2777)
831
832 * Deprecate `-Druntime_libdir` configure option because it was unused (work by
833   Philip Withnall) (#2786)
834
835 * Check for snap plugs when accessing portals (work by Robert Ancell) (!3020)
836
837 * Add `GArray` and `GPtrArray` constructors to take or copy C arrays (work by
838   Marco Trevisan) (!3128)
839
840 * Add `GHashTable` methods to get and steal hash table keys and values as
841   `GPtrArray`s (work by Marco Trevisan) (!3130)
842
843 * Change the default D-Bus system bus socket address from
844   `/var/run/dbus/system_bus_socket` to `/run/dbus/system_bus_socket`, in line
845   with changes in dbus.git. This can now be overridden by passing
846   `-Druntime_dir=/some/path` at configure time — the default is `/run`, which
847   should work for all users except distributions where `/run` is not equivalent
848   to `/var/run`. OS distributors should check that this configured path matches
849   the runtime directory configured for their D-Bus daemon. (work by
850   Roman Stratiienko, Philip Withnall) (!3095, !3101)
851
852 * Bugs fixed:
853   - #621 file-info: catch thumbnail files in large directory as well (Matthias
854     Clasen)
855   - #861 insufficient input validation in GDBusMenuModel (Lars Uebernickel)
856   - #1152 Application search algorithm (g_desktop_app_info_search()) should use
857     fuzzy matching (Alynx Zhou)
858   - #1904 gaction: remote triggered crashes
859   - #2121 GVariant deserialisation does not match spec for non-normal data
860     (Philip Withnall, William Manley)
861   - #2540 Parsing serialized GVariants can blow up run-time and memory (Philip
862     Withnall)
863   - #2709 Add support for XDG_ACTIVATION_TOKEN/XDG Activation protocol in
864     GAppLaunchContext (Ilya Fedin)
865   - #2777 Return application/x-zerosize for empty file content types rather than
866     text/plain (Philip Withnall)
867   - #2786 runtime_libdir and iconv options documented and exposed but not
868     effective? (Philip Withnall)
869   - #2793 Introspection annotations for g_clear_pointer() and g_clear_fd() might
870     not be correct (Philip Withnall)
871   - #2794 GVariant offset table entry size is not checked in is_normal() (Philip
872     Withnall)
873   - #2797 g_variant_byteswap() can take a long time with some non-normal inputs
874     (Philip Withnall)
875   - #2809 g_str_equal switched to stricter API (typing) (Philip Withnall)
876   - #2811 Internal inotify symbols exposed in 2.75.0 ABI (Simon McVittie)
877   - #2812 CI failing on macOS: -Werror,-Wmissing-field-initializers (Simon
878     McVittie)
879   - #2820 g_str_equal: New macro version breaks compilation in C++ projects
880     (Philip Withnall)
881   - #2821 GObject webpage documentation is mis-formatted during generation
882     (Emmanuele Bassi)
883   - #2835 gio/gapplication test fails with test_dbus_activate: assertion failed
884     (n_activations == 2): (1 == 2) (Philip Withnall)
885   - #2836 Conditional jump on uninitialised value in spawn-singlethread (Philip
886     Withnall)
887   - #2837 Assertion failure in contexts test (Philip Withnall)
888   - #2839 [bisected] GVariant test regression on big-endian architectures (Simon
889     McVittie)
890   - #2840 fuzz_variant_binary_byteswap: Heap-buffer-overflow in
891     g_variant_serialised_get_child (Philip Withnall)
892   - #2841 fuzz_variant_text: Timeout in fuzz_variant_text (Philip Withnall)
893   - #2845 MSVC: Build failure with g_array_append_val() in C++ mode
894   - #2846 Follow-up from "garray: Add support adding literal values" — doesn’t
895     work with clang (Emmanuele Bassi)
896   - #2852 alpine/musl: catching signals from a subprocess triggers
897     GLib:ERROR:../glib/gmain.c:5569:siginfo_t_to_wait_status: code should not be
898     reached (Philip Withnall)
899   - !385 gtask: Warn if a GTask is finalised without returning
900   - !2479 glib/spawn: check user source_fds doesn't contain private fds
901   - !2728 gtype: Speed up type checking for final types
902   - !2764 GCancellable: Ensure it is always cancelled on connect callback
903   - !2886 gtestutils: Use $G_TEST_TMPDIR as temporary directory when defined
904   - !2895 Expose C and C++ standard versions and add macros to check them
905   - !2917 meson: Use gnome.mkenum_simple()
906   - !2992 glib/tests: Add test to check that we abort on low-memory
907   - !3020 portal: Check for snap plugs before accessing portals
908   - !3042 gdesktopappinfo: Fail early if trying to launch an invalid executable
909     and always use desktop Path and context $PATH
910   - !3064 ci: Exclude copylibs and fuzz tests from code coverage
911   - !3065 tests: Add some trivial tests for g_thread_init()
912   - !3067 tests/meson.build: do not use can_run_host_binaries()
913   - !3068 gio: Fix missing visibility header dependency
914   - !3070 type-flags test: Force G_ENABLE_DIAGNOSTIC=1 to be set
915   - !3073 Misc docs fixes and test improvements in GAction and
916     GNotificationBackend
917   - !3075 gmodule: Fix redeclaration of symbol
918   - !3076 gspawn: Ignore invalid FDs when using safe_fdwalk()
919   - !3077 build: Bump Meson dependency to 0.64.0
920   - !3078 build: Move -Wnonnull flag to meson.build
921   - !3079 giochannel: Clarify assertions in g_io_channel_write_chars()
922   - !3080 A few test improvements for scan-build
923   - !3081 gthreadpool: Mark an explicit leak as to be ignored
924   - !3083 tests: Remove a manual timeout from desktop-app-info test
925   - !3086 gmacros: Use C++ namespaces attribute specifier sequences for msvc
926   - !3088 tests: Add G_TEST_OPTION_ISOLATE_DIRS to almost all gdbus tests
927   - !3089 Revert dependency bump to use Meson 0.64
928   - !3091 Fix doc typo in g_dbus_connection_signal_subscribe
929   - !3092 Fix gmodule/COPYING symlink path
930   - !3095 gdbusaddress: Form default system dbus path using meson definitions
931   - !3097 garray: Add assertions to help static analysis
932   - !3098 gobject: Use compare and exchange full to re-read old ref value
933   - !3099 gsocketcontrolmessage: add nullable annotation to deserialize return
934   - !3100 gsimpleproxyresolver: Make explicit that a port is needed for
935     HTTP/HTTPS
936   - !3101 gdbusaddress: Use runstatedir rather than localstatedir
937   - !3103 gclosure: Documentation improvements around floating closures
938   - !3105 gsocket: use socklen_t in more places to fix build under cygwin
939   - !3106 gobject: Check for valid ref counting via g_return_if_fail
940   - !3107 gdesktopappinfo: Group search results by both categories and match
941     types
942   - !3108 gwakeuptest: Do not rely on alarm() to stop tests on timeout
943   - !3112 docs: Remove a stray > in the glib-mkenums man page
944   - !3115 ci: Don’t fail if testlog-unstable_tests.junit.xml doesn’t exist on
945     MSVC
946   - !3116 docs: Remove HACKING
947   - !3117 tests: fix assert-msg-test with custom gdbinit
948   - !3119 Improve notification queue warning
949   - !3120 glib/gthread-posix: Conditionally use `futex` and/or `futex_time64`
950     syscalls...
951   - !3124 More gobject performance tests
952   - !3127 docs: Update SECURITY to stop mentioning a deprecated mailing list
953   - !3128 garray: Add more G(Ptr)Array constructors to take or copy C arrays
954   - !3129 garray: Add support adding literal values
955   - !3130 ghash: Add APIs to get (and steal) hash table keys and values as
956     GPtrArray
957   - !3132 gtestutils: Check for failure to setenv() and return
958   - !3139 gtype: avoid "-Wcast-align" warning with optimized
959     G_TYPE_CHECK_INSTANCE_CAST()
960   - !3141 tests/slice-concurrent.c: avoid using rand() from multiple threads
961   - !3142 tests/gdbus-method-invocation: Fix missing g_variant_new() argument
962   - !3144 gspawn.c: prefer close_range() on FreeBSD if available
963   - !3145 tests/gvariant.c: ensure posix_memalign alignment argument is correct
964   - !3147 ci: Temporarily only run the FreeBSD 13 CI on a schedule
965   - !3148 ghash: Use unsigned types for number of nodes and occupied ones
966   - !3151 Revert "ci: Temporarily only run the FreeBSD 13 CI on a schedule"
967   - !3152 tests: Fix stall/deadlock in slice-concurrent on macOS CI
968   - !3156 gobject: Some GValue setting code cleanups
969   - !3157 gthread-posix: need to #include <errno.h>
970   - !3159 gmenuexporter: Fix warning of unused n_items when building with
971     G_DISABLE_ASSERT
972
973 * Translation updates:
974   - Interlingue (Olga Smirnova)
975   - Serbian (Мирослав Николић)
976
977
978 Overview of changes in GLib 2.75.0, 2022-11-10
979 ==============================================
980
981 * Update Unicode data to version 15 (work by Marco Trevisan) (#2735)
982
983 * Fix various build failures in different situations
984   (work by Kjell Ahlstedt, Marco Trevisan (Treviño)) (#2740, #2758, #2759, #2766)
985
986 * Fix over-eager deprecated property warnings for construct properties
987   (work by Simon McVittie) (#2748)
988
989 * Fix a crash calling `g_param_value_is_valid()` on a `GParamSpecParam` (work by
990   Emmanuele Bassi) (#2770)
991
992 * Fix floating `GVariant` leaks with GObject properties (work by Matthias Clasen) (#2774)
993
994 * Add inline optimised version of `g_str_equal()` (work by Xavier Claessens) (#2775)
995
996 * Add inline optimised version of `g_str_has_{prefix,suffix}()` (work by Emmanuel Fleury) (#24)
997
998 * Fix `GVariant` type depths checks on text format variants (work by Philip Withnall) (#2782)
999
1000 * Fix regression with int64 and double hashing functions on big-endian architectures
1001   (work by Simon McVittie) (#2787)
1002
1003 * Build the API documentation only when building GLib as a shared library (work
1004   by Emmanuele Bassi) (!2896)
1005
1006 * Ignore weird `/etc/localtime` configurations generated by toolbx (work by Ray Strode) (!2973)
1007
1008 * Avoid `EINTR` races when closing FDs in `g_spawn_*()` (work by Thomas Haller) (!2988)
1009
1010 * Deprecate `G_MODULE_SUFFIX` and improve `g_module_open()` to automatically find
1011   modules better on different platforms (work by Nirbheek Chauhan) (#520, #1413)
1012
1013 * Soft-deprecate sized integer types in favour of C99 `stdint.h` types (work by Simon McVittie) (#1484)
1014
1015 * Correctly mark sshfs file systems as `G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE` (work by Philip Withnall) (#2726)
1016
1017 * Add `g_set_string()` function for setting strings simply (work by Christian Hergert) (#2747)
1018
1019 * Add support for `xdg-terminal-exec` for handling desktop applications using
1020   `Terminal=true` (work by Max Gautier) (!2839)
1021
1022 * Change various configure-time defaults for cast checks and related
1023   (work by Michael Catanzaro) (!2850, !2894)
1024
1025 * Set Meson’s `install_tag` on installed files (work by Xavier Claessens) (!2905)
1026
1027 * Add `G_TYPE_FLAG_DEPRECATED` for tagging deprecated `GType`s/`GObject`s
1028   (work by Matthias Clasen) (!2993)
1029
1030 * Add `g_clear_fd()` and `g_autofd` for automatically closing FDs when exiting a
1031   scope (work by Simon McVittie) (!3007)
1032
1033 * Convert GVariant Specification to reStructuredText and host it at
1034   https://developer.gnome.org/documentation/specifications/gvariant-specification-1.0.html
1035   (work by Philip Withnall) (!3044)
1036
1037 * Bugs fixed:
1038   - #16 gspawn.c file descriptor handling (Emmanuel Fleury, Ray Strode)
1039   - #19 Workaround dlopen(NULL, 0) brokenness
1040   - #24 inlined g_str_has optimisations (Emmanuel Fleury)
1041   - #333 Make GLib valgrind friendly (Marco Trevisan (Treviño))
1042   - #520 g_module_build_path builds incorrect paths on macOS and Windows (MSVC)
1043     (Nirbheek Chauhan)
1044   - #1211 macros: generate uniq variable name in _G_BOOLEAN_EXPR()/G_LIKELY()
1045     (Thomas Haller)
1046   - #1413 Meson build defines G_MODULE_SUFFIX to `dylib` on macOS but autotools
1047     uses `so` (Nirbheek Chauhan)
1048   - #1484 Deprecate sized integer types in favour of C99 stdint.h (Simon
1049     McVittie)
1050   - #2622 GThreadedResolver incorrectly expands domain names in SRV records
1051     (Philip Withnall)
1052   - #2726 G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE not set for sshfs (Philip Withnall)
1053   - #2735 Update unicode data to version 15
1054   - #2740 gio-launch-desktop: clang compiler can't compile with commit 813ce7f0b
1055     (Kjell Ahlstedt)
1056   - #2742 glib:gio / file test fails after update to 2.73.3. (Marco Trevisan
1057     (Treviño))
1058   - #2747 Add g_set_string for simplified and correct property setters
1059     (Christian Hergert)
1060   - #2748 construct properties always trigger the deprecated property warning
1061     (Simon McVittie)
1062   - #2753 Infinite recursion on ENOMEM in g_vasprintf() (Philip Withnall)
1063   - #2754 `glib / spawn-test` fails with non-English locale (Philip Withnall)
1064   - #2758 gmessages.c compile failure with -Werror=unused-result (Marco Trevisan
1065     (Treviño))
1066   - #2759 gosxcontenttype.m compile failure with -Werror=declaration-after-
1067     statement (Marco Trevisan (Treviño))
1068   - #2766 glocalfileinfo.c compile failure when utimensat() not available (=
1069     MacOS)
1070   - #2767 GFileInfo fails to find x-large and xx-large thumbnail paths (Marco
1071     Trevisan (Treviño))
1072   - #2770 Random crashes with GLib 2.74.0 (Emmanuele Bassi)
1073   - #2774 Floating GVariant leaks since 2.73.1 in g_object_set() (Matthias
1074     Clasen)
1075   - #2775 Add an inline version of g_str_equal (Xavier Claessens)
1076   - #2782 GVariant type depth not checked on typedecls in text format variants
1077     (Philip Withnall)
1078   - #2783 Enable no-interrupt close() on macOS
1079   - #2784 Remove workaround to avoid false-positive -Werror=nonnull in
1080     g_str_has_*() macro versions
1081   - #2785 Invalid FD assertion in g_close() triggers test failures on macOS (Ray
1082     Strode)
1083   - #2787 new int64, double hash functions always hash to 0 on big-endian (Simon
1084     McVittie)
1085   - #2791 function name typo in comment explaining the private struct memory
1086     layout (gtype.c) (sunce)
1087   - #2795 [regression] gnome-keyring-daemon uses 100% CPU with glib-2.74.1 (Ray
1088     Strode)
1089   - #2796 _g_clear_fd_ignore_error() breaks with GLIB_VERSION_MAX_ALLOWED (Simon
1090     McVittie)
1091   - #2798 msys2-clang64 fails to compile cxx tests on versions < 11 (Marco
1092     Trevisan (Treviño))
1093   - #2799 Wrong GTask tag on error return path in
1094     g_proxy_resolver_lookup_async() (Michael Catanzaro)
1095   - #2800 fileutils test regression on vs2017-x64 builds:
1096     appcrt\lowio\commit.cpp(19) : Assertion failed: (_osfile(fh) & FOPEN)
1097   - #2802 Remove G_OS_DARWIN in favour of platform-specific defines (Philip
1098     Withnall)
1099   - #2805 g_task_set_name() should not use g_task_set_static_name() unless
1100     permitted by GLIB_VERSION_MAX_ALLOWED (Michael Catanzaro)
1101   - #2807 ../glib/gstrfuncs.h:186:41: error: argument 1 null where non-null
1102     expected [-Werror=nonnull] (Ray Strode)
1103   - !2799 Use the system allocator on UNIX when creating GTypeInstances
1104   - !2839 Add support for xdg-terminal-exec for handling desktop applications
1105     using 'Terminal=true'
1106   - !2848 giomodule: Automatically detect modules on macOS
1107   - !2850 Automatically disable cast checks when building with optimization
1108   - !2852 Replace most GObject warnings with criticals
1109   - !2857 glib-mkenums: Specify output encoding as UTF-8 explicitly for non-
1110     English locale
1111   - !2864 gatomic: fix the atomic compare_and_exchange macros on older C++
1112     standard versions
1113   - !2866 tests: skip g-file-info test if atime unsupported
1114   - !2867 tests: skip shared libs if default_library=static
1115   - !2869 task: Don't overwrite source names
1116   - !2880 gbacktrace: Don't truncate gdb output
1117   - !2884 tests/desktop-app-info: Add tests to verify if launching with terminal
1118     works
1119   - !2885 tests/desktop-app-info: Use unique temporary paths for action files
1120   - !2889 Run tests with G_ENABLE_DIAGNOSTIC=1
1121   - !2892 tests/unix-streams: Free the cancelled error on cancelled cancellable
1122   - !2894 Disable cast checks in plain builds
1123   - !2896 Build API docs only with shared libraries
1124   - !2899 gio: make g_task_get_cancellable return value (nullable)
1125   - !2901 glocalfileoutputstream: Do not double-close an fd on unlink error
1126   - !2903 docs: Fix markup error in code blocks for "DEPRECATED" macros
1127   - !2904 tests: Only run g_error_new_valist() programmer error test on glibc
1128   - !2905 meson: Set install_tag remaining installed files
1129   - !2907 gthread-win32: Fix conversion error from pointer to integer
1130   - !2911 glocalfileinfo: In set_mtime_atime(), don't use utimensat() if it's
1131     not available
1132   - !2913 gregex: Use pcre2 error messages if we don't provide a specific one
1133   - !2915 Consider the GLogField.length of "MESSAGE"/"GLIB_DOMAIN" fields in
1134     g_log_writer_format_fields()
1135   - !2916 Update version in the docs to 2.74.1 for the fixed handling of...
1136   - !2920 gregex: Allow G_REGEX_JAVASCRIPT_COMPAT in compile mask
1137   - !2922 ci: Conform to Python's coding style
1138   - !2924 Optimize the implementation of `g_double_hash`
1139   - !2928 build: Let Meson figure out Python installation
1140   - !2931 gdatetime: add missing g_return_() check in g_date_time_format_iso8601
1141   - !2933 Fix style warning in gvariant.c
1142   - !2936 Fix symbol visibility macros on Windows
1143   - !2937 gicon: Add introspection for to_tokens / from_tokens vfunc's
1144   - !2938 gdatetime: add NULL guard in g_date_time_new_now()
1145   - !2939 gobject/tests/param: Add unit test for handling invalid NULL param
1146     spec
1147   - !2942 gbookmarkfile: Add copy function and define it as boxed type for
1148     introspection
1149   - !2945 gmessages: Add missing trailing newline in fallback log handler
1150   - !2946 tests: Check the return value of fwrite() in a test
1151   - !2947 gspawn: avoid race due to retry with EINTR on close()
1152   - !2948 ghash: document g_hash_table_steal_extended() behavior for sets
1153   - !2949 doc: Correctly annotate g_async_queue_push()
1154   - !2951 meson: Don't explicitly disable mixed declarations and statements
1155   - !2952 Various win32 test fixes
1156   - !2953 build: Post-release version bump to 2.75.0
1157   - !2954 tools: Fix code style warnings in gen-visibility-macros.py
1158   - !2955 gtimezone: Reject weird /etc/localtime configurations
1159   - !2956 gstrfuncs: Fix a compiler warning in g_strerror()
1160   - !2957 Fix include order of glib-visibility.h
1161   - !2959 Some leaks fixes
1162   - !2961 tests: Remove an unnecessary sleep from desktop-app-info test
1163   - !2963 tests: Fix race condition on cancellation in unix-streams test
1164   - !2964 gstdio: fail assertion in g_close() for invalid file descriptor
1165     (EBADF)
1166   - !2965 ghash: comment g_hash_table_steal_extended() about not destroying
1167     key/value
1168   - !2967 Fix build when G_DISABLE_CAST_CHECKS is defined to empty string
1169   - !2968 tests: Fix minor race in desktop-app-info terminals test
1170   - !2969 tests/desktop-app-info: Make sure scripts writes to the right end of
1171     the pipe
1172   - !2970 Fix GIOModule regression from !2959
1173   - !2972 tests: Temporarily disable desktop-app-info terminal test on FreeBSD
1174   - !2976 Fix a couple of minor Coverity issues
1175   - !2977 gstdio: Temporarily disable g_close() warning on macOS
1176   - !2978 A couple of test fixes on OS X
1177   - !2979 gtask: Use unsigned bit-field struct values to avoid warnings
1178   - !2981 meson: Define G_OS_DARWIN when compiling under OSX or iOS
1179   - !2984 tests: Fix code style in Python files to satisfy black and flake8
1180   - !2985 ci: Do not store docs artifacts
1181   - !2987 meson, ci: Support tests that can fail under certain conditions
1182   - !2990 gio/tests/g-file-info: don't assume million-in-one events don't happen
1183   - !2991 glib, gmodule, gobject: Add generated headers to the lib dependency
1184   - !2993 Add G_TYPE_FLAG_DEPRECATED
1185   - !2997 docs: Mention platform-specific predefined macros
1186   - !2999 Soft-deprecate G_VA_COPY in favour of va_copy
1187   - !3000 docs: Stop claiming that gsize is wide enough to hold a pointer
1188   - !3001 Improve documentation and static assertions around g(s)size,
1189     g(u)intptr
1190   - !3002 docs: Soft-deprecate G_STRUCT_OFFSET in favour of offsetof
1191   - !3003 docs: Soft-deprecate types that are just aliases for a standard C type
1192   - !3004 build: Mark the g-file-info test as succeeding
1193   - !3005 Fix sandbox escape in GDBusServer
1194   - !3007 gstdio: Add g_clear_fd() and g_autofd
1195   - !3008 gio/gdesktopappinfo: Free the wrapped argv array on launch failure
1196   - !3009 gtimezone: Fix symlink checks on relative link targets
1197   - !3011 meson: Cleanup and fix include files paths, using base path without
1198     repetitions
1199   - !3012 meson: Handle various build system FIXME's
1200   - !3013 tests: Fix few new clang warnings
1201   - !3015 test/meson: Add tests dependencies on built programs, libraries and
1202     modules
1203   - !3018 Install gversionmacros.h in the right place
1204   - !3019 ci: Fix check for missing install tag
1205   - !3021 Add kgx (gnome console) to known terminals lists
1206   - !3022 Fix coding style issue in .gitlab-ci/check-missing-install-tag.py
1207   - !3023 ci: Move shellcheck/black/flake8 checks to a new CI job which can fail
1208   - !3025 fuzzing: Add a new fuzz test for g_variant_byteswap()
1209   - !3027 gstdio: Preserve errno in g_autofd, document async-signal safety
1210   - !3033 glib/gmacros: Always define NULL as nullptr in C++11 and newer
1211   - !3034 ci: Open issues when scheduled pipelines fail
1212   - !3035 portal: Fix broken header guard
1213   - !3037 gio: Create a sandbox checking function
1214   - !3040 gspawn: Provide less brute force fdwalk implementation on macOS
1215   - !3043 glib-mkenums: feature use of previous symbols in evaluation
1216   - !3044 docs: Convert GVariant Specification to reStructuredText
1217   - !3048 docs: Add licensing/copyright data to GVariant specification and fix
1218     various formatting issues
1219   - !3049 Add a SPDX LicenseRef for the license historically used for tests
1220   - !3050 tests: Shorten internal codegen test timeout
1221   - !3051 ci: Add a CI check for REUSE-compliant licensing/copyright headers
1222   - !3055 fileutils test: Use no-op invalid-parameter handler when exercising
1223     EBADF
1224   - !3058 ci: Build with -Wnonnull
1225   - !3060 fuzzing: Add a fuzz test for g_utf8_validate()
1226   - !3062 tests: Fix a small leak in the GVariant tests and some minor
1227     documentation typos
1228
1229 * Translation updates:
1230   - Abkhazian (Nart Tlisha)
1231   - Dutch (Nathan Follens)
1232   - Friulian (Fabio Tomat)
1233   - German (Christian Kirbach)
1234   - Hebrew (Yaron Shahrabani)
1235   - Kazakh (Baurzhan Muftakhidinov)
1236   - Occitan (post 1500) (Quentin PAGÈS)
1237
1238
1239 Overview of changes in GLib 2.74.0, 2022-09-17
1240 ==============================================
1241
1242 * Use EPOLL_CLOEXEC by default (Colin Walters)
1243
1244 * Fixed various regression on GRegex as per the PCRE2 porting (Marco Trevisan)
1245
1246 * Fixed various memory leaks (Sebastian Keller, Marco Trevisan)
1247
1248 * Bugs fixed:
1249  - GNOME/gtksourceview#278 Failed to load html.lang after GLib switched to PCRE2
1250    (Marco Trevisan (Treviño))
1251  - GNOME/gtksourceview#283 GRegex-on-PCRE2 regressions (Marco Trevisan)
1252  - #2688 Follow-up from "replace pcre1 with pcre2" (Marco Trevisan (Treviño))
1253  - #2713 static_assert is undefined in C99 (wen Rafferty)
1254  - #2719 GParamSpec constructors should have nullable annotation on nick/blurb
1255    (Andy Holmes)
1256  - #2729 GRegex/GMatchInfo related crashes after upgrade to 2.73.2 (Marco
1257    Trevisan)
1258  - #2733 gio: GVariantBuilder builder leaked in g_document_portal_add_documents
1259    when URI list is empty (Sebastian Keller)
1260  - #2737 gio mount coredumps on prompt exit since 2.73 (Marco Trevisan)
1261  - #2741 Memory errors on GRegex (Marco Trevisan (Treviño))
1262  - GNOME/gtk#4400 gtk_show_uri can't open browser on MSYS2 on Windows (Luca
1263    Bacci)
1264  - !2820 ci: Expose the coverage report and docs as links in the MR's (Marco)
1265  - !2855 gtlscertificate: Update reference to G_TLS_CERTIFICATE_NO_FLAGS
1266  - !2861 mem: Document OOM behavior for allocations (Matthias Clasen)
1267  - !2868 gio-unix: Use EPOLL_CLOEXEC by default (Colin Walters)
1268  - !2873 Fix array-bounds compiler warnings with GCC 12 (Emmanuele Bassi)
1269  - !2874 tests, GDesktopAppInfo: Fix various GVariant leaks (Marco Trevisan)
1270  - !2875 g_strsplit: Use a pre-allocated GArray when max_tokens is provided
1271    (Marco Trevisan)
1272  - !2876 GActionGroup: Fix ownership transfer annotation for query_action()
1273    (Andy Holmes)
1274  - !2879 gioenumtypes: Only define GLIB_DISABLE_DEPRECATION_WARNINGS if needed
1275    (Marco Trevisan)
1276  - !2881 GWin32AppInfo: Add missing g_spawn_close_pid (Luca Bacci)
1277  - !2882 meson: Set install_tag on all tools (Xavier Claessens)
1278  - !2883 ci: Improve style check script (Matthias Clasen)
1279  - !2900 docs: Improve wording in documentation of g_unix_signal_source_new()
1280    (Tom Levy)
1281
1282 * Translation updates:
1283  - Abkhazian (Nart Tlisha)
1284  - Basque (Asier Sarasua Garmendia)
1285  - Bulgarian (Alexander Shopov)
1286  - Catalan (Jordi Mas)
1287  - Chinese (China) (Luming Zh, Boyuan Yang)
1288  - Croatian (Goran Vidović)
1289  - Czech (Marek Černocký)
1290  - Danish (Alan Mortensen)
1291  - Finnish (Jiri Grönroos)
1292  - French (Claude Paroz)
1293  - Galician (Fran Dieguez)
1294  - Hungarian (Balázs Úr)
1295  - Indonesian (Kukuh Syafaat)
1296  - Korean (Changwoo Ryu)
1297  - Lithuanian (Aurimas Černius)
1298  - Persian (Danial Behzadi)
1299  - Polish (Piotr Drąg)
1300  - Portuguese (Hugo Carvalho)
1301  - Portuguese (Brazil) (Leônidas Araújo)
1302  - Russian (Aleksandr Melman)
1303  - Slovenian (Matej Urbančič)
1304  - Spanish (Daniel Mustieles)
1305  - Swedish (Luna Jernberg)
1306  - Turkish (Emin Tufan Çetin)
1307  - Ukrainian (Yuri Chornoivan)
1308
1309 Overview of changes in GLib 2.73.3, 2022-08-05
1310 ==============================================
1311
1312 * Revitalize G_REGEX_OPTIMIZE flag and use it to enable PCRE JIT compiler (work
1313   by Aleksei Rybalkin) (!2817)
1314
1315 * Fix some regressions due to the PCRE2 port (work
1316   by Aleksei Rybalkin, Mamoru TASAKA and Marco Trevisan) (!2814, !2827, #2694,
1317   #2699, #2700)
1318
1319 * Fix a pidfd leak that was introduced in the previous release (work by
1320   Christian Hergert) (#2708)
1321
1322 * Support compilation without a C++ toolchain (work by James Hilliard) (!2822)
1323
1324 * GDBus: Use namespace-friendly protocol for Linux message buses, and optionally
1325   other connections (work by Simon McVittie) (!2832)
1326
1327 * Fix potential races in multi-threaded signal connections handling (work by
1328   Marco Trevisan) (!2823)
1329
1330 * Add back gio-launch-desktop to redirect stdout/stderr of launched
1331   GDesktopAppInfo's to the journal with proper parent (work by Simon McVittie)
1332   (!2818, !2819, #2682)
1333
1334 * Executables that are invoked when installing other software, typically
1335   from packaging system triggers, can now be installed into
1336   architecture-dependent locations. Unix OS distributors who install
1337   GLib for more than one architecture in parallel (multiarch or multilib
1338   installations) should consider building with -Dmultiarch=true, installing
1339   the bin/glib-compile-schemas and bin/gio-querymodules symbolic links in
1340   packages for the primary architecture, and omitting those symlinks from
1341   packages for secondary architectures. (work by Simon McVittie) (!2818)
1342
1343 * Some enumerators introduced in previous releases have been changed, for better
1344   introspection results:
1345   - G_MARKUP_PARSE_FLAGS_NONE renamed to G_MARKUP_DEFAULT_FLAGS
1346   - G_TLS_CERTIFICATE_FLAGS_NONE renamed to G_TLS_CERTIFICATE_NO_FLAGS
1347   - G_APPLICATION_FLAGS_NONE was deprecated, use G_APPLICATION_DEFAULT_FLAGS now
1348   (work by Emmanuele Bassi) (!2835)
1349
1350 * gfileinfo: Implement xattr attribute removal (work by madmurphy) (#1187)
1351
1352 * Add support to --delete option to gio set, to unset a file attribute (work by
1353   codeboybebop) (#2588)
1354
1355 * Improve default value of glib_debug option: G_ENABLE_DEBUG will be defined
1356   only if using `--buildtype=debug` or enabled via `-Dglib_debug`, but it
1357   won't ever be set if an optimized build is requested (specifically if the
1358   optimization level is not `0` or `g`) as it may be the case when using
1359   `--buildtype=debugoptimized` (work by Michael Catanzaro) (!2851)
1360
1361 * Probably the first revision of any GNOME module ever released from Cuba :)
1362
1363 * Bugs fixed:
1364  - #566 support using the PCRE JIT
1365  - #1187 xattr add possibility to remove an extended attribute
1366  - #2509 g_spawn_*() is not thread-safe on Windows when an environment table is
1367    provided
1368  - #2542 Flatten line breaks in filenames printed by gio-tool
1369  - #2588 gio-tool: -d option to delete attribute
1370  - #2682 Launching a GDesktopAppInfo "blames" parent process for its output
1371  - #2692 2.73.2: build failure on musl >= 1.2.0
1372  - #2694 Recent GRegex changes break vala-language-server compilation
1373  - #2699 g_regex_match_all fails on s390x with Fedora glib2-2.73.2-4.fc37
1374  - #2700 g_regex_match fails on multiple archs (including x86_64) with Fedora
1375  - #2703 Fix GCancellable tests for Windows 64bit
1376    glib2-2.73.2-4.fc37
1377  - #2705 GResourceFile crashes on `g_file_set_display_name()`
1378  - #2708 pidfd leak causes processes to run out of file-descriptors
1379  - !2299 GWin32AppInfo: Fix PID reporting in launched signal
1380  - !2759 Use atomic exchange operations more
1381  - !2812 ci: Setup submodules and subprojects before building on dist
1382  - !2813 Add missing extension point register for various settings backends
1383  - !2814 gregex: use %s format specifier for localized error message
1384  - !2815 giomodule: Use g_once_init_enter/leave to register extensions and load dirs
1385  - !2818 gio: Optionally install trigger executables to architecture-specific paths
1386  - !2822 meson: fix build without cpp toolchain
1387  - !2823 gsignal: Perform signal unlocked handlers block, unblock and disconnect ops
1388  - !2825 gioenums: G_IO_ERROR_NO_SUCH_DEVICE is new in 2.74
1389  - !2826 GDBus: improve interoperability of SASL handshake
1390  - !2827 gregex: Free match info if offset matching recalc failed
1391  - !2829 gregex: use g_debug instead of g_warning in case JIT is not available
1392  - !2830 goption: Slightly improve the documentation for G_OPTION_FLAG_REVERSE
1393  - !2832 GDBus: Use namespace-friendly protocol for Linux message buses, and
1394    optionally other connections
1395  - !2833 Fix installed-tests failures
1396  - !2835 Introduce G_APPLICATION_DEFAULT_FLAGS
1397  - !2836 gio-launch-desktop: Only replace fds that point to the Journal
1398  - !2851 Improve default value of glib_debug option
1399  - !2853 Expose tls-exporter channel binding
1400  - !2854 docs: Add --delete option to gio-tool attributes documentation
1401
1402 * Translation updates:
1403  - Abkhazian
1404  - Basque
1405  - Georgian
1406  - Hebrew
1407  - Persian
1408  - Portuguese
1409  - Russian
1410  - Turkish
1411  - Ukrainian
1412
1413 * Contributors:
1414   Aleksandr Melman, Aleksei Rybalkin, Asier Sarasua Garmendia, Christian Hergert,
1415   codeboybebop, Danial Behzadi, Emin Tufan Çetin, Emmanuele Bassi,
1416   Giuseppe Scrivano, Hugo Carvalho, James Hilliard, Luca Bacci, madmurphy,
1417   Mamoru TASAKA, Marco Trevisan, Matthias Clasen, Michael Catanzaro,
1418   Nart Tlisha, Owen Rafferty, Philip Withnall, Ryan Hope, Simon McVittie,
1419   Yosef Or Boczko, Yuri Chornoivan, Zurab Kargareteli.
1420
1421 Overview of changes in GLib 2.73.2, 2022-07-12
1422 ==============================================
1423
1424 * Replace PCRE1 with PCRE2: This is a major change to drop the libpcre1
1425   dependency and use libpcre2 instead, while preserving the behaviour and API of
1426   GRegex. G_REGEX_OPTIMIZE and G_REGEX_JAVASCRIPT_COMPAT are now deprecated
1427   and became a no-op, while other flags are adapted accordingly to the new API
1428   (work by Aleksei Rybalkin, Philipp Withnall) (!2529, #1085)
1429
1430 * Preserve destruction order in gdataset, fixing various crashes during
1431   objects disposal (work by Peter Bloomfield) (!2776, #2672, #2676)
1432
1433 * Require C99 __VA_ARGS__ (work by Emmanuele Bassi) (!2791, #2681)
1434
1435 * Add NONE or DEFAULT members to most flags types (work by Simon McVittie) (!2576)
1436
1437 * GFile: Add some missing async APIs (work by Marco Trevisan) (!2717)
1438
1439 * Improve internal and process documentation (work by Philipp Withnall) (!2763)
1440
1441 * Add atomic compare-and-exchange APIs returning previous value (work by Marco
1442   Trevisan) (!2766)
1443
1444 * Add G_DEFINE_ENUM_TYPE and G_DEFINE_ENUM_VALUE macros (work by Emmanuele Bassi)
1445   (!2788)
1446
1447 * Add platform-independent G_ALWAYS_INLINE and G_NO_INLINE (work by Marco Trevisan)
1448   (!2781)
1449
1450 * Use waitid() on pidfds rather than a global SIGCHLD handler (work by Philip
1451   Withnall) (!2408)
1452
1453 * Bugs fixed:
1454  - #1434 Move tests/* into */tests/
1455  - #2216 Chain signal handlers for SIGCHLD
1456  - #2597 Crash in g_socket_client_enumerator_callback when proxy resolving
1457  - #2659 /maincontext/timeout-once randomly fails
1458  - #2681 Set C99's `__VA_ARGS__` as a toolchain hard requirement
1459  - #2672 Finalization speedup (commit fa8c7c0da) causes crash in gtk3 demo
1460  - #2676 gnome-shell assertion failure with GLib 2.73.1 while
1461          g_object_real_dispose() cleans up weak refs
1462  - #2687 Regression: in GLib 2.72.3, in gsocketclient/cancellable
1463  - !1717 Add lock in _g_get_unix_mount_points() around *fsent() functions
1464  - !2408 gmain: Use waitid() on pidfds rather than a global SIGCHLD handler
1465  - !2529 gregex: replace pcre1 with pcre2
1466  - !2576 Add a NONE or DEFAULT member to most flags-sets
1467  - !2667 test: Potentially fix a race in thread-pool-slow test
1468  - !2706 Add more SPDX license headers
1469  - !2717 gfile (and GAppInfo): Add some missing async APIs and ensure async calls
1470          always use them
1471  - !2744 fuzzing: Add fuzz test for g_uuid_string_is_valid()
1472  - !2748 docs: Add a testing policy
1473  - !2749 tests: Various fixes for TAP output of tests
1474  - !2755 docs: Sync glib.doap to set of users listed in CODEOWNERS
1475  - !2763 docs: Document the release process
1476  - !2766 gatomic: Add Compare and Exchange functions that returns the previous value
1477  - !2770 Correct documentation of g_atomic_pointer_exchange
1478  - !2771 use gvdb as a subproject
1479  - !2772 gobject/tests/performance: fix leaks
1480  - !2773 gdatetime test: Consistently expect %k to generate a figure space
1481  - !2774 tests: Fix type mismatches in new atomic tests when compiling with clang
1482  - !2775 gthread: Some code cleanups and fixes
1483  - !2776 gdataset: Preserve destruction order
1484  - !2779 tests: Fix macOS failures in the file tests
1485  - !2781 gmacros: Provide platform-independent G_ALWAYS_INLINE and G_NO_INLINE
1486  - !2782 ci: Update CI images to add gdb and pcre2
1487  - !2783 _g_get_unix_mount_points(): reduce syscalls inside loop
1488  - !2784 Revert "gobject: Use g_datalist_id_remove_multiple"
1489  - !2785 tests: Fix incorrect basename comparison in gsubprocess test
1490  - !2786 gcontenttype: Fix a potential use-after-free of xdgmime data
1491  - !2788 Add G_DEFINE macros for enum and flags types
1492  - !2789 gdate: Fix a typo in a code comment
1493  - !2790 tests: Skip assert-msg-test.py if gdb is non-functional
1494  - !2791 Require C99's __VA_ARGS__
1495  - !2792 ci: Ensure git submodules are updated before running macOS CI
1496  - !2794 gobject: Don't skip custom dispatch_properties_changed
1497  - !2795 gkeyfile: Remove some unreachable code
1498  - !2796 gmodule: Improve error handling for invalid .la files
1499  - !2797 gio: Add some missing license and copyright headers
1500  - !2798 Remove occurrences of unused-results warnings and mark them as errors
1501  - !2800 gbacktrace: Handle case of strerror_r returning an int value
1502  - !2801 gobject: Small speedup in weak-ref-set
1503  - !2802 gobject/tests/custom-dispatch: Add few more tests
1504  - !2804 gthreadpool: Ensure all unused threads are really counted as stopped
1505  - !2805 gthread-posix: Do not do unguarded and non-atomic assignment of an atomic
1506  - !2807 ci: Specify -Wno-overlength-strings on macOS
1507          build: Specify -Werror=pointer-sign
1508  - !2808 gsocketclient: Fix passing NULL to g_task_get_cancellable()
1509  - !2809 gio/tests/desktop-app-info: Wait until the callback is called
1510
1511 * Translation updates:
1512  - Lithuanian
1513  - Persian
1514  - Portuguese
1515  - Russian
1516  - Serbian
1517  - Ukrainian
1518
1519 * Contributors:
1520   Aleksandr Melman, Aleksei Rybalkin, Aurimas Černius, Danial Behzadi,
1521   Emmanuele Bassi, Emmanuel Fleury, ericLemanissier, Hugo Carvalho,
1522   Marc-André Lureau, Marco Trevisan (Treviño), Matthias Clasen,
1523   Michael Catanzaro, Michael Vetter, Peter Bloomfield, Philip Withnall,
1524   Rozhuk Ivan, Simon McVittie, Yuri Chornoivan, Мирослав Николић
1525
1526 Overview of changes in GLib 2.73.1
1527 ==================================
1528
1529 * Remove the `-Diconv` configure option, as GLib now uses Meson’s built-in logic for
1530   finding which iconv implementation to use (work by Eli Schwartz) (!2734)
1531
1532 * Move gvdb to a Meson subproject and git submodule to avoid duplicating its
1533   source (work by Philip Withnall) (!2733)
1534
1535 * Add `add_test_setup()` in Meson to allow GLib tests to be run under valgrind
1536   with correct settings easily, using `meson test --setup=valgrind` (work by
1537   Philip Withnall) (!2752)
1538
1539 * Fix deadlocks when disposing non-cancelled inotify `GFileMonitor`s (work by
1540   Benjamin Berg) (#1941)
1541
1542 * Fix `file://` requests in webkit2gtk due to incorrect xdgmime update (work by
1543   Stephen Jung, Michael Catanzaro, Philip Withnall) (#2639)
1544
1545 * Fix build errors on macOS ≤10.7 for `LOCAL_PEERPID` (work by Christopher Nielsen) (!2707)
1546
1547 * Add new `g_atomic_int_exchange()` and `g_atomic_pointer_exchange()` APIs (work
1548   by Marco Trevisan) (!2726)
1549
1550 * Add new `GListStore:n-items` property to allow easy binding in UIs (work by
1551   Benjamin Otte) (!2738)
1552
1553 * Performance improvements for GObject construction and destruction (work by
1554   Matthias Clasen) (#2661, #2665, #2666, !2678, !2700, !2705, !2712, !2713,
1555   !2714, !2715, !2716, !2721, !2722, !2723, !2724, !2725, !2756)
1556
1557 * Use a numeric space (U+2007) for padding with some `g_date_time_format()`
1558   placeholders (work by Maksym Hazevych) (#2655)
1559
1560 * Fix a slow memory leak in `GSocketClient` when using long-lived `GCancellable`s
1561   (work by Jens Georg) (#2670)
1562
1563 * Bugs fixed:
1564  - #1941 disposing a non-cancelled inotify GFileMonitor causes deadlocks
1565  - #2639 xdgmime update breaks webkit2gtk file:// requests
1566  - #2655 Use the numeric space for the DateTime.format()'s `\%l` specifier
1567  - #2656 2.73.0: test suite is failing in `glib:gobject / object` unit
1568  - #2661 Speeding up type checks for final types (commit 0ddea2d8e) breaks C++ bindings
1569  - #2665 GObject speed up causes gtk3 apps to crash :(
1570  - #2666 GObject speedup causes warnings with custom constructors
1571  - #2670 Growing memory when using cancellable in g_socket_client_connect_async
1572  - !2670 docs: Add a backports policy
1573  - !2678 Speed up property lookup
1574  - !2681 docs: Add a roadmap policy
1575  - !2692 tests: Drop redundant collate test data files
1576  - !2694 Restore macOS CI
1577  - !2696 Move tests/gobject/testgobject.c to gobject/tests/basics-gobject.c
1578  - !2697 Delete tests/gobject/timeloop-closure.c
1579  - !2700 gtype: Speed up type checks for final types
1580  - !2701 gsocketaddressenumerator: add nullable annotation to the result of `next`
1581  - !2702 tests: Fix a potential race condition in pollable test
1582  - !2704 tests: Remove various bits of overly-verbose test output
1583  - !2705 gobject: Drop an unused quark
1584  - !2707 credentials: macos: check for existence of LOCAL_PEERPID
1585  - !2710 ci: Try reducing FD soft limit to fix valgrind tests
1586  - !2711 tests: Various small test fixes for valgrind
1587  - !2712 Improve the GObject performance test
1588  - !2713 Simplify g_object_new_with_properties
1589  - !2714 Simplify g_object_notify_by_pspec
1590  - !2715 Don't inline deprecation warnings
1591  - !2716 Don't copy values in g_object_new
1592  - !2719 Add nullable annotation to return value of `g_variant_dict_lookup_value`.
1593  - !2721 Avoid g_object_ref/unref in some cases
1594  - !2722 Avoid g_param_spec_get_redirect_target
1595  - !2723 Avoid g_type_class_peek
1596  - !2724 gobject: Avoid redundant atomics
1597  - !2725 Keep a separate flag for notify handlers
1598  - !2726 gatomic: Add APIs to perform atomic int / pointer exchanges
1599  - !2729 tests: Reduce number of threads in once test under valgrind
1600  - !2730 garray: Fix NULL-termination of GPtrArray copies
1601  - !2731 tests: Various static analysis fixes
1602  - !2732 gobject: Sink floating pspecs if adding them to a class fails
1603  - !2733 build: Move gvdb to a subproject
1604  - !2734 meson: simplify iconv/intl lookups using Meson's builtin dependency lookup
1605  - !2735 tests: Move GObject performance tests to gobject/tests/performance/
1606  - !2738 liststore: add n-items property
1607  - !2739 gobject-query: Minor cleanups and add unit tests
1608  - !2740 gbinding: Remove some duplicated code for checking property names and improve tests slightly
1609  - !2747 gobject: Change GObject notify semantics under static analysis
1610  - !2751 glib-unix: Mark GLib.unix_open_pipe fds input array as fixed-size
1611  - !2752 build: Use add_test_setup() to allow tests to be run under valgrind
1612  - !2753 xdgmime: fix double free
1613  - !2754 docs: Add Marco Trevisan as a co-maintainer
1614  - !2756 gobject: Fix crash when disposing a GtkAccelGroup
1615  - !2758 gio: Don't bundle gtrace in static builds
1616  - !2761 gtlscertificate: Hold a ref on the root certificate when building chains
1617  - !2762 gsignal: Change signal instance ref semantics under static analysis
1618
1619 * Translation updates:
1620  - Georgian
1621  - Hebrew
1622
1623
1624 Overview of changes in GLib 2.73.0
1625 ==================================
1626
1627 * Support nanosecond time precision in file attributes (work by Nitin Wartkar) (#369)
1628
1629 * Add `g_list_store_find_with_equal_func_full()` API to make `GListStore` more
1630   introspection friendly (work by Jason Francis) (#2447)
1631
1632 * Document some GLib maintenance policies a bit better (work by
1633   Nirbheek Chauhan, Philip Withnall) (#2596, !2648, !2649, !2664)
1634
1635 * Remove FAM/gamin file monitor and `-Dfam` meson option, as libgamin was last
1636   released in 2007 and is dead upstream (work by Emmanuele Bassi) (#2605)
1637
1638 * Fix futex timespec type on 32-bit kernels with 64-bit userspace (#2634)
1639
1640 * Deprecate g_dtls_client_connection_set_validation_flags() (work by Michael Catanzaro) (#2646)
1641
1642 * Add support for automatically `NULL`-terminated `GPtrArray`s (work by Thomas Haller) (!1485)
1643
1644 * A lot of cleanup of warnings and old tests (work by Emmanuel Fleury)
1645
1646 * Various compilation and test fixes on Windows (work by Marc-André Lureau)
1647   (!2499, !2540, !2569, !2582, !2592, !2599, !2600, !2656)
1648
1649 * Fix detection of broken `poll()` implementation on macOS, broken since the
1650   port to Meson (work by Haruka Ma) (!2571)
1651
1652 * Add additional flags to `g_spawn_async_with_pipes_and_fds()` to make it more
1653   easily introspectable (work by Nicola Fontana) (!2632)
1654
1655 * Initial (incomplete) support for REUSE licensing (work by Philip Withnall) (!2663, !2665, !2666)
1656
1657 * GObject construction performance improvements (work by Matthias Clasen) (!2672, !2673, !2674, !2677, !2680, !2690)
1658
1659 * Add `g_idle_add_once()` and `g_timeout_add_once()` for one-shot sources (work by Emmanuele Bassi) (!2684, !2693)
1660
1661 * Simplify zlib dependency resolution using new built-in Meson support for it (work by Eli Schwartz) (!2685)
1662
1663 * Bugs fixed:
1664  - #369 file copy doesn't preserve nanosecond timestamps
1665  - #2312 gdbus-test-codegen tests leak GWeakRef objects
1666  - #2447 g_list_store_find_with_equal_func is not binding friendly
1667  - #2596 Policy on meson requirement bumping
1668  - #2605 Update Android CI to support API level 31
1669  - #2614 Remove FAM/gamin file monitor
1670  - #2625 g_warning_once fails to build with clang++
1671  - #2629 g_file_trash() does not work on directories inside a sandbox
1672  - #2633 Recent updates in gstdio.h breaks ABI on 64-bit MSVC builds
1673  - #2634 g_cond_wait_until: returning FALSE immediately on mips24
1674  - #2640 UWP warnings about extensions and verbs with glib 2.72.1
1675  - #2646 Should g_dtls_client_connection_set_validation_flags etc. be deprecated?
1676  - #2653 pango fails to build against glib main
1677  - !1485 array: add support for g_ptr_array_null_terminated()
1678  - !2449 Fix test suite on Windows
1679  - !2494 Cleanup warnings split 5
1680  - !2495 Cleanup warnings split 6
1681  - !2496 Cleanup warnings split 7
1682  - !2497 Cleanup warnings split 8
1683  - !2498 Cleanup warnings split 9
1684  - !2499 Various contenttype-related test fixes on win32
1685  - !2521 gobject: Add g_signal_group_connect_closure
1686  - !2534 gpowerprofilemonitor: Tweak wording of documentation to make more sense
1687  - !2539 Convert tests/gio-test.c to g_test framework
1688  - !2540 Various win32 tests skip & fixes
1689  - !2541 meson: simplify lookup of python command
1690  - !2543 ci: Update the Fedora CI image to Fedora 34
1691  - !2545 gutils: Add flags to g_format_size_full() to return only value or only units
1692  - !2550 Moving gobject tests from tests/gobjects to gobjects/tests
1693  - !2553 Moving tests/refcount/ directory to gobject/tests/
1694  - !2556 gdbusconnection: Use g_strv_contains() rather than a home-grown version
1695  - !2557 gdbusmethodinvocation: Fix a leak on an early return path
1696  - !2558 Move unit test on g_basename() function to glib/tests/fileutils.c
1697  - !2559 Move tests/relation-test.c to glib/tests/relation.c
1698  - !2560 ci: Update Coverity, mingw and Android CI images to Fedora 34
1699  - !2562 tests: Call openpty (if available) without using dlsym
1700  - !2563 glib: Format GDateTime ISO8601 years as %C%y
1701  - !2564 Move test files on slices from tests/ to glib/tests/
1702  - !2565 Revert "meson: simplify lookup of python command"
1703  - !2566 tests: Add more tests for GResolver response parsing
1704  - !2567 tests: Fix compilation when GLIB_DISABLE_DEPRECATION_WARNINGS is defined
1705  - !2569 Various win32 tests fixes
1706  - !2571 meson: Set BROKEN_POLL in macOS builds
1707  - !2572 gversionmacros: Add version macros for GLib 2.74
1708  - !2575 Move tests/spawn-test.c -> glib/tests/spawn-test.c
1709  - !2577 build: Post-release version bump to 2.73.0
1710  - !2579 Slice test
1711  - !2580 Moving slice-threadinit.c test to glib/tests/
1712  - !2581 Move tests/unicode-encoding.c to glib/tests/unicode-encoding.c
1713  - !2582 glib/win32: fix spawn from GUI regression
1714  - !2584 Move msvc warnings in meson.build file
1715  - !2585 GUnixFDList: Include only in unix build
1716  - !2586 Move test tests/unicode-normalize.c to glib/tests/
1717  - !2589 tests: Don’t exit gdbus-method-invocation test early on connection close
1718  - !2591 tests: Remove an incorrect assertion in converter-stream
1719  - !2592 gio/tests: DuplicateHandle() is inappropriate for SOCKET
1720  - !2594 ci: Expire CI artifacts after 1 week
1721  - !2597 tests: Make a string comparison on an error string more relaxed
1722  - !2598 ci: Combine style-check-diff and check-todos jobs into one
1723  - !2599 Various socket-related fixes for win32
1724  - !2600 GDate: Fix tests on Windows on certain locales
1725  - !2601 Move tests/onceinit.c to glib/tests/onceinit.c
1726  - !2602 tests: Ensure NormalizationTest.txt is installed for installed-tests
1727  - !2603 tests: Use G_TEST_OPTION_ISOLATE_DIRS in gdbus-peer-object-manager
1728  - !2604 tests: Reduce wakeup interval in gdbus-threading
1729  - !2606 tests: Fix a minor leak in the unicode-normalize test
1730  - !2607 Moving tests/mapping-test.c to glib/test/mapping.c
1731  - !2608 Fixes in tests
1732  - !2609 Remove tests/timeloop.c and tests/timeloopbasic.c
1733  - !2610 Expand tests on gbookmark file API
1734  - !2612 docs: Expand G_DEFINE_BOXED_TYPE docs with more detailed example
1735  - !2613 gtestutils: Include stdlib.h for exit function
1736  - !2614 Add inout annotations for g_iconv
1737  - !2615 Meson: Fix gio-windows-2.0 override name
1738  - !2617 gmessages: Error if g_log_set_writer_func() is called multiple times
1739  - !2619 gversion: Clarify that GLIB_CHECK_VERSION is a >= check
1740  - !2621 Fix the annotation of g_utf8_strncpy()
1741  - !2624 Expand ghook unit tests for a better coverage and add more checks
1742  - !2625 gsocket: Add assertions about socket address sizes for memcpy()
1743  - !2626 gio-tool: Fix a minor memory leak when using gio-set with bytestrings
1744  - !2627 gopenuriportal: Fix a use-after-free on an error path
1745  - !2628 Fix various scan-build warnings
1746  - !2630 build: Move lcovrc file to root so it’s picked up by Meson
1747  - !2631 Cast to ptrdiff_t instead of subtracting by null
1748  - !2632 g_spawn_async_with_pipes_and_fds uses out parameters as inputs
1749  - !2633 Fix closure annotations in callbacks' user data parameters
1750  - !2634 Move tests/threadpool-test.c to glib/test/thread-pool-slow.c
1751  - !2635 Add a couple of assertions to help with static analysis
1752  - !2636 ghmac: Fix some signed/unsigned issues with g_checksum_update()
1753  - !2637 guri: Preallocate a buffer for building URIs
1754  - !2638 fuzzing: Only set the writer function once
1755  - !2639 Move tests/thread-test.c to glib/tests/thread-deprecated.c
1756  - !2642 meson: Check rres.compiled() before calling rres.returncode()
1757  - !2645 Remove unnecessary test tests/mainloop-test.c duplicated in glib/tests/mainloop.c
1758  - !2646 Add some more assertions to help scan-build out
1759  - !2648 docs: Add a code of conduct document
1760  - !2649 Various updates to documentation and misc files in the root directory
1761  - !2650 meson: Use range() instead of listing all stable versions
1762  - !2651 Replace single quotes in gio/tests/codegen.py
1763  - !2652 resources: Hide external data symbol
1764  - !2653 build: Remove a few Meson workarounds and FIXMEs
1765  - !2654 gtask: use g_strconcat() in g_task_return() only if needed
1766  - !2655 Fix typo in gio/meson.build
1767  - !2656 gio: various unix/fd-related enablement on win32
1768  - !2657 ci: Temporarily allow failure of macOS CI runner until it’s fixed
1769  - !2658 tests: Fix a double-close of a GSource in tests
1770  - !2659 Cleaning a file left behind by glib/tests/bookmarkfile.c test case
1771  - !2660 Move tests/module-test.c to gmodules/tests/
1772  - !2663 docs: Initial REUSE licensing support
1773  - !2664 docs: Add compiler and toolchain requirements from the wiki
1774  - !2665 glib/gio/tests: Add SPDX license headers automatically
1775  - !2666 fuzzing: Add copyright/licensing headers to fuzzing files
1776  - !2669 Add a Unicode testcase
1777  - !2671 Add another Unicode testcase
1778  - !2672 gtype: small optimization
1779  - !2673 param: Avoid strcmps
1780  - !2674 Avoid g_type_peek_value_table
1781  - !2675 docs: Use G_PARAM_STATIC_STRINGS in examples and explain it more
1782  - !2677 param: Add a value_is_valid vfunc
1783  - !2679 Rename user data parameters to user_data
1784  - !2680 Speed up object finalization
1785  - !2684 Add one-shot idle and timeout functions
1786  - !2685 meson: use builtin dependency lookups for zlib
1787  - !2686 gitlab-ci: remove meson-junit-report.py conversion
1788  - !2687 gitlab-ci: left-over from junit cleanup
1789  - !2688 gparamspecs: Remove redundant NULL checks
1790  - !2689 build: update sysprof configuration options
1791  - !2690 gobject: Keep a count of construct params
1792  - !2693 gmain: Refactor idle-once and timeout-once to avoid a closure allocation
1793
1794 * Translation updates:
1795  - Basque
1796  - Bulgarian
1797  - Catalan
1798  - Croatian
1799  - Czech
1800  - Danish
1801  - English (United Kingdom)
1802  - French
1803  - Galician
1804  - German
1805  - Hungarian
1806  - Indonesian
1807  - Italian
1808  - Lithuanian
1809  - Nepali
1810  - Polish
1811  - Portuguese
1812  - Portuguese (Brazil)
1813  - Russian
1814  - Slovenian
1815  - Spanish
1816  - Swedish
1817  - Turkish
1818  - Ukrainian
1819
1820
1821 Overview of changes in GLib 2.72.0
1822 ==================================
1823
1824 * Bugs fixed:
1825  - #2620 g_time_zone_new_offset() assertion failure if offset >= 25 hours
1826  - !2538 Various unit test fixes
1827  - !2542 fuzzing: Fix test failure with G_DISABLE_ASSERT
1828  - !2547 gprintf: Fix a memory leak with an invalid format in g_vasprintf()
1829  - !2548 tests: Various fixes to gdbus-auth, gdbus-non-socket, gdbus-connection-flush, spawn-multithreaded tests
1830  - !2551 tests: More flaky test fixes to converter-stream and test-printf
1831  - !2552 gtlsconnection: fix typo in docs
1832
1833 * Translation updates:
1834  - Czech
1835  - French
1836  - Friulian
1837  - Hebrew
1838  - Hungarian
1839  - Italian
1840  - Kazakh
1841  - Polish
1842  - Romanian
1843  - Serbian
1844  - Swedish
1845
1846
1847 Overview of changes in GLib 2.71.3
1848 ==================================
1849
1850 * Fix flaky `GDebugController` tests (!2504)
1851
1852 * Numerous small documentation updates
1853
1854 * Bugs fixed:
1855  - #517 g_utf8_collate returns 0 on U+C5D0 vs U+CD94
1856  - #1929 gdbus-connection-flush: setup_client_cb: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1)
1857  - #2589 Hash sign misinterpreted as heading
1858  - #2598 g_main_loop_run() may leak a GMainLoop reference
1859  - #2609 Clarify documentation for g_log_set_debug_enabled()
1860  - #2611 Unspecified options considered present
1861  - #2612 side effects of ensure_valid_dict result used in g_return_if_fail macro
1862  - #2613 Naked magic literal in gvariant.h
1863  - !1707 Add cache to g_unix_mount_points_get()
1864  - !2424 Remove old test file tests/testglib.c
1865  - !2451 glib: fix buffer overflow in g_canonicalize_filename()
1866  - !2466 Various minor fixes for empty argv handling
1867  - !2480 Various glib/tests/date fixes on win32
1868  - !2485 Various spawn-related test fixes on win32
1869  - !2490 Cleanup warnings split 1
1870  - !2491 Cleanup warnings split 2
1871  - !2492 Cleanup warnings split 3
1872  - !2493 Cleanup warnings split 4
1873  - !2501 glib-compile-resources: Fix a memory leak of the compiler option
1874  - !2502 tests: Merge iochannel-test into io-channel tests in glib directory
1875  - !2503 gbacktrace: Fix a set-but-not-used variable
1876  - !2504 gdebugcontrollerdbus: Track pending tasks with weak refs
1877  - !2505 tests: Stop ignoring test failures on macOS
1878  - !2506 gresource-tool: Fix unused-but-set-variable warn with G_DISABLE_ASSERT
1879  - !2507 ci: Drop custom dependency builds from installed-tests
1880  - !2508 codegen: Reformat parser.py according to black
1881  - !2509 tests: Fix various small memory leaks
1882  - !2510 gdesktopappinfo: Fix a leak when launching URIs over D-Bus
1883  - !2512 doc: Extend a bit G_DECLARE_* documentation example
1884  - !2513 gmain: Expand documentation about GSource priorities a little
1885  - !2514 ci: Various cleanups and moving Android API 21 and FreeBSD 12 to scheduled run
1886  - !2515 gmessages: Fix typo in docs
1887  - !2516 glocalfileinfo: Always define _g_stat_mtim_nsec, etc.
1888  - !2517 meson: Add schemasdir and giomoduledir to gio dependency
1889  - !2518 meson: Set GIO_EXTRA_MODULES in devenv
1890  - !2519 gdebugcontrollerdbus: Mark a variable as G_GNUC_UNUSED
1891  - !2520 tests: Remove threads from mock-resolver/network-address test
1892  - !2523 Add handling of NULL time_t* pointer as argument
1893  - !2524 Revert "meson: Add schemasdir and giomoduledir to gio dependency"
1894  - !2525 meson: Add schemasdir and giomoduledir to gio dependency
1895  - !2526 Remove unused test tests/testgdateparser.c
1896  - !2527 Move tests/type-test.c to glib/tests/types.c
1897  - !2528 meson: Add PYTHONPATH to load GDB helper module
1898  - !2531 gtask: Document that task name is set by g_task_set_source_tag()
1899
1900 * Translation updates:
1901  - Basque
1902  - Catalan
1903  - Chinese (China)
1904  - Croatian
1905  - Danish
1906  - German
1907  - Hebrew
1908  - Indonesian
1909  - Korean
1910  - Lithuanian
1911  - Romanian
1912  - Russian
1913  - Spanish
1914  - Turkish
1915
1916
1917 Overview of changes in GLib 2.71.2
1918 ==================================
1919
1920 * Rework `glib-compile-resources` to output compiler-specific files to reduce
1921   compilation time; see the new `--compiler` option (work by Emmanuele Bassi) (#2492)
1922
1923 * Add a cross-platform API for aligned memory allocations (`g_aligned_alloc()`,
1924   `g_aligned_alloc0()` and `g_aligned_free()`) (work by Emmanuele Bassi) (#2574)
1925
1926 * Deprecate `force_posix_threads` configure option, since it was a workaround
1927   for static linking on Windows (#2592)
1928
1929 * Add `GBindingGroup` and `GSignalGroup` APIs (work by Christian Hergert and
1930   Garrett Regier) (!2235)
1931
1932 * Implement FD remapping support for `g_spawn_async_with_pipes_and_fds()` on
1933   Windows (work by Marc-André Lureau) (!2458)
1934
1935 * Add an async file move API, `g_file_move_async()` (work by Lucas Schwiderski) (!2469)
1936
1937 * Bugs fixed:
1938  - #1190 gapplication: Add an org.gtk.Debugging interface
1939  - #2329 GApplication CLI parsing of DOUBLE type failure
1940  - #2492 glib-compile-resources contains resource data twice and creates large output files
1941  - #2563 g_test_build_filename and friends not safe to call after g_test_run() has finished
1942  - #2574 Add API for aligned allocations
1943  - #2592 Consider deprecating 'force_posix_threads' build option
1944  - #2601 Missing <para> tag in generated files
1945  - !2235 Add GBindingGroup and GSignalGroup
1946  - !2378 gtestutils: Mention the unit used for the test timer
1947  - !2404 File tests
1948  - !2433 Remove tests/testgdate.c from tests
1949  - !2458 Implement fd passing for Windows spawn
1950  - !2464 Amend g_bus_get* documentation regarding private connection
1951  - !2465 gi: expose some files as variable for gobject-introspection
1952  - !2467 ci: Add link to Coverage output at end of coverage job
1953  - !2468 gfile: resolve_relative_path isn't nullable
1954  - !2469 Implement async file movement
1955  - !2471 Fix test on the date format for FreeBSD and MacOS X.
1956  - !2472 Fix test date (again)...
1957  - !2473 Fix glib/test/date.c for FreeBSD/OpenBSD/MacOS X
1958  - !2476 Add G_UNICODE_SCRIPT_MATH to GUnicodeScript
1959  - !2477 Improve coverage of two digit years in gdate tests
1960  - !2481 Fix glib/tests/fileutils on win32
1961  - !2482 Fix unit test on date format '%Z' which is too versatile to be trustable
1962  - !2483 Fix glib/tests/gdatetime on win32
1963  - !2484 tests: Use g_test_skip() to skip a test on Windows
1964  - !2487 gconstructor.h: Visual Studio: Only include gslist.h if needed
1965  - !2488 Fix some problems with g_aligned_alloc() tests
1966
1967 * Translation updates:
1968  - Basque
1969  - Catalan
1970  - Chinese (China)
1971  - Czech
1972  - French
1973  - Galician
1974  - Indonesian
1975  - Japanese
1976  - Polish
1977  - Portuguese
1978  - Portuguese (Brazil)
1979  - Russian
1980  - Slovenian
1981  - Spanish
1982  - Ukrainian
1983
1984
1985 Overview of changes in GLib 2.71.1
1986 ==================================
1987
1988 * Basic support for static builds on Windows (work by Loïc Le Page,
1989   Marc-André Lureau, with contributions from Xavier Claessens, Nirbheek Chauhan,
1990   Charlie Barto, Luca Bacci, Amos Wenger) (#692, #2585, !2442)
1991
1992 * Add `GDebugController` and a D-Bus implementation which exposes whether
1993   debug output is enabled in a process using the `org.gtk.Debugging` D-Bus
1994   interface (work by Philip Withnall) (#1190)
1995
1996 * Support for `AF_UNIX` sockets on Windows 10 (and later) (work by Marc-André Lureau) (#2487)
1997
1998 * Several important fixes to GDBus message and GVariant parsing of invalid data (work by Sebastian Wilhelmi) (#2557, #2572)
1999
2000 * Fix potential data loss due to missing fsync when saving files on btrfs (work by Sebastian Keller) (!2425)
2001
2002 * Fix potential buffer overflows in `garray.c` for very large `GArray`s and `GPtrArray`s (work by Tobias Stoeckmann) (#2578)
2003
2004 * Fix FDs in gspawn not being closed and causing process hangs if `close_range()` fails unexpectedly (work by Dan Nicholson) (#2580)
2005
2006 * Fix `g_find_program_in_path()` not returning an absolute path if `$PATH` is relative (work by Christoph Niethammer) (#2586)
2007
2008 * Add support for loading PKCS#12 encrypted files in `GTlsCertificate` (work by Patrick Griffis) (!2239)
2009
2010 * A number of improvements to unit tests (work by Emmanuel Fleury, Charlie Barto) (!2399, !2400, !2402, !2403, !2428, !2431, !2432, !2434)
2011
2012 * Support `LOCAL_PEERPID` on macOS, giving partial support for PIDs in
2013   `GCredentials` on that platform (work by Ignacio Casal Quinteiro) (!2362)
2014
2015 * Add `g_get_user_state_dir()` to support `XDG_STATE_HOME` (work by Sophie Herold) (!2395)
2016
2017 * Add `g_hash_table_new_similar()` to copy a hash table and its hash/equal functions without its data (work by Jonas Ådahl) (!2405)
2018
2019 * Support D-Bus client authentication with `EXTERNAL` on Windows (work by Marc-André Lureau) (!2429)
2020
2021 * Add a reStructuredText documentation generator to `gdbus-codegen` (work by Emmanuele Bassi) (!2448)
2022
2023 * Add a Windows implementation of `GMemoryMonitor` (work by Marc-André Lureau) (!2452)
2024
2025 * Bugs fixed:
2026  - #692 meta: Fix static build on Windows
2027  - #1190 gapplication: Add an org.gtk.Debugging interface
2028  - #2487 Add support for native unix domain sockets on WIN32 to GLib.Socket and related classes
2029  - #2550 possible GDateTime issue with localtime on Illumos/Solaris
2030  - #2557 Arrays of zero-element tuples with non-zero length lead to infinite loops in g_dbus_message_new_from_blob
2031  - #2559 2.71.0: compile and link time warnings
2032  - #2560 Link error xdgmime.c: unresolved external symbol S_ISREG when building with VS2022
2033  - #2564 Hangul Jamo Extended-B should be 0-width
2034  - #2565 Build glib-2.71.0 failed in Windows using MSYS2-MINGW64
2035  - #2571 Cross build error "undefined reference to `_g_binary_test1_resource_data'" when building tests for Windows on openSUSE Leap
2036  - #2572 Check for GVariant recursion depth before recursing
2037  - #2578 buffer overflows in garray.c
2038  - #2579 Outdated paths in INSTALL.in
2039  - #2580 gspawn doesn't set CLOEXEC if close_range fails unexpectedly
2040  - #2582 glib 2.71.0 muslc - build error missing sentinel in function call
2041  - #2585 Static link issue on Windows due to resource files being linked in twice
2042  - #2586 g_find_program_in_path not returning an absolute path
2043  - !2239 gtlscertificate: Add ability to load PKCS#12 encrypted files
2044  - !2362 credentials: support the local peerpid on macos
2045  - !2384 meson: Fix linking with static library in Windows
2046  - !2395 utils: Add XDG_STATE_HOME support
2047  - !2399 Move tests/env-test.c into glib/tests/environment.c
2048  - !2400 Prevent gtest tests from popping up dialog boxes
2049  - !2402 Improving glib/tests/environment.c
2050  - !2403 Improve test coverage of glib/tests/asyncqueue.c
2051  - !2405 ghash: Add g_hash_table_new_similar
2052  - !2407 tests: Fix environment test on FreeBSD
2053  - !2411 annotate `g_content_type_guess` parameter as filename
2054  - !2412 paramspec: fix unref annotation
2055  - !2413 Use meson dependency to link against apple framework
2056  - !2414 docs: Improve docs for gdbusutils.c
2057  - !2417 gtestutils: Fix minor typos in the g_test_get_filename() docs
2058  - !2423 Make clear in doc that signals are emitted synchroniously
2059  - !2425 gfileutils: Remove outdated BTRFS fsync optimization from set_contents
2060  - !2426 gdbus-codegen: Fix a typo in a comment
2061  - !2428 Merge tests/gobject/gvalue-test.c with gobject/tests/value.c
2062  - !2429 gdbus: make client work with EXTERNAL on Windows
2063  - !2431 Merge tests/gobject/paramspec-test.c into gobject/tests/param.c
2064  - !2432 Merge test/unicode-caseconv.c into glib/tests/unicode.c
2065  - !2434 Remove a disabled test case that was covered by glib/tests/collate.c
2066  - !2440 Improve g_ascii_formatd docs and preconditions
2067  - !2441 Reduce the amount of compile-time warnings
2068  - !2442 Fix tests with static build on Windows
2069  - !2447 giowin32: use gint64 and _lseeki64
2070  - !2448 Add reStructuredText documentation generator for gdbus-codegen
2071  - !2452 gio/win32: add GMemoryMonitorWin32
2072  - !2453 Add `(array length)` annotation to `g_tls_certificate_new_from_pkcs12()`
2073  - !2454 gdbusmessage, gvariant and garray fixes
2074  - !2456 tests: Pass --internal and -z noexecstack to glib-compile-resources tests
2075  - !2459 gio: add missing zlib dependency in gio-windows-2.0.pc
2076  - !2461 Fix memory leak in gio/gdbusauthmechanismsha1.c
2077  - !2463 Revert "Merge branch 'fix-windows-pc' into 'main'"
2078
2079 * Translation updates:
2080  - Catalan
2081  - Chinese (China)
2082  - Czech
2083  - Galician
2084  - Hebrew
2085  - Indonesian
2086  - Lithuanian
2087  - Polish
2088  - Portuguese
2089  - Portuguese (Brazil)
2090  - Russian
2091  - Spanish
2092  - Ukrainian
2093
2094
2095 Overview of changes in GLib 2.71.0
2096 ==================================
2097
2098 * Fix network changes not being signalled from NetworkManager (work by
2099   Julian Andres Klode) (#2505)
2100
2101 * Fix build when building with --fatal-meson-warnings (work by Eli Schwartz) (!2304)
2102
2103 * Fix use of the default log writer with journald namespaces (diagnosis by Ilya Basin) (#2530)
2104
2105 * Fix hang in `dbus-daemon` under `GTestDBus` when `G_MESSAGES_DEBUG=all` is set (work by Marco Trevisan) (#2537)
2106
2107 * Speed up `g_canonicalize_filename()` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2541)
2108
2109 * Fix URI for pcre subproject as it’s moved upstream (work by Albert Astals Cid) (!2324)
2110
2111 * Fix storing GSettings dictionaries on macOS (work by Maurice) (#2527)
2112
2113 * Speed up ‘remove dot segments’ algorithm in `GUri` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2526)
2114
2115 * Fix infinite loops in D-Bus message parsing for truncated inputs (work by Sebastian Wilhelmi) (#2528)
2116
2117 * Improve correctness of version information returned by `g_get_os_info()` for Windows 10/Server 2019+ (work by Chun-wei Fan) (#2443)
2118
2119 * Various fixes to GWeakRef cleanup (#865, #2390) and toggle refs (#2394) (work by Marco Trevisan)
2120
2121 * Add `G_DBUS_PROXY_FLAGS_NO_MATCH_RULE` flag for disabling match rules when creating a `GDBusProxy` (#1109)
2122
2123 * Fix FD remapping in `g_spawn_async_with_pipes_and_fds()` with certain values of target FDs (#2503, #2506) (work by Michael Catanzaro)
2124
2125 * Make `GDBusProxy::g-signal` signal detailed with D-Bus signal names (#2536) (work by Aleksandr Mezin)
2126
2127 * Emit `launched` signal for D-Bus activation of apps with `GDesktopAppInfo` (!2227) (work by Guido Günther)
2128
2129 * Fix IDs of `GDesktopAppInfo`s which are constructed from a `.desktop` file in a subdirectory (!2283) (work by Ivalyo Dimitrov)
2130
2131 * Add `--interactive` option to `gdbus call` (!2329)
2132
2133 * Add `G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP` to `GSubprocess` (!2333) (work by Hristo Venev)
2134
2135 * Bugs fixed:
2136  - #475 Add g_alloca0() and g_newa0()
2137  - #847 g_set_prgname() should be thread-safe
2138  - #865 GWeakRefs not cleared by g_object_run_dispose()
2139  - #1109 [PATCH] GDBusProxy: add G_DBUS_PROXY_FLAGS_NO_MATCH_RULE flag
2140  - #1231 gobject declare macros cause alignment warnings on armhf/armhf/mipsel
2141  - #1331 GArray with 10 million items overflows index arithmetic
2142  - #1735 Get back to a -werror build
2143  - #1781 Sort output of gsettings command-line tool
2144  - #2310 contenttype test leaks xdg-mime internal data
2145  - #2390 GWeakRef's aren't cleared again on finalization (and not fully thread-safe)
2146  - #2394 Toggle refs notification may not handle multiple threads correctly
2147  - #2400 Use-after-free in invoke_set_property_in_idle_cb()
2148  - #2401 GDBus runtime warning from remove_interfaces()
2149  - #2404 GTask: clarify that GTask assumes are running mainloop
2150  - #2426 GSettings delayed apply generates runtime warnings
2151  - #2443 Add Windows 11 support to get_windows_version()
2152  - #2468 GSequence pessimizes itself and slows down
2153  - #2471 g_output_stream_write_all_async prints error when count == 0 and content == NULL
2154  - #2488 Unix password unit test fails on FreeBSD 13
2155  - #2489 Add a (diagnostic) warning for finalized objects with floating refs
2156  - #2490 Upgrade to Unicode Character Database 14.0
2157  - #2496 Wrong parameter type for g_simple_proxy_resolver_set_ignore_hosts
2158  - #2498 GIR: Remove non-existing IOModule methods `load`, `unload`
2159  - #2500 Able to export object manager and object on root path, but not other paths
2160  - #2503 gspawn.c may clobber target fds
2161  - #2505 g_network_monitor_nm never updates on connection change (listens for signal on wrong dbus interface)
2162  - #2506 gspawn.c fails to close child_err_report_fd if it is duped to avoid conflation with one of the target_fds
2163  - #2507 Strange behavior of GFileEnumerator with GVfs locations
2164  - #2514 test suite failure in glib/tests/gdatetime.c if German locale de_DE.ISO-8859-1 is available
2165  - #2518 Misleading message when privileged program starts G_BUS_TYPE_SESSION
2166  - #2520 g_date_new_ functions return NULL on invalid input
2167  - #2523 MacOS generates warnings for g_size_checked_mul()
2168  - #2526 fuzz_uri_parse failure
2169  - #2527 Error storing dictionary with string keys as GSettings on macOS
2170  - #2528 g_dbus_message_new_from_blob goes into infinite loop for certain inputs
2171  - #2529 load_user_special_dirs returns NULL in certain cases
2172  - #2530 g_log_writer_is_journald fails if a Journal Namespace is used
2173  - #2536 GDBusProxy: make g-signal detailed
2174  - #2537 GTestDBus dbus daemon causes child process to hang when using verbose output
2175  - #2541 g_canonicalize_filename should work in linear time complexity
2176  - #2553 Consider not depending on strtoull_l and strtoll_l as much
2177  - !1960 Add g_main_context_new_with_flags() and ownerless polling option
2178  - !1968 gspawn: Implement fd remapping for posix_spawn codepath, and fix file descriptor conflation issues
2179  - !1991 Keyfile parsing performance improvements
2180  - !2029 Updating xdgmime
2181  - !2064 gobject: Cleanup GWeakRef locations on object finalization
2182  - !2114 Coerce type cast to void* because it causes compiler warnings
2183  - !2191 docs: Add .editorconfig file
2184  - !2214 Document potential footgun with GTlsCertificateFlags and deprecate certain usages
2185  - !2223 Better detection of the cleanup attribute.
2186  - !2227 gdesktopappinfo: Emit "launched" signal for D-Bus activation too
2187  - !2242 gsettings: Add various missing (nullable) or (not nullable) annotations
2188  - !2244 gutils: Avoid segfault in g_get_user_database_entry
2189  - !2245 gdesktopappinfo: Do not call xterm when it does not exist, inform the caller the launch failed
2190  - !2246 gobject: Document it’s unsafe to call g_object_ref() from GWeakNotify
2191  - !2249 Add version macros for GLib 2.72 and bump version to 2.71.0
2192  - !2251 GString: Bump minimum size
2193  - !2254 Small optimization for g_object_set
2194  - !2255 gobject: Clarify behaviour of adding weak refs during disposal
2195  - !2257 Fix documentation for g_dbus_object_manager_get_object().
2196  - !2260 GWin32AppInfo: Do not assert about successful open'ing of registry keys
2197  - !2261 Provide built DLLs as Gitlab-CI artifacts
2198  - !2266 fix uninitial variable
2199  - !2273 Fix more (Windows) warnings
2200  - !2277 Revert "Don't compile some unused functions in gio/xdgmime/"
2201  - !2283 GDesktopAppInfo: Try to always correctly set id
2202  - !2284 update the proxy-libintl subproject to the latest release
2203  - !2285 fix issues found by svace static code analyzer
2204  - !2286 meson: fix warnings for extract_all_objects function
2205  - !2287 ci: Update CI images to latest stable Debian and Fedora, bump Meson dependency to 0.52
2206  - !2288 Update g_source_remove doc comment: the function doesn't always return TRUE
2207  - !2289 Update g_source_remove documentation for the returned value
2208  - !2290 mkdir path specified by XDG_RUNTIME_DIR
2209  - !2292 Fix cast from pointer to integer of different size warning in gio/gwin32appinfo.c
2210  - !2293 glib-private: Fix MSVC build with AddressSanitizer
2211  - !2294 Fix windows warnings
2212  - !2295 gutf8: Document that out args from g_utf16_to_utf8() are non-negative
2213  - !2303 Fix more windows warnings
2214  - !2305 gio: document GFile API when relative path is absolute
2215  - !2306 gunixmounts: Drop references to pamconsole mount option
2216  - !2308 gthread-win32: Remove an unnecessary volatile qualifier
2217  - !2309 Rename libpcre.wrap to pcre.wrap
2218  - !2310 tests: Fix a typo in a test message in gdatetime.c
2219  - !2311 Fix always true comparison warning in glib/garray.c
2220  - !2319 docs: Fix the GListModel description
2221  - !2323 Fix final warnings in Windows code
2222  - !2324 Fix link to pcre-8.37.tar.bz2
2223  - !2326 Improve some documentation related to GTlsDatabase
2224  - !2328 gutf8: add string length check when ending character offset is -1
2225  - !2329 gdbus: Add --interactive option to `gdbus call`
2226  - !2332 Changed gendered terms to be gender-neutral
2227  - !2333 gsubprocess: Add G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP
2228  - !2336 tests: Drop arbitrary and flaky waits from actions tests
2229  - !2339 ci: Bump Meson version to 0.60.1 on macOS
2230  - !2341 tests: Wait for gdbus-testserver to die when killing it
2231  - !2342 tests: Reformat mkenums.py slightly to make run-black.sh happy
2232  - !2345 gutils: Disable some dead code on macOS
2233  - !2347 Removing tests/asyncqueue-test.c from tests/
2234  - !2348 gio/tests/codegen.py: bump timeout to 100 seconds
2235  - !2349 Annotate `g_getenv()` and `g_environ_getenv()` return value as `nullable`
2236  - !2352 tests: Fix a flaky wait in converter-stream
2237  - !2353 Address some oddities around GResolver::reload
2238  - !2357 ci: Upgrade to clang-format-11 from clang-format-7
2239  - !2360 meson: specify when commands need to succeed in run_command
2240  - !2364 tests: Allow `objcopy --help` to fail, because it fails on FreeBSD
2241  - !2365 Add vfunc checks in gappinfo.c
2242  - !2368 De-duplicate g_nearest_pow() implementation and add some overflow protections to g_ptr_array_maybe_expand(), g_string_maybe_expand() and g_string_chunk_insert_len()
2243  - !2370 gqsort: Move test to glib/tests/
2244  - !2371 Freeze notification during object destruction
2245  - !2372 docs: Improve GVariant docs
2246  - !2373 glib.supp: Suppress one-time allocation in g_get_home_dir()
2247  - !2376 GSource: move test to glib/tests/
2248  - !2379 Merging tests/bit-test.c into glib/tests/utils.c
2249  - !2381 tests: Test the function forms of g_bit_*() APIs too
2250  - !2382 gfileutils: Correctly reset start value when canonicalising paths
2251  - !2385 gfileutils: Fix transfer annotation and whitespace issues
2252  - !2386 docs: Add API documentation links to the README
2253  - !2387 docs: Update the README a little
2254  - !2390 Merging tests/child-test.c into glib/tests/spawn-multithreaded.c
2255  - !2391 Removing redundant cxx test tests/cxx-test.cpp
2256  - !2392 Move tests/completion-test.c to glib/tests/completion.c
2257  - !2393 Removing unnecessary test on gdatetime.c
2258  - !2396 fuzzing: Add a fuzz test for parsing DNS records
2259  - !2397 Moving tests/dirname-test.c to glib/tests/fileutils.c
2260  - !2398 fix /list/position test
2261
2262 * Translation updates:
2263  - Croatian
2264  - Friulian
2265  - Galician
2266  - Hebrew
2267  - Indonesian
2268  - Italian
2269  - Latvian
2270  - Lithuanian
2271  - Occitan (post 1500)
2272  - Persian
2273  - Polish
2274  - Portuguese
2275  - Portuguese (Brazil)
2276  - Romanian
2277  - Russian
2278  - Serbian
2279  - Slovak
2280  - Spanish
2281  - Swedish
2282  - Ukrainian
2283
2284
2285 Overview of changes in GLib 2.70.0
2286 ==================================
2287
2288 * Bugs fixed:
2289  - !2248 ci: Replace FreeBSD 11 with FreeBSD 13
2290
2291 * Translation updates:
2292  - Croatian
2293  - Danish
2294  - English (United Kingdom)
2295  - French
2296  - German
2297  - Hungarian
2298  - Polish
2299  - Swedish
2300  - Turkish
2301
2302
2303 Overview of changes in GLib 2.69.3
2304 ==================================
2305
2306 * Bugs fixed:
2307  - #2425 g_settings_schema_key_range_check() misbehaves for int versus bool
2308  - #2472 Compiling anything with GCC <4.6 spews deprecation warnings
2309  - #2477 `g_invoke_closure` bindings API break.
2310  - #2481 GPowerProfileMonitorPortal does not notice initial power-saver-enabled status
2311  - !2219 doc: Explicitly said, that no null term. is needed
2312  - !2238 ci: Use C.UTF-8 locale on FreeBSD 12
2313  - !2240 gio: Fix conditions in memory-monitor test
2314
2315 * Translation updates:
2316  - Basque
2317  - Catalan
2318  - Chinese (China)
2319  - Galician
2320  - Kazakh
2321  - Korean
2322  - Lithuanian
2323  - Romanian
2324
2325
2326 Overview of changes in GLib 2.69.2
2327 ==================================
2328
2329 * The `DBUS_SESSION_BUS_ADDRESS` environment variable is once more not used if
2330   the process is `AT_SECURE` (setuid/setgid/setcap); this change was previously
2331   applied and then reverted because it broke gnome-keyring (#2316)
2332
2333 * Add `g_test_fail_printf()`, `g_test_skip_printf()`,
2334   `g_test_incomplete_printf()` helper functions for printing messages when tests
2335   end prematurely (work by Simon McVittie) (!2215)
2336
2337 * Add portal implementation of `GPowerProfileMonitor` (work by
2338   Bastien Nocera) (!2222)
2339
2340 * Bugs fixed:
2341  - #2316 Re-harden DBUS_SESSION_BUS_ADDRESS for AT_SECURE processes in GLib 2.70
2342  - #2343 Document explicitly refcount mgmt of source-object during GAsyncReadyCallbacks
2343  - #2454 Read past the end of buffer in g_win32_package_parser_enum_packages
2344  - #2456 Frequent test failure on FreeBSD: glib/tests/thread-pool.c:197:test_thread_pool_full: 'free_func_called' should be TRUE
2345  - !2157 tests: Add missing wakeup calls to gdbus-names test
2346  - !2165 docs: Mention the stable/unstable support version in README.md
2347  - !2211 Improve documentation of various TLS stuff
2348  - !2215 gtestutils: Add more convenience functions
2349  - !2216 tests: Fix error handling when testing gtestutils
2350  - !2222 gio: Add portal version of GPowerProfileMonitor
2351  - !2224 Docs: Mention that G_VA_COPY() must be followed by `va_end()`
2352  - !2225 build: Fix implicit declaration of function errors
2353  - !2226 Annotate the GString constructors
2354
2355 * Translation updates:
2356  - Czech
2357  - Hebrew
2358  - Slovenian
2359  - Spanish
2360  - Swedish
2361
2362
2363 Overview of changes in GLib 2.69.1
2364 ==================================
2365
2366 * Support categories in desktop notifications (`GNotification`)
2367   (work by Guido Günther) (#2446)
2368
2369 * Add `GPowerProfileMonitor` for monitoring when to use less power (due to being
2370   on battery power, electricity being expensive or high-carbon, etc.)
2371   (work by Patrick Griffis, Bastien Nocera) (#2444)
2372
2373 * Allow static names to be set for `GSource`s to avoid unnecessary string copies
2374   (work by Matthias Clasen) (!2196)
2375
2376 * Bugs fixed:
2377  - #203 API: need g_module_open() variant with GError
2378  - #2058 win32: GPrivate can leak some objects
2379  - #2321 Add a GTypeFlag for final types
2380  - #2429 safe_fdwalk/safe_closefrom for Solaris 11.3/11.4
2381  - #2439 gio trash doesn't recognize existing trash directory in non-fs-root mount
2382  - #2446 Support `categories` for notifications
2383  - #2452 g_string_replace() loops 2**32 times when replacing empty string
2384  - !2177 gio/tests/g-file-info: don't assume million-in-one events don't happen
2385  - !2178 Clarify GValue documentation
2386  - !2179 Update GValue doc: How to use GBoxed with GValue
2387  - !2180 correctly use 3 parameters for close_range
2388  - !2181 gclosure: Fix the invoke() return_value annotation
2389  - !2182 glocalfileinfo: Fix usec/nsec confusion with filetimes on Windows
2390  - !2184 gspawn: Use CLOSE_RANGE_CLOEXEC if available
2391  - !2188 g_boxed_type_register_static, G_DEFINE_BOXED_TYPE: added correlating information
2392  - !2192 Fix more warnings
2393  - !2193 glib.supp: Expand match kinds for g_get_language_names() suppressions
2394  - !2194 Add GPowerProfileMonitor
2395  - !2195 Fix some test suite memory leaks
2396  - !2196 mainloop: Add g_source_set_static_name
2397  - !2197 GResource compiler: Prefix static [con|de]strutors with c_name
2398  - !2198 Port internal uses to use g_source_set_static_name()
2399  - !2200 Fix doc stanzas for GDataInputStream properties
2400  - !2201 Fix a Unicode typo
2401  - !2202 Document the stance on ID-based mainloop APIs
2402  - !2204 tests: Add a test for Unicode normalization
2403  - !2205 GWin32RegistryKey / GWin32AppInfo registry watch fixes
2404  - !2206 Adapt documentation to gi-docgen
2405  - !2210 GWin32AppInfo: Fix missing initialization
2406
2407 * Translation updates:
2408  - Indonesian
2409  - Portuguese
2410  - Portuguese (Brazil)
2411  - Russian
2412  - Ukrainian
2413
2414
2415 Overview of changes in GLib 2.69.0
2416 ==================================
2417
2418 * Fix a crash in `GKeyFile` when parsing a file which contains translations
2419   using a `GKeyFile` instance which has loaded another file previously (#2361)
2420
2421 * Pin GIO DLL in memory on Windows (!2016)
2422
2423 * Fix building third-party projects against GLib on CentOS 7 (work by
2424   Ignacio Casal Quinteiro) (#2387)
2425
2426 * Add `g_thread_pool_new_full()` API to allow queued `GThreadPool` data to be
2427   freed if the pool is freed early (work by Nitin Wartkar) (#121)
2428
2429 * Ensure `dlerror()` is used with locking as it’s not thread-safe in some libc
2430   implementations (#399)
2431
2432 * Add `g_dbus_is_error_name()` and `g_dbus_is_interface_name()` convenience
2433   functions (work by Nitin Wartkar) (#402)
2434
2435 * Drop internal libpcre copy in favour of a subproject from wrapdb (#962, #642)
2436
2437 * Add `g_prefix_error_literal()` helper function (work by Emmanuel Fleury,
2438   building on work by Dan Williams) (#663)
2439
2440 * Add `g_bytes_get_region()` to get data from a `GBytes` with range checks
2441   (work by Nitin Wartkar, building on work by Allison Karlitskaya) (#1098)
2442
2443 * Add `g_object_take_ref()` to sink a floating ref (work by Nitin Wartkar,
2444   building on work by Allison Karlitskaya) (#1112)
2445
2446 * Optimise grefcount atomic operations (work by Nishal Kulkarni) (#1583)
2447
2448 * Fix resolving child GSettings schemas from the parent’s schema source (work
2449   by Christian Persch) (#1884)
2450
2451 * Fix `g_date_time_format()` return value encoding if `LC_TIME` is not a UTF-8
2452   locale but other locale settings are (work by Frederic Martinsons) (#2055)
2453
2454 * Set app name in freedesktop.org notifications with `GNotification` (work
2455   by André Apitzsch) (#2069)
2456
2457 * Significantly improve retrieval of mount data on Windows (work by LRN based
2458   on initial analysis by Jehan Pagès) (#2096)
2459
2460 * Add `g_file_info_get_(access|creation)_date_time()` accessors (work
2461   by Abanoub Ghadban) (#2281)
2462
2463 * Always apply the remove_dot_segments algorithm to URIs in `g_uri_parse()`;
2464   previously it was only applied to relative URIs (work
2465   by Carlos Garcia Campos) (#2342)
2466
2467 * Rename git `master` branch to `main` (#2348)
2468
2469 * Various macro and version check cleanup (work by Gaël Bonithon,
2470   Robin Verdenal-Tallieux, Nishal Kulkarni) (#2376, #2388, #2389)
2471
2472 * Add a `GTlsConnectionClass.get_negotiated_protocol` vfunc so that
2473   `g_tls_connection_get_negotiated_protocol()` can be made thread-safe
2474   (work by Michael Catanzaro) (#2393)
2475
2476 * Improve guess about whether a Windows process is a console process
2477   (work by Princeton Ferro with input from LRN) (!1662)
2478
2479 * Add `g_steal_fd()` function (work by Simon McVittie) (!1966)
2480
2481 * Add `g_spawn_check_wait_status()` and distinguish more carefully between
2482   wait status and exit status in the `GSpawn` API (work by Simon McVittie) (!1967)
2483
2484 * Document GLib’s security policy; see
2485   https://gitlab.gnome.org/GNOME/glib/-/blob/main/SECURITY.md (!1985)
2486
2487 * Add `g_tree_remove_all()` (work by Lighto-Ku) (!1986)
2488
2489 * Simplify exception handling on Windows to eliminate risk of it failing due
2490   to prior heap corruption (work by LRN) (!2031)
2491
2492 * Fix handling EOF when reading from SOCKS5 proxy stream (work
2493   by Benjamin Berg) (!2032)
2494
2495 * Unset the registered state of a `GApplication` after it has shut down (work
2496   by Marco Trevisan) (!2056)
2497
2498 * Support `GPattern` as a boxed type (work by Marco Trevisan) (!2066)
2499
2500 * Add `g_tls_connection_get_protocol_version()` and
2501   `g_tls_connection_get_ciphersuite_name()` to get TLS connection information
2502   (work by Michael Catanzaro) (!2077)
2503
2504 * Make TLS private key properties readable in `GTlsCertificate` (work
2505   by Michael Catanzaro) (!2087)
2506
2507 * Fix detection of static libintl when building on macOS (work
2508   by Jonas Hahnfeld) (!2109)
2509
2510 * Add `g_strv_builder_addv()` and `g_strv_builder_add_many()` to the
2511   `GStrvBuilder` API (work by Alexandros Theodotou) (!2112)
2512
2513 * Add `not-valid-before`, `not-valid-after`, `subject-name`, `issuer-name`,
2514   `dns-names`, `ip-addresses` properties to `GTlsCertificate`
2515   (work by Ross Wollman) (!2113, !2142)
2516
2517 * Add PKCS#11 flags to `GTlsPasswordFlags` (work by Patrick Griffis) (!2126)
2518
2519 * Bugs fixed:
2520  - #121 GThreadPool and the ability to free data waiting to be handled
2521  - #229 g_match_info_fetch_named not return empty string as expected
2522  - #310 ref doc doesn't talk about "helper getters" optimization in g_file_info.c
2523  - #399 dlerror() not thread-safe in all libc, making gmodule-dl.c's fetch_dlerror fail sometimes
2524  - #402 please consider: #define g_dbus_is_error_name(x) g_dbus_is_interface_name (x)
2525  - #626 Add documentation example for GArray and g_array_set_clear_func()
2526  - #642 update to pcre 8.35+
2527  - #663 [patch] add g_prefix_error_literal()
2528  - #793 Potentially confusing error message when object doesn't exist
2529  - #817 gobject: Allow passing %NULL for @data in g_object_remove_toggle_ref
2530  - #962 drop embedded pcre copy
2531  - #1036 gdbusproxy stops tracking if dbus service restarts
2532  - #1098 GBytes: add range-checked pointer getter
2533  - #1112 GObject: add g_object_take_ref()
2534  - #1583 Optimise gatomicrefcount operations
2535  - #1864 Somewhat misleading documentation of GSourceFuncs
2536  - #1884 `g_settings_get_child` not compatible with `g_settings_schema_source_new_from_directory`
2537  - #2011 Add additional unit tests for D-Bus name watching
2538  - #2055 g_date_time_format() does not return UTF-8 if LC_TIME is not UTF8 but other locale settings are UTF-8
2539  - #2069 FreedesktopNotification fails to set app_name
2540  - #2096 SHGetFileInfoW() is not reliable (time-wise)
2541  - #2281 Add g_file_info_get_(access|creation)_date_time()
2542  - #2300 Crash on Windows MSVC build around gio
2543  - #2311 testfilemonitor test leaks ip_watched_file_t struct
2544  - #2340 GIO tests fail to build with clang-cl
2545  - #2342 g_uri_parse doesn't apply the remove_dot_segments algorithm to the path
2546  - #2348 Investigate renaming master git branch to main
2547  - #2352 RUN_FIRST | RUN_CLEANUP signals with a default handler ignore return values from user handlers
2548  - #2359 GLib 2.68.0: gio-querymodules segfaults on Windows
2549  - #2361 g_key_file_load_from_file segfaults on "Key[*]="like lines
2550  - #2363 g_newa() doesn’t check for multiplication overflow
2551  - #2368 g_task_run_in_thread () limits are not clear
2552  - #2369 glocalfile: Add native exfat magic number to  filesystem list
2553  - #2376 GLIB_VERSION_MAX_ALLOWED < 2.60 does not warn when using G_GNUC_FALLTHROUGH
2554  - #2387 json-glib does not build with glib 2.68.1
2555  - #2388 Pixman compilation error due to glib
2556  - #2389 Use G_GNUC_CHECK_VERSION to check the GNUC version
2557  - #2393 g_tls_connection_get_negotiated_protocol() is not threadsafe
2558  - #2397 Slow to list device in windows
2559  - #2399 Change spelling of ‘serialise’ to ‘serialize’ in documentation
2560  - #2405 Mention that GNotification requires an installed .desktop file to work
2561  - #2409 Project crashes when executing g_application_mark_busy
2562  - #2414 Devhelp: Glib Reference Manual/Glib Overview/Running Glib Applications formatting issue.
2563  - #2416 certificate: g_tls_certificate_new_from_pem invalid read on non null terminated data
2564  - #2417 GFile: `g_file_replace_contents()` reports `G_IO_ERROR_WRONG_ETAG` when saving from a symlink
2565  - #2418 gatomic: __atomic functions are called for CV-qualified output variables
2566  - #2423 resources.c:656:test_resource_binary_linked: 'found' should be TRUE
2567  - !1514 gbookmarkfile: Don't crash if we're not visited
2568  - !1662 gspawn-win32: improve guess whether process is console process
2569  - !1812 docs: Expand documentation about D-Bus GUIDs
2570  - !1957 Fix more warnings
2571  - !1965 gversionmacros: Add version macros for GLib 2.70
2572  - !1966 Add g_steal_fd() to API
2573  - !1967 Distinguish more clearly between wait status and exit status
2574  - !1969 glib_typeof: Move definition to its own header
2575  - !1985 docs: Add a policy for handling security issues
2576  - !1986 make g_tree_remove_all public
2577  - !1996 Include glibconfig.h to get the G_OS_UNIX token
2578  - !1998 gpollableinputstream: Add missing annotation
2579  - !1999 goption.c: Simplfy parse_short_option()
2580  - !2004 Some improvements to clang-cl builds
2581  - !2005 introspection: Remove 'caller-allocates' from POD types
2582  - !2006 fuzzing: Add fuzz tests for functions which parse paths
2583  - !2008 tests: Deactivate tls-bindings test suite for windows
2584  - !2011 docs: Fix example program link
2585  - !2012 docs: Replace git.gnome.org with gitlab.gnome.org urls
2586  - !2013 fuzzing: Fix assertion failure in fuzz_paths.c
2587  - !2016 GIO W32: Pin gio DLL
2588  - !2023 gtlspassword: Fix g-i annotation of return for g_tls_password_get_value
2589  - !2025 [th/gdbus-cleanup] two minor cleanup patches for gdbusconnection.c
2590  - !2026 Split g_test_log() messages that contain multiple lines
2591  - !2027 Fix a handful of minor leaks found by Coverity
2592  - !2030 Fix more warnings
2593  - !2031 Re-simplify exception handling on Windows
2594  - !2032 gsocks5proxy: Handle EOF when reading from a stream
2595  - !2033 Fix annotation of count arguments
2596  - !2036 gmacros.h: use G_GNUC_CHECK_VERSION
2597  - !2038 Fix more warnings
2598  - !2039 Implement G_ANALYZER_NORETURN for Coverity
2599  - !2040 Fix more warnings
2600  - !2041 refcount: Clarify when the ref count ends up undefined
2601  - !2042 grefcount: Clarify that the initial reference count is 1
2602  - !2043 gmacros.h: use g_macro__has_attribute() where possible
2603  - !2046 gerror: Clarify docs around message requirements
2604  - !2047 Fix more warnings
2605  - !2048 Fix more warnings
2606  - !2049 Fix typo in g_socket_listener_accept_async()'s comment
2607  - !2050 gdbus: document completion after idle action for g_dbus_connection_signal_unsubscribe()
2608  - !2051 Add nullable annotations in GUnixMountEntry
2609  - !2052 g_string_replace(): Fix documentation of 'limit' parameter
2610  - !2054 docs: Fix formatting of code block
2611  - !2055 Improve handling of FILENAME_MAX
2612  - !2056 application: Unset the registered state after shutting down
2613  - !2063 Fix more warnings
2614  - !2066 gpattern: Register as Boxed type and support introspection for it
2615  - !2067 gmacros: missing check if __STDC_VERSION__ is defined
2616  - !2069 gdbus-tool: Actually use argv[0] basename as program name
2617  - !2071 gstring: Cleanup documentation of g_string_replace
2618  - !2074 Fix more warnings
2619  - !2075 gdtlsconnection: Fix a check for a vfunc being implemented
2620  - !2077 tls: add functions to get protocol version and ciphersuite name
2621  - !2078 gthreadedresolver: don't ignore flags in lookup_by_name_with_flags
2622  - !2080 guuid: fix shift operation to parse hex string in uuid_parse_string()
2623  - !2081 Fix more warnings
2624  - !2085 gcredentials.h: Fix comment typo
2625  - !2087 gtlscertificate: make private key properties readable
2626  - !2088 Fix more warnings
2627  - !2090 docs: Standardize spelling of serializ*
2628  - !2091 Fix more warnings (clang)
2629  - !2098 grefcount: Optimise g_atomic_ref_count_dec
2630  - !2099 gmacros.h: G_NORETURN: remove useless checks
2631  - !2100 tests: Add missing return value check in string test
2632  - !2101 Fix more warnings
2633  - !2104 tests: Drop use of g_test_bug_base()
2634  - !2105 tests: Use a temporary file in the bookmarkfile tests
2635  - !2106 Fix more warnings
2636  - !2108 glib spawn-singlethread test only if F_DUPFD_CLOEXEC is defined
2637  - !2109 meson: Fix detection of static libintl on macOS
2638  - !2112 gstrvbuilder: add addv and add_many to the API
2639  - !2113 tls: expose cert details on GTlsCertificate
2640  - !2119 Fix more warnings
2641  - !2120 gdbusobjectmanagerclient: Call GetManagedObjects async
2642  - !2123 gdbus: Add various missing (nullable) or (not nullable) annotations
2643  - !2126 gtlspassword: Add flags signifying PIN type for PKCS#11
2644  - !2127 gutils: ensure g_find_program_in_path() return an absolute path
2645  - !2130 Revert "tests: Deactivate tls-bindings test suite for windows"
2646  - !2139 gdbus, win32: Fix accidental dllexport in static builds
2647  - !2142 tls: expose SAN details on GTlsCertificate
2648  - !2143 compiling.xml: Don't recommend backticks
2649  - !2144 pcre: Drop internal libpcre copy
2650  - !2145 gunixmounts: Document NULL return value for g_unix_mount_for()
2651  - !2152 tests: A few small improvements to GBytes tests
2652  - !2153 docs: Fix annotations for optional arguments
2653  - !2155 glocalfilemonitor: Avoid a deadlock on finalization
2654  - !2162 testgdate: fix -Wmisleading-indentation warning
2655  - !2166 gtlscertificate: Add more annotations to new properties
2656  - !2167 g_value_set_string description: clarified (unified), that v_string is a copy.
2657  - !2173 gasyncqueue: Add missing (nullable) annotation to free function
2658  - !2174 data-to-c.py: generate new-line at the end of the file
2659
2660 * Translation updates:
2661  - Chinese (China)
2662  - English (United Kingdom)
2663  - Hebrew
2664  - Nepali
2665  - Occitan (post 1500)
2666  - Serbian
2667
2668
2669 Overview of changes in GLib 2.68.0
2670 ==================================
2671
2672 * Bugs fixed:
2673  - !1987 build: Drop gconstructor_as_data_h usage from glib-compile-schemas
2674  - !1989 glib.supp: Generalize some suppressions
2675  - !1992 gbytesicon: Fix error in g_bytes_icon_new() documentation
2676  - !1994 glocalfileoutputstream: Tidy up error handling
2677  - !1995 tests: Fix copy/paste error in queue test
2678
2679 * Translation updates:
2680  - Czech
2681  - Finnish
2682  - Italian
2683  - Korean
2684  - Lithuanian
2685  - Polish
2686  - Romanian
2687  - Slovenian
2688  - Turkish
2689
2690
2691 Overview of changes in GLib 2.67.6
2692 ==================================
2693
2694 * Fix a security issue when using `g_file_replace()` with
2695   `G_FILE_CREATE_REPLACE_DESTINATION` (#2325)
2696
2697 * Disallow operations on the empty path with `g_file_new_from_path()` (#2328)
2698
2699 * Various fixes for GLib when building with clang-cl on Windows (work by
2700   Aleksandr Mezin) (#2341, #2344)
2701
2702 * Bugs fixed:
2703  - #2325 file-roller symlink attack
2704  - #2327 Teach glib-mkenums about GLIB_AVAILABLE_ENUMERATOR_IN_2_68, and start using it
2705  - #2328 g_file_new_for_path("") yields CWD, which seems wrong
2706  - #2341 glib-genmarshal output is sometimes empty because output file is not closed
2707  - #2344 c_std=c11: gbitlock.c: ‘asm’ undeclared
2708  - !1962 Validate D-Bus machine ID after loading
2709  - !1976 Use the right permissions for directory watching on Win32
2710  - !1977 gio/tests/{meson.build,pollable.c}: Determine libutil SONAME at build time
2711  - !1980 glib.supp: Add another system thread suppression
2712
2713 * Translation updates:
2714  - Basque
2715  - Catalan
2716  - Czech
2717  - French
2718  - Galician
2719  - German
2720  - Hungarian
2721  - Indonesian
2722  - Korean
2723  - Latvian
2724  - Portuguese
2725  - Portuguese (Brazil)
2726  - Serbian
2727  - Spanish
2728  - Swedish
2729  - Ukrainian
2730
2731
2732 Overview of changes in GLib 2.67.5
2733 ==================================
2734
2735 * Fix more issues with `glib_typeof` macro from 2.67.3–2.67.4 (work by
2736   Iain Lane, Simon McVittie) (#2331, !1975)
2737
2738 * Fix regression with some FD mappings passed to `g_subprocess_launcher_spawnv()`
2739   caused by changes for #2097 in GLib 2.67.4 (work by Olivier Fourdan,
2740   Philip Withnall) (#2332)
2741
2742 * Fix detection of `str[n]casecmp()` when building with `clang-cl` (work by
2743   Aleksandr Mezin) (#2337)
2744
2745 * Use zlib from subproject if configured with `wrap_mode=forcefallback` (work by
2746   Seungha Yang) (!1959)
2747
2748 * Bump Visual Studio compilation requirement to VS 2012, and Windows 8 SDK for
2749   GLib 2.67.x onwards (work by Chun-wei Fan) (!1970)
2750
2751 * Bugs fixed:
2752  - #832 Some tweaks re: GRWLock
2753  - #2331 glib 2.67.3: <glib.h> can no longer be included in extern "C" blocks
2754  - #2332 Glib 2.67.4 causes gnome-shell to exit when spawning Xwayland on demand
2755  - #2333 Missing relation between g_file_info_get_size() and G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in documentation
2756  - #2337 Linking fails when building with clang-cl because of str[n]casecmp
2757  - !1936 tests: Fix leak of dlopened module in pollable test
2758  - !1954 Change SkipAsyncData fields to be gsize (and not gssize)
2759  - !1956 The ETag returned by various GFile functions is nullable
2760  - !1959 meson: Use subproject zlib if "wrap_mode=forcefallback" was specified
2761  - !1961 gkeyfilesettingsbackend: check for errors when creating file monitors
2762  - !1970 README.win32.md: Mention about Window 8+ SDK requirement
2763  - !1971 gio/tests/pollable.c: Fix build on non-Linux UNIX
2764  - !1975 gatomic.h: Make `glib_typeof` API break opt in.
2765
2766 * Translation updates:
2767  - Basque
2768  - Danish
2769  - English (United Kingdom)
2770  - Galician
2771  - German
2772  - Indonesian
2773  - Lithuanian
2774  - Portuguese
2775  - Portuguese (Brazil)
2776  - Slovenian
2777
2778
2779 Overview of changes in GLib 2.67.4
2780 ==================================
2781
2782 * Add a `g_string_replace()` function (work by Joshua Lee) (#225)
2783
2784 * Add `G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER` flag to simplify
2785   the common case for writing a D-Bus authentication observer, allowing most
2786   uses of `GDBusAuthObserver` to be dropped (#1804)
2787
2788 * Add a new `g_spawn_with_pipes_and_fds()` variant which supports renumbering
2789   FDs (#2097)
2790
2791 * Add new g_memdup2() API to replace g_memdup(), which is vulnerable to a
2792   silent integer truncation and heap overflow problem if not used carefully
2793   (discovered by Kevin Backhouse, work by Philip Withnall) (#2319)
2794
2795 * Fix various regressions caused by rushed security fixes in 2.66.6 (work by
2796   Simon McVittie and Jan Alexander Steffens) (!1932, !1941, #2323)
2797
2798 * Fix a silent integer truncation when calling g_byte_array_new_take() for
2799   byte arrays bigger than G_MAXUINT (work by Krzesimir Nowak) (!1942)
2800
2801 * Fix `g_utf8_strdown()` to fix some issues in Turkish
2802   (work by Kjell Ahlstedt) (!1930)
2803
2804 * Bugs fixed:
2805  - #225 GString doesn't have a g_string_replace() function
2806  - #587 g_input_stream_skip() out-of-bounds behavior is inconsistent between implementations
2807  - #1804 Add G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flag
2808  - #2097 GSubprocessLauncher with FD assignment can clash with g_spawn_async internal pipe
2809  - #2315 httpproxy: Need overflow protection when reading response during connection establishment
2810  - #2319 CVE-2021-27219 (GHSL-2021-045): integer overflow in g_bytes_new/g_memdup
2811  - #2322 g_test_dbus: double output when piping
2812  - #2323 [GLIB 2.66.6] g_io_channel_set_line_term() stopped working with null terminated strings and length -1
2813  - !1917 Adding a missing test on integer overflow within g_http_proxy_connect()
2814  - !1918 Fix more warnings
2815  - !1923 Add support for Tilix and Konsole
2816  - !1930 guniprop: Fix g_utf8_strdown() for Turkish locale
2817  - !1932 gtlspassword: Fix inverted assertion
2818  - !1934 gdbus: Reject attempts to set future connection or server flags
2819  - !1938 Fix more warnings
2820  - !1939 ci: Temporarily disable macOS CI job as runner is offline
2821  - !1940 Fix more warnings
2822  - !1941 gkeyfilesettingsbackend: Fix basename handling when group is unset
2823  - !1942 CVE-2021-27218: gbytearray: Do not accept too large byte arrays
2824  - !1947 Revert "Merge branch 'wip/pwithnall/macos-ci-disable' into 'master'"
2825  - !1948 tests: Use a more realistic language code than sv_SV
2826  - !1949 gatomic: Make fallback g_atomic_pointer_get type-safe
2827  - !1951 Add a test for parsing 0 as double
2828  - !1955 tests: Add missing NULL terminator to spawn-singlethread test
2829
2830 * Translation updates:
2831  - Catalan
2832  - Galician
2833  - Hungarian
2834  - Portuguese
2835  - Romanian
2836  - Slovenian
2837  - Spanish
2838  - Swedish
2839  - Turkish
2840  - Ukrainian
2841
2842
2843 Overview of changes in GLib 2.67.3
2844 ==================================
2845
2846 * Add new `g_memdup2()` API to replace `g_memdup()`, which is vulnerable to a
2847   silent integer truncation and heap overflow problem if not used carefully
2848   (discovered by Kevin Backhouse, work by Philip Withnall) (#2319)
2849
2850 * Add new `g_dbus_object_path_escape()` and `g_dbus_object_path_unescape()` APIs
2851   to provide one way of escaping arbitrary bytestrings for use in D-Bus object
2852   paths (work by Lars Karlitski and Frederic Martinsons) (#968)
2853
2854 * Use `bash-completion.pc` (if available) to provide the path to install
2855   completion files into (work by Frederic Martinsons) (#1054)
2856
2857 * Fix support for public/private trigraphs in `glib-mkenums` (work by Matthias Klumpp) (!1870)
2858
2859 * Add `glib_debug` configure option to allow disabling debug infrastructure in
2860   builds with debug symbols enabled (work by Ole André Vadla Ravnås) (!1889)
2861
2862 * Fix a regression where `PATH` would always be searched when using `g_spawn()`,
2863   even when it wasn’t supposed to (work by Simon McVittie and Thomas Haller) (!1902)
2864
2865 * Override `gio-querymodules` in Meson when used as a submodule (work by Xavier Claessens) (!1909)
2866
2867 * Bugs fixed:
2868  - #344 gdbus(1) command-line completion issues
2869  - #968 gdbus: add g_dbus_object_path_{un,}escape
2870  - #1054 Use pkg-config to get path for bash-completion file installation
2871  - #1180 GUnixInputStream and GUnixOutputStream don't consider TTYs pollable
2872  - #2011 Add additional unit tests for D-Bus name watching
2873  - #2226 clang++ compilation fails on clusterfuzz
2874  - #2292 Cannot find a common ancestor when running CI style check jobs
2875  - #2299 GObject introspection annotation of g_closure_new_object() is wrong
2876  - #2305 GIO security hardening causing gnome-keyring to regress when session bus is provided by dbus-launch (dbus-x11)
2877  - #2314 gdatetime: math library link issue
2878  - #2319 GHSL-2021-045: integer overflow in g_bytes_new/g_memdup
2879  - !610 Various memory leak cleanups to GSettings tests
2880  - !1804 Add more GIR annotations to gparam.c and gsignal.c
2881  - !1823 Fix more warnings
2882  - !1843 gfile: Add Linux kernel headers compatibility kludge
2883  - !1847 Port to QNX
2884  - !1853 ginetaddress: Handle systems without IPv6 support
2885  - !1859 docs: update g_action_group_activate_action() remote activation semantics
2886  - !1860 glocalfile: Fix an uninitialized variable
2887  - !1865 tests: Add more debug information to gdbus-connection-slow
2888  - !1868 gdesktopappinfo: Fix validation of XDG_CURRENT_DESKTOP
2889  - !1870 mkenums: Support public/private trigraph again
2890  - !1873 Fix possible integer overflow of g_socket_send_message()
2891  - !1876 Fixing g_socket_send_message() documentation to make it clearer
2892  - !1877 Fix more warnings
2893  - !1878 Another fix on g_socket_send_message()
2894  - !1879 Fix more warnings
2895  - !1880 GError documentation tweaks
2896  - !1881 docs: Move ‘Notes’ section from README to NEWS
2897  - !1883 gutils: Document caching of XDG directory variables
2898  - !1884 gthread-win32: Use SetThreadDescription Win32 API for setting thread name
2899  - !1887 ci: Fix msys-mingw32 CI builds due to package rename
2900  - !1888 docs: Add documentation for GLIB_VERSION_CUR_STABLE and PREV_STABLE
2901  - !1889 build: Add glib_debug option
2902  - !1890 gtype: Improve formatting of GType documentation
2903  - !1891 Fix more warnings
2904  - !1893 gwin32appinfo: Fix printf length sub-specifier
2905  - !1894 gsocket: Fix SO_NOSIGPIPE regression on Darwin
2906  - !1898 gtestutils: Add g_test_get_path() API
2907  - !1899 m4macros: replace obsolete macros AC_TRY_RUN and AC_TRY_LINK in glib-2.0.m4
2908  - !1900 [th/gsignal-cleanup] minor changes to GSignal related code
2909  - !1901 Check if the remote already exists before adding it.
2910  - !1902 spawn: Don't set a search path if we don't want to search PATH
2911  - !1903 m4macros: Increment serial number of glib-2.0.m4
2912  - !1905 Start to ignore known leaks under AddressSanitizer
2913  - !1906 gdbus-serialization: Don't leak string containing first serialization
2914  - !1908 Fix straightforward memory leaks in tests
2915  - !1909 Meson: override gio-querymodules program
2916  - !1910 gio: Add explicit virtual g-i annotations for undiscovered invoker relationship
2917  - !1911 Fix more warnings
2918  - !1915 Mark g_key_file_get_comment() key parameter as nullable
2919  - !1919 atomic: Fix type check of g_atomic_pointer_compare_and_exchange()
2920  - !1921 guri: Mark g_uri_get_host as nullable
2921  - !1925 gapplication: Fix a memory leak
2922
2923 * Translation updates:
2924  - Czech
2925  - Friulian
2926  - Galician
2927  - Hungarian
2928  - Portuguese
2929  - Portuguese (Brazil)
2930  - Romanian
2931  - Spanish
2932  - Ukrainian
2933
2934
2935 Overview of changes in GLib 2.67.2
2936 ==================================
2937
2938 * Add `gio launch` command to execute programs (work by Frederic Martinsons) (#54)
2939
2940 * Fix unused parameter warnings in code generated by `gdbus-codegen` (work by Frederic Martinsons) (#1105)
2941
2942 * Officially deprecate `to-pixdata` option for `glib-compile-resources`, in favour
2943   of simply embedding more modern image formats in linked-in `GResource` files (#1281)
2944
2945 * Support querying and running UWP applications on Windows (work by LRN) (#1991)
2946
2947 * Support `gio trash --restore` and `gio trash --list` commands (work by Frederic Martinsons) (#2098)
2948
2949 * No longer read environment variables for GIO module locations when running as setuid (#2168)
2950
2951 * More progress on fixing compiler warnings (work by Emmanuel Fleury) (!1773 and others)
2952
2953 * `GKeyFile` performance improvements (work by Timm Bäder) (!1829, !1832)
2954
2955 * Improve UDP socket behaviour on Windows (work by Marco Mastropaolo and Ole André Vadla Ravnås) (!1827, !1844)
2956
2957 * Add `-Dtests` meson configure option for disabling tests entirely (work by Ole André Vadla Ravnås) (!1850)
2958
2959 * Bugs fixed:
2960  - #54 Add `gio launch` command to execute .desktop files
2961  - #513 GSignal: Impossible to have return values in signals which are G_SIGNAL_RUN_FIRST only
2962  - #514 GSignal: Only limited usage of accumulator function possible
2963  - #1105 gdbus-codegen: fix some unused parameter warnings
2964  - #1188 Crash in gapplication.c:1014 when reading error message if dbus_register returns false without setting error
2965  - #1281 Update glib-compile-resources and GResource docs to deprecate/remove to-pixdata in stable/master resp.
2966  - #1283 gvfs-trash error message when unable to create trash directory is unhelpful
2967  - #1568 GObject tutorial does not mention floating references
2968  - #1991 W32: Glib cannot run UWP applications
2969  - #2098 gio trash: restore trashed files to their original location
2970  - #2168 giomodule: Loads GIO modules even if setuid, etc.
2971  - #2264 GPtrArray might call qsort() with NULL data
2972  - #2265 2.67.1 regression: assertion failure starting gnome-terminal
2973  - #2275 gio/completion/gio: Some variables are not localized
2974  - #2279 g_source_is_destroyed example uses deprecated GDK API
2975  - !1304 Extended error
2976  - !1773 Fix more warnings
2977  - !1783 gtlsdatabase: remove duplicate precondition check
2978  - !1784 fuzzing: Add more fuzzing tests for various string parsing functions
2979  - !1785 glocalfile: Add an assertion to help static analysis
2980  - !1787 Debuggability improvements in gosxappinfo.m
2981  - !1788 gdate: Validate input as UTF-8 before parsing
2982  - !1791 gdatetime: Disallow NAN as a number of seconds in a GDateTime
2983  - !1794 gio-tool-info: Prevent criticals if mount options are not available
2984  - !1796 gfileutils: Fix typo in docs
2985  - !1797 gdatetime: Improve ISO 8601 parsing to avoid floating point checks
2986  - !1801 glib: Add more missing return value annotations
2987  - !1802 gobject: More missing return value annotations
2988  - !1806 tests: Add some rounding tolerance in timeout test
2989  - !1807 python: Reformat some files to keep style-check-diff happy
2990  - !1808 tests: Be more lenient with timing checks on asyncqueue pops
2991  - !1810 gfileinfo: Add missing preconditions to g_file_info_get_attribute_data()
2992  - !1811 Add more missing nullable annotations
2993  - !1813 gdbus-codegen: Ignore some flake8 warnings
2994  - !1815 Fix more warnings
2995  - !1816 fuzzing: Add more GUriFlags to the URI parsing test
2996  - !1817 fuzzing: Add more parsing flags to the GKeyFile test
2997  - !1818 Fix more warnings
2998  - !1819 Fix more warnings
2999  - !1821 gdate: Limit length of dates which can be parsed as valid
3000  - !1822 Fix more warnings
3001  - !1827 Windows: fix FD_READ condition flag still set on recoverable UDP socket errors.
3002  - !1829 keyfile: Delay calling g_get_language_names() until it's needed
3003  - !1830 gsocket: Fix credentials error-handling on Apple OSes
3004  - !1832 More small GKeyFile performance improvements
3005  - !1834 Update gvdb
3006  - !1837 gdatetime.c: Fix MSVC builds for lack of NAN items
3007  - !1838 Minor improvements to GError documentation
3008  - !1840 Add nullable annotation for g_file_get_uri_scheme
3009  - !1841 gthread: Fix incorrect cast
3010  - !1842 gthread: Port native mutex to Clang
3011  - !1844 gsocket: Improve default UDP behavior on Windows
3012  - !1845 gsocket: Fix use-after-close
3013  - !1848 gwin32: Always use unicode APIs
3014  - !1850 build: Add option for disabling tests
3015  - !1855 build: Fix ssize_t detection on older versions of glibc
3016  - !1856 build: Fix Android system checks
3017  - !1857 gtestutils: Fix g_assert_not_reached() on MSVC
3018  - !1861 More GError tests
3019  - !1863 tests: Ignore -Wformat-nonliteral warning in new GError tests
3020
3021 * Translation updates:
3022  - Catalan
3023  - Galician
3024  - German
3025  - Lithuanian
3026  - Romanian
3027  - Spanish
3028  - Ukrainian
3029
3030
3031 Overview of changes in GLib 2.67.1
3032 ==================================
3033
3034 * Deprecate `g_time_zone_new()` in favour of `g_time_zone_new_identifier()`,
3035   which makes error checking easier (#553)
3036
3037 * Remove `volatile` from various public APIs, including `G_DEFINE_*`. You should
3038   adjust your code to not use `volatile` for atomic variables, `GOnce`
3039   variables, or mostly anything else (see
3040   http://isvolatileusefulwiththreads.in/c/). (#600)
3041
3042 * Support passing file handles to `gdbus` command line tool (work by
3043   Norbert Pocs and Tim Waugh) (#961)
3044
3045 * Add `g_assert_cmpstrv()` test convenience function (work by Niels De Graef) (#2015)
3046
3047 * Changes to the behaviour of the `G_URI_FLAGS_SCHEME_NORMALIZE` scheme
3048   normalization flag in `GUri` (work by Carlos Garcia Campos) (#2257, !1716)
3049
3050 * Add new `--run-prefix` and `--skip-prefix` options to GTest, to allow running
3051   or skipping test suites by prefix (work by Frederic Martinsons) (!1738)
3052
3053 * Fix thread-safety of `GBinding`; see the updated documentation for
3054   `g_object_bind_property()` for full details — if your code uses `GBinding`
3055   across threads, you should re-check it against the latest documentation, use
3056   `g_binding_unbind()` rather than implicitly dropping the binding with your
3057   last `g_object_unref()` call, and use `g_binding_dup_source()`/`g_binding_dup_target()`
3058   instead of `g_binding_get_source()`/`g_binding_get_target()`
3059   (work by Sebastian Dröge) (!1745)
3060
3061 * Bugs fixed:
3062  - #553 Improved error-handling when timezone lookup fails
3063  - #600 Remove "volatile" from G_DEFINE_*
3064  - #961 gdbus tool: file handle passing doesn't work
3065  - #994 mark g_assert_* as "noreturn" also on MSVC
3066  - #1560 Can't get data for empty compressed resources
3067  - #1592 Main loop ignores GPollFD sources when there is at least one source ready with priority higher than default one
3068  - #1833 meson: reconsider G_DISABLE_CAST_CHECKS handling
3069  - #1849 Documentation of g_set_object(): can object_ptr be null?
3070  - #1963 Follow-up from "gdbusmessage: Limit recursion of variants in D-Bus messages"
3071  - #2015 Add g_assert_cmpstrv() test utility
3072  - #2046 Add pylint and shellcheck CI checks
3073  - #2074 Big dbus writes with a FD list fail
3074  - #2076 g_type_register_fundamental() and g_type_add_interface_static() should not trigger valgrind leak warnings
3075  - #2150 Add URI parsing tests from GstURI to GUri
3076  - #2221 GLib-GIO:ERROR:../gio/tests/gsocketclient-slow.c:99:on_event: 'connection' should be NULL
3077  - #2223 Documentation of g_strrstr_len is misleading; suggested fix
3078  - #2233 GSocketClient crashes on connection failure
3079  - #2236 Docs: gdbus-codegen example links broken
3080  - #2253 In gspawn.c, use sysconf() system call on Mac OS, instead of default maxfiles limit of 4096
3081  - #2257 GUri: apply scheme normalization flag consistently
3082  - !1251 Improve support for interface types
3083  - !1385 gobject: allocate parameter list for g_object_new_valist() entirely on stack
3084  - !1629 Add some tracing to GTask
3085  - !1699 Fix signedness warnings
3086  - !1701 gio: Fix some remaining DocBook syntax in a documentation comment
3087  - !1708 gio: Add missing nullable annotations
3088  - !1716 guri: Normalize uri segments if they are encoded and add a flag to do scheme-based normalization
3089  - !1722 gio: Fix various typos of the name ‘D-Bus’
3090  - !1724 glib/tests/fileutils: Fix expectations when running as root
3091  - !1726 gdbus: Document the intended semantics of handles and fdsTim Waugh
3092  - !1731 Make more use of g_assert_no_errno()
3093  - !1733 gdbusauthmechanismsha1: Don’t create keyring dir when running as setuid
3094  - !1734 glocalfileinfo: Use a single timeout source at a time for hidden file cache
3095  - !1735 gobject: Standardise on the term ‘instantiatable’
3096  - !1737 gscanner: Avoid undefined behaviour copying between union members
3097  - !1738 Extend the usage of -p option for glib test framework
3098  - !1740 Fix more warnings
3099  - !1745 Make GBinding thread-safe (alternative approach)
3100  - !1746 gkeyfilesettingsbackend: improve error-checking
3101  - !1747 Fix broken link syntax in g_vasprintf docs
3102  - !1748 Fix minor Coverity return value warnings
3103  - !1750 Fix warnings
3104  - !1754 GWin32AppInfo: Use a thread pool for async appinfo tree rebuilds
3105  - !1755 Minor Coverity fixes
3106  - !1756 shellcheck fixes
3107  - !1757 Python formatting improvements
3108  - !1758 Fix warnings
3109  - !1765 Fix more warnings
3110  - !1766 Fix some gdatetime annotations
3111  - !1767 tests: Fix GDateTime tests on FreeBSD
3112  - !1769 gfileicon: Fix unused-but-set variable with G_DISABLE_ASSERT
3113  - !1770 Minor scan-build fixes
3114  - !1771 macos: fix frexpl checks in cross-compilation
3115  - !1776 gio: ‘security_context_t’ is deprecated
3116  - !1780 Minor Coverity fixes
3117  - !1781 gspawn: Handle ENOSYS from close_range()
3118  - !1782 ghostutils: Abandon hostname conversion early if it’s too long
3119
3120 * Translation updates:
3121  - Czech
3122  - Spanish
3123  - Ukrainian
3124
3125
3126 Overview of changes in GLib 2.67.0
3127 ==================================
3128
3129 * Important and time-critical fix to DST transitions which will happen in Europe
3130   on 2020-10-25 on distributions which use the ‘slim’ tzdata format (which is
3131   now the default in tzdata/tzcode 2020b) (work by Claudi M., LRN) (#2224)
3132
3133 * Further timezone handling changes to improve performance of `GTimeZone` (work
3134   by António Fernandes, Sebastian Keller) (#2204)
3135
3136 * Fix deadlock on Windows when `G_SLICE` is set in the environment (diagnosis by
3137   Christoph Reiter) (#2225)
3138
3139 * Fix UTF-8 validation when escaping URI components (thanks to Marc-André Lureau) (!1680)
3140
3141 * Security fix for incorrect scope/zone ID parsing in URIs (!1669)
3142
3143 * Add `g_log_writer_default_set_use_stderr()` API for printing log messages to stderr (work by Simon McVittie) (#2087)
3144
3145 * Improve connection error reporting when IPv6 is available and disabled (work by Michael Catanzaro, debugging by Konstantin Kharlamov and Milan Crha) (#2211)
3146
3147 * Fix definition of `G_MSVC_SYMBOL_PREFIX` for ARM (work by Wolfgang Stöggl) (!1187)
3148
3149 * Add `GStrvBuilder` convenience API for building `NULL`-terminated string arrays (work by Robert Ancell) (!1417)
3150
3151 * Support appinfo verbs other than ‘open’ on Windows (work by LRN) (!1502)
3152
3153 * Expose node-based `GTree` APIs (work by Maciej S. Szmigiero) (!1509)
3154
3155 * Add `G_DBUS_METHOD_INVOCATION_HANDLED`/`_UNHANDLED` convenience constants (work by Simon McVittie) (!1603)
3156
3157 * Set `IP_BIND_ADDRESS_NO_PORT` on sockets when binding to local addresses (work by Cristian Rodríguez) (!1598)
3158
3159 * Add Meson option for libelf support (work by Niklas Gürtler) (!1650)
3160
3161 * Add support for PKCS #11-backed TLS certificates (work by Patrick Griffis) (!1663)
3162
3163 * Add `g_subprocess_launcher_close()` API to make `GSubprocessLauncher` more usable in bindings (work by Sergio Costas) (!1677)
3164
3165 * Bugs fixed:
3166  - #1233 GType for GTree
3167  - #2077 Invalid Pointer Arithmetic in g_path_get_basename
3168  - #2087 Respecting G_MESSAGES_DEBUG in a custom log writer should be easy to do
3169  - #2164 GDBus DBUS_COOKIE_SHA1 mechanism may use too old a key
3170  - #2194 gtk3/glib crash on gimp
3171  - #2203 fstatat is available only on macOS 10.10+
3172  - #2204 Time zone cache is constantly invalidated if TZ is NULL
3173  - #2209 gthreadedresolver: faulty logic in parse_res_txt
3174  - #2210 g_private_replace ordering issue
3175  - #2211 "Network is unreachable" error returned when IPv6 is disabled and network is reachable using IPv4
3176  - #2215 DST incorrectly ends on wrong dates
3177  - #2224 top bar time is incorrect, timezone map in control center is broken
3178  - #2225 Setting G_SLICE makes Windows programs hang since 2.66
3179  - !1187 Define G_MSVC_SYMBOL_PREFIX correctly for ARM
3180  - !1417 gstrvbuilder: Add a new object to make NULL-terminated string arrays.
3181  - !1449 gio: Expose g_file_query_info_for_copy()
3182  - !1502 GWin32AppInfo: Support verbs other than "open"
3183  - !1509 GTree: add an ability to iterate over a tree and a node-based API
3184  - !1575 Use C++11 decltype where possible
3185  - !1598 gsocketclient: set IP_BIND_ADDRESS_NO_PORT if binding to local address
3186  - !1603 GDBus: Add G_DBUS_METHOD_INVOCATION_HANDLED, _UNHANDLED
3187  - !1643 Minor Coverity fixes
3188  - !1645 Fix various signedness warnings
3189  - !1647 Fix warnings (keep going)
3190  - !1648 glocalfile: Never require G_LOCAL_FILE_STAT_FIELD_ATIME
3191  - !1650 Make libelf dependency optional via meson feature
3192  - !1652 trash portal: Handle portal failures
3193  - !1654 gio-tool-trash: Prevent recursion to speed up emptying trash
3194  - !1657 glist: Clarify that g_list_free() and friends only free an entire list
3195  - !1658 utils: Limit the scope of the variable `max`
3196  - !1661 Lookup fallback time zones in the cache to improve performance
3197  - !1663 gtlscertificate: Add support for PKCS #11 backed certificates
3198  - !1665 Fix g_module_symbol() under Windows sometimes not succeeding
3199  - !1669 guri: Fix URI scope parsing
3200  - !1670 GSubprocessLauncher: Move cleanup to dispose()
3201  - !1671 gdatetime: Avoid integer overflow creating dates too far in the past
3202  - !1673 CI: Re-enable code coverage reporting for MSYS2 builds
3203  - !1674 Add version macros for 2.68
3204  - !1675 Make static assertions about standard types
3205  - !1677 gsubprocesslauncher: Allow to close FDs
3206  - !1678 gmessages: Document that using a custom log writer basically disables fatal handling
3207  - !1679 gmain: Fix minor typo in documentation
3208  - !1680 guri: Fix UTF-8 validation when escaping URI components
3209  - !1681 gspawn: Handle error opening /dev/null
3210  - !1686 Various improvements in GSocketClient
3211  - !1687 uri: add missing (not)nullable annotations
3212  - !1688 gspawn: Use close_range() if available to close FDs between fork/exec
3213  - !1691 gmain: Fix possible locking issue in source unref
3214  - !1692 gsignal: Plug g_signal_connect_object leak
3215  - !1695 gfile: Clarify refcount handling for g_file_replace_contents_bytes_async()
3216  - !1696 Fix various minor scan build warnings
3217  - !1706 Add various missing nullable annotations
3218  - !1712 Revert "Use C++11 decltype where possible"
3219  - !1714 gmacros: Use __typeof__ when compiling with Clang
3220  - !1718 gtrace: Add G_GNUC_PRINTF annotation
3221
3222 * Translation updates:
3223  - Chinese (Taiwan)
3224  - Danish
3225  - Greek, Modern (1453-)
3226  - Hebrew
3227  - Latvian
3228  - Portuguese
3229  - Russian
3230  - Slovak
3231  - Ukrainian
3232
3233
3234 Overview of changes in GLib 2.66.0
3235 ==================================
3236
3237 * Bugs fixed:
3238  - #2200 missing tab in makefile rule
3239  - !1639 guri: Fix user passed to g_uri_split_with_user() not being NULL'd
3240
3241 * Translation updates:
3242  - Croatian
3243  - Hungarian
3244  - Italian
3245  - Serbian
3246  - Slovak
3247  - Swedish
3248
3249
3250 Overview of changes in GLib 2.65.3
3251 ==================================
3252
3253 * Fixes to the new `statx()` calls — note that since GLib 2.65.2 uses `statx()`
3254   (if available) instead of `stat()`/`fstat()`/`lstat()`/`fstatat()`, syscall
3255   sandboxing for third party applications might need to be updated
3256
3257 * Bugs fixed:
3258  - #2189 g_file_query_info on ro file system: Numerical result out of range
3259  - #2191 Calling nice(20) can lead to thread related warnings
3260  - #2197 Segfaulting Integer Overflow in g_option_group_add_entries
3261  - !1025 Big o notations
3262  - !1626 gio: Document g_settings_new() missing schema behaviour
3263  - !1627 gthread: Add a sysprof mark for thread creation
3264  - !1628 Replace a bunch of fallthrough comments with an attribute
3265  - !1631 Fix splice behavior on cancellation
3266  - !1632 Fixing signedness warning in glib/gfileutils.c
3267  - !1635 gcancellable: Mark a variable as unused if built with G_DISABLE_ASSERT
3268
3269 * Translation updates:
3270  - Basque
3271  - Catalan
3272  - Chinese (China)
3273  - Czech
3274  - English (United Kingdom)
3275  - Friulian
3276  - German
3277  - Japanese
3278  - Kazakh
3279  - Korean
3280  - Lithuanian
3281  - Polish
3282  - Portuguese (Brazil)
3283  - Slovenian
3284
3285
3286 Overview of changes in GLib 2.65.2
3287 ==================================
3288
3289 * Support `statx()` and `G_FILE_ATTRIBUTE_TIME_CREATED` (work by Andre Miranda) (#1970)
3290
3291 * Fix deadlock in `g_subprocess_communicate_async()` (work by Alexander Larsson) (#2182)
3292
3293 * Add `%f`/microsecond placeholder support to `g_date_time_format()` (work by Johan Bjäreholt) (!1605)
3294
3295 * Bugs fixed:
3296  - #5 g_new0 performance
3297  - #1970 Make G_FILE_ATTRIBUTE_TIME_CREATED support stx_btime
3298  - #2176 Inconsistent introspection annotations for g_input_stream_read and g_socket_receive
3299  - #2182 g_subprocess_communicate_async() can deadlock when writing
3300  - !1593 CI support for Coverity Scan
3301  - !1605 gdatetime: Add %f format specifier and microsecond precision to g_date_time_format_iso8601
3302  - !1613 gfile: Document TOCTTOU avoidance using g_file_delete()
3303  - !1615 docs: glib-compile-resources: json-stripblanks
3304  - !1616 gioerror: Map WSAENETRESET on Windows to G_IO_ERROR_CONNECTION_CLOSED
3305  - !1619 Minor Coverity fixes
3306  - !1620 gvariant: Ensure GVS.depth is initialised
3307  - !1622 gdatetime: Widen a variable before multiplication
3308  - !1623 gcancellable: Assert that make_pollfd() call succeeds
3309  - !1624 gdbusaddress: Drop an unnecessary NULL check
3310  - !1625 gdbusmessage: Drop redundant uint ≥ 0 checks
3311
3312 * Translation updates:
3313  - French
3314  - Galician
3315  - Greek, Modern (1453-)
3316  - Indonesian
3317  - Romanian
3318  - Spanish
3319  - Turkish
3320  - Ukrainian
3321
3322
3323 Overview of changes in GLib 2.65.1
3324 ==================================
3325
3326 * Add `GUri` API for parsing, building and representing URIs according to
3327   [RFC 3986](https://tools.ietf.org/html/rfc3986) (work by Marc-André Lureau) (#110)
3328
3329 * Fix handling of xattr data with embedded nuls (#422)
3330
3331 * Add `g_file_set_contents_full()` which gives more control over fsyncs (#1302)
3332
3333 * Fix cross-compilation on iOS (work by Nirbheek Chauhan) (#1868)
3334
3335 * Add a `x-gvfs-notrash` option to disable trash on certain mounts (work by Ondrej Holy) (!1549)
3336
3337 * Support ‘slim’ TZif files generated with `zic -b slim` (work by Paul Eggert) (#2129)
3338
3339 * Support emitting profiling marks from `GMainContext` to sysprof capture files (!1551)
3340
3341 * Accept IPv6 zone IDs in `g_hostname_is_ip_address()` (work by Marc-André Lureau) (!1604)
3342
3343 * Bugs fixed:
3344  - #4 Include a UTF-8 safe escaping function
3345  - #110 Basic URI operations
3346  - #137 display_name should be always available
3347  - #250 GTestCase's setup/teardown functions appear pointless
3348  - #272 allow thread pools to adjust the number of threads to the number of cpu's/cores
3349  - #422 Wrong assumption in libgio GFileInfo on xattr/acl string: it may contain binary data.
3350  - #858 glib2 @2.40.0 issues a "Got weird mach timebase info" error (Macports, PPC)
3351  - #1022 g_object_new Should Mention That it Zeroes Out Private Struct
3352  - #1200 Make g_assert_null/nonnull clang static analyzer friendly
3353  - #1203 Add a variant of g_file_set_contents() which accepts file mode
3354  - #1288 gmacros: Introduce non-public G_CLANG_ANALYZER_NORETURN macro
3355  - #1302 g_file_set_contents() can fill target with NUL bytes if it did not previously exist
3356  - #1670 ThreadSanitizer data races
3357  - #1764 cancellable test: on_mock_operation_ready: assertion failed (iterations_requested > iterations_done): (10 > 10)
3358  - #1868 iOS cross compile impossible due to frexpl check not supporting cross compilation
3359  - #1869 iOS doesn't have Cocoa, which thankfully isn't a requirement of this code that supposedly requires it
3360  - #1982 GSocketAddressEnumerator documentation is inconsistent with existing usage
3361  - #2127 Spurious GIO module initialization on Fedora Silverblue (and other ostree-based systems?)
3362  - #2129 date_time bugs after 2038, or with today's date and 'zic -b slim' TZif files
3363  - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
3364  - #2136 Valgrind reports "still reachable" after g_option_context_parse
3365  - #2140 calling malloc in fork child is undefined-behaviour
3366  - #2141 g_value_copy is was recently broken
3367  - #2149 Make G_URI_FLAGS_PARSE_STRICT the default
3368  - #2156 Merge _g_uri_parse_authority() into GUri
3369  - #2159 Thread-unsafe initialization in gportalsupport.c
3370  - #2160 More guri regressions
3371  - #2165 More guri breakage
3372  - #2166 g_uri_build() functions should accept a NULL scheme
3373  - !1328 guri: new URI parsing and generating functions
3374  - !1527 Add g_tls_connection_get_channel_binding_data call and enums
3375  - !1534 Various GLocalFile fixes related to the filesystem::remote attribute
3376  - !1546 tree: Fix various ableist language
3377  - !1549 Add support to ignore trash for certain mounts
3378  - !1551 Add initial sysprof support
3379  - !1553 gtestutils: Mark that g_assert_whatever() macros do not normally return
3380  - !1554 GUri build fixes
3381  - !1555 Remove c-format from the string that is not c-formatted
3382  - !1556 fuzzing: Another fix for g_uri_parse() test
3383  - !1557 A few g_uri_parse_params() improvements
3384  - !1559 Fix buffer read overflows in GUri
3385  - !1561 gconvert: Use a pointer array in extract_uris
3386  - !1563 gdesktopappinfo: Fix unnecessarily copied and leaked URI list
3387  - !1564 tests: limit number of threads to something reasonable.
3388  - !1570 Reduce CI bandwidth requirements
3389  - !1572 Add GUriParamsIter
3390  - !1576 gtask: Only override g_task_set_source_tag() for GLib ≥ 2.60
3391  - !1577 uri: add illegal_characters argument to unescape_bytes
3392  - !1578 tests: Add tests for RFC 8536 v3 parsing of time zones
3393  - !1579 glib: Use g_getenv everywhere instead of getenv
3394  - !1582 appinfo: Add properties
3395  - !1583 gio: Remove broken support for XP
3396  - !1590 Use CI schedules and DAGs
3397  - !1591 gfileutils: Fix O_NOFOLLOW handling on BSD systems
3398  - !1594 GFile: Document that G_FILE_CREATE_REPLACE_DESTINATION can only be used with...
3399  - !1595 uri: add ENCODED_PATH & ENCODED_FRAGMENT flags
3400  - !1599 uri: do not add ipv6 brackets on non-ip host
3401  - !1600 uri: do not encode ':' and ';' from userinfo
3402  - !1601 timezone: Fix an uninitialized use
3403  - !1602 Revert "Merge branch 'appinfo-properties' into 'master'"
3404  - !1604 Make g_hostname_is_ip_address() accept ipv6 zoneid
3405  - !1609 Fix multiple typos in guri.c
3406  - !1611 guri: Always prepend `//` to the host when building a URI
3407  - !1612 guri: Document and check restrictions on path prefixes
3408
3409 * Translation updates:
3410  - Catalan
3411  - Kazakh
3412  - Lithuanian
3413  - Romanian
3414  - Slovenian
3415  - Spanish
3416  - Ukrainian
3417
3418
3419 Overview of changes in GLib 2.65.0
3420 ==================================
3421
3422 * Fix memory monitor tests to only be installed if installed-tests are enabled,
3423   and to be skipped if GObject-Introspection is too old (!1407)
3424
3425 * Stability improvements for various unit tests
3426
3427 * D-Bus credentials support on macOS (#507)
3428
3429 * MSVC support for the files generated by `glib-compile-resource` and `gdbus-codegen` (#1215, !1452)
3430
3431 * Year 2038 fixes involving new API in `GBookmarkFile` (#1931)
3432
3433 * SOCKS5 proxy authentication fixes (#1986, #1988)
3434
3435 * Support for more than `MAXIMUM_WAIT_OBJECTS` FDs for `g_poll()` on Windows (#2107)
3436
3437 * Add `g_assert_no_errno()` test macro for testing POSIX-style functions (!1204)
3438
3439 * Update Unicode Character Database to version 13.0.0 (!1422)
3440
3441 * Support storing interned strings in `GValue`s efficiently, via `g_value_set_interned_string()` (#2109)
3442
3443 * Bugs fixed:
3444  - #2 g_filename_from_utf8() should normalize?
3445  - #176 the behaviour of constructors for GLib data types is not specified if memory allocation fails
3446  - #480 /gdbus/connection/signals test intermittently fails: assertion failed (count_name_owner_changed == 2): (1 == 2)
3447  - #507 GDBus credentials don’t work on OS X
3448  - #602 GLib.Thread not usable from GObject-Introspection
3449  - #1154 Missing documentation how to set a value in a GArray
3450  - #1215 MSVC cannot build glib-compile-resource's output resource file
3451  - #1323 meson, autotools: figure out if mem barrier is needed for arm64 host variant aarch64
3452  - #1398 gdate: Add error handling for GetDateFormatW calls
3453  - #1841 Signal handler disconnection race when finalising GCancellableSource
3454  - #1851 Meson Build Failure on Windows: Undefined Reference to libiconv
3455  - #1911 Memory leak in g_param_spec_flags and/or g_param_spec_enum
3456  - #1931 GBookmarkFile API involves time_t
3457  - #1954 gdbus-server-auth intermittent failure
3458  - #1957 gdbus-connection test failure on FreeBSD
3459  - #1986 Socks5 Proxy: Authentication seems broken
3460  - #1988 Socks5 Proxy: Wrong error returned when using no authentication
3461  - #2038 Bindings: g_tls_connection_set_database() does not allow None as argument
3462  - #2051 GUnixOutputStream can block on close()
3463  - #2057 Call malloc_trim() under memory pressure
3464  - #2067 Glib uses _Static_assert in C++17 mode
3465  - #2081 gdbus error messages contains mixed up body and head signatures
3466  - #2082 AM/PM - specific variation support needed to Hebrew language
3467  - #2083 Memory monitor tests fail if dbusmock isn't installed
3468  - #2092 FreeBSD CI timing out in gdbus-connection filter test
3469  - #2094 Deprecation warnings when compiling with -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_28 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28
3470  - #2106 Duplicated if - else if conditions in gtranslit.c
3471  - #2107 g_poll() implementation on Windows stall when more than MAXIMUM_WAIT_OBJECTS FDs have passed
3472  - #2109 GValue: Add support for interned string
3473  - #2124 g_file_info_get_content_type() may return NULL
3474  - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
3475  - #2134 Valgrind reports "still reachable" after `g_uuid_string_random()`.
3476  - #2135 Valgrind reports "still reachable" after g_key_file_new/free
3477  - #2136 Valgrind reports "still reachable" after g_option_context_parse
3478  - !1204 gtestutils: Add a new g_assert_no_errno() test macro
3479  - !1302 gobject: new g_param_is_valid_property_name() function.
3480  - !1329 Support nanoseconds in stat timestamps on Windows
3481  - !1341 MUI capabilities for GWin32RegistryKey
3482  - !1360 CI: Show execution environment before we start
3483  - !1395 tests: Move memory_monitor_tests under installed_tests_enabled
3484  - !1396 macros: Define G_GNUC_FALLTHROUGH for more compilers
3485  - !1397 tests: Skip MemoryMonitor test if GObject-Introspection is too old
3486  - !1398 gcontenttype: Fix crash in _get_generic_icon_name()
3487  - !1402 ci: Update Android Docker image for aarch64 CPU naming change
3488  - !1405 tests: Disable link-time warning for mem-overflow
3489  - !1406 Replace fallthrough comments with G_GNUC_FALLTHROUGH
3490  - !1408 tests: Don't compare strings by pointer
3491  - !1409 gdummytlsconnection: Add missing overrides for ALPN properties
3492  - !1413 gapplication: Fix a minor typo in the documentation
3493  - !1414 gstrutils: Set locale explicitly for search-utils test
3494  - !1415 meson: Don't use assert in test code
3495  - !1418 ginetaddress, ginetsocketaddress: Add missing (nullable) annotations
3496  - !1422 glib: Update Unicode Character Database to version 13.0.0
3497  - !1423 gobject: Clarify assertion failure on ref-after-finalize
3498  - !1424 docs: Fix configuration with gtk_doc=true and installed_tests=false
3499  - !1425 gdbusconnection: GDBusSignalCallback can have a NULL sender_name
3500  - !1426 gunidecomp: Update and reformat Unicode version support history
3501  - !1427 gicon: Clarify GVariant refcounting in docs
3502  - !1428 Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
3503  - !1429 Fix arch detection ifdefs in glib/valgrind.h
3504  - !1430 Use __builtin_trap() on Clang on any platform
3505  - !1431 glib-unix.c: fix heap corruption in g_unix_get_passwd_entry
3506  - !1432 docs: Mention new gio tool options
3507  - !1433 meson: Fix buildtype usage
3508  - !1434 gdbusconnection: Clarify nullability of SignalInstance.sender
3509  - !1436 glib: Update internal copy of valgrind.h from Valgrind 3.15 release
3510  - !1437 gmarkup tests: tab character escape/unescape
3511  - !1439 Don't misdetect stpcpy on windows platforms on clang
3512  - !1440 Silence clang errors about -Wformat-nonliteral due to missing intermediate attributes
3513  - !1441 Meson: Override every dependency glib provides
3514  - !1442 gfile: Fallback to fast-content-type if content-type is not set
3515  - !1443 gio: use TAPTestRunner in the memory monitor tests
3516  - !1444 Meson: Add glib-checks and glib-asserts options
3517  - !1452 Make symbols generated by gdbus-codegen exportable on Visual Studio-style builds
3518  - !1455 gdesktopappinfo: Note that search results are not filtered
3519  - !1456 GCredentials documentation fixes
3520  - !1458 meson: Exclude gosxutils.m when building for iOS
3521  - !1459 meson: Fix the gnulib checks for isnan* functions
3522  - !1460 glib: Sync the local modification to glib/valgrind.h to what was upstreamed
3523  - !1462 gvariant-core: Add a note about memory safety of children
3524  - !1463 gdesktopappinfo: Add several nullable annotation to GAppInfo getters
3525  - !1464 Update Fedora CI
3526  - !1466 CI: Switch to new Windows runners
3527  - !1469 goption: Treat an empty option context parameter string as NULL
3528  - !1475 Improve documentation of g_tls_database_verify_chain()
3529  - !1476 tests: Fix remaining race in gdbus-connection filter test
3530  - !1479 Improve documentation of client connection validation flags
3531  - !1480 CI: Make sure we use meson 0.49.2 in MSYS2
3532  - !1481 array: fix corrupt state of GPtrArray after g_ptr_array_extend_and_steal()
3533  - !1482 [th/g-ptr-array-variable-cleanups] minor cleanup of variables for GPtrArray
3534  - !1487 glib: annotate static inline functions with G_AVAILABLE-type macros
3535  - !1488 Rebuild Fedora CI image
3536  - !1491 gdatetime: update annotations
3537  - !1492 glib-mkenums: allow optional 'since' tag
3538  - !1493 meson: Remove stray ] in O_DIRECTORY check
3539  - !1496 Fix GLIB_UNAVAILABLE_STATIC_INLINE declaration
3540  - !1498 array: add internal ptr_array_new() helper for creating GPtrArray
3541  - !1503 docs: Add indexes for symbols added in 2.66
3542  - !1505 gobject: Handle runtime checks as such
3543  - !1506 tests: Speed up the cancellable test
3544  - !1508 tests: Speed up the file test and make it more reliable
3545  - !1512 Various fixes when building for iOS
3546  - !1513 Initialize the visited time of a new GBookmarkFile
3547  - !1515 meson: check for stpcpy using cc.links()
3548  - !1516 gthreadedsocketservice: Mark source_object of run signal as nullable
3549  - !1517 GWin32RegistryKey: Move assertions
3550  - !1518 strfuncs: Use a GPtrArray in strsplit()
3551  - !1522 meson: Fix gnulib printf checks
3552  - !1524 meson: Fix gnulib build where isnan*() is needed
3553  - !1525 Normalize C source files to end with exactly one newline
3554  - !1528 gtlsconnection: Improve documentation of peer-certificate[-errors]
3555  - !1530 tree: Fix various typos and outdated terminology
3556  - !1531 gvariant: Fix documentation for g_variant_get_string() to match reality
3557  - !1532 win32: spelling fix
3558  - !1535 glib.supp improvements
3559
3560 * Translation updates:
3561  - Bokmål, Norwegian
3562  - Catalan
3563  - Catalan (Valencia)
3564  - Chinese (Taiwan)
3565  - Dutch
3566  - French
3567  - Galician
3568  - German
3569  - Hebrew
3570  - Indonesian
3571  - Italian
3572  - Japanese
3573  - Latvian
3574  - Lithuanian
3575  - Malay
3576  - Romanian
3577  - Serbian
3578  - Slovak
3579  - Slovenian
3580  - Spanish
3581  - Turkish
3582  - Ukrainian
3583
3584
3585 Overview of changes in GLib 2.64.0
3586 ==================================
3587
3588 * Use `posix_spawn()` to speed up launching test D-Bus instances (!1388)
3589
3590 * Bugs fixed:
3591  - #1783 Document using glib-mkenums with meson
3592  - #2049 Crash in g_array_copy
3593  - !1384 Some minor clang warning fixes
3594  - !1386 docs: Document generated headers caveats for genmarshal
3595  - !1387 ci: Correctly propagate exit status in run-style-check-diff.sh
3596  - !1388 gtestdbus: Use posix_spawn() to spawn dbus-daemon
3597  - !1389 Update GError docs to use G_DEFINE_QUARK
3598
3599 * Translation updates:
3600  - Czech
3601  - Danish
3602
3603
3604 Overview of changes in GLib 2.63.6
3605 ==================================
3606
3607 * Fix potential relative read when calling g_printerr(), which could lead to a
3608   denial of service from a setuid-root process being used to block access to the
3609   TTY for another user (#1919)
3610
3611 * Fix SOCKS proxy resolver sometimes not being used when resolving addresses
3612   via Happy Eyeballs (CVE-2020-6750) (#1989)
3613
3614 * Several other Happy Eyeballs fixes for address resolution (#1871, #1872, #1902)
3615
3616 * Various race fixes in `GDBusConnection` and its unit tests (#1515)
3617
3618 * Fix a race condition with D-Bus name ownership (#1517)
3619
3620 * Drop `gio-launch-desktop` helper application in favour of calling `sh` directly (#1633)
3621
3622 * Fix win32 exception handling with C# exceptions (#2025)
3623
3624 * Fix thread safety of `GUnixMountMonitor` (#2030)
3625
3626 * Additional fixes to new thread pool attribute behaviour from GLib 2.63.4 to
3627   check if sched_setattr() is allowed by system policies before depending on it (#2039, !1356)
3628
3629 * Fix memory leaks and corruption when freeing `GSource`s while freeing a `GMainContext` (!1353)
3630
3631 * Drop inappropriate installation of object manager example documentation (!1359)
3632
3633 * Bugs fixed:
3634  - #938 gdbus call -a doesn't support message bus connections
3635  - #1515 gio/gdbus-threading test sometimes fails in CI
3636  - #1517 g_bus_own_name does not always call name_lost_handler when _REPLACE and _ALLOW_REPLACEMENT are set
3637  - #1633 should not install gio-launch-desktop into PATH
3638  - #1919 read from relative path in g_printerr() in 2.58.3
3639  - #1995 Tracker issue for Happy Eyeballs regressions
3640  - #2002 g_io_channel_read_line does not honour the line_term symbols set
3641  - #2025 W32 exception handling misbehaves when C# exceptions are thrown when running inside the Visual Studio debugger
3642  - #2030 Random nautilus test suite failures involving GUnixMountMonitor
3643  - #2039 sched_setattr() still can cause EPERM through natural causes
3644  - #2043 Low memory monitor test failed in CI
3645  - #2044 GApplication docs suggest invalid GVariant type
3646  - !1185 gtimezone: Tidy up UTC timezone creation
3647  - !1281 ci: Update Docker packages
3648  - !1283 gmodule: change _g_module_close to only take a handle.
3649  - !1298 tests: Speed up the GIO actions test
3650  - !1299 gapplication: Fix a minor typo in the documentation
3651  - !1339 gsocketclient: Refactor g_socket_client_connect_async()
3652  - !1353 GMainContext - Fix memory leaks and memory corruption when freeing sources while freeing a context
3653  - !1354 GThreadPool - Add test for !1340
3654  - !1355 glist: Add docs examples of how to combine with g_steal_pointer()
3655  - !1356 GThread - Check if sched_setattr is allowed by the system policies before depending on it
3656  - !1359 docs: Don’t install object manager example separately
3657  - !1363 Make tests pass if we are euid != 0 with capabilities
3658  - !1366 Fix oss-fuzz coverage link
3659  - !1372 gobject: Fix strict aliasing warnings with g_set_object()
3660  - !1376 gitlab-ci: 64-bit ARM is aarch64, not arm64
3661  - !1381 ghash: Document the iteration order over a hash table is not defined
3662  - !1382 tests: Bump the refcount timeout in gdbus-threading
3663  - !1383 ci: Enable parallelisation when running installed tests
3664
3665 * Translation updates:
3666  - Basque
3667  - English (United Kingdom)
3668  - French
3669  - Galician
3670  - German
3671  - Greek, Modern (1453-)
3672  - Hungarian
3673  - Indonesian
3674  - Japanese
3675  - Korean
3676  - Lithuanian
3677  - Polish
3678  - Portuguese (Brazil)
3679  - Spanish
3680  - Swedish
3681  - Turkish
3682
3683
3684 Overview of changes in GLib 2.63.5
3685 ==================================
3686
3687 * Fix behaviour of `g_file_move()` fallback code to not follow symlinks (#986)
3688
3689 * Rename `--glib-min-version` argument of `gdbus-codegen` to `--glib-min-required`
3690   (this is not an API break as `--glib-min-version` was added earlier in the
3691   2.63 cycle) (#1993)
3692
3693 * Add gtk-doc checks to CI and fix a number of documentation issues
3694   (thanks to Xavier Claessens) (!978)
3695
3696 * Add `G_SIZEOF_MEMBER()` macro (!1333)
3697
3698 * Add a debug message if `g_setenv()` or `g_unsetenv()` are used after any
3699   threads have been spawned — this will be upgraded to a warning in future (!1337, #715)
3700
3701 * Skip memory monitor tests if xdg-desktop-portal or dbusmock are not available (!1296, !1338)
3702
3703 * Change the `libmount` configure option from a boolean to a Meson `feature` (!1344)
3704
3705 * Do not return `target-uri` from `g_file_peek_path()` when called on trash/recent files (!1346)
3706
3707 * Drop new TLS certificate API for PKCS #11 backed certificates, as the implementation
3708   is not ready yet (this is not an API break as the API was added earlier in the
3709   2.63 cycle) (!1347)
3710
3711 * Bugs fixed:
3712  - #986 g_file_move: remove G_FILE_COPY_NOFOLLOW_SYMLINKS section
3713  - #1551 CI: Add checks for `TODO` in MRs
3714  - #1925 Large number of routes installed into kernel cause high cpu usage
3715  - #1993 Rename gdbus-codegen --glib-min-version argument to --glib-min-required and add --glib-max-allowed
3716  - #2012 spawn_thread_queue not initialised in GThreadPool
3717  - #2020 g_network_monitor_base_add_network() improperly unrefs GInetAddressMask
3718  - !978 Various fixes to make gtkdoc-check pass on glib
3719  - !1018 docs: tag enclose 'all' and 'help' values
3720  - !1170 Avoid C++20 deprecated assignment to volatile
3721  - !1296 tests: Skip GMemoryMonitor tests if the dbusmock template is not available
3722  - !1307 Remove global declaration of GMemoryMonitor
3723  - !1322 gmain: Mark G_SOURCE_FUNC as available in 2.58
3724  - !1333 Add and use G_SIZEOF_MEMBER() macro
3725  - !1337 genviron: Message if g_setenv()/g_unsetenv() are used after threads spawned
3726  - !1338 tests: Skip GMemoryMonitor tests if xdg-desktop-portal is not available
3727  - !1344 meson: libmount autodectection
3728  - !1345 gio-tool-info: Print unix mount information where available
3729  - !1346 gfile: Do not return target-uri from g_file_peek_path()
3730  - !1347 Revert "gtlscertificate: Add support for PKCS #11 backed certificates"
3731  - !1348 ghash: Clarify that g_hash_table_add() always consumes the key
3732  - !1349 doc: Clarify that _locker_new() does not actually allocate memory
3733  - !1351 glib.supp: update g-threaded-resolver-getaddrinfo-config
3734
3735 * Translation updates:
3736  - Japanese
3737  - Lithuanian
3738  - Malay
3739  - Portuguese (Brazil)
3740  - Swedish
3741
3742
3743 Overview of changes in GLib 2.63.4
3744 ==================================
3745
3746 * Fix various race conditions on signal emission in GDBus (#604, #978, #1232)
3747
3748 * Change thread pools so that thread attributes (in particular, priority) are
3749   inherited from the thread which created the `GThreadPool` initially, rather
3750   than from the thread which is pushing a new job into the pool (#1834, #2007)
3751
3752 * Expand support for running Windows apps with
3753   `g_app_info_launch_default_for_uri()` using rundll32 on Windows (#1932)
3754
3755 * Support multiple directories in `GSETTINGS_SCHEMA_DIR` environment variable (#1998)
3756
3757 * Support full Julian day range in `TZ` environment variable (#1999)
3758
3759 * Apply recursion depth limits to variants in D-Bus messages (!1201)
3760
3761 * Support adding call flags and timeouts to method calls generated by
3762   `gdbus-codegen` through the new `--glib-min-version` option (!1286)
3763
3764 * Fully deprecate TLS rehandshakes; they are now ignored due to TLS protocol
3765   changes (!1305)
3766
3767 * Bugs fixed:
3768  - #198 g_fopen and friends: should also state how to close a stream
3769  - #604 GDBus name watching dispatch is buggy/excessively-complicated
3770  - #833 g_object_set: document the need to cast varargs
3771  - #978 SIGSEGV in on_name_lost_or_acquired
3772  - #1232 Insufficient thread safety around GDBusObjectManagerClient
3773  - #1416 Re-add macOS CI
3774  - #1834 Unwanted priority/etc inheritance with GThreadPool and GThread and the POSIX implementation
3775  - #1932 Windows: Gio.AppInfo.launch_default_for_uri seems not to work for local files/folders
3776  - #1983 glib:gio / dbus-appinfo test fails: GLib-GIO:ERROR:../../../../Projects/glib/gio/tests/dbus-appinfo.c:326:on_flatpak_open: 'g_file_equal (files[0], f)' should be TRUE
3777  - #1997 Base64 encoding with "break_lines" claims to wrap at 72 characters but seems to wrap at 76
3778  - #1998 support multiple directories in GSETTINGS_SCHEMA_DIR
3779  - #1999 GTimeZone fails to accept full Julian day range when parsing the direct $TZ string format
3780  - #2007 Thread scheduler attributes fail under valgrind
3781  - !388 ci: Avoid downloading subprojects for each job
3782  - !1111 gio: test that launch_uris() exports files with the document portal when launching a flatpak
3783  - !1201 gdbusmessage: Limit recursion of variants in D-Bus messages
3784  - !1279 tests: Fix an error message set by foo_set_property()
3785  - !1286 gdbus-codegen: Add a GDBusCallFlags arg to method calls
3786  - !1291 gio-tool-list: Add an option to print display names
3787  - !1294 GMemoryMonitor docs fixes
3788  - !1295 gio: Fix socket test
3789  - !1301 GThread - Inherit parent thread priority by default for new Win32 threads
3790  - !1303 gvariant-core: Don't pass NULL second argument to memcpy
3791  - !1305 Fully deprecate TLS rehandshakes
3792  - !1308 gsocketclient: run timeout source on the task's main context
3793  - !1309 Fix crash in gutils when application is prevented access to passwd file
3794  - !1317 gfdonotificationbackend: remove notifications when bus name vanishes
3795  - !1320 subprojects: Temporarily avoid using wrapdb while it’s down
3796  - !1324 ci: Add some documentation to the style check CI test
3797  - !1325 Check for SYS_sched_getattr before using it unconditionally
3798  - !1330 W32: Correctly set st_ino when doing private stat()
3799  - !1334 gthread: Ensure GThreadSchedulerSettings is always defined
3800
3801 * Translation updates:
3802  - Catalan
3803  - Galician
3804  - Hungarian
3805  - Indonesian
3806  - Polish
3807  - Portuguese (Brazil)
3808  - Spanish
3809
3810
3811 Overview of changes in GLib 2.63.3
3812 ==================================
3813
3814 * Add a `--glib-min-version` argument to `gdbus-codegen` which controls breaks in the API of generated code (#1726)
3815
3816 * Add `g_clear_list()` API to clear `GList`s to `NULL` (#1943)
3817
3818 * Add a `GMemoryMonitor` API to be notified of memory pressure situations using the low-memory-monitor project (!1005)
3819
3820 * Add support for dispose functions for `GSource` implementations (!1175)
3821
3822 * Tighten up validation of GObject signal and property names, allowing performance improvements (!1224)
3823
3824 * Fix installation path of GIO modules on MSVC to be the bindir (!1254)
3825
3826 * Bugs fixed:
3827  - #650 g_signal_lookup gives too many warnings
3828  - #1011 GListStore, easily find if the item is already inserted
3829  - #1130 gdbus-codegen: Add an option to strictly generate markdown in source comments
3830  - #1687 glocalvfs.c uses non-thread-safe getpwnam()
3831  - #1726 Warn when method/signal uses type 'h' but lacks GDBus.C.UnixFD annotation
3832  - #1935 Assert in _kqsub_free seems to be too strict
3833  - #1943 Consider g_clear_list()
3834  - #1947 Documentation clarification for g_uuid_string_random()
3835  - #1953 Documentation for g_type_init() and others missing from online gtk-doc documentation
3836  - #1961 A typo in the comment of `g_settings_schema_get_path`: threfore -> therefore
3837  - !1005 gio: Add GMemoryMonitor to monitor for low-memory
3838  - !1172 gptrarray: Add an example to the g_ptr_array_steal() docs
3839  - !1175 Implement a dispose function for GSource
3840  - !1223 Add additional valgrind suppressions
3841  - !1224 Signal name handling improvements
3842  - !1230 ci: Run installed-tests on Fedora
3843  - !1235 Add sudo to Fedora docker image
3844  - !1239 tests: Run "timeout tests" sequentially
3845  - !1248 ci: Update all Debian CI runners to use v5 of the Dockerfile
3846  - !1249 gio-tool-mount: Allow mounting by the given UUID
3847  - !1252 ci: Fix running all jobs on merge requests
3848  - !1253 gthread: Fix "zero as null pointer" warning
3849  - !1254 giomodule: gio modules are no longer installed in bindir on MSVC
3850  - !1255 ci: Build Docker images rather than OCI images if using podman
3851  - !1256 gdate: Add autoptr support
3852  - !1258 Minor CI fixups
3853  - !1261 gtk-doc: Ensure we have recent enough version
3854  - !1262 tests: Add tests for the gdbus-codegen executable
3855  - !1265 build: don't check for protected visibility
3856  - !1267 Revert "doc: Workaround gtkdoc-scan bug leading to undocumented symbols"
3857  - !1268 ci: Work-around successful installed tests having no logs
3858  - !1269 gvariant: Add guard to g_variant_get()
3859  - !1271 tests: Enable GDBus debug for a number of unreliable tests
3860  - !1274 trash portal: Don't follow symlinks
3861  - !1275 Small doc correction
3862  - !1277 Various gtk-doc improvements
3863  - !1278 Update installed tests CI
3864  - !1280 clang-format-diff: Output diff for multiple files, not just one
3865  - !1282 Revert "Revert "docs: remove GDBusObjectManager example""
3866  - !1284 Update POTFILES.in 191212
3867  - !1287 atomic/tests: test g_atomic_pointer_compare_and_exchange() with const pointers
3868  - !1289 gtype: Define auto-cleanup functions for Module class
3869
3870 * Translation updates:
3871  - Spanish
3872
3873
3874 Overview of changes in GLib 2.63.2
3875 ==================================
3876
3877 * Use `lldb` rather than `gdb` on macOS for debugging (#1004)
3878
3879 * Switch the atomic builtins from `__sync_fetch_*()` to the slightly more modern
3880   `__atomic_*()` (#1750)
3881
3882 * Fix calculation of `gsize` width on various platforms (including OpenBSD) (#1777)
3883
3884 * Fix undefined behaviour causing brokenness in `g_utf8_find_prev_char()` when
3885   compiling with GCC ≥ 8 (#1917)
3886
3887 * Revert UNIX mode changes in `G_FILE_ATTRIBUTE_ID_UNIX_MODE` which broke OSTree (#1934)
3888
3889 * Slightly improve performance for signal emissions when no handlers are connected (!1083)
3890
3891 * Add `g_task_return_value()` and `g_task_propagate_value()` APIs to allow
3892   `GTask` to be used from language bindings more easily (!1216)
3893
3894 * Fix a file monitoring crash on kqueue-based systems (BSD) (!1221)
3895
3896 * Bugs fixed:
3897  - #1004 [PATCH] Make gbacktrace use lldb on Mac OS X
3898  - #1552 CI: Add code style checks
3899  - #1750 Switch from  __sync_fetch_*() to __atomic_*() in glib/gatomic.h
3900  - #1777 gsize: improper typedef on (at least) OpenBSD
3901  - #1895 Regression: glib does not compile on centos 6: "objcopy: unrecognized option '--add-symbol'"
3902  - #1917 Test utf8-pointer fails with static build, LTO, optimisations, and new GCC
3903  - #1930 glib/tests/bookmarkfile.c:385:test_modify: assertion failed: (stamp == now)
3904  - #1934 ostree tests broken since bfdc5fc4fc84ef8518d2d1a328c8482cf5a38e98: File '/tmp/test-tmp-libostree_test-basic-user.sh.test-QB4SA0/diff-test2' is not empty
3905  - #1938 GDateTime doesn't support leap seconds
3906  - #1940 atomics test fails on FreeBSD CI since !1123
3907  - !1039 Improve documentation for footgun function g_tls_client_connection_copy_session_state()
3908  - !1083 Use the GObject hole on 64bit arches for some flags to improve performance
3909  - !1202 CI updates after !1177
3910  - !1208 gutils: Slightly improve docs formatting for g_get_os_info()
3911  - !1209 Make ld executable configurable
3912  - !1210 gdbus-server-auth test: Include gcredentialsprivate.h
3913  - !1213 gsocket: Improve diagnostics on bind() failure
3914  - !1214 gvariant, gbytes: Avoid memcmp (NULL, ., 0) or memcmp (., NULL, 0)
3915  - !1216 Make GTask more binding-friendly
3916  - !1218 gdb: Fix GHashTable pretty printer off-by-one error
3917  - !1220 gparam: fix memory leak in g_param_value_defaults()
3918  - !1221 Add NOTE_REVOKE to the list of the monitoring events
3919  - !1225 gtlsconnection: clarify handshake() documentation
3920  - !1227 Deprecate old GTlsConnection functionality even harder!
3921  - !1231 Fix build on old libc that does not define _SC_HOST_NAME_MAX
3922  - !1238 gstrfuncs: use gsize type internally for strv functions
3923  - !1242 gfileinfo: Clarify the documentation for G_FILE_ATTRIBUTE_UNIX_MODE
3924  - !1243 docs: Fix "occurred" typos in API documentation
3925
3926 * Translation updates:
3927  - Spanish
3928
3929
3930 Overview of changes in GLib 2.63.1
3931 ==================================
3932
3933 * Several usability improvements to command line `gio` tool (!1153)
3934
3935 * Add `g_array_steal()`, `g_ptr_array_steal()` and `g_byte_array_steal()` APIs (#285)
3936
3937 * Add `g_get_os_info()` API (!1063, !1160)
3938
3939 * Add `g_warning_once()` API (!1028)
3940
3941 * Always resolve `localhost` to loopback address in `GResolver` (!616)
3942
3943 * Add `GMainContextPusher` API (!983)
3944
3945 * Limit recursion in `g_variant_parse()` (!1173)
3946
3947 * Fix crash in `g_spawn()` with high FD numbers due to use of `select()` rather
3948   than `poll()` (#954)
3949
3950 * Allow passing empty `GValue`s to `g_param_value_set_default()` (!1186)
3951
3952 * Escape header guards generated by `gdbus-codegen` better (#1379)
3953
3954 * Bugs fixed:
3955  - #285 [PATCH] add array steal and memdup functions
3956  - #954 The g_spawn_sync() function uses select() which has limitations
3957  - #1318 rare failure in gdbus-peer test: invalid uninstantiatable type '(null)' in cast to 'GDBusServer'
3958  - #1379 gdbus-codegen generates invalid header guards when build directory contains a + character
3959  - #1622 NULL pointer derefs on g_vasprintf() failure
3960  - #1813 g_option_context_add_main_entries() is missing array annotation for entries parameter
3961  - #1831 No reply on private socket due to auth problem
3962  - #1836 gobject.c uses undefined annotation “(not optional)”
3963  - #1858 docs/reference/gobject/tut_gobject.xml: object properties example uses deprecated API
3964  - #1877 g_cancellable_source_new annotated with 'skip'
3965  - #1896 Use after free when calling g_dbus_connection_flush_sync() in a dedicated thread
3966  - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
3967  - #1903 use-after-free in mimeapps test causes intermittent segfault during testing
3968  - #1906 test_os_info fails on FreeBSD
3969  - #1916 objcopy not used from cross-compilation file in GIO tests
3970  - #1923 Recent Versions of GLib Break Dolphin File-Manager's Thumbnailing when Using 'gtk2' Style
3971  - !616 Always resolve localhost to loopback address
3972  - !983 gmain: Add GMainContextPusher convenience API
3973  - !1014 tests: Add a test for g_assert_finalize_object()
3974  - !1028 gmessages: Add g_warning_once()
3975  - !1035 Switching from C gnu89 to C gnu99 standard
3976  - !1063 gutils: Add g_get_os_info()
3977  - !1082 gdatetime: Document RFC 3339 extensions when parsing ISO 8601
3978  - !1105 syscall flood on every time*() function call
3979  - !1120 Update documentation with FreeBSD build instructions
3980  - !1135 gmain: use atomic operation instead of GMutex to access g_main_context_default()
3981  - !1146 Solaris build fixes
3982  - !1147 gmodule: fix typo in doc comment
3983  - !1148 gio/gfileinfo: fix parameter references
3984  - !1149 gio/gfile: fix parameter reference for value_p
3985  - !1150 gio/gfile: fix parameter references to @contents
3986  - !1151 gio/gfile: fix typo in doc comment
3987  - !1152 gwinhttpvfs: Handle g_get_prgname() returning NULL
3988  - !1153 Several gio-tool bash completion fixes and improvements
3989  - !1155 Strict-aliasing fixes to new atomic built-ins
3990  - !1157 Fix various compiler warnings on Android
3991  - !1160 Add Windows support to g_get_os_info()
3992  - !1161 hash: Remove an assertion from the hot path
3993  - !1163 gcharset: Expand the documentation for g_get_locale_variants()
3994  - !1165 Use uname as a fallback to get OS info
3995  - !1167 Fix some minor leaks in testfilemonitor
3996  - !1168 Fix gdatetime tests on toolbox
3997  - !1171 Revert "gdbus-codegen: emit GUnixFDLists if an arg has type 'h'"
3998  - !1173 gvariant: Limit recursion in g_variant_parse()
3999  - !1177 ci: Add libdbus development files to CI Docker images
4000  - !1179 Improve GPtrArray doc-comments
4001  - !1180 array: Avoid use of memcpy(dest, NULL, 0)
4002  - !1181 gmain: Clarify thread safety of some common GSource functions
4003  - !1182 gio: Fix typo in URL
4004  - !1186 Allow using an empty GValue with g_param_value_set_default()
4005  - !1189 gparamspecs: Fix type class leaks on error handling paths
4006  - !1197 Fix GDBus test failures on non-Linux (in particular FreeBSD)
4007  - !1200 Minor fixes from a scan-build run
4008
4009 * Translation updates:
4010  - Catalan
4011  - Chinese (Taiwan)
4012  - Spanish
4013
4014
4015 Overview of changes in GLib 2.63.0
4016 ==================================
4017
4018 * Add g_fsync() API (#35)
4019
4020 * Fix regression in g_file_copy() when passing
4021   `G_FILE_COPY_TARGET_DEFAULT_PERMS` flag; the destination permissions would be
4022   private rather than following the process’ umask (!1142)
4023
4024 * Several `GDateTime` parsing fixes (!1127)
4025
4026 * Always build the tests if installed-tests are enabled, so that the tests can
4027   actually be installed (!1141)
4028
4029 * Rework atomic function implementations to use memory barrier in the correct
4030   place (when compiler intrinsics aren’t providing the atomics), and fix
4031   signedness issues (#1449, #1565)
4032
4033 * Use the OS’ `fdwalk()` function (if safe) to speed up `g_spawn_*()` on BSD (#1638)
4034
4035 * Remove the macOS `dyld` `GModule` implementation in favour of `dl` instead (!1093)
4036
4037 * Bump Python requirement to ≥ 3.5, which we implicitly relied on anyway through
4038   our Meson dependency (!1132)
4039
4040 * Bugs fixed:
4041  - #35 add g_fsync to API
4042  - #174 g_file_copy always preserves  permissions, even if G_FILE_COPY_ALL_METADATA flag is not set
4043  - #259 docs: fix a misunderstanding in g_type_add_interface_*
4044  - #767 g_signal_lookup fails if class is not referenced
4045  - #1052 g_io_write_chars calls abort when given a null byte as input
4046  - #1449 glib fallback atomic int/ptr get/set have memory barrier in wrong place
4047  - #1565 Signedness of atomic operations
4048  - #1638 g_spawn_*() is extremely slow under certain circumstances
4049  - #1809 Provide API for working with PKCS11 backed certificates
4050  - #1843 TSAN false positive with g_atomic_pointer_get/g_atomic_pointer_set under Clang
4051  - #1865 g_variant_get_data_as_bytes fails after serializing a variant
4052  - #1875 Segfault and Overflow in __gio_xdg_cache_mime_type_subclass() with Wps-Office installed
4053  - #1887 glib 2.62.0 breaks loading dylibs as modules
4054  - #1888 2.62: docs build on Windows broken
4055  - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
4056  - !1020 docs: Remove priv pointers from the tutorial example
4057  - !1062 gtype: mark the inline functions in G_DECLARE_*_TYPE() as UNUSED
4058  - !1080 tests: Fix skipping mkdir-with-parents-permission test
4059  - !1088 Various small scan-build fixes
4060  - !1090 giochannel: Clarify type of GSource callback in documentation
4061  - !1093 gmodule: remove macOS dyld implementation
4062  - !1095 Define G_IOV_MAX to 512 on macOS/iOS
4063  - !1099 gmem: clarify that g_malloc always uses the system allocator
4064  - !1109 doc: fix typo in gio/gsettings.c
4065  - !1110 gio: Add missing "gio remove" option to bash completion script
4066  - !1112 Add version macros for GLib 2.64
4067  - !1115 gdatetime: Fix error handling in g_date_time_new_ordinal()
4068  - !1116 gmarkup: Add a limit on the number of attributes in an element
4069  - !1119 Annotate the return value of various utility functions
4070  - !1124 docs: Fix typo in GConverter{Input,Output}Stream section titles
4071  - !1125 gdatetime: Fix error handling in g_date_time_new_week()
4072  - !1126 fileinfo: Mention that usec mtimes are set
4073  - !1129 gdate: Fix tautological comparison warnings on Android
4074  - !1130 Improve GLIB_DEPRECATED_MACRO_FOR output
4075  - !1131 gio/gfileinfo: fix param reference in doc comment
4076  - !1132 build: Bump Python requirement to ≥ 3.5
4077  - !1137 gregistrysettings: bump key name length to 2048
4078  - !1138 Always build tests if we enabled installed-tests
4079  - !1139 g_file_info_get_modification_date_time: Calculate in integer domain
4080
4081 * Translation updates:
4082  - Danish
4083  - Italian
4084  - Panjabi
4085  - Serbian
4086  - Turkish
4087
4088
4089 Overview of changes in GLib 2.62.0
4090 ==================================
4091
4092 * Fix new `GFileInfo` APIs to work when `G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC`
4093   was not queried (!1087)
4094
4095 * Bugs fixed:
4096  - #487 Add valgrind test runs to CI
4097  - !1084 garray: Fix reference to GLIB_SIZEOF_INT
4098  - !1086 glib.supp: make gobject_init() calloc also of the possible kind
4099  - !1087 fileinfo: ignore USEC if not available
4100
4101 * Translation updates:
4102  - Friulian
4103  - Portuguese (Brazil)
4104
4105
4106 Overview of changes in GLib 2.61.3
4107 ==================================
4108
4109 * Support setting thread name on BSD systems (#1761)
4110
4111 * Install previously-uninstalled headers for public `GNativeSocketAddress`
4112   object (#1854)
4113
4114 * Very initial support for Windows apps (UWP) (!1057)
4115
4116 * Add various new valgrind suppressions to `glib.supp` (#1879, !1075)
4117
4118 * Bugs fixed:
4119  - #83 Optimisation for g_nearest_pow() in garray.c
4120  - #512 GSignal: accumulator function not called to accumulate G_SIGNAL_RUN_CLEANUP object handler return values
4121  - #873 allow NULL arguments to parse_strv
4122  - #905 Patches from static analysis run on 2.40
4123  - #1057 goption: add sanity check to input parameters
4124  - #1309 GSettings object stops emitting "changed" signal on g_settings_reset after call to g_settings_delay
4125  - #1620 GDBus criticals from GVfs with GLib master
4126  - #1761 Setting thread-name on BSD systems
4127  - #1803 GDK_SCALE=X is not respected when using "gio open"
4128  - #1819 Invalid characters in Open Location dialog crashes GIMP
4129  - #1852 Regression: g_mkdir_with_parents() returns 0 on failure
4130  - #1854 glib/gio: GNativeSocketAddress headers not installed.
4131  - #1860 g_clear_handle_id does not trigger GLIB_VERSION_MAX_ALLOWED warning
4132  - #1863 Potential invalid writes on g_utf8_strreverse
4133  - #1867 A couple of en_GBisms
4134  - #1870 GSettingsBackend watches not thread-safe
4135  - #1879 Incomplete valgrind suppressions - 16 KiB leak reported by valgrind from loading libglib-2.0.so
4136  - #1880 glib/gbacktrace.c: If dup2 happened to return -1, don't call dup2 with same value
4137  - #1881 GIO_USE_VOLUME_MONITOR and GIO_USE_FILE_MONITOR do not work as documented
4138  - !1002 Remove mentions of mailing lists from the documentation
4139  - !1011 gapplication: Fix a leaking GRemoteActionGroup member
4140  - !1015 Post-release version bump
4141  - !1016 gnetworkmonitornm fixups
4142  - !1017 Improve ISO 8601 parsing by GDateTime
4143  - !1023 g_object_get_property: Improve documentation for use of G_VALUE_INIT
4144  - !1026 gutf8: Assert that written memory stays in bounds
4145  - !1027 gfileutils: Fix error propagation for other than ENOENT
4146  - !1031 meson: build gnulib if printf isn't good enough
4147  - !1032 meson: small printf check cleanups
4148  - !1033 win32: don't assume the format specifier for the stdlib printf/scanf like functions
4149  - !1034 glib/tests/fileutils: Add a reproducer for #1852
4150  - !1036 cond test: Don't make assumptions about struct sigaction member order
4151  - !1037 Meson: Override glib-compile-resources/schemas
4152  - !1044 Relax use of g_test_bug() to not require g_test_bug_base() to be called first
4153  - !1049 minor typos in the documentation
4154  - !1050 tests: Fix a pragma warning on FreeBSD
4155  - !1054 gerror: Add a docs paragraph about not displaying errors verbatim in UI
4156  - !1057 Some (probably) easy uwp patches
4157  - !1059 Update win32 readme, add myself to codeowners
4158  - !1066 libffi.wrap: Meson port has moved to FDO gitlab
4159  - !1068 gsubprocesslauncher.c: fix documentation
4160  - !1071 meson: Move libdl_dep to the top level
4161  - !1074 Adjust README formatting
4162  - !1075 glib.supp: add suppression for g_type_class_ref()
4163
4164 * Translation updates:
4165  - Basque
4166  - Catalan
4167  - Czech
4168  - English (United Kingdom)
4169  - French
4170  - Galician
4171  - German
4172  - Hungarian
4173  - Indonesian
4174  - Korean
4175  - Lithuanian
4176  - Polish
4177  - Romanian
4178  - Spanish
4179  - Swedish
4180
4181
4182 Overview of changes in GLib 2.61.2
4183 ==================================
4184
4185 * Add various new array functions (#236, #269, #373)
4186  - `g_array_copy()`
4187  - `g_ptr_array_copy()`
4188  - `g_ptr_array_extend()`
4189  - `g_ptr_array_extend_and_steal()`
4190  - `g_array_binary_search()`
4191
4192 * Add `g_assert_finalize_object()` helper function for writing tests (#488)
4193
4194 * Rework how D-Bus connections are closed/unreffed when `g_test_dbus_down()` is
4195   called. Tests which leak a `GDBusConnection` may now time out and abort,
4196   rather than silently leaking. (#787)
4197
4198 * Add a deprecation macro for GLib macros, and use it; third-party uses of
4199   long-deprecated GLib macros may now start causing warnings. (#1060)
4200
4201 * Deprecate `GTime` and `GTimeVal`, and various functions which use them.
4202   Use `GDateTime` and `guint64` UNIX timestamps instead. (#1438)
4203
4204 * Stop using `G_DISABLE_DEPRECATED` to allow disabling deprecation warnings;
4205   third-party code should now be using
4206   `GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED}` to control symbol usage (!871)
4207
4208 * Improve support for running `ninja test` when GLib is built statically (#1648)
4209
4210 * Improve `GNetworkMonitor` detection of offline states (#1788)
4211
4212 * Fix build failure on macOS related to missing `_g_content_type_get_mime_dirs`
4213   function (#1791)
4214
4215 * Add various installed utilities’ paths to `gio-2.0.pc` (#1796)
4216
4217 * Fix keyfile `GSettings` backend and portal (especially relevant to any version
4218   of GLib included in a flatpak runtime) (#1822, !985)
4219
4220 * More IPv6 ‘Happy Eyeballs’ fixes in `GNetworkAddress` (!865)
4221
4222 * Fix CVE-2019-12450, wide permissions of files when copying using GIO (!876)
4223
4224 * Bump the Meson dependency from 0.48.0 to 0.49.2; we won’t depend on anything
4225   higher than this for a while, as Debian 10 ships 0.49 (!924)
4226
4227 * Various test fixes for Windows (!930, !931)
4228
4229 * Initial support for Universal Windows Platform (UWP): certification, and use
4230   of packaged libraries (!951)
4231
4232 * Add experimental clang-cl support on Windows, allowing `g_autoptr()` support
4233   on Windows (!979)
4234
4235 * Bugs fixed:
4236  - #77 G_STDIO_NO_WRAP_ON_UNIX wraps
4237  - #236 Add a function to copy an array
4238  - #269 Additional convenience functions for g_ptr_array
4239  - #373 GArray could use a binary search function
4240  - #436 running tests leaves lots of coredumps
4241  - #453 find-enclosing-mount docs confusing
4242  - #488 Add g_object_assert_last_unref() helper macro to detect object leaks in tests
4243  - #590 A reader lock can be obtained even if a writer is already waiting for a lock
4244  - #638 g_atexit is defined when not declared
4245  - #737 Initialize GValue in g_object_get_property()
4246  - #787 gtestdbus: Properly close server connections
4247  - #804 gdbusproxy prefixes unstripped error
4248  - #870 Fix and enhance GDatetime for Windows
4249  - #872 ucs4 functions have wrong return transfer
4250  - #887 gdusmessage.c mishandles bounds of GDBusMessageType and related enums
4251  - #894 gvalue: Avoid expensive checks where possible
4252  - #940 Docs for g_socket_listener_set_backlog are not very helpful
4253  - #943 G_DEFINE_TYPE_WITH_PRIVATE docs not helpful
4254  - #1018 Allow guid key in dbus addresses
4255  - #1060 Add deprecation macro for macros
4256  - #1169 Tools can display gibberish messages from translations
4257  - #1270 g_get_charset always returns 8-bit codepage on Windows, crippling UTF-8 output
4258  - #1438 Deprecate GTimeVal- and GTime-based APIs
4259  - #1635 g_socket_join_multicast_group iface parameter fails on win32/64
4260  - #1648 2.58.2: Assorted asserts fail in Arch Linux when built statically
4261  - #1729 g_content_type_guess segfaults when passed an empty data buffer on Mac OS
4262  - #1788 GNetworkMonitor claims I am offline
4263  - #1790 documentation on g_file_info_get_attribute_as_string
4264  - #1791 _g_content_type_get_mime_dirs missing from libgio-2.0.0.dylib on MacOS
4265  - #1792 glib-genmarshal generated valist marshal does not respect static scope for some types
4266  - #1793 glib-genmarshal generates wrong code for va marshaler for VARIANT type
4267  - #1794 API Proposal: g_timer_is_active
4268  - #1796 Add gio-querymodules variable to pkg-config file
4269  - #1797 glib/tests/win32 test failing on 64-bit Visual Studio builds
4270  - #1798 /contenttype/tree reliably fails on FreeBSD since !863
4271  - #1807 g_dbus_server_new_sync() documentation references nonexistent function
4272  - #1808 Stopping a GDBusServer should clean up Unix socket paths (if not abstract) and nonce-tcp nonce files
4273  - #1811 Introspection info for g_unichar_compose's 3rd arg should be OUT
4274  - #1822 keyfile gsettings backend not loading
4275  - #1823 Documentation for disabling selinux is incorrect
4276  - #1825 GKeyFileSettingsBackend created without filename construct property and unchecked assertion
4277  - #1828 Small typo in gio manpage
4278  - #1837 Specify for each (optional) parameter, whether it is OUT or INOUT
4279  - #1838 Reword documentation for G_DECLARE_FINAL_TYPE
4280  - #1847 Setting GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED} to before 2.56 triggers warnings
4281  - !533 docs: Document pitfall of deprecation pragmas
4282  - !563 ci: Add scan-build job in a new ‘analysis’ pipeline stage
4283  - !678 glib-compile-schemas: Improve translatable strings
4284  - !817 gdate: Officially mark GTime as deprecated
4285  - !851 gsettings: Document that lists are returned in no defined order
4286  - !853 gobject: Fix apostrophe usage in a few small bits of documentation
4287  - !859 gobject: Add a g_assert_finalize_object() macro
4288  - !863 gunicollate/cygwin: Don't use __STDC_ISO_10646__ for wchar_t related checks
4289  - !865 gnetworkaddress: fix "happy eyeballs" logic
4290  - !867 Post-release version bump
4291  - !871 Drop G_DISABLE_DEPRECATED
4292  - !873 Use atomic reference counting for GSource
4293  - !874 Clamp number of vectors to IOV_MAX / UIO_MAXIOV for GOutputStream writev()...
4294  - !875 CI/msys2: disable coverage reporting, lcov doesn't support gcc9 yet
4295  - !876 CVE-2019-12450: gfile: Limit access to files when copying
4296  - !877 gio: specify proper c_marshaller and va_marshallers
4297  - !883 tests: Fix small race in GSubprocess tests
4298  - !884 garcbox.c: Fix typo atomit => atomic
4299  - !885 goption: Clarify G_OPTION_ARG_FILENAME documentation
4300  - !889 Include <sys/filio.h> for FIONREAD
4301  - !901 gmain: Clarify that g_source_destroy() doesn’t drop a reference
4302  - !904 Add glib-genmarshal tests and fix some valist marshaller bugs
4303  - !906 property action: Add state hints
4304  - !908 Improve testfilemonitor test repeatability and debuggability
4305  - !909 D-Bus auth mechanism improvements
4306  - !914 ci: Run scan-build in a different build directory
4307  - !915 docs: fix typo on arrays examples in gvariant-text
4308  - !917 docs: Fix name of IRC channel in CONTRIBUTING.md
4309  - !919 glib/tests/refcount.c: Fix tests on non-GCC-isque compilers
4310  - !920 gmacros: Only use deprecated attributes on enumerators with GCC ≥ 6.5
4311  - !923 Check if compiler symbols are defined before using them
4312  - !924 Bump the required version of Meson
4313  - !930 glib/tests/convert.c: Skip tests that aren't meaningful for Windows
4314  - !931 glib/tests/fileutils.c: Fix stdio Wrapper Test on Windows
4315  - !934 build: Increase the slow test timeout to 180s
4316  - !935 Ignore */__pycache__/* directories
4317  - !937 Fix module tests on Visual Studio builds
4318  - !939 gstdio: minor cleanups
4319  - !941 list model: Expand items-changed docs
4320  - !944 gutils: Don't limit the length of the host name to 99
4321  - !945 Avoid overrunning stack at the end of the varargs.
4322  - !947 gobject/tests/signals.c: Fix tests on Windows
4323  - !948 GObject: Fix mkenums.py and genmarshal.py tests on Windows
4324  - !950 ci: Enable CI on FreeBSD 12
4325  - !951 Preliminary patches for Universal Windows Platform support
4326  - !952 gio: Make minor docs improvements
4327  - !953 g_utf8_normalize: Doc comment return missing nullable annotation
4328  - !954 Fix the ISO 15924 code for Manichaean
4329  - !955 gmacros: Use _Static_assert when C11 is available
4330  - !958 gthread: fix minor errno problem in GCond
4331  - !961 gmain: Fix g_main_context_prepare priority annotation
4332  - !962 gmacros: Use _Static_assert only for non-expr static assert
4333  - !964 gmacros.h: Use static_assert on MSVC if possible
4334  - !968 Fix typo in request handle
4335  - !970 gdatetime: Unset LC_ALL for the test as well
4336  - !971 docs.c: Forward link from g_auto* → G_DEFINE_AUTO*
4337  - !973 doc: fix typo in gio/gresource.c
4338  - !979 Experimental clang-cl support
4339  - !980 gmacros.h: Add better support for clang-cl
4340  - !981 gio: fix typo in g_settings_reset documentation
4341  - !982 Various doc fixes
4342  - !985 Keyfile portal fixes
4343  - !987 gio/tests: Remove code and comments referring to libtool
4344  - !991 fix atomic detection on older gcc versions
4345  - !992 docs: Add example to g_test_summary() documentation
4346  - !994 gio: Fix minor docs mistakes
4347  - !996 Small array test fixes
4348  - !997 gdbusaddress: Add missing transfer annotation
4349  - !1007 Resubmission of !832 “Try to create the complete path right away and fall back”
4350  - !1009 gapplication: remove inactivity_timeout source on finalize
4351
4352 * Translation updates:
4353  - Hungarian
4354  - Indonesian
4355  - Portuguese (Brazil)
4356  - Spanish
4357
4358
4359 Overview of changes in GLib 2.61.1
4360 ==================================
4361
4362 * `g_unichar_isxdigit()` and `g_unichar_xdigit_value()` now handle full-width
4363   characters (U+FF21–U+FF26 and U+FF41–U+FF46) (#58)
4364
4365 * Deprecate `gtester` utility and its test reporting format and enable TAP
4366   output by default instead — the `--tap` option to tests is now a no-op
4367   (#1441, #1619)
4368
4369 * Add `g_test_summary()` to allow test authors to programmatically summarise
4370   what each unit test in a test suite does (#1450)
4371
4372 * Upgrade to Unicode Character Database v12.1 (#1713, !822)
4373
4374 * More IPv6 Happy Eyeballs fixes to `GNetworkAddress` and `GSocketClient`
4375   (#1747, #1771, #1774)
4376
4377 * Fix valgrind and gdb support for the new `GHashTable` changes (#1749, #1780)
4378
4379 * Fix GTask wait times growing faster than the number of task threads (#1683)
4380
4381 * Change `GApplication` to ignore `-psn_*` arguments on the macOS command line,
4382   as they are irrelevant (#1784)
4383
4384 * Add `g_autoqueue()` helper macros, similar to `g_autolist()` (!474)
4385
4386 * Add pre-allocated link helpers for `GList` and `GQueue`:
4387  - `g_list_insert_before_link()`
4388  - `g_queue_insert_before_link()`
4389  - `g_queue_insert_after_link()`
4390
4391 * Improve network availability detection with NetworkManager to treat lower
4392   levels of connectivity as having reduced availability (!781)
4393
4394 * Add `g_clear_signal_handler()` to allow disconnecting from a `GObject` signal
4395   and clearing the signal handler ID to zero in a single call (!819)
4396
4397 * Add `g_autoptr()` support for `GRWLock` (!825)
4398
4399 * Define `G_OS_UNIX`, not `G_OS_WIN32`, when GLib is built agains Cygwin (!862)
4400
4401 * Bugs fixed:
4402  - #29 GScanner: should explicitly document modifiable fields (value, next_value, ...)
4403  - #58 g_unichar_isxdigit() and g_unichar_xdigit_value() should deal with full-width a-fA-F
4404  - #106 Boxed types should be documented better
4405  - #135 g_unichar_totitle(0) returns 0x00001F88 instead of 0
4406  - #429 g_format_size() is broken on Windows
4407  - #1441 Deprecate gtester
4408  - #1450 Add API for tests to describe what they're checking
4409  - #1619 GTest should have a way to default to TAP
4410  - #1683 GTask: task_wait_time is increased constantly when the number of running thread is greather than 10
4411  - #1713 Upgrade to Unicode Character Database v12
4412  - #1739 meson build failure libdl
4413  - #1747 Critical in g_socket_client_async_connect_complete
4414  - #1749 New GHashTable implementation confuses valgrind
4415  - #1753 Remove memory leaks from gio/test/resolver.c
4416  - #1755 Please revert #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
4417  - #1759 test_month_names: assertion failed
4418  - #1760 Document for g_resolver_lookup_records why it returns a list of list of gchar*.
4419  - #1763 tests: -p runs tests in the reverse of the specified order
4420  - #1768 g_strlcat(): Possible buffer overflow in implementation
4421  - #1771 GNetworkAddressAddressEnumerator unsafely modifies cache in GNetworkAddress
4422  - #1774 Leaks in gsocketclient.c connection code
4423  - #1776 glib/date test fails
4424  - #1780 GDB pretty-printer for GHashTable no longer works
4425  - #1782 Error in documentation for cross-compile.
4426  - #1784 MacOS adds a -psn_X_XXXXXX parameter to the command line
4427  - !474 Add g_autoqueue
4428  - !476 Add pre-allocated link helpers for GList and GQueue
4429  - !556 gtestutils: Make --tap compatible with -p and --GTestSkipCount
4430  - !732 gsocket: Clarify in docs that `flags` arguments can be platform specific
4431  - !766 W32: swap special g_get_prgname() for platform_get_argv0()
4432  - !774 Only build tests if certain conditions are met.
4433  - !780 Add copyright and licensing terms to test report generator
4434  - !781 gnetworkmonitornm: Fix network available detection
4435  - !782 build: Fix check for RTLD_NEXT
4436  - !785 Remove monitor test
4437  - !787 build: Remove */.gitignore files
4438  - !791 glib/gconstructor.h: Include stdlib.h for MSVC builds
4439  - !792 general: Remove a few unhelpful references to ‘master’
4440  - !795 gdesktopappinfo: Add support for MATE and Xfce4 terminals
4441  - !802 gio: tests, don't check for libdl on OpenBSD
4442  - !806 Get to 100% coverage on GQueue tests
4443  - !808 Update the Docker images used for CI
4444  - !809 Modified version of !784 — Adding tests cases for a better coverage of glib/tests/strfuncs.c
4445  - !813 gappinfo: Add precondition checks to GAppLaunchContext env methods
4446  - !814 gschema.dtd: Add target attribute to alias
4447  - !819 Clear signal handler
4448  - !820 ci: Keep JUnit report script working on Debian stable
4449  - !821 Various minor cleanups to autoptrs
4450  - !822 glib: Update Unicode Character Database to version 12.1.0
4451  - !825 Add autoptr support for GRWLock
4452  - !831 build: (Long time after) post-release version bump
4453  - !835 Fix typo in German translation
4454  - !836 Document the best practices for binding GInitiallyUnowned
4455  - !862 build: define G_OS_UNIX, not G_OS_WIN32 under cygwin
4456
4457 * Translation updates:
4458  - Basque
4459  - Catalan
4460  - German
4461  - Indonesian
4462  - Spanish
4463
4464
4465 Overview of changes in GLib 2.61.0
4466 ==================================
4467
4468 * Changes to `iconv` configure options, including the default iconv
4469   implementation on macOS — distributors may need to check their configure
4470   scripts (#1557)
4471
4472 * Build fixes when building GLib with `G_DISABLE_ASSERT` defined (#1708)
4473
4474 * Fix documentation for `gdbus-tool wait` to use correct units (#1737)
4475
4476 * Improvements to symlink handling on Windows (!269)
4477
4478 * Add exception handling for crashes on Windows (!582)
4479
4480 * Set `G_WITH_CYGWIN` again when GLib is built on Cygwin (this was a regression
4481   from the autotools build) (!736)
4482
4483 * Use `GCocoaNotificationBackend` by default on macOS, rather than
4484   `GGtkNotificationBackend` (!745)
4485
4486 * Use Windows symbol visibility when GLib is built on Cygwin, as PE binaries
4487   are subject to W32 visibility mechanics — this affects the definition of
4488   `_GLIB_EXTERN` (!752)
4489
4490 * Add coloured output support to `gdbus introspect` (!761)
4491
4492 * Bugs fixed:
4493  - #682 docs: advise not to use non-literal strings as qdata keys
4494  - #1177 gparted crashes due to g_quark_from_static_string used in global initialization
4495  - #1258 the buffer written to by g_input_stream_read is not marked as an out parameter
4496  - #1557 By default glib tries to use libc instead of native iconv on OSX
4497  - #1566 Meld Windows shows error on startup "There was a problem starting c:\Program"
4498  - #1614 GIO tests fail on FreeBSD CI with: Unexpected error from C library during 'pthread_mutex_lock': Invalid argument
4499  - #1708 Building GLib with G_DISABLE_ASSERT fails
4500  - #1709 GResource generation test incompatible with stable LLVM on Linux
4501  - #1710 Crash in g_cancellable_cancel
4502  - #1712 gdbus-proxy test is flaky
4503  - #1724 unconditional check in fuzzing/meson.build
4504  - #1725 gosxappinfo.h is not installed on macOS
4505  - #1727 Cannot use trash folder with an NFS mount using automount / autofs
4506  - #1728 GSocket does not support ENOTSOCK
4507  - #1732 Win32: lookup_by_name_async segfaults for not available domains
4508  - #1737 gdbus-tool wait command timeout argument incorrect unit reference
4509  - !67 glib: update internal gnulib from upstream
4510  - !269 Win32 symlink code refactoring
4511  - !493 tests: Check that cancelling g_file_replace don't overwrite existing file
4512  - !582 Basic W32 exception handling for glib
4513  - !680 Fix warnings glib
4514  - !690 Fix thread safety issues
4515  - !694 gvariant-parser: Fix pattern coalesce of M and *
4516  - !706 Fix data races in task test and gmenumodel test
4517  - !709 Bump release version for 2.62 series
4518  - !710 socket: Fix annotation for flags in g_socket_receive_message
4519  - !712 gwin32: Fix comment for g_win32_veh_handler
4520  - !716 Various minor documentation fixes
4521  - !717 Improve formatting of GCC attribute documentation
4522  - !718 GSocketClient - Free last error if a connection attempt fails and on retry the...
4523  - !719 Handle an UNKNOWN NetworkManager connectivity as NONE
4524  - !721 codegen: Fix use of uninitialised variable
4525  - !723 Provide examples for GNUC attribute macros
4526  - !724 meson: do a build-time check for strlcpy before attempting runtime check
4527  - !728 gsocket: Remove (type) annotation from flags arguments
4528  - !730 Improve gdbus-address parsing tests
4529  - !735 docs: Use the right g_autoptr function when using an auxiliary function
4530  - !736 Set G_WITH_CYGWIN again
4531  - !737 gresolver: Don’t use gai_strerror() on Windows, as it isn’t threadsafe
4532  - !741 Fix use-after-free triggered by gnome-session-binary
4533  - !745 gcocoanotificationbackend: give more priority than the gtk one
4534  - !749 gio: Add missing autocleanup definition for GSettingsSchema{Key,Source}
4535  - !750 Check for RTLD_NEXT
4536  - !752 Use W32 visibility for Cygwin
4537  - !754 Check for /proc/self/cmdline
4538  - !757 Fix gnulib build on older Visual Studio builds
4539  - !760 Properly ensure the cocoa notification backend type
4540  - !761 RFC: gdbus-tool: Add --color option for introspect
4541  - !762 gutils: Add (nullable) annotation to g_get_prgname()
4542  - !765 gslice: Use a convenience macro
4543  - !769 ci: Generate a cover report for the test suite
4544  - !772 tests: Check that option-argv0 test succeeds on Linux
4545  - !776 tests: Only run --external-data test on GNU ld/objcopy
4546  - !779 Fix 2.62 documentation symbols
4547
4548 * Translation updates:
4549  - Dutch
4550
4551
4552 Overview of changes in GLib 2.60.0
4553 ==================================
4554
4555 * Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1653, #1679, #1693)
4556
4557 * Add support for the XDG trash portal (#1676, !276)
4558
4559 * Bugs fixed:
4560  - #1653 gsocketclient-slow test is flaky
4561  - #1658 keyfile settings backend: Consider tightening permissions
4562  - #1668 Fill in CODE-OWNERS file
4563  - #1675 glib-compile-resources: c_name generation issue
4564  - #1676 Trash portal tries to open files as read-only but D-Bus API documents against that
4565  - #1679 socket-service test is flaky
4566  - #1693 Happy Eyeballs failure in gsocketclient-slow test
4567  - #1697 gthreadresolver: do_lookup_records does res_ninit with an uninitialized state
4568  - #1698 g_base64_encode(NULL, 0) causes critical warnings
4569  - !276 Support the trash portal
4570  - !639 gvariant-parser: Fix error handling when type coalescing fails
4571  - !666 Socket fixes to W32 test suite
4572  - !674 Update gvdb submodule
4573  - !676 Initialize a variable
4574  - !677 gerror: Add a missing precondition assertion in documentation
4575  - !686 gio: Also support modules built with MSVC
4576  - !688 gsocketclient: Fix critical on cancellation
4577  - !689 glib-compile-resources: Fix a minor leak
4578  - !691 gtask: Separate GTask fields memory locations to avoid data races
4579  - !692 glib.supp: Add more variations of existing suppressions
4580  - !696 Move closures refcount test to gobject/tests/
4581  - !698 gthreadedresolver: Remove unused thread pool
4582  - !699 tests: Fix closure-refcount to preserve old semantics
4583  - !702 Rename gobjectenumtypes.[ch] to glib-enumtypes.[ch]
4584  - !703 Clean up gmarshal.[ch]
4585
4586 * Translation updates:
4587  - Catalan
4588  - Czech
4589  - French
4590  - Friulian
4591  - German
4592  - Italian
4593  - Korean
4594  - Romanian
4595  - Serbian
4596
4597
4598 Overview of changes in GLib 2.59.3
4599 ==================================
4600
4601 * Fix support for g_get_user_special_dir() on macOS, including support for the Downloads directory (#1048)
4602
4603 * Ensure that cancelling a GTask cannot cause its callback to be called synchronously (in the same call chain as the original *_async() call) (#1608)
4604
4605 * Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1644, #1680)
4606
4607 * Various fixes for installation of installed tests (thanks to Iain Lane) (!649, !651)
4608
4609 * Various fixes for tests when run on Windows (thanks to LRN) (!665, !667)
4610
4611 * Bugs fixed:
4612  - #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
4613  - #875 gio-gvfs on Windows: Don't mishandle other non-native URIs in gwinhttpvfs.c
4614  - #1048 "Desktop" shortcut appears twice in file chooser sidebar on OSX
4615  - #1608 Cancellation might not be asynchronous under certain circumstances
4616  - #1644 network-address test failure in CI: IPv6 Broken (g-io-error-quark, 24)
4617  - #1680 Regression: g_socket_client_connect_to_host_async() sometimes gets "Connection refused" when connecting to localhost
4618  - #1686 gdbus-peer test is sometimes timing out
4619  - !613 Use win32 io channel on windows for the protocol test
4620  - !634 Win32: gio/gsocket.c: Set WSAEWOULDBLOCK on G_POLLABLE_RETURN_WOULD_BLOCK
4621  - !638 gvariant-parser: Fix parsing of G_MININT* values in GVariant text format
4622  - !640 tests: Tag socket-service test as ‘flaky’
4623  - !641 Minor typo fixes to GSpawn documentation
4624  - !645 gsocketlistener: Fix multiple returns of GTask when accepting sockets
4625  - !647 gsocketclient: Ensure task is always returned on cancel
4626  - !648 gio/tests/task: Run the worker indefinitely until it's cancelled
4627  - !649 gio tests: Install test1.overlay file when building installed tests
4628  - !650 gstring: fully document semantics of @len for g_string_insert_len
4629  - !651 tests: Install the slow-connect-preload.so library and use it
4630  - !667 GSubprocess fixes for W32 test suite
4631  - !668 tests: Mark gdbus-peer test as flaky
4632  - !669 GWin32VolumeMonitor: Sort the volumes correctly
4633  - !670 gpollableoutputstream: Fix the description of the interface
4634  - !672 Fix some tests when running as root
4635
4636 * Translation updates:
4637  - Catalan
4638  - Danish
4639  - French
4640  - Indonesian
4641  - Kazakh
4642  - Portuguese (Brazil)
4643  - Slovenian
4644  - Turkish
4645
4646
4647 Overview of changes in GLib 2.59.2
4648 ==================================
4649
4650 * Fix check on GDBusMessage size when reading it. (#1642)
4651
4652 * Add async GIO API: g_file_query_default_handler_async(), g_app_info_launch_uris_async() (#1249, #1347)
4653
4654 * Fix some bugs in the Happy Eyeballs implementation. (#1646, #1649)
4655
4656 * Install a new generated header with enum types for Unicode enums. (!481)
4657
4658 * Support the XDG trash portal. (!276)
4659
4660 * Bugs fixed:
4661  - #1224 TSAN patches
4662  - #1249 xdg-open/gnome-open doesn't work if service isn't started
4663  - #1347 g_app_info_launch_default_for_uri_async  is not really async
4664  - #1376 gmarkup: Optimize g_markup_escape_text()
4665  - #1642 minor mismatch between error and code in g_dbus_message_bytes_needed
4666  - #1646 Criticals in g_socket_client_enumerator_callback()
4667  - #1649 Critical in g_socket_client_connected_callback
4668  - #1673 G_MININT constants broken in g-i
4669  - !276 Support the trash portal
4670  - !481 Define enum types for Unicode enums
4671  - !585 gio: do not pass O_PATH file descriptors to portal APIs
4672  - !593 Don't fail trash test if ~/.local doesn't exist or mount points can't be determined (master)
4673  - !609 Make `g_app_info_launch_uris_async()` really asynchronous
4674  - !619 gvariant: Fix a mistake in docs
4675  - !622 Fixing warnings
4676  - !626 gdbus: Avoid printing null strings
4677  - !627 gsocketclient: Fix criticals
4678  - !629 Various memory leak cleanups to GSettings tests (subset)
4679  - !630 docs: Ignore more version macros
4680
4681 * Translation updates:
4682  - Galician
4683  - Hungarian
4684  - Lithuanian
4685  - Polish
4686  - Spanish
4687
4688
4689 Overview of changes in GLib 2.59.1
4690 ==================================
4691
4692 * Autotools support is gone. (!580)
4693
4694 * g_format_size() now uses a no-break space to separate digits and units;
4695   translations will need to be updated accordingly. (#1625)
4696
4697 * New g_queue_clear_full() API. (#1464)
4698
4699 * Fix argument quoting on win32 when spawning subprocesses. (!419)
4700
4701 * Allow polling more than 64 handles on win32 using g_poll(). (#1071)
4702
4703 * Tag various tests as ‘flaky’. These are no longer run routinely on our
4704   upstream CI machines, and downstream packagers may want to not run them (or
4705   not treat those test failures as package build failures) on their test
4706   machines either. They are in the `flaky` test suite. (!579)
4707
4708 * Add overlay support to g_resources_get_info(). (#1445)
4709
4710 * Support defaults and locks in the keyfile GSettings backend. This will be
4711   used for flatpaks. (!450)
4712
4713 * Accept unquoted strings in the keyfile GSettings backend to simplify things
4714   for sysadmins. (!603)
4715
4716 * Update our contribution guidelines (`CONTRIBUTING.md`). (!590)
4717
4718 * Add writev() and writev_all() APIs to GOutputStream and GPollableOutputStream,
4719   and provide implementations of them for many subclasses. (#1431)
4720
4721 * Bugs fixed:
4722  - #424 Add 'proxy' debugging support
4723  - #1055 Provide alignment macros
4724  - #1071 Eliminate MAXIMUM_WAIT_OBJECTS limitation in g_poll() on Windows
4725  - #1445 g_resources_get_info doesn't respect resource overlays
4726  - #1464 Add g_queue_clear_full() API
4727  - #1500 GListStore needs double checking on some warnings
4728  - #1623 xdg-open: file with colon results in “The specified location is not supported”
4729  - #1625 Unbreakable space needed when showing size of folder/file
4730  - #1636 GTask getters don’t return TRUE/FALSE after bitfield changes
4731  - #1637 EXCEPTION_ACCESS_VIOLATION in g_clear_pointer
4732  - #1639 GListStore implementation of g_list_model_get_item() returns wrong results on integer overflow
4733  - #1655 gvariant-parser warnings
4734  - #1663 G_MININT32 triggers compiler warning C4146 with Visual C++
4735  - #1666 `G_DEFINE_DYNAMIC_TYPE_EXTENDED` causes warnings with -Wcast-function-type
4736  - !319 giomodule: Print the type of each default GIO module
4737  - !333 Add writev() API to GOutputStream and GPollableOutputStream
4738  - !419 gspawn, win32: qouted args - escape end backslash
4739  - !450 Settings portal
4740  - !512 gtype: Clarify type of GInterfaceInitFunc
4741  - !516 gthread: Add g_private_set_alloc0() convenience API
4742  - !535 win32 gpoll: overcome the 64 handles limit
4743  - !545 goption: Fix an annotation on g_option_context_parse_strv()
4744  - !560 docs: Fix dconf GSETTINGS_BACKEND name in gio overview
4745  - !564 gtype: Document type for iface_default_init() function
4746  - !568 Add separate definitions of g_assert_[non]null() for C++
4747  - !571 docs: Add note on how to check a gboolean condition
4748  - !575 gio: Update bad cert error in accept-certificate and GTlsError docs
4749  - !579 Temporarily disable flaky tests
4750  - !580 Drop autotools support
4751  - !583 gmacros: MSVC supports the noreturn function attribute
4752  - !587 Remove unused .pc.in files
4753  - !588 MSVC: Move dirent implementation to glib/dirent/
4754  - !590 Update contribution documentation
4755  - !591 gfileinfo: Fix annotation for g_file_info_set_attribute_stringv
4756  - !592 Remove leftover build/ directory
4757  - !595 gtestutils: pass open file descriptors to subprocess
4758  - !597 tests: Tag gsocketclient-slow test as ‘flaky’
4759  - !598 gdbus-proxy test fails with GLib-GIO:ERROR:glib/gio/tests/gdbus-proxy.c:832:fail_test: code should not be reached
4760  - !599 gdtlsconnection: do not return on a void method
4761  - !601 gio: Support "help" in extension point env vars
4762  - !602 Update POTFILES.in
4763  - !603 keyfile settings: Accept unquoted strings
4764  - !608 build: Add -Wno-pedantic flag to compiler arguments
4765  - !611 gnetworkaddress: fix use-after-free for network address
4766  - !612 gdir: shutup a warning when building with msvc
4767  - !615 Fix a couple of wrong compiler warnings
4768
4769 * Translation updates:
4770  - Spanish
4771  - Swedish
4772
4773
4774 Overview of changes in GLib 2.59.0
4775 ==================================
4776
4777 * This will be the last development release with autotools support. As our
4778   Meson support has been around since 2.56.x, and was used to release tarballs
4779   in 2.58.x, the next development release (2.59.1) will drop autotools as used
4780   to build GLib. The macros installed for other packages to use will remain.
4781
4782 * Add `G_TEST_OPTION_ISOLATE_DIRS` to redirect `XDG_*_HOME` to a temporary
4783   directory for each unit test. (#538)
4784
4785 * Support `Property.EmitsChangedSignal` annotations in `gdbus-codegen`. (#542)
4786
4787 * Add `g_assert_cmpvariant()` API for unit tests. (#1191)
4788
4789 * Hide bind mounts from GIO mount listings. (#1271)
4790
4791 * Automatically realign data passed to `g_variant_new_from_bytes()` or
4792   `g_variant_new_from_data()` if it is not correctly aligned. This prevents
4793   misaligned accesses on architectures which don’t support them. Callers should
4794   still aim to correctly align data to get higher performance. (#1342)
4795
4796 * Support `ld -b binary` (on platforms which support it; i.e. Linux) to provide
4797   large pre-compiled `GResource` resources with a fast compilation time. (#1489)
4798
4799 * Unconditionally install GLib m4 macros, so that projects which depend on GLib
4800   and which still build using autotools can continue to build even once GLib has
4801   ported entirely to Meson. (#1520)
4802
4803 * Various fixes to the Meson build.
4804
4805 * Drop Python 2 support and require Python 3.4+. See discussion on
4806   https://mail.gnome.org/archives/desktop-devel-list/2018-July/msg00004.html.
4807   (!196)
4808
4809 * `GHashTable` performance and memory improvements for common cases. See
4810   https://hpjansson.org/blag/2018/07/24/a-hash-table-re-hash/. (!208)
4811
4812 * Add flags that allow a `GApplication` to signal and replace a currently
4813   running other instance of the same `GApplication`. This will be used for app
4814   upgrades with flatpak. (!250)
4815
4816 * Autostart xdg-desktop-portal when using the network monitor and proxy monitor
4817   portal backends. (!317)
4818
4819 * Add a g_task_set_name() API to allow `GTask`s to be described; useful for
4820   debugging. (!384)
4821
4822 * Enable FreeBSD CI on every commit for upstream GLib. (!387)
4823
4824 * Various GVariant, GMarkup and GDBus fuzzing fixes, including buffer overflow
4825   fixes. (!411)
4826
4827 * Various fixes to eliminate thread races, found by thread sanitizer (tsan).
4828
4829 * Deprecate TLS/DTLS rehandshaking, as it has been removed from the protocol in
4830   TLS 1.3. (!478)
4831
4832 * Support reading arguments from a file with `glib-mkenums`, which is useful
4833   for long argument lists due to having deeply nested build directories, on
4834   systems with a low limit on the command line length. (!489)
4835
4836 * Make `g_environ_*()` case-insensitive on Windows, as the environment itself
4837   is case-insensitive on Windows. (!500)
4838
4839 * Add Application Layer Protocol Negotiation (ALPN) support to `GTlsConnection`
4840   and `GDtlsConnection`, so that higher layer protocols can be negotiated when
4841   setting up a TLS connection, without additional round trips and latency. This
4842   is needed for eventual HTTP/2 support. (!520)
4843
4844 * Add support for TPM keys in PEM files when loading TLS certificates. (!522)
4845
4846 * Add a `GRecMutexLocker` auto-pointer wrapper for `GRecMutex`. (!528)
4847
4848 * Bugs fixed:
4849  - #107 The "g_key_file_get_comment" interface returns comment with unexpected new line symbol at the end
4850  - #179 g_object_unref assert in debug code
4851  - #277 'destroy_data' in g_cclosure_new is registered as finalize notifier instread invalidate.
4852  - #538 Add helpers to redirect XDG_*_HOME to a temp dir for unit tests
4853  - #542 gdbus-codegen does not honor "Property.EmitsChangedSignal" annotations
4854  - #656 check for -Werror=format-security broken
4855  - #734 Provide a way to instantiate a GDBusProxy-derived class from a GDBusConnection and a object path without blocking
4856  - #827 gmain: Clarify that g_source_set_callback() is safe on attached sources
4857  - #1055 Provide alignment macros
4858  - #1119 GVolumeMonitor: Results don't reflect current state but state when application was launched
4859  - #1191 add g_assert_equal_variants
4860  - #1261 Add option to leave <default> in gschema empty
4861  - #1271 fstab binds appear as mounts (x-gvfs-hide is being ignored)
4862  - #1310 gdbusproxy: make g-name-owner property useful with unique names
4863  - #1313 Meson: Rework the config.h generation
4864  - #1342 Automatically realign data passed to g_variant_new_from_bytes() or g_variant_new_from_data()
4865  - #1343 g_date_set_parse: Parses "September" in Polish incorrectly
4866  - #1362 Incorrect documentation about GSettings child add/remove notifications
4867  - #1452 GFileInfo: unable to retrieve correct modification time of links and mounted volumes on Windows
4868  - #1471 Incorporate oss-fuzz fuzz targets into GLib
4869  - #1489 Use `ld -b binary` to speed up GResource generation for linking
4870  - #1498 distcheck fails in distclean
4871  - #1506 error: redefinition of typedef 'GKqueueFileMonitor'
4872  - #1509 test_timeval_to_iso8601_overflow: 'out' should be NULL
4873  - #1513 GIcon regression?
4874  - #1514 gio/appinfo test sometimes fails in CI
4875  - #1518 /network-monitor/create-in-thread fails in (LXC) containers on glib-2-56
4876  - #1520 Change conditions for installing m4 macros
4877  - #1522 Trash not working on NTFS folder accessed from symlink
4878  - #1523 GIO NetworkMonitor doesn't reflect the current network state
4879  - #1525 GTask allows (buggy) application code to cause callback to be called twice, without warning
4880  - #1527 Meson doesn't install data for installed-tests
4881  - #1528 Meson tests are hard to debug in an autobuilder environment
4882  - #1530 tests/mainloop-test appears to be flaky
4883  - #1535 meson: installed-test metadata not run in TAP mode
4884  - #1536 meson: spurious dependencies on convenience libraries in .pc files
4885  - #1537 meson: absolute paths to ${builddir} included in gtk-doc HTML
4886  - #1538 meson: G_HAVE_GROWING_STACK defined differently
4887  - #1539 meson: Some files are unnecessarily installed executable
4888  - #1541 meson: timeloop-closure test not installed
4889  - #1542 meson: /usr/lib/glib2.0/installed-tests/glib/gdbus-peer: error while loading shared libraries: libgdbus-example-objectmanager.so: cannot open shared object file: No such file or directory
4890  - #1544 meson: gtester-report #! not replaced with ${PYTHON}
4891  - #1546 Cross-compilation fails in 2.58
4892  - #1556 build: Too long file path issue with meson on Windows
4893  - #1562 GDate test suite fails with latest glibc
4894  - #1570 ghash.c:694:27: left shift of 1 by 31 places cannot be represented in type 'int'
4895  - #1572 Flags validation fails
4896  - #1575 g_date_time_format() should have format attribute
4897  - #1576 Fails to build with Meson on Debian armel (armv5te EABI softfloat little-endian)
4898  - #1580 glib-compile-resources using strings breaks building e.g. GTK+ on MS Visual C, which limits strings to 65535 chars
4899  - #1581 Memory used for reference counted data might be misaligned.
4900  - #1588 Moving a bookmark item to the same URI causes a crash
4901  - #1589 g_log_writer_is_journald memoizes a single result, even though it accepts a parameter
4902  - #1590 tests: g-file-info-filesystem-readonly fails if run more than once with fuse & bindfs installed
4903  - #1594 Return value of g_dbus_connection_get_unique_name not annotated as nullable
4904  - #1600 g_timeout_source_new_seconds overflows when given interval > (G_MAXUINT / 1000)
4905  - #1601 appinfo test fix is defective
4906  - #1605 g_date_time_format fails when used with non ASCII format string on POSIX locale
4907  - #1615 gdbus-codegen not generating nullable annotation
4908  - !196 [RFC] build: Drop Python 2 support and require Python 3.4+
4909  - !200 Add a new GTlsError to indicate protocol downgrade attacks
4910  - !208 GHashTable improvements
4911  - !219 glocalfilemonitor: Fallback to poll file monitor for NFS
4912  - !238 W32 GFileInfo improvements
4913  - !250 Application replace
4914  - !264 glib-compile-resources: encode data as string
4915  - !268 build: simplify alloca checks. See #1313
4916  - !272 dtrace: Add missing const attributes to types in glib_probes.d
4917  - !273 gtlsbackend: add support for setting the default TLS database
4918  - !277 Use "command -v" instead of "which"
4919  - !282 meson: Add macOS libtool versioning for ABI compatibility
4920  - !286 gspawn: Fix build on systems without O_CLOEXEC
4921  - !287 glib-compile-resources: Fix generated code compiling with C++ compilers
4922  - !289 tests: Add more tests to finish branch coverage of GHashTable
4923  - !290 build: fix installation dir of glib-gettextize
4924  - !292 Remove all ChangeLog files
4925  - !293 Document new volume class `loop`
4926  - !294 portal network monitor: Always emit changed signal on changed
4927  - !295 meson: fix typo
4928  - !296 Add G_GNUC_FALLTHROUGH for __attribute__(fallthrough))
4929  - !297 build: Drop AC_C_CONST from configure.ac
4930  - !302 Document that GTimeVal is subject to the year 2038 problem on 32-bit systems
4931  - !303 liststore: Simplify code
4932  - !304 Add more GListStore/GListModel tests
4933  - !309 codegen: Change pointer casting to remove type-punning warnings
4934  - !312 Enable GIO tests on Windows
4935  - !316 gdbus: Improve error when well-known name is unowned
4936  - !317 Autostart xdg-desktop-portal if needed
4937  - !322 gnetworkmonitornm: Set a GError properly on an error handling path
4938  - !332 gmarkup: Make the documentation even more explicit about untrusted input
4939  - !334 gio: automake: Add libgmodule dependency
4940  - !338 gcharset: fix leaking g_get_language_names_with_category
4941  - !339 Add g_desktop_app_info_get_string_list(); fix g_key_file_free()
4942  - !340 tests: Mark two more tests as slow
4943  - !345 Fix build failure on systems without POSIX spawn
4944  - !347 Use Meson 0.48.0 for CI
4945  - !348 Documentation tweaks for g_array_free
4946  - !353 Meson: Do not run tests/refcount with --tap
4947  - !354 Fix spelling mistakes detected by Debian's Lintian tool
4948  - !358 Autotools: Move libmount from Libs.private to Requires.private
4949  - !360 CI: Test static build on installed glib
4950  - !363 Tests: Mark printf wrappers with G_GNUC_PRINTF
4951  - !364 ci: Enable FreeBSD CI
4952  - !366 gunixmounts: Mark mounts as system internal instead of filtering out
4953  - !372 gmacros: Fix G_[UN]LIKELY to not mask -Wparentheses
4954  - !374 gthreadpool: Include prgname in thread name
4955  - !375 m4macros: Allow information from pkg-config to be overridden
4956  - !376 gthread: Clarify priority handling in GRWLock
4957  - !379 Ignore g_return_*if_fail() branches in lcov coverage report
4958  - !381 Add UTF-8 communication tests for GSubprocess
4959  - !384 gtask: Add a g_task_set_name() method
4960  - !387 ci: Enable FreeBSD CI in the official repository
4961  - !396 m4: Fix AM_PATH_GLIB_2_0 macro
4962  - !400 grefcount: add missing gatomic.h
4963  - !403 build-sys: Pass CFLAGS to $(DTRACE)
4964  - !405 ci/msys2: fix path to the lcov config file
4965  - !406 meson: Mark 1bit-emufutex test as slow
4966  - !407 meson: Increase test timeouts
4967  - !410 gfileutils: Add examples to g_path_get_dirname() documentation
4968  - !411 Various GVariant, GMarkup and GDBus fuzzing fixes
4969  - !412 Enable compile time check of g_date_time_format() format
4970  - !413 Add support for g_auto(s)list to G_DECLARE'd types
4971  - !414 gio, tests: ensure objectmanager sources are generated
4972  - !415 gseekable: fix 'attmepting' typo
4973  - !416 gdbus-peer: Make sure to not include objectmanager-gen.c source
4974  - !417 Fix ^*ay handling in g_variant_iter_loop()
4975  - !418 Meson: Cleanup a FIXME now that we have dict addition
4976  - !420 gdbus-codegen: add autocleanup for FooObject
4977  - !422 GMarkup buffer overflow fixes for error handling, round 2
4978  - !423 gutils: Check whether getauxval function exists
4979  - !424 ci: Fix Docker image version
4980  - !425 gdate: Reinitialize using_twodigit_years and locale_era_adjust.
4981  - !435 gdatetime: Fix formatting of time zones offsets in range -01:00 to +00:00
4982  - !436 valgrind: Add glib_init()-related suppressions
4983  - !440 Fix minor memory leaks in tests
4984  - !443 tests: Avoid multithreaded use of g_test_rand_int_range
4985  - !444 gvarianttypeinfo: Consistently use atomics to access ref_count
4986  - !446 gmain: Fix data races in GUnixSignalWatchSource and GChildWatchSource
4987  - !451 closures test: Avoid timeout on ARM64 CPUs
4988  - !452 Atomic reference count in GVariant, ContainerInfo and GDBus introspection
4989  - !453 tests: Fix some data races in tests
4990  - !454 gdbusproxy: make g-name-owner property useful with unique names
4991  - !458 glib-compile-resources: Fix size allocation for compressed streams
4992  - !460 gatomicrefcount: Make g_atomic_ref_count_init non-atomic
4993  - !461 Meson: Fix build error in gdbus-example-objectmanager
4994  - !462 meson: add aarch64 memory barrier handling
4995  - !463 gio, tests: fix leak of dbus connection.
4996  - !467 Update documentation of g_tls_connection_handshake() again
4997  - !469 docs: add index of new symbols for gio > 2.52
4998  - !470 docs: Clarify return/error behaviour of D-Bus signal subscriptions
4999  - !472 gdbusmessage: Gracefully handle message signatures with invalid types
5000  - !477 gthread: Remove unsynchronized access to g_once_init_list from assertion
5001  - !478 Deprecate TLS rehandshaking
5002  - !480 docs: add a missing semicolon
5003  - !482 Check for 'z' library before fallbacking to subproject
5004  - !483 meson: Turn selinux into a meson feature and make it auto by default
5005  - !484 Meson: Add 'nls' option to disable translation
5006  - !485 gdbus-codegen: Tag interfaces and properties so annotated with G_PARAM_DEPRECATED
5007  - !486 Check for zlib header
5008  - !489 glib-mkenums: Support reading @rspfiles for arguments
5009  - !490 gspawn: Fix g_spawn deadlock in a multi-threaded program on Linux
5010  - !491 Meson: Add missing include_directories when using glib as subproject
5011  - !492 g_value_get_variant: return value is transfer-none not transfer-full
5012  - !494 Resolve "Follow-up from "gunixmounts: Stop considering cifs/nfs as system file systems""
5013  - !500 genviron: make g_environ_* case-insensitive on Windows
5014  - !504 tests: Unset LANGUAGE when running gdatetime tests
5015  - !505 Support isolating directories for unit tests
5016  - !508 ci: Install additional locales used during tests
5017  - !510 Add new Linux Testing project version number to configure script
5018  - !511 gvariant: Fix error handling for parsing Unicode escapes
5019  - !514 fix gdbus-codegen --interface-info-{header,body}
5020  - !515 binding: Clarify the use of g_object_unref() to remove a binding
5021  - !517 Meson: Fix deprecation warning with upcoming 0.49.0 release
5022  - !518 Meson: Fix declare_dependency() calls
5023  - !520 GTlsConnection: add ALPN support
5024  - !521 tests: Rename macro to avoid conflict with encoding prefix
5025  - !522 gtlscertificate: Add support for TPM keys in PEM files
5026  - !524 gdatetime: Fix typo in the comment
5027  - !528 Add GRecMutexLocker
5028  - !530 tests: Minor improvements to mkenums.py and taptestrunner.py used by it
5029  - !534 gtlscertificate: Fix bug in PEM private key parser
5030  - !536 Various minor docs fixes
5031  - !541 gtimezone: Fallback to /etc/timezone on Gentoo
5032  - !546 spawn: add shebang line to script
5033  - !547 Do not check for NULL when calling free()
5034  - !549 Improve documentation of g_assert_error()
5035  - !551 Revert "tests: Fix GOptionContext leak in GSubprocess tests"
5036  - !554 Only subscribe to owner-changed signals on message bus connections
5037  - !555 Suppress -Wint-in-bool-context warning with G_DEFINE_INTERFACE and g++
5038
5039 * Translation updates:
5040  - Brazilian Portuguese
5041  - Czech
5042  - Danish
5043  - Greek
5044  - Hungarian
5045  - Lithuanian
5046  - Norwegian bokmål
5047  - Polish
5048  - Slovak
5049  - Slovenian
5050  - Spanish
5051  - Swedish
5052  - Turkish
5053
5054
5055 Overview of changes in GLib 2.58.0
5056 ==================================
5057
5058 * Tarball built with `ninja dist`, so if you want to build this release with
5059   autotools (which is supported), you will need to re-run autogen.sh. This
5060   release, and all micro releases in the 2.58.x series, support being built
5061   with Meson or autotools. See:
5062   https://mail.gnome.org/archives/gtk-devel-list/2018-June/msg00012.html
5063
5064 * Fix cancellation of g_subprocess_communicate_async() calls. See !266.
5065
5066 * Drop support for the __int64 type, which further breaks compilation on old
5067   MSVC versions (before VS2013). See #1313.
5068
5069 * Expose GSettings schema directory in gio-2.0.pc as `schemasdir`. See !274.
5070
5071 * Support v3 of the xdg-desktop-portal network monitor API. See !265, !279.
5072
5073 * Fix G_MODULE_SUFFIX on macOS when GLib is built with Meson — it should be `so`
5074   rather than `dylib`. Projects that use Meson and the `g_module_build_path()`
5075   API such as glib-networking should pass `name_suffix:` to `shared_module()` to
5076   ensure that plugins continue to be called libfoo.so on macOS. See !280.
5077
5078 Bugs fixed:
5079  !280 meson: Always set G_MODULE_SUFFIX to `so` on macOS
5080  !266 subprocess: Fix communicate_cancelled signature
5081  !279 Revert "Add a gnet utility" (see !265)
5082  !265 Network monitor again
5083  !274 gio: Provide schemas directory information in pkg-config file
5084  !239 gvariant: Fix more bounds checking in GVariant text format parser
5085  !195 garray: add overflow checks before expanding array
5086  #1497 g_strdup_printf warns on invalid format specifier with G_GUINT64_FORMAT on Win32
5087  !270 autotools: remove support for the __int64 type. See #1313
5088  !267 ci: Add an autotools job
5089
5090 * Translation updates:
5091  Czech
5092  Galician
5093  Indonesian
5094  Italian
5095  Kazakh
5096  Korean
5097  Turkish
5098
5099
5100 Overview of changes in GLib 2.57.3
5101 ==================================
5102
5103 * G_GNUC_MALLOC’s definition has been tightened up to match an updated
5104   definition from GCC. Many uses of G_GNUC_MALLOC which were previously
5105   appropriate may cause miscompilation with newer GCC versions. Check your uses
5106   of it against the updated documentation. See #1465.
5107
5108 * Many minor documentation fixes.
5109
5110 * Fix for gint64 and int64_t compatibility on macOS and BSD. See #972.
5111
5112 * Fix free space metadata on some file systems (notably FAT). See #328.
5113
5114 * Support installed-tests with our Meson build system. See #1444.
5115
5116 * Forbid @filename@/@basename@ in glib-mkenums templates, which is a change to
5117   its long-standing behaviour (which was long-standing nonsensical). See !241.
5118
5119 * Various stat() fixes on Windows. See #1452, #1476.
5120
5121 * MinGW-w64 ABI warning: In case you build 64 bit glib without LFS support by
5122   passing --disable-largefile (not the default) and use GStatBuf, you need to
5123   rebuild your application as the size of GStatBuf has changed for this case.
5124   See #1476.
5125
5126 * Improve TAP compatibility of g_test_incomplete(). See #1474.
5127
5128 * Change fallback preferences when loading icons. See !72.
5129
5130 Bugs fixed:
5131  !263 build: Clean files left behind after gio/tests/gresource.c test
5132  !262 gmem: Only evaluate pointer argument to g_clear_pointer() once
5133  #1465 Many uses of G_GNUC_MALLOC are incorrect
5134  #1448 g_error does not abort() as documented
5135  #1494 g_clear_pointer may not use the correct calling convention with its callback
5136  #972 Mismatch between gint64 and int64_t on 64-bit macOS/BSD
5137  !251 gtestdbus: Fix watcher crash on FreeBSD
5138  #1492 gcc-8: -Wcast-function-type: new warnings for g_list_copy_deep()
5139  !252 tests: fix gnotification tests broken due to the recent icon name fallback changes
5140  #328 filesystem::{free,size,used} not set for full FAT fs
5141  !248 network monitor portal: update properties initially
5142  #1373 Incorrect transfer annotation for g_binding_unbind.
5143  #1444 the meson build doesn't support installed tests
5144  #1027 Fix trashing on overlayfs
5145  #1454 gvdb does not treat corrupt files as empty as promised; dconf suffers
5146  !243 tests: Explicitly set TZ=UTC for g_time_val_from_iso8601() testing
5147  #1488 ‘O_CLOEXEC’ undeclared (first use in this function)
5148  !241 glib-mkenums: forbid @filename@/@basename@ in fhead and ftail
5149  !240 gtimer: Ensure arithmetic is correctly signed for ISO 8601 parsing
5150  #1452 GFileInfo: unable to retrieve correct modification time of links and mounted volumes on Windows
5151  !234 DOC: Documentation fix in GTask description
5152  #1363 Meson: Review cross compilation properties
5153  !225 gtimer: Add overflow checks to g_time_val_from_iso8601()
5154  !230 gbookmarkfile: Fix some more minor leaks when metadata elements are repeated
5155  !229 Fix up g_bytes_compare() documentation
5156  #1476 g_stat - possbile memory corruption causing SEGFAULT
5157  !199 Update TLS documentation
5158  #1474 g_test_incomplete() makes test_case_run() return FALSE
5159  #1475 glib/tests/atomic.c test_types() trips -Werror=bad-function-cast on Debian armel
5160  #1472 Test for BROKEN_IP_MREQ_SOURCE_STRUCT is broken on Windows / Mingw
5161  !220 date test: Use g_test_skip(), not g_test_incomplete()
5162  #1467 malloc difference causes refstring test to fail on FreeBSD
5163  !230 gbookmarkfile: Fix some more minor leaks when metadata elements are repeated
5164  #1466 Not Able to Build glib 2.57.2 in Mingw-w64 x64 bits
5165  #1433 test_posix_parse: assertion failed (g_time_zone_get_abbreviation (tz, 0) == "UTC"): ("LMT" == "UTC")
5166  #1446 Follow-up from "Document difference between g_assert() and g_assert_*() wrt G_DISABLE_ASSERT"
5167  !206 grefstring: Avoid an unnecessary NUL assignment
5168  #1458 g_volume_get_mount returns NULL value after g_volume_mount_finish is called with no error
5169  !72 gio: icons should fallback to non-preferred style appropriately.
5170
5171 * Translation updates:
5172  Brazilian
5173  Chinese (Taiwan)
5174  French
5175  German
5176  Lithuanian
5177  Polish
5178  Romanian
5179  Turkish
5180
5181
5182 Overview of changes in GLib 2.57.2
5183 ==================================
5184
5185 * Require pcre 8.31
5186 * Require meson 0.47.0
5187
5188 * Bugs fixed:
5189  742456 Add g_steal_pointer() convenience function to mark ownership...
5190  795569 MinGW CI: fix tests
5191  796341 gmem.h: Use typeof() in g_steal_pointer() macro
5192  #1013 Support for per-session overrides
5193  #1360 glib-mkenums breaks if option specified but no nick
5194  #1175 Add names and tags to various GSources and GTasks constructed in GLib
5195  #903 g_main_context_wait() not deprecated in API, but emits a g_critical()...
5196  #786 Fix memory leaks in libgio tests
5197  #927 gio/gresource.c:do_lookup check for terminating "/"
5198  #976 Document difference between g_assert() and g_assert_*()...
5199  #1447 glib 2.57.1: test_month_names: assertion failed...
5200  #1407 Update to Unicode Character Database 11
5201  #1455 glib python tools have full python path in shebang, limits to 128 characters
5202  #1459 Missing g_return_val_if_fail in g_async_queue_timeout_pop
5203
5204 * Translation updates:
5205  Friulian
5206  German
5207  Romanian
5208  Spanish
5209
5210
5211 Overview of changes in GLib 2.57.1
5212 ==================================
5213
5214 * New api:
5215  - g_hash_table_steal_extended
5216  - G_GNUC_NO_INLINE 
5217
5218 * Bug fixes:
5219  668132 Use libmount and expose mount options on GUnixMountEntry type
5220  736741 Update private copy of valgrind.h
5221  748620 g_regex_* utf-8 validity requirements are not stated clearly
5222  784995 meson: some Windows improvements
5223  788771 NODELETE missing when built with meson
5224  788773 meson does not install correct pc files
5225  789968 Add g_autoptr() support for GTypeClass
5226  794325 Various fixes to compile on OSX
5227  795152 gdesktopappinfo: Mark GDesktopAppInfo constructors as nullable.
5228  795165 Add g_date_time_get_timezone() and g_time_zone_get_identifier()
5229  795180 Investigate performance impacts of recent compiler features on hot functions
5230  795302 Add g_hash_table_steal_extended() API
5231  795376 Add g_ptr_array_steal()
5232  795544 Add binary/textfile/zero size detection
5233  795569 MinGW CI: fix tests
5234  795636 gitlab-ci: generate test coverage reports
5235  795735 Fix comparison for GVariant property values
5236  795802 gdbus-codegen doesn't accept --output-directory with --output for --body and --header
5237  795849 gwin32: Fix detection of MinGW32 vs MinGW-w64
5238  795876 meson: Fix checks for posix_memalign and stpcpy
5239  795960 g_format_size_for_display() is deprecated since 2.30
5240  796085 Meson: Many apps breaks on non-glibc because of missing libintl
5241  796138 Fix typo in g_file_info_set_attribute docs
5242  796139 Add g_autoptr() support for GParamSpec
5243  796164 Fix atomic ops check in meson.build
5244  796186 Typo: "instead off" in gsignal.c
5245  796213 Meson: Fail to build on macosx
5246  796220 meson: do not run atomic test with msvc
5247  796264 Add android CI
5248  796325 meson: Add exception for atomic ops test for Android
5249  796328 gengiotypefuncs.py: Read and parse files in binary mode 
5250
5251 * Translation updates:
5252  Czech
5253  Indonesian
5254
5255
5256 Overview of changes in GLib 2.57.0
5257 ==================================
5258
5259 * Bug fixes:
5260  739424 Rewrite kqueue GFileMonitor backend to drop threading
5261  751826 Use g_get_language_names() for other locale categories
5262  788773 meson does not install correct pc files
5263  793400 g_application_id_is_valid() not strict enough
5264  793578 gdatetime tests depend on Japanese translation of month names
5265  793645 test_month_names: Updated translations needed for el_GR, hr_HR, ru_RU
5266  793729 gitlab-ci: Add Windows MinGW support
5267  793994 GUnixVolumeMonitor doesn’t show user mounts when run as root
5268  794170 gdbus: hexdecode() and hexencode() do not return/use decoded/encoded s...
5269  794194 gobject_gdb.py: 'address' is a property of gdb.Value not a function
5270  794207 leak: g_socket_listener_add_inet_port increases ref-count on socket-li...
5271  794284 Support whitespace stripping for JSON resources
5272  794285 glib-compile-resources should not noisily g_printerr() when xmllint is...
5273  794473 Remove duplicated option in gio.xml
5274  794506 glib-mkenums: Enters infinite loop if using typedef enum SomeIdentifier
5275  794528 Fix segfault caused by use-after-free in GPollFileMonitor
5276  794555 glib meson build fails on MinGW due to misdetected functions
5277  794557 gtkdoc-scangobj fails on gio in meson builds
5278  794606 glib-2.56.0 fails to compile when res_nquery is not available
5279  794635 gmacros: Don't define bogus __has_* macros
5280  794636 G_HAVE_GNUC_VISIBILITY is defined in meson MinGW builds
5281  794686 Date (except weekday) displayed in English
5282  794732 Fix various compiler warnings 
5283
5284 * Translation updates
5285  Hungarian
5286  Slowak
5287  Slovenian
5288  Spanish
5289
5290
5291 Overview of changes in GLib 2.56.0
5292 ==================================
5293
5294 * Bugs fixed:
5295  672777 Error in gdummyfile.c
5296  732184 GObject: warn on use of deprecated properties
5297  733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
5298  742124 g_data_input_stream_read_upto()'s documentation should say that the...
5299  749206 GDateTime: month names in the genitive case
5300  768507 simplify qguark functions
5301  791457 Slow transfer rate when writing to smb/cifs
5302  793272 fix GCC 8.0's -Wcast-function-type warnings
5303  793300 g_hash_table_add() return value change in 2.40 not mentioned in docs
5304  793399 Fix some cases of -Wduplicated-branches
5305  793555 -Wimplicit-function-declaration when using g_abort()
5306  793565 GLib does not compile on macOS 10.13 due to .m file naming
5307  793597 gdbus-tool: Make --dest optional for emit again
5308  793635 Enable CI for GLib
5309  793880 gnetworkmonitor: Minor fixes based on code review 
5310  793578 gdatetime tests depend on Japanese translation of month names 
5311  794180 test_month_names fails unless installed
5312
5313 * Translation updates:
5314  Brazilian Portuguese
5315  British English
5316  Catalan
5317  Czech
5318  Danish
5319  Dutch
5320  Finnish
5321  French
5322  Friulian
5323  Galician
5324  German
5325  Hungarian
5326  Indonesian
5327  Italian
5328  Kazakh
5329  Korean
5330  Lithuanian
5331  Polish
5332  Scottish Gaelic
5333  Serbian
5334  Serbian Latin
5335  Spanish
5336  Swedish
5337  Turkish
5338
5339
5340 Overview of changes in GLib 2.55.2
5341 ==================================
5342
5343 * GFile now has API to get the path without copying
5344
5345 * A network monitor implementation for Windows has been added
5346
5347 * Bugs fixed:
5348  520116 g_utf8_strlcpy()
5349  584284 g_data_input_stream_read_until_async behaves confusingly different f...
5350  605700 request for g_key_file_get_locale()
5351  658713 ngettext (plural forms) needed for "Message has %d file descriptors ...
5352  685442 windows GNetworkMonitor implementation
5353  723003 gsettings list-recursively reports some keys multiple times
5354  749583 GSequence performance improvements
5355  757284 Move G_DIR_SEPARATOR* and G_SEARCHPATH_SEPARATOR* into glibconfig.h
5356  760324 [PATCH] gkeyfile.c: find_file_in_data_dirs fails to return the path ...
5357  761102 Increase performance for main loop
5358  767976 GFile: Add g_file_peek_path()
5359  770335 gdbus-codegen: generated getter for 'ao' property is actually (trans...
5360  772989 Totem allows invalid urls that might cause segfault that's irrecover...
5361  790698 convert: test failure on NetBSD
5362  791015 gdbus-codegen: Split generation of header and source
5363  791622 Disable strict-aliasing in GLib
5364  792050 GResolver is not thread-safe
5365  792217 Deprecate GTlsClientConnection:use-ssl3
5366  792338 meson, autotools: figure out if mem barrier is needed for arm64 host...
5367  792351 gbookmarkfile: check length before dereferencing groups
5368  792364 gdbus-threading test method-calls-in-thread: assertion failed (elaps...
5369  792370 GNetworkMonitor: Rename "network-changed" signal argument
5370  792410 GDateTime new_from_iso8601 test broken in 2.55 on i386
5371  792432 flush stdout after logging (debug) messages
5372  792455 Improve docs of GSequence
5373  792499 deadlock on startup with TCP session bus
5374  792516 gconvert: More consistent handling of embedded NUL bytes
5375  792777 g_notification_set_urgent() unconditionally sets G_NOTIFICATION_PRIO...
5376  792780 gbytes should reference toplevel bytes when slicing with g_bytes_new...
5377  792856 off64_t isn't a part of C standard
5378  792862 gpollableoutputstream: document side effects of WOULD_BLOCK on D/TLS
5379  792903 Clarification between g_try_.. functions and their counterparts
5380  793006 High CPU load for GUnixMountsMonitor consumers
5381  793026 possible mem leak in g_mutex_impl_new
5382  793074 g_message() does not get -Wformat warnings when compiling with G_LOG...
5383
5384 * Translation updates:
5385  Hungarian
5386  Indonesian
5387  Polish
5388
5389
5390 Overview of changes in GLib 2.55.1
5391 ==================================
5392
5393 * Build:
5394  - The --enable-rebuilds configure option has been removed
5395  - The --with-charsetalias-dir configure option has been added
5396
5397 * GList and GSList now have autoptr support
5398
5399 * The gsettings list-schemas command has gained a --print-paths option
5400
5401 * Bugs fixed:
5402  346816 Refactor LIBDIR in libcharset Makefile
5403  508976 Does g_slist_sort preserve the order of equal elements?
5404  562334 2.18.2 break libglade on Solaris
5405  662802 systemtap multiarch issue
5406  684282 Add support static link of GIO modules
5407  692034 Install an invalidation notifier for GClosure in g_source_set_closure()
5408  694723 Get rid of REBUILD stuff in configure.ac
5409  697715 floating point precision problem in check test gst/gstvalue
5410  701156 testgobject assumes that the priv data follows the instance data
5411  720380 Segfault when using GDBusMenuModel on a peer-to-peer connection
5412  724383 glib: document restrictions on various foreach() functions
5413  724412 GLib mappedfile.c test uses g_get_user_runtime_dir instead of a tempo...
5414  724794 Fix "on on" typo in tap-driver.sh comment
5415  732003 gnode: Eliminate implicit signed-to-unsigned integer conversion
5416  734479 G_VALUE_HOLDS etc. cause -Wcast-qual warnings for a const GValue *
5417  737677 gmain: Make GSourceCallback thread-safe
5418  741167 gdbus-codegen fix for boxed out parameters
5419  748534 gtest: if a subprocess assertion fails, print its stdout and stderr
5420  749527 add weak pointer helpers similar to g_set_object
5421  749652 compilation errors with gcc 4.8
5422  754634 Update the list of Linux filesystem magic numbers used in get_fs_type
5423  756011 Fix up annotations for GBookmarkFile
5424  761102 Increase performance for main loop
5425  773980 GIR scanner doesn't interpret array type properly
5426  776147 gio/glocalfilemonitor.c doesn't handle case G_FILE_MONITOR_EVENT_MOVE...
5427  776195 -z nodelete configure check does not work on Solaris
5428  777075 Potential leak of memory pointed to by 'list'
5429  779413 Translated X-Geoclue-Reason string not used in a dialog window
5430  780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
5431  780893 Reword licensing header for gdbus-codegen
5432  782057 Unit tests fail in run-assert-msg-test.sh
5433  784995 meson: some Windows improvements
5434  786796 gtk-doc build fails with meson
5435  788806 Impossible to build static glib via meson
5436  788936 Show mime type icons on OS X
5437  790416 g_date_time_format returns empty string on %r with German locale
5438  790588 Generated file missing from .gitignore
5439  790697 g_object_ref API should propagate parameter type
5440  790785 glib-tap: Add missing mkdir for .test generation rule
5441  790829 glib-genmarshal --body must not generate alias implementations
5442  790830 Mismatch between number of interface methods in text and example code
5443  790837 Meson: missing many configure options
5444  790839 GApplication command line: lacks parameter_string, summary and descri...
5445  790877 fix non-portable check in G_GNUC_CHECK_VERSION
5446  790894 Do not connect to the session bus when trying GProxyResolverPortal io...
5447  790896 docs/reference/README has broken link to http://www.gtk.org/rdp/
5448  790914 gdesktopappinfo: Downgrade a warning to a debug message
5449  790934 gtester doesn't handle skipped tests
5450  790948 GSourceFuncs documentation is confusing: when will dispatch be called?
5451  791036 Guard for g_output_stream_vprintf makes no sense
5452  791128 C runtime complains about bad arguments on each g_log() call
5453  791221 po/README.translators has no useful information in 2017
5454  791235 Fix gschema.dtd regarding flags.
5455  791267 Make gschema.dtd usable.
5456  791296 gtester-report: fix range usage when running as python3 app
5457  791318 GBytes: Improve documentation
5458  791325 Gio handling of thumbnail:: attribute namespace causes inconsistent b...
5459  791334 gbinding.c:898: The target object of type GNetworkAddress has no prop...
5460  791337 Crash opening URIs with g_desktop_app_info_launch_uris_with_spawn()
5461  791342 Add autoptr support for lists
5462  791460 meson: fixes for OSX
5463  791532 Implicit declaration of function ‘memcmp’ in gtestutils.h
5464  791622 Disable strict-aliasing in GLib
5465  791720 Criticals in gio/xdp-dbus.h leading to crash under flatpak
5466  791744 gmenumodel test sometimes fails: assertion failed (items_changed_coun...
5467  791745 not immediately clear whether g_test_slow() is in effect by default
5468  791906 GSocketListenerClass.event has wrong signature
5469  792064 gsettings list-schemas --print-paths
5470  792098 Binding: bind_property’s @notify func is nullable
5471  792099 gdbus-test-codegen: Cast to void* to printf "%p"
5472  792129 meson: skip optional linux/unix deps that default to true when buildi...
5473  792322 GLib-GIO:ERROR:gschema-compile.c:51:test_schema: child process (/gsch...
5474  792324 gkeyfile: Document need for KEEP_TRANSLATIONS with get_locale_string()
5475
5476 * Translation updates
5477  Hebrew
5478  Indonesian
5479
5480
5481 Overview of changes in GLib 2.55.0
5482 ==================================
5483
5484 * New API:
5485   - g_clear_handle_id, to simplify removing sources from the default mainloop
5486   - g_file_load_bytes, to make it more convenient to load files into GBytes
5487
5488 * Bugs fixed:
5489  330458 Sample code for the GLib Key-value parser
5490  483341 g_error and friends create warnings when not used in MSVC
5491  569375 g[u]intptr undocumented
5492  573251 documentation for g_seekable_truncate() needs some love
5493  629347 Missing annotations in GFile (was: Perf throws an exception in cur...
5494  630983 [PATCH] Type accuracy for result of strlen() in string utilities.
5495  632953 Clarify documentation of GValueTransform.
5496  636210 Document that pre-unmount is not guaranteed and backend-dependant
5497  656502 type information for GSettings::backend missing from .gir
5498  661442 Nautilus crashes when refreshing home folder after modifying ~/.co...
5499  668035 gtester-report broken with python 2.7.2 and glib 2.30.1
5500  670139 gbytes.c:try_steal_and_unref nit
5501  677233 (transfer full) annotation not correct for g_closure_new_simple re...
5502  679347 glocalfile seems to leak 'fstype'
5503  679467 Mention translation in g_warning() documentation
5504  689323 Variable scoping in gunixmounts.c
5505  691436 glib-mkenums output arch dependent
5506  695681 gsettings bash completion put error messages
5507  705331 AM_PATH_GLIB_2_0 macro fails with -Wstrict-prototypes -Werror
5508  706667 Fix permission denied error when installing from an nfs directory
5509  711809 gdbus-proxy: Fix erroneous timeout during following tests
5510  722256 gslist: Simplified node removal and got rid of some code duplication
5511  723655 Socket source is left in the poll after the socket is closed
5512  723743 g_child_watch_add() doesn't check for non-pids
5513  725014 g_settings_schema_source_ref should check for NULL pointer
5514  727346 docs: Escape some backslashes for markdown
5515  730296 gsignal: Fix a potential NULL pointer dereference
5516  731625 Improve test for darwin printf format-strings
5517  731705 gio/tests/desktop-app-info assumes /bin/true
5518  737278 Clarify relationship of g_application_quit() to hold count
5519  738176 Skip GSpawnChildSetupFunc closures in introspection
5520  740223 source_object for GAsyncResult should be nullable
5521  740791 gio: cannot specify the source when joining a multicast group (IGM...
5522  740826 glib doesn't know fuse filesystems
5523  742548 configure.ac: stay out of autoconf's namespace
5524  742997 Don't skip invalid enum values in schemas
5525  745723 -Wunused-but-set-variable work-around no longer sufficient
5526  749371 Use a GHashTable as a set when possible
5527  751738 Unused-variable warnings in glib/tests/autoptr.c
5528  752239 Missing dependency for python files in build file
5529  752240 Add DTLS support to GIO
5530  753459 GDateTime: Add conversion functions from/to ISO 8601 strings
5531  753521 g_subprocess_launcher_set_environ misses argument annotations
5532  754026 gfileutils: add some sanity checks
5533  756009 'const gchar* const *' gets incorrectly defaulted to utf8
5534  756103 Skip g_base64_decode_step() in introspection
5535  756128 Fix up annotations in gconvert
5536  756430 g_rw_lock_reader_lock() can return without locking, or error
5537  756470 Fix up annotations in gdataset.c
5538  756588 Fix up annotations on data/qdata API of GObject
5539  760022 Memory leak in gvariant-parser.c
5540  760109 [PATCH] Invalid GDate can't be g_boxed_copy()'d
5541  760716 Fix documentation regarding <glib/gprintf.h>
5542  765063 Update annotations for gio
5543  765552 Please set serial in .m4 files to prevent autoreconf failure on up...
5544  767215 GCC version number is interpreted as start of a list in docs for g...
5545  767239 Tautological comparisons in convert tests
5546  769674 some GIO tests' arbitrary timeouts are too short
5547  769846 gmessages: Add timestamp to g_log_writer_format_fields()
5548  770459 Tutorial article is slightly wrong
5549  773355 Incorrect documentation about stopping a signal emission from a hook
5550  774083 spelling mistakes in glib: charater
5551  776562 Add Intel C Compiler support for G_GNUC_BEGIN/END_IGNORE_DEPRECATI...
5552  777308 GModule win32: disable error dialog popup
5553  777310 gio/gasynchelper.c: fix cast from pointer to smaller int type on w...
5554  777956 gmessages: Update advice for G_LOG_DOMAIN
5555  779182 xdg-open fails with gio open for some uris
5556  779501 Type of GIConv given wrongly on web
5557  780202 introspection: Don't expose GValueArray.free
5558  780296 xdg-open/gnome-open doesn't work if service isn't started
5559  781598 gstdio.h should #include what it needs to work
5560  781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/ina...
5561  783210 build: Switch to sassc for generating style
5562  783270 Improve Visual Studio support for Meson builds
5563  783825 Suggest that asynchronous operations should invoke the callback in...
5564  786737 No g_variant_get() example for dicts
5565  786785 Commit #fe2a9887a8 breaks gdbus-codegen, cannot find its module so...
5566  787271 Make GListModel usable from G-I bindings
5567  787485 g_tls_backend_supports_dtls () returns true when the backend doesn't
5568  787551 Factor out some duplicated code in GParamSpec validation
5569  787581 tests: Add tests for g_slist_copy() and g_slist_copy_deep()
5570  787671 meson: Fix permissions of installed scripts
5571  787731 g_file_query_filesystem_info() wrongly reports "filesystem::readon...
5572  788138 glib-compile-resources: Fix leak of a GHashTable
5573  788180 G_FILE_ATTRIBUTE_ID_FILE is useless on W32
5574  788270 gmodule - failed to load symbol on Android 64bit
5575  788368 Race condition in GDbusObjectManagerClient
5576  788384 gtypes: Fix signedness of __builtin_bswap() usage
5577  788385 gtestutils: Explicitly cast args to g_assertion_message_cmpnum()
5578  788401 PATCH: MacOS build cannot detect content type from content - xdgmi...
5579  788467 Fatal errors and warnings should be reported as TAP
5580  788488 GFile-based API for g_build_filename()
5581  788489 gmain: add g_clear_source API
5582  788561 Document how to integrate GTest into your project
5583  788594 gdbus-tool doesn’t handle non-message-bus connections correctly
5584  788705 Allow building GLib on older Linux platforms
5585  788766 fixed a doc-typo in socket_get_remote_address
5586  788772 meson installs gdb scripts incorrectly
5587  788863 Add more filename type annotations for strings which can contain f...
5588  788880 gunixmounts: Update list of virtual file systems to ignore
5589  788927 Expose better API for detecting ‘system’ mounts
5590  788936 Show mime type icons on OS X
5591  788948 Document Autotools best practices for genmarshal/mkenums
5592  788975 Meson + Visual Studio: Can't find zlib.h with subprojects/zlib
5593  788978 Document XML has a syntax error
5594  788989 Use subdir-objects with Autotools
5595  788990 Include licensing information in output from glib-mkenums, glib-ge...
5596  789087 gint and guint misrepresented as functions
5597  789170 GFormatSizeFlags should have a value for bits
5598  789245 g_settings_bind() not conforming to lifecycle specification
5599  789444 Fix handling of length in g_utf8_make_valid
5600  789637 glib-mkenums: Fails when --ouput file does not exist
5601  789681 meson: Libmount support not built
5602  789723 [PATCH] gdbus-codegen: Call abspath() earlier
5603  789755 g_get_host_name: ensure return value is always UTF8 encoded
5604  789820 GPollFileMonitor is not cleaning up correctly
5605  790015 docs: Various linking and syntax fixes
5606  790030 GResource/GVariant fails to load from non-pointer aligned memory
5607  790093 gio-tool: fix inverted logic in monitor tool
5608  790126 gengiotypefuncs.py is missing from tarballs
5609  790147 build: Drop data-to-c.pl in favour of data-to-c.py
5610  790157 gmessages: Give examples of G_DEBUG with gdb in the documentation
5611  790272 file: add g_file_load_bytes()
5612  790275 avoid temporary string allocations in g_resources_enumerate_children
5613  790310 speedup path canonicalization in GResourceFile
5614
5615 * Translation updates:
5616  Catalan (Valencian)
5617  Czech
5618  German
5619  Nepali
5620  Norwegian bokmål
5621  Slovak
5622  Slovenian
5623  Spanish
5624
5625
5626 Overview of changes in GLib 2.54.0
5627 ==================================
5628
5629 * Bugs fixed:
5630  780861 Crash in GnomeWallClock
5631  786983 Please make the output of gio-querymodules deterministic
5632  787109 Valgrind false positive in ioctl() in btrfs file copy
5633  787123 glib: Slighty update GIOChannel documentation
5634  787146 GMainLoop: match of parameter pair of LOCK_CONTEXT/UNLOCK_CONTEXT
5635
5636 * Translation updates:
5637  Basque
5638  Catalan
5639  Romanian
5640  Swedish
5641
5642
5643 Overview of changes in GLib 2.53.7
5644 ==================================
5645
5646 * Bugs fixed:
5647  736710 remove unnecessary executions of libtool from configure
5648  785260 gio/tests/appmonitor fails if local dir not writeable
5649  786456 g_subprocess_wait[_check]_async() breaks when cancelled...
5650  786555 g_array_free() is not thread safe w.r.t. g_array_unref()
5651  786580 gdesktopappinfo.c: Add Tilix as a fallback terminal
5652  786807 g_uuid_string_random undefined when built with meson
5653
5654 * Translation updates:
5655  Brazilian Portuguese
5656  Catalan
5657  Czech
5658  Danish
5659  Finnish
5660  French
5661  Friulian
5662  German
5663  Italian
5664  Kazakh
5665  Korean
5666  Latvian
5667  Nepali
5668  Polish
5669  Spanish
5670  Turkish
5671
5672
5673 Overview of changes in GLib 2.53.6
5674 ==================================
5675
5676 * Bugs fixed:
5677  766358 glib doesn't respect XDG_* envvars on W32, ever
5678  783270 Improve Visual Studio support for Meson builds
5679  785955 pthread_setname_np misdetected with meson
5680  786060 Sequences documentation does not make it clear...
5681  786360 gobject: add autoptr support for GClosure
5682  786452 crash on Linux without stderr stream
5683  786460 gio-tool: Unify buffer sizes
5684  786462 Use g_output_stream_write_all instead of while
5685  786463 gio-tool-save: Prevent overwriting error
5686
5687 * Translation updates:
5688  Catalan
5689  Galician
5690  Hungarian
5691  Indonesian
5692  Lithuanian
5693  Nepali
5694  Serbian
5695
5696
5697 Overview of changes in GLib 2.53.5
5698 ==================================
5699
5700 * Bugs fixed:
5701  695573 Untranslatable strings in glib-compile-schemas
5702  725950 GApplication: call dbus_unregister only once, and before destruction
5703  731703 giomodule test misbuilds its test modules as libraries
5704  769135 External control for g_test_add/g_test_run
5705  779332 Rewrite mkenums in Python
5706  779607 Race between mounts-changed signal and g_unix_mounts_get() function
5707  784000 Improve strerror_r() detection
5708  784815 Map G_NOTIFICATION_PRIORITY_HIGH to NOTIFY_URGENCY_NORMAL
5709  784965 Use the glib preset for i18n in Meson
5710  784995 meson: some Windows improvements
5711  785113 glib-mkenums Python port fixes
5712  785130 G_LOG_DOMAIN shouldn't be left undefined for applications
5713  785438 Spurious -Wmaybe-uninitialized in gdatetime.c
5714  785468 glib/gpoll: Unnecessary if conditional included in the poll_rest() function
5715  785520 Replace advice to use removed gdk_spawn functions
5716  785577 clobbers errno while setting GError
5717
5718 * Translation updates:
5719  Slovenian
5720  Spanish
5721
5722
5723 Overview of changes in GLib 2.53.4
5724 ==================================
5725
5726 * Unicode support has been updated to Unicode 10.0.0
5727
5728 * glib-genmarshal and glib-mkenums have been rewritten in python.
5729   Every effort has been made to keep compatibility. Please report
5730   problems related to these tools
5731
5732 * GLib can now be built with meson. autotools are still supported
5733
5734 * Bugs fixed:
5735  722047 drop makefile.msc?
5736  733821 g_strerror() uses strerror(3) instead of strerror_r(3)
5737  773842 g_utf8_find_next_char() won't signal the end of a NUL-terminated string
5738  779332 Rewrite mkenums in Python
5739  780095 g_utf8_get_char_validated() stopping at nul byte even for length specified...
5740  780634 Remove remaining old codepage ABI comapt code
5741  783841 test_GDateTime_new_from_timeval_overflow fails on 32 bit systems
5742  784000 Improve strerror_r() detection
5743  784020 GKeyFile – Add array length annotations to to_data(), get_keys() and get_g...
5744  784037 gio: Mention the ALL_METADATA flag in g_file_copy()
5745  784433 gdbus-codegen with variant type parameters result in nested variant
5746  784456 Update to Unicode 10.0.0
5747  784528 Rewrite glib-genmarshal in Python
5748  784579 Calling g_dir_open on Missing Directory When Executable File Path Contains...
5749  784581 docs: Fix cut'n'paste error in g_resources_get_info() doc
5750  784739 Minor typo in configure error message
5751  784792 Just fixing a little typo in comments
5752
5753 * Translation updates:
5754  Hebrew
5755
5756
5757 Overview of changes in GLib 2.53.3
5758 ==================================
5759
5760 * Bugs fixed:
5761  658446 Add translation comment for wrong password notice string
5762  661926 Improve the default logging setup in GLib
5763  674885 type initialisation deadlock in GObject
5764  775593 GIO cannot write symlinks on FreeBSD and NetBSD
5765  776169 Various gio-tool fixes
5766  776333 Fix annotation on g_file_copy_async()
5767  776504 Upgrade license from LGPLv2+ to LGPLv2.1+
5768  777307 race condition between gdbus signal callback and g_bus_unwatch_name...
5769  778422 gsubprocesslauncher: Clarify the behavior of set_environ()
5770  781301 Stack pointer corrupted by incorrect call of NtNotifyChangeMultipleKeys
5771  782336 Add additional documentation of the GResource XML format
5772  782996 build: Use AM_TESTS_ENVIRONMENT rather than TESTS_ENVIRONMENT
5773  783061 GApplication: Remove some unused members
5774  783130 Make dbus activation sandbox-aware
5775  783193 Adapt to OpenURI api change
5776  783201 gdbus-codegen: Apply --output-directory to generated docs as well
5777  783340 win32: port monotonic times to use QPC
5778  783350 length parameter can be NULL g_data_input_stream_read_line
5779  783392 incorrect (out) annotation for g_dbus_interface_info_generate_xml
5780  783593 GGtkNotificationBackend should use /org/freedesktop/DBus to call Ge...
5781
5782 * Translation updates:
5783  Esperanto
5784  German
5785  Indonesian
5786  Kazakh
5787  Spanish
5788
5789
5790 Overview of changes in GLib 2.53.2
5791 ==================================
5792
5793 * A few new number parsing functions have been added:
5794   - g_ascii_string_to_signed
5795   - g_ascii_string_to_unsigned
5796   These have better error handling than the existing ones.
5797
5798 * glib-mkenums now supports /*< private >*/ and /*< public >*/
5799
5800 * GSettings now consider XDG_DATA_HOME in addition to XDG_DATA_DIRS.
5801
5802 * Bugs fixed:
5803  674885 type initialisation deadlock in GObject
5804  698064 Add g_ptr_array_contains()
5805  732000 gdatetime: Remove an unnecessary NULL pointer check
5806  734946 Implement GContentType on OSX
5807  741335 Possible differences in use of XDG_DATA_DIRS versus XDG base directory specification
5808  748263 Use-after-free in g_dbus_connection_call_internal()
5809  776876 gmodule – Various Android bug-fixes
5810  777030 build error where minor() and major() cant be resolved in gio/gdbusmessage.c
5811  780300 gio/gosxappinfo.c uses deprecated LSFindApplicationForInfo
5812  780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
5813  781755 Avoid compiler warnings in generated marshallers code
5814  781826 portal support: Read /.flatpak-info
5815  781830 Fix some typos and errors in GVariant documentation
5816  781847 Use-after-free under send_message_with_reply_cleanup():gdbusconnection.c:1792
5817  781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/inappropriate auto...
5818  782068 doc: Trivial typo fixes
5819  782075 gtimer: Handle gmtime() failure in g_time_val_to_iso8601()
5820  782089 gdatetime: Fix overflow checks when constructing from timestamps
5821  782162 Support public/private trigraph in glib-mkenums
5822  782237 make check error
5823  782311 inode/directory is treated as a subclass of application/octet-stream
5824  782628 libmount build dependency check not requiring the right version?
5825
5826 * Translation updates:
5827  Hungarian
5828  Indonesian
5829  Spanish
5830
5831
5832 Overview of changes in GLib 2.53.1
5833 ==================================
5834
5835 * The gdbus tool gained a wait command
5836
5837 * g_unix_signal_source_new support SIGWINCH now
5838
5839 * There are now g_enum_to_string and g_flags_to_string functions
5840
5841 * A new function to instantiate objects: g_objet_new_with_properties
5842
5843 * GParameter and related APIs have been deprecated
5844
5845 * Bug fixes
5846  447907 enum/flags from string + type transform + tests
5847  668962 GUnixMountPoint/GUnixMountEntry not usable through gobject-introspection
5848  669355 gdbus-codegen output contains stray semicolons at file scope (forbidden in C99)
5849  674885 type initialisation deadlock in GObject
5850  698064 Add g_ptr_array_contains()
5851  709865 Add boxing to GParameter
5852  725894 build: Include gettext libraries for static compilation on Mac OS X
5853  734946 Implement GContentType on OSX
5854  741229 gio: Handle NULL cached properties in NetworkManager monitor
5855  745971 gdbus-tool: Add a command to wait for a well-known name on the bus
5856  755046 gfileutils: Add precondition checks to g_file_test()
5857  761102 Increase performance for main loop
5858  761889 GDateTime: %p does not always print AM/PM string
5859  766660 Please clarify the extent to which GInitable, GAsyncInitable must be idempotent
5860  769534 g_unix_signal_source_new does not support SIGWINCH
5861  772221 Take advantage of Unicode
5862  775879 g_log_default_handler should not check G_MESSAGES_DEBUG
5863  776169 various gio-tool fixes
5864  777961 Documentation for g_app_info_equals() could be clearer
5865  778049 race in gsource detected by TSan
5866  778207 gio-querymodules: fix memory leak
5867  778287 G_MODULE_EXPORT and -fvisibility=hidden
5868  779409 Fix false positive g_warning() in remove_filter()
5869  780066 g_base64_encode_close() in glib/gbase64.c produces invalid base64 encoding
5870  780095 g_utf8_get_char_validated() stopping at nul byte even for length specified buffers
5871  780306 Unused function in gunicollate.c for CARBON
5872  780310 g_tls_database_verify_chain doesn't set the GError for failures other than cancell...
5873  780384 gio/tests/contenttype fails on OS X: "public.directory" != "public.folder"
5874  780441 Make the portal implementation of g_app_info_launch() synchronous
5875  780634 Remove remaining old codepage ABI comapt code
5876  780908 gobject: remove duplicate GType sanity check
5877  780924 Memory leak in gdbusmethodinvocation.c
5878  781125 gio-tool: Fix errors format string
5879  781234 the buffer written to by g_input_stream_read is not marked as an out parameter
5880  781298 gfileutils.c:330:3: error: ISO C90 forbids mixed declarations and code
5881
5882 * Translation updates
5883  Catalan
5884  Friulian
5885  German
5886  Hebrew
5887  Indonesian
5888  Polish
5889  Russian
5890
5891
5892 Overview of changes in GLib 2.52.0
5893 ==================================
5894
5895 * Bug fixes:
5896  779799 gdatetime test fails with tzdata 2017a
5897  780032 Add missing attributes to two functions
5898  780144 gio/fam: Remove leftover debug print
5899
5900 * Translation updates:
5901  French
5902  Friulian
5903  Latvian
5904
5905
5906 Overview of changes in GLib 2.51.5
5907 ==================================
5908
5909 * OS X implementations of GContentType and GAppInfo
5910   have been added
5911
5912 * Bugs fixed:
5913  673047 gunicollate is broken on OS X (patch included!)
5914  734946 Implement GContentType on OSX
5915  747146 Implement GNotification on OSX
5916  769983 glib-mkenums generates non-reproducible Makefile snippets
5917  777203 gnulib license information is not correct in glib2.0
5918  778515 Crash in the gio kqueue backend
5919  779456 Make g_utf8_make_valid optionally take a length
5920
5921 * Translation updates:
5922  Danish
5923  Friulian
5924  German
5925  Hungarian
5926  Korean
5927  Lithuanian
5928
5929
5930 Overview of changes in GLib 2.51.4
5931 ==================================
5932
5933 * Memory leak fixes
5934 * Fix the released tarball
5935
5936
5937 Overview of changes in GLib 2.51.3
5938 ==================================
5939
5940 * Bugs fixed:
5941  771997 gchecksum: Add SHA-384 support
5942  778422 gsubprocesslauncher: Clarify the behavior of set_environ()
5943  778581 gdbus-codegen: Fix -Wconversion warning
5944  778801 gdbus-codegen: Add --outdir flag
5945  778991 Plug a mem leak in gdbusauth
5946  779183 g_io_extension_point_get_extensions should check for NULL pointer
5947
5948 * Translation updates:
5949  Basque
5950  Chinese (Taiwan)
5951  Danish
5952  Indonesian
5953  Italian
5954  Serbian
5955
5956
5957 Overview of changes in GLib 2.51.2
5958 ==================================
5959
5960 * Minimal support for UUIDs has been added
5961
5962 * A new file attribute, G_FILE_ATTRIBUTE_RECENT_MODIFIED has been added
5963   to improve sorting of recent files
5964
5965 * Bugs fixed:
5966  639078 UUID support feature request
5967  777135 gkeyfile: Be more specific about error codes in documentation
5968  777307 race condition between gdbus signal callback and g_bus_unwatch_name...
5969  777481 goutputstream: docs: fix typos
5970  777493 g_mkdtemp() not introspectable
5971  777507 Recent view sorting incorrectly
5972  777592 Add minor examples to GDBus and GVariant documentation
5973  778002 race in gdbusprivate.c detected by the ThreadSanitizer
5974  778096 race in gdbusconnection reported by TSan
5975
5976 * Translation updates:
5977  Norwegian bokmål
5978  Polish
5979  Simplified Chinese
5980  Slovak
5981  Spanish
5982  Swedish
5983
5984
5985 Overview of changes in GLib 2.51.1
5986 ==================================
5987
5988 * glib-compile-resources grew a --generate-phony-targets flag
5989
5990 * GLib now installs a valgrind suppressions file for GLib and GIO
5991
5992 * Bugs fixed:
5993  666114 should have infrastructure to run its tests under valgrind
5994  729730 GDBusMessage: Fix segfault if DEBUG_SERIALIZER is enabled
5995  730932 statically assert that reasonable assumptions about enums are true
5996  735731 gobject: Document behaviour of GType checking macros on NULL
5997  736810 gdbus: Fix leak in g_dbus_message_print()
5998  762283 GSocket – Fix race conditions on Win32 if multiple threads are waiting on cond...
5999  767609 Test suite problems
6000  767952 g_dbus_method_invocation_return_*, g_dbus_method_invocation_take_error: They d...
6001  769672 Assert threads for testcase 642026 are sucessfully created
6002  769745 gtask: Add guards for public functions
6003  770175 Add command line argument to mkenums and genmarshal to write output to a file
6004  770646 glib: Namespace global tapset variables by soname
6005  772160 Add g_unix_mount_for() support
6006  772989 Totem allows invalid urls that might cause segfault that's irrecoverable
6007  773823 gio: Bump copy buffer size to 256k by default
6008  774086 fix g_main_context_check declaration
6009  774368 Dependency file output of resource scanner breaks Ninja
6010  774421 Two minor patches
6011  774520 GSocket allocates and processes control messages even if not requested
6012  775309 Crash in gdbusauth
6013  775468 Improve log write supports color method on windows
6014  775510 testing with -fsanitize=undefined reports various undefined behaviour
6015  775517 Password input is echoed in the terminal
6016  775621 gmessages: Fix compilation on Android
6017  775765 FDO notification withdrawal backend sends wrong ID to the server
6018  775913 subprocesslauncher: potential infinite loop in verify_disposition()
6019  776198 Stray semicolon after g_variant_print() function in gvariant.c
6020  776586 License headers cleanup
6021  777077 Use of memory after it is freed
6022
6023 * Translation updates:
6024  Brazilian Portuguese
6025  Czech
6026  Galician
6027  German
6028  Hebrew
6029  Kazakh
6030  Lithuanian
6031  Spanish
6032  Swedish
6033
6034
6035 Overview of changes in GLib 2.51.0
6036 ==================================
6037
6038 * glib-genmarshal and glib-mkenums have gained --output options
6039   for better build system integration
6040
6041 * New API: g_utf8_make_valid
6042
6043 * Bugs fixed:
6044  591603 Make _g_utf8_make_valid public
6045  610969 Nice to have g_utf8_make_valid as public
6046  767882 Bit shift overflow (-Wshift-overflow) warning in gparam.h
6047  769135 External control for g_test_add/g_test_run
6048  769630 gfile: G_FILE_MONITOR_WATCH_MOVES was actually introduced in 2.46
6049  772160 Add g_unix_mount_for() support
6050  772221 Take advantage of Unicode
6051  773303 GApplication leaks option_strings 
6052
6053 * Translation updates:
6054  French
6055  Galician
6056  German
6057  Hungarian
6058  Lithuanian
6059  Norwegian bokmål
6060  Occitan
6061  Polish
6062  Slovak
6063  Turkish
6064
6065
6066 Overview of changes in GLib 2.50.1
6067 ==================================
6068
6069 * Update Unicode support to Unicode 9.0.0
6070
6071 * Bugs fixed:
6072  662946 gunixmounts monitoring doesn't work correctly with libmount
6073  771591 Update to Unicode 9.0.0
6074  772054 glib/gspawn-win32-helper.c: unexpected behavior re CommandLineToArgvW()
6075  772255 gresolver: Mark GResolver as an abstract class
6076  772269 Add --version options to glib-compile-resources and glib-compile-schemas
6077  772297 completion: Complete gsettings describe
6078  772511 g_log_default_handler crashes windows apps with "Unspecified fatal err...
6079
6080 * Translation updates:
6081  Brazilian Portuguese
6082  Catalan
6083  Croatian
6084  Czech
6085  Danish
6086  Hungarian
6087  Italian
6088  Latvian
6089  Polish
6090  Swedish
6091
6092
6093 Overview of changes in GLib 2.50.0
6094 ==================================
6095
6096 * Bugs fixed:
6097  771438 Turn on libmount by default on linux
6098         Fix the annotation for g_log_variant
6099
6100 * Translation updates:
6101  British English
6102  French
6103
6104
6105 Overview of changes in GLib 2.49.7
6106 ==================================
6107
6108 * Add g_log_variant, binding-friendly api for structured logging
6109
6110 Bugs fixed:
6111  646926 arg_data invalid after g_option_context_parse() fails
6112
6113 * Translation updates:
6114  Danish
6115  Finnish
6116  Galician
6117  German
6118  Hebrew
6119  Kazakh
6120  Korean
6121  Latvian
6122  Lithuanian
6123  Polish
6124  Portuguese
6125  Serbian
6126  Slovak
6127  Spanish
6128  Swedish
6129  Thai
6130
6131
6132 Overview of changes in GLib 2.49.6
6133 ==================================
6134
6135 * The gsettings commandline tool now has a describe command
6136
6137 Bugs fixed:
6138  745754 Add gcc-style dependency output to glib-compile-resources
6139  769076 Fix warning: attempt to override closure->va_marshal with new marshal
6140  770372 gdbus-codegen: Strip @since parameters before comparison
6141
6142 Translation updates:
6143  Brazilian Portuguese
6144  Czech
6145  German
6146  Hungarian
6147  Polish
6148  Portuguese
6149  Spanish
6150
6151
6152 Overview of changes in GLib 2.49.5
6153 ==================================
6154
6155 * Structured logging:
6156  - drop libsystemd dependency
6157  - document that g_test_expect_message does not work with structured logs
6158
6159 * Use libmount for unix mount support
6160
6161 * Add an async variant of g_app_info_launch_default_for_uri
6162
6163 Bugs fixed:
6164  522053 GUnixMountMonitor needs to use /proc/self/mountinfo on recent Linux
6165  682794 Add usage guidance to logging documentation
6166  744456 Structured logging API
6167  766370 Add a macro for initializing g_auto(GVariantBuilder)
6168  767240 Regex failures with pcre 8.38
6169  768198 Can't build glib with systemtap enabled
6170  768453 Gdbus test: compilation fails due to -Werror=format-y2k errors
6171  768752 Add async variant of g_app_info_launch_default_for_uri
6172  769027 Docs misleadingly imply G_CHECKSUM_SHA512 is available since 2.16
6173  769029 gmessage: compiler complains about -Wformat-nonliteral
6174  769042 'O_CLOEXEC' undeclared (first use in this function)
6175  769087 gmessages: support NULL log domain
6176  769089 Fix gsettings uint64 testcase
6177  769104 Build failure when using _GLIB_CHECKED_ADD_U32 with the Intel compiler
6178  769139 g_log_writer_journald uses non-standard 'htole64' function
6179  769238 memory increases every time I umount and mount my secondary hard disk.
6180  769245 is_valid_heap_iter define misses NULL pointer check
6181  769507 gmessages: Don’t require is_journald() call before writer_journald()
6182  769785 gmessages: Expand documentation further for structured logging
6183  769995 gdbus-codegen: Allow '@since: UNRELEASED' in documentation comments
6184
6185 Translation updates:
6186  Catalan
6187  Hebrew
6188  Lithuanian
6189  Slovak
6190  Spanish
6191
6192
6193 Overview of changes in GLib 2.49.4
6194 ==================================
6195
6196 * Change the just-introduced structured logging API. The arguments
6197   of g_log_structured() had to be reordered to enable an implementation
6198   within the limits of what the standards guarantee about var args.
6199
6200 Bugs fixed:
6201  744456 Structured logging API
6202  768936 gio doc build fails because of missing gio.xml in the tarballs
6203  768963 improper va_list use in g_log_structured()
6204  768968 gio/tests/socket-listener hangs since e4ee307
6205
6206 Translation updates:
6207  Spanish
6208
6209
6210 Overview of changes in GLib 2.49.3
6211 ==================================
6212
6213 * GLib has a structured logging API, g_log_structured, with support
6214   for writing to the systemd journal. It also supports colored output
6215   in terminals
6216
6217 * Some new GBytes API has been added:
6218  - g_key_file_load_from_bytes
6219  - g_compute_hmac_for_bytes
6220
6221 * Stack-allocated GVariantBuilder and GVariantDict objects can now be
6222   initialized with G_VARIANT_BUILDER_INIT and G_VARIANT_DICT_INIT
6223
6224 * gio:
6225  - Add a way to register handlers for custom uri schemes
6226  - Add a G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE attribute to
6227    have these heuristics in a single place
6228  - Include a gio tool that makes the functionality of the
6229    various gvfs commandline tools available in a single place
6230  - Add portal support to g_app_info_launch_default_for_uri
6231  - Add portal support to GNetworkMonitor
6232  - Add portal support to GProxyResolver
6233  - Add portal support to g_application_send_notification
6234
6235 Bugs fixed:
6236  547200 g_utf8_find_next_char() issues
6237  662802 systemtap multiarch issue
6238  723506 fork/exec from non-main thread when autolaunching could be avoided...
6239  725902 build: simplify dtrace configuration
6240  728207 gsocketservice: Documentation does not mention that is already act...
6241  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro to supp...
6242  744456 Structured logging API
6243  744678 Unable to delete relocatable schemas
6244  746685 clarify that g_variant_get_data() can be used instead of g_variant...
6245  747134 glib-compile-resources --generate should detect common C++ file ex...
6246  750257 GSettings changed signal should clearly state the order required
6247  753231 Memory is potentially used after free
6248  754012 missing filename in "Error loading css: Failed to import: Error op...
6249  760115 gtestutils: add missing dash in seed argument's --help documentation
6250  760423 gio-querymodules prints error messages as question marks on some l...
6251  761102 Increase performance for main loop
6252  765338 GLib.compute_hmac_for_data throws every time
6253  766370 Add a macro for initializing g_auto(GVariantBuilder)
6254  766899 Superflous HTML/XML comments in GDBusProxyTypeFunc documentation s...
6255  766933 GSocketAddress leaks in gnetworkmonitornetlink.c:read_netlink_mess...
6256  767765 Add names and tags to various GSources and GTasks constructed in GLib
6257  767880 gkeyfile: add g_key_file_load_from_bytes() API
6258  767887 vfs: add g_vfs_register_uri_scheme()
6259  767949 [patch] Typos in glib docs
6260  768029 infinite loop in parse_name_internal()
6261  768119 Fix fallout from get_supported_schemes() changes
6262  768357 Build the gio tool on Windows/MSVC
6263  768498 portal support for glib
6264  768504 keyfile: g_key_file_get_double behavior doesn't follow documentation
6265  768549 Test failure: test_ip_sync_dgram
6266  768551 Test failure: test_socket_address_to_string
6267  768560 gio/tests/gsettings: fix GSettings reference leaks in some tests
6268  768780 O_PATH is a non-standard flag which may be unavailable on non-Lin...
6269  768806 gdbus tool must swallow -- argument
6270
6271 Translation updates:
6272  Chinese (Taiwan)
6273  French
6274  Hebrew
6275  Indonesian
6276  Lithuanian
6277  Portuguese
6278  Spanish
6279
6280
6281 Overview of changes in GLib 2.49.2
6282 ==================================
6283
6284  * GMainContext and GTask have gained more systemtap probes
6285
6286 Bugs fixed:
6287  673101 resource compiler dependency generation not working for gen...
6288  700756 GFile.new_for_path arguments misses (type filename) annotation
6289  730187 glocalfileoutputstream: Fix an FD leak in an error path
6290  755439 Memory leak in gdbusproxy.c
6291  759813 Add more SystemTap/DTrace probes for main context and GTask
6292  761810 gio: Support using GDBusObjectManagerServer at path ‘/’
6293  767172 docs: Move GIO_USE_VFS to "okay for production" section
6294  767218 Remove a UTF-8 ellipsis from gsignal.h
6295  767245 Add filename type annotations
6296  767824 Some UTC timezones incorrectly recognized on Windows 7
6297
6298 Translation updates:
6299  Occitan
6300
6301
6302 Overview of changes in GLib 2.49.1
6303 ==================================
6304
6305  * GDesktopAppInfo now allows bus activation with dashes. This is
6306    not technically allowed per the Desktop Entry specification, but
6307    it happens in the wild. Rather than forcing people to go through
6308    another traumatic desktop file rename, accept it and translate - to _.
6309
6310  * The support for giving names to threads has been improved. Thread names
6311    are now supported on Solaris as well, and the Linux support no longer
6312    uses prctl() but the pthread api.
6313
6314  * GIO resources can now be overridden at runtime, using the G_RESOURCE_OVERLAYS
6315    environment variable.
6316
6317  * gdbus-codegen can now generate autocleanup definitions for the types
6318    it generates. Use the --c-generate-autocleanup option to control this
6319
6320 Bugs fixed:
6321  665446 Use g_abort() instead of abort()
6322  731988 glocalfile: Avoid a potential NULL pointer dereference
6323  742898 g_value_type_transformable() description differs from the code
6324  747107 GVariant varargs documentation: g_variant_get() example
6325  747478 g_system_thread_set_name() is not implemented for gthread-win32
6326  748474 g_get_language_names() is not thread-safe
6327  748530 gthread: W32 implementation of g_get_num_processors() has lame fallback
6328  748806 GVariant: Better introduction to the concepts and its uses
6329  749583 GSequence performance improvements
6330  749606 tests: always remove app.desktop
6331  755898 [PATCH] settings: add get/set uint64
6332  758174 Fix documentation typos
6333  758738 Usage of GType properties causes crashes due to gulong/gpointer mismatch
6334  760186 namespace clash with gdb pretty-printing code
6335  762994 Race condition in GIO/AppFileChooser crashes Firefox/Gtk3
6336  763379 codegen: Add support for g_autoptr to gdbus-codegen–generated objects
6337  763821 build: Also dist Systemtap files always for gobject/
6338  764092 gstrfuncs: Document the behaviour of g_strjoinv()
6339  764163 g_task_had_error doesn't remember the error after g_task_propagate_*
6340  764415 Very High CPU usage in g_poll() Windows implementation
6341  764574 build: Fix all statfs() tests failing
6342  764575 tests: Fix compilation errors due to Y2K format problems
6343  764685 GApplication documentation about handling command-line options is confusing
6344  764754 '-' in application id: unbreak bus activation and notifications
6345  765173 documentation of g_main_context_push_thread_default() regarding GIO...
6346  765668 GResources: add support for resource overlays
6347  765710 gdbus-tool: only print note about expected argument types if that...
6348  765712 tests: Fix compilation
6349  765861 task: avoid context lock when setting source name
6350  765900 Add g_drive_is_removable() support
6351  765924 Improve external drives detection
6352  765959 socket: set fd field to -1 after closing socket
6353  765990 Visual Studio: Define inline only when necessary
6354  765991 Compilation of gresource.c is broken due to S_ISDIR
6355  766092 Incorrect locale handling in g_date_time_format_locale()
6356  766211 Fix the upper bound in g_unichar_iswide_bsearch
6357  766407 Some build-related defects in glib testsuite
6358  766570 build: Fix a misnamed variable in glib-tap.mk
6359
6360 Translation updates:
6361  Basque
6362  Catalan
6363  Chinese
6364  Occitan
6365  Portuguese
6366  Turkish
6367  Vietnamese
6368
6369
6370 Overview of changes in GLib 2.48.0
6371 ==================================
6372
6373  * The system copy of PCRE is now used by default to implement GRegex.
6374    Configure with --with-pcre=internal if a system PCRE version
6375    is unavailable or undesired.
6376
6377  * a minor build fix in the name of determinism
6378
6379  * a few coverity fixes
6380
6381 Bugs fixed:
6382  763617 giotypefuncs.c: Sort _get_type functions in the 'C' locale
6383
6384 Translations updated:
6385  Danish
6386  Italian
6387
6388 Overview of changes in GLib 2.47.92
6389 ===================================
6390
6391  * gdbus-codegen now supports g_autoptr()
6392
6393  * g_get_user_runtime_dir() now reliably returns an existing directory
6394
6395  * g_array_remove_range() can now remove 0 items from the end of an array
6396
6397  * Many fixes for Windows
6398    * build fixes
6399    * file monitoring
6400    * gsettings backend
6401    * streams
6402    * random numbers
6403    * wide character support
6404
6405  * documentation improvements
6406
6407  * other small bugfixes
6408
6409 Bugs fixed:
6410  724847 Segmentation fault on "gsettings list-recursively"
6411  743933 gapplication: add --app-id command line option
6412  756706 [PATCH] gio/gtestdbus.c: don't use non-standard %m printf modifier
6413  757506 gsettings: schema_list should use the passed schema's source
6414  760694 W32: Apps linked with -mwindows make cursor busy sometimes
6415  762202 g_win32_error_message improvements
6416  762637 build: Unconditionally dist tapset files
6417  762748 Undefined behavior
6418  762937 Mention that g_clear_error can be used with an "empty" GError
6419  763339 array: Support clearing an empty array with g_array_remove_range()
6420  763344 g_get_user_runtime_dir(): ensure directory exists
6421  763379 codegen: Add support for g_autoptr to gdbus-codegen–generated objects
6422
6423 Translations updated:
6424  Brazilian Portuguese
6425  Czech
6426  Finnish
6427  French
6428  Galician s
6429  German
6430  Greek
6431  Hebrew
6432  Hungarian
6433  Italian
6434  Kazakh
6435  Korean
6436  Latvian
6437  Lithuanian
6438  Occitan
6439  Polish
6440  Russian
6441  Serbian
6442  Slovak
6443  Slovenian
6444  Spanish
6445  Swedish
6446
6447 Overview of changes in GLib 2.47.6
6448 ==================================
6449
6450 * Windows usupport:
6451  - Fixes and improvements to the GSettings registry backend
6452  - Handle readability and writability of registry keys
6453  - Use Unicode registry APIs
6454
6455 * Bugs fixed:
6456 760852 744772 761126 747927 761337 744570 761504 761550 761843
6457  744570 GString is missing (transfer none) annotations on many of its methods
6458  744772 systemtap and gdb scripts install in wrong place
6459  747927 Documentation: various small improvements
6460  760852 gdbusobjectmanagerserver: Clarify recommended ObjectManager paths
6461  761126 winiconv: update to upstream version
6462  761337 Fix some annotations
6463  761504 W32 registry GSettings backend does not use Unicode
6464  761550 Cannot build with default flags under Fedora rawhide (-Werror=format-...
6465  761843 gmacros.h is testing attributes with __has_feature (when compiling wi...
6466
6467 * Translation updates:
6468  Brazilian Portuguese
6469  Bulagarian
6470  Chinese (Taiwan)
6471  Hungarian
6472  Polish
6473  Slovak
6474  Slovenian
6475  Spanish
6476  Swedish
6477
6478
6479 Overview of changes in GLib 2.47.5
6480 ==================================
6481
6482 * the system copy of PCRE is now used by default to implement GRegex.
6483   Configure with --with-pcre=internal if a system PCRE version
6484   is unavailable or undesired.
6485
6486 * interfaces for DTLS support have been added.  A new version of
6487   glib-networking will also be required.
6488
6489 * GDBusMethodInvocation now drops replies if the sender set the
6490   NO_REPLY_EXPECTED flag
6491
6492 * several GApplication fixes, including fixes for commandline arguments
6493   in interpreted languages on Windows
6494
6495 Bugs fixed:
6496  624186 Deprecate glib-gettext macros
6497  734095 gtk-demo.py of PyGObject fails to run on Windows (and likely other binding scripts using g_application_run())
6498  735754 Implement close on TLS GOutputStream
6499  748064 gnulib vfprintf returns desired (not actual) number of bytes, ignores errors
6500  752240 Add DTLS support to GIO
6501  755421 GDBus ignores NO_REPLY_EXPECTED flag in messages, leading to warnings on system bus
6502  756875 Include ntdef.h for NTSTATUS
6503  759554 g_application_run() calls g_main_context_default() repeatidly
6504  760199 gsettings: Install gettext ITS rules
6505  760215 G_LIKELY/_UNLIKELY macros need more parentheses
6506  760683 regex test: Check the expected PCRE exceptions at runtime
6507
6508 Translations updated:
6509  Brazilian Portuguese
6510  Czech
6511  German
6512  Lithuanian
6513  Swedish
6514
6515 Overview of changes in GLib 2.47.4
6516 ==================================
6517
6518 * The GApplication documentation has been improved in several areas.
6519
6520 * Bugs fixed:
6521  749092 gdb pretty-printers fail on Python 3 with a TypeError...
6522  757374 macros: clean up "inline" mess
6523  758641 Memory leak in g_dbus_proxy_new_for_bus_sync()
6524  759134 Add missing checks for gnulib vasnprintf()
6525  759408 Do not use uninitialized var 
6526  756475 Stop supporting non-POSIX getpwuid_r, getgrgid_r
6527  757372 GApplication: destroy the impl on shutdown
6528  728099 macros: add G_GNUC_CHECK_VERSION() for compiler checks
6529  757299 glib-compile-resources: do not leak c_name
6530  758553 Fix gettext use
6531  758823 file monitors: reorder some code to avoid segfault
6532  756214 gsettings: Don't translate ""
6533  710243 Add GParamSpec object ref management annotations
6534  735696 xdgmime: Finer handling for cases where mmap() is not available
6535  752983 gapplication: Acquire the main context before running
6536
6537 * Translation updates:
6538  Swedish
6539
6540
6541 Overview of changes in GLib 2.47.3
6542 ==================================
6543
6544 The inline cleanup in the last release accidentally removed three
6545 symbols from libglib-2.0.so.  It is unlikely that this will have caused
6546 any problems because these symbols were only backup symbols for
6547 definitions exported as inlines in the header files, but ABI is ABI.
6548
6549 This release corrects only this problem.
6550
6551 Overview of changes in GLib 2.47.2
6552 ==================================
6553
6554 * We have formalised the assumption that all compilers that are
6555   interested in support 'static inline' and simplified the macros around
6556   this considerably.  Please watch for and report unintentional fallout.
6557
6558 * New API: hardware-assisted helpers for overflow-checked integer math.
6559
6560 * other fixes
6561
6562 Bugs fixed:
6563  696324 gtester-report doesn't work with Python 3.x
6564  719966 glib: Add missing (nullable) and (optional) annotations
6565  752837 gobject and glib-compile-resources rely on .CRT$XCU section, no longer works with Win 10 UCRT (VS 2015)
6566  755364 make gtkdoc-check happy again
6567  756134 Segmentation fault on calling g_simple_action_group_add_action with bad action constructor call
6568  756179 gwin32.c: Replace VerifyVersionInfoW() with RtlGetVersion() due to API deprecation
6569  756988 GSequence should document each function's complexity
6570  757294 Move G_POLLFD_FORMAT to glibconfig.h
6571  757374 macros: clean up "inline" mess
6572  757451 doc: fix g_task_attach_source() example
6573  757628 gio tests fail to build when cross compiling 2.46.1
6574  757693 Invalid free in g_local_file_trash()
6575  757742 Fix up annotations in ghash.c
6576  758181 GTask: fix wrong example code
6577
6578 Translations updated:
6579  Greek
6580  Hebrew
6581  Hungarian
6582  Norwegian bokmål
6583  Portuguese
6584  Scottish Gaelic
6585  Simplified Chinese
6586  Spanish
6587
6588 Overview of changes in GLib 2.47.1
6589 ==================================
6590
6591 * The Unicode support has been updated to version 8.0 of the Unicode standard
6592
6593 * GDesktopAppInfo no longer sets the DISPLAY environment variable when
6594   launching apps. This is now done in the GAppLaunchContext implementations
6595   when appropriate
6596
6597 * Bug fixes:
6598  664740 Key-value file parser, space after integer
6599  687223 cleverer GThreadPool management
6600  692085 stderr and stdout are not always file descriptors 1 and 2
6601  697907 Add interface for socket-like things (GSocket, DTLS, etc)
6602  735754 Implement close on TLS GOutputStream
6603  737116 Add functions to print GSocketConnectables and addresses as strings
6604  743011 Minor additions to GError documentation
6605  749161 undefined reference to `__imp__stat32i64'
6606  749314 Cannot restore a just-trashed file
6607  751924 Add recvmmsg()-like API on GSocket
6608  752240 Add DTLS support to GIO
6609  752837 gobject and glib-compile-resources rely on .CRT$XCU section, no longer...
6610  753310 Remove `#pragma GCC system_header` from gmessages.h
6611  753935 Update example namespace and class names in GObject tutorial
6612  754855 Object instantiation documentation refers to example that no longer ex...
6613  754983 Wayland: g_desktop_app_info_launch_uris_with_spawn() forces DISPLAY va...
6614  754994 g_date_time_get_second () sometimes returns an off-by-one result
6615  755083 Clarify in G_ADD_PRIVATE that it is safe to call _get_instance_private...
6616  755351 Example still contains g_autoptr(gchar)
6617  755355 Move GStrv to glib.h so it can be used with g_auto()
6618  755374 g_variant_get_child(): flatten-first logic on '&'
6619  755496 glib 2.46 fails GStreamer test suite
6620  755609 glib 2.46.0 breaks Sun Java JVM 1.8.0.60
6621  755766 gvalue: The g_auto cleanup function assert if value is G_VALUE_INIT
6622  755795 2.46 considers empty files as octet-stream rather than text (leads to...
6623  755961 Fix up annotations in gbytes.c
6624  756053 MSVC doesn't understand the symbol 'msghdr'
6625  756054 MSVC linker error due to 'g_socket_send_message_with_timeout()'
6626  756077 testutils: remove internal ABI comment
6627  756099 g_main_context_query(): Annotate @n_fds as (in) parameter
6628  756139 musl: ctors called in the wrong order
6629  756179 gwin32.c: Replace VerifyVersionInfoW() with RtlGetVersion() due to AP...
6630  756251 The documentation of G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is confusing
6631  756255 GOutputStream swallowing errors in splice with G_OUTPUT_STREAM_SPLICE...
6632  756316 GSequence should provide fast api to check if empty
6633  756382 snprintf used on Windows with VS2015 doesn't support %n
6634  756477 gio/gthreadedresolver.c has outdated copy of bionic headers (for android)
6635  756550 gtypes.h: Make G_MININTn literals negative
6636  756875 Include ntdef.h for NTSTATUS
6637  756952 giomodule: return a copy of module name
6638
6639 * Translation updates:
6640  Basque
6641  Czech
6642  Serbian
6643  Serbian Latin
6644  Vietnamese
6645
6646
6647 Overview of changes in GLib 2.46.0
6648 ==================================
6649
6650 * GTask no longer imposes a fixed limit on the number of tasks that
6651   can be run_in_thread() simultaneously, since doing this inevitably
6652   results in deadlocks in some use cases. Instead, it now has a base
6653   number of threads that can be used "for free", but will gradually
6654   add more threads to the pool if too much time passes without any
6655   tasks completing.
6656
6657   The exact behavior may continue to change in the future, and it's
6658   possible that some future version of GLib may not do any
6659   rate-limiting at all. As a result, you should no longer assume that
6660   GTask will rate-limit tasks itself (or, by extension, that calls to
6661   certain async gio methods will automatically be rate-limited for
6662   you). If you have a very large number of tasks to run, and don't
6663   want them to all run at once, you should rate-limit them yourself.
6664
6665 * Disable runtime-deprecation warnings
6666
6667 * Fix marshalling of flags on bigendian 64bit architectures
6668
6669 * Translation updates
6670  Brazilian Portuguese
6671  Danish
6672  German
6673  Latvian
6674  Russian
6675  Turkish
6676
6677
6678 Overview of changes in GLib 2.45.8
6679 ==================================
6680
6681 * utf8 validation and utf8-to-ucs4 conversion are faster
6682
6683 * Small speedups to property change notification
6684
6685 * Various other small optimizations for GQuark, GData
6686
6687 * Bugs fixed:
6688  696426 GParamSpecTypeInfo do not need to be static
6689  735429 Cleanup MSVC Project Files Generation
6690  738504 Optimize UTF-8 decoding by unrolling branches and expressions
6691  742903 Add missing (transfer) annotation to GString
6692  748633 g_set_object order of operations
6693  754431 Fix build of glib/gstrfuncs.c on Windows
6694  754560 gioerror: Add more mappings for WinSock error codes
6695  754582 Glib cannot compile
6696  754601 Make g_strerror work with non-glibc POSIX systems
6697  754636 tests/unicode-encoding test fails for glib 2.45.7 on x86-64
6698  754788 more g_strerror stuff
6699  754831 autocleanups: Add GString type
6700  754924 Improve test coverage of g_utf8_validate() by added known-...
6701  754986 Avoid unnecessary signal emission during draw
6702
6703 * Translation updates:
6704  Italian
6705  Kazakh
6706  Korean
6707  Lithuanian
6708  Slovenian
6709  Swedish
6710
6711
6712 Overview of changes in GLib 2.45.7
6713 ==================================
6714
6715 * Add G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE for use by non-POSIX-like
6716   backends (e.g. cloud storage).
6717
6718 * GFileMonitor: Make the inotify backend work with atomic renames again
6719
6720 * GSettings: change notification is again working unconditionally
6721
6722 * GListStore has a sort function now
6723
6724 * Test infrastructure:
6725  - Tests are now required to have unique names
6726  - TAP support has been improved
6727  - A macro for asserting that two memory regions have identical content
6728    has been added
6729
6730 * Bugs fixed:
6731  708525 A "g_file_query_info" on the file path "/sys/kernel/debug/hid"...
6732  742849 inotify: send paired events to both sides
6733  744060 Update GObject tutorial documentation to use G_DECLARE_FINAL_T...
6734  747364 Fix GError leak in g_file_query_writable_namespaces()
6735  749492 Support file creation time on FreeBSD and NetBSD
6736  752769 (g_socket_receive_message | g_socket_send_message) performance
6737  753745 glib-genmarshal still needed for cross-compilation
6738  754152 Add g_list_store_sort
6739  754211 Memory leak in g_file_enumerator_iterate ()
6740  754264 GLib 2.44 certificate chain construction fails if the PEM incl...
6741  754283 gtestutils: add g_assert_cmpmem()
6742  754284 gtestutils: print the TAP test plan first, not last
6743  754286 misc gtestutils fixes
6744  754307 size of array '_GStaticAssertCompileTimeAssertion_3387' is neg...
6745
6746
6747 * Translation updates:
6748  Chinese (Taiwan)
6749  French
6750  Galician
6751  Greek
6752  Hebrew
6753  Hungarian
6754  Indonesian
6755  Polish
6756  Portuguese
6757
6758
6759 Overview of changes in GLib 2.45.6
6760 ==================================
6761
6762 * Fix a test failure and a build failure
6763
6764 Overview of changes in GLib 2.45.5
6765 ==================================
6766
6767 * GNetworkMonitor now provides information about metered networks
6768
6769 * g_mem_set_vtable has been deprecated; it has not been working for
6770   quite a while. The recommendation is to use valgrind, or replace
6771   malloc itself.
6772
6773 * Bugs fixed:
6774  656325 Make GDBusInterfaceVTable binding friendly
6775  741779 Documentation tweaks addressing real-world API misuses
6776  741822 Fails to build with VS 2015
6777  742386 gdbusconnection: Don't g_printerr() when exiting
6778  743018 gobject: Add more cross-links between documentation pages
6779  750282 Add g_network_monitor_get_network_metered() to get if the connection...
6780  751358 GFileMonitor doesn't react to "mv some-file watched-file"
6781  751592 Stop using GMemVtable
6782  751598 Stop 'handle-local-options' propagation when callback reports an err...
6783  751610 g_str_hash produces collisions with strings of length 2
6784  751751 Wrong docs of g_async_queue_remove
6785  752210 gdbus command crashes with SIGSEGV
6786  752656 gdbusconnection: Fix signal subscription documentation
6787  752767 Fix typo in g_hash_table_replace() documentation
6788  753278 gdbus: Don't use g_assert_no_error() GDBusObjectManagerServer
6789  753285 g_menu_item_set_icon fails if called with NULL icon
6790
6791 * Translation updates:
6792  Catalan
6793  Czech
6794  French
6795  Indonesian
6796  Lithuanian
6797  Norwegian bokmål
6798  Slovak
6799  Spanish
6800  Thai
6801  Turkish
6802
6803
6804 Overview of changes in GLib 2.45.4
6805 ==================================
6806
6807 * Bugs fixed:
6808  727829 win32: glibconfig.h.win32 updates
6809  741901 Clang cannot know that g_error don't return
6810  746339 GSocket kills process when fd is not a socket
6811  747676 gio/tests/socket fails: test_fd_roundtrip
6812  748610 Some tests fail with non-English locales
6813  749911 g_inet_address_to_string broken on XP/2003
6814  749912 g_inet_address_new_from_string broken on XP/2003
6815  750625 Should dismiss Software Updates Available notification after...
6816  750807 G_BREAKPOINT doesn't work as intended on Darwin
6817  751160 gtask does unnecessary work
6818  751672 -Wduplicate-decl-specifier in glib/tests/keyfile.c
6819  751731 GFile/DirectoryMonitor emit move events with other_file=NULL
6820  751737 gio/tests/appmonitor test fails in 2.45.3
6821  751798 Wrong enum type used in some test-cases
6822  752089 make gsocketservice::active a property
6823  752293 small cleanup: use list_free_full
6824
6825 * Translation updates:
6826  Greek
6827  Hebrew
6828  Portuguese
6829
6830
6831 Overview of changes in GLib 2.45.3
6832 ==================================
6833
6834 * Improve performance of g_signal_handler_disconnect for signals
6835   with many handlers
6836
6837 * GDBus has gained a new call flag to allow interactive authorization
6838
6839 * GSettings:
6840  - New API: g_settings_schema_list_keys
6841  - Deprecated: g_settings_list_keys
6842
6843 * OS X:
6844  - Implement GNotification
6845  - Bump the OS X requirement to 10.9
6846
6847 * Windows:
6848  - Add registry reading API
6849  - Reimplement GAppInfo using registry information
6850
6851 * Bugs fixed:
6852  666831 Support URI opening on W32
6853  728489 property action with inverted boolean state
6854  730168 Incorrect annotation on g_action_group_get_action_state_type return...
6855  733325 Several regex tests fail with pcre3 8.35
6856  734888 GLib has no helper functions to work with W32 Registry
6857  737009 signal handler lookup doesn't scale
6858  738185 Misleading language about "file name encoding" in the docs on g_env...
6859  738504 Optimize UTF-8 decoding by unrolling branches and expressions
6860  739122 glib not handling -1 return ("no limit") from sysconf (_SC_THREAD_S...
6861  739424 gnome-shell crashes when files are added, deleted, or modified in $...
6862  739616 DBus; Add new call flag to allow interactive authorization
6863  740308 Add g_settings_schema_list_keys() method
6864  740516 RFE: please provide an introspectible version of g_log_set_handler
6865  741788 Document GSettings build system integration
6866  745013 GBinding not thread safe
6867  747146 Implement GNotification on OSX
6868  747941 try XDG_RUNTIME_DIR/bus before falling back to X11 autolaunch (dbus...
6869  748727 Filechooser dialog shows no icons for directories on W32
6870  749693 GActionGroupExporter: flush queue on requests
6871  750203 GNetworkMonitorNetlink hangs in user namespace
6872  750322 gapplication: Make sure --help output is translated
6873  750344 GTlsInteractionClass is missing from doc
6874  750369 Various GBinding cleanups
6875  750386 Race condition in g_io_condition_get_type
6876  750399 Typo "equilalent" in glib documentation's glib-Error-Reporting.html...
6877  750573 GTlsDatabaseClass is not documented
6878  750918 genmarshal: silence register storage class warnings
6879  751122 gsocket: avoid unnecessary g_socket_cond_wait() in _send_messages()
6880  479730 The "g_key_file_set_comment" interface prepends '#' character to...
6881
6882 * Translation updates:
6883  Hungarian
6884  Spanish
6885
6886
6887 Overview of changes in GLib 2.45.2
6888 ==================================
6889
6890 * Improve error reporting in glib-compile-schemas.
6891
6892 * Add introspection annotations to GListStore.
6893
6894 * Bugs fixed:
6895  696749 win32 : failed to compile because of careless mistake in the code
6896  723394 const parameter to GtkPopover gtk_popover_set_pointing_to
6897  724113 gdbus-connection-loss test can fail on slow machines
6898  725981 tap-driver.sh: internal error getting exit status
6899  733325 Several regex tests fail with pcre3 8.35
6900  744895 Unknown or unsupported transport 'this-should-not-be-used-and-will...
6901  747882 gtype: Bump allowed number of children
6902  748534 gtest: if a subprocess assertion fails, print its stdout and stderr
6903  748612 de_DE locale used in option-context test is not supported by FreeBSD
6904  748614 Double unref in g_socket_listener_add_inet_port
6905  748834 glocalfilemonitor: Emit notification on rate limit change
6906  749079 gdbus-peer test: TCP tests can fail with ECONNRESET due to a race...
6907  749080 gdatetime test: fails if close to rollover between seconds
6908  749180 gnetworkaddress: add return type annotation to parse methods
6909  749352 g_binding_unbind() fails when source is also the target
6910  749353 GBinding does not connect to the detailed notify signal
6911
6912 * Translation updates:
6913  Catalan
6914  French
6915  Slovak
6916  Thai
6917
6918
6919 Overview of changes in GLib 2.45.1
6920 ==================================
6921
6922 * The GSettings schema compiler, glib-compile-schemas has been changed
6923   to reject schema xml that has duplicate <summary> or <description>
6924   elements. Such elements typically occur when translations are merged
6925   into the schema, with xml:lang attributes. This is not the correct
6926   way to translate schemas. Instead keep the translations in the .mo
6927   file and set the gettext-domain attribute on the <schemalist> element.
6928
6929 * The file monitoring infrastructure has been rewritten, and all backends
6930   have seen major improvements.
6931
6932   The inotify backend is reporting events with less delay (no event will
6933   be delayed more than 10ms) and wakeups due to file monitoring have been
6934   significantly reduced. A CHANGES_DONE event will also be sent when new
6935   files appear.
6936
6937   The poll implementation is now using the thread default main context.
6938
6939   The fam implmentation is now running in the worker thread.
6940
6941   The fen implementation has been removed, since it was unmaintained.
6942
6943 * The GSettings schema compiler, glib-compile-schemas, is more strict
6944   about rejecting schemas with xml:lang style merged translations.
6945   Schema translations should be done by specifying the gettext domain
6946   in the xml, and keeping the translations in gettext. To avoid breaking
6947   already-installed schemas, this change is only taking effect when
6948   you use the --strict option.
6949
6950 * The hardcoded 10-thread limit of GTask's thread pool has been removed,
6951   since it was prone to causing deadlocks. The thread pool is now allowed
6952   to grow dynamically and will shrink back over time.
6953
6954 * GSimpleAsyncResult has been deprecated in favor of GTask.
6955
6956 * The algorithm used by GAppInfo to find default handlers for mime types
6957   has been tweaked to prefer apps that handle the specific subtype over
6958   default handlers for a generic supertype.
6959
6960 * Bug fixes:
6961  627285 inotify file monitor hardwired delay
6962  631597 Segmentation fault in append_escaped_text
6963  661767 merge/improve various bits of run-in-thread functionality
6964  687223 cleverer GThreadPool management
6965  711547 win32: silence some build warnings
6966  719966 glib: Add missing (nullable) and (optional) annotations
6967  726447 Possibly an error in text string
6968  728663 W32: wrong stat struct is used when built with MinGW-w64
6969  728669 W32: GLocalFile can't measure size of files larger than 2^32...
6970  730188 gsocket: Document FD ownership with g_socket_new_from_fd()
6971  733325 Several regex tests fail with pcre3 8.35
6972  738207 Add a way to set SO_SENDBUF and SO_RECVBUF on listener (and...
6973  739850 GClosure: add valgrind hints
6974  741791 gmain: Save errno when handling unix signals
6975  744282 gvfs-open for application/x-virt-viewer changed behaviour bet...
6976  745255 Add support for copying sessions between GTlsClientConnections
6977  745745 gdbus: fix out-of-bound array access
6978  745821 Don't use __alloc_size__ attribute with clang
6979  746749 GLib-GIO:ERROR:inotify-kernel.c:327:ik_source_dispatch: ass...
6980  746753 Glib-compile-resources --generate-header not using ".h" as ...
6981  747209 glib-compile-schemas ought to reject repeated <summary> and...
6982  747349 Conversion of gdbus to use GTask causes deadlocks
6983  747363 gatomic: Add missing new line in API doc comment
6984  747472 Don't ignore already-installed schemas with multiple <summa...
6985  747541 gdbus segfaults with invalid --dest
6986  747772 Having hardcoded utf8 strings in the source code does not p...
6987  748019 gsocketconnection: Fix copy-pasto in documentation
6988  748177 not all test schemas are distributed, "make distcheck" fails
6989
6990 * Translation updates:
6991  Basque
6992  Czech
6993  Danish
6994  Finnish
6995  German
6996  Hebrew
6997  Icelandic
6998  Norwegian bokmål
6999  Russian
7000  Turkish
7001
7002
7003 Overview of changes in GLib 2.43.92
7004 ===================================
7005
7006 GLib is now considered frozen.  We do not expect any major changes
7007 before the release of 2.44.0.
7008
7009  * GUnixMountMonitor now properly supports multiple main contexts
7010
7011  * many documentation improvements and cleanups.  We are now
7012    approaching a point where the documentation is 100% complete and the
7013    xml will build without warnings.  This will probably be enabled by
7014    default in the next cycle.
7015
7016  * new support for HTTP proxies in GIO
7017
7018  * new GTask:completed property
7019
7020  * use "private" futexes in order to further improve the performance of
7021    the contended case of GMutex and g_bit_lock()
7022
7023 Bugs fixed:
7024  614684 Make various parts of GObject const-correct
7025  730352 Use inet_pton(), if_nametoindex() and if_indextoname() for newer versions of Windows
7026  733876 Proxy protocol 'http' is not supported.
7027  741442 threads: use FUTEX_WAIT_PRIVATE and FUTEX_WAKE_PRIVATE if possible
7028  742599 Clean up GUnixMountMonitor
7029  743636 gtask: Add a GTask:completed property
7030  743661 g_win32_check_windows_version() is missing from doc
7031  744722 docs: Expand introduction to mention using async calls over sync ones
7032  745589 [Patch] gio: add some missing autocleanup
7033  745634 [GNotifications] Use themed icon as icon-name
7034
7035 Translations updated:
7036  Bosnian
7037  Bulgarian
7038  Catalan
7039  Czech
7040  French
7041  German
7042  Greek
7043  Hungarian
7044  Italian
7045  Kazakh
7046  Korean
7047  Latvian
7048  Lithuanian
7049  POTFILESin
7050  Polish
7051  Russian
7052  Serbian
7053  Slovak
7054  Slovenian
7055  Spanish
7056  Swedish
7057  Vietnamese
7058  pa  for Gnome
7059
7060 Overview of changes in GLib 2.43.91
7061 ===================================
7062
7063 We have now added 'g_autofree' as a libgsystem-style autocleanup macro
7064 that calls g_free() on the content of a local variable when it leaves
7065 scope (working only on GCC and clang).
7066
7067 GApplication now has an "is-busy" property, allowing one to query the
7068 effective busy state.
7069
7070 There have been various other bugfixes and cleanups.
7071
7072 Bugs fixed:
7073  661554 GIO's use of GError is wrong
7074  744263 Fix format specifier for __LINE__ in G_OBJECT_WARN_INVALID_PSPEC
7075  744565 gapplication: add bind_busy_property()
7076  744747 Add g_autofree
7077  744756 Can't find out if gapplication is marked as busy
7078  744830 autocleanups: Add GArray and GPtrArray
7079  744876 Unclean exit from from g_application_run
7080  745239 g_property_action_new missing type annotation
7081
7082 Translations updated:
7083  Chinese (Taiwan)
7084  French
7085  Galician
7086  Lithuanian
7087  Slovak
7088
7089 Overview of changes in GLib 2.43.90
7090 ===================================
7091
7092 * new GSimpleIOStream class to construct a GIOStream from an arbitrary
7093   GInputStream and GOutputStream
7094
7095 * GApplication: new API for marking 'busy' state according to the value
7096   of a boolean property on another object
7097
7098 * GOptionGroup: add binding support (boxed type, annotation fixes, etc.)
7099
7100 Bugs fixed:
7101  739724 Test functions should have async scope
7102  741024 glist: Mention that g_list_length() is bad for checking list emptiness
7103  741630 Add GSimpleIOStream class
7104  743349 goption: Add boxed type for GOptionGroup
7105  743990 GDBus connection closing is broken
7106  744565 gapplication: add bind_busy_property()
7107
7108 Translations updated:
7109  Greek
7110  Italian
7111  Norwegian bokmål
7112  Russian
7113  Slovenian
7114  Swedish
7115
7116 Overview of changes in GLib 2.43.4
7117 ==================================
7118
7119 * GType now has type declaration macros G_DECLARE_DERIVABLE_TYPE,
7120   G_DECLARE_FINAL_TYPE and G_DECLARE_INTERFACE, which significantly reduce
7121   the boilerplate needed for GObject types and interfaces.
7122
7123 * g_autoptr and g_auto are macros for declaring variables with automatic
7124   cleanup. They only work with gcc and clang.
7125
7126 * GListModel is a new interface that represents a dynamic list of GObjects.
7127
7128 * GListStore is a GSequence-based implementation of GListModel.
7129
7130 * Support thread names on OS X
7131
7132 * g_simple_action_set_state_hint: New function to set the state hint
7133   of GSimpleActions
7134
7135 * g_win32_check_windows_version: New function to check Windows version
7136
7137 * g_settings_schema_list_children and g_settings_schema_key_get_name
7138   are new functions to complete the GSettingsSchema API.
7139
7140 * Bugs fixed:
7141  389585 G_DEFINE_TYPE hack for header files
7142  729351 Add GListModel
7143  736914 Docs: various fixes and improvements
7144  741807 Add thread name support on OS X and iOS
7145  741895 gwin32: Add Simple API to check whether we are on at least a v...
7146  742456 object: Add g_steal_pointer() convenience function to mark own...
7147  743508 polkitd fails to start: patch for gio/gcredentialsprivate.h
7148  743517 GSettings API is missing some introspection functions
7149  743521 GSimpleAction: add g_simple_action_set_state_hint
7150  743596 G_DECLARE_DERIVABLE_TYPE() should allow additional typedef for...
7151  743640 add __attribute__((cleanup)) support
7152  743827 Fix build of GListModel (on Visual Studio)
7153  743927 GListStore: add sorted insert function
7154  743936 glib: handle unsigned modifier for long long in internal printf
7155  744012 Add GMutexLocker
7156  744190 Fix build on Compilers That Do Not Use inline for Plain C Code
7157
7158
7159 Overview of changes in GLib 2.43.3
7160 ==================================
7161
7162 * add g_set_object() convenience function
7163
7164 * GNetworkMonitor: check if NM is not running and don't crash
7165
7166 * fix some races with g_mkdir_with_parents
7167
7168 * fix some warnings in MSVC
7169
7170 * avoid use of G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC in order to save
7171   on static strings
7172
7173 * fix some content type vs. mime issues
7174
7175 * documentation improvements
7176
7177 * Bugs fixed:
7178  719455  g_file_make_directory_with_parents() can erroneously throw G_IO_ERROR_EXISTS
7179  732439  GSocket: avoid unnecessary g_socket_wait_condition() for blocking sockets
7180  734946  Implement GContentType on OSX
7181  741589  gobject: Add g_set_object() convenience function to set GObject pointers
7182  741653  gnetworkmonitornm: Check if network-manager is running
7183  741654  [patch] gobject: don't use G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC() macro
7184  741707  Gsocket blocks trying to send data
7185  741788  Document GSettings build system integration
7186  742548  configure.ac: stay out of autoconf's namespace
7187  742851  avoid MSVC warnings in G_STMT_END
7188  742972  ggettext: Include an example of setlocale() and friends in the i18n docs
7189  743014  gtestutils: Add an example of using test fixtures 
7190
7191 * Translations updated:
7192  Basque
7193  Brazilian Portuguese
7194  Spanish
7195
7196 Overview of changes in GLib 2.43.2
7197 ==================================
7198
7199 * New function: g_strv_contains
7200
7201 * New function: g_network_address_new_loopback
7202
7203 * New function: g_socket_send_messages
7204
7205 * A new GNetworkMonitor implementation using NetworkManager provides
7206   more detailed connectivity information
7207
7208 * Bugs fixed:
7209   11059 Linux poll issue
7210  664562 captive wifi portal support for GNetworkMonitor
7211  685880 Add g_strv_contains()
7212  712570 Hang in g_threaded_socket_service_func
7213  719646 GSocket: add g_socket_send_messages() to send multiple messages...
7214  728928 Provide separate error code for "Connection reset by peer"
7215  732317 Support GSocketConnectable for loopback addresses
7216  740814 "make check" should ensure that every symbol is documented
7217  740848 Backend subscription fails when connecting to a signal with a d...
7218  741016 gio: add G_IO_ERROR_NOT_CONNECTED
7219  741226 keyfile: Add "in group" to GError message consistently
7220
7221 * Translation updates:
7222  Gujarati
7223  Hebrew
7224  Hungarian
7225  Kannada
7226  Turkish
7227  Vietnamese
7228
7229
7230 Overview of changes in GLib 2.43.1
7231 ==================================
7232
7233 * GQueue now accepts NULL as a sibling in g_queue_insert_before() and
7234   g_queue_insert_after()
7235
7236 * Bugs fixed:
7237   11059 Linux poll issue
7238  726037 Add G_PARAM_READWRITE value to the GParamFlags enumeration
7239  727988 GMemoryOutputStream hangs when writing more than 1GiB
7240  729739 tlscertificate: add support for loading certificate chains
7241  733791 GSettings: delay backend subscription
7242  736286 Clarify g_file_replace behavior with etags
7243  736620 GQueue: accept NULL sibling for insert_before() and insert_after()
7244  737150 GLib-GIO-WARNING **: Failed to parse translated string 'visible-name...
7245  737160 unhelpful error message
7246  738259 GDBusInterfaceVTable: clarify memory handling for the method() virt...
7247  738551 'interface' variable conflicts with Windows defines
7248  738633 Need to disable SSLv3 in glib-networking
7249  740157 <app> --help doesn't work even when options were added
7250  740309 Fix docs in g_strfreev
7251  740413 Fix the GSettings Registry Backend 
7252
7253 * Translation updates:
7254  Norwegian bokmål
7255
7256
7257 Overview of changes in GLib 2.43.0
7258 ==================================
7259
7260 * GObject gained a debug option to provide instance counts. To use it,
7261   set GOBJECT_DEBUG=instance-count and call g_type_get_instance_count().
7262
7263 * GOption now has a strict POSIX mode in which it stops parsing arguments
7264   as soon as a non-option argument is encountered.
7265
7266 * Bugs fixed:
7267  354457 Feature Proposal: Per-Type Statistics for Instantiable GTypes
7268  695082 g_hash_table_remove_all is not save against a call to g_hash_table_remove
7269  723160 GOption: add strict posix mode
7270  728256 gcredentials: add NetBSD support
7271  729739 tlscertificate: add support for loading certificate chains
7272  733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
7273  736273 gdesktopappinfo: Use symbolic names in the code
7274  736284 Keep only one list of signal emissions
7275  736806 gtask: Fix reference count loop causing leaks
7276  736914 Docs: various fixes and improvements
7277  737143 Include <stdint.h> in glib/valgrind.h
7278  737259 gcancellable: Clarify that GSources hold references to GCancellables
7279  737338 gmain: Unref child sources when finalising a GSource
7280  737446 tests: Fix some minor leaks in the unit tests
7281  737451 Provide api to read_all_async
7282  737741 g_datalist_id_get_data assertion fails for non-existant keys
7283  737869 GApplication command line handling breaks --help
7284  738170 g_byte_array_new_take() doesn't initialize array->alloc
7285  738197 g_cond_timed_wait() doesn't time out on Mac OS X
7286  738374 gfile: g_file_equal (x, x) is TRUE
7287  738675 GSubprocessLauncher is missing some data on the docs 
7288
7289 * Translation updates:
7290  Bengali (India)
7291  Bulgarian
7292  Gujarati
7293  Italian
7294  Telugu
7295
7296
7297 Overview of changes in GLib 2.42.0
7298 ===================================
7299
7300 All changes in this release are trivial in nature.
7301
7302  - introspection warning fixes
7303
7304  - g_application_add_main_option now uses an enum instead of an 'int'
7305    for the type of a parameter
7306
7307  - added a G_OPTION_FLAG_NONE so that people don't need to use 0
7308
7309  - gresource: Use GError in more places
7310
7311  - gresource commandline tool: improve extraction from multiple sections
7312
7313  - GSource now takes the context lock (if any) in g_source_set_name()
7314
7315  - new documentation to clarify the use of some APIs related to
7316    GVariant, GSource, GApplication
7317
7318  - other minor updates to docs
7319
7320 * Bugs fixed
7321  736683 Thread safety issues with g_main_context_find_source_by_id
7322  736975 [patch] please document that GVariant serialization needs an
7323         out-of-band length field
7324
7325 * Translation updates
7326  Danish
7327  Hindi
7328  Marathi
7329  Punjabi
7330  Serbian
7331  Simplified Chinese
7332
7333 Overview of changes in GLib 2.41.5
7334 ==================================
7335
7336 * Bug fixes:
7337  735819 single native credential struct used for two purposes
7338  735915 glib-building.html uses --enable-gcov instead of --enable-coverage
7339  736350 GDesktopAppInfo: avoid polling on missing desktop dirs
7340  736351 Don't use issetugid() on Android
7341         Fix the default application logic in GDesktopAppInfo
7342  736458 Only use rand_s() when targetting Visual Studio >= 2005
7343
7344 * Translation updates
7345  Galician
7346  Hungarian
7347  Indonesian
7348  Kannada
7349  Latvian
7350  Polish
7351  Russian
7352  Slovenian
7353  Tamil
7354
7355
7356 Overview of changes in GLib 2.41.4
7357 ==================================
7358
7359 * GApplication now has binding-friendly API to handle
7360   commandline options: g_application_add_main_option
7361
7362 * G_GNUC_BEGIN_IGNORE_DEPRECATIONS works with clang
7363
7364 * Bugs fixed:
7365  583330 poll list of mounted file systems (no mtab support)
7366  727455 Command line option parsing from bindings
7367  734126 add G_GNUC_BEGIN_IGNORE_DEPRECATIONS macro for clang
7368  735179 gsocketclient: Handle cancellation between CONNECTING...
7369  735297 Docs claim that GThread struct is deprecated 
7370
7371 * Translation updates:
7372   Assamese
7373   Catalan
7374   Catalan (Valencian)
7375   Czech
7376   French
7377   German
7378   Greek
7379   Hebrew
7380   Korean
7381   Oriya
7382   Traditional Chinese
7383
7384
7385 Overview of changes in GLib 2.41.3
7386 ==================================
7387
7388 * g_clear_pointer and g_clear_object no longer use atomics
7389
7390 * Bugs fixed:
7391  711547 win32: silence some build warnings
7392  725511 Compiled resource files should have the same /-separators everywhere
7393  725513 Some tests fail to build on W32
7394  725514 W32: gfileutils does not preserve errno correctly
7395  725515 test-printf fails on W32
7396  728730 gsocket: Set SO_NOSIGPIPE on sockets on Darwin
7397  729703 Leaks a GError in g_file_move
7398  730932 statically assert that reasonable assumptions about enums are true
7399  732085 gtype: Fast-path for g_type_is_a
7400  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
7401  733345 ginetaddress: Add a precondition to g_inet_address_new_from_string()
7402  733576 Patches from static analysis run on 2.40
7403  733715 glib's configure.ac makes accidentally use of nested function
7404  733934 win32: improve the package installation dir lookup
7405  733960 W32: spawning a console process creates a new window when stdout...
7406  733969 Remove atomic aspects of g_clear_pointer/object
7407  733982 Do not crash when checking whether an instance type is of a given...
7408  734035 gedit hangs up when there's no GSettings key in the registry 
7409
7410 * Translation updates:
7411  Basque
7412  Brazilian Portuguese
7413  Lithuanian
7414  Slovenian
7415  Spanish
7416
7417
7418 Overview of changes in GLib 2.41.2
7419 ==================================
7420
7421 * The Unicode support has been updated to version 7.0
7422   of the Unicode standard
7423
7424 * GNotification now supports priorities for notifications
7425
7426 * GCredentials has gained NetBSD support
7427
7428 * GMutex now uses a faster, native implementation on Linux
7429
7430 * Bugs fixed:
7431  699132 Pluggable event loop backends
7432  720708 g_assert_warning(): number of arguments doesn't match for...
7433  722092 Add GtkApplication resources support
7434  724986 Change gio/data-to-c.pl to /usr/bin/env perl.
7435  727974 Fix up failure-to-see-expected-message logging
7436  728256 gcredentials: add NetBSD support
7437  728401 GDateTime: Add guards to g_date_time_new()
7438  729825 Formatting of g_alloca documentation
7439  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro...
7440  730293 clang++-3.4: error: 'register' storage class specifier is ...
7441  731339 giochannel: avoid setting uninitialised length
7442  731424 #ifdef spaghetti for load_user_special_dirs() implementations
7443  731623 GNotification: add support for a priority setting
7444  731929 update tables to unicode 7.0.0
7445  731950 gvalue: New g_value_from_instance
7446  731986 GLib: implement GMutex natively on Linux
7447  732184 GObject: warn on use of deprecated properties
7448  732357 Docs: various fixes and improvements
7449  732429 GActionEntry: improve documentation
7450  732465 Fix build on x64 Visual C++ builds
7451  732704 Docs: various fixes and improvements
7452  732739 ginetsocketaddress: Explicitly initialise flags for getaddr...
7453  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
7454  732984 g_object_ref(NULL) in g_dbus_object_manager_client_finalize
7455  733084 Typos in g_bytes_hash() and g_time_zone_find_interval() docs
7456  733146 spawn helper does not use correctly the parameters 
7457
7458 * Translation updates:
7459  Lithuanian
7460
7461
7462 Overview of changes in GLib 2.41.1
7463 ==================================
7464
7465 * Bug fixes:
7466  697229 Custom Interface implementations will be broken with glib 2.37/38
7467  698614 GObject: prevent installing properties after init
7468  729269 gvariant: Fix confusion between type and format strings in the docs
7469  730198 broken valgrind.h leads to crashes in g_type_free_instance on mingw64
7470  730807 GMutex performance regression
7471  730963 gconvert: mention that the g_convert len should be in bytes
7472  730984 Faster instance type check for fundamentals
7473  731050 <structname> tags appear in documentation
7474  731200 unconditional 'notify' during g_object_set() is problematic
7475  731335 gtype: guard uses of new fundamental type check
7476  731341 gparam: change value of G_PARAM_EXPLICIT_NOTIFY
7477  731366 run-assert-msg-test.sh gdb leaves assert-msg-test zombie
7478  731425 giomodule protects function-call with different token than function...
7479  731513 clang: build failure: implicit declaration of function '__atomic_load_4'
7480  731584 gbookmarkfile: Cleaner error handling code to pacify static analysis
7481  731657 Prevent an invalid @CARBON_LIBS@ from appearing in the .pc files
7482  731979 docs: Correct param to interface's default_init()
7483  731996 Return folder as icon for directories
7484  732002 gwakeup: Clarify buffer sizing in g_wakeup_signal()
7485  732005 Remove unused assignments
7486  732019 gtestdbus: Don’t close stdout for dbus-daemon
7487  732068 gsignal: Add an example to the g_signal_connect_swapped() documentation
7488  732081 gsocket: Document that g_socket_create_source() holds a socket ref
7489  732107 gsocketlistener: Reconsider closing sockets on listener finalisation
7490
7491
7492 Overview of changes in GLib 2.41.0
7493 ===================================
7494
7495 * Many bugfixes found by static analysis, including potential fd leaks
7496   and NULL pointer dereferences.
7497
7498 * Increased use of (nullable) attribute on out values and return types
7499   now that it is supported (mostly from porting Vala metadata).
7500
7501 * use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of desktop
7502   files, deprecating g_desktop_app_info_set_desktop_env()
7503
7504 * add support for g_desktop_app_info_get_implementations() to find
7505   desktop files that have an Implements= line for a given interface
7506
7507 * GHmac has gained SHA-512 support
7508
7509 * support the new mimeapps specification (most notably, moving the
7510   assoications/defaults configuration to ~/.config/mimeapps.list).
7511
7512 * libgobject is now linked -Wl,-z,nodelete when possible to avoid errors
7513   when gobject is used from a module for a program that does not itself
7514   use gobject and that module is unloaded/reloaded
7515
7516 * ... and many other bug fixes.
7517
7518  623552 glib warns if backtrace.py is not present
7519  667468 glib-2.30.2: ipv6 tests fail when no ipv6 support is available
7520  668152 -framework Carbon linker flag not passed to pkg-config .pc files
7521  707298 libgobject should be linked with -Wl,-z,nodelete
7522  712391 Add g_desktop_app_info_get_implementors()
7523  722723 Infinite recursion when calling g_io_stream_close_async() from libsoup
7524  724741 hmac: Fix support for SHA-512 in GHmac
7525  726040 networkaddress: fix parsing of uri with @ after authority
7526  726318 gio: Document that GSocket is not thread safe
7527  726611 socketclient: Leak on cancellation
7528  726872 gio: Add names to idles and timeouts
7529  727119 wrong IN6_IS_ADDR_MC_LINKLOCAL usage break android build
7530  727123 GNotification: Some small documentation fixes
7531  727320 docs: Remove escaping '\' from literals
7532  727551 Check use_count of GApplication in g_application_release()
7533  727559 g_file_copy: Don't set GError when we intend to ignore errors
7534  727692 gio/gtlscertificate.c -- broken PEM-file processing (affects local CA root stores, for starters)
7535  727890 soup_content_sniffer_real_sniff segfault
7536  727900 gio: Add newer dbus UnknownXxxx and PropertyReadOnly errors
7537  727928 gapplication-tool fixes
7538  727939 INTLLIBS are always appended in configure checks
7539  727964 g_io_extension_point_get_extension_by_name: Warn, but don't crash, for NULL inputs
7540  728040 Implement new mimeapps spec
7541  728066 Deal with startup notify id being NULL
7542  728280 platform_get_argv0: fix sysctl(3) use on OpenBSD
7543  728285 docs: Use markdown links in .h files, too
7544  728350 gaction: Minor clarifications in the GAction documentation
7545  728380 docs: Remove <!-- --> comment before plural s
7546  728565 gfile: More explicitly document the context for GFileProgressCallback
7547  728983 Docs: various fixes and improvements
7548  729167 gobject: Document that classes/objects/interfaces are zero-filled
7549  729563 GOption: A short option's value is included in G_OPTION_REMAINING
7550  729813 AppInfo: use XDG_CURRENT_DESKTOP for OnlyShowIn
7551  729875 gio: cleanup gdbusmessage.c file
7552  730045 Avoid overeager warning about deprecated properties
7553  730189 gtestutils: Fix a very unlikely FD leak in test fork handling
7554  730190 gsocket: Add missing preconditions to g_socket_send_message()
7555  730277 gthread: Fix use of a local variable after it went out of scope
7556  730278 gsubprocess: Add a missing va_end() call
7557  730295 gdbus-tool: Remove dead variables
7558  730493 Port annotations from Vala metadata
7559
7560 Translations updated:
7561  Basque
7562  Brazilian Portuguese
7563  Catalan
7564  Czech
7565  Danish
7566  Greek
7567  Hebrew
7568  Hungarian
7569  Punjabi
7570  Serbian
7571  Slovenian
7572  Spanish
7573  Ukrainian
7574
7575 Overview of changes from GLib 2.39.91 to GLib 2.39.92
7576 =====================================================
7577
7578 This is a release candidate for 2.40.0.
7579
7580 * g_test_run() no longer runs tests in exactly the order they are
7581   registered; instead, it groups them according to test suites (ie,
7582   path components) like the documentation always claimed it did. In
7583   some cases, this can result in a sub-optimal ordering of tests,
7584   relative to the old behavior. The fix is to change the test paths to
7585   properly group together the tests that should run together. (eg, if
7586   you want to run test_foo_simple(), test_bar_simple(), and
7587   test_foo_using_bar() in that order, they should have test paths like
7588   "/simple/foo", "/simple/bar", "/complex/foo-using-bar", not
7589   "/foo/simple", "/bar/simple", "/foo/using-bar" (which would result
7590   in test_foo_using_bar() running before test_bar_simple()).
7591
7592   (The behavior actually changed in GLib 2.36, but it was not
7593   documented at the time, since we didn't realize it mattered.)
7594
7595 There are no major changes in this release, but a few serious bugs have
7596 been fixed.
7597
7598 * Bugs fixed:
7599  710367 Crash in g_settings_backend_dispatch_signal()
7600  723899 G_DEFINE_TYPE() causes compiler warnings with clang due to foo_get_instance_private
7601  724859 Let the test_wait_until() test also run on non-*nix
7602  724916 gio unmount code makes XFCE's Thunar crash
7603  725651 GSubprocessLauncher: Does not copy the calling process environment.
7604  725656 Unskip GVariantDict
7605  725891 gio tests: add codegen to BUILT_SOURCES
7606  726046 Recent commit created symbolic icons issues
7607
7608 * Translations:
7609  Chinese
7610  French
7611  Korean
7612  Latvian
7613  Norwegian bokmål
7614  Portuguese
7615  Russian
7616  Traditional Chinese
7617
7618 Overview of changes from GLib 2.39.90 to GLib 2.39.91
7619 =====================================================
7620
7621 This release introduces a hard dependency on present and functioning
7622 clock_gettime() and CLOCK_MONOTONIC.  It also introduces a dependency on
7623 pthread_condattr_setclock() unless your system happens to have
7624 pthread_cond_timedwait_relative_np() (as do Mac OS and Android).  This
7625 release is known to be broken with at least GNU/Hurd, pending addition
7626 of working pthread_condattr_setclock(CLOCK_MONOTONIC) there.
7627
7628 New API: g_str_to_ascii()
7629
7630 * Fixed bugs:
7631  670144 unconditional use of CLOCK_MONOTONIC is broken
7632  673607 invalid assumption in g_cond_wait_until() / g_get_monotonic_time() API
7633  710142 Add more impressive transliteration to GLib
7634  722360 make check fails
7635  722604 (partial) Various tests are failing with 2.39.3
7636  723316 g_hash_table_iter_remove() should be explicit whether or not it is safe while iterating the table
7637  724609 Fix build of GIO on Windows
7638  724687 gmain: make monotonic time really monotonic, everywhere
7639  724706 gsource: document priority of child sources
7640  724707 some GSocket source improvements
7641  724839 GMainContext: some source ID cleanups
7642  724858 Dist gtranslit-data.h
7643  724994 Missing icons for bookmarks in file chooser
7644  725023 Can no longer find apps by executable/desktop file name
7645
7646 * Translations:
7647  Lithuanian
7648  Polish
7649  Thai
7650
7651 Overview of changes from GLib 2.39.4 to GLib 2.39.90
7652 ====================================================
7653
7654 * Fixed bugs:
7655  625408 make GVariant dictionaries more useful
7656  660809 document that if you fail a precondition check, documented guarantees do not apply
7657  661576 fix handling of constructors that destroy half-constructed objects
7658  679957 g_inet_address_new_from_string is not able to handle dots and numbers IPv4 addresses
7659  712837 gvariant: Document the need to cast varargs when constructing GVariants
7660  721458 g_simple_async_result_is_valid has a NULL check for the wrong source_tag
7661  721977 improve split handling of command line arguments
7662  722033 win32: fixup lib.exe invocation
7663  723422 Fix g_socket_get_available() with TCP on Windows
7664  723616 gio/tests: fix race when generating code
7665  724001 gsubprocess: Fix a broken link in the documentation
7666  724124 glib/tests/collate.c fails if no en_US locale
7667  724126 intermittent GApplication test failure: /gapplication/local-actions: lines of output permuted
7668  724233 gsocketservice: Note g_socket_listener_close() for closing open sockets
7669  724239 soup_session_queue_message - Connection terminated unexpectedly
7670  724278 gsocketconnection: Document closing connections with g_io_stream_close()
7671  724330 configure.ac: tweak inotify check
7672  724385 gtestutils: make the new assert messages more detailed
7673  724401 gsubprocess: Mutex leak
7674  724417 glib master build broken on OpenBSD
7675  724434 Build failure in gio/gresolver.c
7676
7677 * Updated translations:
7678  Brazilian Portuguese
7679  Galician
7680  Indonesian
7681  Italian
7682  Kannada
7683  Norwegian bokmål
7684  Spanish
7685  Thai
7686
7687 Overview of changes from GLib 2.39.3 to GLib 2.39.4
7688 ===================================================
7689
7690 * Fixed Bugs:
7691  139699 Correction for g_main_context_unref()
7692  583036 g_strchomp and g_strchug are not declared const
7693  683388 improve documentation for application developers
7694  685204 ./configure fails to add the '-g' flag to CFLAGS
7695  688406 GStaticMutex broke ABI on at least ARM EABI during 2.31.x
7696  693299 cannot compile on Solaris: error in gbitlock.c
7697  707111 Clarify type transformability and compatibility
7698  711547 win32: silence some build warnings
7699  719344 Fix the various test programs (or GLib itself) on Windows
7700  722025 cleanup/clarify command line argument encoding on Windows
7701  722323 remove unused include 'gslist.h' in 'gbookmarkfile.c'
7702  722326 gstringchunk: Use g_slist_free_full() where possible
7703  722357 gio: fix small memory leak on local xattr
7704  722436 Adjust doc to Makefile.decl renaming
7705  722503 GSimpleAction: add default activate handler
7706  722526 glib/deprecated/gthread.h error on FreeBSD
7707  722591 [documentation] broken link to GtkAction from GAction.html
7708  722973 Broken example in GApplication reference
7709  723048 'network-access' test can fail to guess interface index
7710  723360 gmain: Note that g_source_destroy() can be called multiple times 
7711
7712 * Updated Translations:
7713  Assamese
7714  Tamil
7715  Traditional Chinese
7716
7717
7718 Overview of changes from GLib 2.39.2 to GLib 2.39.3
7719 ===================================================
7720
7721 No major changes this release -- mostly lots of small fixes and
7722 improvements in test coverage.
7723
7724  * fix a crasher in code from gdbus-codegen
7725
7726  * improvements to gobject gdb helper script
7727
7728  * portability:
7729
7730    - fix a deadlock issue with kqueue on FreeBSD
7731
7732    - work around a quirk in the sunstudio compiler
7733
7734    - rename a variable to avoid clashing with a macro definition of
7735      'environ' on some platforms (like mingw)
7736
7737    - use POSIX-specified <poll.h> over <sys/poll.h>
7738
7739    - many improvements to Visual Studio projects and and some build
7740      fixes for Windows
7741
7742  * tests
7743    - a very large number of improvements in test coverage
7744
7745    - don't report skipped tests as failures
7746
7747    - return 77 if we skip all tests in an executable
7748
7749    - improve gtest documentation and fix some minor issues
7750
7751    - fix g_test_trap_reached_timeout() return value
7752
7753    - remove some dead code uncovered during test coverage expansion
7754
7755    - Use tap mode for installed tests too, when using tap
7756
7757  * fix races in unix signal handling
7758
7759  * make our GVariant-based commandline tools (glib-compile-schemas,
7760    gdbus, gapplication) print out GVariant parse errors in context
7761
7762  * GApplication now has a --gapplication-service command line switch to
7763    turn any GApplication into a service
7764
7765  * improve compatibility of GApplication and GOptionContext
7766
7767  * fix gsettings.m4 wrt. builddir != srcdir with non-recursive make
7768
7769  * use a directory monitor in GKeyfileSettingsBackend
7770
7771  * improve robustness of some GIcon classes
7772
7773 Bugs fixed
7774  141251  poll(2) is in <poll.h>, not <sys/poll.h> per SUS standard
7775  613732  [PATCH] gobject.py: Don't install frame filters when GDB does not support them
7776  708212  g_variant_parser_error_get_quark() has unexpected name.
7777  710965  GApplication: add --gapplication-service switch
7778  711090  periodic failure of spawn-multithreaded async testcase
7779  712171  gsettings.m4: @GSETTINGS_RULES@: Support srcdir != builddir with nonrecursive make
7780  712630  Revert "gsettings m4: check for .xml in src/builddir"
7781  715028  GVariant: add way to print context of parse errors
7782  719344  Fix the various test programs (or GLib itself) on Windows
7783  720263  gtestutils: skipping a test should count as success, not failure
7784  720539  gdbus-codegen: Fix crasher in goa-using apps
7785  720635  Make gdb pretty-printers compatible with Python3
7786  720891  g_settings_get_child does not inherit the backend
7787  721034  glib 2.38.2 cannot be compiled with SunStudio Compiler under Solaris
7788  721059  g_subprocess_launcher_set_environ vs "environ"
7789  721074  kqueue: deadlock
7790  721087  Missing -lselinux in pkg-config --libs --static gio-2.0
7791  721324  Error message is printed to stdout
7792  721624  Regression in GTest framework reorders existing test cases
7793  721625  backwards NEWS entry about g_source_remove change
7794  721796  insufficient escaping in g_dbus_annotation_info_generate_xml()
7795  721947  Improve GApplication ⇔ GOptionContext compatibility 
7796
7797 Translations updated:
7798  Brazilian Portuguese
7799  Galician
7800  Greek
7801  Hebrew
7802
7803 Overview of changes from GLib 2.39.1 to GLib 2.39.2
7804 ===================================================
7805
7806 * Portability
7807
7808   - Remove alleged support for OS/2
7809
7810   - Remove alleged support for BeOS
7811
7812   - Remove alleged support for last-millennium Unixes
7813
7814   - Require C90 compliance
7815
7816   - Require POSIX.1 (1990) compliance on Unix
7817
7818   - Require GNU make
7819
7820 * Bugs fixed:
7821  113075 support "nonnull" attribute
7822  159528 g_ptr_array_remove_range()
7823  307947 The check for growing stack pointer in configure can fail
7824  607016 docs should mention property notification order
7825  671557 Fun with integers and g_key_file_load_from_data()
7826  676761 don't use g_critical for a runtime error
7827  690525 g_file_replace_contents_async doesn't copy its @conten...
7828  691608 Support compilation with clang 3.2
7829  697585 g_variant_builder_add's doc example is leaking
7830  697828 g_hash_table_add() should return a boolean
7831  702862 gdbus-codegen : look for deps in default install path
7832  703522 Reference leak in GvariantBuilder documentation
7833  705902 g_get_current_dir() should check PWD env var and retur...
7834  708274 Added GObject Introspection annotations to genums.c
7835  710519 Portability schmortability
7836  710741 some mainloop instrumentation
7837  710983 Test failures on powerpc
7838  711047 Enable the build of the various test programs on Windo...
7839  711051 Add basic test for the GNotification gtk backend
7840  711088 gbacktrace: Don't close stderr when running gdb
7841  711103 gmessages: Add g_info macro for G_LOG_LEVEL_INFO
7842  711178 appinfo test problems
7843  711546 utf8: report allocation error
7844  711640 gdesktopappinfo: Rank Keywords matches higher than Gen...
7845  711751 Fix memory leaks in libglib tests
7846  711753 gthread-posix: Don't use gslice allocated GRecMutex
7847  711796 glib-tap.mk: fix to actually use the TAP driver
7848  711800 fix g_test_set_nonfatal_assertions()
7849  711801 giomodule: Allow overriding source directory gio modul...
7850  711805 gdbus-connection: Fix race condition in test
7851  711806 gtestdbus: Don't destroy GSource twice
7852  711807 gtestdbus: Properly close server connections
7853  711871 Broken and misleading configure check for growing stack
7854  712136 'O_CLOEXEC' undeclared (first use in this function)
7855  712148 Add system bus support to GTestDBus
7856  712171 gsettings.m4: @GSETTINGS_RULES@: Support srcdir != bui...
7857  712314 AIX port: splice(); major()/minor(); libtool library order
7858  712315 GSettings: More docs for deprecated _list_schemas()
7859  712393 gobject: Box GMappedFile
7860  712547 GSocketClient "event" not useful for determining resol...
7861  715164 Clang static analysis fixes
7862  719395 GPtrArray add g_ptr_array_insert
7863  719402 Crashes when startup
7864  719472 leak in generated proxy-side property-setter
7865  719687 fix or remove g_trap_object_ref
7866  719809 Signal connection ids are always > 0 if successful
7867  719837 gdbus-connection: Work around race in connection tests
7868  719884 Fix documentation typos in GTask and GCancellable examples
7869  719979 g_settings_get: check validity of format string
7870  720080 Truncating a GMemoryOutputStream to a larger size cause...
7871  720210 gdataset: Remove unused define
7872  720236 Allow clean simple use of g_test_trap_subprocess() 
7873
7874 * Translations updates:
7875  Italian
7876  Lithuanian
7877  Simplified Chinese
7878  Spanish
7879
7880
7881 Overview of changes from GLib 2.39.0 to GLib 2.39.1
7882 ====================================================
7883
7884  * GSettings fixes/improvements
7885
7886    - GSettingsSchema API is now more powerful and consistent
7887
7888    - new GSettingsSchemaKey API allows accessing metadata for keys:
7889      type, default value, range and the long-awaited support for summary
7890      and description
7891
7892    - GSettingsSchemaSource gains support for listing schemas within a
7893      source.  Deprecate the global API that did this for the default
7894      source.
7895
7896    - 'gsettings list-schemas' now works properly with --schemadir
7897
7898    - deprecate a bunch of now-redundant functionality on GSettings
7899
7900    - add API to GSettings for getting the default value of a key (as set
7901      by the sysadmin)
7902
7903    - add API to GSettings for determining if the user has assigned a
7904      particular value to a key (ie: we are not just reading the default)
7905
7906    - ignore qualified tags and attributes appearing in schema files
7907
7908  * Applications/Actions
7909
7910    - make GSimpleAction a bit more strict with respect to state changes
7911      that would violate the interface (ie: by changing the state type
7912      after construction)
7913
7914    - throw an error when attempting to 'Describe' a non-existent action
7915      via D-Bus instead of returning a bogus description
7916
7917    - throw an error when attempting to invoke unsupported methods on an
7918      Application (eg: 'Open' on an app that doesn't HANDLES_OPEN)
7919      instead of emitting a g_critical() in context of the app (which is
7920      not itself at fault for the errant call)
7921
7922  * Appinfo
7923
7924    - substantially rework GDesktopAppInfo to reduce the amount of disk
7925      accesses that are performed in common situations
7926
7927    - add a new class: GAppInfoMonitor for discovering when applications
7928      are installed/removed
7929
7930    - add a new g_desktop_app_info_search() API for searching for
7931      installed applications by name, keywords, etc.
7932
7933  * GMarkup: add new G_MARKUP_IGNORE_QUALIFIED flag for skipping over
7934    "qualified" tags and attributes (those with a colon in the name, such
7935    as 'my:tag')
7936
7937  * GDBus
7938
7939    - ignore qualified tags, as above
7940
7941    - GTestDBus: unset all D-Bus addresses (such as STARTER) to ensure
7942      that test programs don't pick them up
7943
7944    - add new session_bus_run() convenience in the tests and use it
7945
7946  * GRand: use real random data as a seed on win32 and use the
7947    timestamp/pid/uid fallback only on UNIX machines where we can't open
7948    '/dev/urandom'.  This may cause issues with older mingw32 releases
7949    due to a missing prototype for the rand_s() API.
7950
7951  * Many win32 (and particularly MSVC) portability fixes.  Many
7952    additional tests are now runnable when building with MSVC.
7953
7954  * Due to early testing of the (soon to land) GCleanup framework, a very
7955    large number of memory errors have been found and fixed (mostly in
7956    the testcases, but some in glib itself).
7957
7958  * GIO:
7959
7960    - some more seeking cleanups: particularly on GLocalFileInputStream
7961
7962    - don't leave a .trashinfo file around if trashing a file fails
7963
7964    - Add a request_certificate virtual method to GTlsInteraction
7965
7966 Translations updated:
7967  Assamese
7968  Galician
7969  Greek
7970  Spanish
7971  Tamil
7972
7973 Bugs fixed:
7974  635641 schema compiler should ignore unknown attributes
7975  637257 g_tls_client_connection_gnutls_retrieve_function needs to be able to block
7976  637956 GKeyfileSettingsBackend should ignore file deletions
7977  645453 keys from base schema missing from extended schema
7978  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes in XML files
7979  668232 Unable to get description and summary for a key
7980  668233 Unable to determine if a key is set to the default / what the default value is
7981  680838 Need g_settings_schema_source_get_schemas()
7982  683017 API for accessing GSettings Schema metadata
7983  687185 org.gtk.Actions.Describe doesn't return an error for non-existing action names
7984  687202 If trashing fails, the ".trashinfo" file is not removed
7985  695558 The --schemadir option has no effect
7986  696424 GSimpleAction.state property is not right
7987  697348 GTestDBus should unset DBUS_STARTER_ADDRESS, DBUS_STARTER_BUS_TYPE
7988  710133 Emit backward compatible code with gdbus-codegen
7989  710691 glib-networking: locking during implicit handshake
7990  710738 GRand has lame fallback for Windows
7991  710859 Typo in gio docs
7992  710885 Two fixes for GApplication
7993  710962 error: 'F_DUPFD_CLOEXEC' undeclared (first use in this function)
7994  710964 Add g_hash_table_get_key_array()
7995  710991 test: g_debug messages shouldn't affect g_assert_expected_messages
7996  711016 g_settings_list_keys () segfaults for empty schemas
7997  711048 glocalfileinputstream.c allows skip past end of file
7998  711049 Fix build of GLib-GIO 2.39.x on Windows/MSVC
7999  711064 Adding child source to blocked source can cause a segfault
8000  711070 Copying a symlink over another one segfaults
8001  711099 gapplication test failure
8002  711520 GDesktopAppInfo: allow more than one level of legacy folder prefixes
8003  711556 Add GAppInfoMonitor
8004  711557 Add g_desktop_app_info_search()
8005  711600 trivial portability fix
8006  711632 The desktop-app-info test fails during make check
8007  711754 gmain: Fix use of uninitialized memory in sigaction structure
8008  711755 private: Use threading primitives correctly in private test
8009  711756 gthreadpool: Don't pass bad data to GThreadPool sorter
8010  711768 Fix memory leaks in libgmodule tests
8011  711775 utils: Don't free memory owned by glib in test
8012  711782 boxed: Fix double free in boxed unit tests
8013  711803 gsubprocess: Fix a number of leaks and a segfault
8014  711808 gtestdbus: Fix leak of GMainLoop 
8015
8016 Overview of changes from GLib 2.38.0 to GLib 2.39.0
8017 ====================================================
8018
8019  * prep for the 2.40 series (version macros, docs index, etc.)
8020
8021  * GNotification
8022
8023    - new API for sending persistent notifications via the desktop shell
8024
8025    - notifications persist when the application has quit and clicking on
8026      them can restart the application with an action (via
8027      DBusActivatable)
8028
8029  * GSubprocess
8030
8031    - new API for launching subprocesses
8032
8033    - nice GIO integration like async functions, cancellability, etc.
8034
8035    - a convenient communicate() API inspired by the same API in Python
8036
8037    - related: the gspawn API now has a CLOEXEC flag for the created
8038      pipes for stdin/stdout/stderr
8039
8040  * New gapplication(1) commandline tool
8041
8042    - intended to be used with DBusActivatable apps
8043
8044    - can be used for launching apps, opening files, invoking application
8045      actions and listing apps and actions
8046
8047    - bash tab completion is supported
8048
8049  * GDesktopAppInfo changes:
8050
8051    - g_file_get_path() can implicitly cause a FUSE mount so don't call
8052      it until we know we need it (for an app that doesn't support URIs)
8053
8054    - don't crash when trying to load from a keyfile with
8055      DBusActivatable=true
8056
8057    - remove some dead code, refactor the search path handling a bit and
8058      do a large-scale whitespace cleanup (prep work for the pending
8059      desktop file index)
8060
8061  * File monitors
8062
8063    - fix broken handling of mount point monitoring
8064
8065    - remove some strange use of GObject::constructor() from the base
8066      class and inotify backend
8067
8068    - fix GFileMonitor to work in the non-default main context even when
8069      the main context is not running (or is blocked)
8070
8071    - add internal private API for easily creating a file monitor in the
8072      GLib worker thread
8073
8074  * GSettings
8075
8076    - g_settings_list_children: only list viable schemas.  This fixes a
8077      longstanding issue where 'gsettings list-recursively' will crash
8078      when there are invalid schemas installed
8079
8080    - don't accept invalid paths on g_settings_new_with_path, etc.
8081
8082  * GIO
8083
8084    - GFile now has a thumbnail::is-valid attribute to check if the
8085      thumbnail in thumbnail::path needs to be regenerated
8086
8087    - GDBusProxy now has a flag to control autostarting of services at
8088      construction time
8089
8090    - for GSeekable, properly introduce the concept of "resizable" vs.
8091      "fixed-sized" streams in the docs, explaining the expected
8092      semantics of the interface in each case
8093
8094    - fix some cases in GMemoryOutputStream that were violating the above
8095      expectations (which may cause a slight API incompatibility)
8096
8097    - clean up GCredentials code and add support for Hurd and Solaris
8098
8099    - improve splicing by using different codepaths for the case where we
8100      have real _read_async() and _write_async() implementations on the
8101      stream vs. the case where they are internally emulated (via
8102      dispatching the sync variant of the call in a thread)
8103
8104  * GKeyFile
8105
8106    - fix a leak in g_key_file_get_(u)int64 when we fail to parse the
8107      value as an integer
8108
8109    - add long-requested API g_key_file_save_to_file()
8110
8111  * Portability improvements
8112
8113    - avoid using O_DIRECTORY on platforms that don't have it
8114
8115    - be careful about systems that define SOCK_CLOEXEC but don't
8116      actually support it (like Hurd)
8117
8118    - only use SA_RESTART if it exists
8119
8120  * Other small API changes/additions
8121
8122    - a pair of functions to support matching strings for the type of
8123      search functionality that you'd expect to have with things like
8124      GtkSearchBar.  This will also be used by the desktop file index.
8125
8126    - g_str_is_ascii() with obvious purpose
8127
8128    - g_test_expect_message() no longer appears to allow you to catch
8129      G_LOG_ERROR messages
8130
8131  * GMainContext/GSource
8132
8133    - fix handling of overflowing the 'next source id' counter
8134
8135    - g_source_remove() will now throw a critical in the case that you
8136      try to remove a non-existent source.  We expect that there is some
8137      code in the wild that will fall afoul of this new critical but
8138      considering that we now reuse source IDs, this code is already
8139      broken and should probably be fixed.
8140
8141    - simplify handling of the 'current dispatching source' to not
8142      require use of a linked list
8143
8144  * GObject
8145
8146    - the long-broken (and leaky) pattern of destroying a just-allocated
8147      object from inside of a custom GObject::constructor is now
8148      officially completely illegal and will abort the program
8149
8150  * Unicode: update to 6.3.0
8151
8152  * Bug fixes
8153
8154    - g_file_copy() now falls back to pathname queryinfo.  This should
8155      clear up the bugs with copying from some GVfs backends (afp,
8156      gphoto, archive, at least).
8157
8158    - fix an out-of-bounds read in the xdgmime code
8159
8160    - fix a typo in the /org/freedesktop/DBus path on the object manager
8161      client
8162
8163    - skip emitting path_namespace='/' in match rules in order to
8164      workaround a bug in the D-Bus daemon and fix our own implementation
8165      (which shared exactly the same bug)
8166
8167    - fix crashes on precondition violations for GParamSpec constructors
8168
8169    - many other small fixups (see bug list)
8170
8171   * Many documentation improvements
8172
8173 Bugs fixed:
8174  309224 g_key_file_save_to_file missing
8175  583321 QNX: no SA_RESTART
8176  661576 fix handling of constructors that destroy half-constructed objects
8177  672102 GSubprocess class
8178  684842 Seeks on GMemoryOutputStream don't have opaque semantics
8179  688492 Add a notification API
8180  691581 g_output_stream_real_splice_async doesn't use overriden read/write_async functions
8181  702516 gfileutils: Make -Werror=format-nonliteral happy
8182  704218 New gapplication(1) tool
8183  704593 g_setenv: on some systems (BSD, OSX…), setting a variable to NULL crashes the system
8184  704882 GLocalDirectoryMonitorClass mount_notify field is useless
8185  704887 file monitoring improvements
8186  705029 Support for Solaris credentials
8187  705688 g_settings_list_children: only list viable schemas
8188  706254 Afp backend cannot copy files
8189  707887 Attempting to create GObject Property with underscore prefix segfaults
8190  708042 gapplication: don't rely on cmdline being finalized immediately
8191  708265 add support for GNU/Hurd in GLib D-Bus Library
8192  708266 fix error code checks when SOCK_CLOEXEC is defined but not supported
8193  708529 xdgmime: valgrind warns about invalid reads
8194  708677 incorrect object path 'deskop' used in gio/gdbusobjectmanagerclient.c
8195  708714 Typo in docs of GLIB_VERSION_2_40 macro.
8196  708753 gdesktopappinfo: Call g_file_get_path() on demand
8197  708793 glib build fails with clang < 3.1: error: expected ';' after top level declarator
8198  708828 GDBusProxy: add the ability to call methods on non autostarted proxies
8199  708860 glib-2.38.0 doesn't build on Solaris 10
8200  708972 gnetworking.h in tarball screws up out-of-source builds
8201  709113 [PATCH] Main loop dispatch path has needless linked list
8202  709227 Update to unicode 6.3.0
8203  709301 goutputstream: Add clear warning about short writes to _write_bytes() and async version
8204  709326 GDesktopAppInfo crashes creating a DBusActivatable app without a filename
8205  709440 Fix overloading of "source" and "target" terminology in GBinding
8206  709615 Cannot use g_test_expect_message with g_error
8207  709753 Add helpers for string matches when using GtkSearchBar-like widget
8208  709898 Expose thumbnail validity in GFile attributes
8209  709966 Remove outdated documentation
8210  709994 Minor fix for HACKERS doc to direct hackers to proper help file
8211  709995 Obsolete makefile rules
8212  710002 G_MAXUINT may be assigned as duplicate source id
8213  710313 Memory leak in g_key_file_get_(u)int64 with invalid integer values
8214  710345 [Patches] Fix some redundant-decls
8215  710496 g_locale_to/from_utf8() doc updated.
8216  710625 g_file_error_from_errno: Remove unneeded breaks
8217  710666 Frame clock related bug fixes
8218  710724 gmain: Warn when g_source_remove() fails
8219  710726 Work around D-Bus bug with path_namespace='/' match rules
8220
8221 Translations:
8222  Assamese
8223  Brazilian Portuguese
8224  Indonesian
8225  Russian
8226  Tamil
8227  Traditional Chinese
8228
8229 What's new in Glib 2.38
8230 ========================
8231
8232  * Application support
8233
8234   - GIO now provides an implementation of Desktop Actions from the
8235     desktop entry specification
8236
8237   - GApplication now implements the org.freedesktop.Application
8238     interface as per the desktop entry specification, allowing for
8239     standards-based D-Bus launching of GLib-based applications
8240
8241   - GDesktopAppInfo now supports DBusActivatable as per the desktop
8242     entry specification, allowing GLib-based applications to use D-Bus
8243     to launch other applications
8244
8245   - GApplication now has a "busy" flag that can be set on an application
8246     to allow the shell to show that it is busy
8247
8248  * GObject
8249
8250   - the private offset for a given class type is now always constant.
8251     This was done by reorganising the memory layout of instances so that
8252     the private data comes before the "official" pointer for the object
8253     (ie: at a negative offset).  Valgrind macros were added to mitigate
8254     any problems that this may have caused.
8255
8256   - a new G_DEFINE_TYPE_WITH_PRIVATE has been added along with a
8257     generated function *_get_instance_private() that can now serve as an
8258     equally-performing alternative to ->priv pointers in instances
8259     (allowing memory savings)
8260
8261   - new G_PRIVATE_FIELD, G_PRIVATE_FIELD_P and G_PRIVATE_OFFSET macros
8262     provide a convenient method of converting between named variables in
8263     private structures and their (now constant) offsets
8264
8265   - installing properties on a GObjectClass must now be done from
8266     class_init.  It is no longer valid to install them after class_init
8267     has returned.
8268
8269   - it is now possible to manually break a GObject property binding
8270     without destroying one of the objects involved
8271
8272  * Icons
8273
8274   - the requirements for implementing the GIcon interface have changed
8275     in order to make it possible to consume all implementations of GIcon
8276     with a finite number of cases
8277
8278   - a new GBytesIcon type was added for an icon represented by an
8279     in-memory binary blob in a known image format (ideally png).
8280
8281   - new APIs g_icon_serialize() and g_icon_deserialize() replace the old
8282     to/from_string APIs and will always work, irrespective of which
8283     types have been initialised in the calling process, allowing for a
8284     serialised GdkPixbuf to be deserialised in a process that doesn't
8285     have GdkPixbuf
8286
8287   - support for icons has been added to GMenuModel using the new APIs
8288
8289  * Actions and menus
8290
8291   - GPropertyAction provides a convenient way of creating a stateful
8292     property corresponding to a property on a GObject, such as the
8293     "visible-child-name" property of a GtkStack
8294
8295   - new API g_menu_remove_all()
8296
8297   - we now have established rules about what is a "valid" action name
8298     and an API to check them
8299
8300   - a new API for converting detailed action names to and from the
8301     split-out name and parameter value (as GVariant)
8302
8303   - for backwards compatibility, invalid action names can still be used
8304     with most functions, but this is not recommended
8305
8306  * Other GIO
8307
8308   - GDBus now supports services that wish to handle some of all
8309     properties on an interface asynchronously, without requiring the
8310     service to reimplement the entire org.freedesktop.DBus.Properties
8311     interface
8312
8313   - GFile now has a new _measure_disk_usage() (and async) API for
8314     recursively determining the amount of disk space used by a
8315     particular directory (akin to 'du').
8316
8317   - asynchronous version of g_file_trash() and g_file_make_directory()
8318     have been added
8319
8320  * Other new API
8321
8322   - GRegex has a new function to query the maximum lookbehind length to
8323     allow for regexp matching on streams
8324
8325   - GVariant has two new APIs for constructing strings that allow
8326     avoiding copies in some cases: g_variant_new_take_string() and
8327     g_variant_new_printf()
8328
8329  * Testing
8330
8331   - we can now generate TAP output
8332
8333   - new support functions for simplifying the process of dealing with
8334     data files for srcdir != builddir and installed test cases
8335
8336   - g_test_trap_subprocess() provides a portable alternative to
8337     g_test_trap_fork()
8338
8339  * Other
8340
8341   - GLib now builds on Android against the bionic C library
8342
8343 Overview of changes from GLib 2.37.93 to 2.38.0
8344 ================================================
8345
8346 * fix the documentation for GSourceFuncs
8347
8348 * fix compilation on OS X/ppc64
8349
8350 Bugs fixed: 708445, 647145
8351
8352 Translations updated:
8353  Danish
8354  French
8355  Portuguese
8356  Punjabi
8357
8358 Overview of changes from GLib 2.37.92 to 2.37.93
8359 ================================================
8360
8361 * a couple of bugfixes in the new g_file_measure_disk_usage() API
8362
8363 * updated Traditional Chinese translation
8364
8365 Overview of changes from GLib 2.37.7 to 2.37.92
8366 ===============================================
8367
8368 * new API g_file_measure_disk_usage() similar to du(1)
8369
8370 * minor fixes
8371
8372 * Translation updates:
8373  Assamese
8374  Belarusian
8375  Brazilian Portuguese
8376  Catalan
8377  Czech
8378  Galician
8379  German
8380  Hungarian
8381  Indonesian
8382  Italian
8383  Korean
8384  Korean
8385  Latvian
8386  Lithuanian
8387  Polish
8388  Serbian
8389  Slovenian
8390  Spanish
8391
8392 Overview of changes from GLib 2.37.6 to 2.37.7
8393 ==============================================
8394
8395 * GDateTime now supports %:z formatting variations
8396   for timezones. This is a GNU date extension.
8397
8398 * Bugs fixed:
8399  685387 Segfault with GObject.signal_handler_is_connected()...
8400  686786 g_socket_get_available_bytes() returns wrong value ...
8401  705027 GSocket GSource not threadsafe on Windows
8402  706469 Fix G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE documentation
8403  706706 Fix Gir annotations on g_loadable_icon_load_finish
8404  706888 gtype: fix a no-op assertion
8405  706958 configure.ac: fix atomic opts detection
8406  707092 "File Utilities" page for GLib documentation doesn'...
8407  707151 gdatetime: Extend the '%z' timezone format
8408
8409 * Translation updates:
8410  Catalan
8411  Hungarian
8412  Japanese
8413  Polish
8414  Slovak
8415  Tamil
8416
8417
8418 Overview of changes from GLib 2.37.5 to 2.37.6
8419 ==============================================
8420
8421 * Tests using the g_test facilities can now generate TAP output
8422
8423 * Bugs fixed:
8424  680926 generic type fallback logic is broken for -symbolic
8425  684327 setting null icon to icon list
8426  689245 GSocket unable to reuse (address,port) on Mac OS X
8427  692125 Support TAP as GTest output format
8428  693335 build: fix dtrace-related warnings
8429  696633 gdbus-codegen trips over unicode chars when using python 3.x
8430  696970 Compiling 2.36.0 for win64 fails
8431  697185 GSocket – Allow specifying the multicast interface from...
8432  700268 Add support for using the clang analyzer
8433  701318 Add G_SPAWN_DEFAULT to GSpawnFlags
8434  701529 glib/tests/gdatetime: use UTC time in test_GDateTime_diff()
8435  701800 a new approach to reporting critical errors
8436  702674 g_date_time_new_utc crash
8437  704165 GLib.IOChannel read_unichar() fails
8438  705075 Simplify g_get_tmp_dir()
8439  705152 Race in glib/task.test
8440  705398 gtype: Fix typo in g_type_class_add_private() error message
8441  705570 Check ref_count in g_object_notify_by_pspec
8442  705600 Deprecate GSimpleActionGroup functions?
8443
8444 * Updated translations:
8445  Assamese
8446  Brazilian Portuguese
8447  Czech
8448  Dutch
8449  Galician
8450  Gujarati
8451  Hebrew
8452  Italian
8453  Lithuanian
8454  Marathi
8455  Norwegian bokmål
8456  Russian
8457  Slovenian
8458  Spanish
8459  Thai
8460  Traditional Chinese
8461
8462
8463 Overview of changes from GLib 2.37.4 to 2.37.5
8464 ==============================================
8465
8466 * Implement the Desktop Action specification: In the case that the
8467   application is a GApplication and DBusActivatable, actions from the
8468   desktop file are translated into GActions that have been added to
8469   the  application with g_action_map_add_action().
8470
8471 * GPropertyAction is a new type of GAction that represents the value
8472   of a property on an object, and allows to change the value when
8473   activated.
8474
8475 * GNetworkMonitorNetlink can now handle default routes via a device.
8476
8477 * The gsettings tool now reports failure to write a key (e.g. because
8478   the key was locked down)
8479
8480 * Miscellaneous new api:
8481  - g_variant_new_printf
8482  - g_action_print_detailed_name
8483  - g_regex_get_max_lookbehind
8484
8485 * Bugs fixed:
8486  664444 Support additional application actions in .desktop files
8487  684123 glib build only tries -D_GNU_SOURCE if glibc is detected
8488  689794 support incremental matching
8489  699259 add org.freedesktop.Application support to GIO
8490  700460 rewrite tests to not rely on precise timing of timeouts
8491  701511 updates to various GSource types
8492  701609 gnetworkmonitornetlink: handle default route via device
8493  703270 add GPropertyAction
8494  704157 GAction: add function for printing detailed names
8495  704250 Doc: various fixes
8496  704267 regression gsourceclosure: segfault in gedit file chooser
8497  704322 glib-unix: fix handling of multiple signal source for the...
8498  704424 No error when failing to override a locked key
8499  704447 Fix build/use of g_child_watch_closure_callback on Windows
8500  704523 g_thread_create_full() can dereference NULL pointer
8501  704543 Add implementations for G_GNUC_*_IGNORE_DEPRECATIONS for ...
8502  704567 gdbusnameowning: Don't spew an error if we're releasing a...
8503  704585 libc printf can give mixed-case strings for NaN and Inf
8504  704587 FTBFS: statfs_result is undeclared for statvfs()
8505  704699 gmain: Reset signal handlers to default when source is
8506  704704 AI_NUMERICSERV cannot be used with ai_socktype = 0
8507  704873 inotify: don't assume mainloop is running
8508  704999 glib/convert.test crashing due to lack of iconv cache
8509  704931 GMenuModel: add annotations to virtual functions
8510
8511 * Translation updates:
8512  Assamese
8513  Czech
8514  German
8515  Gujarati
8516  Spanish
8517  Tamil
8518
8519
8520 Overview of changes from GLib 2.37.3 to 2.37.4
8521 ==============================================
8522
8523 * Bugs fixed:
8524  701283 g_source_add_child_source() segfault
8525  702147 inconsistency of G_STRFUNC
8526  703191 new private macros interact poorly with versioning macros
8527  703254 Doc: various fixes
8528  703407 g_spawn_async() keeps child_pid_report_pipe open in child process
8529  703437 GDBusConnection: be more careful with async GetAll
8530  703478 Missing G_BEGIN/END_DECLS in gsettingsschema.h
8531
8532 * Translation updates:
8533  Catalan
8534
8535 Overview of changes from GLib 2.37.2 to 2.37.3
8536 ==============================================
8537
8538 * add a new API for instance private data: G_DEFINE_TYPE_WITH_PRIVATE
8539
8540 * fix timestamps in tarball to prevent automake from being required to
8541   build the unmodified source
8542
8543 * add new D-Bus API for async property handling
8544
8545 * add back fsync() on ext4 for g_file_set_contents() after it was
8546   discovered that despite statements in the ext4 documentation
8547   suggesting that this is safe, it is not safe.
8548
8549 * Translations:
8550  Italian
8551  Norwegian bokmål
8552
8553 * Bugs fixed:
8554  698375 - D-Bus async properties
8555  700350 - timestamp issue
8556  701560 - fsync issue (fixed again)
8557  700035 - new API for instance private data
8558
8559 Overview of changes from GLib 2.37.1 to 2.37.2
8560 ==============================================
8561
8562 * The GLib test utilities have grown some file-related APIs
8563   to support tests that can be used installed and uninstalled.
8564
8565 * Installing properties after class initialization is deprecated,
8566   and will trigger a warning.
8567
8568 * GApplication:
8569  - Support org.freedesktop.Application, including D-Bus activation
8570    from desktop files
8571  - Set prgname to appid for services
8572
8573 * Bugs fixed:
8574  549783 gtester lacks framework for tests with data files
8575  692848 Fix property example in gobject tutorial
8576  698018 Add an explicit g_binding_release()
8577  698614 GObject: prevent installing properties after init
8578  699259 add org.freedesktop.Application support to GIO
8579  699959 g_file_copy(): Ensure we create private files by default
8580  700123 Test failure: g_inet_socket_address_get_scope_id
8581  700725 GIcon: NULLify the `type' out param in the sync methods too
8582  701401 gtest: add function for testing for WINE
8583  701456 Error in gnome/glib/gio/tests/file.c
8584  701474 Error building glibmm due to extra comma in glib/gtestutils.h
8585  701560 various improvements for g_file_set_contents()
8586  701680 GFileEnumerator: Add some documentation about ordering
8587  701878 Check wakeup() before iteration(TRUE) doesn't block
8588
8589 * Translations:
8590  Assamese
8591  Czech
8592  Galician
8593  Gujarati
8594  Kannada
8595  Marathi
8596  Odia
8597  Polish
8598  Slovenian
8599  Spanish
8600  Telugu
8601
8602
8603 Overview of changes from GLib 2.37.0 to 2.37.1
8604 ==============================================
8605
8606  * add support for installed tests:
8607    https://live.gnome.org/GnomeGoals/InstalledTests
8608
8609  * add a new g_test_trap_subprocess() that works on Windows as a
8610    replacement for the (now deprecated) g_test_trap_fork()
8611
8612  * support for explicitly cancelling a gobject property binding
8613
8614  * performance improvements for signal argument handling
8615
8616  * stop using `quotes' in very many log messages generated by GLib, for
8617    favour of 'this style'.  This may cause testcases in other packages
8618    to fail if they were matching on the previous text.
8619
8620  * improve manpages: add missing arguments and flags
8621
8622 Translations: 
8623  Aragonese
8624  Assamese
8625  Gujarati
8626  Hindi
8627  Kannada
8628  Norwegian bokmål
8629  Odia
8630  Slovenian
8631  Spanish
8632  Tamil
8633  Telugu
8634
8635 Bugs fixed:
8636  679683 replace g_test_trap_fork()
8637  694380 Improve signal argument collection performance
8638  695233 Strings require plural forms
8639  697849 spelling fixes in cross.xml and running.xml
8640  698877 GProxyAddressEnumerator calls g_network_address_parse_uri without port
8641  698981 [PATCH] test /gdbus/connection/large_message could hang forever
8642  699079 Prototype support for installed tests
8643  699485 [PATCH] tests/mappedfile: Also handle ENOMEM
8644  699493 SOCKS5 proxy code crashes if it cannot authenticate
8645  699500 gbitlock: fix this to not unconditionally use futex emulation
8646  699779 [PATCH] G_GNUC_FORMAT: documentation error
8647  700263 m4macros/glib-gettext.m4: Don't use AC_HEADER_STDC
8648  700714 [PATCH] gtestutils: Ensure test subprocesses don't dump core
8649  700746 Use 'dumb quotes' rather than `really dumb quotes'
8650
8651 Overview of changes fron GLib 2.36.0 to 2.37.0
8652 ==============================================
8653
8654 * The syntax for detailed action names has been documented,
8655   and a parser API for them is now provided
8656
8657 * GApplication has gained a busy state. This feature is intended for
8658   clients that want to signal a desktop shell their busy state, for
8659   instance because a long-running operation is pending.
8660
8661 * GLib can now be built with the bionic C library
8662
8663 * GIcon can now be serialized to a GVariant
8664
8665 * Bugs fixed:
8666  548353 Finish implementing GFile interface (mostly asynchron...
8667  645881 Full port of glib-2.28.1 onto Android-ARM
8668  665445 Glib mistakes nl_langinfo() from plibc for the real t...
8669  672018 Need API to set global application state (busy, count...
8670  687659 drop support for adding interfaces after class_init
8671  688820 GIcon is a bad interface
8672  688954 extend 'detailed action' syntax, provide parser
8673  689223 Fix compilation on Android with the bionic C library
8674  695156 Add support for arg0namespace matching in signal_subs...
8675  696108 gdbus-codegen: avoid warnings in generated code
8676  696629 fix sed(1) usage
8677  696652 GTask won't free its error member variable on finalize
8678  696857 GThreadedResolver: set an error if no records could b...
8679  696973 Compiling 2.36.0 for win64 fails in gdbusmessage.c
8680  697131 No --version
8681  697160 [PATCH] gmacros: Mark G_UNAVAILABLE() functions as de...
8682  697229 Custom Interface implementations will be broken with ...
8683  697250 Documentation glitch of G_DEFINE_TYPE_EXTENDED causes...
8684  697365 Fix usage of hasmntopt in gunixmounts.c
8685  697367 Remove warning on gio/gunixmounts.c
8686  697386 Except const argument with atomic is not lock free
8687  697595 g_main_context_unref unlocks a mutex twice
8688  697601 reduce GMenuModel D-Bus traffic
8689  697626 Allow posix threads to be used on w32
8690  697652 Help options generated even when help disabled
8691  697771 fix a typo of "fo" to "of" in building.xml
8692  697887 GVariant: fix transfer annotation
8693  697942 abicheck.sh fails on mips
8694  698056 rewrite g_object_new()
8695  698081 Pidgin hangs in g_spawn_command_line_sync
8696  698455 GVariant: add new g_variant_new_take_string() API
8697  698457 g_variant_get_data_as_bytes() always returns toplevel...
8698  698478 gactionmap: don't require GActionGroup
8699  698595 the valgrind/priv-before-instance bug
8700  698655 desktop-app-info test relies on true being in /usr/bin/
8701  698686 GUnixSocketAddress: fix construct parameter issue
8702  698716 Use of g_mem_set_vtable() breaks after gobject automa...
8703  698999 bytesicon: fix a memory leak
8704  699001 bytesicon: don't use g_object_unref() on GBytes
8705  699361 gio: fix small leak
8706
8707 * Translation updates:
8708  Assamese
8709  Gujarati
8710  Hungarian
8711  Italian
8712  Kannada
8713  Norwegian bokmål
8714  Polish
8715  Spanish
8716  Tamil
8717
8718
8719 Overview of changes fron GLib 2.35.9 to 2.36.0
8720 ==============================================
8721
8722 * It is no longer necessary to call g_type_init().  If you are
8723   loading GLib as a dynamic module, you should be careful to avoid
8724   unloading it, then subsequently loading it again.  This never
8725   really worked before, but it is now explicitly undefined behavior.
8726   Note that if g_type_init() was the only explicit use of a GObject
8727   API and you are using linker flags such as --no-add-needed, then
8728   you may have to artificially use some GObject call to keep the
8729   linker from optimizing away -lgobject. We recommend to use
8730   g_type_ensure (G_TYPE_OBJECT) for this purpose.
8731
8732 * This release contains an incompatible change to the g_get_home_dir()
8733   function.  Previously, this function would effectively ignore the HOME
8734   environment variable and always return the value from /etc/password.
8735   As of this version, the HOME variable is used if it is set and the
8736   value from /etc/passwd is only used as a fallback.
8737
8738 * The 'flowinfo' and 'scope_id' fields of GInetSocketAddress
8739   (introduced in GLib 2.32) have been fixed to be in host byte order
8740   rather than network byte order. This is an incompatible change, but
8741   the previous behavior was clearly broken, so it seems unlikely that
8742   anyone was using it.
8743
8744 This release contains only small bugfixes and translations updates.
8745
8746  - g_file_copy(): fix bug where attributes were not applied properly to
8747    the destination file
8748
8749  - fix some 'available since' annotations
8750
8751  - fix gdbus-codegen to produce more pedantically-correct code
8752
8753 * Bugs fixed:
8754  696108 gdbus-codegen: avoid warnings in generated code
8755  696014 g_file_copy(): Ensure G_FILE_COPY_OVERWRITE preserves permissions
8756
8757 * Translations updated:
8758  Basque
8759  Czech
8760  Gujarati
8761  Hindi
8762  Hungarian
8763  Japanese
8764  Malayalam
8765  Marathi
8766  Odia
8767  Punjabi
8768  Russian
8769  Tadjik
8770  Tamil
8771  Telugu
8772
8773 Overview of changes from GLib 2.35.8 to 2.35.9
8774 ==============================================
8775
8776 This release drops the old codepage ABI from gutils.c. This is a
8777 source-compatible change and only breaks ABI with respect to truly
8778 ancient binaries (and those binaries are already broken for other
8779 reasons).  This change only affects Windows.
8780
8781 * Bugs fixed:
8782  682896 glib doesn't build on mingw32
8783  693204 split up g_get_{hostname,username,realname,home_dir} etc.
8784  694181 Handle GNetworkAddress better in g_network_monitor_base_...
8785  694253 occasional /gdbus/unref-pending test failure
8786  694350 Add type names to gsignal warnings
8787  694757 Use separate GLIB_WARN_CFLAGS that can be overridden ext...
8788  568405 Which is the correct replacement for g_strncasecmp, if...
8789  630284 g_hash_table_get_keys docs
8790  659428 docs: Small clean-up of howto subsection headers
8791  675333 Cannot forget association in Open With dialog: program...
8792  694669 consider unicode corrigendum #9
8793  694843 g_base64_decode_step () produces invalid data
8794  695147 Don't use PATH_MAX as it's not guaranteed to be defined
8795  695191 Commit f641699 broke /appinfo/mime/api test case
8796  695339 Swapped msgid plural forms for translation
8797  695376 GDBusMethodInvocation leak and potential crash
8798  695425 Untranslatable message in gsettings-tool
8799  695887 Improvements to GObject API documentation
8800  695925 GUINT32/64_SWAP_LE_BE macros do not enclose val argume...
8801  696015 PATCH Add doc warning to g_base64_decode()
8802
8803 * Translation updates:
8804  Assamese
8805  Belarusian
8806  Brazilian Portuguese
8807  Catalan
8808  Catalan (Valencian)
8809  Danish
8810  French
8811  Galician
8812  German
8813  Greek
8814  Gujarati
8815  Italian
8816  Korean
8817  Latvian
8818  Lithuanian
8819  Polish
8820  Portuguese
8821  Punjabi
8822  Serbian
8823  Simplified Chinese
8824  Slovak
8825  Slovenian
8826  Spanish
8827  Thai
8828  Traditional Chinese
8829  Uyghur
8830  Vietnamese
8831
8832
8833 Overview of changes from GLib 2.35.7 to 2.35.8
8834 ==============================================
8835
8836 This release contains one major change that may cause problems: type
8837 modules are now never unloaded.  This is implemented by (effectively)
8838 leaking the last reference on dynamic types.  Some testcases that check
8839 for unloading of types have been observed to be broken by this change,
8840 but we know of no actual cases of "real code" breaking.  Please report
8841 any problems.
8842
8843 Other changes:
8844  * A couple of build fixes for Solaris
8845  * Fix signal emission for GDBusObjectManagerClient
8846  * annotations fixes
8847  * new API: g_dbus_address_escape_value()
8848  * GSocketClient: add proxy-resolver property
8849  * GSimpleProxyResolver: new simple GProxyResolver class
8850  * documentation fixes
8851  * gnetworkaddress: preserve IPv6 scope ID in IP literals
8852
8853 Bugs fixed:
8854  691105 Allow GSocketClient to override GProxyResolver for per client proxy settings.
8855  692827 configure test fails for arpa_nameser.h
8856  692829 new Btrfs support causes build failure on Solaris
8857  693285 GDBusObjectManagerClient: won't emit object-added|removed if name-owner arrives later
8858  693502 Cross-compiling documentation: typo (np -> no)
8859  693673 add g_dbus_address_escape_value()
8860  693694 gio: Fix annotations on g_[async_]initable_new() and friends 
8861
8862 Translations:
8863  Dutch
8864  Galician
8865  Polish
8866  Serbian
8867
8868 Overview of changes from GLib 2.35.6 to 2.35.7
8869 ==============================================
8870
8871 This is a quick follow-up release with a few bug fixes.
8872
8873 * Fix the build on systems with strict linkers by adding -pthread back
8874   to the LDFLAGS for a testcase.
8875
8876 * Re-enable native atomic operations on some buggy versions of clang
8877   that ship as part of the MacOS X SDK.
8878
8879 * Make G_IO_FLAG_IS_WRITEABLE an enum again (the #define broke bindings)
8880
8881 * a small docs fix
8882
8883 * Bugs fixed:
8884  657045
8885  636683
8886  682818
8887  693105
8888
8889 * Translations:
8890  Italian
8891
8892 Overview of changes from GLib 2.35.4 to 2.35.6
8893 ==============================================
8894
8895 * GUnixFdSource is a new way to add file descriptors
8896   to the mainloop
8897
8898 * g_source_set_ready_time lets you mark a source to become
8899   ready at a specified monotonic time
8900
8901 * The internal visibility handling of GLib has been reworked
8902
8903 * GFileMonitor will now automatically use fam instead of inotify
8904   if $HOME is on NFS
8905
8906 * The file monitor implementation can now be overridden with
8907   the GIO_USE_FILE_MONITOR environment variable
8908
8909 * Bugs fixed:
8910  570572 2 make check errors on
8911  592211 No monitoring over NFS mounts
8912  625552 wrong behaviour of GVolume GVolumeMonitor related func...
8913  657729 modernise GMainLoop
8914  658020 GSource for a single GPollFD
8915  678223 g_mutex_free
8916  682560 leak fixes
8917  682819 EINTR-harden all the things
8918  684404 When using g_network_address_address_enumerator_next()...
8919  686853 new GSource fd API
8920  688169 G_DISABLE_DEPRECATED doesn't cover deprecated/gthread....
8921  688681 build: Make .symbols file canonical on all platforms
8922  690118 Crash when closing last tab of a window using Ctrl-w
8923  691624 glib/gtester.c: missing include
8924  691812 gioinputstream - give task as callback_data not task_data
8925  691866 fails out of source build directory - gnetwork.h not f...
8926  692029 Add new API checking utility
8927  692034 Install an invalidation notifier for GClosure in g_sou...
8928  692058 Broken makefile for gio tests
8929  692079 build failure in gmarkup.c when using gcc 4.8 and buil...
8930  692201 inotify: fix a memleak
8931  692202 gfile: don't report completion twice on g_file_load_co...
8932  692229 Incorrect string formatters in a translation string
8933  692332 GNetworkMonitorNetlink: make the netlink socket cloexec
8934  692360 possibly non-threadsafe code in g_content_type_guess()?
8935  692404 tester: Use FD_CLOEXEC when creating pipes
8936  692408 nautilus SIGSEGV in g_file_info_get_size()
8937  692544 [PATCH] gfile: Ensure we create internal pipe with FD_C...
8938  692583 atomic get doesn't accept a const argument on architect...
8939  692618 Use g_timeout_add_seconds
8940  692815 Using g_hash_table_insert() when using a hash table as ...
8941  692865 Invalid docbook generated by gdbus-codegen
8942  692928 Document G_MENU_{ATTRIBUTE,LINK}_*
8943
8944 * Translation updates:
8945  Hebrew
8946  Kannada
8947  Lithuanian
8948  Norwegian bokmål
8949  Polish
8950  Serbian
8951  Slovenian
8952  Spanish
8953  Uyghur
8954
8955
8956 Overview of changes from GLib 2.35.3 to 2.35.4
8957 ==============================================
8958
8959 * New features:
8960  - New API: g_get_num_processors
8961  - New API: g_application_command_line_get_stdin
8962  - New GFileMonitor flag: G_FILE_MONITOR_WATCH_HARD_LINKS
8963  - Parse more timezone offset formats
8964  - Better timezone support on Windows
8965  - Make GParamSpec constructors introspectable
8966
8967 * Removed or deprecated features:
8968  - Disallow adding interfaces after class_init
8969
8970 * Bug fixes:
8971  532815 gio + inotify support for hardlinks
8972  614930 add g_get_num_processors (), return the max concurrent...
8973  626497 Btrfs clone/reflink ioctl support in g_local_file_copy
8974  633117 glib fails stests if /etc/localtime is not properly set
8975  661767 merge/improve various bits of run-in-thread functionality
8976  668210 Add g_application_command_line_get_stdin()
8977  675856 Use GDbus via gobject-introspection instead dbus-python
8978  684103 make glib work with python3
8979  684723 run-assert-msg-test.sh fails
8980  686058 OpenBSD: disable ipv6_v4mapped test
8981  686128 GTimeZone should be able to parse POSIX format for...
8982  687223 cleverer GThreadPool management
8983  687659 drop support for adding interfaces after class_init
8984  687920 GCredentials should have an accessor for the process ID
8985  688681 build: Make .symbols file canonical on all platforms
8986  688829 Variable overflow in utils.c test on 32-bit machine
8987  689324 Variable scoping in gunixmounts.c
8988  689810 Include guard optimization
8989  690043 Broken link for gsettings tutorial: gnome-utils in...
8990  690084 gmarkup: Make GMarkupParseContext a boxed type
8991  690388 Check if CMSG_FIRSTHDR() returns NULL when there is...
8992  690538 gschema DTD is invalid
8993  690543 Add test coverage for testing in-tree DBus services...
8994  690670 local_command_line not introspectable/annotated
8995  690902 G_END_DECLS needs to be at the end of gutils.h
8996  690970 Unhelpful deprecation message for g_value_array_get_nth
8997  691001 building docs is broken on master branch
8998  691011 Automake-1.13 errors on obsolete AM_PROG_CC_STDC
8999  691077 gio-querymodules crashes with SIGSEGV
9000  691110 g_cond_wait() docs incomplete
9001  691489 Crash in Oscars 2013 page
9002  691558 Only check for .hidden files if standard::is-hidden...
9003  691608 Support compilation with clang 3.2
9004
9005 * Translation updates:
9006  Assamese
9007  Bulgarian
9008  Estonian
9009  Galician
9010  Greek
9011  Hebrew
9012  Norwegian bokmål
9013  Polish
9014  Slovak
9015  Slovenian
9016  Spanish
9017  Tamil
9018
9019
9020 Overview of changes from GLib 2.35.2 to 2.35.3
9021 ==============================================
9022
9023 * This release contains an incompatible change to the g_get_home_dir()
9024  function. Previously, this function would effectively ignore the HOME
9025  environment variable and always return the value from /etc/password.
9026  As of this version, the HOME variable is used if it is set and the
9027  value from /etc/passwd is only used as a fallback.
9028
9029 * We now install a public "gnetworking.h" header that can be used to
9030  include the relevant OS-dependent networking headers. This does not
9031  really abstract away unix-vs-windows however; error codes, in
9032  particular, are incompatible.
9033
9034 * Bugs fixed in this release:
9035  142568 Allow $HOME to override passwd entry if the user really wants
9036  587806 The file selector should honor .hidden files
9037  602715 [GChecksum] Please add support for SHA512
9038  623187 provide some support for arbitrary setsockopt()s?
9039  629301 .goutputstream files left behind when cancelling I/O
9040  652650 Optimize GDBusMessage serialization
9041  664627 /gapplication/basic test intermittently fails: cmdline re-or...
9042  675516 Win32: Don't start a DBus server when built as static library
9043  679683 replace g_test_trap_fork()
9044  684145 Current Git sources fails to cross-compile for Windows in Li...
9045  686895 file-info: catch thumbnail files in large directory as well
9046  687092 IPv6 <-> IPv4 mismatch when subscribing to multicast (send)
9047  688180 GObject: Minor error in description of floating reference
9048  688319 gthread: add missing AVAILABLE_IN_2_32 annotations
9049  688377 configure: add missing square bracket in AS_IF for memmove
9050  688419 gtask: source_object arguments and return values not annota...
9051  688497 AppInfo: Add sufficient api to port gnome-session from Egg...
9052  688681 build: Make .symbols file canonical on all platforms
9053  688704 Add boxed GType for GThread
9054  688886 Improve the i18n documentation
9055  688931 GMemoryOutputStream: Add new _resizable() constructor usab...
9056  689037 need helper for creating a GFile from a remote commandline...
9057  689377 Fix a compiler warning in GDBus
9058  689538 Source object tag set too late in gsocketlistener
9059  689800 Treat lost+found directory as a hidden file
9060  689847 Add fast repeated typename -> GType resolver
9061  689982 Make GChecksum more fully introspectable
9062  690069 g_unix_open_pipe: Add missing F_SETFD
9063  690083 gfileenumerator: Add a g_file_enumerator_get_child method
9064  690163 Add a pre-configured gio/gnetworking.h for Visual C++ builds
9065  690346 Remove an unneeded escaping in NAMESER_COMPAT_INCLUDE
9066  690348 Fix g_type_add_class_private() name in g_warning
9067
9068 * Translation updates:
9069  Assamese
9070  Galician
9071  Hebrew
9072  Hindi
9073  Kannada
9074  Odia
9075  Polish
9076  Spanish
9077
9078
9079 Overview of changes from GLib 2.35.1 to 2.35.2
9080 ==============================================
9081
9082 Note that the incompatible change to the ->constructed() vfunc that was
9083 made in the last unstable release (2.35.1) has been reverted due to
9084 causing regressions in applications.
9085
9086 A new incompatible change has been introduced in this version: it is no
9087 longer permitted to add interfaces to a class after the first
9088 instantiation (or more strictly: after g_type_class_ref()).  Bug #687659
9089 is tracking this.
9090
9091 Two private symbols (g_menu_{attribute,link}_hash_iter_get_type) which
9092 were accidentally exported have also been properly hidden.  This may
9093 cause some tools to issue warnings about ABI mismatch.
9094
9095 The remaining changes should be relatively harmless: 
9096
9097  * GIO now has kqueue support for GFileMonitor (BSDs, Mac OS)
9098
9099  * New g_variant_new_from_bytes() API
9100
9101  * UNIX signal sources now allow watching SIGUSR1 and SIGUSR2
9102
9103  * Many pedantic cleanups to adhere to a higher level of -W use
9104
9105  * GTask changes to avoid a deadlock
9106
9107  * many cleanups/fixes for Windows
9108
9109  * Boxing for GPollFD, GIOChannel, GBytes, GByteArray
9110
9111  * Fix URL-encoding of trashed files
9112
9113  * Many other docs and annotations fixes
9114
9115 Translations:
9116
9117  Galician
9118  Gujarati
9119  Lithuanian
9120  Serbian
9121  Slovak
9122  Slovenian
9123
9124 Bugs closed:
9125
9126  649302 Add support for GNU/FreeBSD
9127  668842 [GSocket] Add caching for the sender address in g_socket_receive_from()
9128  672924 Add annotations for g_filename_from_uri()
9129  673229 glib: Use Returns:, not @returns
9130  677062 (partial) GVariant: Make g_variant_new_from_bytes() public, add more GBytes API
9131  686185 g_date_time_format Transcoding Fails on OSX      
9132  686191 g_mutex_get_impl() should use g_atomic_pointer_get()
9133  686797 Box GPollFD to make it introspectable
9134  686810 [regression] Infinite wait in g_task_run_in_thread_sync()
9135  686822 possible dlopen()/dlclose() issue with automatic g_type_init()
9136  686839 mkinstalldirs: Move to glib-mkinstalldirs
9137  686895 file-info: catch thumbnail files in large directory as well
9138  686898 g_unix_signal_source_new: Allow SIGUSR1 and SIGUSR2
9139  686920 gdbus: Allow GDBusObjectManagerClient to work on peer connections
9140  686921 Remove some of the repetition from gio/tests/Makefile.am
9141  687075 g_spawn_sync diagnostic incorrectly complains about SIGCHLD
9142  687089 g_dbus_connection_export_menu_model(): fix a crash
9143  687098 Repeated g_timeout_add* use can lead to guint overflow
9144  687385 Add some stricter CFLAGS, fix up the code
9145  687441 ABI break in master: g_menu_attribute_hash_iter_get_type, g_menu_link_hash_iter_get_type removed
9146  687516 typo in string: KB should be kB
9147  687540 In Trash folder, Nautilus misinterprets "\n" in filename as a line break
9148  687541 GSignalQuery param_types field needs array annotation
9149  687600 gfileutils.c performs invalid cast of (varargs) open to non-vararg type
9150  687698 plural forms needed
9151  687700 ending spaces
9152  687742 Add support for internal linkage to glib-compile-resources
9153  687801 tests/buffered-input-stream: Fix size of parameter passed
9154  688109 win32 warning/error fixes
9155  688255 'make check' regressed in 138f4c1 because GMarkup error messages changed
9156  688338 [PATCH] gobject/gtype.c: Fix spelling of »exceed«
9157  688370 GDBusError documentation improvement for client-side
9158  688378 g_socket_join_multicast_group not working
9159  688518 gio-kqueue: use O_EVTONLY on MacOS
9160
9161
9162
9163 Overview of changes from GLib 2.34.0 to 2.35.1
9164 ==============================================
9165
9166 These two changes in particular may be slightly incompatible.  Please
9167 give feedback if they cause trouble:
9168
9169   * Signal handlers connected with g_signal_connect_object() are now
9170     automatically disconnected on target object destruction
9171
9172   * The ->constructed vfunc is now called after all properties are set
9173
9174 The remaining changes should not cause problems.
9175
9176   * g_type_init() is no longer necessary and has been deprecated
9177
9178   * GTask (the new GAsyncResult implementation) has landed 
9179
9180   * GLib version macros updated
9181
9182   * Update to Unicode 6.2
9183
9184   * Thread safety fixes for GFileMonitor in non-default main contexts
9185
9186   * GTimeZone support for old-format zoneinfo database (as on Mac OS)
9187
9188   * g_settings_bind() now works with non-canonical property names
9189
9190   * Fix crashes related to NULL connection passed to
9191     GBusNameVanishedCallback and document this situation
9192
9193 * Bugs fixed:
9194  118536 Make g_signal_connect_object'ed handlers disconnect when the data object is destroyed
9195  661767 merge/improve various bits of run-in-thread functionality
9196  682950 GFileMonitor crashing on high event count when running in different thread
9197  683642 Missing g_content_type_get_symbolic_icon
9198  684882 Gsettings should spaw a warning when binding against a low_underscored_property
9199  684909 codegen: Explicitly close output
9200  684912 Update to Unicode 6.2
9201  685037 g_strcmp0: Returns shall include values less and greater than zero
9202  685069 Leak in glib-compile-resources
9203  685208 missing g_return_if_fail
9204  685608 [Patch] Port gio tests from pygobject to pygi
9205  685697 Documentation typo in g_dbus_interface_skeleton_has_connection()
9206  685733 Call ->constructed() after all properties are set
9207  685787 gtestdbus: correct documentation typos
9208  685995 Crash in g_menu_exporter_name_vanished
9209  686091 Invalid reads in g_bytes_unref_to_data
9210  686119 dtrace, gobject_probes.d, the last three probes - semicolon missing
9211  686161 Deprecate g_type_init()
9212  686231 GBusNameVanishedCallback: document NULL connection
9213  686458 slightly increase poll duration in test_timed_wait 
9214
9215 * Translations updated
9216   Catalan (Valencian)
9217   Czech
9218   Danish
9219   Italian
9220   Lithuanian
9221   Norwegian bokmål
9222   Slovenian
9223
9224 Overview of changes from GLib 2.33.14 to 2.34.0
9225 ===============================================
9226
9227 * GIO now looks for thumbnails in XDG_CACHE_HOME, following a
9228   recent alignment of the thumbnail spec with the basedir spec.
9229
9230 * The default values for GThreadPools max_unused_threads and
9231   max_idle_time settings have been changed to 2 and 15*1000,
9232   respectively.
9233
9234 * Bug fixes:
9235  654239 g_type_init()'s docs have no statement about how to...
9236  674620 Update GSettings migration guide for intltool updates
9237  676034 Fix doc annotation for g_ptr_array_ref()
9238  684278 Fix GIO build on Windows
9239
9240 * Translation updates:
9241  Brazilian Portuguese
9242  British English
9243  Bulgarian
9244  Catalan
9245  Galician
9246  German
9247  Hebrew
9248  Hindi
9249  Hungarian
9250  Kannada
9251  Latvian
9252  Marathi
9253  Spanish
9254  Telugu
9255
9256
9257 Overview of changes from GLib 2.33.12 to 2.33.14
9258 ================================================
9259
9260  * CVE-2012-3524: don't run dbus-launch from setuid binaries
9261
9262  * g_content_type_get_generic_icon_name():
9263      new API for getting the icon name for a mime type
9264
9265  * Introspection fixes:
9266   - GDBusConnection nullability fixes
9267   - give a box type to GTimeZone
9268
9269  * Drop GVFS_INOTIFY_DIAG
9270
9271  * Add a new "Writing GLib Applications" section to the reference
9272    documentation with general info on security, threads, etc.
9273
9274  * gwin32mount.c: Fix syntax error
9275
9276  * gresource tests: srcdir != builddir fixes
9277
9278  * tests/gvariant: Fix test on big endian architectures
9279
9280  * Fix regression in g_shell_parse_argv()
9281
9282 Bugs fixed:
9283  562907 g_shell_parse_argv() mishandles # (hash)
9284  683167 g_time_zone_new not introspectable
9285  683384 /gvariant/checksum-basic failure on big endian machines
9286  683641 Typo in gwin32mount.c
9287  683744 have a way to get the generic icon name for a mime type
9288
9289 Translation updates:
9290  Assamese
9291  Belarusian
9292  British English
9293  Czech
9294  Danish
9295  French
9296  Galician
9297  German
9298  Greek
9299  Hebrew
9300  Indonesian
9301  Indonesian
9302  Korean
9303  Lithuanian
9304  Marathi
9305  Marathi
9306  Polish
9307  Portuguese
9308  Punjabi
9309  Russian
9310  Serbian
9311  Slovenian
9312  Traditional Chinese
9313
9314 Overview of changes from GLib 2.33.10 to 2.33.12
9315 ================================================
9316
9317 * Add a G_DEFINE_QUARK macro
9318
9319 * Add symbolic icon support to drive, volume, and mount, file
9320   and content types
9321
9322 * Add API to allow thread-safe access to the same qdata item
9323
9324 * Bugs fixed:
9325  562907 g_shell_parse_argv() mishandles # (hash)
9326  627240 add G_DEFINE_QUARK
9327  672329 memory leaks in gutils.c and glib tests
9328  673012 Stable byte-level specification for normal form
9329  674805 gdbusproxy async test is broken
9330  679835 gvariant format string parsing (and assertions)...
9331  682075 gdbus: Fix double free and use after free of ob...
9332  682101 Provide a way to get a symbolic icon for a device
9333  682222 test_method_calls_on_proxy: assertion failed (e...
9334  682284 mount-op: use gint64 instead of guint64 for tim...
9335  682386 "make check" fails due to sys/resource.h not be...
9336  682560 leak fixes
9337  682586 gsettings-tool: make list-recursively really re...
9338  682819 EINTR-harden all the things
9339  682833 Handle EINTR for open()
9340  682849 drop the global lock for g_object_weak_ref
9341  682965 gdbus-tool: Check return value of strrchr()
9342  683088 gdbus-codegen: fix error when wrong interface n...
9343         Fix the build with gtk-doc-stub
9344         Don't crash if set_app_info is called before ad...
9345
9346 * Translation updates
9347  Assamese
9348  Galician
9349  Greek
9350  Indonesian
9351  Japanese
9352  Latvian
9353  Lithuanian
9354  Norwegian bokmål
9355  Polish
9356  Portuguese
9357  Punjabi
9358  Russian
9359  Spanish
9360  Traditional Chinese
9361  Vietnamese
9362
9363
9364 Overview of changes from GLib 2.33.8 to 2.33.10
9365 ===============================================
9366
9367 * New GTest API for testcases where log output is expected:
9368   g_test_expect_message()
9369
9370 * GMenuItem now has 'get' accessors and a construct-from-GMenuModel API
9371
9372 * GVariant now has a function to check a format-string for type
9373   compatibility
9374
9375 * win32: We now use overlapped IO to support multiple asynchronous
9376   operations (ie: reading and writing) at the same time.
9377
9378 * GMappedFile: Add g_mapped_file_get_bytes()
9379
9380 * The problems with g_file_make_directory_with_parents() should be
9381   resolved.
9382
9383 * The long-standing issues with placeholder generation of manpages are
9384   now resolved.
9385
9386 * gtlscertificate: Add GBytes based certificate and private-key props
9387
9388 * build: Switch back to using AS_IF for conditionals
9389
9390 * test coverage improvements, documentation improvements, leak fixes
9391
9392 * Bugs fixed
9393  326931 Better docs for G_GNUC_*
9394  550433 g_test_init doesn't recognize --help
9395  600751 GCompletion should better document if and how items memory is managed
9396  628193 Miscellaneous string fixes
9397  637460 man glib-genmarshal is hard to use
9398  674483 broken configure results when cross-compiling with gcc >= 4.5
9399  677065 GMappedFile: Add g_mapped_file_get_bytes()
9400  679288 win32: use overlapped events for streams
9401  679556 it's hard to use gtest when g_warning() is expected
9402  680823 g_file_make_directory_with_parents: Fix error propagation
9403  681319 gtlscertificate: Add certificate-bytes and private-key-bytes props
9404  681336 man pages not built if --enable-gtk-doc not specified
9405  681413 build: Switch back to using AS_IF for conditionals
9406  681501 gmem: array only partially filled with memcpy
9407  681854 Documentation fix for Howto compile a program with glib
9408  682025 Documentation correction
9409  682067 Fix problems with CLEANFILES and automake-1.11.1 
9410
9411 * Translations updated:
9412  Lithuanian
9413  Spanish
9414  Galician
9415  Telugu
9416  Serbian
9417  Assamese
9418  Marathi
9419  Indonesian
9420  Traditional Chinese
9421
9422 Overview of changes from GLib 2.33.6 to 2.33.8
9423 ==============================================
9424
9425 * GIO now has a g_file_delete_async function
9426
9427 * The defaults for GThreadPools max_unused_threads
9428   and max_idle_time values have been changed to
9429   2 and 15*1000, respectively.
9430
9431 * Bugs fixed:
9432  661767 merge/improve various bits of run-in-thread functionality
9433  680074 undefined symbol "get_C_locale"
9434  680121 g_cancellable_source_new: don't use a file descriptor
9435  680148 gthread: check for definition of PR_SET_NAME
9436  680310 Sorting of access points by strengh not working
9437  680704 g_utf8_strup() crash
9438  68076a0 GFile: Add g_file_delete_async()
9439  680787 Add .dir-locals.el to tell Emacs users not to use tabs...
9440  680823 g_file_make_directory_with_parents: Fix error propagation
9441  680994 STATIC_ASSERT in GDBusError docs don't have much utility
9442  681116 gtlscertificate: Add g_tls_certificate_equal() function
9443  681118 gtlsdatabase: Don't complain if no callbacks for async...
9444  669331 try to get gio tests working a little better on win32
9445  674314 Make gtk-doc not a hard dependency of GLib
9446  674800 gclosure: generic marshaller leaks return value
9447  675524 gsocket: FIONREAD undeclared (needs sys/filio.h)
9448  679509 use after free in g_dbus_action_group_describe_all_done()
9449  679996 gobject docs minor cleanup
9450  680459 Extra newline char in local implementation of g_applic...
9451  680505 object_path memory leak in gdbusobjectproxy.c
9452  680831 Deprecate and remove g_slice_[sg]et_config.*
9453  680912 gchecksum: Add g_compute_checksum_for_bytes()
9454  681151 checksum: Use functions instead of macros when buildin...
9455  681158 gtlscertificate: Don't confuse certificate and public ...
9456
9457 * Translation updates:
9458  Galician
9459  German
9460  Gujarati
9461  Hebrew
9462  Norwegian bokmål
9463  Serbian
9464  Slovenian
9465
9466
9467 Overview of changes from GLib 2.33.4 to 2.33.6
9468 ==============================================
9469
9470 * GAsyncInitable: partially revert the init_finish changes,
9471   some applications were found to rely on behaviour that
9472   was broken by these changes
9473
9474 * Bugs fixed:
9475  679617 win32: fix g_get_environ()
9476  679968 Add some annotations to GBytes, GVariantType...
9477  680111 GIOScheduler assumes GCancellable "cancelled...
9478
9479 * Translation updates:
9480  Spanish
9481
9482 Overview of changes from GLib 2.33.3 to 2.33.4
9483 ==============================================
9484
9485 * GMainContext: the source list has been reorganzied to
9486   avoid O(n) behaviour
9487
9488 * GRegex: Update included PCRE to 8.31 and expose new
9489   functionality in 8.x versions of PCRE
9490
9491 * GMountOperation gained a ::show-unmount-progress signal
9492   which provides information about slow unmount operations
9493
9494 * Bugs fixed:
9495  616892 gio: Add a boxed type for GFileAttributeMatcher
9496  619329 g_source_attach() O(n) in number of sources
9497  639771 g_dir_read_name() can also return NULL on error
9498  661767 merge/improve various bits of run-in-thread fun...
9499  667375 GAsyncInitable subclassing (and async subclassi...
9500  671545 Constify collect and lcopy strings in GTypeValu...
9501  674452 SEGFAULT in gio contenttype test
9502  674898 Deal with GLIB_VERSION_MIN_REQUIRED/MAX_ALLOWED...
9503  675504 Fix up GObject interface documentation
9504  677064 GString: Tweak documentation, add g_string_free...
9505  677578 error in PCRE error code conversion
9506  677579 update GRegexError for newer PCRE error codes
9507  678066 gdbus codegen does not work with python3
9508  678273 unicode othercasing is wrong in gregex
9509  678576 GIOScheduler performance enhancements
9510  678758 GTlsInteraction unlocks an unlocked mutex
9511  678808 GTestDBus issues
9512  678881 Test failures in /socket/timed_wait in some cas...
9513  678941 /contenttype/guess test case failure
9514  678944 gio returns the wrong default applications for ...
9515  678949 wrong definition of ulong_bool for 64 bit big e...
9516  678959 /mainloop/timeouts race condition: assertion fa...
9517  679193 update included pcre to 8.31
9518  679258 The 'Since' tag for G_SOURCE_CONTINUE and G_SOU...
9519  679473 Don't generate invalid property names
9520  679691 Add g_spawn_check_exit_status()
9521  679671 GDBusNodeInfo: the XML string must contain exac...
9522  676111 mount-operation: add show-unmount-progress signal
9523  679691 win32: fix build g_spawn_check_exit_status() wi...
9524  679813 Documentation bug on http://developer.gnome.org...
9525
9526 * Translation updates:
9527  Assamese
9528  Belarusian
9529  Bulgarian
9530  Galician
9531  Greek
9532  Norwegian bokmål
9533  Polish
9534  Spanish
9535  Traditional Chinese
9536  Vietnamese
9537
9538
9539 Overview of changes from GLib 2.33.2 to 2.33.3
9540 ==============================================
9541
9542 This release contains mostly bugfixes, cleanups and performance
9543 improvements (including many fixes contributed by Colin on the advice of
9544 Coverity).  There are a few notable externally-visible changes:
9545
9546 * Thumbnails are now in XDG_CACHE_HOME
9547
9548 * new GDBus API: per-thread g_dbus_connection_get_last_serial()
9549
9550 * GUnixOutputStream now has a can_poll() implementation
9551
9552 * New deep copy APIs for G(S)List: g_(s)list_copy_deep
9553
9554 * Bugs fixed:
9555  518309 Incorrect data*dir path in glib-gettextize output
9556  566994 Safer passing of -framework flag
9557  672889 GLib.utf8_validate does segfault
9558  673253 Not strict enough autconf test for libelf
9559  675024 adds g_list_copy_deep() and g_slist_copy_deep
9560  675168 prepare for thumbnails to move to XDG_CACHE_HOME
9561  675966 gresolver: More robust parsing of DNS responses
9562  676594 [Patch] fix g_reload_user_special_dirs_cache
9563  676825 Implement g_dbus_connection_get_last_serial ()
9564  677235 Clarify the comment at the top of gmarshal.list
9565  677527 OS X: gthread/spawn-async selftest failure
9566  677718 GDBusProxy: treat org.freedesktop.systemd1.Masked error as non-fatal
9567  677770 GUnixOutputStream does not implement can_poll
9568  677782 Install bash completion files in /usr/share
9569  677817 g_key_file_to_data adds extra blank lines in some cases
9570  677952 Missing annotation for GDBusConnection signal "closed"
9571  678052 g_wakeup_acknowledge is called too often.
9572  678273 unicode othercasing is wrong in gregex
9573  678333 gdbus-codegen code causes warnings under -Wfloat-equal
9574
9575 * Translations updated:
9576  Arabic
9577  Assamese
9578  Galecian
9579  Greek
9580  Spanish
9581  Telugu
9582
9583 Overview of changes from GLib 2.33.1 to 2.33.2
9584 ==============================================
9585
9586 * GLIB_VERSION_MIN_REQUIRED now defaults to the current stable version
9587
9588 * GIO input and output stream classes have grown GBytes-based methods
9589
9590 * GApplication now has hooks to register D-Bus objects before the bus
9591   name is taken
9592
9593 * Bugs fixed:
9594  605976 add g_type_ensure(), to ensure that a type has...
9595  660851 Breakage of code due to changes in the GThread...
9596  666386 Empathy doesn't open Redirect URI with particu...
9597  671139 need (transfer async) for io stream buffers
9598  672329 memory leaks in gutils.c and glib tests
9599  672548 g_utf8_validate: @str shouldn't end up annotat...
9600  674111 Provide an accessor for MimeType desktop entry...
9601  674483 broken configure results when cross-compiling ...
9602  674634 Add g_clear_pointer()
9603  674777 What's the (transfer) of g_variant_lookup()?
9604  675309 gkeyfile: Fix annotations for g_key_file_load_...
9605  675446 gfile: Plug memory leak in g_file_make_directo...
9606  675509 add extra dbus hooks
9607  675832 Incomplete gsettings bash auto-completion
9608  676208 The tmpl parameter to g_file_new_tmp can be NULL
9609  676265 GNetworkMonitor leaks a lot of memory
9610  676277 Document that g_app_info_create_from_commandli...
9611  676397 g_environ_* should work with NULL envp
9612  676398 g_spawn_* should take PATH from the passed env...
9613  676478 Broken gzip decoding
9614  676594 [Patch] fix g_reload_user_special_dirs_cache
9615  676816 Add more GLIB_AVAILABLE_IN_*
9616  676937 Document notify signal deduplication with free...
9617
9618 * Translation updates:
9619  Czech
9620  French
9621  German
9622  Greek
9623  Japanese
9624  Russian
9625  Slovenian
9626  Spanish
9627
9628
9629 Overview of changes from GLib 2.32.1 to 2.33.1
9630 ==============================================
9631
9632 * GApplication
9633  - can now have a NULL application ID
9634  - add accessors for determining dbus connection and object path
9635
9636 * g_clear_object: fix warnings when using it on C++ (due to lack of
9637   ability to implicitly cast void*)
9638 * add g_clear_pointer as a generic form of g_clear_object
9639
9640 * GDBus:
9641  - add our own implementation of the message bus for use on Windows only
9642  - fix up a few bugs that use of this bus uncovered in GDBus
9643  - escape nonce files in dbus addressess (think 'c:\')
9644  - support initial underscores in dbus codegen namespace (for private)
9645  - add GTestDBus for bringing up a session bus for testing purposes
9646  - gdbus-codegen: Avoid warnings in generated code
9647  - GDBusAuthObserver: Add a way to control what authentication mechanisms to use
9648  - 
9649
9650 * Fix misdetection of GNUstep as Cocoa (for the MacOS GSettings backend)
9651
9652 * make sure configure fails if AC_CHECK_ALIGNOF cannot detect the alignment
9653
9654 * GAppInfo
9655  - overwrite the DISPLAY only if it is set in the launch context
9656  - add accessor for StartupWMClass
9657
9658 * glib/tests/date: force US locale running the GDateTime tests
9659
9660 * Resources:
9661  - fix broken use of GVDB on big endian machines
9662  - set a 'display name' so that pretty file names appear in Gtk CSS
9663    warning messages
9664
9665 * GMainContext:
9666  - block child sources when blocking the parent
9667  - introduce more testcases for child sources
9668
9669 * GResolver: add support for MX, TXT, NS and SOA records
9670
9671 * GSocketControlMessage: Don't warn about unknown messages
9672
9673 * GIO:
9674  - implement GSeekable for the data and buffered stream classes
9675  - implement GPollable for many more classes as well
9676  - fix GConverterInputStream infinite loop when fill_buffer returns an error
9677  - fileinfo: document the correct type for trash::orig-path
9678
9679 * test coverage improvements and general fixes
9680
9681 * new 2.34 stuff: version macros, docs index section, etc.
9682
9683 * Build:
9684  - add --disable-modular-tests build option
9685  - don't require host binaries if tests are not enabled for cross-builds
9686
9687 * Translations updated
9688  Brazilian Portuguese
9689  Bulgarian
9690  Czech
9691  French
9692  Galician
9693  German
9694  Hebrew
9695  Hindi
9696  Italian
9697  Norwegian bokmål
9698  Polish
9699  Russian
9700  Russian
9701  Serbian
9702  Simplified Chinese
9703  Slovenian
9704  Spanish
9705  Telugu
9706
9707 Overview of changes from GLib 2.32.0 to 2.32.1
9708 ==============================================
9709
9710 * Bugs fixed:
9711  670254 glib-2.30.2: Fails /GDateTime/new_from_unix test
9712  672541 glib-compile-resources prepends --sourcedir to absolute paths
9713  673139 URL to mailing lists in README incorrect
9714  673174 g_input_stream_read[_finish]: document returning 0 on EOF
9715  673191 glib/gchecksum.c warning: dereferencing type-punned pointer...
9716  673216 [W32] gtestutils does not use path separators consistently
9717  673439 Properly deprecate g_value_{set,get}_char
9718  673612 Fails to decode dictionaries wrapped in two layers of array
9719  673803 gclosure: Support return values of GVariants
9720  669285 glib/tests/markup-parse fails under non-english locale
9721  673911 gio-2.0.pc lists full path to executables, breaking cross com..
9722  673762 gnextstepsettingsbackend.c:343: error: parse error before 'in'
9723
9724 * Updated translations:
9725  Belarusian
9726  British English
9727  Bulgarian
9728  Catalan
9729  Czech
9730  French
9731  German
9732  Hebrew
9733  Hindi
9734  Hungarian
9735  Italian
9736  Japanese
9737  Kannada
9738  Latvian
9739  Lithuanian
9740  Marathi
9741  Norwegian bokmål
9742  Odia
9743  Polish
9744  Serbian
9745  Slovenian
9746  Spanish
9747  Swedish
9748  Telugu
9749
9750
9751 Overview of changes from GLib 2.31.22 to 2.32.0
9752 ===============================================
9753
9754 * It is no longer necessary to use g_thread_init() or to link against
9755   libgthread.  libglib is now always thread-enabled. Custom thread
9756   system implementations are no longer supported (including errorcheck
9757   mutexes).
9758
9759 * The thread and synchronisation APIs have been updated.
9760   GMutex and GCond can be statically allocated without explicit
9761   initialisation, as can new types GRWLock and GRecMutex.  The
9762   GStatic_______ variants of these types have been deprecated.  GPrivate
9763   can also be statically allocated and has a nicer API (deprecating
9764   GStaticPrivate).  Finally, g_thread_create() has been replaced with a
9765   substantially simplified g_thread_new().
9766
9767 * The g_once_init_enter()/_leave() functions have been replaced with
9768   macros that allow for a pointer to any gsize-sized object, not just a
9769   gsize*.  The assertions to ensure that a pointer to a correctly-sized
9770   object is being used will not work with generic pointers (ie: (void*)
9771   and (gpointer) casts) which would have worked with the old version.
9772
9773 * It is now mandatory to include glib.h instead of individual headers.
9774
9775 * The -uninstalled variants of the pkg-config files have been dropped.
9776
9777 * For a long time, gobject-2.0.pc mistakenly declared a public
9778   dependency on gthread-2.0.pc (when the dependency should have been
9779   private).  This means that programs got away with calling
9780   g_thread_init() without explicitly listing gthread-2.0.pc among their
9781   dependencies.
9782
9783   gthread has now been removed as a gobject dependency, which will cause
9784   such programs to break.
9785
9786   The fix for this problem is either to declare an explicit dependency
9787   on gthread-2.0.pc (if you care about compatibility with older GLib
9788   versions) or to stop calling g_thread_init().
9789
9790 * g_debug() output is no longer enabled by default.  It can be enabled
9791   on a per-domain basis with the G_MESSAGES_DEBUG environment variable
9792   like
9793     G_MESSAGES_DEBUG=domain1,domain2
9794   or
9795     G_MESSAGES_DEBUG=all
9796
9797 * Bugs fixed:
9798  671988 Quickly registering / unregistering objects on bus...
9799  672095 glib needs stable sort function
9800  672406 glib/tests/include.c fails to build on FreeBSD
9801
9802 * Updated translations:
9803  Telugu
9804
9805
9806 Overview of changes from GLib 2.31.20 to 2.31.22
9807 ================================================
9808
9809 * Bugs fixed:
9810  531901 Use __builtin_bswap* for GUINT*_SWAP_LE_BE if building...
9811  653167 Out of tree build is broken on windows
9812  668973 Test /gvariant/parser fails on Solaris 10
9813  669797 gvfs now lists its fuse mounts
9814  670846 deadlock: GStreamer-WARNING **: wrong STREAM_LOCK count 0
9815  671664 gio-querymodules: unlink instead of writing empty cache
9816  671676 Glib can't be cross-compiled any more after merge of...
9817  671918 gnome-shell is inaccessible unless started while an AT...
9818  671942 GSocketMsgFlags: annotate as a flags
9819  671997 Unix signal handling assumes that volatile 1-byte writes...
9820  672013 GSimpleAsyncResult: support reliable cancellation
9821  672026 default log output should include pid and/or prgname
9822  672095 glib needs stable sort function
9823  672201 G_SPAWN_SEARCH_PATH should continue on ENODEV and ETIMEDOUT
9824  672239 request NO_REPLY from g_dbus_connection_call() with no as...
9825  672249 gdbusproxy leaks asyncresult in an error case instead of...
9826
9827 * Translation updates:
9828  Assamese
9829  British English
9830  Catalan
9831  Catalan (Valencian)
9832  Danish
9833  Esperanto
9834  Finnish
9835  French
9836  German
9837  Hungarian
9838  Korean
9839  Lithuanian
9840  Norwegian bokmål
9841  Polish
9842  Portuguese
9843  Russian
9844  Traditional Chinese
9845
9846
9847 Overview of changes from GLib 2.31.18 to 2.31.20
9848 ================================================
9849
9850 * Update to Unicode 6.1
9851
9852 * Update PCRE to 8.30
9853
9854 * Deprecations are now versioned, and new API is
9855   marked with the version it was introduced.
9856   Use these with GLIB_VERSION_{MIN,MAX}_REQUIRED
9857
9858 * The performance of signal emissions has been
9859   improved for simple cases
9860
9861 * Bugs fixed:
9862  529806 Cannot build in 64-bit Mac OS X due to libiconv
9863  580873 Documentation of register type functions incomplete
9864  592666 Document how to unset an attribute
9865  597785 g_type_class_add_private code snippet is a bad example
9866  621368 glib-2.24.1: FAIL: run-assert-msg-test.sh when updating...
9867  622149 --disable-regex breaks glib2 build
9868  639873 GBinding: Crash when binding two properties on the same...
9869  640202 For GLIB v. 2.23.6 and above: impossibility to build mu...
9870  668295 Need a way to classify GVolume instances
9871  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
9872  670542 Add version information for deprecations
9873  670557 gvaluetransform: Fix an infinite loop with GFlagsValue...
9874  670721 global variable for signal ID should be hidden
9875  670751 IceWM build fails due to the G_DEPRECATED_FOR macro
9876  670909 g_dbus_connection_call leaks when it receives an error...
9877  670922 Include path to gdbus-codegen in the pkgconfig file
9878  670969 GSequence lookup may fail if there was no sort prior to...
9879  671025 Constants and identifiers starting with a number are no...
9880  671270 make distclean failures
9881  671281 glib-compile-resources.xml is missing from the dist tar...
9882
9883 * Translation updates:
9884  Basque
9885  Belarusian
9886  Brazilian Portuguese
9887  Bulgarian
9888  Galician
9889  Hebrew
9890  Lithuanian
9891  Persian
9892  Punjabi
9893  Serbian
9894  Simplified Chinese
9895  Slovenian
9896  Telugu
9897  Traditional Chinese
9898  Uyghur
9899  Vietnamese
9900
9901
9902 Overview of changes from GLib 2.31.16 to 2.31.18
9903 ================================================
9904
9905 * GDBusProxy has now a flag, G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
9906   which can be set to make GDBus automatically reload
9907   changed properties even if the propertychanged signal
9908   does not contain the new values.
9909
9910 * GApplication puts non-unique applications on the bus
9911
9912 * GApplication now has g_application_quit()
9913
9914 * g_async_queue_timed_pop has been deprecated in favor of
9915   the new g_async_queue_timeout_pop, which uses relative
9916   delays in microseconds instead of a GTimeVal.
9917
9918 * a huge number of API documentation fixes
9919
9920 * Bugs fixed:
9921  647986 put non-unique apps on D-Bus
9922  658484 vpn connection vs NetworkSecretDialog
9923  664237 GDateTime falls back to UTC if TZ is set
9924  669329 gthread-win32: update for g_get_monotonic_time() changes
9925  669330 glocalfile: fix error code when opening a directory on win32
9926  669372 glib/tests memory leaks.
9927  669412 mem leak in g_environ_unsetenv
9928  669538 Fix compilation of glib-compile-resources.c on Windows
9929  669544 gdbus-codegen example introspection XML is not complete
9930  669595 glib-mkenums: fix handling of forward enum declarations
9931  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
9932  669671 gobject: use #pragmas to avoid deprecated function warnings
9933  669689 Retrieve cwd and environ in local GApplicationCommandLine
9934  669810 socket/win32: flush pending read before signaling HUP
9935  669865 g_regex_fetch()
9936  670085 memory leak in g_output_stream_write_async
9937  670138 gbytes.h is missing the G_BEGIN/END_DECL guards
9938  670485 Simplify session API (shared bug with gtk+)
9939
9940 * Updated translations:
9941  Belarusian
9942  Danish
9943  Galician
9944  Serbian
9945  Telugu
9946  Hebrew
9947
9948
9949 Overview of changes from GLib 2.31.14 to 2.31.16
9950 ================================================
9951
9952 * GResource:
9953  - The resource compiler can now convert pngs into
9954    pixel data that can be used without parsing at runtime
9955    (requires gdk-pixbuf-pixdata to be present)
9956
9957 * Bugs fixed:
9958  669123 resource compiler: failing to-pixdata should...
9959  669173 resource: fix xml preprocess entity handling
9960  669224 Cross-compilation broken by data-to-c
9961  669253 gsettings set buggy on array values
9962  669334 fix memory leak in bookmark file parser
9963
9964 * Translation updates:
9965  Norwegian bokmål
9966  Spanish
9967
9968
9969 Overview of changes from GLib 2.31.12 to 2.31.14
9970 ================================================
9971
9972 * GResource:
9973  - GLib now includes a commandline utility, gresource,
9974    to explore resources in ELF files
9975  - The resource compiler can now optionally strip
9976    ignorable whitespace from XML resources
9977  - The resource compiler can now generate build dependencies
9978  - The resource compiler will now autoselect output formats
9979
9980 * GApplication:
9981  - The menu markup parser API has been dropped, the
9982    menu XML support lives in GTK+ now
9983
9984 * GValueArray has been deprecated
9985
9986 * Bugs fixed:
9987  626258 N-ary Trees - 'nodes' can be inserted before and after...
9988  634232 Core Dump / Aborted using g_key_file_to_data
9989  639099 schema compiler chokes on valid schema
9990  667228 Deprecate GValueArray
9991  667243 Add an element clear function to GArray
9992  667929 glib-compile-resources: xml resources doesn't need to...
9993  668250 g_date_time_format() produces a non-UTF8 string
9994  668468 'IP_ADD_SOURCE_MEMBERSHIP' undeclared
9995  668532 resources: add dependency generator to the resource compiler
9996  668539 resources: compiler should autoselect output format...
9997  668561 gresource-tool not internationalized
9998  668572 glib_cv_g_atomic_lock_free config.cache setting not honored...
9999  668650 GRealArray->clear_func should be initialized
10000  668756 GKeyFile: allow loading from empty strings
10001  668857 fix couple of typos in comments
10002  669024 goption: implement platform_get_argv0() for OpenBSD
10003
10004 * Updated translations:
10005  Galician
10006  Norwegian bokmål
10007  Spanish
10008  Traditional Chinese
10009
10010 Overview of changes from GLib 2.31.10 to 2.31.12
10011 ================================================
10012
10013 * GApplication:
10014  - Drop support for exporting menus - this functionality
10015    will be provided in GtkApplication
10016  - Add a way to create actions that change settings
10017
10018 * Bugs fixed:
10019  629503 Add async versions of g_unix_connection_{receive,send}_credentials
10020  656301 glib-compile-schemas should not create an empty file
10021  668071 mingw-gcc build fails on gio/gsocket.[c|h]
10022  668118 the big appmenu switcheroo
10023  668158 base64 encode and line termination
10024  668163 GDBusConnection: note that exit-on-close is sometimes TRUE
10025  668269 gsignal: add g_signal_handlers_disconnect_by_data
10026  668279 create GAction from GSettings
10027
10028 * Translation updates:
10029  Norwegian bokmål
10030
10031
10032 Overview of changes from GLib 2.31.8 to 2.31.10
10033 ===============================================
10034
10035 * GResource:
10036  - A new facility to allow linking data files into binaries
10037    and make them available as resources
10038  - Resources are compiled using glib-compile-resources
10039  - GIO supports resource:/// uris to access resources
10040
10041 * Bugs fixed:
10042  619126 Missing dependency libs
10043  658315 g_key_file_get_keys() should set length to 0...
10044  660371 is it ever valid to have 0 as a GError domain?
10045  666700 Add some missing (allow-none) annotations
10046  667375 GAsyncInitable subclassing (and async subclassing...
10047  667447 Missing many introspection annotations
10048  667790 Protect call to pthread_condattr_setclock with define
10049  667938 wrong gtypes generated for empty flags enums
10050
10051 * Translation updates:
10052  Hebrew
10053  Spanish
10054
10055
10056 Overview of changes from GLib 2.31.6 to 2.31.8
10057 ==============================================
10058
10059 * GObject:
10060  - The type checks for overriding properties have been loosened.
10061    In particular, it is now possible to add the CONSTRUCT flag
10062    to an overridden property
10063  - GWeakRef is a new API for weak references; unlike g_object_weak_ref
10064    and g_object_add_weak_pointer, it is thread-safe.
10065
10066 * GHashTable has grown new convenience api for use as a set:
10067   g_hash_table_add, g_hash_table_contains
10068
10069 * GSocketConnection has gained API for managing connection status
10070
10071 * GSettings: a native OS X backend has been added, under the
10072   name 'nexstep'
10073
10074 * Bugs fixed
10075  455640 Something fishy with GRegex and unicode
10076  548954 weak references are not threadsafe
10077  625751 Add G_FILE_ATTRIBUTE_FILESYSTEM_USED
10078  658871 gbacktrace: g_get_prgname () isn't called for a NULL argu...
10079  664069 gvariant: Never break out of g_variant_iter_loop
10080  664830 g_strescape doesn't natively handle \v (vertical tab)
10081  665211 GDBusConnection singleton access can race with disposal
10082  665805 Add GSocketClient::action, for tracking socket client status
10083  666116 some tests provoke undefined behaviour, which is undesira...
10084  666422 Unreachable code in gio gnetworkmonitornetlink.c
10085  666551 Crash in g_thread_xp_SleepConditionVariableSRW
10086  666595 menu parser disallows id='' on submenu and section
10087  666615 loosen property override flag restrictions
10088  666616 gobject: fix property override type checks
10089  666803 g_utf8_validate() fails to validate strings with known size
10090  666804 g_ateaxit deprecation warning in devhelp points in wrong ...
10091  666951 g_mkdtemp: Since version incorrect in docs
10092  666978 Fails to compile glib applications with ISO C90 compiler
10093  667098 ginetaddressmask leaks its address property
10094  667225 GSocket: add missing type checks to public methods
10095  667226 GSocket: fix an error return value
10096  667279 Sometimes crashes when launching commandline-crea...
10097  667285 Wrong keyname listed in documentation for g_deskt...
10098  667331 Use g_queue_free_full() convenience function
10099  667420 GHashTable GDB pretty printing is broken
10100
10101 * Updated translations
10102  Belarusian
10103  Bulgarian
10104  Hebrew
10105  Norwegian bokmål
10106  Norwegian Nynorsk
10107  Spanish
10108  Vietnamese
10109
10110
10111 Overview of changes from GLib 2.31.4 to 2.31.6
10112 ==============================================
10113
10114 * GApplication no longer has APIs for setting menus.  Those have been
10115   moved to GtkApplication.
10116
10117 * the GActionGroup import/export functionality has been decoupled from
10118   GApplication by the introduction of a new interface for the purpose of
10119   handling platform data: GRemoteActionGroup.  This allows Gtk to
10120   properly deal with platform data (and gdk threads) on window actions.
10121
10122 * lots of documentation improvements
10123
10124 * bug fixes and a huge number of memory leak fixes
10125
10126 * the test suite now passes on ARM and some of the GDBus testcase hangs
10127   we've been seeing have been resolved (although others could remain)
10128
10129 * g_bytes_get_data() API changed: now includes 'size' out parameter
10130
10131 * new g_queue_free_full() API similar to g_[s]list_free_full()
10132
10133 * desktop files: use standard "Keywords" now, not "X-GNOME-Keywords"
10134
10135 * gsettings commandline tool now has --schemadir option for schemas not
10136   installed in the usual place (ie: as part of plugins)
10137
10138 * Bugs fixed:
10139  643736 GApplication doesn't emit dbus signals on action updates
10140  657433 g_queue_free_full() missing
10141  664699 glib: documentation fixes
10142  665737 acquire/release gdk threads lock on incoming dbus
10143  665879 GBytes: add a size argument to g_bytes_get_data
10144  666113 various leaks in GLib, GIO are visible in the regression tests
10145  666115 various tests leak memory, obscuring real leaks in the library
10146  666145 Doc could be more explicite that g_thread_init calls can be droped
10147  666173 Configure warning - linux/netlink.h usability... no
10148  666296 Race condition in g_thread_xp_get_srwlock
10149  666415 Settings tools should allow specifying a schema directory 
10150
10151 * Translations updated:
10152  French
10153  Spanish
10154
10155 Overview of changes from GLib 2.31.2 to 2.31.4
10156 ==============================================
10157
10158 * EXPERIMENTAL: Menu support has been added to GApplication.  Menus
10159   are exported on the bus, alongside the actions that are already there.
10160   There have also been many related improvements to action group
10161   functionality.
10162
10163   These new APIs are subject to changes in the coming releases.  In
10164   particular, it seems somewhat likely that the APIs for registering
10165   menubars may change in order to accommodate windows with different
10166   types of menubars.
10167
10168 * GDBusConnection previously directly dispatched destroy notifies when
10169   unregistering objects if the current main context was the same context
10170   the object was exported on.  It now unconditionally dispatches these
10171   through an idle on the context.
10172
10173 * Clean up Requires in pc files. Linking against GIO no
10174   longer drags in gmodule. This may require dependency
10175   fixes here and there.
10176
10177 * Introduce GBytes, a data type for immutable, fixed-size
10178   byte sequences. This makes the pre-existing GBuffer
10179   API available outside GLib
10180
10181 * GDBusInterfaceSkeleton can now be exported on multiple
10182   connections
10183
10184 * Bugs fixed:
10185  600161 Do not use static GTypeInfo and GInterfaceInfo
10186  640077 GFileMonitor: Always send CHANGES_DONE_HINT after a move...
10187  641720 Misleading definition for local_command_line() in GApplic...
10188  648516 Little comment error and 2 useless lines of code
10189  651997 Dummy backend for gapplication
10190  652560 Test for g_ascii_strtod is failing
10191  662208 failure to initialize a GInitable should be considered...
10192  662718 GDBusInterfaceSkeleton should be able to export on multi...
10193  663291 GBytes: Immutable, refcounted sequence of bytes
10194  664406 Need context for a proper translation
10195  664455 Build fixes for GLib GIT master (2.31.x)
10196  664558 GDBusWorker.frozen has a value > 1 in a gboolean
10197  664559 sys/wait.h not available on windows
10198  664617 gdbus segfault error 4 in libgio-2.0.so.0.3102.0
10199  664635 GMemory{Out,In}putStream _async functions break sub-class...
10200  664809 Add command line option to gtester to allow skipping tests
10201  665067 cryptic assertion failure if nonsensical flag combinations...
10202  665184 Check ref. count before reffing/unreffing
10203  665298 Add 'Requires.private: libpcre' to glib-2.0.pc
10204  665391 update documentation around mainloops
10205  665607 ./configure is there for fiddling with cross-compile enviro...
10206  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes...
10207  665685 Add a #define for the max length of a Unicode decomposition
10208  665733 GDBusConnection holds lock while calling destroynotify
10209
10210 * Translation updates:
10211  Norwegian bokmål
10212  Spanish
10213
10214
10215 Overview of changes from GLib 2.31.0 to 2.31.2
10216 ==============================================
10217
10218 * Monotonic time is now properly supported on Windows
10219
10220 * glib-mkenums: fix @ENUMPREFIX@ with /*< underscore_name=... >*/
10221
10222 * EXPERIMENTAL: introduce new GSettingsSchema and GSettingsSchemaSource
10223   APIs for the convenience of plugin system authors and those who wish
10224   to introspect the contents of schemas.  This API may change.
10225
10226 * Improve the performance of GObject property notifies.
10227
10228 * GDBus:
10229  - fix a race when unowning a name immediately after owning it
10230  - thread safety improvements on GDBusConnection
10231  - fixes for exit-on-close functionality
10232
10233 * Deprecations:
10234  - add G_SIGNAL_DEPRECATED
10235  - don't use G_DISABLE_DEPRECATED masking for functions anymore
10236
10237 * docs
10238  - tmpl/ is finally dead for glib
10239
10240 * GIO:
10241  - GInetAddressMask: new type for internet address range matching
10242  - various GIO file and stream fixes
10243  - improvements to attribute and fileinfo handling
10244
10245 Overview of changes from GLib 2.29/2.30 to 2.31.0
10246 =================================================
10247
10248 This release contains a huge number of changes (500 commits worth).  The
10249 list below attempts to summarise, but not every change is listed.
10250
10251 * Major changes to threading and synchronisation
10252  - threading is now always enabled in GLib
10253  - support for custom thread implementations (including our own internal
10254    support for errorcheck mutexes) has been removed
10255  - a whole lot of dead code (to deal with the non-threaded case) has
10256    been ripped out.  This includes the racy path of GMainContext that
10257    caused deadlocks with respect to child process exits in
10258    single-threaded programs (such as gtester).
10259  - libgthread is now an empty shell and g_thread_init() is no longer
10260    required (and has been deprecated)
10261  - GMutex and GCond can now be statically allocated without explicit
10262    initialisation.  Dynamic allocation for these types is deprecated.
10263  - new types GRecMutex and GRWLock can also be statically allocated
10264    without explicit initialisation.
10265  - GPrivate can now be statically allocated and has an improved API.
10266    Dynamic allocation of GPrivate is deprecated.
10267  - GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
10268    deprecated.
10269  - GCond now uses monotonic time internally and a new API takes
10270    monotonic time for timed waits, deprecating the wallclock API
10271  - removal of the insane macro indirection used in the previous
10272    implementation of threading and synchronisation APIs
10273  - use SRWLock and CONDITION_VARIABLE APIs when available on Windows
10274    (Vista and later) and emulate them on XP
10275  - leaks of G(Static)Private-allocated data on some cases of thread exit
10276    have been fixed
10277  - simplified new thread creation API with the old API deprecated.  The
10278    concept of joinability has disappeared (all threads are joinable) as
10279    have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
10280    and ability to manipulate the stack size.
10281  - GThread is now a refcounted type
10282  - other implementation details changed
10283
10284 * Move headers for some deprecated functionality to a separate
10285   deprecated/ directory.
10286
10287 * New support for attribute-based deprecations to issue compiler
10288   warnings instead of breaking the build and/or giving warnings about
10289   implicit declarations (and possibly miscompiling).
10290
10291 * GCache has been deprecated (after its last use was removed from our
10292   platform over a year ago).
10293
10294 * It is no longer possible to include individual headers (like
10295   "ghash.h") -- you must #include <glib.h>.
10296
10297 * The misguided experiment of allowing the program to stumble along with
10298   missing GSettings schemas is now over -- the abort is back.
10299
10300 * Clarify that fork() is not valid while using GMainContext.  This is
10301   because the internal resources of the GMainContext end up being shared
10302   by both processes.  We had an assert here but it was breaking existing
10303   (valid) use cases as well, so it has been removed for now.
10304
10305 * GApplication
10306   - add ::shutdown signal as logical dual to ::startup
10307   - don't use a GMainLoop: iterate the GMainContext directly (improves
10308     quit logic)
10309
10310 * Several portability fixes for Windows, OpenBSD, Solaris
10311
10312 * Add new GValue API to specifically deal in signed chars (in case the
10313   platform defines 'char' as unsigned)
10314
10315 * some new API to mitigate the problems associated with calling setenv()
10316   in a multi-threaded program
10317
10318 * Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
10319   time (ie: stop checking for kernel support at runtime).
10320
10321 * pkg-config files:
10322   - drop -uninstalled variants
10323   - remove gobject dependency on gthread
10324
10325 * New macro G_ATOMIC_LOCK_FREE is defined if the atomic operations are
10326   implemented without use of a mutex.  Cleaned up atomic-related
10327   compilation issues with mingw compilers on win32 systems.
10328
10329 * SOCKS proxy and resolver improvements
10330
10331 * Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
10332   introduce a macro for backwards compatibility.
10333
10334 * GDBus:
10335   - many code generation updates and improvements
10336   - some race condition fixes, including testcase hangs
10337
10338 * GVariant:
10339   - new g_variant_new_from_fixed_array() API
10340   - substantial docs improvements/clarifications
10341
10342 * GKeyFile is now refcounted and boxed
10343
10344 * mount monitoring is now based on /proc/mounts (where available)
10345   instead of mtab
10346
10347 * new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for returning from
10348   GSourceFunc (so you don't have to remember what TRUE and FALSE mean)
10349
10350 * use xlocale functions where available to avoid too much heavy lifting
10351   in functions like g_ascii_strtod()
10352
10353 * GMappedFile can now be created from an fd
10354
10355 * error message strings grammar/i18n fixes
10356
10357 * many docs updates
10358
10359 * Partial list of bugs closed:
10360  70598  Unify GStaticMutex and GMutex.
10361  320888 optimization for g_main_context_wakeup
10362  398418 GChildWatch race condition?
10363  527214 g_timer_elapsed() returns random values
10364  580505 add a way to set/get name for a thread
10365  583511 race condition means g_main_loop_quit() does not work
10366  590808 GKeyFile should have a refcount and a boxed type in GObject
10367  592715 Document that g_str_hash() and g_int_hash() are not NULL safe
10368  631413 Add macros for GSourceFunc return values
10369  632049 not immediately clear what g_variant_get_fixed_array expects
10370  640212 "Error stating file" is not a friendly message
10371  640293 Use xlocale functions to implement g_ascii_strtod()
10372  640975 Check that error exists before trying to set it
10373  643934 GApplication lacking a logical dual for the ::startup signal
10374  651268 assertion failed in GDBus worker thread
10375  653987 g_key_file_get_integer cannot interpret trailing spaces
10376  654412 Documentation for g_variant_get_child_value unclear
10377  654563 info capplet: Failed to calculate disk space
10378  655366 missing GSettings schemas lead to obscure crashes
10379  656621 g_spawn_*() calls executables in current directory
10380  656679 [gi] Add two annotations to gio
10381  657992 Add glib__private__() API to share between glib,gio
10382  658188 _set_as_last_used_for_type generates a broken mimeapps.list
10383  658206 gsocks5proxy.c has invalid gettext use
10384  658207 glib-compile-schemas says "can not"
10385  658558 simpleaction: Fix documentation of :enabled
10386  658683 clean up charset/language threading issues
10387  658692 add introspection annotations to g_time_val_from_iso8601()
10388  658715 Duplicite strings
10389  658769 Invalid reuse of GError in GThreadedResolver
10390  658806 sign error in string hash implementation
10391  658976 gdbus-codegen's C namespace option needs to support Ugly_Case
10392  659070 gdbus-codegen generated code segfaults when property changes
10393  659082 gdbus-codegen: Single letter namespaces get dropped from names
10394  659212 GMappedFile should fail on non-regular files
10395  659324 _SPLICE_CLOSE_TARGET doesn't mark the output stream as closed
10396  659423 Use adaptive mutexes when available
10397  659427 Move deprecated code to a separate directory
10398  659646 gdbus-codegen produce code that warnings at build
10399  659690 Possible build warning in code generated by gdbus-codegen
10400  659699 property name collision when generating code for "Connection"
10401  659754 Add API to GMappedFile that allows to pass FD
10402  659838 incorrect types in introspection for g_object_bind_property
10403  659866 pthread_rwlock_t requires defined __USE_UNIX98
10404  659870 gvalue: Fix signedness of g_value_get_char()
10405  659889 glib-2.29.92/gio-2.0.pc.in has a wrong line.
10406  659916 GObject size of 64K is not actively enforced
10407  659920 Missing setter for read/write property 'closed' of GIOStream
10408  659923 Add g_variant_new_fixed_array() function
10409  660013 Remove old g_atomic configure cruft
10410  660096 glib/rwlock tests failure (tests asserted)
10411  660130 Possible loss of user data when updating mimeapps.list
10412  660147 tracker causes g_critical in "gsettings list-recursively"
10413  660413 Make G_ASSERT_STATIC work with clang
10414  660498 Generated test code fails when the codegen changes
10415  660511 Use /proc/mounts for monitoring mounts, not /etc/mtab
10416  660536 Expose options for /etc/fstab entries
10417  660635 Deprecate g_thread_foreach
10418  660637 Pending dbus method calls not canceled on connection loss
10419  660739 kill off g_{mutex,cond}_{new,free}()
10420  660740 make GThread more standard
10421  660741 g_cond_timedwait is a disaster
10422  660743 macro wrappers for g_once_init_enter/leave
10423  660744 finish killing g_thread_init()
10424  660745 GPrivate leaks on Windows
10425  660791 [gio] Improve doc for g_file_make_directory_with_parents()
10426  660843 asyncqueue-test is broken
10427  660849 Remove cruft from g_strerror and g_strsignal
10428  660886 GDBusProxy: don't drop/complain about unknown props/signals
10429  660887 g_slice_set_config() is broken
10430  660994 Add g_main_context_ref_thread_default()
10431  661255 gio: enable test_peer regression test for OpenBSD
10432  661257 giomodules.c uses ":" instead of G_SEARCHPATH_SEPARATOR_S
10433  661318 tests use pthread without appropriate compiler/linker flags
10434  661421 Applications fail to initialize on GNU Hurd - commit
10435  661438 Implement G_GNUC_DEPRECATED/G_GNUC_DEPRECATED_FOR on Visual C++
10436  661711 Sorting keys for GDrive, GVolume and GMount instances
10437  661763 desktop-app-info: Add support for X-GNOME-Keywords
10438  661896 /gdbus/connection/life-cycle is racy
10439  661914 Gstreamer/Totem locks up
10440  662100 regression: g_dbus_connection_close() triggers exit-on-close logic
10441
10442 * Translations updates:
10443  Belarusian 
10444  Brazilian Portuguese
10445  British English 
10446  Bulgarian 
10447  Catalan 
10448  Catalan (Valencian)
10449  Czech 
10450  Danish 
10451  Esperanto
10452  French 
10453  Gujarati
10454  Hebrew 
10455  Hungarian 
10456  Italian 
10457  Japanese
10458  Lithuanian
10459  Norwegian bokmål
10460  Oriya
10461  Polish 
10462  Russian 
10463  Serbian
10464  Simplified Chinese
10465  Slovak 
10466  Slovenian
10467  Spanish 
10468  Tamil
10469  Vietnamese
10470
10471 Overview of changes from GLib 2.29.18 to 2.29.90
10472 ================================================
10473
10474 * GObject includes a generic marshaller, g_cclosure_marshal_generic.
10475   To use it, simply specify NULL as the marshaller in g_signal_new().
10476   The generic marshaller is implemented with libffi, and consequently
10477   GObject depends on libffi now.
10478
10479 * API/ABI changes:
10480  - unix signal watches now match the API of all of the other sources
10481  - revert the addition of g_date_time_source_new () from last release
10482
10483 * networking and other fixes for Solaris
10484  - we no longer support symbolic port names (ie: from /etc/services)
10485  - check if -lsocket is needed
10486  - fix g_socket_details_from_fd()
10487  - avoid getmntinfo
10488  - fix some harmless warnings
10489
10490 * GDateTime improvements:
10491  - generally improved standards compliance (with C99)
10492  - support C99-specified format strings: %g, %G, %V, %c, %C, %w
10493  - consult the locale for the preferred 12-hour time format (%r)
10494  - drop support for non-standard %N and broken %W
10495  - better support for formatting non-POSIX (eg: Arabic) numerals
10496  - locale-related test case fixups, and fix some leaks
10497
10498 * GTlsInteraction: add interaction method invocation guarantees
10499
10500 * gdbus-codegen: post-process all interfaces when parsing >1 file
10501
10502 * make GMainLoop, GMainContext and GSource boxed types
10503
10504 * fix a race condition in the first use of g_get_monotonic_time()
10505
10506 * lots gtk-doc cleanups
10507
10508 * better intltool compatibility when generating pot file
10509
10510 * avoid GCC-specific compiler options when not using GCC
10511
10512 * Translation updates:
10513  Belarusian
10514  Brazilian Portuguese
10515  Canadian English
10516  Galician
10517  Indonesian
10518  Korean
10519  Lithuanian
10520  Norwegian bokmål
10521  Portuguese
10522  Spanish
10523  Swedish
10524
10525 Overview of changes from GLib 2.29.16 to 2.29.18
10526 ================================================
10527
10528 * GDateTime is now respecting LC_TIME when formatting
10529
10530 * GTimeZoneMonitor has been removed again
10531
10532 * A new API for wallclock functionality has been added:
10533   g_date_time_source_new(). This API is still experimental
10534   and may be changed or removed before 2.30.
10535
10536 * Bugs fixed:
10537  628904 Add credential support for FreeBSD and fix a socket issue
10538  650763 gdbus-codegen is broken with python 2.7
10539  655129 GDateTime could provide api for implementing wall clocks
10540  656341 gtlsconsoleinteraction.c uses getpass() which isn't avail...
10541  656387 GCancellable can be used concurrently
10542  656443 Make GTlsInteraction ask_password cancellable
10543  656675 void functions should not return in glib 2.29.16
10544  656772 g_variant_compare for uint64 incorrect
10545  656914 Load GIO_EXTRA_MODULES first, and ignore duplicates
10546  657083 The header langinfo.h is not available on all systems
10547  657084 gfileutils: fix docs/annotations for temp file methods
10548  657138 Some files missing in POTFILES.in
10549  657206 GInputStream leaked in g_file_icon_load_async()
10550  657243 g_cancellable_set_error_if_cancelled() documentation
10551  657274 Use detected PYTHON variable as shebang for gdbus-codegen
10552  657336 Speling fixes for glib found with codespell
10553  657452 plural forms needed
10554  657454 Translation comment needed
10555  657540 Print out file:// URL to coverage HTML report after building
10556  657593 g_test_trap_fork calls close(-1)
10557  646082 Addresses from GSocket should be normalized before returning
10558  657517 fix gio/tests/gdbus-peer on bsd
10559
10560 * Translation updates:
10561  Brazilian Portuguese
10562  Galician
10563  Norwegian bokmål
10564  Punjabi
10565  Russian
10566  Serbian
10567  Spanish
10568  Swedish
10569  Traditional Chinese
10570  Uighur
10571
10572
10573 Overview of changes from GLib 2.29.14 to 2.29.16
10574 ================================================
10575
10576 * GTlsDatabase: an abstract class that provides support
10577   or certificate and key lookup. An implementation will
10578   be provided in glib-networking
10579
10580 * GHmac: Support or HMAC digests
10581
10582 * Misc new API:
10583  - g_ptr_array_add_full: creates a GPtrArray with
10584    a preallocated size and a destroy function
10585  - g_desktop_app_info_get_show_in: checks if a GDesktopAppInfo
10586    should be shown in a given desktop environment
10587  - g_mkdtemp, g_mkdtemp_full, g_dir_make_tmp: create
10588    temporary directories
10589
10590 * Unify thread wakeup implementations of GMainContext
10591   and GCancellable, and use eventfd for it when available
10592
10593 * Show mounts in $XDG_USER_DIR in addition to /media and $HOME
10594
10595 * Bugs fixed:
10596  636572 GTlsCertificateDB
10597  644601 Some tests need a running dbus session
10598  652284 deal with small key lengths
10599  652827 glib-2.29.8 no longer builds with mingw.org's toolchain
10600  653063 PEM parser fails parsing private key when put first
10601  654078 Fail to static linking with Glib library
10602  654450 New functions: g_ptr_array_new_full()
10603  654793 Add G_VALUE_INIT
10604  655044 GDesktopAppInfo: Add g_desktop_app_info_get_show_in()
10605  655148 gdbusconnection is broken when compiling with mingw
10606  655241 glocalfile.c no longer compiles with MinGW GCC
10607  655598 g_cancellable_get_fd: silently return -1 for NULL cancellable
10608  655664 gdbus should not abort if no dbus session is available
10609  655769 Use ZLIB_CFLAGS when compiling gio
10610  656031 Improve GVariant annotations
10611  656048 glib-codegen requires Python >= 2.5
10612  656151 configure test logic inverted, doesn't match comments
10613  656152 GCC only syntax used, yet other compilers allowed by configure.
10614  656162 allow use of lcov 1.9 for coverage
10615  656282 GDBusProxy: uninitialized local variables can be freed
10616  656283 Failing tls connection cause assertion
10617  118563 Add g_mkdtemp in the spirit of g_mkstemp
10618  636405 Add g_return_if_fail() to g_settings_bind_with_mapping()
10619  656039 race condition between GDBusProxy signals and public API
10620  656492 g_io_channel_new_file failure (open(2) behavior wrt POSIX)
10621
10622 * Translation updates:
10623  Bulgarian
10624  Esperanto
10625  French
10626  Galician
10627  German
10628  Hebrew
10629  Indonesian
10630  Italian
10631  Norwegian bokmål
10632  Russian
10633  Spanish
10634  Swedish
10635
10636
10637 Overview of changes from GLib 2.29.12 to 2.29.14
10638 ================================================
10639
10640 * Unicode improvements
10641  - add g_unicode_script_{to,from}_iso15924
10642  - add G_UNICODE_SPACING_MARK define
10643  - more normalisation improvements
10644  - stop using deprecated g_unicode_canonical_decomposition()
10645
10646 * GParamSpec:
10647  - mark the 'name' field as 'const' and add a comment to the header to
10648    help avoid future problems caused by bad hacks
10649
10650 * Merge some (modified) patches from Debian:
10651  - 03_blacklist-directories.patch
10652    - add some blacklisted mount directories
10653  - 60_wait-longer-for-threads-to-die.patch
10654    - sleep longer in a test case, if needed to avoid failing
10655
10656 * Units policy change: prefer use of SI units
10657  - deprecate g_format_size_for_display, add g_format_size(_full)
10658
10659 * GSettings: don't call g_error() when the schema is missing
10660
10661 * GVariant support for arrays of object paths:
10662  - new g_variant_{new,get,dup}_objv API
10663  - support for g_variant_{new,get} '^ao' and '^a&o' similar to '^as'
10664
10665 * GDBus:
10666  - use new improved array-of-objects support and pass 'ao' as char**
10667    instead of GVariant*
10668  - improve handling of 'h' type (Unix file descriptor index)
10669
10670 * GIO:
10671  - fix compilation without USE_STATFS and USE_STATVFS
10672
10673 * Documentation fixes
10674
10675 * Bugs fixed:
10676  622921 Migrate from dbus-glib to glib's GDBus
10677  648271 Add g_unicode_script_to_iso15924()
10678  654948 Stop using deprecated g_unicode_canonical_decomposition()
10679  654988 g_atomic_int_add should document behaviour change
10680  655025 #define G_UNICODE_SPACING_MARK G_UNICODE_COMBINING_MARK
10681  655076 normalization misses some Full_Composition_Exclusion=True. 
10682
10683 * Translations updated:
10684  Spanish
10685
10686 Overview of changes from GLib 2.29.10 to 2.29.12
10687 ================================================
10688
10689 * Add new API to do Unicode (de-)composition in atomic steps,
10690   for use in Harfbuzz.
10691
10692 * Bugs fixed:
10693  615895 (indirectly) support non-NULL-terminated regexes in GRegex
10694  617949 glib trunk fails to compile on Solaris w/ Studio 12...
10695  620423 Document the possibility to unset attributes
10696  627974 Floating reference headaches
10697  644687 Not finding cross-links in current doc set
10698  649246 g_output_stream_splice() cannot be used on 32-bit machines...
10699  653841 a helper script to build glib from git master on win32
10700  653935 g_slist_free_full/g_list_free_full iterates twice in the list
10701  654017 tests: fix glib_translations_work() in gsettings unit test
10702  654085 Don't needlessly use "echo -e" when creating .def files
10703  654195 Add g_unichar_compose() and g_unichar_decompose()
10704  654232 GCancellable eventfd problems
10705  654394 suspicious use of floating references in GDBusInterfaceSkeleton
10706  654536 GSettings: lift key name length restriction to 64
10707  654627 GParamSpec: intern property names
10708  654651 Better g_unicode_canonical_decomposition()
10709  654917 Make g_cclosure_marshal_generic the default signal handler
10710
10711 * Translation updates:
10712  Belarusian
10713  Finnish
10714  Korean
10715  Latvian
10716  Lithuanian
10717  Norwegian bokmål
10718  Turkish
10719
10720
10721 Overview of changes from GLib 2.29.8 to 2.29.10
10722 ===============================================
10723
10724 * New features:
10725  - g_desktop_app_info_get_nodisplay: a function that is required
10726    to port gnome-menus to GDesktopAppInfo
10727  - g_hash_Table_iter_replace: new function to replace a value
10728    while iterating over a hash table
10729  - g_utf8_substring: convenience API to extract substrings from
10730    UTF-8 strings
10731  - g_action_group_add_entries: convenience API for creating lots
10732    of actions quickly
10733  - Use eventfd instead of pipes for waking up main contexts and
10734    for cancellation when available
10735  - GMatchInfo is now a refcounted boxed type
10736
10737 * API changes in GAction:
10738  - the 'set_state' entry in the GActionInterface vtable has been
10739    renamed to 'change_state
10740  - g_action_set_state has been renamed to g_action_change_state
10741  - the 'state' property has been changed to read-only
10742  - GSimpleAction can no longer be subclassed
10743
10744 * Bug fixes
10745  647796 g_variant_new_variant is not marked as constructor
10746  652072 gmain: make use of signalfd()
10747  652168 Crosscompiling Fails if build<=2.24 and host >2.24
10748  652750 make dist fails
10749  652758 GDataInputStream: Clarify g_data_input_stream_read_line docs...
10750  652822 Add a g_hash_table_iter_replace
10751  652897 tiny docs clarification for g_utf8_to_ucs4_fast
10752  653140 gmain: use Linux eventfd() for main context wake up
10753  653429 drop AM_MAINTAINER_MODE or enable it by default
10754  653484 GAsyncCallbacks should default to allow-none
10755         Add missing fundamental types to the generic marshaller
10756
10757 * Translation updates
10758  Belarusian
10759  Galician
10760  Russian
10761
10762 Overview of changes from GLib 2.29.6 to 2.29.8
10763 ==============================================
10764
10765 * Bug fixes
10766  646608 export_symbols variable for gio dynamic library is wrong
10767  646635 Fix introspection of GLib
10768  647930 Documentation: GDataInputStream _read_upto() version
10769  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
10770  651920 Improve qsort_r detection
10771  651959 gbitlock: "asm goto" is not available in gcc < 4.5
10772  651998 gdbus-codegen: Use relative Python imports
10773  652000 Fix for gatomic.c on Windows/MSVC
10774  652002 Proposal to clean up gvaluetransform.c for MSVC
10775  652025 g_dbus_connection_register_object: error is not set...
10776  652081 Typos in a GBinding warning message
10777  652197 Improper handling of double values in GDBusMessage
10778         Fix a deadlock in gobject finalization
10779
10780 * Translation updates:
10781  Czech
10782  Galician
10783  German
10784  Hebrew
10785  Norwegian bokmål
10786  Spanish
10787  Uighur
10788
10789
10790 Overview of changes from GLib 2.29.4 to 2.29.6
10791 ==============================================
10792
10793 * Atomic operations have been rewritten from scratch to make use
10794   of gcc builtins where possible. As a side-effect of this, calls
10795   to g_atomic_ API with explicit casts may now be problematic; if
10796   that happens to you, try first to remove the casts. Another
10797   side-effect of the rewrite is that g_atomic_int_exchange_and_add
10798   has been deprecated in favor of g_atomic_int_add.
10799
10800 * A full set of atomic operations on pointers has been added,
10801   including bit locks in pointer-size locations.
10802
10803 * Access to quarks is now lockless
10804
10805 * GObject data scalability has been greatly improved
10806
10807 * g_data_time_format now supports alternative digits and padding
10808
10809 * Introspection improvements:
10810  - Add a boxed type for GVariantBuilder
10811  - Annotation fixes in GDBus, GVariant, g_base64_
10812
10813 * Bugs fixed:
10814  502560 g_rand_double_range returns 'inf'
10815  612729 g_mkdir_with_parents can fail if the directory already exists
10816  617491 g_once() implementation is inefficient
10817  619418 Add a performance test for UTF-8 decoding functions
10818  619435 Make g_utf8_to_ucs4_fast() yet faster
10819  626549 G_STATIC_ASSERT_EXPR
10820  631231 bitlock: Fix detection and usage of futexes with Bionic
10821  632294 g_queue_remove() should return a boolean
10822  640518 GMainLoop has quadratic complexity when all pollfd's...
10823  642026 Race condition in g_static_private_free
10824  646635 Fix introspection of GLib
10825  648678 g_date_time_format(): support %O flags for localized numbers
10826  649480 Use MSG_CMSG_CLOEXEC in recvmsg in gio/gsocket.c
10827  649506 GTestFunc et al lacking Since tag
10828  649657 Don't return gboolean for functions that throw
10829  649775 glib-gio-gdbuscodegen-Makefile.patch
10830  649915 gsettings accepts unquoted strings longer than two characters
10831  649973 gthread: build unix tests only on unix
10832  649988 gdbus-codegen: Drop dependency on argparse
10833  650078 forkbomb building glib/tests/protocol
10834  650211 Optimization in key file parsing
10835  650236 Application over DBus implements action state incorrectly
10836  650345 g_key_file_has_key_full: New function to fix g_key_file_has_key...
10837  650458 reduce overhead in g_object_set/get_data
10838  650459 hash table consistency while calling destroy notify funcs
10839  650688 enforce rules about hash table modification
10840  650823 expand the set of atomic ops
10841  650874 codegen chokes on docs
10842  650882 use stdout instead of stderr for informational messages
10843  650884 fix compilation with gcc2
10844  650885 implement glib credentials on OpenBSD (hackish)
10845  650935 G_GNUC_MAY_ALIAS and atomic ops
10846  651009 minor documentation fix
10847  651034 Regarding g_cond_wait after g_thread_pool_push in gthreadedresolver
10848  651133 race condition in GDBusConnection's emit_signal_instance_in_idle_cb
10849  651141 hashtable infinite loop
10850  651219 fix path to true(1) on OpenBSD
10851  651223 Fix some compile warnings on OpenBSD
10852  651327 Minor fixes for the gsocket API
10853  651467 Add pointer sized bitlocks
10854  651650 gdbus: Avoid busy wait loop
10855  651725 gmain: Cleanups and a new test case
10856  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
10857
10858 * Updated translations:
10859  Catalan (Valencian)
10860  Esperanto
10861  Hebrew
10862  Hungarian
10863  Russian
10864  Spanish
10865
10866
10867 Overview of changes from GLib 2.29.2 to 2.29.4
10868 ==============================================
10869
10870 * GDBus:
10871  - Includes several new types to support modeling D-Bus
10872    objects and interfaces more fully, and also introduces
10873    an 'object manager' pattern:
10874    GDBusInterface, GDBusObject, GDBusObjectManager
10875    These interfaces have client-side implementations:
10876    GDBusProxy, GDBusObjectProxy, GDBusObjectManagerClient
10877    And server-side implementations:
10878    GDBusInterfaceSkeleton, GDBusObjectSkeleton, GDBusObjectManagerServer
10879  - The new gdbus-codegen utility uses these new classes
10880    to generate C code and documentation from D-Bus interface
10881    descriptions in XML
10882
10883 * GTest:
10884  - There is now a g_test_fail() function to mark
10885    tests as failed
10886
10887 * GDesktopAppInfo
10888  - Now has a binding-friendly filename property
10889  - Other new API to more fully expose desktop file contents:
10890    g_desktop_app_info_get_categories(),
10891    g_desktop_app_info_get_generic_name()
10892
10893 * GHashTable:
10894  - Several optimizations to reduce space consumption of
10895    large hash tables, in particular tables that are used
10896    to store sets.
10897
10898 * Unix-specific APIs:
10899   GLib now installs a separate header, glib-unix.h, that is
10900   meant to collect Unix-specific APIs. For now, it contains
10901   g_unix_open_pipe(), g_unix_set_fd_non_blocking() for dealing
10902   with pipes and fds, as well as APIs to create mainloop
10903   sources which can trigger callbacks on certain Unix
10904   signals (SIGTERM, SIGHUP, SIGINT).
10905
10906 * Bugs fixed:
10907  631379 GDBus nonce-tcp test failing
10908  632631 GLib-CRITICAL **: g_variant_new_string: assertion `g_utf8_validate (string, -1, NULL)' failed
10909  635694 gdbus aborting due to unauthorized socket in DBUS_SESSION_BUS_ADDRESS
10910  637561 Crash when using G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
10911  642935 g_date_time_format() prints wrong value for %z and timezone -0800
10912  643134 g_dbus_message_copy
10913  644941 glib-unix: New Unix-specific API
10914  646013 g_hash_table_remove_all_nodes optimization
10915  646309 glib cannot be cross-compilled for mingw32
10916  646435 GTimeZone doesn't seem to be thread-safe
10917  646957 GIO chained calls don't work with a thread default context
10918  647594 README link to mailing list is broken
10919  647602 Cannot connect to remote message bus via TCP
10920  647746 The GSocketService documentation is incomplete.
10921  647826 API: gtester: Add g_test_fail()
10922  647903 GDesktopAppInfo: Add g_desktop_app_info_get_categories()
10923  648416 g_app_info_create_from_commandline ignores SUPPORTS_STARTUP_NOTIFICATION
10924  648423 Support G_DEBUG=trap-warnings
10925  648425 GDesktopAppInfo: Add "filename" property for bindings
10926  648966 Update g_unichar_iswide and g_unichar_iswide_cjk
10927
10928 * Updated translations
10929  Norwegian bokmål
10930  Spanish
10931  Turkish
10932  Uighur
10933
10934
10935 Overview of Changes from GLib 2.28.0 to 2.29.2
10936 ==============================================
10937
10938 * GApplication
10939  - The documentation has been enhanced and clarified
10940  - An opt-out for uniqueness has been added: G_APPLICATION_NON_UNIQUE
10941  - GApplication now syncs settings before g_application_run() returns
10942
10943 * GDBus
10944  - Interface lookups are now happening in constant time
10945  - Signature checking and handling of various unexpected
10946    situations has been improved
10947
10948 * GVariant
10949  - The format accepted by the GVariant parser has beend documented
10950  - GVariant accepts G_VARIANT_TYPE_VARDICT for a{sv}
10951
10952 * GDateTime:
10953  - The return value of g_datetime_compare() has been fixed to
10954    match strcmp() semantics
10955  - In order to handle problems with changing timezones, a GTimeZoneMonitor
10956    has been added to GIO, and g_time_zone_refresh_local() can be
10957    called to update the cached information about the local timezone
10958
10959 * GOption now uses /proc/self/cmdline to set the program name instead
10960   and only falls back to "<unknown>" if that is unavailable
10961
10962 * GSettings:
10963  - The schema compiler now warns about references to non-existing schemas
10964
10965 * Commandline utilities are now fully translated
10966
10967 * Signals can now indicate that collecting their arguments must
10968   always happen, even in the absence of connected signal handlers,
10969   using the G_SIGNAL_MUST_COLLECT flag.
10970
10971 * Bugs fixed:
10972  635099 Memory leak in gdbus introspection when parsing xml
10973  640489 $ and ^ do not match lines if G_REGEX_MULTILINE|G_R...
10974  642042 Overriding GDBus org.freedesktop.DBus.Properties im...
10975  642052 g_timeout_add(_seconds) cannot handle large intervals
10976  642490 notify_desktop_launch() "g_variant_new_bytestring:...
10977  613269 g_type_get_qdata() doesn't work as I expected on subtypes
10978  624943 G_VALUE_NOCOPY_CONTENTS is undocumented
10979  637738 object_interface_check_properties never actually executes
10980  638185 GIOCondition should be annotated as "flags"
10981  639478 GDBusServer's g_dbus_server_new_sync() function should just...
10982  641755 Add g_settings_get/set_uint() helpers
10983  641768 dconf gsettings backend silently drops writes if it can't...
10984  642797 g_app_info_get_default_for_type() broken for subtypes
10985  642825 Unnecessary assertion failure in g_option_context_parse()
10986  642944 NULL key lookup using g_hash_table_lookup_extended()
10987  643074 Incorrect documentation for g_socket_receive() and g_socket...
10988  643197 g_application_id_is_valid docs imply no valid ids
10989  643468 GApplication docs: Warn that handling "command-line" means...
10990  643478 GApplication::local_command_line vfunc documentation seems wrong
10991  643624 Can g_variant_unref() on an already free'd variant
10992  643649 g_application_run() should say that argc/argv can be NULL
10993  643780 shouldn't need to create an action group to use actions...
10994  643795 g_timeout_add_seconds fires with intervals 1 second longer...
10995  644309 Program name is not set when using GtkApplication
10996  644428 Crash in failure section of g_markup_collect_attributes()
10997  644465 undefined reference to `_usleep'
10998  644552 g_timeout_add_seconds(1, ...) may have a latency of up to 2...
10999  644607 Correct internal definition of C_()
11000  645789 annotations for g_file_*_contents
11001  646039 g_settings_list_children() returns child that cannot be opened
11002  646310 Accept range with only min or max
11003  646420 g_dbus_method_invocation_get_parameters() docs should say...
11004  646843 occasional abort on autologin
11005  646985 add G_APPLICATION_NON_UNIQUE flag
11006  647579 gsettings: Implement reset-recursively
11007  647600 gsettings description has typo
11008
11009 * Translation updates
11010  Afrikaans
11011  Bulgarian
11012  Bengali India
11013  British English
11014  Bulgarian
11015  Catalan
11016  Czech
11017  Danish
11018  French
11019  Galician
11020  German
11021  Greek
11022  Gujarati
11023  Hebrew
11024  Hungarian
11025  Italian
11026  Japanese
11027  Korean
11028  Lithuanian
11029  Polish
11030  Portuguese
11031  Romanian
11032  Serbian
11033  Simplified Chinese
11034  Spanish
11035  Swedish
11036  Traditional Chinese
11037  Uighur
11038  Vietnamese
11039
11040
11041 Overview of Changes from GLib 2.27.93 to 2.28.0
11042 ===============================================
11043
11044 * The GApplication API has changed compared to the version that was
11045   included in the 2.25 development snapshots. Existing users will need
11046   adjustments.
11047
11048 * Bugs fixed:
11049 641363 GInitable documentation isn't clear about that finalize...
11050 641395 Add more data about the origin application to the "Lau...
11051 641411 gdesktopappinfo signals lost if it's the session bus...
11052 641477 glib-mkenums uses unportable #! line
11053 641572 Add @EXEEXT@ to pkgconfig binary name
11054 641688 glib installs GSettings.html and gsettings.html
11055
11056 * Translation updates:
11057  Galician
11058  Italian
11059  Korean
11060  Punjabi
11061
11062
11063 Overview of Changes from GLib 2.27.92 to 2.27.93
11064 ================================================
11065
11066 * Bugs fixed:
11067  637013 gio/gdbusmessage.c fails to compile on Solaris
11068  640192 Error creating a Gio.Settings object through py...
11069  640261 Minimum version for external pcre needs to be..
11070  640262 GActionGroup contains redundant TYPE macros
11071  640436 Make load_user_special_dirs() resistant to non...
11072  640695 g_key_file_load_from_file() mishandles a CR-LF...
11073  640724 can't compile gio due to format string issues
11074  640725 can't compile tests due to format string issue
11075  640807 improve GVariant behaviour with invalid pointers
11076  640823 wrong documentation for g_source_add_child_source
11077
11078 * Translation updates:
11079  Bulgarian
11080  Galician
11081  Hebrew
11082  Norwegian bokmål
11083  Spanish
11084  Traditional Chinese
11085
11086
11087 Overview of Changes from GLib 2.27.91 to 2.27.92
11088 ================================================
11089
11090 * Update to Unicode 6.0
11091
11092 * Update PCRE to 8.12
11093
11094 * Bugs fixed:
11095  637696 g_unix_connection_send_fd() doesn't work
11096  638872 null settings backend bug
11097  640042 GtkApplication's warning about not connecting...
11098
11099 * Translation updates:
11100  Arabic
11101  Basque
11102  Estonian
11103  Greek
11104
11105 Overview of Changes from GLib 2.27.90 to 2.27.91
11106 ================================================
11107
11108 * Bugs fixed:
11109  638838 gdesktopappinfo: Don't crash if we don't have a desktop filename
11110  638894 Splitting on \s* gives no result
11111  639064 Update gschema.dtd
11112  639084 Copy/paste error in GSettings::writable-changed signal
11113  639177 SIGSEGV for GApplications with G_APPLICATION_IS_SERVICE
11114
11115 * Translation updates:
11116  Estonian
11117  Galician
11118  Indonesian
11119
11120
11121 Overview of Changes from GLib 2.27.5 to 2.27.90
11122 ===============================================
11123
11124 * Test reports created by gtester-report can now
11125   include revision information
11126
11127 * The g_desktop_app_info_launch_* family of functions
11128   now emit a DBus signal when an application is launched.
11129   Additionally, there is a new variant
11130   g_desktop_app_info_launch_uris_as_manager(), which
11131   gives more control over the launched process.
11132
11133 * The memory and null GSettings backends are now available
11134   as public API
11135
11136 * g_get_locale_variants() is a new function that returns a
11137   list of variants of a locale identifier
11138
11139 * Bugs fixed:
11140  587898 I/O timeouts for GSocket
11141  606960 gio: Add extension point for informing parties...
11142  631980 Handle an optional <revision> node in the report...
11143  634569 Document that g_variant_builder_add_value consumes...
11144  635998 Make _g_compute_locale_variants public
11145  636806 Add g_{memory,null}_settings_backend_get_default
11146  637262 Need a binary DER version of ::accepted-cas
11147  637544 Skip fsync() on btrfs
11148  637720 void functions should not return a value.
11149  637738 object_interface_check_properties never actually...
11150  637759 GIOChannel: fix a crash in g_io_channel_read_chars()
11151  637852 Updates to glib.vsprops file for MSVC 2008 builds...
11152  637858 Updates to test/testglib.c...
11153  638349 parameter name of g_variant_new_* may conflict...
11154
11155 * Translation updates:
11156  Hebrew
11157  Norwegian bokmål
11158  Simplified Chinese
11159  Spanish
11160  Swedish
11161  Uyghur
11162  Vietnamese
11163
11164
11165 Overview of Changes from GLib 2.27.4 to 2.27.5
11166 ==============================================
11167
11168 * Network support:
11169  - Add g_tls_certificate_verify() to verify a certificate
11170  - Add GTlsConnection:use-system-certdb
11171  - Other TLS api additions
11172
11173 * GIO:
11174  - Add g_io_stream_splice_async()/_finish() to splice two iostreams
11175  - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon derivable
11176  - Remove GPeriodic; it did not receive the necessary review and
11177    integration work to declare it stable
11178
11179 * GSequence:
11180  - New methods g_sequence_lookup() and g_sequence_lookup_iter()
11181
11182 * Bugs fixed:
11183  617254 Missing g_sequence_lookup
11184  632544 g_dbus_connection_send_message can not send a locked message...
11185  633350 g_hostname_to_ascii() ignores non-ascii dots
11186  634583 Better error reporting for g_variant_parse()
11187  635007 gsetting enum rule don't work for out-of-srcdir builds
11188  635626 GDBus message idle can execute while flushes are pending
11189  636100 Can't read GSettings:backend property
11190  636305 Typo on g_queue_remove_all() function description
11191  636311 appinfo: tweak application positioning for content-types
11192  636351 g_simple_async_result_is_valid lacks a version tag
11193  636387 gdb autoload files shadow the "dir" builtin
11194  636673 g_simple_async_report_error_in_idle should allow object...
11195  637147 Add a "delay-apply" property to GSettings
11196  637171 emblemedicon: add g_emblemed_icon_clear_emblems()
11197  637237 gapplication: plug a memory leak
11198
11199 * Translation updates:
11200  Estonian
11201  Galician
11202  Hebrew
11203  Norwegian bokmål
11204  Simplified Chinese
11205  Spanish
11206  Traditional Chinese
11207  Vietnamese
11208
11209
11210 Overview of Changes from GLib 2.27.3 to 2.27.4
11211 ==============================================
11212
11213 * GIO
11214  - Mounts are treated as hidden if they have a path element
11215    that starts with a dot
11216  - GAppInfo gained API to differentiate between recommended
11217    and fallback mime handlers
11218  - g_cancellable_create_source: creates a GSource that triggers
11219    when the GCancellable is canceled
11220  - GPollableInput/OutputStream: Interfaces for pollable streams
11221  - TLS support has landed, with an extension point that is
11222    implemented in glib-networking
11223
11224 * GLib
11225  - Mainloop sources can now have 'child sources'
11226  - g_get_runtime_dir: New function to return the XDG_RUNTIME_DIR
11227
11228 * Bugs fixed:
11229  530786 GFileMonitor "changed" signal underdocumented
11230  588189 TLS support for GSocket*
11231  630357 g_object_new_valist uses uninitialized memory
11232  630559 typo in public string in gsocks: 'The SOCKSv5 require...
11233  632445 Documentation refers to removed GNOME 2.0 porting guide
11234  634239 Child GSources
11235  634241 Add pollable input/output streams
11236  634504 allow passing a NULL emblem to g_emblemed_icon_new()
11237  634613 unsufficient g_get_user_runtime_dir() documentation
11238  635640 schema should inherit gettext-domain from schemalist
11239  635768 Protect g_file_monitor_set_rate_limit() against negative...
11240  635882 Fix the wrong-category schema test
11241  635187 Wrong type of GVariant received in an action...
11242
11243 * Updated translations:
11244  Galician
11245  Italian
11246  Norwegian bokmål
11247  Uyghur
11248
11249
11250 Overview of Changes from GLib 2.27.2 to 2.27.3
11251 ==============================================
11252
11253 * The GTimeSpec type that was introduced in the 2.27.2 has been
11254   dropped again in favour of APIs that return microseconds as
11255   64-bit integer.
11256   Affected functions:
11257   g_source_get_time
11258   g_periodic_unblock
11259   g_get_monotonic_time
11260   g_get_real_time
11261   The similar GTimeVal struct is still around, but its use is
11262   discouraged.
11263
11264 * GTimer is now using monotonic time unconditionally
11265
11266 * There are some new functions to facilitate error reporting
11267   in async GIO APIs:
11268   g_simple_async_result_take_error
11269   g_simple_async_result_new_take_error
11270   g_simple_async_report_take_gerror_in_idle
11271
11272 * There is new convenience API to us GVariant dictionaries:
11273   g_variant_lookup
11274
11275 * It is now possible to delay sending match rules to the
11276   D-Bus daemon in GDBus:
11277   G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE
11278
11279 * Support has been added for XDG_RUNTIME_DIR:
11280   g_get_user_runtime_dir
11281
11282 * Various fixes for Win64/MSVC builds have been committed
11283
11284 * Bugs fixed:
11285  620263 Add g_clear_object, g_clear_pointer, g_clear_boxed
11286  633075 update Project Files and sources for MSVC 2008/C89
11287  633381 gsettings Makefile rules should handle empty list...
11288  633685 Use g_simple_async_result_{new_,}take_error
11289  633686 Add g_simple_async_report_take_gerror_in_idle
11290
11291 * Translation updates:
11292   Belarusian
11293   Galician
11294   Hebrew
11295   Punjabi
11296   Spanish
11297
11298
11299 Overview of Changes from GLib 2.27.1 to 2.27.2
11300 ==============================================
11301
11302 * GApplication
11303  - Export actions over DBus and support activating them from remote instances
11304  - Support environment passing
11305
11306 * GSettings
11307  - The gsettings utility has a list-recursively command
11308  - The gsettings utility has commandline completion for enum values
11309
11310 * GLib is now linked against librt and uses monotonic time for
11311   timeouts and GPeriod sources. GSource has a new g_source_get_time()
11312   which returns monotonic time, and g_source_get_current_time() has
11313   been deprecated
11314
11315 * Bugs fixed:
11316  158725 free linked list with data
11317  626320 GVariant: Avoid locking in g_variant_get_child_value() if possible
11318  629247 add gsimpleasyncresult methods to take over a GError
11319  629274 GNetworkService does not do fallback when there is no SRV record
11320  631264 gsettings-tool choice/range support
11321  631482 g_date_time_from_instant: 1000000000000000000
11322  632169 docs for manual use of gsettings-data-convert
11323  632571 Add equivalent to gconftool-2's -R option
11324  633115 GSettings m4 doesn't fail the build for broken schemas
11325  633206 Default g_application_local_command_line() doesn't set exit_status...
11326  633339 support more complex gapplication setups
11327  633356 Make timeout G_MAXINT mean "no timeout"
11328
11329 * Translation updates:
11330  Catalan (Valencian)
11331  Indonesian
11332  Japanese
11333
11334
11335 Overview of Changes from GLib 2.27.0 to 2.27.1
11336 ==============================================
11337
11338 * GDateTime now has full week number support.
11339   New API: g_date_time_get_week_numbering_year
11340
11341 * The GSettings schema compiler will now skip over
11342   broken .xml schema files instead of aborting altogether
11343
11344 * GSettings now works properly on bigendian systems
11345
11346 * GSettings has more complete support for ranges
11347   New API:
11348     g_settings_get_range
11349     g_settings_range_check
11350   The gsettings commandline tool supports ranges too.
11351
11352 * GApplication has been rewritten; see the API docs for details
11353   and examples. The action support is not complete yet.
11354
11355 * The GLib mainloop has gained 'dispatch to context' functionality,
11356   which can replace manually created idles in many cases.
11357   New API:
11358     g_main_context_invoke
11359     g_main_context_invoke_full
11360
11361 * The gio-desktop-app-info-lookup extension point has been
11362   removed from GIO. GIO now uses x-scheme-handler mimetypes when
11363   looking for default applications.
11364
11365 * On win32, make g_get_user_data_dir() return the CSIDL_LOCAL_APPDATA
11366   folder on Windows, and not CSIDL_PERSONAL. This matches what Qt does,
11367   and has been widely requested. Also make g_get_user_config_dir() return
11368   this and not the (roaming) CSIDL_APPDATA folder.
11369
11370 * A periodic event clock has been added in GIO: GPeriodic. Note that this
11371   API is still experimental and expected to undergo changes before it
11372   will be incorporated into a stable GLib release. Use at your own risk.
11373
11374 Bug fixes:
11375  613822 gobject signal connect/disconnect not thread safe
11376  618737 "dispatch to context" functionality
11377  620710 g_get_user_data_dir() uses CSIDL_PERSONAL and not CSIDL_APPDATA
11378  623400 acquire context before dispatching
11379  627126 gsettings schema files don't get installed on FreeBSD
11380  627171 g_socket_new_from_fd() doesn't set the right protocol
11381  628876 Wrong error description
11382  628937 gracefully handle broken schemas
11383  629274 GNetworkService doesn't fallback when there is no SRV record
11384  629289 g_error() used wrong, produces core dump
11385  629687 leaks class refcount in gsocketcontrolmessage
11386  629849 GLib-CRITICAL **: g_source_get_context: assertion `!SOURCE_...
11387  629945 GDBus deadlock in g_bus_get_sync()
11388  630000 g_date_time_difference
11389  630077 GDateTime week number support
11390  630185 Allow NULL strings in g_quark_try_string()
11391  630797 docs mention non-existent g_object_dispose()
11392  630968 gschema-compile problems on power g5
11393  631263 GSettings needs range/choice APIs
11394  631264 gsettings-tool choice/range support
11395  631379 GDBus nonce-tcp test failing
11396  631410 Port gapplookupgconf.c to using x-scheme-handler/
11397  632884 Possible deadlock in g_object_remove_toggle_ref()
11398
11399 Transation updates:
11400  Basque
11401  Brazilian Portuguese
11402  British English
11403  Bulgarian
11404  Czech
11405  Dutch
11406  Estonian
11407  French
11408  Galician
11409  German
11410  Greek
11411  Hebrew
11412  Hungarian
11413  Japanese
11414  Lithuanian
11415  Polish
11416  Portuguese
11417  Romanian
11418  Simplified Chinese
11419  Slovenian
11420  Spanish
11421
11422
11423 Overview of Changes from GLib 2.25.15 to GLib 2.27.0
11424 ====================================================
11425
11426 Build:
11427   - massive restructuring to reduce #include abuse
11428   - tweaks to silence some harmless compiler warnings
11429   - rename gschema-compile.c to glib-compile-schemas.c
11430   - Windows fixes
11431   - fix building with zlib < 1.2.4 on win32
11432
11433 GDateTime:
11434   - better msgctxt for translating month and weekday names
11435   - API is changed quite a lot, implementation is improved
11436   - GTimeZone is now exposed
11437
11438 GObject:
11439   - make ordering for overridden interface properties consistent
11440   - ->priv structures are limited to 64k but this was not documented,
11441     and exceeding this limit produced bad results.  Add docs and enforce
11442     the limit properly.
11443   - add g_object_class_install_properties() to install multiple
11444     properties in one go
11445   - improve debugging output for GValue containing G_TYPE_STRV
11446
11447 GIO:
11448   - fix priority sorting of GIO extensions
11449   - add GCredentials support on FreeBSD
11450   - fix support for IPv6 addresses in URI parsing functions
11451   - GSocketClient fixes for when g_socket_connect succeeds immediately
11452   - clarify string encoding for GFile constructors in docs
11453   - new functions g_data_input_stream_read_upto{,async,finish}
11454   - tweak confusing documentation for g_output_stream_write()
11455
11456 GDBus:
11457   - GDBusMessage can now be locked and copied (like in libdbus)
11458   - GDBusConnection filter function API has changed again
11459   - GDBusServer: ::new-connection now declares if the connection was claimed
11460   - add a partial workaround for GObject bug 627724.
11461   - very many memory leaks fixed
11462
11463 GVariant:
11464   - check for size == 0 in g_variant_get_bytestring to avoid a crash
11465     when attempting to get_bytestring() from an empty array
11466   - improve gobject-introspection annotations
11467
11468 GSettings:
11469   - add GSettings Windows registry backend
11470   - some internal tweaks to the backend API
11471   - remove g_settings_list_items
11472   - add g_settings_list_children and _list_keys to replace it
11473   - add schema compiler restrictions for dealing with lists
11474   - don't automatically emit value changed signals on writability
11475     changes
11476
11477 Other:
11478   - constify the 'parser' vtable param to g_markup_parse_context_push()
11479   - plug many memory leaks in test cases
11480
11481 Bugs closed:
11482   50076 Time API to go with date API
11483  584284 g_data_input_stream_read_until_async different from sync version
11484  624546 Modification of GDBusMessage in filter function
11485  626919 Let g_object_class_install_property() return the installed GParamSpec*
11486  628029 GDateTime missing get_week_of_year method
11487  628253 Interface properties not listed in a consistent order
11488  628331 Plug lots of mem leaks in gio test suite
11489  628345 Plug a mem leak
11490  628436 Plug a mem leak
11491  628505 Fix building with zlib < 1.2.4 on win32
11492  628839 [PATCH] datetime: Rename shadowing variables
11493  628904 [PATCH] Add credential support for FreeBSD and fix a socket issue
11494  628952 incorrect glib_major_version and other variables on cygwin.
11495  629192 g_strdup_value_contents(): dump GStrv more usefully
11496  629251 g_socket_client_async_connect_complete: assertion failed
11497  629259 Failed to connect to "::1"
11498  629328 g_markup_parse_context_push doesn't respect const structs
11499  629429 month "May" short and full form same with "GDateTime" msgctxt
11500  629689 GDBusConnection leaks its GCredentials
11501  629698 Segfault in g_variant_get_bytestring() 
11502
11503 Updated translations:
11504   Arabic
11505   Armenian
11506   Basque
11507   British English
11508   Czech
11509   Finnish
11510   Galician
11511   German
11512   Hungarian
11513   Indonesian
11514   Japanese
11515   Lithuanian
11516   Norwegian bokmål
11517   Polish
11518   Portuguese
11519   Punjabi
11520   Simplified Chinese
11521   Slovenian
11522   Spanish
11523   Swedish
11524   Swedish
11525   Traditional Chinese
11526
11527 Overview of Changes from GLib 2.25.14 to GLib 2.25.15
11528 =====================================================
11529
11530  * GIO
11531   - Memory leak fixes
11532   - The GZip(De}Compressor can now process header information
11533   - Support for network proxies has been added, with the GProxy
11534     interface and the gio-proxy-resolver extension point. GIO
11535     includes SOCKSv4 and SOCKSv5 implementations, and libproxy
11536     is also going to provide an implementation of this extension
11537     point.
11538   - There are GAction and GActionGroup interfaces now, which will
11539     be used in GApplication in the near future.
11540
11541  * GObject
11542   - There are now convenience macros for defining boxed and
11543     pointer types
11544
11545  * GDBus
11546   - Memory leak fixes
11547   - GDBusProxy for well-known names can now auto-restart
11548     the service if the name owner disapperas
11549   - Filter functions are now allowed to modify messages
11550
11551  * GLib
11552   - GDateTime is a replacement for GDate that supports time
11553     and timezone information.
11554
11555  * Bugs fixed:
11556   50076 Time API to go with date API
11557  449565 Add G_DEFINE_BOXED_TYPE()
11558  617691 Add GZIP header processing to GZlibCompressor/GZlibDecompressor
11559  622184 add g_memory_output_stream_steal_data
11560  624546 Modification of GDBusMessage in filter function
11561  627088 Build failure in gdbus-peer.c on FreeBSD
11562  627181 save a memdup
11563  627182 Plug a mem leak in the gdbus-connection test
11564  627187 Plug some gdbus mem leaks
11565  627188 gdbus-non-socket test occasionally fails
11566  627252 G_OPTION_FLAG_NO_ARG is only for callback options
11567  627392 gdbus commit 8a3a4596 breaks win32 compile
11568  627407 FTBFS on !linux UNIX platforms
11569  627604 String error: 'that' twice in a row
11570  627969 ABR in g_file_open_tmp
11571  628084 gdbus-peer fails with assertion
11572  628193 Miscellaneous string fixes
11573  628296 abort() in gsocketconnection.c
11574  628309 Plug a mem leak in GConverterOutputStream
11575  628317 GEmblemedIcon:equal implementation is buggy
11576  628323 Fix invalid reads
11577  628327 Plug a mem leak
11578  628328 Plug a mem leak
11579  628329 Don't leak the FD list
11580  628324 Invalid reads in gdbus-export test
11581
11582  * Updated translations:
11583   British English
11584   Danish
11585   Galician
11586   Hebrew
11587   Punjabi
11588   Serbian
11589   Spanish
11590   Traditional Chinese
11591
11592
11593 Overview of Changes from GLib 2.25.13 to GLib 2.25.14
11594 =====================================================
11595
11596 * GDBus
11597  - Make the closure variants of GDBus apis work
11598  - Make error unregistration work
11599  - Use async IO in the IO thread (626748)
11600
11601 * GIO
11602  - Make g_simple_async_result_is_valid work without source (626208)
11603  - GSocketClient: add a timeout property
11604  - Fix memory leaks in GSocketClient
11605  - Handle async vs. sync correctly in GSocketConnection stream (616458)
11606  - Declare stream base classes as abstract
11607  - Clarify semantics of g_output_stream_write() (627071)
11608
11609 * Other
11610  - Improve test coverage for GDBus, GRegex, GAsyncResult
11611  - Drop dead code in pcre, xdgmime
11612  - Fix a race condition in gtester (578295)
11613  - Avoid an extra allocation in GAsyncQueue (626704)
11614  - Add test case for non-socket GIOStream (626841)
11615  - More explicit GVariant docs (622770)
11616  - Imroved docs for GAsyncInitable and GSimpleAsyncResult (602417)
11617
11618 * Translation updates:
11619  - Galician
11620  - Norwegian bokmål
11621  - Punjabi
11622  - Simplified Chinese
11623  - Swedish
11624
11625
11626 Overview of Changes from GLib 2.25.12 to GLib 2.25.13
11627 =====================================================
11628
11629 +-------------------------------------------------------------------+
11630 |   WARNING: There have been no breaks in API or ABI.  Weird, eh?   |
11631 +-------------------------------------------------------------------+
11632
11633 The primary purpose of this release is to fix a serious problem with
11634 glib 2.25.12: glibconfig.h (as generated on a Fedora amd64 system) was
11635 being distributed in the tarball.  It was being used to build some parts
11636 of glib on other systems (eg: 32bit ones).  This was causing some very
11637 serious problems.
11638
11639 There have been many other improvements, however:
11640
11641  Build and testing:
11642   - vastly improved test coverage
11643   - old tests moved to the gtester framework
11644   - gtester Makefile modified so that the tests only run once
11645   - cleanup of how we handle includes while building glib
11646
11647  GVariant:
11648   - add a g_return_if_fail (utf8) to g_variant_new_string()
11649
11650  GDBus:
11651   - perform extra sanity checks when serialising messages
11652   - add API to query and set the byteorder of a GDBusMessage
11653   - improve debug output, add some extra options
11654   - if exiting due to the bus disconnecting us, print an error message
11655     explaining why
11656   - sort property names correctly
11657   - don't bother sending RemoveMatch when we will close the connection
11658     anyway
11659   - use effective uid/gid for credential passing
11660
11661  GSettings:
11662   - add G_SETTINGS_BIND_INVERT_BOOLEAN for inverting boolean bindings
11663     without mapping functions
11664   - mark all strings in the schema compiler for translation
11665
11666  Binding:
11667   - improve closure support for bindings
11668   - copy GSettings INVERT_BOOLEAN flag
11669
11670  Other:
11671   - fix another complicated GCancellable deadlock possibility
11672
11673 Bugs closed:
11674  599590 glib build doesn't look for correct pkg-config
11675  619026 avoid warning in gutils.h when using gcc with -Wconversion
11676  624739 Please fix POTFILES.in
11677  625472 Valgrind claims uninitialized bytes used
11678  625500 g_date_set_time_val documentation doesn't mention local time
11679  625628 GDBusProxy: wrong property name sorting
11680  625753 Incorrect flags used in g_dbus_connection_call_sync()
11681  625827 Expand documentation about error quark naming
11682  625988 builddir != srcdir issues
11683  626107 glibconfig.h is being disted
11684
11685 Updated translations:
11686  French
11687  Galician
11688  Hebrew
11689  Norwegian bokmål
11690  Spanish
11691
11692
11693 Overview of Changes from GLib 2.25.11 to GLib 2.25.12
11694 =====================================================
11695
11696 +-------------------------------------------------------------------+
11697 | WARNING: There have been many API changes in GDBus -- sending     |
11698 | messages, subscribing to signals, closing connections and         |
11699 | registering subtrees are affected.  The ABI for GSettingsBackend  |
11700 | has also been changed.  For both reasons, a new dconf release is  |
11701 | required (and will be along soon).                                |
11702 +-------------------------------------------------------------------+
11703
11704 Build:
11705   - cleanup automake setup
11706   - rename configure.in to configure.ac
11707   - various docs fixups
11708   - move glibconfig.h to glib/
11709   - disable dtrace support on Mac OS (which has incompatible 'dtrace')
11710
11711 GSettings:
11712   - add support for vendor override files (to change the default values
11713     in a schema)
11714   - change GSettingsBackend vtable
11715   - add g_settings_reset()
11716   - support binding to G_TYPE_STRV properties
11717
11718 GDBus:
11719   - many bug fixes, including a serialisation fix
11720   - stop handling incoming connections as soon as stop() is called
11721   - proper support for file descriptor passing
11722   - new flags parameter for sending messages
11723   - new flags parameter for subscribing to signals
11724   - always reset the message serial when sending a message unless
11725     G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL is given
11726   - constness fixes for introspection structures
11727   - clean ups to subtree registration API
11728
11729 Other:
11730   - fix divide by zero bug in g_malloc_n functions
11731   - GIO: don't blindly assume that SOCK_CLOEXEC is supported
11732   - make GObject property notify freezes threadsafe
11733   - GIO: clean up credentials passing
11734   - GApplication: make default-quit not apply if register=FALSE
11735   - GIO: add annotations for gobject-introspection
11736
11737 Bugs closed:
11738  166020 use GAtomic for refcounting
11739  617483 Credentials passing
11740  622005 [GApplication] no way to modify the "default-quit" property
11741  623293 vendor override files
11742  623810 Message serialization bug
11743  623815 Don't check sender for GDBusProxy objects where name is not set
11744  624473 GDBusSubtreeIntrospectFunc return type
11745  624483 GDBusSubtreeEnumerateFunc clarification
11746  624484 GDBusSubtreeDispatchFunc clarification
11747  624754 gdbusaddress.c missing sys/wait.h
11748  624968 div by zero in g_malloc_n family
11749  624991 GSettings mapping for G_TYPE_STRV 
11750  625383 Add missing GI annotations
11751
11752 Updated Translations:
11753  Armenian
11754  Galician
11755  German
11756  Hebrew
11757  Kazakh
11758  Romanian
11759  Simplified Chinese
11760  Spanish
11761
11762 Overview of Changes from GLib 2.25.10 to GLib 2.25.11
11763 =====================================================
11764
11765 +-------------------------------------------------------------------+
11766 | WARNING: There have been minor API changes in GDBus and GVariant. |
11767 | These API changes will not affect many users, but they do require |
11768 | a new version of GTK+ to be installed.                            |
11769 +-------------------------------------------------------------------+
11770
11771 Build:
11772   - add a --disable-Bsymbolic configure flag to disable linking with
11773     -Bsymbolic-functions
11774   - this release sees the complete removal of the old 'g*alias' hacks
11775   - honour the NOCONFIGURE environment variable from autogen.sh
11776   - use proper feature test macros for isnan
11777   - use pkg-config to check for zlib
11778   - add ACLOCAL_AMFLAGS to Makefile.am
11779
11780 GDBus:
11781   - hide Class and instance structures for all GDBus types except
11782     GDBusProxy.  This breaks API by preventing subclassing, but probably
11783     nobody was doing that.
11784   - add new GDBusConnection call to support flushing all pending
11785     outgoing messages
11786   - change the register_object API to add a reference to the
11787     GDBusInterfaceInfo object so the caller need not keep it alive
11788     themselves
11789   - don't rewrite the serial number when sending messages that already
11790     have a serial number
11791   - better error checking for DBUS_SESSION_BUS_ADDRESS environment
11792     variable
11793   - switch to g_parse_debug_string for G_DBUS_DEBUG and add a lot of new
11794     flags
11795   - add support for temporarily freezing a freshly created
11796     GDBusConnection.  Do this until after the ::new-connection signal
11797     has finished running on GDBus services.
11798   - never require non-closed connections (the user is incapable of doing
11799     this due to the obvious race)
11800   - remove weird/misleading redundant check on NameOwnerChanged signal
11801   - emit GDBusProxy::g-properties-changed on NameOwnerChanged
11802
11803 GVariant:
11804   - the 'g_variant_{new,get}_byte_array' APIs have been removed
11805   - g_variant_{new,get,dup}_bytestring has been added, with different
11806     arguments and different behaviour
11807   - g_variant_{new,get,dup}_bytestring_array has been added, doing
11808     essentially the same thing as the 'strv' functions, but with byte
11809     strings instead of utf8 strings
11810   - G_VARIANT_TYPE_BYTESTRING ('ay'), BYTESTRING_ARRAY ('aay') and
11811     STRING_ARRAY ('as') constants have been added
11812   - the undocumented behaviour that g_variant_get_strv() deserialised
11813     arrays of object paths or signature strings has been dropped
11814   - additional varargs support for converting bytestrings or bytestring
11815     arrays with ^ay ^aay ^&ay and ^a&ay
11816   - improved gobject-introspection annotation
11817   - fix a problem with GBuffer calling g_slice_free for the wrong type
11818   - fix leaks in the type inferencing code of the parser
11819
11820 GSettings:
11821   - improved documentation
11822   - updated schema XML DTD, now xincluded into the docs
11823   - added support for schemas that extend other schemas (using the
11824     'extends=' attribute).  Values of keys in the base schema can be
11825     overridden using <override>.
11826   - added theoretical support for lists (using the 'list-of=' attribute)
11827   - lots of new tests
11828   - add support for flags (implemented similarly to enums)
11829   - add support for generating .enums.xml files to gsettings.m4:
11830       gsettings_ENUM_NAMESPACE = org.example.myapp
11831       gsettings_ENUM_FILES = ../path/to/*.h
11832     will generate org.example.myapp.enums.xml with mappings for all
11833     enums and flags in the specified .h files.
11834   - warn with g_message() if the 'memory' backend is used by default
11835     (ie: because no other GSettings backends are installed)
11836   - fix get_property() for GSettings::schema
11837   - command line tool: fix a bug that prevented non-basic values from
11838     being set due to a premature free
11839   - command line tool: bash completion support
11840   - chain up in _finalize
11841   - add a new g_settings_get_mapped API to read settings that require
11842     post-processing
11843   - retry with the translated or schema default value if the
11844     GSettingsBindGetMapping function fails
11845   - schema compiler: never fail due to empty schema directories (but
11846     warn)
11847   - peek rather than ref/unref the GEnumClass in the mapping function
11848   - schema compiler: compile *.enums.xml before *.gschemas.xml to ensure
11849     that we have all the enums that the schemas may reference
11850   - schema compiler: improve accuracy of line numbers in error reports
11851   - fix crashes in the keyfile backend caused by invalid group names in
11852     the keyfile
11853
11854 Other:
11855   - always intern GBinding prop names
11856   - base64: remove asserts preventing conversion of empty strings
11857   - document NULL special-cases for GValueArray
11858   - GNode docs improvements
11859   - improve detection of 'system internal' mounts
11860   - fix leaks in the inotify GFileMonitor implementation
11861   - annotate all custom GIO GSources to improve debugging (e.g. using
11862     SystemTap)
11863
11864 Tests:
11865   - Turn on glibc malloc checking features for make check
11866   - improvements for GSettings tests, plus new tests
11867   - improved tests for GKeyfile
11868   - new tests for GDir, GSList, GSList, GAppLaunchContext,
11869     CharsetConverter, GIcon, ...
11870   - move some tests to GTester (tree tests, uri tests)
11871   - generally, really an awful lot of new tests
11872   - don't try to allocate 2gigs of memory anymore for the array test
11873
11874  552363 g_value_array_{insert,prepend,append}'s special cases for NULL
11875  561248 Improve return value description from g_node_prev/next_sibling()
11876  570036 Add ACLOCAL_AMFLAGS to Makefile.am
11877  576833 g_sprintf add a reference to g_strdup_printf
11878  576854 g_strconcat() documentation should provide a hint about bad l10n
11879  582227 reference: add other URI functions to 'URI Functions' section
11880  599223 should provide g_spawn_* variants that take a GAppLaunchContext
11881  610784 array test failing
11882  613057 Leak in inotify GFileMonitor implementation
11883  620536 Annotate all custom GIO GSource using g_source_set_name
11884  620913 More control with G_DBUS_DEBUG
11885  622124 implement flags
11886  622127 GSettings extended key validation
11887  622128 retry with default value for failed mapping
11888  622294 More annotations for GVariant
11889  622565 glib-compile-schemas fails when no schemas
11890  622600 Fix missing prototype warning
11891  622813 gsettings mapping & enum buglet
11892  623142 Ensure ::new-connection runs before processing D-Bus messages
11893  623143 Never require non-closed connections
11894  623319 use g_parse_debug_string for dbus debug flags
11895  623401 process enums first
11896  623402 schema compiler reports wrong line numbers
11897  623407 g_keyfile_settings_backend_new crashes with the key "/"
11898  623473 zlib should be checked with pkg-config
11899  623537 GDBusProxy has weird checking on NameOwnerChanged
11900  623538 GDBusProxy::g-properties-changed emission for corner cases
11901  623692 directory with file at multiple MLS levels may display empty
11902  623720 gschema.dtd does not contain enum definitions
11903  623770 quoting of expand_macro in gdesktopappinfo.c
11904  623772 gdesktopappinfo.c, function child_setup
11905  623780 g_unix_is_mount_path_system_internal
11906  623954 g_settings_finalize
11907  623955 Dubious return values
11908
11909 Updated translations:
11910  Galician
11911  Hebrew
11912  Norwegian bokmål
11913  Spanish
11914
11915 Overview of Changes from GLib 2.25.9 to GLib 2.25.10
11916 ====================================================
11917
11918 +----------------------------------------------------------------+
11919 | WARNING: There have been API changes in GDBus. Users of these  |
11920 | APIs will need to be adapted.  In particular, a new release of |
11921 | dconf is required to go along with this one.  There has also   |
11922 | been a change in the GSettings backend API used for keyfiles.  |
11923 +----------------------------------------------------------------+
11924
11925 * GDBus:
11926  - add direction parameter to filter functions (API change)
11927  - allow calling other interfaces with a GDBusProxy
11928  - padding added to class struct fields (ABI change)
11929  - fixes for closures-based functions
11930
11931 * GVariant:
11932  - new is_floating() call
11933  - add g_value_take_variant() call (required for marshallers)
11934
11935 * GSettings:
11936  - support for binding GParamSpecEnum properties
11937  - ifelse-style condition support for GLIB_GSETTINGS m4 macro
11938  - remove gsettings-schema-convert tool (now in GConf)
11939  - allow introspection of all installed schemas
11940  - allow introspection of the keys in a schema
11941  - rewrite keyfile backend (API change)
11942
11943 * GNIO:
11944  - don't implicitly close GSocket until it is destroyed
11945  - windows fixups
11946
11947 * Other:
11948  - allow GChecksum to take (NULL, 0) for data/length
11949  - GRelation and GCompletion are now deprecated
11950  - introduce G_PARAM_DEPRECATED and G_ENABLE_DIAGNOSTIC
11951  - add working directory to GApplication platform data
11952  - lots of documentation cleanups
11953  - PCRE updated to 8.02
11954
11955 * Build:
11956  - the IA__g_* style symbol aliasing has been disabled and replaced with
11957    the -Bsymbolic-functions linker flag on platforms that support it.
11958    Please be on the watch for portability issues and report them to us.
11959  - many test cases have been moved to the GTester framework
11960  - lcov support has been added for tests
11961  - many windows fixes
11962
11963 * Bugs fixed:
11964  501057  lcov coverage suite and GLib integration
11965  551271  deprecate GRelation
11966  601686  Implement diagnostic mode
11967  603309  GSocketOutputStream broken on Windows (?)
11968  616718  GLIB_GSETTINGS macro can't be used conditionally
11969  616855  GSocketConnection: don't close the socket if it's still reffed
11970  618866  g_ptr_array_remove_index_fast memory leak
11971  619878  keyfile backend calls keys_changed with invalid argument
11972  619879  keyfile backend doesn't make use of expected_type
11973  621092  Add with_closures() variants for bindings
11974  621172  Cross compiling fails
11975  621838  Actually add cwd to platform data
11976  621945  Filter outgoing messages in GDBusConnection
11977  621947  add g_value_take_variant
11978  622038  GSettings: "It is a programmer error" documentation is unclear
11979  622154  [patch] update documentation for g_application_new
11980  622281  binding: Add SYNC_CREATE to the flags
11981  622480  Improve documentation for g_strcmp0()
11982  622554  g_error called if schema not installed
11983  622601  Return interned strings from g_settings_list_keys
11984
11985 * Translation updates:
11986  - Galician
11987
11988 Overview of Changes from GLib 2.25.8 to GLib 2.25.9
11989 ===================================================
11990
11991 +----------------------------------------------------------------+
11992 | WARNING: There have been API changes in GDBus, GSettings and   |
11993 | GApplication. Users of these APIs will need to be adapted. In  |
11994 | particular, a new release of GTK+ is required to go along with |
11995 | this one.                                                      |
11996 +----------------------------------------------------------------+
11997
11998 * GDBus
11999  - Use Gio's default async implementation
12000  - Fix proxy construction for objects with no properties
12001  - Fix error handling in synchronous initialization
12002  - Do not dispatch calls to unregistered objects
12003  - Add _with_closures alternative functions
12004  - Allow constructing GDBusProxy with well-known names
12005  - Remove GType parameters from GDBusProxy constructors
12006  - Nuke g_bus_watch_proxy API
12007  - Add --xml to gdbus-tool to print raw introspected XML
12008
12009 * GSettings
12010  - schema file format change: store (default, options) in gvdb
12011  - Add g_settings_sync()
12012  - Add support for enums and ranges
12013  - 'context' support has been replaced by direct use of
12014    GSettingsBackend
12015
12016 * GApplication
12017  - Switch to using variants for timestamps
12018  - Use GInitable
12019
12020 * GObject
12021  - Introduce g_object_notify_by_pspec
12022  - Add GBinding
12023  - The GVariant gtype G_TYPE_VARIANT was changed from boxed
12024    to fundamental. We believe there were no existing users
12025    of the boxed type, so this should not cause any applications
12026    to break.
12027
12028 * Test framework
12029  - Add package and version to the test report XML
12030  - Use optparse to parse gtester-report commandline
12031  - Add subunit support to gtester-report
12032  - Prevent division by zero if no tests
12033
12034 * Bugs fixed:
12035  621782 Crash using gbinding
12036  619945 GConverterOutputStream triggers assertion and corrupts data
12037  621319 more leaked GVariants in GSettings
12038  621168 GKeyFile memory leak on Windows platform
12039  621002 Switch to using variants for timestamps, split out signals
12040  620953 tiny docs addition
12041  618904 Lies in gunixmounts documentation
12042  621702 Correctly initialize GError
12043  611778 minor cleanup of gtester-report
12044  621213 GDBusProxy and well-known names
12045  621034 Rewrite apps test to ensure children are killed
12046  620954 gapplication gvariant simplifications
12047  611869 add subunit out feature to gtester-report
12048  621119 GDBusProxy and objects with no properties
12049  620990 Use Gio's default async implementation again
12050  620952 g_application_register_with_data is an ugly API
12051  621252 GSettings leaks context
12052  618715 fork() in GSettings test cases is problematic 618715
12053  621905 Assume a ref when doing async work
12054  621266 GSettings "context" clarification
12055
12056 * Translation updates:
12057  Chinese
12058
12059
12060 Overview of Changes from GLib 2.25.7 to GLib 2.25.8
12061 ===================================================
12062
12063 * Initial support for dtrace and systemtap profiling:
12064  - mainloop sources can be named
12065  - probes for memory allocation with g_malloc and gslice
12066  - gquark name tracking
12067  - type creation
12068  - object life-cyle (creation, finalization, ref, unref)
12069  - signal creation and emission
12070
12071 * GVariant
12072  - has been fixed to work with the FreeBSD malloc
12073  - added introspection annotations
12074  - new function: g_variant_builder_add_parsed
12075
12076 * GSettings:
12077  - g_settings_set/get_strv functions have lost their length parameter
12078  - g_settings_set_strv accepts NULL
12079  - added introspection annotiations
12080
12081 * GPermission: an abstract interface for representing permissions,
12082   with a minimal implementation named GSimplePermission
12083
12084 * GApplication: a basic application support class, with a D-Bus based
12085   implementation
12086
12087 * Bugs fixed:
12088  619585 glib-compile-schemas asserts on FreeBSD
12089  620384 Annotate GVariant and GSettings _strv() functions
12090  606044 Add support for dtrace/systemtap static markers
12091  620350 add g_variant_builder_add_parsed() API
12092  620349 utf8ify GVariant printer
12093  620767 Typo in GSettings documentation: "INTLTOOL_NOMERGE_RULE"
12094  620312 Fix g_settings_[gs]et_strv() API
12095  620519 GPermission
12096  620582 GPermission needs a simple implementation
12097  620496 GSettings schema compiler should reject invalid paths
12098  620173 missing single header inclusion guards
12099  620265 g_assertion_message_error should take const GError *
12100
12101 * Translation updates:
12102  Esperanto
12103  Galician
12104  Hebrew
12105  Indonesian
12106  Norwegian bokmål
12107  Slovenian
12108  Spanish
12109
12110
12111 Overview of Changes from GLib 2.25.6 to GLib 2.25.7
12112 ===================================================
12113
12114 * NOTE: API/ABI breaks since 2.25.6 release:
12115   - g_dbus_connection_sync{,_sync} takes a new 'reply_type' argument
12116   - GSettingsBackendClass 'list' virtual function changed
12117
12118   GSettings backends and things using GDBus may need to be rebuilt.
12119
12120 * GDBus: many build-related fixes
12121
12122 * GDBus (service): return a DBus error when receiving a method call for
12123   an unknown interface.
12124
12125 * GSettings: fix 'make install' bug in gsettings.m4 for generated schema
12126   files
12127
12128 * GSettings: avoid non-portable use of LC_MESSAGES
12129
12130 * better approach to handling man pages
12131
12132
12133 * Bugs fixed:
12134  619527 please improve docs on g_file_make_symlink
12135  619391 send-with-reply should have expected result signature
12136  618616 Use stack-allocated GVariantBuilders
12137  617004 Build with "--disable-nls" fails under MinGW/Win32
12138  619142 Build fixes (GDBus)
12139
12140 * Updated translations:
12141  Estonian
12142  Galician
12143  Norwegian bokmål
12144
12145 Overview of Changes from GLib 2.25.5 to GLib 2.25.6
12146 ===================================================
12147
12148 * GDBus: introspection improvements
12149 * GDBus: build fixes
12150
12151 * GSettings: GSettingsBackend ABI changed               **** NOTE ****
12152 * GSettings: --uninstall option for schema compiler
12153 * GSettings: new m4 macro with more power
12154 * GSettings: thread support
12155
12156 * rework of file notification on Solaris
12157 * fixes for gold linker
12158
12159 * Bugs fixed:
12160  619038 increase gsettings.m4 power
12161  619031 method-calls-in-thread test failing
12162  618839 Typo at translation message
12163  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
12164  618730 gunixcredentialsmessage.c doesn't compile on GNU/kfreebsd
12165  616314 Make GSettings (partially) threadsafe
12166
12167 * Updated Translations:
12168  Indonesian
12169  Galician
12170  Spanish
12171
12172 Overview of Changes from GLib 2.25.4 to GLib 2.25.5
12173 ===================================================
12174
12175 * GDBus: Fix serialization of empty arrays
12176
12177 * GDBus: Plug various memory leaks
12178
12179 * GSettings: Fix problems with GSETTINGS_CHECK_RULE
12180
12181 * Bugs fixed:
12182  616731 GSETTINGS_CHECK_RULE doesn't work in non-srcdir builds
12183  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
12184  618615 mem leaks in parse_value_from_blob
12185  618622 Plug some mem leaks in gdbus
12186  618650 Plug a mem leak in gdbusauth
12187  618663 Plug mem leaks in gdbus tests & examples
12188
12189 * Updated translations:
12190  Spanish
12191
12192
12193 Overview of Changes from GLib 2.25.3 to GLib 2.25.4
12194 ===================================================
12195
12196 * GDBus D-Bus support has been merged. This provides an API
12197   to replace dbus-glib
12198
12199 * GVariant no requires strings to be UTF-8. You can use byte
12200   arrays for non-UTF-8 strings.
12201
12202 * GSettings allows to bind string properties to byte arrays
12203
12204 * The schema compiler supports range restrictions
12205
12206 * Bugs fixed:
12207  618051 socket-server|client.c fail to compile under AIX...
12208  616102 GSettings ignores <choice> and <range>
12209  616720 Chunked quark allocation
12210  616877 Several issues with g_socket_receive_message
12211  616892 gio: Add a boxed type for GFileAttributeMatcher
12212  616967 Add g_regex_get_compile_flags() and g_regex_get_match_flags()
12213  617767 g_settings_[gs]et_strv() 'length' argument has missing docs...
12214  617914 gtester-report: cope with binaries with no test cases
12215  617937 output_stream_close vs output_stream_close_async semantics
12216  615494 Connction timeouts produce partially invalid error messages
12217  617823 glib-compile-schemas problems with an out of source build
12218  617947 glib-mkenums: add @valuenum@ support
12219
12220 * Translation updates:
12221  Galicaian
12222  Norwegian bokmål
12223  Shavian
12224  Spanish
12225
12226
12227 Overview of Changes from GLib 2.25.2 to GLib 2.25.3
12228 ===================================================
12229
12230 * New macro: G_GNUC_DEPRECATED_FOR, a variant of G_GNUC_DEPRECATED
12231   that lets you add replacement information (requires gcc 4.5)
12232
12233 * Rename AM_GSETTINGS autoconf macro to GLIB_GSETTINGS
12234
12235 * Rename gschema-compile utility to glib-compile-schemas
12236
12237 * Add support for timeouts in GSocket
12238
12239 * Bugs fixed:
12240  589989 Compilation error on Solaris 9
12241  616648 Change AM_GSETTINGS macro to GLIB_GSETTINGS
12242  587898 I/O timeouts for GSocket
12243  614541 Add G_TYPE_ERROR boxed type for GError
12244
12245
12246 Overview of Changes from GLib 2.25.0 to GLib 2.25.2
12247 ===================================================
12248
12249 * Include a 'gsettings' utility, for commandline access to GSettings
12250
12251 * Install a AM_GSETTINGS autoconf macro similar to AM_GCONF
12252
12253 * GSettings can bind the writability of a key explicitly
12254
12255 * There is now a predefined boxed type for GError
12256
12257 * Bugs fixed:
12258  615379 g_new macros crash if sizeof(struct_type) == 0
12259  616312 Add m4 rule equivalent to GCONF_SCHEMAS_INSTALL
12260  616295 mapping bug for uint64
12261  616216 glib compile from remote directory fails
12262  615960 Fix size passed to connect() for abstract sockets
12263  616432 Crash in gschema-compile
12264  616331 gsettings-schema-convert uses imaginary types
12265  616309 gsettings-schema-convert should output gettext-domain
12266  616384 Add mention of GConfBridge in conversion docs
12267  616311 gschema-compile outputs in current directory
12268  616276 simplify gschema-compile test setup
12269  616156 keys with unnecessary empty options arrays
12270  616405 gsettings missing g_return_if_fail's
12271  616245 Use G_DEFINE_INTERFACE macro
12272  614541 Add G_TYPE_ERROR boxed type for GError
12273
12274 * Updated translations:
12275  Catalan (Valencian)
12276  Galician
12277  Kannada
12278  Spanish
12279
12280
12281 Overview of Changes from GLib 2.24.0 to GLib 2.25.0
12282 ===================================================
12283
12284 * The GSettings framework has been merged. This provides the API to
12285   replace GConf. DConf will provide a backend implementation for it.
12286   GConf will also provide a backend implementation to ease the
12287   transition. We provide utilities to assist with schema conversion
12288   and data migration, as well as a porting guide.
12289
12290 * Translation updates:
12291  Bengali
12292  Catalan
12293  Danish
12294  Gujarati
12295  Marathi
12296  Thai
12297  Traditional Chinese
12298
12299
12300 Overview of Changes from GLib 2.23.6 to GLib 2.24.0
12301 ===================================================
12302
12303 * It is now allowed to call g_thread_init(NULL) multiple times, and
12304   to call glib functions before g_thread_init(NULL) is called
12305   (although the later is mainly a change in docs as this worked before
12306   too). See the GThread reference documentation for the details.
12307
12308 * GObject now links to GThread and threads are enabled automatically
12309   when g_type_init() is called.
12310
12311 * GObject no longer allows to call g_object_set() on construct-only properties
12312   while an object is being initialized. If this behavior is needed, setting a
12313   custom constructor that just chains up will re-enable this functionality.
12314
12315 * GMappedFile on an empty file now returns NULL for the contents instead of
12316   returning an empty string. The documentation specifically states that code
12317   may not rely on nul-termination here so any breakage caused by this change
12318   is a bug in application code.
12319
12320 * Bug fixes:
12321  613601 buglet in dup_close_on_exec_fd
12322  584284 g_data_input_stream_read_until_async behaves confusingly
12323  613748 Write errors in middle of copy cause hang
12324  613923 splice_stream_with_progress: wrong error handling
12325  613667 Typo in GObject documentation
12326  613618 gvariant format string docs unclear
12327
12328 * Translation updates:
12329  Basque
12330  Ukrainian
12331  Vietnamese
12332
12333
12334 Overview of Changes from GLib 2.23.5 to GLib 2.23.6
12335 ===================================================
12336
12337 * Class private data:
12338   - support for private data associated with a GTypeClass
12339
12340 * GVariant merge is now complete:
12341   - loading functions and parser merged
12342
12343 * Windows improvements:
12344   - socket fixes
12345   - various build improvements
12346   - removal of GCC/C99isms in favour of portable code
12347   - drop unmaintained Visual Studio 8 support
12348
12349 * Minor API addition:
12350   - g_desktop_app_info_get_filename()
12351
12352 * Bugs fixed:
12353  521707 Class private data
12354  612502 build fails on glib/tests/gvariant.c
12355  612832 [GDesktopAppInfo] New function g_desktop_app_info_get_filename
12356  612702 [PATCH] Fix GSocket-related crash on Windows
12357  612736 Improve the documentation about single include
12358  610858 gvariant test fails sometimes
12359  612327 uninitialized variable
12360
12361 * New translations:
12362  Afrikaans
12363  LowGerman
12364
12365 * Updated translations:
12366  Czech
12367  Finnish
12368  Galician
12369  Greek
12370  Punjabi
12371  Romanian
12372  Serbian
12373
12374
12375 Overview of Changes from GLib 2.23.4 to GLib 2.23.5
12376 ===================================================
12377
12378 * New API addition: g_malloc_n() and friends used to implement an
12379   overflow-safe family of g_new() macros.
12380
12381 * GVariant:
12382  - GVariantBuilder and GVariantIter are now merged.
12383  - The variable arguments API is now merged.
12384  - The parser will be in a future release.
12385
12386 * GIO:
12387  - Remove GUtf8InputStream (which never appeared in a stable release)
12388    for now since it doesn't satisfy the needs of its main intended use
12389    case.  We hope to reimplement this feature in a better form in a
12390    future release.
12391
12392 * Bugs fixed:
12393  609531 missing licence headers
12394  612107 Missing G_FILE_ATTRIBUTE_TRASH_ORIG_PATH
12395  611897 g_io_modules_scan_all_in_directory leaks
12396  608196 Overflow-safe g_new family
12397  611696 gio uses GetAddrInfo which requires special handing on windows 2k
12398  605667 Don't use G_PARAM_SPEC_VALUE_TYPE when we know the pspec is valid
12399  610860 test_g_file_open_readwrite fails if $HOME is unwritable
12400  552912 glib-2.18 /live-g-file/test_copy_move failed when run as root
12401  609813 Renaming a file discards file notes
12402
12403 * Updated translations:
12404  Basque
12405  Brazilian Portuguese
12406  British English
12407  Bulgarian
12408  Catalan
12409  Danish
12410  Estonian
12411  French
12412  German
12413  Hungarian
12414  Italian
12415  Lithuanian
12416  Norwegian bokmål
12417  Portuguese
12418  Russian
12419  Slovenian
12420  Spanish
12421  Swedish
12422  Traditional Chinese
12423
12424
12425 Overview of Changes from GLib 2.23.3 to GLib 2.23.4
12426 ===================================================
12427
12428 * GVariant: The core of GVariant has been merged now, with some
12429  API still to follow.
12430
12431 * GIO:
12432  - There is a new interface GFileDescriptorBased for file descriptor
12433    based IO. GLocalFile{Input,Output}Stream implement it
12434  - Use splice(2) to transfer data between file descriptors without
12435    extraneous copies
12436  - Add a way to request move events from file monitors
12437
12438 * Bugs fixed:
12439  609143 *result_uncertain is never assigned in g_content_type_guess
12440  604086 Use splice(2) when doing local file copies
12441  547890 No move events for GFileMonitorEvent?
12442  568760 nautilus freezes due to a bug in garray.c:322
12443  609962 Add info about the use of G_DEFINE_INTERFACE
12444  609564 g_base64_encode_close docs should mention outbuf size...
12445  610484 g_variant_equal bug
12446  610131 libasyncns does not compile on Solaris 8
12447  609530 missing single header include guards
12448
12449 * Updated translations:
12450  Czech
12451  Estonian
12452  Galician
12453  German
12454  Korean
12455  Polish
12456  Slovenian
12457  Spanish
12458  Traditional Chinese
12459
12460
12461 Overview of Changes from GLib 2.23.2 to GLib 2.23.3
12462 ===================================================
12463
12464 * GLib now has a facility for locks that consume only one bit of
12465   storage inside an integer: g_bit_lock()
12466
12467 * GVariant: The serializer has been merged, with more API to follow
12468
12469 * Bugs fixed
12470  548967 1 bit mutex lock
12471  604967 2.22.3 libasyncns build fails on HP-UX 11.11
12472  608602 G_VALUE_COLLECT_INIT variables shadow those in G_VALUE_COLLECT
12473  608743 Crash in g_hostname_to_ascii visiting certain website in epiphany
12474  599197 array ref and unref functions crash on NULL array.
12475  608159 mem leak in g_io_modules_scan_all_in_directory
12476
12477 * Translation updates
12478  Brazilian Portuguese
12479  Czech
12480  French
12481  Norwegian bokmål
12482  Slovenian
12483  Spanish
12484  Thai
12485
12486
12487 Overview of Changes from GLib 2.23.1 to GLib 2.23.2
12488 ===================================================
12489
12490 * We are now using gcc builtins for atomic operations when available
12491
12492 * g_assert() grew the ability to store assertions in core dumps
12493
12494 * GIO supports lazy loading of GIO modules, and there is a new
12495   gio-querymodule utility that goes along with this.
12496   Packagers will need to adapt to this.
12497
12498 * Threading changes:
12499  - The requirements for g_thread_init() have been relaxed slightly,
12500    it can be called multiple times, and does not have to be the first
12501    call.
12502  - GObject now links to GThread and threads are enabled automatically
12503    when g_type_init() is called.
12504  - Thread-safety issues with boxed types in GObject have been fixed.
12505
12506 * GObject:
12507  - Another bunch of performance work has landed
12508
12509 * GVariant:
12510  - GVariantType has been merged, with the rest of the GVariant
12511    API to follow.
12512
12513 * Bugs fixed:
12514  568760 nautilus freezes due to a bug in garray.c:322
12515  602417 Document lifecycles of GSimpleAsyncResult and friends
12516  604824 crash in Epiphany: Selecting my Slashdot bo...
12517  448888 don't init g_slice for always-malloc
12518  531902 Use GCC atomic buildins for g_atomic*
12519  554887 boxed type registration is not thread safe
12520  586150 unresolved symbols when building glib 2.21.2 on OS X Tiger
12521  589176 row gvalue transform array exponentially
12522  594872 Support storing assertion messages into core dump
12523  602240 Upgrade libasyncns to 0.8
12524  603590 Speed up G_VALUE_COLLECT
12525  604457 gutf8inputstream.c: increasing unknown size pointer
12526  605686 GCharsetConverter doesn't flush
12527  605733 g_memory_output_stream_new violates GObject standards
12528  605883 g_object_new() processes varargs even when there are none
12529  605977 invalid utf-8 conversion in g_local_file_get_parse_name(...
12530  606775 Enable threads by default in gobject
12531
12532 * Translation updates:
12533  Asturian
12534  Basque
12535  Bengali
12536  Bulgarian
12537  Estonian
12538  Norwegian bokmål
12539  Spanish
12540  Thai
12541  Ukrainian
12542
12543
12544 Overview of Changes from GLib 2.23.0 to GLib 2.23.1
12545 ===================================================
12546
12547 * GObject performance work has landed:
12548  - Construction of simple objects is much faster
12549  - Interface lookup is lock-free and constant-time now
12550  - Reduced locking overhead when dealing with types
12551
12552 * GType now has a G_DEFINE_INTERFACE convenience macro
12553
12554 * GIO gained GUtf8InputStream, an input stream that
12555   performs utf-8 validation
12556
12557 * GLib now has byte-swap macros for gsize and gssize
12558
12559 * Bugs fixed:
12560 557151 Determining the newly_constructed boolean in gobject.c...
12561 557100 Performance improvements for GObjectClasses that don't...
12562 501166 Warning message says IA__g_type_init instead of g_type_init
12563 585375 Performance and Contention problems with g_type_class_ref...
12564 587892 Race in GType when instantiating the same class for the...
12565 603270 Input Stream validating utf8
12566 603476 gioenums.h:62: error: comma at end of enumerator list
12567 603540 g_time_val_from_iso8601 uses uninitialised variable
12568 603982 Stack overflow when reading file async with filter
12569 604645 G_DEFINE_INTERFACE_* documentation is not generated
12570 604875 Use of sa_len conflicts with system header
12571 320482 provide G_DEFINE_TYPE like macros for interfaces
12572
12573 * Updated translations:
12574  Estonian
12575  Hebrew
12576  Norwegian bokmål
12577  Vietnamese
12578  Welsh
12579
12580
12581 Overview of Changes from GLib 2.22.x to GLib 2.23.0
12582 ===================================================
12583
12584 * GIO:
12585  - GConverter: a generic interface for stateful conversions of data,
12586    suitable for charset conversion, compression, decompression, regexp
12587    replacement. Concrete implementations are GCharsetConverter,
12588    GZlibCompressor and GZlibDecompressor. GConverterInputStream,
12589    GConverterOutputStream are stream implementations that convert data
12590    while loading or saving it.
12591  - GMounts can now have a 'default location': a path that reflects
12592    the main entry point for the user (e.g. the home directory).
12593  - As a consequence of the compression support, GIO depends on zlib now.
12594
12595 * GObject:
12596  - G_IMPLEMENT_INTERFACE_DYNAMIC: a convenience macro for adding
12597    interfaces to dynamic types.
12598
12599 * GModule:
12600  - The -pthread flag has been added to all gmodule .pc files, because
12601    it is not generally permissible to load modules that are linked
12602    against libpthread if the program has not been compiled with threading
12603    support.
12604
12605 * Bugs fixed:
12606  601637 GUnixFDMessage should contain a GUnixFDList
12607  585566 GSocketListener API issues
12608  572252 Bug in g_file_test() function.
12609  600550 g_app_info_create_from_commandline doesn't treat arguments properly
12610  541236 not detecting exact content type
12611  350200 [PATCH] GTypeModule derived class unref does not unload plugin
12612  589631 Please enclose literal values with double quotes
12613  577711 cross compile check for g++ broken
12614  600620 Support X-GNOME-FullName in GAppInfo
12615  598899 GWin32DirectoryMonitor is broken
12616  593809 Nautilus does not restore the position of the icons on the desktop...
12617  563627 g_get_prgname() threadsafety
12618  600141 Add -pthread to gmodule pkg-config
12619  593856 file and directory monitors don't work when glib is compiled...
12620  324930 Nautilus should disallow copying of symlink to FAT drive early
12621  587300 Deadlock when calling g_cancellable_disconnect in a...
12622  595138 GFile not robust with invalid input
12623  591216 Warning building resolver.o
12624  590016 Does not compile under MinGW32 + Wine
12625  591214 Warnings building gcancellable.o
12626  561998 Have specific entry points (paths) for mounts...
12627  508157 Add G_IMPLEMENT_INTERFACE_DYNAMIC
12628  535159 g_file_has_parent
12629
12630 * Updated translations:
12631  Brazilian Portuguese
12632  Catalan
12633  Estonian
12634  Galician
12635  Norwegian bokmål
12636  Shavian
12637  Slovenian
12638  Spanish
12639  Swedish
12640
12641
12642 Overview of Changes from GLib 2.22.1 to GLib 2.22.2
12643 ===================================================
12644
12645 * GIO:
12646  - Support case-sensitive globs in the shared mime database,
12647    including support for the newer cache format that allows these.
12648    Case-sensitive globs have been introduced in shared-mime-info
12649    version 0.70
12650
12651 * GObject:
12652  - Speed up creation of simple objects
12653
12654 * Bugs fixed:
12655  597194 Typo in _G_TYPE_CVH macro
12656
12657 * Updated translations:
12658  Russian
12659
12660
12661 Overview of Changes from GLib 2.22.0 to GLib 2.22.1
12662 ===================================================
12663
12664 * Bugs fixed:
12665  596064 Test file marked for translation
12666  595972 possibly invalid search in mime_info_cache_dir_add_...
12667  596561 C99 style of declaration of variable in gmessages.c
12668  596314 g_utf16_to_utf8 returns an invalid UTF8 string
12669  596748 g_async_result_get_source_object returns a new ref
12670  593809 Nautilus does not restore the position of the icons...
12671  593775 uses inotify_init1 unconditionally
12672
12673 * Updated translations:
12674  Bengali
12675  Hebrew
12676
12677
12678 Overview of Changes from GLib 2.21.6 to GLib 2.22.0
12679 ===================================================
12680
12681 * Repeated calls to g_simple_async_result_set_op_res_gpointer used
12682   to leak the data. This has been fixed to always call the provided
12683   destroy notify.
12684
12685 * Add gdb python macros to make gobject debugging more pleasant
12686
12687 * Bugs fixed:
12688  579050 Allow making selected critical and warning messages non-fatal
12689  594759 g_socket_send_message fails due to invalid sendmsg params
12690  593941 GNetworkAddress skipping addresses when enumerating
12691  594597 Fix build with srcdir != builddir
12692  595619 Include gdb pretty printers
12693
12694 * Changes that might affect bindings:
12695  - The error parameter of g_simple_async_result_set_from_error has been
12696    made const.
12697
12698 * Updated translations:
12699  Assamese
12700  Bengali India
12701  British English
12702  Bulgarian
12703  Catalan
12704  Czech
12705  Danish
12706  Finnish
12707  Galician
12708  Greek
12709  Gujarati
12710  Hindi
12711  Japanese
12712  Kannada
12713  Malayalam
12714  Marathi
12715  Norwegian bokmål
12716  Oriya
12717  Polish
12718  Punjabi
12719  Romanian
12720  Serbian
12721  Simplified Chinese
12722  Slovenian
12723  Spanish
12724  Tamil
12725  Telugu
12726  Thai
12727  Traditional Chinese
12728  Ukrainian
12729  Vietnamese
12730
12731
12732 Overview of Changes from GLib 2.21.5 to GLib 2.21.6
12733 ===================================================
12734
12735 * Minor API additions:
12736   g_mkstemp_full is a variant of g_mkstemp that allows to specify flags
12737   and permissions
12738
12739 * Bugs fixed:
12740  593232 g_rand_new: read no more than requested from /dev/urandom
12741  591995 use saved errno
12742  589491 g_time_val_from_iso8601 doesn't handle some cases
12743  593406 Permissions set to 777 after copying via Nautilus
12744  594034 Add g_mkstemp_full()
12745
12746 * Updated translations:
12747  Assamese
12748  Basque
12749  Brazilian Portuguese
12750  Czech
12751  Estonian
12752  French
12753  German
12754  Hungarian
12755  Italian
12756  Kannada
12757  Malayalam
12758  Marathi
12759  Norwegian bokmål
12760  Oriya
12761  Portuguese
12762  Swedish
12763  Tamil
12764  Turkish
12765
12766
12767 Overview of Changes from GLib 2.21.4 to GLib 2.21.5
12768 ===================================================
12769
12770 * A performance problem with trashing of many files has been fixed
12771
12772 * GResolver now invalidates the libc resolv.conf cache as needed
12773
12774 * Minor api additions:
12775  - g_cancellable_make_pollfd returns a boolean now. And there is a
12776    new function g_cancellable_release_fd that can be used to released
12777    the resources used by a GCancellable.
12778
12779 * Bugs fixed:
12780  589988 Compilation error on Solaris 9 (missing stdint.h)
12781  588901 gtcpconnection.c won't compile
12782  584246 GResolver needs to call res_init() when network state changes
12783  591714 Figure out failure handling for g_cancellable_make_pollfd()
12784  591532 redundent '/' returned from g_file_resolve_relative_path
12785  591378 Use MSG_NOSIGNAL in GSocket if it's available
12786  589649 API documentation migration for Base64 Encoding
12787  591840 configure fails with autoconf 2.64
12788
12789 * Updated translations:
12790  Basque
12791  Brazilian Portuguese
12792  Bulgarian
12793  Danish
12794  Estonian
12795  Finnish
12796  Galician
12797  Gujarati
12798  Hndi
12799  Irish
12800  Japanese
12801  Korean
12802  Norwegian bokmål
12803  Polish
12804  Portuguese
12805  Punjabi
12806  Spanish
12807  Swedish
12808  Telugu
12809  Traditional Chinese
12810  Thai
12811
12812
12813 Overview of Changes from GLib 2.21.3 to GLib 2.21.4
12814 ===================================================
12815
12816 * GTree is now refcounted
12817
12818 * Bugs fixed:
12819  587938 Undocumented limitation for g_str_equal
12820  587773 refcounts for GTree
12821
12822 * Updated translations:
12823  French
12824  Hebrew
12825  Norwegian bokmål
12826  Spanish
12827  Swedish
12828  Traditional Chinese
12829  Ukrainian
12830
12831
12832 Overview of Changes from GLib 2.21.2 to GLib 2.21.3
12833 ===================================================
12834
12835 * GMappedFile is refcounted now
12836
12837 * Mainloop: It is now possible to set per-thread default contexts,
12838   with g_main_context_push_thread_default.
12839
12840 * glib-mkenums supports a @basename@ substitution, in addition
12841   to @filename@.
12842
12843 * GIO:
12844  - Vfs implementations can support storing of per-file metadata.
12845  - GCancellable can now be subclassed.
12846  - Unmount and eject methods now optionally allow interaction, via
12847    variants that take a GMountOperation object.
12848
12849 * Bugs fixed:
12850  556706 Inconsistent help arguments -h, -?
12851  579449 FileChoosers no longer work if an idle handler is active
12852  579933 mainloop FD_CLOEXEC has a race condition
12853  579984 alternate GMainContext support
12854  585937 gio/gsocket.c (glib 2.21.2) does not compile (Windows/mingw)
12855  586675 Runtime library location
12856  586797 Add GCancellables to GSocket ops
12857  586868 g_filename_complete_get_completions doesn't always return...
12858  587415 g_resolver_lookup_by_name_finish returns a freed list
12859  587434 regression tests fail, at least on x86_64
12860  586928 Avoid g++ warning in g_error()
12861
12862 * Updated translations:
12863  Estonian
12864  Hebrew
12865
12866
12867 Overview of Changes from GLib 2.21.1 to GLib 2.21.2
12868 ===================================================
12869
12870 * GIO:
12871   - g_socket_speaks_ipv4 is a new function to check if a socket can
12872     speak IPv4.
12873   - g_socket_listener_add_address gained a new effective_address out
12874     parameter.
12875   - GIO now returns special icons for XDG user directories, by the
12876     name folder-music, folder-documents, etc.
12877   - GIO gained support for starting/stopping of drives, which can be used
12878     in connection with external hard disk enclosures, disk arrays, iSCSI
12879     devices, etc. See g_file_start/stop_mountable.
12880
12881 * GLib:
12882  - g_reload_user_special_dirs_cache is a new function to force GLib to
12883    reload the XDG user directory mapping from disk.
12884
12885 * Bug fixes:
12886  584574 glib compile failure on Mac OS X with gunixresolver.c and...
12887  585566 GSocketListener API issues
12888  584255 Incorrect freeing of thread pool in GThreadedSocketService
12889  585088 g_string_chunk_insert_len stops at nul bytes
12890  585360 Monitor fontconfig configuration files using gio causes m...
12891  580103 Terminal starts on Display :0.0 when started on :0.1 in D...
12892  580301 network: a few issues on old darwin
12893  583398 SRV weight sorting is incorrect
12894  584176 build fixes on FreeBSD
12895  585189 g_cancellable_reset() must be called in same thread as g_...
12896  585280 compilation dies on gio/gsocket.c, needs sys/uio.h to con...
12897  585281 gio/gunixfdmessage.c needs sys/types.h for platforms that...
12898  585478 don't leak the inotify fd
12899  585575 g_socket_listener_add_inet_port() doesn't do the right thing
12900  585599 g_socket_listener_add_socket() consumes the socket
12901  585676 GEmblem doesn't reference its 'icon' if that is set as a ...
12902  585717 "bytes" nautilus translation to french is not shown in th...
12903  541276 XDG directories should have their own icons
12904  585726 Grammatical error in GList documentation
12905  585520 Wrong warning option in documentation
12906  585673 GNOME Goal: Remove deprecated glib symbols
12907  585591 Starting/stopping drives
12908
12909 * Updated translations:
12910  Bengali India
12911  Norwegian bokmål
12912
12913
12914 Overview of Changes from GLib 2.21.0 to GLib 2.21.1
12915 ===================================================
12916
12917 * GIO:
12918  - Support for network IO has been added, including a low-level
12919    socket API and a high-level API for network connections and
12920    services.
12921  - Support for read-write access with GIOStream and its subclasses.
12922  - GMount gained a pre-unmount signal.
12923
12924 * Bug fixes:
12925  576104Implement GMount::pre-unmount
12926  578769 implement GWinHttpFileInputStream::close_fn
12927  582856 gsocket.c doesn't compile on Solaris
12928  569375 g[u]intptr undocumented
12929  573246 [FIX] g_desktop_app_info_dup() can access NULL pointer
12930  575013 g_cancellable_push_current() does not allow NULL
12931  577884 live-g-file.c:461: error: format ‘%d’ expects type ...
12932  578499 g_output_stream_splice and stream closing with gnio strea...
12933  579558 Application employing gvfs crashes with only libgvfscommo...
12934  583001 SIGPIPE (grr!)
12935  583061 Please add convenience function to connect to machines by...
12936  583198 typo in error message
12937  583206 use g_set_error_literal where appropriate
12938  583229 void function g_async_initable_init_async returns value
12939  583324 locking problem in g_main_context_iterate()
12940  583408 void function g_socket_control_message_serialize returns ...
12941  578786 wrong and confusing error message
12942  583205 g_inet_address_to_bytes has no length outparam
12943  583196 mem leak in keyfile test
12944  583663 GSocketType enum ends with a comma
12945  569024 Make g_error_new_valist public
12946  569376 missing G_G[U]INTPTR_FORMAT
12947  580347 off-by-1 bug in GWinHttpFile
12948
12949 * Updated translations:
12950  Oriya
12951  Spanish
12952  Valencian-Catalan
12953
12954
12955 Overview of Changes from GLib 2.20.x to GLib 2.21.0
12956 ===================================================
12957
12958 * GIO:
12959  - New helper functions g_cancellable_connect/disconnect to avoid
12960    race conditions when connecting to the "cancelled" signal on
12961    GCancellable.
12962  - New types and methods for dealing with IPv4 and IPv6 addresses (and
12963    UNIX domain socket addresses under UNIX). This does not include code
12964    for actual socket I/O.
12965  - GResolver provides asynchronous and cancellable APIs for resolving
12966    hostnames, reverse lookup of IP addresses and resolving SRV records.
12967
12968 * Glib now provides hash and comparison functions for int64 and double
12969   types, suitable for use with GHashTable.
12970
12971 * GArray, GPtrArray and GByteArray can be ref counted now, and have
12972   boxed types.
12973
12974 * Bugs fixed:
12975  572844 Helper for GCancellable::cancelled connect/disconnect
12976  578363 goption docs should be improved
12977  548466 async/cancellable DNS resolver
12978  579830 param spec strings should use P_()
12979  579862 requesting xattr::foo ends up calling getxattr(..., user...
12980  580453 Hash and equal functions for gint64 and gdouble
12981  580450 Reference counting and boxed types for arrays
12982  580194 gresolver doesn't build on Solaris
12983  580301 network: a few issues on old darwin
12984  580299 network: include sys/types.h before sys/socket.h to insur...
12985  572508 gmarkup speedup
12986  580546 g_strtoull() referenced in documentation...
12987  580656 g_key_file_set_string_list erroneously asserts list != NULL
12988  579272 leaks in g_simple_async_result_set_op_res_gpointer
12989
12990
12991 * Updated translations:
12992  Catalan (ca)
12993  Pashto (ps)
12994  Spanish (es)
12995
12996
12997 Overview of Changes from GLib 2.20.0 to GLib 2.20.1
12998 ===================================================
12999
13000 * Bug fixes:
13001  575555 Use fsync() when replacing files to avoid data loss on
13002  575708 runaway inotify madness
13003  575270 GVolumeMonitor::mount-pre-unmount not being emitted
13004  577128 glib make check Failed to execute child process...
13005  573673 Always show "backup" directories
13006  578369 g_time_val_from_iso8601() parses timezones incorrectly
13007  578002 Fix a small typo in GFile docs
13008  578017 G_DEFINE_TYPE_EXTENDED docs
13009
13010 * Updated translations:
13011  Arabic
13012  Assamese
13013  Basque
13014  Bularian
13015  Brazilian Portuguese
13016  British English
13017  Catalan
13018  Danish
13019  French
13020  Galician
13021  German
13022  Greek
13023  Hungarian
13024  Italian
13025  Japanese
13026  Kannada
13027  Lithuanian
13028  Malayalam
13029  Norwegian bokmål
13030  Oriya
13031  Polish
13032  Punjabi
13033  Russian
13034  Simplified Chinese
13035  Slovenian
13036  Spanish
13037  Swedish
13038  Tamil
13039
13040
13041 Overview of Changes from GLib 2.19.9 to GLib 2.20.0
13042 ===================================================
13043
13044 * The functions for launching applications (e.g. g_app_info_launch() +
13045   friends) now passes a FUSE file:// URI if possible (requires gvfs
13046   with the FUSE daemon to be running and operational). With gvfs 2.26,
13047   FUSE file:// URIs will be mapped back to gio URIs in the GFile
13048   constructors. The intent of this change is to better integrate
13049   POSIX-only applications, see bug #528670 for the rationale.  The
13050   only user-visible change is when an application needs to examine an
13051   URI passed to it (e.g. as a positional parameter). Instead of
13052   looking at the given URI, the application will now need to look at
13053   the result of g_file_get_uri() after having constructed a GFile
13054   object with the given URI.
13055
13056 * Base64 support: Avoid integer overflows. CVE-2008-4316
13057
13058 * Bugs fixed:
13059  574019 GChecksum: document and guarantee hex characters in lower case
13060  573454 Unable copy/move files to directories symlinked to gvfs share
13061  561172 gnome-open fails on local URIs with anchors
13062  573970 crash in gunixvolumemonitor:update_mounts when unmounting
13063  573843 g_get_current_dir returns non-absolute path
13064
13065 * Updated translations:
13066  Assamese (as)
13067  Bengali (bn_IN)
13068  Czech (cs)
13069  Hindi (hi)
13070  Italian (it)
13071  Japanese (ja)
13072  Lithuanian (lt)
13073  Malayalam (ml)
13074  Marathi (mr)
13075  Oriya (or)
13076  Polish (pl)
13077  Romanian (ro)
13078  Telugu (te)
13079
13080
13081 Overview of Changes from GLib 2.19.8 to GLib 2.19.9
13082 ===================================================
13083
13084 * GMarkup:
13085  - Considerable speedup
13086
13087 * GIO
13088  - Add G_FILE_CREATE_REPLACE_DESTINATION flag to allow replacing
13089    the destination of a copying operation as if it did not exit before.
13090  - Be more careful when classifying files as desktop files
13091  - Support desktop file key X-GIO-NoFuse which disables the use
13092    of fuse pathnames for %u and %U arguments
13093
13094 * Bugs fixed:
13095  572672 glib/gthread.c: argument is different type
13096  572464 Doc for g_file_get_contents
13097  572151 “it's” and “its” confused in docs and comments
13098  570501 g_win32_get_system_data_dirs uses invalid conversion...
13099  167569 g_string_append_printf crashes on win32 when used...
13100  572508 gmarkup speedup
13101  560564 Replacing a symlink with its linked file truncates... 
13102  549298 impossible to copy files with p (pipe) flag
13103  543183 Clarify docs for g_file_has_prefix
13104  540461 g_memory_output_stream_get_data_size() doesn't behave...
13105  573462 GEmblemedIcon leak
13106  573421 Clarify message format in GMountOperation
13107  573658 Deadlock in giomodule.c
13108  556706 Inconsistent help arguments -h, -?
13109  573527 Wrong shell to run config.status in Makefile.in.in
13110  573128 A couple of typos in GObject documentation
13111
13112 * Updated translations:
13113  Catalan (ca)
13114  British English (en_GB)
13115  Spanish (es)
13116  Basque (eu)
13117  Finnish (fi)
13118  French (fr)
13119  Gujarati (gu)
13120  Hebrew (he)
13121  Hungarian (hu)
13122  Korean (ko)
13123  Maithili (mai)
13124  Norwegian bokmål (nb)
13125  Dutch (nl)
13126  Portugese (pt)
13127  Swedish (sv)
13128  Thai (th)
13129  Traditional Chinese (zh_HK)
13130  Traditional Chinese (zh_TW)
13131
13132
13133 Overview of Changes from GLib 2.19.7 to GLib 2.19.8
13134 ===================================================
13135
13136 * GIO: Fix missing exports of new API
13137
13138 * Fix strict aliasing warnings and violations to make Glib work
13139   with gcc 4.4
13140
13141
13142 Overview of Changes from GLib 2.19.6 to GLib 2.19.7
13143 ===================================================
13144
13145 * GIO
13146  - GFile gained an attribute for the actual file size in bytes
13147  - GMountOperation gained an "aborted' signal that allows to abort
13148    a mount operation from the backend side
13149
13150 * Bugs fixed:
13151  523742 Use noinst for non-installable libraries
13152  566747 URIs opened with firefox %u load as local files
13153  541225 Can't compile gio on AIX duplicate case value in gioerror.c
13154  571598 GAsyncResult with NULL gobject
13155  505042 add file attribute for actually used file size in bytes
13156
13157 * Updates translations:
13158  Basque (eu)
13159  Gujarati (gu)
13160  Italian (it)
13161  Japanese (ja)
13162  Norwegian bokmål (nb)
13163  Dutch (nl)
13164  Portugese (pt)
13165  Thai (th)
13166  Vietnamese (vi)
13167
13168
13169 Overview of Changes from GLib 2.19.5 to GLib 2.19.6
13170 ===================================================
13171
13172 * New format macro to print goffset data: G_OFFSET_FORMAT
13173
13174 * GIO: 
13175  - Add a GFilter{Input,Output}Stream::close-base-stream properties which
13176    determine whether the base stream will be closed when the filter stream
13177    is finalized.
13178  - g_data_input_stream_read_line and ..._read_until have asynchronous
13179    variants now.
13180
13181 * Bugs fixed:
13182  568294 A wrong reference in the description of g_bookmark_file_...
13183  563141 RFE: define G_OFFSET_FORMAT
13184  569105 g_time_val_to_iso8601() assumes time_t==long
13185  568394 dropping the last reference to a stream filter closes...
13186  568741 g_buffered_input_stream_fill_async doesn't work
13187  568723 g_buffered_input_stream_fill_async doesn't take count == -1
13188  568575 _async functions for GDataInputStream
13189
13190 * Updated translations:
13191  Bulgarian (bg)
13192  Finnish (fi)
13193  Hungarian (hu)
13194  Oriya (or)
13195  Swedish (sv)
13196  Traditional Chinese (zh_HK)
13197  Traditional Chinese (zy_TW)
13198
13199
13200 Overview of Changes from GLib 2.19.4 to GLib 2.19.5
13201 ===================================================
13202
13203 * Update included PCRE to 7.8
13204
13205 * g_base64_decode_inplace: New function to do base64 decoding in place
13206
13207 * Bugs fixed:
13208  567138 get_package_directory_from_module() does not free ...
13209  566569 gregex docs clarification
13210  566573 g_match_info_fetch_pos docs
13211  564728 Add function to decode base64 encoded data in place
13212  567838 G_STRUCT_OFFSETOF fails to compile under icc 9.1
13213  567977 textdomain() macro should not return NULL ...
13214  512779 --disable-regex breaks compilation
13215  566770 error code 0 for Too many open files is useless
13216  565484 g_content_type_guess passes non-UTF8 text to XDG ...
13217
13218 * Updated translations:
13219  Catalan (ca)
13220  Spanish (es)
13221  Italian (it)
13222  Swedish (sv)
13223
13224  
13225 Overview of Changes from GLib 2.19.3 to GLib 2.19.4
13226 ===================================================
13227
13228 * GIO:
13229   - Use O_NOATIME when sniffing mimetypes
13230   - Add a convenience method to check if a GSimpleAsyncResult
13231     is valid
13232
13233 * Bugs fixed:
13234  560676 function access for g_threads_supported
13235  565905 There is no g_context_group_set_translation_domain
13236  564210 SUN Studio 12 has supported visibility attribute
13237  565136 GObject's "notify" signal parameters are wrong in gtk-doc
13238  565831 error in interface creation sample
13239  566348 g_file_open_tmp uses the wrong g_mkstemp on win32
13240  566064 Add NOATIME flag to query_info_flags
13241  566170 g_async_result_verify_source_object
13242
13243 * Updated translations:
13244  Spanish (es)
13245  Norwegian bokmål (nb)
13246  Brazilian Portugese (pt_BR)
13247  Simplified Chinese (zh_CN)
13248
13249
13250 Overview of Changes from GLib 2.19.1 to GLib 2.19.3
13251 ===================================================
13252
13253 * Bugs fixed:
13254  508021 Add support for the CRIS and CRISv32 architectures
13255  526320 should not list mounts that the user doesn't have permission to use
13256  558458 Cannot build gio tests on Solaris using SUN cc
13257  555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property
13258  558298 Hide ecryptfs mounts
13259  515777 incorrect date&time on copy
13260  562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling
13261         g_simple_async_result_run_in_thread
13262  473150 g_type_module_use inconsistently increases the use
13263         counter in case of error
13264  563150 G_GU?INT*_MODIFIER/FORMAT docs
13265  563156 Document printing and scanning gunichar values
13266
13267 * Updated translations:
13268  Hebrew (he)
13269  Italian (it)
13270  
13271
13272 Overview of Changes from GLib 2.19.0 to GLib 2.19.1
13273 ===================================================
13274
13275 * GIO: 
13276   - g_icon_to_string, g_icon_new_for_string: GIcon serialization support
13277   - G_FILE_ATTRIBUTE_PREVIEW_ICON: new file attribute for preview images
13278   - g_app_info_get_commandline: new function to get the full commandline
13279   - g_mount_shadow, g_mount_unshadow, g_mount_is_shadowed: New functions 
13280     to 'shadow' mounts (i.e. hide them from the UI when they already
13281     have a different representation, like a bookmark) 
13282
13283 * Bugs fixed:
13284  556186 gpoll.h breaks gmain.h inclusion
13285  557087 mem leak in g_content_types_get_registered
13286  556921 gpoll.h breaks hal compilation
13287  557210 g_compute_checksum_for_* asserts with less than 2 bytes
13288  558381 Add support for compile time assertions
13289  558185 'parent' variable in g_local_file_get_child_for_display_name()
13290         hits g_object_unref(NULL) assertion
13291  558513 g_warn_if_fail FIXME in gtestutils
13292  558672 NULL key lookup using g_hash_table_lookup_extended() 
13293  555740 gicon serialization
13294  557182 preview functionality
13295  528320 Incorrect icons displayed for files with custom mimetype icons
13296  556910 Memory leak: sub
13297  557592 Missing include in gwinhttpfile.c
13298  556415 Crash on Windows 2000 in g_winhttp_vfs_init()
13299  555935 Clarify the mechanism of overwriting properties
13300  552776 ac_cv_func_posix_getgrgid_r not mentioned
13301  559448 GObject Reference Manual (typo)
13302  561212 GFileReadMoreCallback API doc refers to non-existant function
13303  560569 gkeyfile doesn't use the set list_separator in some cases
13304  560568 gkeyfile docs buglet
13305  559413 g_option_group_set_error_hook docs buglet
13306  562378 callback return value not respected for callback option
13307         with no arg
13308  559110 Do not include libintl.h after glibintl.h
13309  557603 carbon check output misplaced
13310  562544 g_key_file_get_string and g_key_file_get_value
13311         documentation does not explain the difference
13312  547264 Missing "no flags" flag
13313  562638 GDebugKey key member should be const
13314  562639 g_parse_debug_flags() parsing "help"
13315  562549 g_byte_array_free should tell how free data
13316  559452 GObject Reference Manual (typo)
13317  559462 GObject Reference Manual (typo)
13318  559517 GObject Reference Manual (typo)
13319  562538 GObject interface tutorial shouldn't finalise with
13320         "Please forget everything"
13321  561352 Leak of icon description
13322  561375 Leaks mountpoint description
13323  561807 inotify_sub.c: dup_dirname() fails to remove trailing '/'
13324  562393 g_buffered_input_stream_read_byte broken if data available
13325  541715 win32 : patch for warnings and signature problems in recent code
13326  547481 g_data_input_stream_read_line behaves not as stated in the docs
13327  548163 Nautilus displays wrong error message for too long file names
13328  559633 gtk_image_new_from_gicon does not always work for .desktop files
13329  555486 – No way to recover command line from GAppInfo
13330
13331 * Translation updates:
13332  Spanish (es)
13333  Ukrainian (uk)
13334
13335
13336 Overview of Changes from GLib 2.18.1 to GLib 2.19.0
13337 ===================================================
13338
13339 * Rewrite GHashTable to use open addressing with quadratic probing instead 
13340   of chaining. This has the potential to reduce memory fragmentation 
13341   significantly, while being slightly faster due to better locality and 
13342   no need to call alloc/free functions for nodes. Benchmarks suggest it 
13343   also uses less memory overall.
13344
13345 * Make g_poll available as public api
13346
13347 * New macros g_assert_error and g_assert_no_error to assert 
13348   that a GError is set or unset
13349
13350 * g_cancellable_make_pollfd: New method to make a GPollFD for a cancellable
13351
13352 * g_app_info_can_delete, g_app_info_delete, g_app_info_reset_type_associations:
13353   New functions to clean up app infos and content types
13354
13355 * When launching applications, always pass fuse file:// uris when possible,
13356   and let gio convert such uris back to gio uris.
13357
13358 * Bugs fixed:
13359  505361 gunixinputstream.c assumes poll() available
13360  509446 portable blocking gio cancellation
13361  553820 gpoll.c: undeclared identifier
13362  553724 python interpretter path not patched in correctly
13363  553857 gbacktrace.h requires signal.h
13364  553447 g_assert_no_error()
13365  554092 glib doesn't return G_FILE_ERROR_NOENT et al on OS X
13366  528670 Always pass file:/// uri's in GAppLaunchContext
13367  555224 Improve g_format_size_for_display doc
13368  555309 giochannel breaks on error
13369  554790 g_convert() misbehaves with winiconv versions
13370  555314 mem leak in gmarkup
13371  555313 GFileAttribute boxed type get_type function should...
13372  552861 glib-2.0.m4 calls system(3) without storing its result
13373  554557 Patch to fix gcc warnings about missing format specifiers
13374  552107 Small libtool fixes
13375  551355 Make glib build with libtool 2.2
13376  555311 format not a string literal and no format arguments
13377  556101 static mutex yields warnings with g++
13378  556186 gpoll.h breaks gmain.h inclusion
13379  526456 Open addressing in GHashTable
13380  553426 cancellable clarifications
13381  545350 GAppInfo deletion
13382  545351 Reset associations for content type
13383  552168 volume's mount not mounted after g_volume_mount_finish
13384  554970 segfault when update-desktop-database is not available...
13385  554745 GFileAttributeInfoList should be boxed
13386  555121 Improved build-time handling of gio module-dir
13387  555711 Wrong fallback order of mimetype icons
13388  555331 Deprecate adoption of mounts
13389  556335 make check fails in abicheck.sh
13390  556334 Warning when building without selinux support
13391  556422 g_file_enumerator_next_file: unclear...
13392
13393 * Updated translations:
13394  Arabic (ar)
13395  Danish (da)
13396  Polish (pl)
13397  Brazilian Portugese (pt_BR)
13398  Romanian (ro)
13399  Russian (ru)
13400
13401
13402 Overview of Changes from GLib 2.18.0 to GLib 2.18.1
13403 ===================================================
13404
13405 * Bugs fixed:
13406  550433 g_test_init doesn't recognize --help
13407  523463 Core dump in gmain.c:2482:IA__g_main_context_check
13408  551228 G_STRFUNC on recent Sun compiler should be expanded...
13409  551410 gtestutils.c: using printf without prototype
13410  551731 g_date_set_time[_t] docs should mention what timezone
13411  548321 <string.h> is not included in gi18n-lib.h
13412  551149 xdgmime mem leak
13413  550647 synchronous pipe I/O when reading mount reply
13414  551887 Docs for g_desktop_app_info_new_from_filename aren't...
13415  551681 g_content_type_guess() too naive with filenames
13416  552352 g_app_info_launch doesn't work if "Path" key...
13417  551408 gmodule.def generated to builddir...
13418  552359 g_file_info_get_icon should return GThemedIcon, and...
13419
13420 * Updated translations:
13421  Arabic (ar)
13422  Bengali India (bn_IN)
13423  British English (en_GB)
13424  Hindi (hi)
13425  Croatian (hr)
13426  Korean (ko)
13427  Oriya (or)
13428  Turkish (tr)
13429  Telugu (te)
13430
13431
13432 Overview of Changes from GLib 2.17.7 to GLib 2.18.0
13433 ===================================================
13434
13435 * The recommended way of using GLib has always been to only include the
13436   toplevel headers glib.h, glib-object.h and gio.h. GLib enforces this by
13437   generating an error when individual headers are directly included.
13438   To help with the transition, the enforcement is not turned on by
13439   default for GLib headers (it is turned on for GObject and GIO).
13440   To turn it on, define the preprocessor symbol G_DISABLE_SINGLE_INCLUDES.
13441
13442 * Win32:
13443   - rework the g_poll() implementation to match poll() semantics more closely
13444
13445 * Bugs fixed:
13446  324234 Using g_io_add_watch_full() to wait for connect() to return...
13447  548278 Async GETs connections are always terminated unexpectedly...
13448  500246 Bug fixes for giowin32
13449  523939 Example program for GValue
13450  550096 GBookmarkFile parser is not forward compatible
13451  550040 Move GString, rand and printf tests to the unit test framework
13452  550104 trivial documentation fix for g_get_home_dir
13453  548988 g_file_replace fails on Windows when the target file exists
13454  550059 Wrong docs for g_emblemed_icon_add_emblem
13455  548800 Missing a g_object_get_type function
13456  550056 Missing documentation for g_emblemed_icon_get_emblems
13457
13458 * Updated translations:
13459  Bulgarian (bg)
13460  Czech (cs)
13461  German (de)
13462  Estonian (et)
13463  Basque (eu)
13464  French (fr)
13465  Hebrew (he)
13466  Hungarian (hu)
13467  Italian (it)
13468  Japanese (ja)
13469  Lithuanian (lt)
13470  Maithili (mai)
13471  Dutch (nl)
13472  Swedish (sv)
13473  Thai (th)
13474  Ukrainian (uk)
13475  Vietnamese (vi)
13476
13477
13478 Overview of Changes from GLib 2.17.6 to GLib 2.17.7
13479 ===================================================
13480
13481 * More fixes for 64-bit Windows
13482
13483 * GIO
13484  - Add a vfs implementation for HTTP and HTTPS URIs on Windows
13485
13486 * Bugs fixed:
13487  546329 API docs for g_utf8_normalize() are incorrect
13488  546876 Modify GMarkup parser to accept &#x1; .. &#x1f;
13489  547200 g_utf8_find_next_char() issues
13490  547637 unconditional #include of sys/statfs.h in configure
13491  547337 G_DISABLE_DEPRECATED breaks tests build
13492  547832 gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict
13493  502498 Test framework assertion failures should follow gcc
13494  546371 Improve docs re g_file_monitor
13495  546483 GThemedIcon:use-default-fallbacks is not readable without...
13496  546132 GFileIcon is bindings-unfriendly
13497  542156 zfs mount in home directory shown on nautilus desktop 
13498  535124 umask 002 not being applied for new directories...
13499  547080 g_file_copy leaks expected errors
13500  546582 Callbacks from GFileMonitor present a GFile...
13501  547262 Missing link in the docs
13502
13503 * Updated translations:
13504  Arabic (ar)
13505  Catalan (ca)
13506  Spanish (es)
13507  Basque (eu)
13508  Finnish (fi)
13509  Galician (gl)
13510  Hebrew (he)
13511  Marathi (mr)
13512  Norwegian bokmål (nb)
13513  Portugese (pt)
13514  Brazilian Portugese (pt_BR)
13515  Swedish (sv)
13516  Thai (th)
13517
13518
13519 Overview of Changes from GLib 2.17.4 to GLib 2.17.6
13520 ===================================================
13521
13522 * Fix problems on 64-bit Windows
13523
13524 * g_markup_context_get_user_data: New function to access
13525   the user_data outside of callbacks
13526
13527 * GIO
13528  - g_mount_guess_content_type_sync: synchronous version of
13529    g_mount_guess_content_type
13530  - GEmblem: A GIcon implementation that adds emblem-related
13531    metadata to icons
13532  - GEmblemedIcon: A GIcon implementation that can add emblems
13533    to icons
13534
13535 * Bugs fixed:
13536  544088 option_test_LDADD is left in tests/Makefile.am
13537  544465 gmarkup makes it hard to use pre-rolled parsers
13538  545485 Implicit declaration of utime()
13539  545798 "Since: 2.18" mark is missing in g_set_error_literal...
13540  544140 fam-helper 64-bit issue
13541  529694 SELinux context setting support
13542  545157 wrong/no list of "open with" applications for .cc...
13543  545203 gfile.c: argument is different type
13544  545457 gdmsetup crashed with SIGSEGV in g_unix_mount_guess...
13545  544177 Fix trivial cut and paste error in documentation
13546  545395 Language tweak for g_value_set_string* docs
13547  541036 Gnumeric crashes when trying to open Desktop...
13548  546079 leak in xdgmime
13549  545395 Language tweak for g_value_set_string* docs
13550  546017 Don't copy attributes when copying a symlink
13551
13552 * Updated translations:
13553  Arabic (ar)
13554  Estonian (et)
13555  Galician (gl)
13556  Italian (it)
13557  Japanese (ja)
13558  Korean (ko)
13559  Norwegian bokmål (nb)
13560  Pashto (ps)
13561  Portugese (pt)
13562
13563
13564 Overview of Changes from GLib 2.17.3 to GLib 2.17.4
13565 ===================================================
13566
13567 * GIO:
13568  - New API to handle content types: g_mount_guess_content_type,
13569    g_content_type_guess_for_tree.
13570  - Export the eject-button signal on the volume monitor class
13571  - New API to enable out-of-process volume monitors: 
13572    g_volume_get_activation_root
13573
13574 * GObject:
13575  - New API to handle signals without slots in the class structure:
13576    g_signal_new_class_handler, g_signal_override_class_handler   
13577
13578 * Internationalization:
13579  - Add an NC_ macro that is a no-op equivalent of C_
13580
13581 * GMarkup:
13582  - Add two new functions g_markup_parse_context_push,
13583    g_markup_parse_context_pop to support "subparsers"
13584
13585 * Bugs fixed:
13586  541208 Functions to easily install and use signals without...
13587  541507 Ambiguous description of assigned characters in the...
13588  543040 async reading on dummy file will crash on GIO_USE_VFS=local
13589  543560 enable gio-FEN back-end warnings on Solaris will crash...
13590  528317 GRegex does not allow recursion limit
13591  337518 GMarkup: Subparser support
13592  541794 drive-eject-button signal
13593  541793 activation root for volumes
13594  467707 test_iconv_state() in tests/convert-test.c fails on AIX 5.3
13595  428048 2 of 51 tests fail on Solaris
13596  542332 small fix for error message in GMarkup
13597  482413 get_contents_stdio -- overflow and memory corruption
13598  406120 g_ascii_strtod
13599  334234 "printf" format error
13600  536996 Missing noop i18n macro equivalent to C_
13601  540616 mem leak in filechooser button
13602  539229 gobject-query calls itself query
13603  521589 [RFC] gobject documentation should mention Vala
13604  543168 Description of G_SLICE=debug-blocks discourages its use
13605  543220 Case collision on gio-extension-points.html
13606  530759 update the gobject tutorial to the XXI century
13607  535223 gbookmark file inefficiency ...
13608  543504 crash in Epiphany Web Browser: Opening local file
13609
13610 * Updated translation:
13611  German (de)
13612  Estonian (et)
13613  Pashto (ps)
13614  Albanian (sq)
13615  Thai (th)
13616  Traditional Chinese (zh_HK)
13617  Traditional Chinese (zh_TW)
13618
13619
13620 Overview of Changes from GLib 2.17.1 to GLib 2.17.3
13621 ===================================================
13622
13623 * PCRE
13624  - fix for CVE-2008-2371 
13625
13626 * Bugs fixed:
13627  538119 glib's mainloop leaks a pipe to sub-processes
13628  537635 Corrections and improvements to g_time_val_{to,from}_iso8601
13629  539067 The document g_io_channel_win32_new_fd() says...
13630  535949 annotate g_strip_context and g_dpgettext with G_GNUC_FORMAT
13631  539123 annotate g_d[n]gettext with G_GNUC_FORMAT
13632  539074 Cannot get exit status with g_spawn_command_line_sync
13633  316221 G_LOCK warns about breaking strict-aliasing rules
13634  539770 migrate gstrfunc unit tests to gtest
13635  539626 Update docstrings for g_object_freeze_notify and g_object_thaw_notify
13636  538044 unconditional use of LC_MESSAGES
13637  540545 Monotonic time and timer offset
13638  535947 want g_set_error_literal
13639  539999 glibconfig.h: add GLIB_USING_SYSTEM_PRINTF 
13640  536252 GFileEnumerator should allow access to the containing GFile
13641  538362 Get Win32 icons back in the file chooser
13642  540802 g_list_prepend doesn't concat lists
13643  540423 unrecoverable error after g_seekable_truncate
13644  538836 make check failure on PPC and ALPHA: pltcheck.sh on g_atomic_pointer_get
13645  539090 g_content_type_from_mime_type() should unalias
13646  540331 g_file_append_to () documentation: can return NULL
13647  534639 add g_desktop_app_info_new_from_keyfile
13648  536733 gio build failure on Irix
13649  536160 Add g_file_monitor()
13650  538127 FileChooser broken on win32
13651  531476 /live-g-file/test_traverse_structure test fails on Mac HFS+
13652  538564 gio should have gio-types.h
13653  540047 glib-genmarshal.c: '#include <io.h>' is too before
13654
13655 Updated translations:
13656  Korean (ko)
13657  Occitan (oc)
13658
13659
13660 Overview of Changes from GLib 2.17.0 to GLib 2.17.1
13661 ===================================================
13662
13663 * New function: g_utime(), a gstdio wrapper for utime()
13664
13665 * New functions: g_dgettext() and g_dngettext(), wrappers
13666   for corresponding gettext functions with added functionaliy
13667
13668 * Support the latest version of the shared-mime spec, including
13669   icons for mime types 
13670
13671 * New function: g_themed_icon_prepend_name()
13672
13673 * Bugs fixed: 
13674  535418 Please document which glib version defines goffset
13675  528715 Misprint in the description of the interface g_type_class_add_private
13676  528714 Misprint in the description of the interface g_param_spec_flags
13677  537260 Doc bug in G_TYPE_INSTANCE_GET_CLASS()
13678  530527 Misprint in the description of the interface 
13679         g_cclosure_marshal_VOID__FLAGS
13680  530526 Misprint in the description of the fields 'class_init' and 
13681         'class_finalize' of the structure GTypeInfo
13682  528719 Improvement to the documentation of the "g_object_connect" interface
13683  528172 gtk_signal_handlers_unblock_* functions return value
13684         amount of matched signals, not amount of actually unblocked
13685  528717 Misprint in the description of the parameter 'type_id' for 
13686         the interface g_type_register_fundamental
13687  528716 Misprint in the description of the parameter 'iface_data' for 
13688         the callback types GInterfaceInitFunc and GInterfaceFinalizeFunc 
13689  537555 GObject instantiation not thread safe
13690  537546 'desktop' shortcut in file chooser looks like a generic folder
13691  537392 Additional colon in xattr name
13692  536641 Filesystem querying in gio does not list AFS and autofs file systems
13693  528600 g_dummy_file_get_parent("scheme://example.com/")
13694  503071 Application direction changes to right to left even if theres no 
13695         translation
13696  502511 g_assert_cmphex prints invalid message
13697  338162 Use po/LINGUAS
13698  314453 Nautilus crashes in Solaris when browsing the attached file
13699  529321 make check fails in glib/pcre
13700  455215 g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD 
13701         fallback to $HOME/Desktop if xdg-user-dirs is not in use
13702  498732 g_key_file_to_data cannot fail
13703  511367 add g_file_make_directory_with_parents
13704  531900 Use __builtin_offsetof for G_STRUCT_OFFSET if building with 
13705         gcc 4.0 or newer
13706  536158 also bump GHashTable version when a node is removed via
13707         g_hash_table_iter_remove()/g_hash_table_iter_steal()
13708  531403 g_utf8_collate broken on Mac
13709  535628 test/patterntest.c still includes gpattern.h directly
13710  535625 alias.h:2648: error: 'utime' undeclared here (not in a function)
13711
13712 * Translation updates:
13713  Arabic (ar)
13714  German (de)
13715  Italian (it)
13716  Norwegian bokmål (nb)
13717  Thai (th)
13718
13719
13720 Overview of Changes from GLib 2.16.x to GLib 2.17.0
13721 ===================================================
13722
13723 * Update to Unicode 5.1
13724
13725 * Update included libcharset to the one shipped with libiconv 0.12
13726
13727 * Update included PCRE to 7.7
13728
13729 * Enforce that only toplevel headers are directly included.
13730   This is turned on by default for GObject and GIO. To turn
13731   it on for GLib, define G_DISABLE_SINGLE_INCLUDES.
13732
13733 * Fix library version of GIO.  GLib 2.16 shipped with libgio-2.0.so.0.0.0
13734
13735 * On Solaris, use FEN for file monitoring in GIO
13736
13737 * Use the GIO_EXTRA_MODULES environment variable to find
13738   additional GIO modules 
13739
13740 * G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size
13741   function attribute
13742
13743 * g_checksum_reset: New function to reset the state of a GChecksum 
13744
13745 * g_unix_mount_monitor_set_rate_limit: New function to limit the 
13746   rate at which events are reported
13747
13748 * g_file_query_file_type: New utility function to query the type of
13749   a file
13750
13751 * g_memory_output_stream_get_data_size: New function to obtain the
13752   size of the written data.
13753
13754 * Bugs fixed:
13755  522292 Gives warnings in glib/gutils.h with GCC in C99 mode
13756  523298 win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
13757  518160 replace two g_strdup_printf calls in GBookmarkFile
13758  523877 gbookmarkfile: avoid using g_string_append_printf() and
13759         other optimizations 
13760  525192 100% CPU if run main loop with no IO sources
13761  315437 extern inline -> static inline
13762  524314 g_convert() on Win32 implicitly converts full width
13763         alphanumerics into half width
13764  525732 Error in documentation for g_list_first
13765  525674 A typo in gmarkup.c
13766  448943 g_timeout_add_seconds() problems
13767  525972 UCS-4 not in the new win_iconv implementation
13768  526619 make test-report crash
13769  491554 Update to Unicode 5.1.0
13770  519137 g_slice_dup macro needs cast for 64-bit platform
13771  528752 Win32 build and SSL not working
13772  530457 G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
13773  528667 Typos in testing module documentation
13774  459905 Bug in wcwidth data
13775  534085 g_unichar_iswide_cjk() has a totally wrong table
13776  501651 Update glib/libcharset
13777  519026 G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
13778  534319 GLib's .pc files could use Libs.private
13779  534137 Typo in g_spawn_async_with_pipes doc
13780  517419 gio win32 directory monitor
13781  526796 Wrong order of arguments in g_file_copy's fallback
13782  530196 _g_local_file_has_trash_dir() doesn't handle st_dev == 0
13783  532965 Should not return filesystem::free for certain file systems
13784  525553 fix typo and nitpicking in GArray documentation
13785  526572 Missing * in declaration of parent_class in Object
13786         Destruction section of GObject Reference Manual
13787  528648 Extra >s in Object Construction section
13788  535021 g_param_spec_internal documentation should
13789         describe purpose of nick and blurb
13790  521513 Firefox crash when using file picker
13791  528433 gdesktopappinfo snafu ...
13792  533369 API g_file_info_get_attribute_string () unables to get "...
13793  521045 glib f_fstypename miscellany
13794  521672 compile error
13795  521946 control rate limit on GUnixMountMonitor
13796  522335 Fails to build: glib/gtester.c:276: error: 'ARG_MAX' unde...
13797  523015 Implement sliding window based upload operation
13798  523019 Use new GCC 4 feature
13799  523338 list nfs4 as a nfs mount type
13800  524350 Make glib build without NLS again
13801  524579 g_file_copy reports wrong total on progress callback for ...
13802  524742 A typo in gtestutils.c.
13803  524950 Minor documentation typos.
13804  525866 the user directory should not be considered as a mount to...
13805  526320 should not list mounts that the user doesn't have permiss...
13806  527132 nautilus crash when making ftp connection
13807  532852 CRITICAL **: totem_pl_parser_parse_with_base: assertion `...
13808  534759 Build failure in gio
13809  534764 Typo in error produced by g_file_make_directory
13810  521851 Redudant tests in gunixmounts.c
13811  524344 glib/gthread.h still use G_GNUC_PRETTY_FUNCTION
13812  525060 glib fails to build with -DG_DISABLE_ASSERT in CPPFLAGS o...
13813  534177 Invalid description of the interface g_cclosure_marshal_S...
13814  520715 Add GFile method g_file_query_file_type
13815  523039 nautilus can't access to trash/computer/network if gvfs i...
13816  
13817 * Updated translations:
13818  Arabic (ar)
13819  Bulgarian (bg)
13820  Catalan (ca) 
13821  Czech (cs)
13822  Greek (el)
13823  Candian English (en_CA)
13824  British English (en_GB)
13825  Spanish (es)
13826  Estonian (et)
13827  Basque (eu)
13828  Galician (gl)
13829  Hebrew (he)
13830  Hungarian (hu)
13831  Japanese (ja)
13832  Lithuanian (lt)
13833  Norwegian bokmål (nb)
13834  Dutch (nl)
13835  Occitan (oc)
13836  Portugese (pt)
13837  Russian (ru)
13838  Slovak (sk)
13839  Albanian (sq)
13840  Swedish (sv)
13841  Turkish (tr)
13842  Vietnamese (vi)
13843
13844
13845 Overview of Changes from GLib 2.16.0 to GLib 2.16.1
13846 ===================================================
13847
13848 * Fix a crash in g_themed_icon_new
13849
13850 * Update the included PCRE to 7.6
13851
13852
13853 Overview of Changes from GLib 2.15.6 to GLib 2.16.0
13854 ===================================================
13855
13856 * GLib now includes GIO, which adds optional dependencies against libattr
13857   and libselinux for extended attribute and SELinux support. Use
13858   --disable-xattr and --disable-selinux to build without these.
13859
13860 * Fix the definition of G_INLINE_FUNC to work with gcc 4.3.0
13861
13862 * GIO:
13863  - Add missing GMountMountFlags argument to g_unix_volume_mount
13864  - Fix the adopt_orphan_mount vfunc to take a volume monitor 
13865    reference
13866  - Add properties to GThemedIcon for bindings sake
13867
13868 * Bugs fixed:
13869  520484 gvfsd-trash crashed with SIGSEGV in g_path_is_absolute()
13870  510855 g_checksum_update(): Take -1 for length.
13871  517676 g_themed_icon_new*() do more than call g_object_new().
13872  518816 should handle rmdir returning EEXIST correctly
13873  519352 g_[s]list_delete_link() docs
13874  519489 Fixes for sparse warnings in gio
13875  520169 add monitor argument to vfunc for GVolumeMonitor
13876  520700 Add type check in g_file_query_exists
13877  521145 FILE_READ_ONLY_VOLUME not present on Mingw32
13878  518720 No MIME type for empty files
13879  521013 in documentation, goffset doesn't say "Since 2.x"
13880  521028 Missleading error messages from g_io_channel_set_encoding()
13881  517484 GMainLoop could set the thread "Alertable" for APCs to be... 
13882
13883 * Updated translations:
13884  Assamese (as)
13885  Bengali India (bn_IN)
13886  Czech (cs)
13887  German (de)
13888  Spanish (es)
13889  Estonian (et)
13890  Finnish (fi)
13891  French (fr)
13892  Gujarati (gu)
13893  Italian (it)
13894  Lithuanian (lt)
13895  Malayalam (ml)
13896  Marathi (mr)
13897  Norwegian bokmål (nb)
13898  Romanian (ro)
13899  Russian (ru)
13900  Slovak (sk)
13901  Ukrainian (uk)
13902
13903  
13904 Overview of Changes from GLib 2.15.5 to GLib 2.15.6
13905 ===================================================
13906
13907 * GIO:
13908  - New file attributes: trash::item-count, filesystem::use-preview
13909  - Rename g_file_contains_file to g_file_has_prefix
13910  - g_file_query_filesystem_info grew async variants
13911  - g_themed_icon_append_name: new convenience function
13912  - g_content_type_get_icon is implemented now
13913  - Only show mounts in /media and ~
13914  - g_file_contains_file has been renamed to g_file_has_prefix
13915
13916 * Win32:
13917  - g_win32_get_package_installation_directory_of_module: new function
13918    which supersedes g_win32_get_package_installation_directory
13919  - Use alertable wait functions so that I/O completion routines or 
13920    user-mode Asynchronous Procedure Calls can be run
13921  - Fix race conditions in g_spawn implementation on win32
13922
13923 * Other:
13924  - g_uri_get_scheme has been renamed go g_uri_parse_scheme
13925
13926 * Updated translations:
13927  Arabic (ar)
13928  Belarusian Latin (be@latin)
13929  Catalan (ca) 
13930  British English (en_GB)
13931  Finnish (fi)
13932  Galician (gl)
13933  Hebrew (he)
13934  Italian (it)
13935  Kannada (kn)
13936  Norwegian bokmål (nb)
13937  Dutch (nl)
13938  Brazilian Portugese (pt_BR)
13939  Vietnamese (vi)
13940
13941
13942 Overview of Changes from GLib 2.15.4 to GLib 2.15.5
13943 ===================================================
13944
13945 * Update the included PCRE to 7.6
13946
13947 * GIO:
13948  - g_volume_should_automount: new function to determine if a volume
13949    should be mounted automatically
13950  - g_file_query_default_handler: new convenience function to get
13951    the default handler for a file
13952  - g_app_info_launch_default_for_uri new convenience function to
13953    launch the default handler for a URI
13954  - Use mimeapps.list and defaults.list as discussed on xdg list
13955    recently
13956  - g_app_info_get_default_for_uri_scheme has a real implementation
13957    now (gvfs provides a GConf-based implementation)
13958  - There is the beginning of a test suite
13959  - standard::description:  new file attribute
13960  - GMountMountFlags flags argument added to mount calls
13961
13962 * GObject:
13963  - class initialization is now threadsafe
13964
13965 * Updated translations:
13966   Arabic (ar)
13967   Catalan (ca)
13968   Spanish (es)
13969   Basque (eu)
13970   Italian (it)
13971   Japanese (ja)
13972   Kannada (kn)
13973   Korean (ko)
13974   Macedonian (mk)
13975   Occitan (oc)
13976   Portugese (pt)
13977   Brazilian Portugese (pt_BR)
13978   Swedish (sv)
13979   Thai (th)
13980
13981
13982 Overview of Changes from GLib 2.15.3 to GLib 2.15.4
13983 ===================================================
13984
13985 * G_GNUC_PRETTY_FUNCTION has been deprecated
13986
13987 * GIO:
13988  - g_file_copy has an async variant now
13989  - Drives and volumes now have API to get identifiers
13990    like Hal UDIs or UUIDs.
13991  - There is now a registration API to let modules register
13992    extensions they provide, such as volume monitor implementations
13993
13994 * Bugs fixed:
13995   511807 g_time_val_to_iso8601() uses MT-unsafe gmtime() function
13996   316260 [patch] Doc patches for gnode (2.8.1)
13997   385132 solaris gettext support fix
13998   484261 ./configure check for system PCRE unicode support fails w...
13999   510292 GOption main help not shown
14000   511580 Implement g_file_copy_async
14001   511654 Compile errors due to C99 constructs
14002   487909 g_utf8_strreverse and combining marks
14003   512381 unused variable 'is_main_group' 
14004
14005 * Updated translations:
14006   Arabic (ar)
14007   Belarusian (be)
14008   Czech (cz)
14009   Spanish (es)
14010   French (fr)
14011   Galician (gl)
14012   Portugese (pt)
14013   Russian (ru)
14014   Swedish (sv)
14015   Thai (th)
14016
14017
14018 Overview of Changes from GLib 2.15.2 to GLib 2.15.3
14019 ===================================================
14020
14021 * GChecksum:
14022  - g_checksum_update can accept nul-terminated strings
14023  - The MD5 implementation works correctly on buffers 
14024    that are longer than 64 bytes
14025
14026 * GIO:
14027  - Don't include a copy of the inotify headers, rely on system headers
14028  - g_file_find_enclosing_mount has an async variant now
14029  - Reduntant seek API on file streams has been removed
14030
14031 * Bugs fixed:
14032   508602 gmemory{in|out}putstream.c: unknown pointer size
14033   508771 There is no g_file_test/exists() for GFile
14034   508773 g_uri_escape_string() documentation unclear.
14035   509465 AM_PATH_GLIB_2_0 doesn't support gio
14036   509626 async functions: Document allowed NULL callback?
14037   509990 GSeekable documentation unclear
14038   510448 No inotify support on ARM or SH5
14039   510855 g_checksum_update(): Take -1 for length. 
14040
14041 * Updated translations:
14042   Basque (eu)
14043   Marathi (mr)
14044   Swedish (sv)
14045   Ukrainian (uk)
14046
14047
14048 Overview of Changes from GLib 2.15.1 to GLib 2.15.2
14049 ===================================================
14050
14051 * GIO:
14052  - Mount operation API change: unhandled methods get reported via 
14053    the reply, rather than by the signal emission return value
14054  - File monitor API change: Add a GError argument to g_file_monitor_file
14055  - g_unix_mount_guess_should_display(): new function
14056
14057 * Bugs fixed:
14058   508224 [PATCH] FAM backend crashes due to double free
14059   508074 GAsyncResult documentation suggests g_freeing it.
14060   508108 GFile documentation slightly unclear.
14061   508309 rpc_pipefs mount points should be hidden
14062   508378 GFileInfo documentation implies that it changes attribute...
14063   508719 g_file_get_relative_path fails if parent is root
14064   508773 g_uri_escape_string() documentation unclear.
14065
14066 * Updated translations:
14067   Arabic (ar)
14068   Spanish (es)
14069   Hebrew (he)
14070   Italian (it)
14071   Korean (ko)
14072   Turkish (tr)
14073
14074
14075 Overview of Changes from GLib 2.15.0 to GLib 2.15.1
14076 ===================================================
14077
14078  * Portability fixes:
14079  - Assertion functions are marked as noreturn again
14080  - Handling of inline functions has been fixed to work with gcc 4.3
14081  - C99 comments have been removed from headers
14082  - The nonportable sed -i option is no longer used
14083
14084  * GIO:
14085   - Clarified the semantics of g_app_info_get_all()
14086   - API for memory input and output streams has been changed a bit
14087   - GDirectoryMonitor has been removed; GFileMonitor can monitor
14088     files and directories now
14089
14090  * Bugs fixed:
14091    504829 Invalid environment passed to g_spawn_async in g_desktop_...
14092    505258 crash in Users and Groups: Adding a user
14093    505815 g_content_types_get_registered should not g_free keys
14094    491218 g_timer_new() doesn't initialize timer->end
14095    315437 extern inline -> static inline
14096    476856 Inconsistency between standard and implementation of the ...
14097    480122 g_module_open fails to open modules with ".la" extension
14098    495589 gspawn.c failing to set FD_CLOEXEC
14099    500273 doesn't build with --disable-visibility
14100    504142 Do not show empty groups in --help output
14101    504879 giofam incorrectly linked
14102    505042 add file attribute for actually used file size in bytes
14103    505058 xattr namespace docs
14104    505674 Misprint in the definition of the macro G_CCLOSURE_SWAP_DATA
14105    505730 Fails to build on OSX 10.4: _NSGetEnviron not declared
14106    505887 older darwin lacks lchown
14107    506374 gmemoryinputstream api
14108    506461 Conversion of g_assert_not_reached() and friends into fun...
14109    503051 Small bug in glib interface
14110    506395 Updates to GIO documentation
14111    507628 Missing .pc entry for gio linking against glib
14112    505195 [patch] typo in g_try_new0 docs 
14113    507822 g{file,directory}monitor changes signal problem
14114    506377 gmemoryoutputstream write implementation
14115    507835 bug in gunixinputstream 
14116
14117  * Updated translations:
14118    Arabic (ar)
14119    Belarusian Latin (be@latin)
14120    Spanish (es)
14121    Basque (eu)
14122    Irish (ga)
14123    Hebrew (he)
14124    Occitan (oc)
14125    Vietnamese (vi)
14126
14127
14128 Overview of Changes from GLib 2.14.x to GLib 2.15.0
14129 ===================================================
14130
14131 Major new features:
14132
14133  * GIO: a VFS API, designed to replace GnomeVFS. The GIO implementation 
14134    in GLib has support for local filesystems. The new, separate gvfs 
14135    module contains various backend implementations (cifs, ftp, sftp,
14136    http, ...)
14137
14138  * GChecksum: provides various hash algorithms, such as MD5, SHA-1
14139    and SHA-256
14140  
14141  * GTest: a test framework 
14142  
14143 Smaller additions:
14144
14145  * GHash:
14146  - GHash has iterators, as an alternative to g_hash_table_foreach
14147
14148  * GMarkup: 
14149  - g_markup_parse_context_get_element_stack: New function to
14150    get the stack of open elements
14151  - G_MARKUP_PREFIX_ERROR_POSITION: New flag to improve error
14152    reporting
14153  - g_markup_collect_attributes: Convenience function for handling
14154    attributes
14155
14156 * GKeyFile: 
14157  - Functions that take a GError now return a boolean to indicate 
14158    success, instead of void
14159  - Various performance improvements
14160
14161 * GAsyncQueue:
14162  - g_async_queue_new_full: new function that allows to specify
14163    a free function for leftover elements
14164  
14165 * GError:
14166  - g_prefix_error and g_propagate_prefixed_error: New functions
14167    to ease error propagation
14168
14169 * Internationalization:
14170  - C_: A new 2-argument variant of the Q_() macro 
14171  - Use native character set conversion API on Windows
14172
14173 * GLib builds with automake 1.10
14174
14175 * Bugs fixed:
14176  455725 specific combination of g_utf8_strlen and g_pattern_match...
14177  467537 g_convert_with_iconv() not resetting iconv() state correc...
14178  497033 Commandline option parser should warn about missing optio...
14179  504527 gchecksum: Conditional jump or move depends on uninitiali...
14180  445362 Non-numeric local labels in gatomic.c are causing linker ...
14181  482313 gregex: no way to tell why compilation failed
14182  317775 main loops continues to run after g_main_loop_quit() has ...
14183  418778 Insufficient pkg-config version requirement
14184  436293 g_option_context_new() doc should mention that the string...
14185  466557 glib-mkenums shifts ARGV[0] to undefined
14186  468882 GKeyFile doesn't accept "True" as a true boolean value
14187  469551 application --help messages are garbaged on none UTF-8 lo...
14188  479724 Memory leak upon calling "g_main_loop_run" in the seconda...
14189  490061 outptrs uninitialized after g_parse_long_long
14190  490637 gobject documentation patch
14191  495294 glib-genmarshal prints warnings but returns 0
14192  496046 option to prefix location of errors for GMarkup
14193  498113 tests/regex-test fails on 64bit environment
14194  500506 Fails to build on OSX 10.4
14195  500638 gkeyfile speedup ...
14196  500875 Make check fails as there is no "test" target for "build"...
14197  502511 g_assert_cmphex prints invalid message
14198  502927 g_array_index triggers cast aligment warning
14199  503029 g_time_val_from_iso8601 parse non-ISO8601 dates
14200  503222 Need context to translate
14201  503420 gkeyfile leaks a hash table
14202  503470 Fix build when builddir != srcdir
14203  504227 Inverse variant for g_test_trap_assert_stdout, g_test_tra...
14204  71704  file include order
14205  491957 Misprint in the specification of the interface "g_main_co...
14206  491959 Misprint in description of the structure "GThreadPool"
14207  491965 Mistype in the specification of the function "g_hook_list...
14208  491966 Misprint in the specification of the interface "g_main_co...
14209  491968 The documentation does not mention the restriction for th...
14210  491970 The documentation for the interface "g_date_clamp" is inc...
14211  491974 The documentation of the interface "g_main_context_iterat...
14212  491975 The documentation for the interfaces "g_io_channel_read_u...
14213  491979 Misprint in the description of the interfaces g_key_file_...
14214  491982 Misprint in the description of the interface "g_key_file_...
14215  501107 EXTRA_DIST automake warnings
14216  501997 g_utf8_normalize() returns NULL on invalid string
14217  502590 C_/g_dpgettext efficiency
14218  464259 g_set_application_name() docs should say "Since 2.2"
14219  496518 gbase64.c API doc clarification
14220  498728 g_key_file_get_*_list should set length to 0 when returni...
14221  500361 Improve docs for g_array_free() and g_ptr_array_free()
14222  501853 g_checksum_get_digest docs
14223  503862 Allow NULL strings in g_parse_debug_string()
14224  142676 Q_
14225  367550 Add g_async_queue_new_full() with GDestroyNotify function
14226  375651 Minor enhancements to GKeyFile API
14227  443648 MD5 digest support
14228  449937 Upgrade auto* sources to be clean under automake1.9
14229  452887 gmarkup context "get element" function is useless when ca...
14230  491549 [PATCH] Eliminate libiconv dependency on Windows
14231  500507 GHashTableIter API 
14232
14233 * Translation updates
14234  Belarusian Latin (be@latin)
14235  Czech (cs)
14236  German (de)
14237  Spanish (es)
14238  Esperanto (et)
14239  French (fr)
14240  Korean (ko)
14241  Marathi (mr)
14242  Norwegian bokmål (nb)
14243  Brazilian Portugese (pt_BR)
14244  Slovenian (sl)
14245  Swedish (sv)
14246
14247
14248 Overview of Changes from GLib 2.14.2 to GLib 2.14.3
14249 ===================================================
14250
14251 * Update PCRE to 7.4
14252
14253 * Bugs fixed:
14254  487491 Fix some warnings from sparse
14255  488068 Small (one-time) memory leak in glib_gettext initialization
14256  493688 TYPE macro "_get_type ()" is documented wrong
14257
14258 * Updated translations:
14259  Arabic (ar)
14260  Belarusian Latin (be@latin)
14261  Estonian (et)
14262  Irish (ga)
14263  Slovenian (sl)
14264
14265  
14266 Overview of Changes from GLib 2.14.1 to GLib 2.14.2
14267 ===================================================
14268
14269 * Bugs fixed:
14270  476849 Invocation of the interface "g_hook_free" fails in certai...
14271  359165 marshallers can throw warnings with -Wunused
14272  477957 more discussion on g_value_set_object vs. g_value_take_ob...
14273  478459 G_DEFINE_DYNAMIC_TYPE_EXTENDED doesn't work with G_IMPLEM...
14274  483337 inline is disabled for MSVC when compiling C code
14275  478349 Broken link to gettext website
14276  469231 g_spawn optimization for setting all open fds to CLOEXEC 
14277
14278 * Updated translations:
14279 Arabic (ar)
14280 Galician (gl)
14281 Hebrew (he)
14282 Korean (ko)
14283
14284
14285 Overview of Changes from GLib 2.14.0 to GLib 2.14.1
14286 ===================================================
14287
14288 * Bugs fixed:
14289  476840 Invocation of the interface "g_utf8_strreverse" crashes f...
14290  444765 Fix FIXME in gregex.c when new pcre is out
14291  464145 g_markup_escape_text Produces Invalid XML
14292  465625 g_type_default_interface_ref() does not ensure working g_...
14293  466768 Clearify that comments can be put anywhere in a Key-file.
14294  474229 The GError documentation should give convention for the G...
14295  474899 G_BREAKPOINT() docs inaccurate
14296  475854 Overuse of -lpcre when using system pcre
14297  473879 Incorrect includes in gregex.c
14298  468694 Typoes in documentation
14299  469051 g_snprintf () talks about characters where it probably me...
14300  457601 Missing arch specific atomic implementation
14301  475923 Missing pcre flags when static-linking against glib
14302  475619 glibthread-2.0.la does not list -lpthread
14303
14304 * Updated translations:
14305  Bulgarian (bg)
14306  Catalan (ca)
14307  Danish (da)
14308  German (de)
14309  Canadian English (en_CA)
14310  British English (en_GB)
14311  Spanish (es)
14312  Estonian (et)
14313  Finnish (fi)
14314  French (fr)
14315  Gujarati (gu)
14316  Hungarian (hu)
14317  Italian (it)
14318  Georgian (ka)
14319  Kannada (kn)
14320  Lithuanian (lt)
14321  Makedonian (mk)
14322  Norwegian (nb)
14323  Dutch (nl)
14324  Polish (pl)
14325  Portugese (pt)
14326  Brazilian Portugese (pt_BR)
14327  Romanian (ro)
14328  Russian (ru)
14329  Albanian (sq)
14330  Serbian (sr, sr@Latn)
14331  Swedish (sv)
14332  Tamil (ta)
14333  Thai (th)
14334  Ukrainian (uk)
14335  Vietnamese (vi)
14336
14337
14338 Overview of Changes from GLib 2.13.7 to GLib 2.14.0
14339 ===================================================
14340
14341 * Last-minute API additions:
14342  - Make g_unichar_combining_class public
14343  - Add goffset type, add G_MAXSSIZE and G_MINSSIZE
14344
14345 * Update PCRE to 7.2
14346
14347 * Bugs fixed:
14348  453998 Make _g_unichar_combining_class() public
14349  462549 gregex.c: variable is declared at middle of block
14350  417068 g_file_test doc inconsistency
14351
14352 * Updated translations:
14353  Assamese (as)
14354  Basque (eu)
14355  Kannada (kn)
14356  Malayalam (ml)
14357  Dutch (nl)
14358  Polish (pl)
14359  Brazilian Portugese (pt_BR)
14360  Turkish (tr)
14361
14362
14363 Overview of Changes from GLib 2.13.6 to GLib 2.13.7
14364 ===================================================
14365
14366 * The memory corruption warning from the slice allocator that
14367   occurred when threads were initialized after the slice allocator
14368   has been removed, as the slice allocator now works fine
14369   in this scenario.
14370
14371 * New functions g_once_init_enter() and g_once_init_leave() make
14372   it easier to write threadsafe one-time initialization functions 
14373  
14374 * Bugs fixed:
14375  454473 Simple XML Subset Parser terminates on invalid XML
14376  445813 g_module_open error, add file name
14377  453796 errno gets clobbered by g_filename_display_name
14378  341988 don't use "-c" with msgfmt in Makefile.in.in
14379  447048 Please produce slightly more output during long tests
14380  454785 GModule documentation lists same block of code twice.
14381  454786 GModule documentation lists same paragraph twice.
14382  383155 small docs quirks in gobject/closure API documentation
14383  65041  _get_type() functions aren't thread safe
14384
14385 * Updated translations
14386  Assamese (as)
14387  Spanish (es)
14388  Gujarati (gu)
14389  Japanese (ja)
14390  Korean (ko)
14391  Macedonian (mk)
14392
14393
14394 Overview of Changes from GLib 2.13.5 to GLib 2.13.6
14395 ===================================================
14396
14397 * Reintroduce a GType typedef whose removal in 2.13.5
14398   caused trouble for C++ bindings
14399
14400 * Bugs fixed:
14401  450216 docs not explicit enough about g_free()
14402  451459 g_type_register_static_simple calls g_type_register_static
14403
14404 * Updated translations
14405  Norwegian bokmål (nb)
14406  Sinhala (si)
14407
14408
14409 Overview of Changes from GLib 2.13.4 to GLib 2.13.5
14410 ===================================================
14411
14412 * xdg-user-dirs support: 
14413  - the Desktop directory is guaranteed to be defined
14414  - user-dirs.dirs is no longer reloaded on changes
14415
14416 * Slice allocator: 
14417  - new api to duplicate slices
14418
14419 * Regular expression support:
14420  - GRegex is a boxed type now
14421
14422 * Bugs fixed:
14423  44793 make check failing in trunk
14424  354522 Small problem with PLT hiding 6 symbols
14425  363986 glib 2.12.4 does not compile with SGI IDO cc
14426  443869 g_type_class_add_private doesn't warn when adding 0-sized...
14427  446859 Legitimately return 0 for g_quark_from_string(NULL)
14428  447534 Small typo in g_timeout_add_seconds() doc
14429  447583 GStaticRWLock
14430  447935 g_get_current_dir SIGSEGV on long path
14431  448260 CLAMP has surprising result if low > high
14432  57693  g_string_vprintf()
14433  442029 add g_slice_dup()
14434  445065 Add GRegex boxed type
14435  448819 Add full version of g_timeout_add_seconds()
14436
14437 * Updated translations: 
14438  Swedish (sv)
14439  Oriya (or)
14440  Hebrew (he)
14441  Spanish (es)
14442  Estonian (et)
14443
14444  
14445 Overview of Changes from GLib 2.13.3 to GLib 2.13.4
14446 ===================================================
14447
14448 * Bugs fixed:
14449  444121 g_get_user_special_dir deadlocks
14450  444161 invalid UTF8 in key name shows up as valgrind error in g_...
14451  444130 g_option_context_get_help() is broken when there's a desc...
14452
14453
14454 Overview of Changes from GLib 2.13.2 to GLib 2.13.3
14455 ===================================================
14456
14457 * GKeyFile:
14458  - Added defines for easier handling of desktop files
14459
14460 * Unicode support:
14461  - Update g_unichar_iswide_cjk for Unicode 5.0
14462
14463 * Regular expression support:
14464  - GRegex structs can now be ref-counted
14465  - Some new functions for dealing with incremental 
14466    replacement have been added
14467  - The GRegexEvalCallback signature has been changed
14468
14469 * g_get_user_special_dir() has been added to support
14470   xdg-user-dirs
14471
14472 * Bugs fixed:
14473  419376 Functions using named subpatterns behave inconsistently w...
14474  434358 g_regex_fetch_named() and g_regex_fetch_named_pos() are b...
14475  423708 typo in the README.win32 file see patch below
14476  339225 Add new defines for easier handling of .desktop files 
14477  442265 API additions/changes for GRegex
14478  432651 Add a glib-ish xdg_user_dir_lookup
14479
14480 * Updated translations:
14481  Estonian (et)
14482  Norwegian bokmål (nb)
14483
14484
14485 Overview of Changes from GLib 2.13.1 to GLib 2.13.2
14486 ===================================================
14487
14488 * Unicode support:
14489  - Add g_unichar_ismark()
14490
14491 * GOption:
14492  - Allow to use callbacks for remaining args
14493
14494 * Updated translations:
14495   Belarusian Latin (be@latin)
14496   British English (en_GB)
14497   Galician (gl)
14498   Norwegian bokmål (nb)
14499   Oriya (or)
14500   Spanish (es)
14501   Thai (th)
14502
14503
14504 Overview of Changes from GLib 2.13.0 to GLib 2.13.1
14505 ===================================================
14506
14507 * GRegex:
14508  - Portability fixes
14509  - Split into immutable GRegex and GMatchInfo
14510  - Add g_regex_get_max_backref() and g_regex_get_capture_count()
14511    to obtain information about the compiled regex
14512
14513 * GKeyFile:
14514  - Fix roundtrip problems
14515  - Add g_key_file_load_from_dirs()
14516
14517 * Unicode support:
14518  - Fix corner cases in case conversion routines
14519
14520 * GOption:
14521   - Add a function to get the formatted help string
14522
14523 * GHash:
14524  - Add new functions g_hash_table_get_keys() and
14525    g_hash_table_get_values() to retrieve the keys and
14526    values in list form
14527
14528 * Updated transations:
14529   Simplified Chinese (zh_CN)
14530   Arabic (ar)
14531
14532
14533 Overview of Changes from GLib 2.12 to GLib 2.13.0
14534 =================================================
14535
14536 * Add GSequence, a list that is implemented using
14537   a balanced binary tree.
14538
14539 * Add GRegex, an implementation of Perl regular expressions,
14540   based on PCRE.
14541  
14542 * Use Posix monotonic clocks instead of gettimeofday()
14543   for GTimer when available.
14544
14545 * Support static initialization of GQeues with G_QUEUE_INIT,
14546   g_queue_init() and g_queue_clear().
14547
14548 * Add g_string_chunk_clear() for clearing a 
14549   GStringChunk.
14550
14551 * Add g_unichar_get_script() to obtain Unicode
14552   script information.
14553
14554 * Add g_unichar_iszerowidth() to obtain information
14555   about zero-width characters.
14556
14557 * Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias 
14558   type attribute.
14559
14560 * G_GNUC_INTERNAL has a working definition for the
14561   Sun Studio compiler. This requires the macro to
14562   be positioned before the function declaration.
14563
14564 * The slice allocator can produce detailed debugging
14565   information with G_SLICE=debug-blocks.
14566
14567 * Modules support G_DEBUG flags resident-modules and
14568   bind-now-modules.
14569
14570 * Add G_DEFINE_DYNAMIC_TYPE() to make it easier
14571   to define types in modules.
14572
14573 * Bug fixes: too many to list them in detail here.
14574
14575 * New and updated translations (be,bg,bn,ca,cs,de,
14576   en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml,
14577   nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN,
14578   zh_HK,zh_TW)
14579
14580
14581 Overview of Changes from GLib 2.12.1 to GLib 2.12.2
14582 ===================================================
14583
14584 * Unicode updates:
14585  - Normalization is following Unicode TR #29
14586  - g_unichar_isxdigit() only accept characters
14587    for which g_unichar_xdigit_value() returns a value
14588  - g_unichar_toupper and g_unichar_tolower leave
14589    unconvertable characters in place instead of
14590    replacing them by NUL
14591
14592 * Bugs fixed
14593  348491 g_utf8_strup() and g_utf8_strdown() returns 
14594         string with NUL bytes
14595  349825 GKeyFile always inserts a newline before a group
14596  347842 g_unichar_isxdigit() is too general about what 
14597         it considers a digit
14598  348694 g_utf8_normalize() hasn't been updated to PR #29
14599  348785 Hint about G_DEBUG in Message Logging docs
14600  349792 Wrong english string (UI)
14601  349952 gparamspecs.c uses gcc feature
14602
14603 * Translation updates (ca,cs,de,dz,es,eu,fi,gu,ko,
14604   nl,pl,tr,uk,zh_HK,zh_TW)
14605
14606
14607 Overview of Changes from GLib 2.12.0 to GLib 2.12.1
14608 ===================================================
14609
14610 * Update to final Unicode Character Database 5.0.0
14611
14612 * Bugs fixed:
14613  346660 issues with base64 api documentation / g_base64_decode_cl...
14614  348136 Coverity reports allocation of wrong size CID #2839
14615  336281 Update to UCD 5.0
14616  346197 g_date_strftime %F option doesnt work for win32
14617  348011 Small optimization to real_toupper()
14618  246494 prototype mismatch in glib/gconvert.c
14619
14620 * New and updated translations (bg,bn_IN,ca,dz,eu,fi,
14621   fr,he,it,ja,mk,or,pt)
14622
14623
14624 Overview of Changes from GLib 2.11.4 to GLib 2.12
14625 =================================================
14626
14627 * Bugs fixed:
14628  344905 leap-year bug in g_time_val_from_iso8601 w/o HAVE_TIMEGM
14629
14630 * Updated translations (cy,nb,nl)
14631
14632
14633 Overview of Changes from GLib 2.11.3 to GLib 2.11.4
14634 ===================================================
14635
14636 * GBookmarkFile:
14637  - g_bookmark_file_remove_item returns a boolean
14638  
14639 * g_mkstemp accepts the XXXXXX in the middle of
14640   the template
14641  
14642 * Bugs fixed:
14643  344868 g_key_file_to_data should separate groups 
14644
14645 * Updated translations (de,es,fr,gu,hi,ko,th)
14646
14647
14648 Overview of Changes from GLib 2.11.2 to GLib 2.11.3
14649 ===================================================
14650
14651 * GBookmarkFile:
14652   - g_bookmark_file_move_item: Return TRUE in case of
14653     an empty target
14654
14655 * Bugs fixed: 
14656  343919 gunicollate.c: strxfrm bug on VC8
14657
14658 * Updated translations (fi)
14659
14660 Overview of Changes from GLib 2.11.1 to GLib 2.11.2
14661 ===================================================
14662
14663 * Add g_ascii_stroll to parse signed 64bit integers
14664
14665 * GMarkup: add a flag to treat CDATA as text
14666
14667 * GHashTable: add functions to remove all entries
14668
14669 * GMainLoop: add functions to find the currently
14670   running source, and determine if it is destroyed
14671
14672 * Bug fixes:
14673  342563  g_atomic_thread_init() needs to be called before 
14674          other _g_*_thread_init() functions
14675  343548  Potential use after free in callers of g_string_free() 
14676  168538  Wish: Clearing contents of GHashTables
14677  321886  GTK+ cannot be reliably used in multi-threaded 
14678          applications
14679  341826  goption.c: 'strtoll' is C99's function
14680  343899  g_ascii_formatd dosn't work as expected for all 
14681          format strings
14682  317793  Make GEnumValue strings const
14683  337129  Compile warnings in G_IMPLEMENT_INTERFACE
14684  303622  What is G_TYPE_CHAR?
14685
14686 * Updated translations (bg,dz,eu,gl,ja,ko,nl,th,vi)
14687  
14688
14689 Overview of Changes from GLib 2.11.0 to GLib 2.11.1
14690 ===================================================
14691
14692 * GOption  
14693   - Support 64-bit integers 
14694   - Allow optional text before and after the options
14695     in help output
14696
14697 * Bug fixes:
14698  340538 gbase64-test writes OOB 
14699  340816 GKeyFile set_string_list invalid memory reads 
14700  339105 g_key_file_parse_value_as_double
14701  340434 convert-test.c fails (function test_one_half)
14702  311043 Memory leaks (and potential infinite loops) 
14703         when using G_ERRORCHECK_MUTEXES
14704  335198 Error checking mutexes are fubar  
14705  341237 Add a G_OPTION_ARG_INT64
14706  341192 g_io_channel_set_flags not implemented on win32
14707  336120 Allow adding description before/after GOption 
14708         --help output body
14709  341191 misplaced check in g_relation_delete
14710  340530 mismatched calloc / g_free in win32 threads
14711
14712 * Updated translation (es)
14713
14714 Overview of Changes from GLib 2.10.x to GLib 2.11.0
14715 ===================================================
14716
14717 * GBookmarkFile: a parser for files containing bookmarks
14718   stored using the Desktop Bookmark specification.
14719
14720 * Base64 encoding support
14721         
14722 * Unicode 5.0 support
14723
14724 * GOption supports floating point numbers 
14725
14726 * GKeyFile supports floating point numbers
14727
14728 * Bug fixes:
14729  155884 gatomic.c should be based on new SDK
14730  157877 update-desktop-database doesn't handle duplicate entries
14731  164719 keyfile parser doesn't support floats
14732  327662 Import BookmarkFile from libegg
14733  329548 Add G_OPTION_ARG_DOUBLE
14734  329789 option-test.c type confusion
14735  332841 Segmentation Fault when %llu is passed to vasnprintf and 
14736         HAVE_SNPRINTF is not defined
14737  333879 gthread/gthread-win32.c: IsDebuggerPresent needs '#define 
14738         _WIN32_WINDOWS 0x0401'
14739  333916 g_timer_elapsed docs should mention that microseconds 
14740         may be NULL
14741  334440 dlerror() portability issue causes crash on (old) a.out 
14742         NetBSD platform
14743  334646 goption + error out params
14744  334799 g_remove() must check return value of remove()
14745  334943 make check FAIL: threadpool-test
14746  335215 Some breakages with GThreadPool
14747  336085 g_option_context_new parameter lacks better explanation
14748  336677 Documentation for g_object_ref_sink() is incorrect
14749  337027 gbookmarkfile.c: sys/time.h include error
14750  337553 Wrong escaping of URIs
14751  338572 Dereferencing NULL value in g_key_file_get_group_comment
14752  338845 g_completion_complete_utf8 crashes when NULL is passed to it
14753  339337 g_bookmark_file_set_description
14754  339338 gbookmarkfile.c, function expand_exec_line
14755  339340 gbookmarkfile.c, function bookmark_app_info_dump
14756
14757 * Translation updates (bg,en_GB,et,gl,gu,he,hi,ka,nb,nl,nn,
14758                        or,pt_BR,ro,tr,vi,zh_CN)
14759
14760
14761 Overview of Changes from GLib 2.10.0 to GLib 2.10.1
14762 ===================================================
14763
14764 * Bugs fixed:
14765  314794 Broken pthread detection on Darwin [Gregor Riepl]
14766  322476 Missing check for .dylib [Vladimir Panov]
14767  333651 Inconsistent _g_charset_get_aliases prototype [Julio 
14768         M. Merino Vidal]
14769  333761 GInitiallyUnowned breaks application code [Sven Herzberg]
14770
14771 * Win32 changes:
14772  - Fix g_listenv() implementation.
14773  - Allow up to 100 GPrivate structs
14774
14775 * Translation updates (fr,hu,lt,pl,sv)
14776
14777
14778 Overview of Changes from GLib 2.9.6 to GLib 2.10.0
14779 ==================================================
14780
14781 * The functions g_snprintf() and g_vsnprintf() have been removed from
14782   the gprintf.h header, since they are already declared in glib.h. This
14783   doesn't break documented use of gprintf.h, but people have been known
14784   to include gprintf.h without including glib.h.
14785
14786 * The Unicode support has been updated to Unicode 4.1. This adds several
14787   new members to the GUnicodeBreakType enumeration.
14788
14789 * The support for Solaris threads has been retired. Solaris has provided
14790   POSIX threads for long enough now to have them available on every
14791   Solaris platform.
14792
14793 * 'make check' has been changed to validate translations by calling
14794   msgfmt with the -c option. As a result, it may fail on systems with
14795   older gettext implementations (GNU gettext < 0.14.1, or Solaris gettext).
14796   'make check' will also fail on systems where the C compiler does not
14797   support ELF visibility attributes.
14798
14799 * The GMemChunk API has been deprecated in favour of a new 'slice
14800   allocator'. See the g_slice documentation for more details.
14801
14802 * A new type, GInitiallyUnowned, has been introduced, which is
14803   intended to serve as a common implementation of the 'floating reference'
14804   concept that is e.g. used by GtkObject. Note that changing the
14805   inheritance hierarchy of a type can cause problems for language
14806   bindings and other code which needs to work closely with the type
14807   system. Therefore, switching to GInitiallyUnowned should be done
14808   carefully. g_object_compat_control() has been added to GLib 2.8.5
14809   to help with the transition.
14810
14811 * Bugs fixed:
14812  328997 64bit pointer trunction in glib slab-allocator
14813         [Pascal Hofstee]
14814  331110 g_cond_broadcast(inform_cond) without holding 
14815         inform_mutex [Chris Wilson, Sebastian Wilhelmi]
14816  332093 Fix some leaks in the tests [Kjartan Maraas]
14817  332435 g_utf8_strlen returns wrong value if a maximum 
14818         number of bytes to check is specified 
14819         [Matthias Clasen]
14820  331367 gslice requires more POSIX-like semantics for 
14821         GPrivate destructors [Tor Lillqvist]
14822
14823 * Documentation improvements [Matthias, Kang Jeong-Hee,
14824   Tor Lillqvist, Stefan Kost]
14825
14826 * Translation updates (el,eu,ka,uk)
14827
14828 Overview of Changes from GLib 2.9.5 to GLib 2.9.6
14829 =================================================
14830
14831 * Bugs fixed: 
14832  329124 distclean removes README [Kjartan Maraas, Tim Janik]
14833  317679 GRelation field type not documented [Behdad Esfahbod]
14834  329123 Typo in GTime docs [Kjartan Maraas]
14835
14836 * Documentation improvements [Sven Herzberg, David
14837   Schleef, Kjartan Maraas, Behdad Esfahbod]
14838
14839 * Translation updates (cs,cy,it,ko,pt,sq,sr,sr@Latn,ru
14840
14841 Overview of Changes from GLib 2.9.4 to GLib 2.9.5
14842 =================================================
14843
14844 * Memory management: 
14845   Runtime debugging support: The slice allocator
14846   can be turned off by setting G_SLICE=always-malloc
14847   in the environment. Zeroing of freed memory can
14848   now be turned on at runtime by setting
14849   G_DEBUG=gc-friendly in the environment. [Tim Janik]
14850
14851 * Bugs fixed:
14852  328253 HP-UX/IA-64 uses ".so" as default shared library 
14853         extension [Albert Chin]
14854  143380 unicode-encoding test fails converting to UTF-16 
14855         with libiconv [Marc Moorcroft]
14856  328254 Build breakage (GSlice) [Jens Ganseuer]
14857  328705 C99ism in glib/gmem.c [Kazuki Iwamoto]
14858
14859 * Translation updates (da,et,zh_CN)
14860
14861 Overview of Changes from GLib 2.9.3 to GLib 2.9.4
14862 =================================================
14863
14864 * Type system:
14865   Fix a problem with g_object_compat_control() which 
14866   can lead to segfaults in GTK+ applications on 64bit 
14867   platforms. 
14868
14869 * Thread suppport: 
14870   Unused threads now fall back to the global pool after 
14871   500 milliseconds, where they wait for another 
14872   max-idle-time milliseconds. [Sebastian Wilhelmi]
14873
14874 * Fix a memory allocation problem in GKeyFile. [Morten 
14875   Welinder]
14876
14877
14878 Overview of Changes from GLib 2.9.2 to GLib 2.9.3
14879 =================================================
14880
14881 * GTree:
14882  - Replace the simple recursive implementation by
14883    a nonrecursive, threaded one  [Maurizio Monge]
14884
14885 * Change g_filename_display_name and
14886   g_filename_display_basename to use the Unicode
14887   replacement character U+FFFD instead of a question
14888   mark, and don't append "(invalid encoding)"  [Matthias]
14889
14890 * Documentation improvements [Sven Herzberg, Federico
14891   Mena Quintero, Stefan Kost]
14892
14893 * Bugs fixed:
14894  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X 
14895         [Bogdan Nicula]
14896  326558 Some test failures on IRIX 6.5 [Daichi Kawahata]
14897  169285 "threaded" tree implementation for GTree 
14898         [Maurizio Monge]
14899  326747 g_filename_display_basename adds (invalid encoding) 
14900         [Alberto Ruiz]
14901
14902 Other contributors: Christian Kellner, Murray Cumming
14903
14904 New and updated translations (bg,ca,de,es,et,gu,ja,nl,th,vi)
14905
14906
14907 Overview of Changes from GLib 2.9.1 to GLib 2.9.2
14908 =================================================
14909
14910 * Memory management:
14911  - Add tests for cache colorization [Tim Janik]
14912  - Minimize space consumption if small amounts of differently
14913    sized slices are allocated, at a small performance cost.  [Tim]
14914
14915 * Thread support:
14916  - Add g_atomic_pointer_set() and g_atomic_int_set() [Tim Janik,
14917    Sebastian Wilhelmi]
14918  - Add g_thread_pool_set_sort_function() to allow sorting the 
14919    tasks of a threadpool.  [Martyn Russell]
14920  - Add g_thread_pool_set_idle_time() to allow unused threads
14921    to exit after a certain time.  [Martyn]
14922
14923 * Type system:
14924  - introduce a new type GInitiallyUnowned, which has an initial
14925    floating reference. [Tim]
14926  - Add support for GType parameters. [Matthias]
14927
14928 * Main loop:
14929  - Add g_main_context_is_owner() to determine if the current
14930    thread is the owner of the context.  [Michael Meeks]
14931
14932 * Provide g_access(), g_chdir(), g_unlink(), g_rmdir() as 
14933   wrapper functions instead of macros.  [Manish Singh]
14934
14935 * Documentation improvements [Tim, Matthias, Federico Mena Quintero,
14936   Stefan Kasal, Dan Williams]
14937
14938 * New and updated translations (en_CA,fi,fr,gl,ml,nb,no,zh_HK,zh_TW)
14939
14940 * Bugs fixed:
14941  324179 g_allocator_new() returns pointer to const dummy which Gtk+ 2.8 
14942         tries to modify [J. Ali Harlow]
14943  324332 g_option_context_parse() returns false without setting error 
14944         [Tim-Philipp Müller]
14945  324950 GLIB 2.9.1 testcase errors [Dan Yefimov]
14946  325015 gslice.c: process.h is needed on Windows [Kazuki Iwamoto]
14947  321978 G_DATALIST_GET_FLAGS() macro is not casting datalist to 
14948         gpointer [Andrew Paprocki]
14949  316221 G_LOCK warns about breaking strict-aliasing [Michal Benes, 
14950         Stanislav Brabec]
14951  325273 Error in documentation for glib_check_version () [Declan Naughton]
14952  325310 g_spawn_sync hangs when catching both stdout and 
14953         stderr [Tor Lillqvist]
14954  325249 gcc warning when using g_rmdir from <glib/gstdio.h> [Jani Monoses]
14955  325864 glib/gthreadpool.c:"#define debug(...)" is C99 [Kazuki Iwamoto]
14956  325874 Should say somewhere that source IDs are > 0 [Dan Williams]
14957  325438 a typo (compatability) [Stefan Kasal]
14958  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X [Bogdan Nicula]
14959
14960
14961 Overview of Changes from GLib 2.9.0 to GLib 2.9.1
14962 =================================================
14963
14964 * Memory management
14965  - The slice allocator is implemented [Tim Janik]
14966  - g_slice_free_chain() has been renamed to 
14967    g_slice_free_chain_with_offset()  [Tim, Behdad Esfahbod]
14968  - Mem chunks are deprecated [Matthias Clasen]
14969
14970 * Data structures
14971  - Hash tables are refcounted, and have a boxed type [Tim]
14972
14973 * Thread support
14974  - Support for Solaris threads has been removed 
14975    [Sebastian Wilhelmi, Andrew Paprocki]
14976  - g_async_queue_sort(), g_async_queue_push_sorted() have 
14977    been added to allow GAsyncQueue to be used as a priority 
14978    queue, together with the corresponding _unlocked 
14979    variants  [Martyn Russell]
14980
14981 * GObject:
14982  - The concept of a floating initial reference has been
14983    moved from GtkObject to GObject [Tim]
14984
14985 * Win32 changes:
14986  - Make g_rename() replace existing files [Tor Lillqvist]
14987
14988 * Misc new API:
14989  - G_GUINT64_CONSTANT macro to define guint64 
14990    constants [Andrew Paprocki]
14991  - G_GNUC_WARN_UNUSED_RESULT macro to instruct the 
14992    compiler to emit a warning if the value returned
14993    by a function is ignored. [Arjan van de Ven, Alex Larsson]
14994  - GList and GSList now have sort functions which take an
14995    extra user data argument [Martyn Russell]
14996  - g_param_spec_ref_sink() has been added for consistency [Tim]
14997
14998 * $LOGNAME is respected when determining user data. [Laszlo Peter]
14999
15000 * Other changes and bug fixes [Tim, Matthias, Behdad, 
15001   Christian Persch, Benedikt Meurer, Andrew Paprocki, 
15002   Kazuki Iwamoto, Alexis S. L. Carvalho, Stanislav Brabec,
15003   Andreas Schwab, Kalle Vahlman]
15004
15005 * Documentation
15006  - Deprecation warnings carry version information [Matthias]
15007  - The slice allocator has been documented [Matthias, Tim]
15008  - Other improvements [Morten Welinder]
15009
15010 Overview of Changes from GLib 2.8.x to GLib 2.9.0
15011 =================================================
15012 * Unicode support:
15013  - The Unicode tables have been updated to Unicode 4.1, 
15014    adding several new values to the GUnicodeBreakType 
15015    enumeration. This breaks Pango <= 1.10 
15016    [Behdad Esfahbod]
15017  - The various Unicode character predicate functions 
15018    (g_unichar_isalpha, g_unichar_isdigit,...) have
15019    been optimized
15020    [Behdad]
15021  - g_utf8_pointer_to_offset, g_utf8_offset_to_pointer:
15022    These functions handle negative offsets now, and
15023    going backwards in g_utf8_offset_to_pointer uses
15024    "stutter stepping".
15025    [Larry Ewing, Matthias Clasen]
15026
15027 * Memory management:
15028  - Mem chunks are no longer used internally in GLib and
15029    GObject. GMemChunk will be deprecated in GLib 2.10
15030  - All APIs based on GAllocator (g_list_push/pop_allocator,
15031    and similar push/pop_allocator functions for other
15032    data structures) have been deprecated, since they
15033    never worked as intended.
15034  - The g_slice_* functions have been added as a 
15035    new API for fast allocation of small memory blocks. 
15036    The implementation in GLib 2.9.0 is just a simple 
15037    wrapper around malloc. GLib 2.10 will have an
15038    efficient and scalable implementation. 
15039    [Tim Janik, Matthias]
15040
15041 * Pattern matching:
15042  - g_pattern_match has been optimized to avoid
15043    unnecessary recursion.
15044    [Tim, Matthias]
15045
15046 * g_intern_string, g_intern_static_string: 
15047  - New functions to intern strings. These are now used 
15048    by GObject to avoid duplicating static strings 
15049    [Matthias]
15050
15051 * g_thread_foreach: 
15052  - New function to iterate over all GThreads 
15053    [Tim, Matthias]
15054
15055 * g_date_set_time_t, g_date_set_time_val:
15056  - New functions to set a GDate from a time_t or
15057    GTimeVal value. g_date_set_time has been deprecated 
15058    in favor of these.
15059    [Roger Leigh]
15060
15061 * g_snprintf and g_vsnprintf:
15062  - These functions are no longer declared in gprintf.h, 
15063    since they are in glib.h
15064    [Matthias]
15065
15066 Overview of Changes from GLib 2.8.0 to GLib 2.8.1
15067 =================================================
15068 * Optimize single-character insertions in GString [Ross Burton]
15069 * Fix build problems on OS X
15070 * Fix build problems on Win32 [Tor Lillqvist, Hans Breuer]
15071 * Other bug fixes [Matthew F. Barnes, Stepan Kasal] 
15072 * Documentation improvements [Tristan van Berkom, Behnam
15073   Esfahbod, Gustavo Carneiro, Stepan Kasal, Matthias]
15074 * New and updated translations (ca,cy,ko,ro,uk)
15075
15076 Overview of Changes from GLib 2.7.7 to GLib 2.8.0
15077 =================================================
15078 * Make g_value_transform() handle enum values
15079   correctly on ppc64.  [Michael Lorenz]
15080   (Third-party code accessing enumeration values 
15081   in GValues should also be changed to access 
15082   v_long, not v_int, in order to work on bigendian 
15083   64bit machines.)
15084 * Make g_flags_get_first_value() handle a value
15085   of 0 meaningfully. [Tim-Philipp Müller] 
15086
15087 Overview of Changes from GLib 2.7.6 to GLib 2.7.7
15088 =================================================
15089 * Make atomic operations on s390 work [Matthias]
15090 * Fix C++ guards in gstdio.h [Tor Lillqvist]
15091
15092 Overview of Changes from GLib 2.7.5 to GLib 2.7.6
15093 =================================================
15094 * Add native implementations of atomic operations 
15095   on s390 [Matthias]
15096 * Make atomic reference counting of closures
15097   work on s390 [Matthias]
15098 * Avoid an infinite loop in g_convert_with_iconv().
15099   [Sebastian Bacher]
15100 * Documentation improvements [Ross Burton]
15101
15102 Overview of Changes from GLib 2.7.4 to GLib 2.7.5
15103 =================================================
15104 * Thread-related changes
15105  - Fix build issues on HP-UX [Paul Cornett]
15106  - Threadsafe access to flags stored in datasets [Tim Janik]
15107  - Fix several issues with atomic refcounting for 
15108    closures, objects and paramspecs [Tim]
15109  - Improve tests for atomic refcounting changes [Tim]
15110 * Fix handling of stateful encodings in g_convert_* [Matthias]
15111 * Fix translation of GOption help output [Dan Winship]
15112 * Catch format errors in translations. This may cause 
15113   "make check" to fail when using older versions
15114   of gettext [Matthias]
15115 * Win32 bug fixes [Tor Lillqvist]
15116 * Documentation improvements [Ross Burton, Jochen Baier, 
15117   Matthias, Tim]
15118 * New and updated translations (de,fi,gu,pl,pt,tr,zh_TW)
15119
15120 Overview of Changes from GLib 2.7.3 to GLib 2.7.4
15121 =================================================
15122 * Fix g_atomic_pointer_compare_and_exchange 
15123   on Sparc64 [Gert Doering]
15124 * Fix a hang in g_thread_pool_free. [Hong Jen Yee]
15125 * Win32 bug fixes [Tor Lillquist]
15126 * Other bug fixes [Benoit Dejean, Manish Singh]
15127 * Documentation improvements [Bryan Silverthorn,
15128   Callum McKenzie] 
15129 * New and updated translations (de,lt,sq,zh_CN)
15130
15131 Overview of Changes from GLib 2.7.2 to GLib 2.7.3
15132 =================================================
15133 * GOption
15134  - Allow callbacks with optional arguments [Pawel Sliwowski]
15135  - Allow to turn off the automatic long option name
15136    disambiguation  [Adam McLaurin]
15137  - Only allow printable ASCII as short option names [Matthias]
15138 * Win32
15139  - Build fixes [Tor Lillqvist]
15140  - Rewrite iochannel socket implementation [Tor]
15141 * GObject
15142  - Threadsafety improvements; in particular, refcounting
15143    of objects is done atomically now. [Wim Taymans, Tim Janik]
15144 * Bug fixes [Morten Welinder, Matthias, Wim Taymans]
15145 * Documentation improvements [Richard Laager, Matthias]
15146 * New and improved translations (bf,cs,hu,nb,nl,no)
15147
15148 Overview of Changes from GLib 2.7.1 to GLib 2.7.2
15149 =================================================
15150 * Win32 build fixes [Hans Breuer]
15151 * Bug fixes [Mikael Magnusson]
15152 * Documentation improvements [Matthias Clasen]
15153 * New and updated translations (en_CA,es,et,ja,sr,sr@Latn,zh_TW)
15154
15155 Overview of Changes from GLib 2.7.0 to GLib 2.7.1
15156 =================================================
15157 * GOption 
15158  - Allow callback arguments without parameters [Dan Winship]
15159 * GMappedFile: an mmap wrapper [David Schleef, Behdad Esfahbod]
15160 * Misc new functions:
15161  - g_get_host_name [Tor Lillqvist]
15162  - g_mkdir_with_parents [Tor]
15163  - g_build_pathv, g_build_filenamev [Todd A. Fisher, 
15164    Matthias Clasen]
15165 * Bug fixes [Roger Leigh, Masatake YAMATO, Kjartan Maraas,
15166   Manish Singh, Tor, Murray Cumming, Kian Duffy, Morten Welinder]
15167 * Documentation improvements [Hong Gang XU, Dan Winship, Matthias]
15168 * New and updated translations (bg,cs,da,en_CA,es,et,nb,nl,no,
15169   sk,th,zh_TW)
15170
15171 Overview of Changes from GLib 2.6.x to GLib 2.7.0
15172 =================================================
15173 * GKeyFile
15174  - Add unit tests [Matthias Clasen, Suren A. Chilingaryan]
15175  - Accept \r\n as line end [Bastian Nocera]
15176  - Don't interpret leading zeros as octal numbers. [Matthias]
15177  - Make key and group removal work [David Hoover, Matthias Hasselmann]
15178 * GOption
15179  - Improve formatting of --help output [Matthias, Noah Levitt]
15180  - Accept -? [Matthias]
15181  - Warn about duplicate main groups [Jeff Franks]
15182  - Treat '-' as non-option argument [Tim Musson, Thomas Leonard]
15183  - Report missing arguments as errors [Björn Lindqvist]
15184  - Add a boxed type for GDate [Tim-Philipp Müller]
15185 * GTree
15186  - g_tree_remove() and g_tree_steal() return status information [Matthew F. Barnes]
15187 * Stdio wrappers
15188  - Work regardless of large file support [Manish Singh]
15189  - Add g_access(), g_chmod(), g_creat(), g_chdir [Tor Lillqvist]
15190 * GObject
15191  - Implement "toggle references" to help language bindings [Owen Taylor]
15192  - Allow to mark names, nicks and blurbs of pspecs as static [Ben Maurer, Matthias]
15193  - Make pspec lookup a bit faster [Morten Welinder]
15194 * Add g_listenv() to list all set environment variables [Hans Petter Jansson]
15195 * Add g_file_set_contents() to atomically write a file.  [Søren Sandmann,
15196   Sven Neumann, Manish, Alexis S. L. Carvalho]
15197 * Add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew() [Stefan Kost]
15198 * Add g_utf8_collate_key_for_filename() to sort filenames taking
15199   extensions and numeric suffixes into account.  [Ole Laursen, Alex Larsson]
15200 * Add G_GNUC_NULL_TERMINATED to mark varargs function with 
15201   NULL-terminated argument lists. [Marc Meissner]
15202 * Win32 changes
15203  - Improved debugability [Ulf Lamping, Hans Breuer]
15204  - Make filename handling more robust [Tor, Billy Skaggs]
15205  - Improve g_get_system_data_dirs() [Tor]
15206  - Use more precise timers [Tor]
15207  - Build fixes [Kazuki Iwamoto, Hans, Tor, Robert Ögren]
15208 * Other bug fixes [Roger Leigh, Owen, Matthias, Morten, Kjartan Maraas, 
15209   Pawel Sakowski, Tor, Simon Budig, Ed Avis, Manish, Nicolas Laurent, 
15210   Bastien, Fabrício Barros Cabral, Michael Banck, Daniel Atallah, 
15211   J. Ali Harlow, Tim Janik, Hazael Maldonado Torres, Sven, Jon-Kare Hellan,
15212   Dave Benson, Tommi Komulainen, Benjamin Otte, Brian Cameron, Changwoo Ryu, 
15213   Christian Biere, Noah, Benoît Carpentier]
15214 * Documentation improvements [Vincent Untz, Matthias, Tim-Philipp Müller,
15215   Morten, Matthew, Federico Mena Quintero, Sebastian Bacher, Oliver Sessink, 
15216   Stefan, Jared Lash, Tor, Owen, Daniel Vaillard, Mathieu Lacage]
15217 * New and updated translations (ca,cs,da,el,en_CA,en_GB,es,et,eu,fa,fr,gl,
15218   hu,id,it,lt,mn,ne,nl,pl,pt,pt_BR,ro,rw,sk,sq,sr,sr@Latn,tl,uk,xh,zh_CN)
15219
15220 Overview of Changes from GLib 2.6.0 to GLib 2.6.1
15221 =================================================
15222 * GOption
15223  - Make gtk_init(NULL, NULL) work again [Marcin Krzyzanowski]
15224  - Improve handling of -- [Matthias Clasen]
15225  - Don't show G_OPTION_REMAINING in --help output [Matthew F. Barnes]
15226 * g_find_program_in_path() doesn't return directories [Tommi Komulainen]
15227 * Add gmodule-export-2.0.pc [Matthias]
15228 * Win32 changes
15229  - Improve hangling of UNC paths [Tor Lillqvist]
15230  - g_getenv(), g_setenv(), g_unsetenv(), g_find_program_in_path()
15231    take and return UTF-8 now [Tor] 
15232  - Make g_file_test() work more reliably, and use PATHEXT
15233    when check for executables [Tor]
15234  - Build and cross-compilation fixes [J. Ali Harlow]
15235 * Other bug fixes [Jens Hatlak, Morten Welinder, 
15236   Tor, Kalpesh Shah, Adrian Bunk]
15237 * Documentation improvements [Marcin Krzyzanowski, Tor, Crispin
15238   Flowerday, Mariano Suárez-Alvarez, Christian Biere, Danny Milo,
15239   Vincent Untz, Bastien Nocera]
15240 * New and updated translations (cy,de,nl,ru,sq,sv)
15241
15242 Overview of Changes from GLib 2.4.x to GLib 2.6.0
15243 =================================================
15244
15245 * GLib 2.6 introduces the concept of 'GLib filename encoding', which is the
15246   on-disk encoding on Unix, but UTF-8 on Windows. All GLib functions
15247   returning or accepting pathnames have been changed to expect
15248   filenames in this encoding, and the common POSIX functions dealing
15249   with pathnames have been wrapped. These wrappers are declared in the
15250   header <glib/gstdio.h> which must be included explicitly; it is not
15251   included through <glib.h>.
15252
15253   On current (NT-based) Windows versions, where the on-disk file names
15254   are Unicode, these wrappers use the wide-character API in the C
15255   library. Thus applications can handle file names containing any
15256   Unicode characters through GLib's own API and its POSIX wrappers,
15257   not just file names restricted to characters in the system codepage.
15258
15259   To keep binary compatibility with applications compiled against
15260   older versions of GLib, the Windows DLL still provides entry points
15261   with the old semantics using the old names, and applications
15262   compiled against GLib 2.6 will actually use new names for the
15263   functions. This is transparent to the programmer.
15264
15265   When compiling against GLib 2.6, applications intended to be
15266   portable to Windows must take the UTF-8 file name encoding into
15267   consideration, and use the gstdio wrappers to access files whose
15268   names have been constructed from strings returned from GLib.
15269
15270 * Likewise, g_get_user_name() and g_get_real_name() have been changed
15271   to return UTF-8 on Windows, while keeping the old semantics for
15272   applications compiled against older versions of GLib.
15273
15274 * The GLib uses an '_' prefix to indicate private symbols that
15275   must not be used by applications. On some platforms, symbols beginning
15276   with prefixes such as _g will be exported from the library, on others not.
15277   In no case can applications use these private symbols. In addition to that,
15278   GLib+ 2.6 makes several symbols private which were not in any installed
15279   header files and were never intended to be exported.
15280
15281 * To reduce code size and improve efficiency, GLib, when compiled
15282   with the GNU toolchain, has separate internal and external entry
15283   points for exported functions. The internal names, which begin with
15284   IA__, may be seen when debugging a GLib program.
15285
15286 * On Windows, GLib no longer opens a console window when printing
15287   warning messages if stdout or stderr are invalid, as they are in
15288   "Windows subsystem" (GUI) applications. Simply redirect stdout or
15289   stderr if you need to see them.
15290
15291 * The child watch functionality tends to reveal a bug in many
15292   thread implementations (in particular the older LinuxThreads
15293   implementation on Linux) where it's not possible to call waitpid()
15294   for a child created in a different thread. For this reason, for
15295   maximum portability, you should structure your code to fork all
15296   child processes that you want to wait for from the main thread.
15297
15298 * A problem was recently discovered with g_signal_connect_object();
15299   it doesn't actually disconnect the signal handler once the object being
15300   connected to dies, just disables it. See the API docs for the function
15301   for further details and the correct workaround that will continue to
15302   work with future versions of GLib.
15303
15304 * Major new APIs
15305   - GOption, a commandline option parser
15306   - GKeyFile, a parser/editor for the .ini like files 
15307   - Functions to support the XDG basedir specification
15308   - Wrappers for common POSIX pathname functions to handle filename
15309     encodings consistently. On Windows, these use UTF-8.
15310
15311 * Miscellaneous new functions
15312   - g_filename_display_name() converts filenames in displayable UTF-8 strings
15313   - g_uri_list_extract_uris() splits uri lists
15314   - g_date_get_iso8601_week_of_year() gets ISO 8601 week numbers
15315   - g_log_set_default_handler() installs an alternate default log handler
15316   - g_get_language_names() obtains a list of applicable locale names
15317   - g_strv_length() calculates the length of NULL-terminated string arrays
15318   - g_win32_get_windows_version() determines the Windows version 
15319   - G_GNUC_INTERNAL marks functions as non-exported
15320   - glib_check_version() checks the GLib version at runtime
15321   - g_debug() completes the family of logging functions
15322
15323 * Performance improvements
15324   - Optimize g_utf8_validate()
15325   - Optimize g_markup_parse_context_parse()
15326   - Reduce signal connection complexity from O(n) to O(1) 
15327   - Get rid of many PLT entries for internally used exported symbols
15328   - Reduce code size by removing literal strings from g_return_if_fail()
15329
15330 * Other changes
15331   - On Windows, GLib functions that take file name arguments now require
15332     those to be in UTF-8. Functions that return file names return UTF-8.
15333   - Use higher precision for mathematical constants
15334   - Don't convert to/from UTF-8 in g_filename_to_uri/g_filename_from_uri
15335   - Support ll as printf format modifier for long long on all platforms
15336   - Clean up the ABI and enforce the list of exported symbols
15337   - Add a .pc file for using gmodule in libraries
15338   - Require ngettext
15339
15340 Overview of Changes from GLib 2.5.7 to GLib 2.6.0
15341 =================================================
15342 * GOption: Don't list help options if group-specific
15343   options have been requested [Glynn Foster]
15344 * Make g_get_language_names() track locale changes [Christian Persch]
15345 * Win32 bug fixes [Tor Lillqvist]
15346 * Bug fixes [Philippe Blain, Owen Taylor, Sebastian Wilhelmi]
15347 * New and updated translations (da,es,ja,lt,zh_CN)
15348 Bugs fixed: 159530,100697,160271,160645,157255
15349
15350 Overview of Changes from GLib 2.5.6 to GLib 2.5.7
15351 =================================================
15352 * Optimize g_utf8_validate() [Owen Taylor, Matthias Clasen]
15353 * Optimize g_markup_parse_context_parse() [Havoc Pennington, 
15354   Morten Welinder]
15355 * Reduce signal connection complexity from O(n) to O(1) 
15356   [Sven Neumann]
15357 * Add a .pc file for using gmodule in libraries [Owen]
15358 * Add G_GNUC_MALLOC to mark functions returning newly 
15359   allocated memory  [Matthias]
15360 * Win32 bug fixes [Hans Breuer, Tor Lillqvist, Robert Ögren,
15361   Bruce Hochstetler]
15362 * Bug fixes [Kazuki IWAMOTO, Matthias, Manish Singh, Morten,
15363   Frederic Crozat, Tor]
15364 * Documentation improvements [Matthias, Tor, Owen]
15365 * New and updated translations (cs,da,de,en_CA,en_GB,es,nb,nl,sq,zh_CN)
15366
15367 Overview of Changes from GLib 2.5.5 to GLib 2.5.6
15368 =================================================
15369 * GOption
15370   - Add G_OPTION_FLAG_REVERSE to allow options 
15371     which unset a  boolean variable [Tor Lillqvist]
15372 * GChildWatch
15373   - Use sigaction instead of signal [Jonas Jonnson, 
15374   Archana Shah]
15375   - Make the very first SIGCHLD work [Gustavo Carneiro]
15376 * Bug fixes [Morten Welinder, Tor, David MacLachlan,
15377   Manish Singh, J. Ali Harlow]
15378 * Documentation improvements [Matthias Clasen, Tor]
15379 * Updated translations (da,ja,tr,zh_CN)
15380
15381 Overview of Changes from GLib 2.5.4 to GLib 2.5.5
15382 =================================================
15383 * GKeyFile
15384   - Cleanups, add more error checking [Ray Strode]
15385   - Fall back to the untranslated string when getting 
15386     locale strings [Mark McLoughlin]
15387 * GOption
15388   - Document GOption [Matthias Clasen]
15389   - Better support for rest arguments [Owen Taylor, Matthias]
15390   - Handle conflicts between groups [Matthias]
15391 * Add g_lstat() to the stdio wrappers [Tor Lillqvist]
15392 * Add g_filename_display_name() to convert filenames
15393   in displayable UTF-8 strings  [Alex Larsson, Matthias]
15394 * Win32 bug fixes [Kazuki IWAMOTO, Hans Breuer, Tor]
15395 * Bug fixes [Christophe Fergeau, Morten Welinder, 
15396   Owen, Kjartan Maraas, Mark]
15397 * Documentation improvements [Matthias, Tor]
15398
15399 Overview of Changes from GLib 2.5.3 to GLib 2.5.4
15400 =================================================
15401 Add GKeyFile, a parser/editor for the .ini like files used in various
15402    freedesktop.org specifications. [Ray Strode]
15403 Make the handling of filename encodings consistent across all
15404    GLib functions, introduce wrappers for common POSIX 
15405    functions which accept the same filename encoding. [Tor Lillqvist, 
15406    Owen Taylor]
15407 GOption
15408  - Rename g_context_option_error_quark() to a more language-binding
15409    friendly name [Murray Cumming]
15410  - Accept backslashes in filenames on Win32 [Tor Lillqvist]
15411 * Strip the internal aliasing prefix IA__ from function names in 
15412   assertions [Matthias Clasen]
15413 * Add a function to split uri lists. [Matthias]
15414 * Win32 bug fixes 
15415  - Don't open console windows [Tor]
15416 * Other bug fixes [Philippe Blain, Robert Ögren, Hidetaka Iwai, Matthias,
15417  Morten Welinder, Mats-Ola Persson, Tor, Nickolay V. Shmyrev, Kjartan Maraas,
15418   Anders Carlsson, Tim-Philipp Müller, Lucas Rocha, Andrea Campi, Manish
15419   Singh, Thomas Fitzsimmons, Kazuki IWAMOTO]
15420 * Documentation improvements [Matthias, Linus Walleij, Nickolay, Philippe, 
15421  Adam Hooper, Gustavo Carneiro]
15422 * New and updated translations (cs,en_CA,en_GB,ja,nb,nl,or,sr,sr@Latn,sq)
15423
15424 Overview of Changes from GLib 2.5.2 to GLib 2.5.3
15425 =================================================
15426 * GOption
15427  - set the program name from argv[0] [Masatake YAMATO] 
15428  - make contexts work without a main group [Anders Carlsson]
15429 * Performance 
15430  - Get rid of many PLT entries for internally used exported symbols,
15431    and clean up the ABI at the same time and make make check check the
15432    list of exported symbols.  [Matthias Clasen]
15433 * Add API to get ISO 8601 week numbers [Niklas Lundell]
15434 * Add API to install an alternate default log handler [Darin Adler]
15435 * Add API to obtain a list of applicable locale names [Hidetoshi Tajima]
15436 * Reduce code size bloat by removing literal strings from
15437  the g_return_if_fail() macros [Owen Taylor]
15438 * Add g_strv_length [Tim-Philipp Müller]
15439 * Win32 changes
15440  - Add API to determine the Windows version [Tor Lillqvist]
15441 * Other bug fixes [Stepan Kasal, Anders, Tor, Kazuki Iwamoto,
15442   Manish Singh]
15443 * Documentation improvements [Morten Welinder, Matthias]
15444 * New and updated translations (es,nn,ro)
15445
15446 Overview of Changes from GLib 2.5.1 to GLib 2.5.2
15447 =================================================
15448 * Add G_GNUC_INTERNAL macro [Arjan van de Ven]
15449 * Add GOption, a commandline option parser [Anders Carlsson]
15450 * Add glib_check_version [Michael Natterer]
15451 * Add XDG basedir API [Ray Strode]
15452 * Require ngettext [Danilo Segan]
15453 * Bug fixes [Manish Singh, Ray Strode, Vincent Noel, 
15454   Jon-Kare Hellan, Jody Goldberg]
15455 * Win32 bug fixes [Tor Lillqvist, Hans Breuer, Peter Zelezny]
15456 * Documentation improvements [Matthias Clasen, Vincent Untz, Christian Persch]
15457 * New and updated translations (bs,eu,fi,gu,ne,pa)
15458
15459 Overview of Changes from GLib 2.5.0 to GLib 2.5.1
15460 =================================================
15461
15462 * Bug fixes [Oliver Guntermann, Sven Neumann, James 
15463   Henstridge, Hiroyuki Ikezoe, Matthias Clasen, Robert 
15464   Ögren, Tommi Komulainen]
15465 * Documentation improvements [Soeren Sandmann, 
15466   Christophe Fergeau, Danek Duvall]
15467 * New and updated translations (eu,hi)
15468   
15469 Overview of Changes from GLib 2.4.1 to GLib 2.5.0
15470 =================================================
15471
15472 * New functions g_debug [Sven Herzberg]
15473 * Use higher precision for mathematical constants [Morten 
15474  Welinder]
15475 * Don't convert to/from UTF-8 in g_filename_{to,from}_uri 
15476  [Federico Mena Quintero]
15477 * Win32
15478  - Handle empty digit string in printf() functions 
15479    correctly [Tor Lillqvist]
15480  - Support ll as format modifier for long long [Tor]
15481  - Be more careful about HOME [Tor, Ivan Wong]
15482  - Bug fixes [John Ehresman]
15483 * Miscellaneous bug and portability fixes [Danilo Segan, 
15484  Owen Taylor, Nikolai Weibull, Benoît Carpentier, Morten 
15485  Welinder, Manish Singh, Sven Neumann, Julio M. Merino Vidal,
15486  Kaz Sasayama, Murray Cumming, Federico, Mariano Suarez-Alvarez]
15487 * Documentation updates [Matthias Clasen, Crispin Flowerday,
15488  Tommi Komulainen, Federico Mena Quintero, Ed Griffiths]
15489 * New and updated translations (ja,ne,no,wa)
15490  
15491 Overview of Changes from GLib 2.4.0 to GLib 2.4.1
15492 =================================================
15493
15494 * Win32 bug fixes [Tor Lillqvist, Roger Leigh, John Ehresman]
15495 * Miscellaneous bug and portability fixes [Owen Taylor,
15496   Matthias Clasen, Jonas Jonsson, Christian Krause,
15497   Nickolay V. Shmyrev, Christophe Saout, Philippe Blain,
15498   Piotr Klaban]
15499 * Documentation updates [Matthias]
15500 * New and updated translations (ca,cs,cy,el,en_CA,en_GB,es,eu,fi,
15501   fr,gu,he,id,nl,pt,pl,ru,sr,sr@ije,sr@Latn,sv,uk)
15502
15503 Overview of Changes from GLib 2.3.6 to GLib 2.4.0
15504 =================================================
15505
15506 * Handle invalid-UTF-8 in g_log() properly [Matthias Clasen]
15507 * Win32 bug fixes [Tor Lillqvist, Bruce Hochstetler]
15508 * Miscellaneous bug and portability fixes [Olivier Biot, David L. Cooper II, 
15509   Kjartan Maraas, Frédéric L. W. Meunier, Christof Petig, Manish Singh, 
15510   Sebastian Wilhelmi]
15511 * Documentation updates [Owen]
15512 * Updated translations (hr,ro)
15513
15514 Overview of Changes from GLib 2.3.5 to GLib 2.3.6
15515 =================================================
15516
15517 * GAtomic bug fixes [Sebastian Wilhelmi, Mark McLoughlin]
15518 * GMain threading fixes and improvements [Sebastian]
15519 * Win32 [Tor Lillqvist]
15520  - restore some symbols extraneously exported from gobject to maintain ABI compatibility
15521  - Misc build improvements and fixes [Tor, Cedric Gustin, Hans Breuer]
15522 * Documentation updates [Sebastian, Takeshi AIHANA, Matthias, Sven Herzberg]
15523 * New and updated translations (be,es,fi,ga,pa,sr@ije,zh_CN)
15524
15525 Overview of Changes from GLib 2.3.3 to GLib 2.3.5
15526 =================================================
15527
15528 * Make glib-mkenums parse initializers with macros. [Matthias Clasen, muppet]
15529 * Respect locale era in g_date_set_parse(). [Theppitak Karoonboonyanan] 
15530 * Add atomic operations and use it for the async queue and
15531   gonce implementation. [Sebastian Wilhelmi]
15532 * Documentation improvements [Sebastian, Matthias, Sven Herzberg]
15533 * Add g_main_depth() for finding the recursion depth of the main
15534   loop [Owen Taylor, Tim Janik, Stefan Westerfeld]
15535 * Add g_spawn_close_pid(), needed on win32 [J. Ali]
15536 * Win32 fixes. [Hans Breuer, J. Ali Harlow]
15537 * Misc bugfixes [Sebastian, Matthias, Balazs Scheidler, Owen]
15538 * Updated translations (cy,et,ga,sq)
15539
15540 Overview of Changes from GLib 2.3.2 to GLib 2.3.3
15541 =================================================
15542
15543 * Add a native AIX gmodule implementation. [Laurent Vivier]
15544 * Add g_node_copy_deep().  [James M. Cape, Matthias Clasen]
15545 * Extend GQueue API to match the GList API. [Soeren Sandmann]
15546 * Add g_hash_table_find().  [Tim Janik]
15547 * Add a G_MODULE_BIND_LOCAL flag. [David Schleef]
15548 * Inline g_string_append_c() when possible. [Owen Taylor, Tim]
15549 * Wrap waitpid() as a GSource. [Jonathan R. Blandford]
15550 * Add g_completion_complete_utf8(). [Theppitak Karoonboonyanan, 
15551   Matthias]
15552 * Add g_strsplit_set(). [Soeren]
15553 * Documentation improvements. [Vincent Untz, Sebastian Wilhelmi, 
15554   Soeren, Matthias]
15555 * Win32 build fixes. [Tor Lillqvist]
15556 * Misc bugfixes [Manish Singh, Noah Levitt, Simon Josefsson, 
15557   Morten Welinder, Damien Carbery, Julio M. Merino Vidal, Sebastian, 
15558   Matthias]
15559 * Updated translations (nn,cs,it,ko,sq,ms,az,hr,uk,sr,sr@Latn,sq,ta)
15560
15561 Overview of Changes from GLib 2.3.1 to GLib 2.3.2
15562 =================================================
15563
15564 * Add G_MAXSIZE. [Manish Singh]
15565 * Add g_rand_new_with_seed_array(), g_rand_set_seed_array(),
15566   implementing the init-by-array functionality of the 
15567   original mersenne twister. Add g_rand_copy(). Improve seeding. 
15568   [George Lebl]
15569 * Add a lowercase_name option to glib-mkenums. [Murray Cumming]
15570 * Add g_ptr_array_foreach(). [Matthias Clasen]
15571 * Add g_timer_continue(). [Tim-Philipp Müller]
15572 * Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
15573 * Fix g_filename_{to,from}_utf8() on Win32 and improve 
15574   g_file_test() there too [Hans Breuer] 
15575 * Add a boxed type for NULL-terminated string arrays.  [Matthias]
15576 * Add G_DEFINE_TYPE() plus variants to ease the constuction
15577   of GObject boilerplate code.  [Tim Janik]
15578 * Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
15579 * Documentation improvements [Matthias, Manish]
15580 * Win32 build fixes [Hans]
15581 * Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, 
15582   Zack Rusin]
15583 * Updated translations (ar,de,fa,ga,mn,nn,no,sq)
15584
15585 Overview of Changes from GLib 2.3.0 to GLib-2.3.1
15586 =================================================
15587
15588 * Add glib/gi18n.h and glib/gi18n-lib.h for common
15589   gettext support, including a Q_() macro for translation
15590   with context [Matthias Clasen]
15591 * Add a more flexible G_FILENAME_ENCODING variable
15592   as a replacement for G_BROKEN_FILENAMES [Matthias]
15593 * Fix the return value g_main_context_iterate() for
15594   newly ready sources [Padraig O'Briain]
15595 * Handle Hangul composition for normalization [Noah Levitt]
15596 * Add G_{MIN,MAX,MAXU}INT{8,16,32}. [Mark Jones, Matthias]
15597 * Add G_GSIZE_FORMAT/G_SSIZE_FORMAT [Manish Singh]
15598 * Add G_STRFUNC as a portable wrapper for __func__ [Tim Janik]
15599 * Documentation improvements [Matthias]
15600 * GObject [Tim Janik]
15601  - Support '-' in g_signal_connect()/disconnect() names
15602    like 'swapped-signal'.
15603  - Add g_type_class_peek_static() and use to optimize
15604    g_object_new() for static types [Tim]
15605  - Allow setting construct-only properties from within
15606    init() implementations
15607  - Enforce readability/writeability in g_object_set/get()
15608 * Fix bug with g_ascii_strtod and multi-byte separator.
15609   [Behdad Esfahbod, Roozbeh Pournader]  
15610 * Misc bug fixes [Matthias, John Ehresman, Andrew Lanoix,
15611   Tor Lillqvist, Mark McLoughlin, Tim-Philipp Müller, Manish, 
15612   Morten Welinder]
15613 * Updated translations (ca,cs,da,es,fr,ja,nn,no,pt,ru)
15614
15615 Overview of Changes from GLib 2.2.x to GLib-2.3.0
15616 =================================================
15617
15618 * Replace Trio printf by gnulib vasnprintf [Matthias Clasen]
15619 * Update Unicode data to Unicode 4.0 [Noah Levitt]
15620 * Support XML-safe formatted output with 
15621   g_markup_[v]printf_escaped [Owen Taylor]
15622 * Add g_file_read_link to read symbolic links [Matthias]
15623 * Add g_unichar_get_mirror_char to obtain the 
15624   mirrored variant of a character [Noah]
15625 * Support for one-time initialization functions. 
15626   [Sebastian Wilhelmi]
15627 * Miscellaneous API additions: g_vasprintf
15628   g_string_chunk_insert_len, g_setenv, g_unsetenv [Matthias]
15629 * Docs improvements [Matthias]
15630 * Add support instance-private data on classed types
15631   [Mark McLoughlin, Tim Janik, Owen]
15632 * Optimize signal emissions [Soeren Sandmann, Tim]
15633 * Support a "default vtable" per interface [Tim]
15634 * Add support for properties on interfaces [Owen, Tim]
15635 * Miscellaneous API additions: g_value_take_string(),
15636   g_value_take_param(), g_value_take_object(), 
15637   g_value_take_boxed(). [Matthias]
15638 * Win32 build fixes [Tor Lillqvist]
15639
15640 Overview of Changes from GLib 2.1.5 to GLib-2.2.0
15641 =================================================
15642
15643 * Fix a problem with g_thread_init() on 64-bit problems
15644   [Alceste Scalas, Sebastian Wilhelmi]
15645 * Add assembly implementations of byteswap macros
15646   for ia64 and x86_64. [Manish Singh]
15647 * IOChannel fixes for Win32 [Tor Lillqvist, Thorsten Maerz]
15648 * Updated translations (bg,ca,es,da,fi,lv,ru,sk)
15649
15650 Overview of Changes from GLib 2.1.4 to GLib-2.1.5
15651 =================================================
15652
15653 * Win32 bug fixes [Tor Lillqvist]
15654 * Various post-rewrite fixes for glib-gettext.m4 [Owen Taylor,
15655   Jody Goldberg, Kjartan Maraas, Johannes Stezenbach]
15656 * Ensure we have a GUINT64_FORMAT by pulling in Trio
15657   if necessary [Manish Singh]
15658 * Further Trio build fixes [Matthias Clasen, Owen]
15659 * Hack around gcc, libtool issues with -pthread [Owen]
15660 * Docs improvements [Matthias]
15661 * Bug and portability fixes 
15662 * Updated and new translations (bg,de,fi,fr,sq,fr)
15663
15664 Other contributors: Kai Poitschke, Morten Welinder
15665
15666 Overview of Changes from GLib 2.1.3 to GLib-2.1.4
15667 =================================================
15668
15669 * autoconf changes to make it possible to cross compile
15670   GLib. [Owen Taylor, Dan Kegel, Amy Lin, Dimi Shahbaz, 
15671   Johannes Stezenbach]
15672 * Use libintl when it has bind_textdomain_codeset() and
15673   GLib doesn't. [Owen]
15674 * Improve generation of pseudo-random integers [Morten Welinder, 
15675   Sebastian Wilhelmi]
15676 * Avoid literal UTF-8 in favor of octal escapes [Owen, Tomas Ogren]
15677 * Cleanup include order [Sven Neumann]
15678 * autoconf cleanups and bug fixes [Daniel, Matthias Clasen, Owen]
15679 * Doc fixes and additions [Matthias]
15680
15681 Other contributors: James M. Cape, Frederic Crozat, Martin Gansser,
15682   Phuc LeHong, Manish Singh, Joshua Weage, Morten Welinder
15683
15684 Overview of Changes from GLib 2.0.x to GLib-2.1.x
15685 =================================================
15686
15687 * Add copy of the Trio library to build and use for printf() when 
15688   system printf isn't good enough. Add g_printf()/etc. [Matthias Clasen]
15689 * Add g_str_has_suffix()/g_str_has_prefix() [Alex Larsson]
15690 * Add g_markup_parse_context_get_element() [Matthias]
15691 * Add g_utf8_strreverse [Matthias]
15692 * Add g_ascii_strtoull() [Tim Janik]
15693 * Support scanning of 64-bit values with GScanner [Tim]
15694 * Add g_set/get_application_name() [Havoc Pennington]
15695 * Add G_LIKELY()/G_UNLIKELY() macros for hinting branch probabilities. 
15696   Use for g_return_if_fail(). [Matthias Clasen]
15697 * Add G_GNUC_DEPRECATED macro [Tom Tromey]
15698 * Improve the seeding algorithm of GRandom to avoid problems
15699   with certain pathological seeds. Support G_RANDOM_VERSION=2.0
15700   environment variable. [Sebastian Wilhelmi]
15701 * Improve thread configure checks, use -pthread where applicable
15702   [Sebastian]
15703 * Improve handlng of thread priorities [Sebastian]
15704 * Fix up parameter names that might shadow functions from
15705   system headers [Soeren Sandmann]
15706 * Clean up usage of deprecated functions [Manish Singh]
15707 * Docs fixes and improvements. In particular, include "Since" information.
15708   [Matthias, Soeren, Martin Schulze, Daryll Strauss, Bill Janssen, 
15709   Owen Taylor, Morten Welinder]. 
15710
15711 Overview of Changes in GLib 2.0.7
15712 =================================
15713
15714 * Fix C++ warnings in gtype.h [Dom Lachowicz]
15715 * Fix g_type_fundamental_next() [Tim Janik]
15716 * Fix various missing includes of config.h [Morten Welinder]
15717 * Handle main loop initialization before g_thread_init [Sebastian Wilhelmi]
15718 * Various 64-bit fixes [Manish Singh]
15719 * Fix GPoll on Win32 [Tor Lillqvist, Herman Bloggs]
15720 * Fix bug with buffering on UTF-8 IOChannels [Daniel Elstner]
15721 * Misc bug and build fixes [Soren Andersen, Gustavo Carneiro, Tor,
15722      Tim, Havoc Pennington,  Matthias Clasen, Sebastian Rittau,
15723      Masahiro Sakai, Arvind Samptur, HideToshi Tajima, Owen Taylor]
15724 * Updated and new translations (be,cs,de,*fa,it,lv,pt_BR,tr)
15725
15726 Overview of Changes in GLib 2.0.6
15727 =================================
15728
15729 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
15730 * Clean up debug spew from GObject [Anders Carlsson]
15731 * Compiler warning fixes [David L. Cooper II]
15732 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
15733 * Fixes for --disable-debug [Sebastian Wilhelmi]
15734 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
15735   Rajkumar Sivasamy, Laurent Vivier]
15736 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
15737   Sebastian Rittau, Linus Welleij]
15738 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
15739 * Updated translations (bg,ko,vi)
15740
15741 Overview of Changes in GLib 2.0.5
15742 =================================
15743
15744 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
15745 * Clean up debug spew from GObject [Anders Carlsson]
15746 * Compiler warning fixes [David L. Cooper II]
15747 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
15748 * Fixes for --disable-debug [Sebastian Wilhelmi]
15749 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
15750   Rajkumar Sivasamy, Laurent Vivier]
15751 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
15752   Sebastian Rittau, Linus Welleij]
15753 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
15754 * Updated translations (bg,ko,vi)
15755
15756 Overview of Changes in GLib 2.0.4
15757 =================================
15758
15759 * Fix some 64-bit problems. (George Lebl, David L. Cooper II)
15760 * Add note about Tru64 iconv to INSTALL. (Manuel Op de Coul)
15761 * Fix problem with timouts > MAXINT. (Tim Janik, Owen Taylor)
15762 * Updated translations (ca,es,fr,ja,gl,ms,nl,pl,pt,ru)
15763
15764 Overview of Changes in GLib 2.0.3
15765 =================================
15766
15767 * Handle sorting 0-length arrays (Ron Arts)
15768 * Threading fixes (Sebastian Wilhelmi)
15769 * Portability fixes (Miroslaw Dobrzanski-Neumann, Jacob Berkman, Gareth Pierce, 
15770   Sebastian, Qingjiang Yuan)
15771 * Various fixes for glib-2.0.m4. (Jim Gettys, others.)
15772 * Locate right glib-genmarshal when cross-compiling. (Mitch Natterer)
15773 * Win32 fixes (Tor Lillqvist)
15774 * Try to fix g_get_charset() related segfaults. (Owen)
15775 * Fixes for gettext detection. (Dan Winship, HideToshi Tajima, Boyd Lynn Gerber,
15776   Andrew P. Lentvorski, Jr.)
15777 * Fix g_scanner_unexp_token() (Tim Janik, Sven Neumann)
15778 * g_markup fixes. (Matthias Clasen.)
15779 * Bug fixes and cleanups (Daniel Elstner, Matthias, Laszlo Peter, Morten Welinder,
15780   Wayne Schuller)
15781
15782 Overview of Changes in GLib 2.0.1
15783 =================================
15784
15785 * Portability fixes for Sun's Forte compiler [Erwann Chenede]
15786 * Performance improvements for GObject parameter lookup, 
15787   g_filename_to/from_utf8() [Alex Larsson]
15788 * Actually check interface prerequisites [Matthias Clasen,
15789   Miroslaw Dobrzanski-Neumann]
15790 * Fix problem with glib-mkenums taking huge amounts of stack. [Owen Taylor]
15791 * Fix g_signal_handlers_disconnect_by_func() for C++ [Damien Sandras]
15792 * Fixes for g_log() and threading.
15793   [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, Tim Janik]
15794 * Make g_print(), g_printerr(), g_warning(), etc, convert from
15795   UTF-8 to the encoding of the locale [Sebastian Wilhelmi, Tim]
15796 * Fixes for GIOChannel on windows. [Tor Lillqvist]
15797 * Fix gsize/gint mismatches in giochannel.c [Miroslaw Dobrzanski-Neumann]
15798 * Fix file descriptor leak in g_file_get_contents() [Matthias]
15799 * Workaround iconv() problems on older Solaris [Lauri Alanko]
15800 * Fix warnings with gcc-3.1 about asm const [Cody Russel]
15801 * Minor bug fixes.
15802
15803 Other contributors: Hans Breuer, LEE Sau Dan, Sven Neumann, Salmaso Raffaele,
15804   Akira Tagoh, Morten Welinder
15805
15806
15807 Overview of Changes in GLib 2.0.0
15808 =================================
15809
15810 * Thread portability fixes [Sebastian Wilhelmi]
15811 * Documentation updates [Owen Taylor]
15812 * Make g_strerror(), g_strsignal() properly return UTF-8,
15813   call bind_text_domain_codeset() so that error strings
15814   are in UTF-8 as well. [Owen, Tor Lillqvist]
15815
15816 Overview of Changes in GLib 2.0.0 rc1:
15817 ======================================
15818
15819 * Win32 fixes [Tor Lillqvist]
15820 * Portability fixes [Finlay Dobbie, Miroslaw Dobrzanski-Neumann]
15821 * Fix up g_date_strftime [Daniel Elstner]
15822 * Add some structure padding [Tim Janik]
15823 * Make g_get_homedir() prefer the users home directory to $HOME
15824
15825 Other contributors: Matthias Clasen, Paolo Maggi, Christian Rose
15826
15827 Overview of Changes in GLib 1.3.15:
15828 ===================================
15829
15830 * Speed up marshalers by using private access to GValue 
15831   [Anders Carlsson, Tim Janik]
15832 * Reduce GValue to 2 elements [Tim]
15833 * Add G_DEBUG environment variable, G_DEBUG=fatal_warnings [Matthias Clasen]
15834 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
15835 * Add padding to various structures [Owen Taylor, Tim]
15836 * Win32 fixes [Tor Lillqvist]
15837
15838 Other contributors: James Henstridge, Ryan Lovett, Morten Welinder,
15839   Daniel Elstner
15840
15841 Overview of Changes in GLib 1.3.14:
15842 ===================================
15843
15844 * Register value transformations for gint64, guint64 [Andy Wingo]
15845 * Build with large-file support [Sven Neumann, Owen Taylor]
15846 * Fix handling of hostnames in URI's [Darin Adler]
15847 * Main loop bug fixes [Havoc Pennington, Owen]
15848 * Doc fixes and improvements [Manish Singh, Tim Janik]
15849 * Support ' as attribute delimiters in GMarkup [Matthias Clasen]
15850 * Win32 fixes [Hans Breuer, Tor Lillqvist]
15851 * Threading bug and build fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann]
15852 * Miscellaneous bug fixes
15853
15854 Other contributors: Matthias Clasen, James Henstridge, Mitch Natterer, 
15855   Morten Welinder.
15856
15857 Overview of Changes in GLib 1.3.13:
15858 ===================================
15859
15860 * Fix g_filename_to/from_uri for Win32 [Tor Lillqvist, Darin Adler]
15861 * Miscellaneous win32 fixes [Tor, Hans Breuer]
15862 * Fix thread options for gcc on AIX [Jerome Zago, Sebastian Wilhelmi]
15863 * Documentation improvements [Ron Steinke, Matthias, Sebastian]
15864 * Cache iconv converters as used by g_convert() [Jeffrey Stedfast]
15865 * Bug fixes [Sven Neumann, Owen Taylor, Matthias Clasen, Jeffrey,
15866   Laszlo Peter, Havoc Pennington, Tim Janik]
15867
15868 Overview of Changes in GLib 1.3.12:
15869 ===================================
15870
15871 * Implement closure chaining, fixing up API (Tim Janik)
15872 * Closure chaining test case (James Henstridge)
15873 * Make GType long not int where both are equal width (Tim)
15874 * Win32 fixes and improvements (Hans Breuer, Tor Lillqvist)
15875 * Fixes for NetBSD. (Dan Winship)
15876 * Use snprintf() for g_printf_string_upper_bound() where possible. (Matthias Clasen)
15877 * Save space for GBSearchArray (Tim Janik)
15878 * Documentation improvements. (Matthias, Sven Neumann, Havoc Pennington)
15879
15880 Other contributors: Darin Adler, Chris Blizzard, Anders Carlson, Daniel Elstner, Michael Meeks, 
15881   Mark McLoughlin, Dave Neary, Manish Singh, Owen Taylor, HideToshi Tajima, 
15882   Sebastian Wilhelmi.
15883
15884
15885 Overview of Changes in GLib 1.3.11:
15886 ===================================
15887
15888 * Win32 fixes [Hans Breuer, Tor Lillqvist]
15889 * Documentation improvements [Matthias Clasen]
15890 * Portable directory handling API [Hans]
15891 * Threading fixes [Sebastian Wilhelmi, Havoc Pennington]
15892 * Fix excess relocations in Unicode tables [Andrew Taylor]
15893 * Fix gpattern for UTF-8 [Matthias Clasen]
15894 * Support overriding class closures [Tim Janik]
15895 * Support for derivation from G_TYPE_POINTER [Owen Taylor]
15896 * Hide pointers to type information inside GType to reduce locking
15897   [Alex Larsson, Tim]
15898 * Adds check for direct inclusion of gobject/*.h [Owen]
15899 * GObject API cleanups [Tim]
15900
15901 Other contributors: Darin Adler, Jacob Berkman, Daniel Egger, Eric Lemings, 
15902   Michael Meeks, Mark McLoughlin, Arkadiusz Miskiewicz, Dan Winship
15903
15904
15905 Overview of Changes in GLib 1.3.10:
15906 ===================================
15907
15908 * Many Win32 fixes and improvements [Tor Lillqvist]
15909 * Documentation improvements [Matthias Clasen]
15910 * g_string_printfa() renamed to g_string_append_printf()
15911 * Use libcharset from libiconv to implement charset detection
15912   more portably. [Owen Taylor, Hidetoshi Tajima]
15913 * Add 64 bit type support to GObject [Joshua Pritikin, Mathieu Lacage, Owen]
15914 * Make support for 64 bit integers a requirement [Joshua]
15915 * GPattern improvements [Tim Janik, Matthias]
15916 * Locale independent g_ascii_strtod / g_ascii_dtostr [Alex Larsson]
15917 * Many bug fixes and minor tweaks.
15918
15919 Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
15920   Ben Gertzfield, Elliot Lee, Manish Singh, Abel Cheung, Laszlo Peter,
15921   Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
15922   Jacob Berkman
15923
15924
15925 Overview of Changes in GLib 1.3.9:
15926 ==================================
15927
15928 * Fixes for comparison of threads [Sebastian Wilhelmi]
15929 * Use vasprintf() when possible for g_strdup_printf [Matthias Clasen]
15930 * Win32 fixes [Tor Lillqvist, Hans Breuer]
15931 * Add a len argument to g_ascii_strup/strdown
15932 * Bug, portability fixes, cleanups.
15933
15934 Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
15935
15936
15937 Overview of Changes in GLib 1.3.8:
15938 ==================================
15939
15940 * Documentation updates [Owen]
15941 * Made GType interfaces overridable in derived types
15942 * Many win32 fixes [Tor Lillqvist]
15943 * Miscellaneous cleanups and fixes
15944
15945 Other contributors:
15946   Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
15947
15948
15949 Overview of Changes in GLib 1.3.7:
15950 ==================================
15951
15952 * Integrate GClosure support into the main loop [Owen Taylor]
15953 * More GSignal convenience functions (macros) [Sven Neumann, Tim Janik]
15954 * Introduced weak references for GObject [James Henstridge, Sven, Tim] 
15955 * Minor hash table optimizations
15956 * Main loop and threading improvements [Sebastian Wilhelmi]
15957 * Added g_ascii_* functions to be used for locale insensitive UTF-8
15958   compliant code instead of old string functions  [Darin Adler, Alex Larsson]
15959 * Add functions for Unicode case-conversion, normalization, and 
15960   collation [Owen]* GString improvements [Owen]
15961 * Reworked the GIOChannel code [Hidetoshi Tajima, Ron Steinke]
15962 * Removed glib-config-2.0 in favour of pkgconfig [Sebastian]
15963 * Make code 64bit clean [Mark Murnane]
15964 * More G_CONST_RETURN fixes
15965 * Many improvements to the win32 code [Tor Lillqvist, Hans Breuer]
15966 * Miscellaneous bug and API fixes
15967
15968 Other contributors:
15969   Michael Natterer, Christopher James Lahey, Padraig O'Briain,
15970   Matthias Clasen, Josh Pritikin, Steve Baker, Cesar Rincon, Garry R. Osgood,
15971   Michael Meeks, Laszlo Peter,  Martin Baulig, Kjartan Maraas, Andrew Lanoix,
15972   Peter Williams
15973
15974
15975 Overview of Changes in GLib 1.3.6:
15976 ==================================
15977
15978 * Threads have a "return value" from g_thread_join
15979 * Removed ability to adjust thread stack size
15980 * Prefix warnings with progname/PID by default, change toggle for this to 
15981   be an env variable G_MESSAGES_PREFIXED not a compile-time option
15982 * GMarkup speedups
15983 * GDate const, convenience fixups
15984 * Include test cases that headers are compilable by C++ compiler
15985 * Add ability to spawn processes with argv[0] != executable path.
15986 * g_strstr_len, g_strrstr, g_strrstr_len
15987 * Add length argument to g_utf8_strchr and g_utf8_strrchr.
15988 * Misc bug fixes
15989
15990
15991 Overview of Changes in GLib 1.3.5:
15992 ==================================
15993
15994 * Added an installed glib-mkenums Perl program for parsing enumeration
15995   declarations from header files.
15996 * Mark some additional deprecated functions.
15997 * Bug and Portability fixes
15998
15999
16000 Overview of Changes in GLib 1.3.4:
16001 ==================================
16002
16003 * Efficiency improvements for GThreadPool
16004 * A few bug fixes
16005 * Build fixes
16006 * Documentation improvements
16007
16008
16009 Overview of Changes in GLib 1.3.3:
16010 ==================================
16011
16012 GLib:
16013
16014 * More user_data support in various functions.
16015 * Main loop API revamps to support per-thread main loops.
16016 * Unicode handling improvements.
16017 * Implemented debugging traps.
16018 * G_CONST_RETURN specification all over the place.
16019 * Various new small utility functions.
16020 * Random number generator precision improvements.
16021 * New configure option --disable-mem-pools.
16022 * Many Win32 improvements.
16023 * Added g_try_malloc() friends varinats.
16024 * Many documentation improvements.
16025 * Many threading improvements, support for dynamic allocation
16026   of static mutexes.
16027 * GHookLIst API cleanups.
16028 * Improved format support of GDate parser.
16029 * String function speed improvements with new g_stpcpy().
16030 * Hashtable API additions.
16031 * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
16032 * Optimizations, cleanups, bug fixes.
16033
16034 GObject:
16035
16036 * Added many convenience functions.
16037 * GClosure and GParamSpec use float/sink ref-counting scheme now.
16038 * Reworked property change notification.
16039 * Binary searchable array cleanups, so it's widely usable now.
16040 * Added static content keeping for some GValue types.
16041 * Support for statically scoped signal parameters.
16042 * Extinguished property trailer args in set/get interface.
16043 * Added support for abstract types.
16044 * G_CONST_RETURN specification all over the place.
16045 * Split parameter exchange functionality into value transforms
16046   and parameter conversions.
16047 * Added signal emission hooks and signal accumulators.
16048 * Added interface prerequisites to support is_a (interface, object)
16049   relations.
16050 * Implemented GValueArray.
16051 * New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
16052   GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
16053   G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
16054 * Varrags value collection improvements.
16055 * Implemented debugging traps.
16056 * Made things thread-safe.
16057 * Many documentation improvements.
16058 * Many cleanups, optimizations and bug fixes.
16059
16060
16061 Overview of Changes in GLib 1.3.2:
16062 ==================================
16063
16064 GLib:
16065
16066 * Win32 build improvements  [Tor]
16067 * Improvements to error reporting  
16068   (g_critical(), g_return_if_reached()) [Darin]
16069 * Add g_strlcpy/g_strlcat  [David Wheeler]
16070 * New IO channel implementation for Win32  [Tor] 
16071 * Make g_array_free, g_string_free return pointer to memory requested
16072   not to be freed.  [Darin]
16073 * Added GError based error reporting for thread functions.  [Sebastian]
16074 * Moved reference docs into GLib distribution. [Owen]
16075 * Added g_convert() for doing convenient character set conversions based
16076   on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
16077 * Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
16078   g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
16079 * Portability fixes for threading.  [Sebastian]
16080 * Added convenient functions for launching new processes (g_spawn_*),
16081   and shell quoting/unquoting functions.  [Havoc]
16082 * Split glib.h into many headers.  [Sebastian]
16083 * Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
16084 * Fixed confusions between comparison functions that return <0, 0, >0
16085   and equaility functions that return FALSE,TRUE.  [Sebastian]
16086 * Added safe/portable temporary file manipulation functions.  [Tor]
16087 * autoconf improvements.  [Raja]
16088 * Many documentation improvements.
16089 * Bug fixes.
16090
16091 GObject:
16092
16093 * Added boxed and pointer types.  [Tim/Jonathan]
16094 * Added callback abstraction (GClosure)  [Tim]
16095 * Added signal system (GSignal)  [Tim]
16096 * Make GTypePlugin an interface  [Tim]
16097 * Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
16098 * Bug fixes.
16099
16100
16101 What's new in GLib 1.3.1:
16102 =========================
16103
16104 * New GObject library added including object system based on
16105   the GTK+ object system. 
16106 * Functions for getting the properties of Unicode characters, 
16107   computing the canonical decomposition and ordering combining
16108   characters aand manipulating UTF-8 string manipulation based
16109   on libunicode.
16110 * GString now properly handles embedded nuls.
16111 * Multiple fixes from the 1.2.x branch.
16112 * Upgrade to libtool 1.3.3
16113 * Full thread support (thread creation and destruction).
16114 * BeOS port, BeOS dynamic modules.
16115 * Many improvements to the Windows ports.
16116 * Improvements to the OS/2 port, OS/2 module support.
16117 * Double ended queue implementation.
16118 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
16119 * New configure option --enable-msg-prefix to prefix messages, warnings
16120   et ceteri with the program name and the process id.
16121 * New thread-safe random number generator Mersenne Twister.
16122 * g_strcompress() added, g_strescape() had a slight API change, and
16123   more tightly defined semantics.
16124 * the g_string(x) macro has been removed, #x may be used instead.
16125                                 
16126
16127
16128 Overview of changes in GLib 1.2.1
16129 =================================
16130
16131 * g_realloc() fix for SunOS (please report further problems).
16132 * Continued the never ending fix vendetta regarding getpwuid(),
16133   this time AIX has been the culprit.
16134 * Upgrade to libtool 1.2f
16135 * Miscellaneous other buglets fixed.
16136
16137
16138 Overview of changes in GLib 1.2.0
16139 =================================
16140
16141 * GLib is distributed seperatedly from Gtk+
16142 * Win32 Portability
16143 * Threading support
16144 * GModule mechanism (implemented in an extra library) which wraps dynamic
16145   object code loading facilities in a portable manner
16146 * GIOChannel structure to encapsulate the IPC mechanism
16147 * GQuarks and datasets
16148 * GRelations for n-way mapping of certain data
16149 * An n-way tree implementation
16150 * GDate functionality for calendar date manipulations
16151 * GAllocator type and associated functions
16152 * Added generic callback maintenance functions (ghook)
16153 * Generic functions for TAB completions
16154 * Endian defines (G_*_ENDIAN)
16155 * g_log() mechanism for logging of messages at different log levels
16156 * Generic main-loop mechanism
16157 * New glib-config helper script
16158 * Many more API extensions
16159
16160
16161 Overview of changes in GLib 1.1.16
16162 ==================================
16163
16164 * Allocate smaller pools of memory for glists, gslists, gnodes
16165 * Bug Fixes
16166
16167
16168 Overview of changes in GLib 1.1.15
16169 ==================================
16170
16171 * HPUX 11 thread system detection should now work
16172 * Release the main loop lock around calls to prepare() and
16173   check() so it is not held over user code
16174 * A few Win32 fixups
16175
16176
16177 Overview of changes in GLib 1.1.14
16178 ==================================
16179
16180 * Check for dlsym() in system libraries and -dl
16181 * FreeBSD portability fixes
16182 * Random bug fixes and autoconf/automake changes
16183
16184
16185 Overview of changes in GLib 1.1.13
16186 ==================================
16187
16188 * Removed alloca() based function and macro variants again.
16189 * Improved thread related configure tests.
16190 * GSource destruction fixups.
16191 * Fixed up idle function removal based on user_data pointer.
16192 * Advanced Win32 portability.
16193 * Enforced GSource's check(), prepare() and dispatch() constrains,
16194   loop recursions may only happen from dispatch(), and check() as well
16195   as prepare() are called while the main_loop lock is being held.
16196 * GLib development now requires GNU autoconf 2.13, GNU automake 1.4
16197   and GNU libtool 1.2d.
16198 * Lots of random portability and bug fixes.
16199
16200
16201 Overview of changes in GLib 1.1.12
16202 ==================================
16203
16204 * Added alloca functions/macros: g_strdup_a, g_strconcat3_a, g_alloca,
16205   g_new_a, g_new0_a
16206 * New tests structure.  Type 'make check' on your system to run them.
16207 * Avoid unnecessary extra hook referencing in g_hook_list_marshal
16208
16209
16210 Overview of changes in GLib 1.1.11
16211 ==================================
16212
16213 * provide defaults for POLL sysdefs
16214 * g_main_is_running: new function to check whether a main loop has been quitted
16215 * a few other enhancement/fixes
16216
16217
16218 Overview of changes in GLib 1.1.9
16219 =================================
16220
16221 * Check for pthread_attr_init in all cases, Digital Unix 4 requires this
16222 * For G_LOCK_DECLARE_*, if !G_THREADS_ENABLED, eat trailing semicolon better
16223 * Changed g_main_poll_(add|remove) to g_main_(add|remove)_poll
16224
16225
16226 Overview of changes in GLib 1.1.8
16227 =================================
16228
16229 * Added threading support
16230   - The ability to specify a set of functions to be used for
16231     locking at runtime.
16232   - Default implementations of locking functions for pthreads,
16233     Solaris threads, and (experimentally) NSPR.
16234   - All static variables should now properly locked.
16235   - Enhancements to the generic main-loop mechanism to be thread-safe.
16236     (It is used for the main-loop in GTK+ as of GTK+-1.1.8)
16237 * Portability fixes.
16238
16239
16240 Overview of changes in GLib 1.1.7
16241 =================================
16242
16243 * Removed multiple define from glibconfig.h
16244
16245
16246 Overview of changes in GLib 1.1.6
16247 =================================
16248
16249 * New GDate functionality for calendar date manipulations (g_date_*)
16250 * New GAllocator type and associated functions
16251 * New functions g_slist_copy and g_list_copy to duplicate a list with all
16252   its data pointers.
16253 * New function g_array_insert_vals and new macro g_array_insert_val to
16254   insert elements at an arbitrary index
16255 * GAllocators used for glist, gslist, gnode node allocations
16256 * Incremental freezing in ghash
16257 * New function g_hook_list_marshal_check to eventually destroy hooks after
16258   they got marshalled
16259 * Revised GIOChannel to provide generic virtual-function based interface
16260 * Added generic main-loop abstraction
16261 * Removed GListAllocator type and its g_*_allocator_*() function variants
16262 * Bug fixes
16263
16264
16265 Overview of changes in GLib 1.1.5
16266 =================================
16267
16268 * Win32 portability
16269 * GIOChannel structure to encapsulate the IPC mechanism
16270 * Reimplemented endian stuff, using inline asm for x86
16271 * New functions:
16272   - g_strescape: escapes backslashes
16273   - g_path_is_absolute and g_path_skip_root
16274   - g_getenv: expands environment variables that contain references
16275     to other environment variables
16276   - g_scanner_sync_file_offset: rewind the filedescriptor to the current
16277     buffer position and blow the file read ahead buffer
16278   - g_array_remove_index: remove an entry, preserving the order
16279   - g_array_remove_index_fast: remove an entry, order might be distorted
16280   - g_ptr_array_remove: remove an entry, preserving the order
16281   - g_ptr_array_remove_fast: remove an entry, order might be distorted
16282   - g_byte_array_remove_index: wrapper for g_array_remove_index
16283   - g_byte_array_remove_index_fast: wrapper for g_array_remove_index_fast
16284   - g_strncasecmp: modeled closely after g_strcasecmp
16285   - g_list_sort, g_slist_sort: to merge sort GLists and GSLists
16286 * New macros:
16287   - G_DIR_SEPARATOR, G_DIR_SEPARATOR_S: platform-dependant file name
16288     syntax elements
16289   - G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S: platform-dependant
16290     search path syntax conventions
16291   - G_STRUCT_OFFSET, G_STRUCT_MEMBER_P, G_STRUCT_MEMBER: for handling
16292     structure fields through their offsets
16293 * Removed G_ENUM, G_FLAGS, G_NV, and G_SV macros
16294 * Bug fixes
16295
16296
16297 Overview of changes in GLib 1.1.4
16298 =================================
16299
16300 * Added generic callback maintenance functions (ghook)
16301 * New endian defines (G_*_ENDIAN)
16302 * New string join/split/free routines
16303 * Fixes
16304
16305
16306 Overview of changes in GLib 1.1.3
16307 =================================
16308
16309 * New GModule mechanism (implemented in an extra library) which wraps dynamic
16310   object code loading facilities in a portable manner.
16311 * glib-config features extra "glib" (old behaviour remains) and "gmodule"
16312   (add libgmodule.so to the --libs output) arguments now. this can also
16313   be specified as fourth argument to the AM_PATH_GLIB() macro.
16314 * Overhaul of the `inline' autoconfiguration stuff, so inlining should be
16315   sufficiently supported on all systems that allow inlining now.
16316 * New g_log() mechanism for logging of messages at different log levels,
16317   associated with certain log domains (define -DG_LOG_DOMAIN for your library).
16318 * New inline functions for bit masks tests.
16319 * GNode macros (and functions) now return the newly allocated node.
16320 * New macro G_VA_COPY() to work around va_list copying oddities on some
16321   platforms. the non-static g_vsprintf() function vanished in favour of
16322   a publically exported g_strdup_vprintf().
16323   People that used the former g_vsprintf() would definitely want to read the
16324   associated ChangeLog entries (grep for printf).
16325 * New utility functions:
16326   g_strndup(), g_on_error_query(), g_on_error_stack_trace(), g_strdup_printf(),
16327   g_strdup_vprintf(), g_printf_string_upper_bound(), g_spaced_primes_closest(),
16328   g_strnfill(), g_memdup().
16329 * Overhaul of the array implementations, this contains some source incompatible
16330   changes. Again, the ChangeLog is much more informative (grep for garray.c).
16331 * The internals of the g_dataset mechanism are now exported through the
16332   new g_datalist_* API (this is also the underlying implementation for the
16333   keyed data of GtkObjects).
16334 * New function g_atexit(), use of the ATEXIT() macro is discouraged.
16335 * Better configure checks for ansi compliance.
16336 * Libtool update to version 1.2b.
16337 * Lotsa bug fixes and cleanups as always ;)
16338
16339
16340 Overview of changes in GLib 1.1.2
16341 =================================
16342
16343 * Fixed packaging mistake which occured in 1.1.1
16344 * fix 64-bitness in g_prints in glibtest
16345
16346
16347 Overview of changes in GLib 1.1.1
16348 =================================
16349
16350 * An n-way tree implementation is provided now, based on the GNode structure.
16351 * Bugfix for pointer arrays.
16352
16353
16354 Overview of changes in GLib 1.1.0
16355 =================================
16356
16357 * GLib is distributed seperatedly from Gtk+ now and uses a sophisticated
16358   shared library versioning scheme to deal with interface and binary
16359   incompatibilities.
16360 * There is a glib-config helper script installed now.
16361 * Fixups all over the place.
16362 * gboolean is now a gint, not a gchar anymore.
16363 * API extensions for GList and GSList.
16364 * New g_str*() functions for simple string handling.
16365 * GScanner extensions for scope, warning and error handling.
16366 * Minor performance improvements for GMemChunks.
16367 * Implementations of GQuarks and datasets (similar to GtkObjects data
16368   mechansim, but works for generic memory locations).
16369 * More convenience macros for GNU C function arguments.
16370 * Const correction all over the place, including a new pointer type
16371   gconstpointer.
16372 * Generic functions for TAB completions.
16373 * GRelations for n-way mapping of certain data.