Imported Upstream version 2.74.3
[platform/upstream/glib.git] / NEWS
1 Overview of changes in GLib 2.74.3
2 ==================================
3
4 * Fix regression in type checking `g_str_equal()` from C++ projects (#2820)
5
6 * Bugs fixed:
7   - #2820 g_str_equal: New macro version breaks compilation in C++ projects
8     (Philip Withnall)
9   - !3096 Backport !3094 “gstrfuncs: Fix regression in C++ types accepted by
10     g_str_equal()” to glib-2-74
11
12
13 Overview of changes in GLib 2.74.2
14 ==================================
15
16 * Fix `GVariant` type depths checks on text format variants (work by Philip Withnall) (#2782)
17
18 * Fix an obscure corner case with FD handling in `g_spawn_*()` when a process
19   has already closed the standard I/O FDs (work by Ray Strode) (#2795)
20
21 * Fix regression in type checking on `const` arguments to `g_str_equal()` (#2809)
22
23 * Bugs fixed:
24   - #2782 GVariant type depth not checked on typedecls in text format variants
25     (Philip Withnall)
26   - #2795 [regression] gnome-keyring-daemon uses 100% CPU with glib-2.74.1 (Ray
27     Strode)
28   - #2799 Wrong GTask tag on error return path in
29     g_proxy_resolver_lookup_async() (Michael Catanzaro)
30   - #2809 g_str_equal switched to stricter API (typing) (Philip Withnall)
31   - !3017 Backport !3008 “gio/gdesktopappinfo: Free the wrapped argv array on
32     launch failure” to glib-2-74
33   - !3038 Backport !3035 “portal: Fix broken header guard” to glib-2-74
34   - !3039 Backport !3029 “Revert "Handling collision between standard i/o file
35     descriptors and newly created ones" ” to glib-2-74
36   - !3046 Backport !3045 “gproxyresolver: lookup_finish() should better parallel
37     lookup_async()” to glib-2-74
38   - !3063 Backport !3061 “gvariant-parser: Speed up maybe_wrapper() by an order
39     of magnitude” to glib-2-74
40   - !3084 Backport !3082 “gstrfuncs: Fix regression in types accepted by
41     g_str_equal()” to glib-2-74
42
43 * Translation updates:
44   - Abkhazian (Nart Tlisha)
45   - Dutch (Nathan Follens)
46   - Serbian (Мирослав Николић)
47
48
49 Overview of changes in GLib 2.74.1
50 ==================================
51
52 * Update Unicode data to version 15 (work by Marco Trevisan) (#2735)
53
54 * Fix various build failures in different situations
55   (work by Kjell Ahlstedt, Marco Trevisan (Treviño)) (#2740, #2758, #2759, #2766)
56
57 * Fix over-eager deprecated property warnings for construct properties
58   (work by Simon McVittie) (#2748)
59
60 * Fix a crash calling `g_param_value_is_valid()` on a `GParamSpecParam` (work by
61   Emmanuele Bassi) (#2770)
62
63 * Fix floating `GVariant` leaks with GObject properties (work by Matthias Clasen) (#2774)
64
65 * Add inline optimised version of `g_str_equal()` (work by Xavier Claessens) (#2775)
66
67 * Fix `GVariant` type depths checks on text format variants (work by Philip Withnall) (#2782)
68
69 * Fix regression with int64 and double hashing functions on big-endian architectures
70   (work by Simon McVittie) (#2787)
71
72 * Build the API documentation only when building GLib as a shared library (work
73   by Emmanuele Bassi) (!2896)
74
75 * Ignore weird `/etc/localtime` configurations generated by toolbx (work by Ray Strode) (!2973)
76
77 * Avoid `EINTR` races when closing FDs in `g_spawn_*()` (work by Thomas Haller) (!2988)
78
79 * Bugs fixed:
80   - #16 gspawn.c file descriptor handling (Emmanuel Fleury)
81   - #333 Make GLib valgrind friendly (Marco Trevisan (Treviño))
82   - #2735 Update unicode data to version 15
83   - #2740 gio-launch-desktop: clang compiler can't compile with commit 813ce7f0b
84     (Kjell Ahlstedt)
85   - #2742 glib:gio / file test fails after update to 2.73.3. (Marco Trevisan
86     (Treviño))
87   - #2748 construct properties always trigger the deprecated property warning
88   - #2758 gmessages.c compile failure with -Werror=unused-result (Marco Trevisan
89     (Treviño))
90   - #2759 gosxcontenttype.m compile failure with -Werror=declaration-after-
91     statement (Marco Trevisan (Treviño))
92   - #2766 glocalfileinfo.c compile failure when utimensat() not available (=
93     MacOS)
94   - #2767 GFileInfo fails to find x-large and xx-large thumbnail paths (Marco
95     Trevisan (Treviño))
96   - #2770 Random crashes with GLib 2.74.0 (Emmanuele Bassi)
97   - #2774 Floating GVariant leaks since 2.73.1 in g_object_set() (Matthias
98     Clasen)
99   - #2775 Add an inline version of g_str_equal (Xavier Claessens)
100   - #2782 GVariant type depth not checked on typedecls in text format variants
101     (Philip Withnall)
102   - #2787 new int64, double hash functions always hash to 0 on big-endian (Simon
103     McVittie)
104   - #2788 GObject warnings: keep or revert warning -> critical change in 2.74.x
105     branch? (Philip Withnall)
106   - !2852 Replace most GObject warnings with criticals
107   - !2857 glib-mkenums: Specify output encoding as UTF-8 explicitly for non-
108     English locale
109   - !2864 gatomic: fix the atomic compare_and_exchange macros on older C++
110     standard versions
111   - !2866 tests: skip g-file-info test if atime unsupported
112   - !2867 tests: skip shared libs if default_library=static
113   - !2880 gbacktrace: Don't truncate gdb output
114   - !2885 tests/desktop-app-info: Use unique temporary paths for action files
115   - !2892 tests/unix-streams: Free the cancelled error on cancelled cancellable
116   - !2896 Build API docs only with shared libraries
117   - !2899 gio: make g_task_get_cancellable return value (nullable)
118   - !2901 glocalfileoutputstream: Do not double-close an fd on unlink error
119   - !2903 docs: Fix markup error in code blocks for "DEPRECATED" macros
120   - !2904 tests: Only run g_error_new_valist() programmer error test on glibc
121   - !2905 meson: Set install_tag remaining installed files
122   - !2907 gthread-win32: Fix conversion error from pointer to integer
123   - !2911 glocalfileinfo: In set_mtime_atime(), don't use utimensat() if it's
124     not available
125   - !2913 gregex: Use pcre2 error messages if we don't provide a specific one
126   - !2915 Consider the GLogField.length of "MESSAGE"/"GLIB_DOMAIN" fields in
127     g_log_writer_format_fields()
128   - !2916 Update version in the docs to 2.74.1 for the fixed handling of...
129   - !2920 gregex: Allow G_REGEX_JAVASCRIPT_COMPAT in compile mask
130   - !2922 ci: Conform to Python's coding style
131   - !2924 Optimize the implementation of `g_double_hash`
132   - !2928 build: Let Meson figure out Python installation
133   - !2931 gdatetime: add missing g_return_() check in g_date_time_format_iso8601
134   - !2933 Fix style warning in gvariant.c
135   - !2938 gdatetime: add NULL guard in g_date_time_new_now()
136   - !2939 gobject/tests/param: Add unit test for handling invalid NULL param
137     spec
138   - !2946 tests: Check the return value of fwrite() in a test
139   - !2948 ghash: document g_hash_table_steal_extended() behavior for sets
140   - !2949 doc: Correctly annotate g_async_queue_push()
141   - !2958 Backport !2952 “Various win32 test fixes” to glib-2-74
142   - !2960 Backport !2959 “Some leaks fixes” to glib-2-74
143   - !2973 Backport !2955 “gtimezone: Reject weird /etc/localtime configurations”
144     to glib-2-74
145   - !2975 Backport !2974 “gvariant-parser: Reject deeply-nested typedecls in
146     text form variants” to glib-2-74
147   - !2982 Backport !2887 “glocalfileinfo: Ensure we always sniff some data to
148     get the content type” to glib-2-74
149   - !2983 Backport !2910 “gmessages: Handle unused results from fputs and
150     fwrite” to glib-2-74
151   - !2988 Backport !2947 “gspawn: avoid race due to retry with EINTR on close()”
152     to glib-2-74
153   - !2989 Backport !2978 “A couple of test fixes on OS X” to glib-2-74
154   - !2995 Revert !2924 in 2.74.x branch
155   - !2996 Revert "Replace most GObject warnings with criticals" on glib-2-74
156   - !2998 Backport !2934 “gobject: Always ref-sink variants in g_object_set” to
157     glib-2-74
158   - !3010 Backport !3009 “gtimezone: Fix symlink checks on relative link
159     targets” to glib-2-74
160
161 * Translation updates:
162   - Abkhazian (Nart Tlisha)
163   - Friulian (Fabio Tomat)
164   - German (Christian Kirbach)
165   - Hebrew (Yaron Shahrabani)
166   - Kazakh (Baurzhan Muftakhidinov)
167   - Occitan (post 1500) (Quentin PAGÈS)
168   - Turkish (Sabri Ünal)
169
170
171 Overview of changes in GLib 2.74.0, 17-09-2022
172 ==============================================
173
174 * Use EPOLL_CLOEXEC by default (Colin Walters)
175
176 * Fixed various regression on GRegex as per the PCRE2 porting (Marco Trevisan)
177
178 * Fixed various memory leaks (Sebastian Keller, Marco Trevisan)
179
180 * Bugs fixed:
181  - GNOME/gtksourceview#278 Failed to load html.lang after GLib switched to PCRE2
182    (Marco Trevisan (Treviño))
183  - GNOME/gtksourceview#283 GRegex-on-PCRE2 regressions (Marco Trevisan)
184  - #2688 Follow-up from "replace pcre1 with pcre2" (Marco Trevisan (Treviño))
185  - #2713 static_assert is undefined in C99 (wen Rafferty)
186  - #2719 GParamSpec constructors should have nullable annotation on nick/blurb
187    (Andy Holmes)
188  - #2729 GRegex/GMatchInfo related crashes after upgrade to 2.73.2 (Marco
189    Trevisan)
190  - #2733 gio: GVariantBuilder builder leaked in g_document_portal_add_documents
191    when URI list is empty (Sebastian Keller)
192  - #2737 gio mount coredumps on prompt exit since 2.73 (Marco Trevisan)
193  - #2741 Memory errors on GRegex (Marco Trevisan (Treviño))
194  - GNOME/gtk#4400 gtk_show_uri can't open browser on MSYS2 on Windows (Luca
195    Bacci)
196  - !2820 ci: Expose the coverage report and docs as links in the MR's (Marco)
197  - !2855 gtlscertificate: Update reference to G_TLS_CERTIFICATE_NO_FLAGS
198  - !2861 mem: Document OOM behavior for allocations (Matthias Clasen)
199  - !2868 gio-unix: Use EPOLL_CLOEXEC by default (Colin Walters)
200  - !2873 Fix array-bounds compiler warnings with GCC 12 (Emmanuele Bassi)
201  - !2874 tests, GDesktopAppInfo: Fix various GVariant leaks (Marco Trevisan)
202  - !2875 g_strsplit: Use a pre-allocated GArray when max_tokens is provided
203    (Marco Trevisan)
204  - !2876 GActionGroup: Fix ownership transfer annotation for query_action()
205    (Andy Holmes)
206  - !2879 gioenumtypes: Only define GLIB_DISABLE_DEPRECATION_WARNINGS if needed
207    (Marco Trevisan)
208  - !2881 GWin32AppInfo: Add missing g_spawn_close_pid (Luca Bacci)
209  - !2882 meson: Set install_tag on all tools (Xavier Claessens)
210  - !2883 ci: Improve style check script (Matthias Clasen)
211  - !2900 docs: Improve wording in documentation of g_unix_signal_source_new()
212    (Tom Levy)
213
214 * Translation updates:
215  - Abkhazian (Nart Tlisha)
216  - Basque (Asier Sarasua Garmendia)
217  - Bulgarian (Alexander Shopov)
218  - Catalan (Jordi Mas)
219  - Chinese (China) (Luming Zh, Boyuan Yang)
220  - Croatian (Goran Vidović)
221  - Czech (Marek Černocký)
222  - Danish (Alan Mortensen)
223  - Finnish (Jiri Grönroos)
224  - French (Claude Paroz)
225  - Galician (Fran Dieguez)
226  - Hungarian (Balázs Úr)
227  - Indonesian (Kukuh Syafaat)
228  - Korean (Changwoo Ryu)
229  - Lithuanian (Aurimas Černius)
230  - Persian (Danial Behzadi)
231  - Polish (Piotr Drąg)
232  - Portuguese (Hugo Carvalho)
233  - Portuguese (Brazil) (Leônidas Araújo)
234  - Russian (Aleksandr Melman)
235  - Slovenian (Matej Urbančič)
236  - Spanish (Daniel Mustieles)
237  - Swedish (Luna Jernberg)
238  - Turkish (Emin Tufan Çetin)
239  - Ukrainian (Yuri Chornoivan)
240
241 Overview of changes in GLib 2.73.3, 05-08-2022
242 ==============================================
243
244 * Revitalize G_REGEX_OPTIMIZE flag and use it to enable PCRE JIT compiler (work
245   by Aleksei Rybalkin) (!2817)
246
247 * Fix some regressions due to the PCRE2 port (work
248   by Aleksei Rybalkin, Mamoru TASAKA and Marco Trevisan) (!2814, !2827, #2694,
249   #2699, #2700)
250
251 * Fix a pidfd leak that was introduced in the previous release (work by
252   Christian Hergert) (#2708)
253
254 * Support compilation without a C++ toolchain (work by James Hilliard) (!2822)
255
256 * GDBus: Use namespace-friendly protocol for Linux message buses, and optionally
257   other connections (work by Simon McVittie) (!2832)
258
259 * Fix potential races in multi-threaded signal connections handling (work by
260   Marco Trevisan) (!2823)
261
262 * Add back gio-launch-desktop to redirect stdout/stderr of launched
263   GDesktopAppInfo's to the journal with proper parent (work by Simon McVittie)
264   (!2818, !2819, #2682)
265
266 * Executables that are invoked when installing other software, typically
267   from packaging system triggers, can now be installed into
268   architecture-dependent locations. Unix OS distributors who install
269   GLib for more than one architecture in parallel (multiarch or multilib
270   installations) should consider building with -Dmultiarch=true, installing
271   the bin/glib-compile-schemas and bin/gio-querymodules symbolic links in
272   packages for the primary architecture, and omitting those symlinks from
273   packages for secondary architectures. (work by Simon McVittie) (!2818)
274
275 * Some enumerators introduced in previous releases have been changed, for better
276   introspection results:
277   - G_MARKUP_PARSE_FLAGS_NONE renamed to G_MARKUP_DEFAULT_FLAGS
278   - G_TLS_CERTIFICATE_FLAGS_NONE renamed to G_TLS_CERTIFICATE_NO_FLAGS
279   - G_APPLICATION_FLAGS_NONE was deprecated, use G_APPLICATION_DEFAULT_FLAGS now
280   (work by Emmanuele Bassi) (!2835)
281
282 * gfileinfo: Implement xattr attribute removal (work by madmurphy) (#1187)
283
284 * Add support to --delete option to gio set, to unset a file attribute (work by
285   codeboybebop) (#2588)
286
287 * Improve default value of glib_debug option: G_ENABLE_DEBUG will be defined
288   only if using `--buildtype=debug` or enabled via `-Dglib_debug`, but it
289   won't ever be set if an optimized build is requested (specifically if the
290   optimization level is not `0` or `g`) as it may be the case when using
291   `--buildtype=debugoptimized` (work by Michael Catanzaro) (!2851)
292
293 * Probably the first revision of any GNOME module ever released from Cuba :)
294
295 * Bugs fixed:
296  - #566 support using the PCRE JIT
297  - #1187 xattr add possibility to remove an extended attribute
298  - #2509 g_spawn_*() is not thread-safe on Windows when an environment table is
299    provided
300  - #2542 Flatten line breaks in filenames printed by gio-tool
301  - #2588 gio-tool: -d option to delete attribute
302  - #2682 Launching a GDesktopAppInfo "blames" parent process for its output
303  - #2692 2.73.2: build failure on musl >= 1.2.0
304  - #2694 Recent GRegex changes break vala-language-server compilation
305  - #2699 g_regex_match_all fails on s390x with Fedora glib2-2.73.2-4.fc37
306  - #2700 g_regex_match fails on multiple archs (including x86_64) with Fedora
307  - #2703 Fix GCancellable tests for Windows 64bit
308    glib2-2.73.2-4.fc37
309  - #2705 GResourceFile crashes on `g_file_set_display_name()`
310  - #2708 pidfd leak causes processes to run out of file-descriptors
311  - !2299 GWin32AppInfo: Fix PID reporting in launched signal
312  - !2759 Use atomic exchange operations more
313  - !2812 ci: Setup submodules and subprojects before building on dist
314  - !2813 Add missing extension point register for various settings backends
315  - !2814 gregex: use %s format specifier for localized error message
316  - !2815 giomodule: Use g_once_init_enter/leave to register extensions and load dirs
317  - !2818 gio: Optionally install trigger executables to architecture-specific paths
318  - !2822 meson: fix build without cpp toolchain
319  - !2823 gsignal: Perform signal unlocked handlers block, unblock and disconnect ops
320  - !2825 gioenums: G_IO_ERROR_NO_SUCH_DEVICE is new in 2.74
321  - !2826 GDBus: improve interoperability of SASL handshake
322  - !2827 gregex: Free match info if offset matching recalc failed
323  - !2829 gregex: use g_debug instead of g_warning in case JIT is not available
324  - !2830 goption: Slightly improve the documentation for G_OPTION_FLAG_REVERSE
325  - !2832 GDBus: Use namespace-friendly protocol for Linux message buses, and
326    optionally other connections
327  - !2833 Fix installed-tests failures
328  - !2835 Introduce G_APPLICATION_DEFAULT_FLAGS
329  - !2836 gio-launch-desktop: Only replace fds that point to the Journal
330  - !2851 Improve default value of glib_debug option
331  - !2853 Expose tls-exporter channel binding
332  - !2854 docs: Add --delete option to gio-tool attributes documentation
333
334 * Translation updates:
335  - Abkhazian
336  - Basque
337  - Georgian
338  - Hebrew
339  - Persian
340  - Portuguese
341  - Russian
342  - Turkish
343  - Ukrainian
344
345 * Contributors:
346   Aleksandr Melman, Aleksei Rybalkin, Asier Sarasua Garmendia, Christian Hergert,
347   codeboybebop, Danial Behzadi, Emin Tufan Çetin, Emmanuele Bassi,
348   Giuseppe Scrivano, Hugo Carvalho, James Hilliard, Luca Bacci, madmurphy,
349   Mamoru TASAKA, Marco Trevisan, Matthias Clasen, Michael Catanzaro,
350   Nart Tlisha, Owen Rafferty, Philip Withnall, Ryan Hope, Simon McVittie,
351   Yosef Or Boczko, Yuri Chornoivan, Zurab Kargareteli.
352
353 Overview of changes in GLib 2.73.2, 12-07-2022
354 ==============================================
355
356 * Replace PCRE1 with PCRE2: This is a major change to drop the libpcre1
357   dependency and use libpcre2 instead, while preserving the behaviour and API of
358   GRegex. G_REGEX_OPTIMIZE and G_REGEX_JAVASCRIPT_COMPAT are now deprecated
359   and became a no-op, while other flags are adapted accordingly to the new API
360   (work by Aleksei Rybalkin, Philipp Withnall) (!2529, #1085)
361
362 * Preserve destruction order in gdataset, fixing various crashes during
363   objects disposal (work by Peter Bloomfield) (!2776, #2672, #2676)
364
365 * Require C99 __VA_ARGS__ (work by Emmanuele Bassi) (!2791, #2681)
366
367 * Add NONE or DEFAULT members to most flags types (work by Simon McVittie) (!2576)
368
369 * GFile: Add some missing async APIs (work by Marco Trevisan) (!2717)
370
371 * Improve internal and process documentation (work by Philipp Withnall) (!2763)
372
373 * Add atomic compare-and-exchange APIs returning previous value (work by Marco
374   Trevisan) (!2766)
375
376 * Add G_DEFINE_ENUM_TYPE and G_DEFINE_ENUM_VALUE macros (work by Emmanuele Bassi)
377   (!2788)
378
379 * Add platform-independent G_ALWAYS_INLINE and G_NO_INLINE (work by Marco Trevisan)
380   (!2781)
381
382 * Use waitid() on pidfds rather than a global SIGCHLD handler (work by Philip
383   Withnall) (!2408)
384
385 * Bugs fixed:
386  - #1434 Move tests/* into */tests/
387  - #2216 Chain signal handlers for SIGCHLD
388  - #2597 Crash in g_socket_client_enumerator_callback when proxy resolving
389  - #2659 /maincontext/timeout-once randomly fails
390  - #2681 Set C99's `__VA_ARGS__` as a toolchain hard requirement
391  - #2672 Finalization speedup (commit fa8c7c0da) causes crash in gtk3 demo
392  - #2676 gnome-shell assertion failure with GLib 2.73.1 while
393          g_object_real_dispose() cleans up weak refs
394  - #2687 Regression: in GLib 2.72.3, in gsocketclient/cancellable
395  - !1717 Add lock in _g_get_unix_mount_points() around *fsent() functions
396  - !2408 gmain: Use waitid() on pidfds rather than a global SIGCHLD handler
397  - !2529 gregex: replace pcre1 with pcre2
398  - !2576 Add a NONE or DEFAULT member to most flags-sets
399  - !2667 test: Potentially fix a race in thread-pool-slow test
400  - !2706 Add more SPDX license headers
401  - !2717 gfile (and GAppInfo): Add some missing async APIs and ensure async calls
402          always use them
403  - !2744 fuzzing: Add fuzz test for g_uuid_string_is_valid()
404  - !2748 docs: Add a testing policy
405  - !2749 tests: Various fixes for TAP output of tests
406  - !2755 docs: Sync glib.doap to set of users listed in CODEOWNERS
407  - !2763 docs: Document the release process
408  - !2766 gatomic: Add Compare and Exchange functions that returns the previous value
409  - !2770 Correct documentation of g_atomic_pointer_exchange
410  - !2771 use gvdb as a subproject
411  - !2772 gobject/tests/performance: fix leaks
412  - !2773 gdatetime test: Consistently expect %k to generate a figure space
413  - !2774 tests: Fix type mismatches in new atomic tests when compiling with clang
414  - !2775 gthread: Some code cleanups and fixes
415  - !2776 gdataset: Preserve destruction order
416  - !2779 tests: Fix macOS failures in the file tests
417  - !2781 gmacros: Provide platform-independent G_ALWAYS_INLINE and G_NO_INLINE
418  - !2782 ci: Update CI images to add gdb and pcre2
419  - !2783 _g_get_unix_mount_points(): reduce syscalls inside loop
420  - !2784 Revert "gobject: Use g_datalist_id_remove_multiple"
421  - !2785 tests: Fix incorrect basename comparison in gsubprocess test
422  - !2786 gcontenttype: Fix a potential use-after-free of xdgmime data
423  - !2788 Add G_DEFINE macros for enum and flags types
424  - !2789 gdate: Fix a typo in a code comment
425  - !2790 tests: Skip assert-msg-test.py if gdb is non-functional
426  - !2791 Require C99's __VA_ARGS__
427  - !2792 ci: Ensure git submodules are updated before running macOS CI
428  - !2794 gobject: Don't skip custom dispatch_properties_changed
429  - !2795 gkeyfile: Remove some unreachable code
430  - !2796 gmodule: Improve error handling for invalid .la files
431  - !2797 gio: Add some missing license and copyright headers
432  - !2798 Remove occurrences of unused-results warnings and mark them as errors
433  - !2800 gbacktrace: Handle case of strerror_r returning an int value
434  - !2801 gobject: Small speedup in weak-ref-set
435  - !2802 gobject/tests/custom-dispatch: Add few more tests
436  - !2804 gthreadpool: Ensure all unused threads are really counted as stopped
437  - !2805 gthread-posix: Do not do unguarded and non-atomic assignment of an atomic
438  - !2807 ci: Specify -Wno-overlength-strings on macOS
439          build: Specify -Werror=pointer-sign
440  - !2808 gsocketclient: Fix passing NULL to g_task_get_cancellable()
441  - !2809 gio/tests/desktop-app-info: Wait until the callback is called
442
443 * Translation updates:
444  - Lithuanian
445  - Persian
446  - Portuguese
447  - Russian
448  - Serbian
449  - Ukrainian
450
451 * Contributors:
452   Aleksandr Melman, Aleksei Rybalkin, Aurimas Černius, Danial Behzadi,
453   Emmanuele Bassi, Emmanuel Fleury, ericLemanissier, Hugo Carvalho,
454   Marc-André Lureau, Marco Trevisan (Treviño), Matthias Clasen,
455   Michael Catanzaro, Michael Vetter, Peter Bloomfield, Philip Withnall,
456   Rozhuk Ivan, Simon McVittie, Yuri Chornoivan, Мирослав Николић
457
458 Overview of changes in GLib 2.73.1
459 ==================================
460
461 * Remove the `-Diconv` configure option, as GLib now uses Meson’s built-in logic for
462   finding which iconv implementation to use (work by Eli Schwartz) (!2734)
463
464 * Move gvdb to a Meson subproject and git submodule to avoid duplicating its
465   source (work by Philip Withnall) (!2733)
466
467 * Add `add_test_setup()` in Meson to allow GLib tests to be run under valgrind
468   with correct settings easily, using `meson test --setup=valgrind` (work by
469   Philip Withnall) (!2752)
470
471 * Fix deadlocks when disposing non-cancelled inotify `GFileMonitor`s (work by
472   Benjamin Berg) (#1941)
473
474 * Fix `file://` requests in webkit2gtk due to incorrect xdgmime update (work by
475   Stephen Jung, Michael Catanzaro, Philip Withnall) (#2639)
476
477 * Fix build errors on macOS ≤10.7 for `LOCAL_PEERPID` (work by Christopher Nielsen) (!2707)
478
479 * Add new `g_atomic_int_exchange()` and `g_atomic_pointer_exchange()` APIs (work
480   by Marco Trevisan) (!2726)
481
482 * Add new `GListStore:n-items` property to allow easy binding in UIs (work by
483   Benjamin Otte) (!2738)
484
485 * Performance improvements for GObject construction and destruction (work by
486   Matthias Clasen) (#2661, #2665, #2666, !2678, !2700, !2705, !2712, !2713,
487   !2714, !2715, !2716, !2721, !2722, !2723, !2724, !2725, !2756)
488
489 * Use a numeric space (U+2007) for padding with some `g_date_time_format()`
490   placeholders (work by Maksym Hazevych) (#2655)
491
492 * Fix a slow memory leak in `GSocketClient` when using long-lived `GCancellable`s
493   (work by Jens Georg) (#2670)
494
495 * Bugs fixed:
496  - #1941 disposing a non-cancelled inotify GFileMonitor causes deadlocks
497  - #2639 xdgmime update breaks webkit2gtk file:// requests
498  - #2655 Use the numeric space for the DateTime.format()'s `\%l` specifier
499  - #2656 2.73.0: test suite is failing in `glib:gobject / object` unit
500  - #2661 Speeding up type checks for final types (commit 0ddea2d8e) breaks C++ bindings
501  - #2665 GObject speed up causes gtk3 apps to crash :(
502  - #2666 GObject speedup causes warnings with custom constructors
503  - #2670 Growing memory when using cancellable in g_socket_client_connect_async
504  - !2670 docs: Add a backports policy
505  - !2678 Speed up property lookup
506  - !2681 docs: Add a roadmap policy
507  - !2692 tests: Drop redundant collate test data files
508  - !2694 Restore macOS CI
509  - !2696 Move tests/gobject/testgobject.c to gobject/tests/basics-gobject.c
510  - !2697 Delete tests/gobject/timeloop-closure.c
511  - !2700 gtype: Speed up type checks for final types
512  - !2701 gsocketaddressenumerator: add nullable annotation to the result of `next`
513  - !2702 tests: Fix a potential race condition in pollable test
514  - !2704 tests: Remove various bits of overly-verbose test output
515  - !2705 gobject: Drop an unused quark
516  - !2707 credentials: macos: check for existence of LOCAL_PEERPID
517  - !2710 ci: Try reducing FD soft limit to fix valgrind tests
518  - !2711 tests: Various small test fixes for valgrind
519  - !2712 Improve the GObject performance test
520  - !2713 Simplify g_object_new_with_properties
521  - !2714 Simplify g_object_notify_by_pspec
522  - !2715 Don't inline deprecation warnings
523  - !2716 Don't copy values in g_object_new
524  - !2719 Add nullable annotation to return value of `g_variant_dict_lookup_value`.
525  - !2721 Avoid g_object_ref/unref in some cases
526  - !2722 Avoid g_param_spec_get_redirect_target
527  - !2723 Avoid g_type_class_peek
528  - !2724 gobject: Avoid redundant atomics
529  - !2725 Keep a separate flag for notify handlers
530  - !2726 gatomic: Add APIs to perform atomic int / pointer exchanges
531  - !2729 tests: Reduce number of threads in once test under valgrind
532  - !2730 garray: Fix NULL-termination of GPtrArray copies
533  - !2731 tests: Various static analysis fixes
534  - !2732 gobject: Sink floating pspecs if adding them to a class fails
535  - !2733 build: Move gvdb to a subproject
536  - !2734 meson: simplify iconv/intl lookups using Meson's builtin dependency lookup
537  - !2735 tests: Move GObject performance tests to gobject/tests/performance/
538  - !2738 liststore: add n-items property
539  - !2739 gobject-query: Minor cleanups and add unit tests
540  - !2740 gbinding: Remove some duplicated code for checking property names and improve tests slightly
541  - !2747 gobject: Change GObject notify semantics under static analysis
542  - !2751 glib-unix: Mark GLib.unix_open_pipe fds input array as fixed-size
543  - !2752 build: Use add_test_setup() to allow tests to be run under valgrind
544  - !2753 xdgmime: fix double free
545  - !2754 docs: Add Marco Trevisan as a co-maintainer
546  - !2756 gobject: Fix crash when disposing a GtkAccelGroup
547  - !2758 gio: Don't bundle gtrace in static builds
548  - !2761 gtlscertificate: Hold a ref on the root certificate when building chains
549  - !2762 gsignal: Change signal instance ref semantics under static analysis
550
551 * Translation updates:
552  - Georgian
553  - Hebrew
554
555
556 Overview of changes in GLib 2.73.0
557 ==================================
558
559 * Support nanosecond time precision in file attributes (work by Nitin Wartkar) (#369)
560
561 * Add `g_list_store_find_with_equal_func_full()` API to make `GListStore` more
562   introspection friendly (work by Jason Francis) (#2447)
563
564 * Document some GLib maintenance policies a bit better (work by
565   Nirbheek Chauhan, Philip Withnall) (#2596, !2648, !2649, !2664)
566
567 * Remove FAM/gamin file monitor and `-Dfam` meson option, as libgamin was last
568   released in 2007 and is dead upstream (work by Emmanuele Bassi) (#2605)
569
570 * Fix futex timespec type on 32-bit kernels with 64-bit userspace (#2634)
571
572 * Deprecate g_dtls_client_connection_set_validation_flags() (work by Michael Catanzaro) (#2646)
573
574 * Add support for automatically `NULL`-terminated `GPtrArray`s (work by Thomas Haller) (!1485)
575
576 * A lot of cleanup of warnings and old tests (work by Emmanuel Fleury)
577
578 * Various compilation and test fixes on Windows (work by Marc-André Lureau)
579   (!2499, !2540, !2569, !2582, !2592, !2599, !2600, !2656)
580
581 * Fix detection of broken `poll()` implementation on macOS, broken since the
582   port to Meson (work by Haruka Ma) (!2571)
583
584 * Add additional flags to `g_spawn_async_with_pipes_and_fds()` to make it more
585   easily introspectable (work by Nicola Fontana) (!2632)
586
587 * Initial (incomplete) support for REUSE licensing (work by Philip Withnall) (!2663, !2665, !2666)
588
589 * GObject construction performance improvements (work by Matthias Clasen) (!2672, !2673, !2674, !2677, !2680, !2690)
590
591 * Add `g_idle_add_once()` and `g_timeout_add_once()` for one-shot sources (work by Emmanuele Bassi) (!2684, !2693)
592
593 * Simplify zlib dependency resolution using new built-in Meson support for it (work by Eli Schwartz) (!2685)
594
595 * Bugs fixed:
596  - #369 file copy doesn't preserve nanosecond timestamps
597  - #2312 gdbus-test-codegen tests leak GWeakRef objects
598  - #2447 g_list_store_find_with_equal_func is not binding friendly
599  - #2596 Policy on meson requirement bumping
600  - #2605 Update Android CI to support API level 31
601  - #2614 Remove FAM/gamin file monitor
602  - #2625 g_warning_once fails to build with clang++
603  - #2629 g_file_trash() does not work on directories inside a sandbox
604  - #2633 Recent updates in gstdio.h breaks ABI on 64-bit MSVC builds
605  - #2634 g_cond_wait_until: returning FALSE immediately on mips24
606  - #2640 UWP warnings about extensions and verbs with glib 2.72.1
607  - #2646 Should g_dtls_client_connection_set_validation_flags etc. be deprecated?
608  - #2653 pango fails to build against glib main
609  - !1485 array: add support for g_ptr_array_null_terminated()
610  - !2449 Fix test suite on Windows
611  - !2494 Cleanup warnings split 5
612  - !2495 Cleanup warnings split 6
613  - !2496 Cleanup warnings split 7
614  - !2497 Cleanup warnings split 8
615  - !2498 Cleanup warnings split 9
616  - !2499 Various contenttype-related test fixes on win32
617  - !2521 gobject: Add g_signal_group_connect_closure
618  - !2534 gpowerprofilemonitor: Tweak wording of documentation to make more sense
619  - !2539 Convert tests/gio-test.c to g_test framework
620  - !2540 Various win32 tests skip & fixes
621  - !2541 meson: simplify lookup of python command
622  - !2543 ci: Update the Fedora CI image to Fedora 34
623  - !2545 gutils: Add flags to g_format_size_full() to return only value or only units
624  - !2550 Moving gobject tests from tests/gobjects to gobjects/tests
625  - !2553 Moving tests/refcount/ directory to gobject/tests/
626  - !2556 gdbusconnection: Use g_strv_contains() rather than a home-grown version
627  - !2557 gdbusmethodinvocation: Fix a leak on an early return path
628  - !2558 Move unit test on g_basename() function to glib/tests/fileutils.c
629  - !2559 Move tests/relation-test.c to glib/tests/relation.c
630  - !2560 ci: Update Coverity, mingw and Android CI images to Fedora 34
631  - !2562 tests: Call openpty (if available) without using dlsym
632  - !2563 glib: Format GDateTime ISO8601 years as %C%y
633  - !2564 Move test files on slices from tests/ to glib/tests/
634  - !2565 Revert "meson: simplify lookup of python command"
635  - !2566 tests: Add more tests for GResolver response parsing
636  - !2567 tests: Fix compilation when GLIB_DISABLE_DEPRECATION_WARNINGS is defined
637  - !2569 Various win32 tests fixes
638  - !2571 meson: Set BROKEN_POLL in macOS builds
639  - !2572 gversionmacros: Add version macros for GLib 2.74
640  - !2575 Move tests/spawn-test.c -> glib/tests/spawn-test.c
641  - !2577 build: Post-release version bump to 2.73.0
642  - !2579 Slice test
643  - !2580 Moving slice-threadinit.c test to glib/tests/
644  - !2581 Move tests/unicode-encoding.c to glib/tests/unicode-encoding.c
645  - !2582 glib/win32: fix spawn from GUI regression
646  - !2584 Move msvc warnings in meson.build file
647  - !2585 GUnixFDList: Include only in unix build
648  - !2586 Move test tests/unicode-normalize.c to glib/tests/
649  - !2589 tests: Don’t exit gdbus-method-invocation test early on connection close
650  - !2591 tests: Remove an incorrect assertion in converter-stream
651  - !2592 gio/tests: DuplicateHandle() is inappropriate for SOCKET
652  - !2594 ci: Expire CI artifacts after 1 week
653  - !2597 tests: Make a string comparison on an error string more relaxed
654  - !2598 ci: Combine style-check-diff and check-todos jobs into one
655  - !2599 Various socket-related fixes for win32
656  - !2600 GDate: Fix tests on Windows on certain locales
657  - !2601 Move tests/onceinit.c to glib/tests/onceinit.c
658  - !2602 tests: Ensure NormalizationTest.txt is installed for installed-tests
659  - !2603 tests: Use G_TEST_OPTION_ISOLATE_DIRS in gdbus-peer-object-manager
660  - !2604 tests: Reduce wakeup interval in gdbus-threading
661  - !2606 tests: Fix a minor leak in the unicode-normalize test
662  - !2607 Moving tests/mapping-test.c to glib/test/mapping.c
663  - !2608 Fixes in tests
664  - !2609 Remove tests/timeloop.c and tests/timeloopbasic.c
665  - !2610 Expand tests on gbookmark file API
666  - !2612 docs: Expand G_DEFINE_BOXED_TYPE docs with more detailed example
667  - !2613 gtestutils: Include stdlib.h for exit function
668  - !2614 Add inout annotations for g_iconv
669  - !2615 Meson: Fix gio-windows-2.0 override name
670  - !2617 gmessages: Error if g_log_set_writer_func() is called multiple times
671  - !2619 gversion: Clarify that GLIB_CHECK_VERSION is a >= check
672  - !2621 Fix the annotation of g_utf8_strncpy()
673  - !2624 Expand ghook unit tests for a better coverage and add more checks
674  - !2625 gsocket: Add assertions about socket address sizes for memcpy()
675  - !2626 gio-tool: Fix a minor memory leak when using gio-set with bytestrings
676  - !2627 gopenuriportal: Fix a use-after-free on an error path
677  - !2628 Fix various scan-build warnings
678  - !2630 build: Move lcovrc file to root so it’s picked up by Meson
679  - !2631 Cast to ptrdiff_t instead of subtracting by null
680  - !2632 g_spawn_async_with_pipes_and_fds uses out parameters as inputs
681  - !2633 Fix closure annotations in callbacks' user data parameters
682  - !2634 Move tests/threadpool-test.c to glib/test/thread-pool-slow.c
683  - !2635 Add a couple of assertions to help with static analysis
684  - !2636 ghmac: Fix some signed/unsigned issues with g_checksum_update()
685  - !2637 guri: Preallocate a buffer for building URIs
686  - !2638 fuzzing: Only set the writer function once
687  - !2639 Move tests/thread-test.c to glib/tests/thread-deprecated.c
688  - !2642 meson: Check rres.compiled() before calling rres.returncode()
689  - !2645 Remove unnecessary test tests/mainloop-test.c duplicated in glib/tests/mainloop.c
690  - !2646 Add some more assertions to help scan-build out
691  - !2648 docs: Add a code of conduct document
692  - !2649 Various updates to documentation and misc files in the root directory
693  - !2650 meson: Use range() instead of listing all stable versions
694  - !2651 Replace single quotes in gio/tests/codegen.py
695  - !2652 resources: Hide external data symbol
696  - !2653 build: Remove a few Meson workarounds and FIXMEs
697  - !2654 gtask: use g_strconcat() in g_task_return() only if needed
698  - !2655 Fix typo in gio/meson.build
699  - !2656 gio: various unix/fd-related enablement on win32
700  - !2657 ci: Temporarily allow failure of macOS CI runner until it’s fixed
701  - !2658 tests: Fix a double-close of a GSource in tests
702  - !2659 Cleaning a file left behind by glib/tests/bookmarkfile.c test case
703  - !2660 Move tests/module-test.c to gmodules/tests/
704  - !2663 docs: Initial REUSE licensing support
705  - !2664 docs: Add compiler and toolchain requirements from the wiki
706  - !2665 glib/gio/tests: Add SPDX license headers automatically
707  - !2666 fuzzing: Add copyright/licensing headers to fuzzing files
708  - !2669 Add a Unicode testcase
709  - !2671 Add another Unicode testcase
710  - !2672 gtype: small optimization
711  - !2673 param: Avoid strcmps
712  - !2674 Avoid g_type_peek_value_table
713  - !2675 docs: Use G_PARAM_STATIC_STRINGS in examples and explain it more
714  - !2677 param: Add a value_is_valid vfunc
715  - !2679 Rename user data parameters to user_data
716  - !2680 Speed up object finalization
717  - !2684 Add one-shot idle and timeout functions
718  - !2685 meson: use builtin dependency lookups for zlib
719  - !2686 gitlab-ci: remove meson-junit-report.py conversion
720  - !2687 gitlab-ci: left-over from junit cleanup
721  - !2688 gparamspecs: Remove redundant NULL checks
722  - !2689 build: update sysprof configuration options
723  - !2690 gobject: Keep a count of construct params
724  - !2693 gmain: Refactor idle-once and timeout-once to avoid a closure allocation
725
726 * Translation updates:
727  - Basque
728  - Bulgarian
729  - Catalan
730  - Croatian
731  - Czech
732  - Danish
733  - English (United Kingdom)
734  - French
735  - Galician
736  - German
737  - Hungarian
738  - Indonesian
739  - Italian
740  - Lithuanian
741  - Nepali
742  - Polish
743  - Portuguese
744  - Portuguese (Brazil)
745  - Russian
746  - Slovenian
747  - Spanish
748  - Swedish
749  - Turkish
750  - Ukrainian
751
752
753 Overview of changes in GLib 2.72.0
754 ==================================
755
756 * Bugs fixed:
757  - #2620 g_time_zone_new_offset() assertion failure if offset >= 25 hours
758  - !2538 Various unit test fixes
759  - !2542 fuzzing: Fix test failure with G_DISABLE_ASSERT
760  - !2547 gprintf: Fix a memory leak with an invalid format in g_vasprintf()
761  - !2548 tests: Various fixes to gdbus-auth, gdbus-non-socket, gdbus-connection-flush, spawn-multithreaded tests
762  - !2551 tests: More flaky test fixes to converter-stream and test-printf
763  - !2552 gtlsconnection: fix typo in docs
764
765 * Translation updates:
766  - Czech
767  - French
768  - Friulian
769  - Hebrew
770  - Hungarian
771  - Italian
772  - Kazakh
773  - Polish
774  - Romanian
775  - Serbian
776  - Swedish
777
778
779 Overview of changes in GLib 2.71.3
780 ==================================
781
782 * Fix flaky `GDebugController` tests (!2504)
783
784 * Numerous small documentation updates
785
786 * Bugs fixed:
787  - #517 g_utf8_collate returns 0 on U+C5D0 vs U+CD94
788  - #1929 gdbus-connection-flush: setup_client_cb: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1)
789  - #2589 Hash sign misinterpreted as heading
790  - #2598 g_main_loop_run() may leak a GMainLoop reference
791  - #2609 Clarify documentation for g_log_set_debug_enabled()
792  - #2611 Unspecified options considered present
793  - #2612 side effects of ensure_valid_dict result used in g_return_if_fail macro
794  - #2613 Naked magic literal in gvariant.h
795  - !1707 Add cache to g_unix_mount_points_get()
796  - !2424 Remove old test file tests/testglib.c
797  - !2451 glib: fix buffer overflow in g_canonicalize_filename()
798  - !2466 Various minor fixes for empty argv handling
799  - !2480 Various glib/tests/date fixes on win32
800  - !2485 Various spawn-related test fixes on win32
801  - !2490 Cleanup warnings split 1
802  - !2491 Cleanup warnings split 2
803  - !2492 Cleanup warnings split 3
804  - !2493 Cleanup warnings split 4
805  - !2501 glib-compile-resources: Fix a memory leak of the compiler option
806  - !2502 tests: Merge iochannel-test into io-channel tests in glib directory
807  - !2503 gbacktrace: Fix a set-but-not-used variable
808  - !2504 gdebugcontrollerdbus: Track pending tasks with weak refs
809  - !2505 tests: Stop ignoring test failures on macOS
810  - !2506 gresource-tool: Fix unused-but-set-variable warn with G_DISABLE_ASSERT
811  - !2507 ci: Drop custom dependency builds from installed-tests
812  - !2508 codegen: Reformat parser.py according to black
813  - !2509 tests: Fix various small memory leaks
814  - !2510 gdesktopappinfo: Fix a leak when launching URIs over D-Bus
815  - !2512 doc: Extend a bit G_DECLARE_* documentation example
816  - !2513 gmain: Expand documentation about GSource priorities a little
817  - !2514 ci: Various cleanups and moving Android API 21 and FreeBSD 12 to scheduled run
818  - !2515 gmessages: Fix typo in docs
819  - !2516 glocalfileinfo: Always define _g_stat_mtim_nsec, etc.
820  - !2517 meson: Add schemasdir and giomoduledir to gio dependency
821  - !2518 meson: Set GIO_EXTRA_MODULES in devenv
822  - !2519 gdebugcontrollerdbus: Mark a variable as G_GNUC_UNUSED
823  - !2520 tests: Remove threads from mock-resolver/network-address test
824  - !2523 Add handling of NULL time_t* pointer as argument
825  - !2524 Revert "meson: Add schemasdir and giomoduledir to gio dependency"
826  - !2525 meson: Add schemasdir and giomoduledir to gio dependency
827  - !2526 Remove unused test tests/testgdateparser.c
828  - !2527 Move tests/type-test.c to glib/tests/types.c
829  - !2528 meson: Add PYTHONPATH to load GDB helper module
830  - !2531 gtask: Document that task name is set by g_task_set_source_tag()
831
832 * Translation updates:
833  - Basque
834  - Catalan
835  - Chinese (China)
836  - Croatian
837  - Danish
838  - German
839  - Hebrew
840  - Indonesian
841  - Korean
842  - Lithuanian
843  - Romanian
844  - Russian
845  - Spanish
846  - Turkish
847
848
849 Overview of changes in GLib 2.71.2
850 ==================================
851
852 * Rework `glib-compile-resources` to output compiler-specific files to reduce
853   compilation time; see the new `--compiler` option (work by Emmanuele Bassi) (#2492)
854
855 * Add a cross-platform API for aligned memory allocations (`g_aligned_alloc()`,
856   `g_aligned_alloc0()` and `g_aligned_free()`) (work by Emmanuele Bassi) (#2574)
857
858 * Deprecate `force_posix_threads` configure option, since it was a workaround
859   for static linking on Windows (#2592)
860
861 * Add `GBindingGroup` and `GSignalGroup` APIs (work by Christian Hergert and
862   Garrett Regier) (!2235)
863
864 * Implement FD remapping support for `g_spawn_async_with_pipes_and_fds()` on
865   Windows (work by Marc-André Lureau) (!2458)
866
867 * Add an async file move API, `g_file_move_async()` (work by Lucas Schwiderski) (!2469)
868
869 * Bugs fixed:
870  - #1190 gapplication: Add an org.gtk.Debugging interface
871  - #2329 GApplication CLI parsing of DOUBLE type failure
872  - #2492 glib-compile-resources contains resource data twice and creates large output files
873  - #2563 g_test_build_filename and friends not safe to call after g_test_run() has finished
874  - #2574 Add API for aligned allocations
875  - #2592 Consider deprecating 'force_posix_threads' build option
876  - #2601 Missing <para> tag in generated files
877  - !2235 Add GBindingGroup and GSignalGroup
878  - !2378 gtestutils: Mention the unit used for the test timer
879  - !2404 File tests
880  - !2433 Remove tests/testgdate.c from tests
881  - !2458 Implement fd passing for Windows spawn
882  - !2464 Amend g_bus_get* documentation regarding private connection
883  - !2465 gi: expose some files as variable for gobject-introspection
884  - !2467 ci: Add link to Coverage output at end of coverage job
885  - !2468 gfile: resolve_relative_path isn't nullable
886  - !2469 Implement async file movement
887  - !2471 Fix test on the date format for FreeBSD and MacOS X.
888  - !2472 Fix test date (again)...
889  - !2473 Fix glib/test/date.c for FreeBSD/OpenBSD/MacOS X
890  - !2476 Add G_UNICODE_SCRIPT_MATH to GUnicodeScript
891  - !2477 Improve coverage of two digit years in gdate tests
892  - !2481 Fix glib/tests/fileutils on win32
893  - !2482 Fix unit test on date format '%Z' which is too versatile to be trustable
894  - !2483 Fix glib/tests/gdatetime on win32
895  - !2484 tests: Use g_test_skip() to skip a test on Windows
896  - !2487 gconstructor.h: Visual Studio: Only include gslist.h if needed
897  - !2488 Fix some problems with g_aligned_alloc() tests
898
899 * Translation updates:
900  - Basque
901  - Catalan
902  - Chinese (China)
903  - Czech
904  - French
905  - Galician
906  - Indonesian
907  - Japanese
908  - Polish
909  - Portuguese
910  - Portuguese (Brazil)
911  - Russian
912  - Slovenian
913  - Spanish
914  - Ukrainian
915
916
917 Overview of changes in GLib 2.71.1
918 ==================================
919
920 * Basic support for static builds on Windows (work by Loïc Le Page,
921   Marc-André Lureau, with contributions from Xavier Claessens, Nirbheek Chauhan,
922   Charlie Barto, Luca Bacci, Amos Wenger) (#692, #2585, !2442)
923
924 * Add `GDebugController` and a D-Bus implementation which exposes whether
925   debug output is enabled in a process using the `org.gtk.Debugging` D-Bus
926   interface (work by Philip Withnall) (#1190)
927
928 * Support for `AF_UNIX` sockets on Windows 10 (and later) (work by Marc-André Lureau) (#2487)
929
930 * Several important fixes to GDBus message and GVariant parsing of invalid data (work by Sebastian Wilhelmi) (#2557, #2572)
931
932 * Fix potential data loss due to missing fsync when saving files on btrfs (work by Sebastian Keller) (!2425)
933
934 * Fix potential buffer overflows in `garray.c` for very large `GArray`s and `GPtrArray`s (work by Tobias Stoeckmann) (#2578)
935
936 * Fix FDs in gspawn not being closed and causing process hangs if `close_range()` fails unexpectedly (work by Dan Nicholson) (#2580)
937
938 * Fix `g_find_program_in_path()` not returning an absolute path if `$PATH` is relative (work by Christoph Niethammer) (#2586)
939
940 * Add support for loading PKCS#12 encrypted files in `GTlsCertificate` (work by Patrick Griffis) (!2239)
941
942 * A number of improvements to unit tests (work by Emmanuel Fleury, Charlie Barto) (!2399, !2400, !2402, !2403, !2428, !2431, !2432, !2434)
943
944 * Support `LOCAL_PEERPID` on macOS, giving partial support for PIDs in
945   `GCredentials` on that platform (work by Ignacio Casal Quinteiro) (!2362)
946
947 * Add `g_get_user_state_dir()` to support `XDG_STATE_HOME` (work by Sophie Herold) (!2395)
948
949 * Add `g_hash_table_new_similar()` to copy a hash table and its hash/equal functions without its data (work by Jonas Ådahl) (!2405)
950
951 * Support D-Bus client authentication with `EXTERNAL` on Windows (work by Marc-André Lureau) (!2429)
952
953 * Add a reStructuredText documentation generator to `gdbus-codegen` (work by Emmanuele Bassi) (!2448)
954
955 * Add a Windows implementation of `GMemoryMonitor` (work by Marc-André Lureau) (!2452)
956
957 * Bugs fixed:
958  - #692 meta: Fix static build on Windows
959  - #1190 gapplication: Add an org.gtk.Debugging interface
960  - #2487 Add support for native unix domain sockets on WIN32 to GLib.Socket and related classes
961  - #2550 possible GDateTime issue with localtime on Illumos/Solaris
962  - #2557 Arrays of zero-element tuples with non-zero length lead to infinite loops in g_dbus_message_new_from_blob
963  - #2559 2.71.0: compile and link time warnings
964  - #2560 Link error xdgmime.c: unresolved external symbol S_ISREG when building with VS2022
965  - #2564 Hangul Jamo Extended-B should be 0-width
966  - #2565 Build glib-2.71.0 failed in Windows using MSYS2-MINGW64
967  - #2571 Cross build error "undefined reference to `_g_binary_test1_resource_data'" when building tests for Windows on openSUSE Leap
968  - #2572 Check for GVariant recursion depth before recursing
969  - #2578 buffer overflows in garray.c
970  - #2579 Outdated paths in INSTALL.in
971  - #2580 gspawn doesn't set CLOEXEC if close_range fails unexpectedly
972  - #2582 glib 2.71.0 muslc - build error missing sentinel in function call
973  - #2585 Static link issue on Windows due to resource files being linked in twice
974  - #2586 g_find_program_in_path not returning an absolute path
975  - !2239 gtlscertificate: Add ability to load PKCS#12 encrypted files
976  - !2362 credentials: support the local peerpid on macos
977  - !2384 meson: Fix linking with static library in Windows
978  - !2395 utils: Add XDG_STATE_HOME support
979  - !2399 Move tests/env-test.c into glib/tests/environment.c
980  - !2400 Prevent gtest tests from popping up dialog boxes
981  - !2402 Improving glib/tests/environment.c
982  - !2403 Improve test coverage of glib/tests/asyncqueue.c
983  - !2405 ghash: Add g_hash_table_new_similar
984  - !2407 tests: Fix environment test on FreeBSD
985  - !2411 annotate `g_content_type_guess` parameter as filename
986  - !2412 paramspec: fix unref annotation
987  - !2413 Use meson dependency to link against apple framework
988  - !2414 docs: Improve docs for gdbusutils.c
989  - !2417 gtestutils: Fix minor typos in the g_test_get_filename() docs
990  - !2423 Make clear in doc that signals are emitted synchroniously
991  - !2425 gfileutils: Remove outdated BTRFS fsync optimization from set_contents
992  - !2426 gdbus-codegen: Fix a typo in a comment
993  - !2428 Merge tests/gobject/gvalue-test.c with gobject/tests/value.c
994  - !2429 gdbus: make client work with EXTERNAL on Windows
995  - !2431 Merge tests/gobject/paramspec-test.c into gobject/tests/param.c
996  - !2432 Merge test/unicode-caseconv.c into glib/tests/unicode.c
997  - !2434 Remove a disabled test case that was covered by glib/tests/collate.c
998  - !2440 Improve g_ascii_formatd docs and preconditions
999  - !2441 Reduce the amount of compile-time warnings
1000  - !2442 Fix tests with static build on Windows
1001  - !2447 giowin32: use gint64 and _lseeki64
1002  - !2448 Add reStructuredText documentation generator for gdbus-codegen
1003  - !2452 gio/win32: add GMemoryMonitorWin32
1004  - !2453 Add `(array length)` annotation to `g_tls_certificate_new_from_pkcs12()`
1005  - !2454 gdbusmessage, gvariant and garray fixes
1006  - !2456 tests: Pass --internal and -z noexecstack to glib-compile-resources tests
1007  - !2459 gio: add missing zlib dependency in gio-windows-2.0.pc
1008  - !2461 Fix memory leak in gio/gdbusauthmechanismsha1.c
1009  - !2463 Revert "Merge branch 'fix-windows-pc' into 'main'"
1010
1011 * Translation updates:
1012  - Catalan
1013  - Chinese (China)
1014  - Czech
1015  - Galician
1016  - Hebrew
1017  - Indonesian
1018  - Lithuanian
1019  - Polish
1020  - Portuguese
1021  - Portuguese (Brazil)
1022  - Russian
1023  - Spanish
1024  - Ukrainian
1025
1026
1027 Overview of changes in GLib 2.71.0
1028 ==================================
1029
1030 * Fix network changes not being signalled from NetworkManager (work by
1031   Julian Andres Klode) (#2505)
1032
1033 * Fix build when building with --fatal-meson-warnings (work by Eli Schwartz) (!2304)
1034
1035 * Fix use of the default log writer with journald namespaces (diagnosis by Ilya Basin) (#2530)
1036
1037 * Fix hang in `dbus-daemon` under `GTestDBus` when `G_MESSAGES_DEBUG=all` is set (work by Marco Trevisan) (#2537)
1038
1039 * Speed up `g_canonicalize_filename()` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2541)
1040
1041 * Fix URI for pcre subproject as it’s moved upstream (work by Albert Astals Cid) (!2324)
1042
1043 * Fix storing GSettings dictionaries on macOS (work by Maurice) (#2527)
1044
1045 * Speed up ‘remove dot segments’ algorithm in `GUri` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi) (#2526)
1046
1047 * Fix infinite loops in D-Bus message parsing for truncated inputs (work by Sebastian Wilhelmi) (#2528)
1048
1049 * Improve correctness of version information returned by `g_get_os_info()` for Windows 10/Server 2019+ (work by Chun-wei Fan) (#2443)
1050
1051 * Various fixes to GWeakRef cleanup (#865, #2390) and toggle refs (#2394) (work by Marco Trevisan)
1052
1053 * Add `G_DBUS_PROXY_FLAGS_NO_MATCH_RULE` flag for disabling match rules when creating a `GDBusProxy` (#1109)
1054
1055 * Fix FD remapping in `g_spawn_async_with_pipes_and_fds()` with certain values of target FDs (#2503, #2506) (work by Michael Catanzaro)
1056
1057 * Make `GDBusProxy::g-signal` signal detailed with D-Bus signal names (#2536) (work by Aleksandr Mezin)
1058
1059 * Emit `launched` signal for D-Bus activation of apps with `GDesktopAppInfo` (!2227) (work by Guido Günther)
1060
1061 * Fix IDs of `GDesktopAppInfo`s which are constructed from a `.desktop` file in a subdirectory (!2283) (work by Ivalyo Dimitrov)
1062
1063 * Add `--interactive` option to `gdbus call` (!2329)
1064
1065 * Add `G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP` to `GSubprocess` (!2333) (work by Hristo Venev)
1066
1067 * Bugs fixed:
1068  - #475 Add g_alloca0() and g_newa0()
1069  - #847 g_set_prgname() should be thread-safe
1070  - #865 GWeakRefs not cleared by g_object_run_dispose()
1071  - #1109 [PATCH] GDBusProxy: add G_DBUS_PROXY_FLAGS_NO_MATCH_RULE flag
1072  - #1231 gobject declare macros cause alignment warnings on armhf/armhf/mipsel
1073  - #1331 GArray with 10 million items overflows index arithmetic
1074  - #1735 Get back to a -werror build
1075  - #1781 Sort output of gsettings command-line tool
1076  - #2310 contenttype test leaks xdg-mime internal data
1077  - #2390 GWeakRef's aren't cleared again on finalization (and not fully thread-safe)
1078  - #2394 Toggle refs notification may not handle multiple threads correctly
1079  - #2400 Use-after-free in invoke_set_property_in_idle_cb()
1080  - #2401 GDBus runtime warning from remove_interfaces()
1081  - #2404 GTask: clarify that GTask assumes are running mainloop
1082  - #2426 GSettings delayed apply generates runtime warnings
1083  - #2443 Add Windows 11 support to get_windows_version()
1084  - #2468 GSequence pessimizes itself and slows down
1085  - #2471 g_output_stream_write_all_async prints error when count == 0 and content == NULL
1086  - #2488 Unix password unit test fails on FreeBSD 13
1087  - #2489 Add a (diagnostic) warning for finalized objects with floating refs
1088  - #2490 Upgrade to Unicode Character Database 14.0
1089  - #2496 Wrong parameter type for g_simple_proxy_resolver_set_ignore_hosts
1090  - #2498 GIR: Remove non-existing IOModule methods `load`, `unload`
1091  - #2500 Able to export object manager and object on root path, but not other paths
1092  - #2503 gspawn.c may clobber target fds
1093  - #2505 g_network_monitor_nm never updates on connection change (listens for signal on wrong dbus interface)
1094  - #2506 gspawn.c fails to close child_err_report_fd if it is duped to avoid conflation with one of the target_fds
1095  - #2507 Strange behavior of GFileEnumerator with GVfs locations
1096  - #2514 test suite failure in glib/tests/gdatetime.c if German locale de_DE.ISO-8859-1 is available
1097  - #2518 Misleading message when privileged program starts G_BUS_TYPE_SESSION
1098  - #2520 g_date_new_ functions return NULL on invalid input
1099  - #2523 MacOS generates warnings for g_size_checked_mul()
1100  - #2526 fuzz_uri_parse failure
1101  - #2527 Error storing dictionary with string keys as GSettings on macOS
1102  - #2528 g_dbus_message_new_from_blob goes into infinite loop for certain inputs
1103  - #2529 load_user_special_dirs returns NULL in certain cases
1104  - #2530 g_log_writer_is_journald fails if a Journal Namespace is used
1105  - #2536 GDBusProxy: make g-signal detailed
1106  - #2537 GTestDBus dbus daemon causes child process to hang when using verbose output
1107  - #2541 g_canonicalize_filename should work in linear time complexity
1108  - #2553 Consider not depending on strtoull_l and strtoll_l as much
1109  - !1960 Add g_main_context_new_with_flags() and ownerless polling option
1110  - !1968 gspawn: Implement fd remapping for posix_spawn codepath, and fix file descriptor conflation issues
1111  - !1991 Keyfile parsing performance improvements
1112  - !2029 Updating xdgmime
1113  - !2064 gobject: Cleanup GWeakRef locations on object finalization
1114  - !2114 Coerce type cast to void* because it causes compiler warnings
1115  - !2191 docs: Add .editorconfig file
1116  - !2214 Document potential footgun with GTlsCertificateFlags and deprecate certain usages
1117  - !2223 Better detection of the cleanup attribute.
1118  - !2227 gdesktopappinfo: Emit "launched" signal for D-Bus activation too
1119  - !2242 gsettings: Add various missing (nullable) or (not nullable) annotations
1120  - !2244 gutils: Avoid segfault in g_get_user_database_entry
1121  - !2245 gdesktopappinfo: Do not call xterm when it does not exist, inform the caller the launch failed
1122  - !2246 gobject: Document it’s unsafe to call g_object_ref() from GWeakNotify
1123  - !2249 Add version macros for GLib 2.72 and bump version to 2.71.0
1124  - !2251 GString: Bump minimum size
1125  - !2254 Small optimization for g_object_set
1126  - !2255 gobject: Clarify behaviour of adding weak refs during disposal
1127  - !2257 Fix documentation for g_dbus_object_manager_get_object().
1128  - !2260 GWin32AppInfo: Do not assert about successful open'ing of registry keys
1129  - !2261 Provide built DLLs as Gitlab-CI artifacts
1130  - !2266 fix uninitial variable
1131  - !2273 Fix more (Windows) warnings
1132  - !2277 Revert "Don't compile some unused functions in gio/xdgmime/"
1133  - !2283 GDesktopAppInfo: Try to always correctly set id
1134  - !2284 update the proxy-libintl subproject to the latest release
1135  - !2285 fix issues found by svace static code analyzer
1136  - !2286 meson: fix warnings for extract_all_objects function
1137  - !2287 ci: Update CI images to latest stable Debian and Fedora, bump Meson dependency to 0.52
1138  - !2288 Update g_source_remove doc comment: the function doesn't always return TRUE
1139  - !2289 Update g_source_remove documentation for the returned value
1140  - !2290 mkdir path specified by XDG_RUNTIME_DIR
1141  - !2292 Fix cast from pointer to integer of different size warning in gio/gwin32appinfo.c
1142  - !2293 glib-private: Fix MSVC build with AddressSanitizer
1143  - !2294 Fix windows warnings
1144  - !2295 gutf8: Document that out args from g_utf16_to_utf8() are non-negative
1145  - !2303 Fix more windows warnings
1146  - !2305 gio: document GFile API when relative path is absolute
1147  - !2306 gunixmounts: Drop references to pamconsole mount option
1148  - !2308 gthread-win32: Remove an unnecessary volatile qualifier
1149  - !2309 Rename libpcre.wrap to pcre.wrap
1150  - !2310 tests: Fix a typo in a test message in gdatetime.c
1151  - !2311 Fix always true comparison warning in glib/garray.c
1152  - !2319 docs: Fix the GListModel description
1153  - !2323 Fix final warnings in Windows code
1154  - !2324 Fix link to pcre-8.37.tar.bz2
1155  - !2326 Improve some documentation related to GTlsDatabase
1156  - !2328 gutf8: add string length check when ending character offset is -1
1157  - !2329 gdbus: Add --interactive option to `gdbus call`
1158  - !2332 Changed gendered terms to be gender-neutral
1159  - !2333 gsubprocess: Add G_SUBPROCESS_FLAGS_SEARCH_PATH_FROM_ENVP
1160  - !2336 tests: Drop arbitrary and flaky waits from actions tests
1161  - !2339 ci: Bump Meson version to 0.60.1 on macOS
1162  - !2341 tests: Wait for gdbus-testserver to die when killing it
1163  - !2342 tests: Reformat mkenums.py slightly to make run-black.sh happy
1164  - !2345 gutils: Disable some dead code on macOS
1165  - !2347 Removing tests/asyncqueue-test.c from tests/
1166  - !2348 gio/tests/codegen.py: bump timeout to 100 seconds
1167  - !2349 Annotate `g_getenv()` and `g_environ_getenv()` return value as `nullable`
1168  - !2352 tests: Fix a flaky wait in converter-stream
1169  - !2353 Address some oddities around GResolver::reload
1170  - !2357 ci: Upgrade to clang-format-11 from clang-format-7
1171  - !2360 meson: specify when commands need to succeed in run_command
1172  - !2364 tests: Allow `objcopy --help` to fail, because it fails on FreeBSD
1173  - !2365 Add vfunc checks in gappinfo.c
1174  - !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()
1175  - !2370 gqsort: Move test to glib/tests/
1176  - !2371 Freeze notification during object destruction
1177  - !2372 docs: Improve GVariant docs
1178  - !2373 glib.supp: Suppress one-time allocation in g_get_home_dir()
1179  - !2376 GSource: move test to glib/tests/
1180  - !2379 Merging tests/bit-test.c into glib/tests/utils.c
1181  - !2381 tests: Test the function forms of g_bit_*() APIs too
1182  - !2382 gfileutils: Correctly reset start value when canonicalising paths
1183  - !2385 gfileutils: Fix transfer annotation and whitespace issues
1184  - !2386 docs: Add API documentation links to the README
1185  - !2387 docs: Update the README a little
1186  - !2390 Merging tests/child-test.c into glib/tests/spawn-multithreaded.c
1187  - !2391 Removing redundant cxx test tests/cxx-test.cpp
1188  - !2392 Move tests/completion-test.c to glib/tests/completion.c
1189  - !2393 Removing unnecessary test on gdatetime.c
1190  - !2396 fuzzing: Add a fuzz test for parsing DNS records
1191  - !2397 Moving tests/dirname-test.c to glib/tests/fileutils.c
1192  - !2398 fix /list/position test
1193
1194 * Translation updates:
1195  - Croatian
1196  - Friulian
1197  - Galician
1198  - Hebrew
1199  - Indonesian
1200  - Italian
1201  - Latvian
1202  - Lithuanian
1203  - Occitan (post 1500)
1204  - Persian
1205  - Polish
1206  - Portuguese
1207  - Portuguese (Brazil)
1208  - Romanian
1209  - Russian
1210  - Serbian
1211  - Slovak
1212  - Spanish
1213  - Swedish
1214  - Ukrainian
1215
1216
1217 Overview of changes in GLib 2.70.0
1218 ==================================
1219
1220 * Bugs fixed:
1221  - !2248 ci: Replace FreeBSD 11 with FreeBSD 13
1222
1223 * Translation updates:
1224  - Croatian
1225  - Danish
1226  - English (United Kingdom)
1227  - French
1228  - German
1229  - Hungarian
1230  - Polish
1231  - Swedish
1232  - Turkish
1233
1234
1235 Overview of changes in GLib 2.69.3
1236 ==================================
1237
1238 * Bugs fixed:
1239  - #2425 g_settings_schema_key_range_check() misbehaves for int versus bool
1240  - #2472 Compiling anything with GCC <4.6 spews deprecation warnings
1241  - #2477 `g_invoke_closure` bindings API break.
1242  - #2481 GPowerProfileMonitorPortal does not notice initial power-saver-enabled status
1243  - !2219 doc: Explicitly said, that no null term. is needed
1244  - !2238 ci: Use C.UTF-8 locale on FreeBSD 12
1245  - !2240 gio: Fix conditions in memory-monitor test
1246
1247 * Translation updates:
1248  - Basque
1249  - Catalan
1250  - Chinese (China)
1251  - Galician
1252  - Kazakh
1253  - Korean
1254  - Lithuanian
1255  - Romanian
1256
1257
1258 Overview of changes in GLib 2.69.2
1259 ==================================
1260
1261 * The `DBUS_SESSION_BUS_ADDRESS` environment variable is once more not used if
1262   the process is `AT_SECURE` (setuid/setgid/setcap); this change was previously
1263   applied and then reverted because it broke gnome-keyring (#2316)
1264
1265 * Add `g_test_fail_printf()`, `g_test_skip_printf()`,
1266   `g_test_incomplete_printf()` helper functions for printing messages when tests
1267   end prematurely (work by Simon McVittie) (!2215)
1268
1269 * Add portal implementation of `GPowerProfileMonitor` (work by
1270   Bastien Nocera) (!2222)
1271
1272 * Bugs fixed:
1273  - #2316 Re-harden DBUS_SESSION_BUS_ADDRESS for AT_SECURE processes in GLib 2.70
1274  - #2343 Document explicitly refcount mgmt of source-object during GAsyncReadyCallbacks
1275  - #2454 Read past the end of buffer in g_win32_package_parser_enum_packages
1276  - #2456 Frequent test failure on FreeBSD: glib/tests/thread-pool.c:197:test_thread_pool_full: 'free_func_called' should be TRUE
1277  - !2157 tests: Add missing wakeup calls to gdbus-names test
1278  - !2165 docs: Mention the stable/unstable support version in README.md
1279  - !2211 Improve documentation of various TLS stuff
1280  - !2215 gtestutils: Add more convenience functions
1281  - !2216 tests: Fix error handling when testing gtestutils
1282  - !2222 gio: Add portal version of GPowerProfileMonitor
1283  - !2224 Docs: Mention that G_VA_COPY() must be followed by `va_end()`
1284  - !2225 build: Fix implicit declaration of function errors
1285  - !2226 Annotate the GString constructors
1286
1287 * Translation updates:
1288  - Czech
1289  - Hebrew
1290  - Slovenian
1291  - Spanish
1292  - Swedish
1293
1294
1295 Overview of changes in GLib 2.69.1
1296 ==================================
1297
1298 * Support categories in desktop notifications (`GNotification`)
1299   (work by Guido Günther) (#2446)
1300
1301 * Add `GPowerProfileMonitor` for monitoring when to use less power (due to being
1302   on battery power, electricity being expensive or high-carbon, etc.)
1303   (work by Patrick Griffis, Bastien Nocera) (#2444)
1304
1305 * Allow static names to be set for `GSource`s to avoid unnecessary string copies
1306   (work by Matthias Clasen) (!2196)
1307
1308 * Bugs fixed:
1309  - #203 API: need g_module_open() variant with GError
1310  - #2058 win32: GPrivate can leak some objects
1311  - #2321 Add a GTypeFlag for final types
1312  - #2429 safe_fdwalk/safe_closefrom for Solaris 11.3/11.4
1313  - #2439 gio trash doesn't recognize existing trash directory in non-fs-root mount
1314  - #2446 Support `categories` for notifications
1315  - #2452 g_string_replace() loops 2**32 times when replacing empty string
1316  - !2177 gio/tests/g-file-info: don't assume million-in-one events don't happen
1317  - !2178 Clarify GValue documentation
1318  - !2179 Update GValue doc: How to use GBoxed with GValue
1319  - !2180 correctly use 3 parameters for close_range
1320  - !2181 gclosure: Fix the invoke() return_value annotation
1321  - !2182 glocalfileinfo: Fix usec/nsec confusion with filetimes on Windows
1322  - !2184 gspawn: Use CLOSE_RANGE_CLOEXEC if available
1323  - !2188 g_boxed_type_register_static, G_DEFINE_BOXED_TYPE: added correlating information
1324  - !2192 Fix more warnings
1325  - !2193 glib.supp: Expand match kinds for g_get_language_names() suppressions
1326  - !2194 Add GPowerProfileMonitor
1327  - !2195 Fix some test suite memory leaks
1328  - !2196 mainloop: Add g_source_set_static_name
1329  - !2197 GResource compiler: Prefix static [con|de]strutors with c_name
1330  - !2198 Port internal uses to use g_source_set_static_name()
1331  - !2200 Fix doc stanzas for GDataInputStream properties
1332  - !2201 Fix a Unicode typo
1333  - !2202 Document the stance on ID-based mainloop APIs
1334  - !2204 tests: Add a test for Unicode normalization
1335  - !2205 GWin32RegistryKey / GWin32AppInfo registry watch fixes
1336  - !2206 Adapt documentation to gi-docgen
1337  - !2210 GWin32AppInfo: Fix missing initialization
1338
1339 * Translation updates:
1340  - Indonesian
1341  - Portuguese
1342  - Portuguese (Brazil)
1343  - Russian
1344  - Ukrainian
1345
1346
1347 Overview of changes in GLib 2.69.0
1348 ==================================
1349
1350 * Fix a crash in `GKeyFile` when parsing a file which contains translations
1351   using a `GKeyFile` instance which has loaded another file previously (#2361)
1352
1353 * Pin GIO DLL in memory on Windows (!2016)
1354
1355 * Fix building third-party projects against GLib on CentOS 7 (work by
1356   Ignacio Casal Quinteiro) (#2387)
1357
1358 * Add `g_thread_pool_new_full()` API to allow queued `GThreadPool` data to be
1359   freed if the pool is freed early (work by Nitin Wartkar) (#121)
1360
1361 * Ensure `dlerror()` is used with locking as it’s not thread-safe in some libc
1362   implementations (#399)
1363
1364 * Add `g_dbus_is_error_name()` and `g_dbus_is_interface_name()` convenience
1365   functions (work by Nitin Wartkar) (#402)
1366
1367 * Drop internal libpcre copy in favour of a subproject from wrapdb (#962, #642)
1368
1369 * Add `g_prefix_error_literal()` helper function (work by Emmanuel Fleury,
1370   building on work by Dan Williams) (#663)
1371
1372 * Add `g_bytes_get_region()` to get data from a `GBytes` with range checks
1373   (work by Nitin Wartkar, building on work by Allison Karlitskaya) (#1098)
1374
1375 * Add `g_object_take_ref()` to sink a floating ref (work by Nitin Wartkar,
1376   building on work by Allison Karlitskaya) (#1112)
1377
1378 * Optimise grefcount atomic operations (work by Nishal Kulkarni) (#1583)
1379
1380 * Fix resolving child GSettings schemas from the parent’s schema source (work
1381   by Christian Persch) (#1884)
1382
1383 * Fix `g_date_time_format()` return value encoding if `LC_TIME` is not a UTF-8
1384   locale but other locale settings are (work by Frederic Martinsons) (#2055)
1385
1386 * Set app name in freedesktop.org notifications with `GNotification` (work
1387   by André Apitzsch) (#2069)
1388
1389 * Significantly improve retrieval of mount data on Windows (work by LRN based
1390   on initial analysis by Jehan Pagès) (#2096)
1391
1392 * Add `g_file_info_get_(access|creation)_date_time()` accessors (work
1393   by Abanoub Ghadban) (#2281)
1394
1395 * Always apply the remove_dot_segments algorithm to URIs in `g_uri_parse()`;
1396   previously it was only applied to relative URIs (work
1397   by Carlos Garcia Campos) (#2342)
1398
1399 * Rename git `master` branch to `main` (#2348)
1400
1401 * Various macro and version check cleanup (work by Gaël Bonithon,
1402   Robin Verdenal-Tallieux, Nishal Kulkarni) (#2376, #2388, #2389)
1403
1404 * Add a `GTlsConnectionClass.get_negotiated_protocol` vfunc so that
1405   `g_tls_connection_get_negotiated_protocol()` can be made thread-safe
1406   (work by Michael Catanzaro) (#2393)
1407
1408 * Improve guess about whether a Windows process is a console process
1409   (work by Princeton Ferro with input from LRN) (!1662)
1410
1411 * Add `g_steal_fd()` function (work by Simon McVittie) (!1966)
1412
1413 * Add `g_spawn_check_wait_status()` and distinguish more carefully between
1414   wait status and exit status in the `GSpawn` API (work by Simon McVittie) (!1967)
1415
1416 * Document GLib’s security policy; see
1417   https://gitlab.gnome.org/GNOME/glib/-/blob/main/SECURITY.md (!1985)
1418
1419 * Add `g_tree_remove_all()` (work by Lighto-Ku) (!1986)
1420
1421 * Simplify exception handling on Windows to eliminate risk of it failing due
1422   to prior heap corruption (work by LRN) (!2031)
1423
1424 * Fix handling EOF when reading from SOCKS5 proxy stream (work
1425   by Benjamin Berg) (!2032)
1426
1427 * Unset the registered state of a `GApplication` after it has shut down (work
1428   by Marco Trevisan) (!2056)
1429
1430 * Support `GPattern` as a boxed type (work by Marco Trevisan) (!2066)
1431
1432 * Add `g_tls_connection_get_protocol_version()` and
1433   `g_tls_connection_get_ciphersuite_name()` to get TLS connection information
1434   (work by Michael Catanzaro) (!2077)
1435
1436 * Make TLS private key properties readable in `GTlsCertificate` (work
1437   by Michael Catanzaro) (!2087)
1438
1439 * Fix detection of static libintl when building on macOS (work
1440   by Jonas Hahnfeld) (!2109)
1441
1442 * Add `g_strv_builder_addv()` and `g_strv_builder_add_many()` to the
1443   `GStrvBuilder` API (work by Alexandros Theodotou) (!2112)
1444
1445 * Add `not-valid-before`, `not-valid-after`, `subject-name`, `issuer-name`,
1446   `dns-names`, `ip-addresses` properties to `GTlsCertificate`
1447   (work by Ross Wollman) (!2113, !2142)
1448
1449 * Add PKCS#11 flags to `GTlsPasswordFlags` (work by Patrick Griffis) (!2126)
1450
1451 * Bugs fixed:
1452  - #121 GThreadPool and the ability to free data waiting to be handled
1453  - #229 g_match_info_fetch_named not return empty string as expected
1454  - #310 ref doc doesn't talk about "helper getters" optimization in g_file_info.c
1455  - #399 dlerror() not thread-safe in all libc, making gmodule-dl.c's fetch_dlerror fail sometimes
1456  - #402 please consider: #define g_dbus_is_error_name(x) g_dbus_is_interface_name (x)
1457  - #626 Add documentation example for GArray and g_array_set_clear_func()
1458  - #642 update to pcre 8.35+
1459  - #663 [patch] add g_prefix_error_literal()
1460  - #793 Potentially confusing error message when object doesn't exist
1461  - #817 gobject: Allow passing %NULL for @data in g_object_remove_toggle_ref
1462  - #962 drop embedded pcre copy
1463  - #1036 gdbusproxy stops tracking if dbus service restarts
1464  - #1098 GBytes: add range-checked pointer getter
1465  - #1112 GObject: add g_object_take_ref()
1466  - #1583 Optimise gatomicrefcount operations
1467  - #1864 Somewhat misleading documentation of GSourceFuncs
1468  - #1884 `g_settings_get_child` not compatible with `g_settings_schema_source_new_from_directory`
1469  - #2011 Add additional unit tests for D-Bus name watching
1470  - #2055 g_date_time_format() does not return UTF-8 if LC_TIME is not UTF8 but other locale settings are UTF-8
1471  - #2069 FreedesktopNotification fails to set app_name
1472  - #2096 SHGetFileInfoW() is not reliable (time-wise)
1473  - #2281 Add g_file_info_get_(access|creation)_date_time()
1474  - #2300 Crash on Windows MSVC build around gio
1475  - #2311 testfilemonitor test leaks ip_watched_file_t struct
1476  - #2340 GIO tests fail to build with clang-cl
1477  - #2342 g_uri_parse doesn't apply the remove_dot_segments algorithm to the path
1478  - #2348 Investigate renaming master git branch to main
1479  - #2352 RUN_FIRST | RUN_CLEANUP signals with a default handler ignore return values from user handlers
1480  - #2359 GLib 2.68.0: gio-querymodules segfaults on Windows
1481  - #2361 g_key_file_load_from_file segfaults on "Key[*]="like lines
1482  - #2363 g_newa() doesn’t check for multiplication overflow
1483  - #2368 g_task_run_in_thread () limits are not clear
1484  - #2369 glocalfile: Add native exfat magic number to  filesystem list
1485  - #2376 GLIB_VERSION_MAX_ALLOWED < 2.60 does not warn when using G_GNUC_FALLTHROUGH
1486  - #2387 json-glib does not build with glib 2.68.1
1487  - #2388 Pixman compilation error due to glib
1488  - #2389 Use G_GNUC_CHECK_VERSION to check the GNUC version
1489  - #2393 g_tls_connection_get_negotiated_protocol() is not threadsafe
1490  - #2397 Slow to list device in windows
1491  - #2399 Change spelling of ‘serialise’ to ‘serialize’ in documentation
1492  - #2405 Mention that GNotification requires an installed .desktop file to work
1493  - #2409 Project crashes when executing g_application_mark_busy
1494  - #2414 Devhelp: Glib Reference Manual/Glib Overview/Running Glib Applications formatting issue.
1495  - #2416 certificate: g_tls_certificate_new_from_pem invalid read on non null terminated data
1496  - #2417 GFile: `g_file_replace_contents()` reports `G_IO_ERROR_WRONG_ETAG` when saving from a symlink
1497  - #2418 gatomic: __atomic functions are called for CV-qualified output variables
1498  - #2423 resources.c:656:test_resource_binary_linked: 'found' should be TRUE
1499  - !1514 gbookmarkfile: Don't crash if we're not visited
1500  - !1662 gspawn-win32: improve guess whether process is console process
1501  - !1812 docs: Expand documentation about D-Bus GUIDs
1502  - !1957 Fix more warnings
1503  - !1965 gversionmacros: Add version macros for GLib 2.70
1504  - !1966 Add g_steal_fd() to API
1505  - !1967 Distinguish more clearly between wait status and exit status
1506  - !1969 glib_typeof: Move definition to its own header
1507  - !1985 docs: Add a policy for handling security issues
1508  - !1986 make g_tree_remove_all public
1509  - !1996 Include glibconfig.h to get the G_OS_UNIX token
1510  - !1998 gpollableinputstream: Add missing annotation
1511  - !1999 goption.c: Simplfy parse_short_option()
1512  - !2004 Some improvements to clang-cl builds
1513  - !2005 introspection: Remove 'caller-allocates' from POD types
1514  - !2006 fuzzing: Add fuzz tests for functions which parse paths
1515  - !2008 tests: Deactivate tls-bindings test suite for windows
1516  - !2011 docs: Fix example program link
1517  - !2012 docs: Replace git.gnome.org with gitlab.gnome.org urls
1518  - !2013 fuzzing: Fix assertion failure in fuzz_paths.c
1519  - !2016 GIO W32: Pin gio DLL
1520  - !2023 gtlspassword: Fix g-i annotation of return for g_tls_password_get_value
1521  - !2025 [th/gdbus-cleanup] two minor cleanup patches for gdbusconnection.c
1522  - !2026 Split g_test_log() messages that contain multiple lines
1523  - !2027 Fix a handful of minor leaks found by Coverity
1524  - !2030 Fix more warnings
1525  - !2031 Re-simplify exception handling on Windows
1526  - !2032 gsocks5proxy: Handle EOF when reading from a stream
1527  - !2033 Fix annotation of count arguments
1528  - !2036 gmacros.h: use G_GNUC_CHECK_VERSION
1529  - !2038 Fix more warnings
1530  - !2039 Implement G_ANALYZER_NORETURN for Coverity
1531  - !2040 Fix more warnings
1532  - !2041 refcount: Clarify when the ref count ends up undefined
1533  - !2042 grefcount: Clarify that the initial reference count is 1
1534  - !2043 gmacros.h: use g_macro__has_attribute() where possible
1535  - !2046 gerror: Clarify docs around message requirements
1536  - !2047 Fix more warnings
1537  - !2048 Fix more warnings
1538  - !2049 Fix typo in g_socket_listener_accept_async()'s comment
1539  - !2050 gdbus: document completion after idle action for g_dbus_connection_signal_unsubscribe()
1540  - !2051 Add nullable annotations in GUnixMountEntry
1541  - !2052 g_string_replace(): Fix documentation of 'limit' parameter
1542  - !2054 docs: Fix formatting of code block
1543  - !2055 Improve handling of FILENAME_MAX
1544  - !2056 application: Unset the registered state after shutting down
1545  - !2063 Fix more warnings
1546  - !2066 gpattern: Register as Boxed type and support introspection for it
1547  - !2067 gmacros: missing check if __STDC_VERSION__ is defined
1548  - !2069 gdbus-tool: Actually use argv[0] basename as program name
1549  - !2071 gstring: Cleanup documentation of g_string_replace
1550  - !2074 Fix more warnings
1551  - !2075 gdtlsconnection: Fix a check for a vfunc being implemented
1552  - !2077 tls: add functions to get protocol version and ciphersuite name
1553  - !2078 gthreadedresolver: don't ignore flags in lookup_by_name_with_flags
1554  - !2080 guuid: fix shift operation to parse hex string in uuid_parse_string()
1555  - !2081 Fix more warnings
1556  - !2085 gcredentials.h: Fix comment typo
1557  - !2087 gtlscertificate: make private key properties readable
1558  - !2088 Fix more warnings
1559  - !2090 docs: Standardize spelling of serializ*
1560  - !2091 Fix more warnings (clang)
1561  - !2098 grefcount: Optimise g_atomic_ref_count_dec
1562  - !2099 gmacros.h: G_NORETURN: remove useless checks
1563  - !2100 tests: Add missing return value check in string test
1564  - !2101 Fix more warnings
1565  - !2104 tests: Drop use of g_test_bug_base()
1566  - !2105 tests: Use a temporary file in the bookmarkfile tests
1567  - !2106 Fix more warnings
1568  - !2108 glib spawn-singlethread test only if F_DUPFD_CLOEXEC is defined
1569  - !2109 meson: Fix detection of static libintl on macOS
1570  - !2112 gstrvbuilder: add addv and add_many to the API
1571  - !2113 tls: expose cert details on GTlsCertificate
1572  - !2119 Fix more warnings
1573  - !2120 gdbusobjectmanagerclient: Call GetManagedObjects async
1574  - !2123 gdbus: Add various missing (nullable) or (not nullable) annotations
1575  - !2126 gtlspassword: Add flags signifying PIN type for PKCS#11
1576  - !2127 gutils: ensure g_find_program_in_path() return an absolute path
1577  - !2130 Revert "tests: Deactivate tls-bindings test suite for windows"
1578  - !2139 gdbus, win32: Fix accidental dllexport in static builds
1579  - !2142 tls: expose SAN details on GTlsCertificate
1580  - !2143 compiling.xml: Don't recommend backticks
1581  - !2144 pcre: Drop internal libpcre copy
1582  - !2145 gunixmounts: Document NULL return value for g_unix_mount_for()
1583  - !2152 tests: A few small improvements to GBytes tests
1584  - !2153 docs: Fix annotations for optional arguments
1585  - !2155 glocalfilemonitor: Avoid a deadlock on finalization
1586  - !2162 testgdate: fix -Wmisleading-indentation warning
1587  - !2166 gtlscertificate: Add more annotations to new properties
1588  - !2167 g_value_set_string description: clarified (unified), that v_string is a copy.
1589  - !2173 gasyncqueue: Add missing (nullable) annotation to free function
1590  - !2174 data-to-c.py: generate new-line at the end of the file
1591
1592 * Translation updates:
1593  - Chinese (China)
1594  - English (United Kingdom)
1595  - Hebrew
1596  - Nepali
1597  - Occitan (post 1500)
1598  - Serbian
1599
1600
1601 Overview of changes in GLib 2.68.0
1602 ==================================
1603
1604 * Bugs fixed:
1605  - !1987 build: Drop gconstructor_as_data_h usage from glib-compile-schemas
1606  - !1989 glib.supp: Generalize some suppressions
1607  - !1992 gbytesicon: Fix error in g_bytes_icon_new() documentation
1608  - !1994 glocalfileoutputstream: Tidy up error handling
1609  - !1995 tests: Fix copy/paste error in queue test
1610
1611 * Translation updates:
1612  - Czech
1613  - Finnish
1614  - Italian
1615  - Korean
1616  - Lithuanian
1617  - Polish
1618  - Romanian
1619  - Slovenian
1620  - Turkish
1621
1622
1623 Overview of changes in GLib 2.67.6
1624 ==================================
1625
1626 * Fix a security issue when using `g_file_replace()` with
1627   `G_FILE_CREATE_REPLACE_DESTINATION` (#2325)
1628
1629 * Disallow operations on the empty path with `g_file_new_from_path()` (#2328)
1630
1631 * Various fixes for GLib when building with clang-cl on Windows (work by
1632   Aleksandr Mezin) (#2341, #2344)
1633
1634 * Bugs fixed:
1635  - #2325 file-roller symlink attack
1636  - #2327 Teach glib-mkenums about GLIB_AVAILABLE_ENUMERATOR_IN_2_68, and start using it
1637  - #2328 g_file_new_for_path("") yields CWD, which seems wrong
1638  - #2341 glib-genmarshal output is sometimes empty because output file is not closed
1639  - #2344 c_std=c11: gbitlock.c: ‘asm’ undeclared
1640  - !1962 Validate D-Bus machine ID after loading
1641  - !1976 Use the right permissions for directory watching on Win32
1642  - !1977 gio/tests/{meson.build,pollable.c}: Determine libutil SONAME at build time
1643  - !1980 glib.supp: Add another system thread suppression
1644
1645 * Translation updates:
1646  - Basque
1647  - Catalan
1648  - Czech
1649  - French
1650  - Galician
1651  - German
1652  - Hungarian
1653  - Indonesian
1654  - Korean
1655  - Latvian
1656  - Portuguese
1657  - Portuguese (Brazil)
1658  - Serbian
1659  - Spanish
1660  - Swedish
1661  - Ukrainian
1662
1663
1664 Overview of changes in GLib 2.67.5
1665 ==================================
1666
1667 * Fix more issues with `glib_typeof` macro from 2.67.3–2.67.4 (work by
1668   Iain Lane, Simon McVittie) (#2331, !1975)
1669
1670 * Fix regression with some FD mappings passed to `g_subprocess_launcher_spawnv()`
1671   caused by changes for #2097 in GLib 2.67.4 (work by Olivier Fourdan,
1672   Philip Withnall) (#2332)
1673
1674 * Fix detection of `str[n]casecmp()` when building with `clang-cl` (work by
1675   Aleksandr Mezin) (#2337)
1676
1677 * Use zlib from subproject if configured with `wrap_mode=forcefallback` (work by
1678   Seungha Yang) (!1959)
1679
1680 * Bump Visual Studio compilation requirement to VS 2012, and Windows 8 SDK for
1681   GLib 2.67.x onwards (work by Chun-wei Fan) (!1970)
1682
1683 * Bugs fixed:
1684  - #832 Some tweaks re: GRWLock
1685  - #2331 glib 2.67.3: <glib.h> can no longer be included in extern "C" blocks
1686  - #2332 Glib 2.67.4 causes gnome-shell to exit when spawning Xwayland on demand
1687  - #2333 Missing relation between g_file_info_get_size() and G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in documentation
1688  - #2337 Linking fails when building with clang-cl because of str[n]casecmp
1689  - !1936 tests: Fix leak of dlopened module in pollable test
1690  - !1954 Change SkipAsyncData fields to be gsize (and not gssize)
1691  - !1956 The ETag returned by various GFile functions is nullable
1692  - !1959 meson: Use subproject zlib if "wrap_mode=forcefallback" was specified
1693  - !1961 gkeyfilesettingsbackend: check for errors when creating file monitors
1694  - !1970 README.win32.md: Mention about Window 8+ SDK requirement
1695  - !1971 gio/tests/pollable.c: Fix build on non-Linux UNIX
1696  - !1975 gatomic.h: Make `glib_typeof` API break opt in.
1697
1698 * Translation updates:
1699  - Basque
1700  - Danish
1701  - English (United Kingdom)
1702  - Galician
1703  - German
1704  - Indonesian
1705  - Lithuanian
1706  - Portuguese
1707  - Portuguese (Brazil)
1708  - Slovenian
1709
1710
1711 Overview of changes in GLib 2.67.4
1712 ==================================
1713
1714 * Add a `g_string_replace()` function (work by Joshua Lee) (#225)
1715
1716 * Add `G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER` flag to simplify
1717   the common case for writing a D-Bus authentication observer, allowing most
1718   uses of `GDBusAuthObserver` to be dropped (#1804)
1719
1720 * Add a new `g_spawn_with_pipes_and_fds()` variant which supports renumbering
1721   FDs (#2097)
1722
1723 * Add new g_memdup2() API to replace g_memdup(), which is vulnerable to a
1724   silent integer truncation and heap overflow problem if not used carefully
1725   (discovered by Kevin Backhouse, work by Philip Withnall) (#2319)
1726
1727 * Fix various regressions caused by rushed security fixes in 2.66.6 (work by
1728   Simon McVittie and Jan Alexander Steffens) (!1932, !1941, #2323)
1729
1730 * Fix a silent integer truncation when calling g_byte_array_new_take() for
1731   byte arrays bigger than G_MAXUINT (work by Krzesimir Nowak) (!1942)
1732
1733 * Fix `g_utf8_strdown()` to fix some issues in Turkish
1734   (work by Kjell Ahlstedt) (!1930)
1735
1736 * Bugs fixed:
1737  - #225 GString doesn't have a g_string_replace() function
1738  - #587 g_input_stream_skip() out-of-bounds behavior is inconsistent between implementations
1739  - #1804 Add G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flag
1740  - #2097 GSubprocessLauncher with FD assignment can clash with g_spawn_async internal pipe
1741  - #2315 httpproxy: Need overflow protection when reading response during connection establishment
1742  - #2319 CVE-2021-27219 (GHSL-2021-045): integer overflow in g_bytes_new/g_memdup
1743  - #2322 g_test_dbus: double output when piping
1744  - #2323 [GLIB 2.66.6] g_io_channel_set_line_term() stopped working with null terminated strings and length -1
1745  - !1917 Adding a missing test on integer overflow within g_http_proxy_connect()
1746  - !1918 Fix more warnings
1747  - !1923 Add support for Tilix and Konsole
1748  - !1930 guniprop: Fix g_utf8_strdown() for Turkish locale
1749  - !1932 gtlspassword: Fix inverted assertion
1750  - !1934 gdbus: Reject attempts to set future connection or server flags
1751  - !1938 Fix more warnings
1752  - !1939 ci: Temporarily disable macOS CI job as runner is offline
1753  - !1940 Fix more warnings
1754  - !1941 gkeyfilesettingsbackend: Fix basename handling when group is unset
1755  - !1942 CVE-2021-27218: gbytearray: Do not accept too large byte arrays
1756  - !1947 Revert "Merge branch 'wip/pwithnall/macos-ci-disable' into 'master'"
1757  - !1948 tests: Use a more realistic language code than sv_SV
1758  - !1949 gatomic: Make fallback g_atomic_pointer_get type-safe
1759  - !1951 Add a test for parsing 0 as double
1760  - !1955 tests: Add missing NULL terminator to spawn-singlethread test
1761
1762 * Translation updates:
1763  - Catalan
1764  - Galician
1765  - Hungarian
1766  - Portuguese
1767  - Romanian
1768  - Slovenian
1769  - Spanish
1770  - Swedish
1771  - Turkish
1772  - Ukrainian
1773
1774
1775 Overview of changes in GLib 2.67.3
1776 ==================================
1777
1778 * Add new `g_memdup2()` API to replace `g_memdup()`, which is vulnerable to a
1779   silent integer truncation and heap overflow problem if not used carefully
1780   (discovered by Kevin Backhouse, work by Philip Withnall) (#2319)
1781
1782 * Add new `g_dbus_object_path_escape()` and `g_dbus_object_path_unescape()` APIs
1783   to provide one way of escaping arbitrary bytestrings for use in D-Bus object
1784   paths (work by Lars Karlitski and Frederic Martinsons) (#968)
1785
1786 * Use `bash-completion.pc` (if available) to provide the path to install
1787   completion files into (work by Frederic Martinsons) (#1054)
1788
1789 * Fix support for public/private trigraphs in `glib-mkenums` (work by Matthias Klumpp) (!1870)
1790
1791 * Add `glib_debug` configure option to allow disabling debug infrastructure in
1792   builds with debug symbols enabled (work by Ole André Vadla Ravnås) (!1889)
1793
1794 * Fix a regression where `PATH` would always be searched when using `g_spawn()`,
1795   even when it wasn’t supposed to (work by Simon McVittie and Thomas Haller) (!1902)
1796
1797 * Override `gio-querymodules` in Meson when used as a submodule (work by Xavier Claessens) (!1909)
1798
1799 * Bugs fixed:
1800  - #344 gdbus(1) command-line completion issues
1801  - #968 gdbus: add g_dbus_object_path_{un,}escape
1802  - #1054 Use pkg-config to get path for bash-completion file installation
1803  - #1180 GUnixInputStream and GUnixOutputStream don't consider TTYs pollable
1804  - #2011 Add additional unit tests for D-Bus name watching
1805  - #2226 clang++ compilation fails on clusterfuzz
1806  - #2292 Cannot find a common ancestor when running CI style check jobs
1807  - #2299 GObject introspection annotation of g_closure_new_object() is wrong
1808  - #2305 GIO security hardening causing gnome-keyring to regress when session bus is provided by dbus-launch (dbus-x11)
1809  - #2314 gdatetime: math library link issue
1810  - #2319 GHSL-2021-045: integer overflow in g_bytes_new/g_memdup
1811  - !610 Various memory leak cleanups to GSettings tests
1812  - !1804 Add more GIR annotations to gparam.c and gsignal.c
1813  - !1823 Fix more warnings
1814  - !1843 gfile: Add Linux kernel headers compatibility kludge
1815  - !1847 Port to QNX
1816  - !1853 ginetaddress: Handle systems without IPv6 support
1817  - !1859 docs: update g_action_group_activate_action() remote activation semantics
1818  - !1860 glocalfile: Fix an uninitialized variable
1819  - !1865 tests: Add more debug information to gdbus-connection-slow
1820  - !1868 gdesktopappinfo: Fix validation of XDG_CURRENT_DESKTOP
1821  - !1870 mkenums: Support public/private trigraph again
1822  - !1873 Fix possible integer overflow of g_socket_send_message()
1823  - !1876 Fixing g_socket_send_message() documentation to make it clearer
1824  - !1877 Fix more warnings
1825  - !1878 Another fix on g_socket_send_message()
1826  - !1879 Fix more warnings
1827  - !1880 GError documentation tweaks
1828  - !1881 docs: Move ‘Notes’ section from README to NEWS
1829  - !1883 gutils: Document caching of XDG directory variables
1830  - !1884 gthread-win32: Use SetThreadDescription Win32 API for setting thread name
1831  - !1887 ci: Fix msys-mingw32 CI builds due to package rename
1832  - !1888 docs: Add documentation for GLIB_VERSION_CUR_STABLE and PREV_STABLE
1833  - !1889 build: Add glib_debug option
1834  - !1890 gtype: Improve formatting of GType documentation
1835  - !1891 Fix more warnings
1836  - !1893 gwin32appinfo: Fix printf length sub-specifier
1837  - !1894 gsocket: Fix SO_NOSIGPIPE regression on Darwin
1838  - !1898 gtestutils: Add g_test_get_path() API
1839  - !1899 m4macros: replace obsolete macros AC_TRY_RUN and AC_TRY_LINK in glib-2.0.m4
1840  - !1900 [th/gsignal-cleanup] minor changes to GSignal related code
1841  - !1901 Check if the remote already exists before adding it.
1842  - !1902 spawn: Don't set a search path if we don't want to search PATH
1843  - !1903 m4macros: Increment serial number of glib-2.0.m4
1844  - !1905 Start to ignore known leaks under AddressSanitizer
1845  - !1906 gdbus-serialization: Don't leak string containing first serialization
1846  - !1908 Fix straightforward memory leaks in tests
1847  - !1909 Meson: override gio-querymodules program
1848  - !1910 gio: Add explicit virtual g-i annotations for undiscovered invoker relationship
1849  - !1911 Fix more warnings
1850  - !1915 Mark g_key_file_get_comment() key parameter as nullable
1851  - !1919 atomic: Fix type check of g_atomic_pointer_compare_and_exchange()
1852  - !1921 guri: Mark g_uri_get_host as nullable
1853  - !1925 gapplication: Fix a memory leak
1854
1855 * Translation updates:
1856  - Czech
1857  - Friulian
1858  - Galician
1859  - Hungarian
1860  - Portuguese
1861  - Portuguese (Brazil)
1862  - Romanian
1863  - Spanish
1864  - Ukrainian
1865
1866
1867 Overview of changes in GLib 2.67.2
1868 ==================================
1869
1870 * Add `gio launch` command to execute programs (work by Frederic Martinsons) (#54)
1871
1872 * Fix unused parameter warnings in code generated by `gdbus-codegen` (work by Frederic Martinsons) (#1105)
1873
1874 * Officially deprecate `to-pixdata` option for `glib-compile-resources`, in favour
1875   of simply embedding more modern image formats in linked-in `GResource` files (#1281)
1876
1877 * Support querying and running UWP applications on Windows (work by LRN) (#1991)
1878
1879 * Support `gio trash --restore` and `gio trash --list` commands (work by Frederic Martinsons) (#2098)
1880
1881 * No longer read environment variables for GIO module locations when running as setuid (#2168)
1882
1883 * More progress on fixing compiler warnings (work by Emmanuel Fleury) (!1773 and others)
1884
1885 * `GKeyFile` performance improvements (work by Timm Bäder) (!1829, !1832)
1886
1887 * Improve UDP socket behaviour on Windows (work by Marco Mastropaolo and Ole André Vadla Ravnås) (!1827, !1844)
1888
1889 * Add `-Dtests` meson configure option for disabling tests entirely (work by Ole André Vadla Ravnås) (!1850)
1890
1891 * Bugs fixed:
1892  - #54 Add `gio launch` command to execute .desktop files
1893  - #513 GSignal: Impossible to have return values in signals which are G_SIGNAL_RUN_FIRST only
1894  - #514 GSignal: Only limited usage of accumulator function possible
1895  - #1105 gdbus-codegen: fix some unused parameter warnings
1896  - #1188 Crash in gapplication.c:1014 when reading error message if dbus_register returns false without setting error
1897  - #1281 Update glib-compile-resources and GResource docs to deprecate/remove to-pixdata in stable/master resp.
1898  - #1283 gvfs-trash error message when unable to create trash directory is unhelpful
1899  - #1568 GObject tutorial does not mention floating references
1900  - #1991 W32: Glib cannot run UWP applications
1901  - #2098 gio trash: restore trashed files to their original location
1902  - #2168 giomodule: Loads GIO modules even if setuid, etc.
1903  - #2264 GPtrArray might call qsort() with NULL data
1904  - #2265 2.67.1 regression: assertion failure starting gnome-terminal
1905  - #2275 gio/completion/gio: Some variables are not localized
1906  - #2279 g_source_is_destroyed example uses deprecated GDK API
1907  - !1304 Extended error
1908  - !1773 Fix more warnings
1909  - !1783 gtlsdatabase: remove duplicate precondition check
1910  - !1784 fuzzing: Add more fuzzing tests for various string parsing functions
1911  - !1785 glocalfile: Add an assertion to help static analysis
1912  - !1787 Debuggability improvements in gosxappinfo.m
1913  - !1788 gdate: Validate input as UTF-8 before parsing
1914  - !1791 gdatetime: Disallow NAN as a number of seconds in a GDateTime
1915  - !1794 gio-tool-info: Prevent criticals if mount options are not available
1916  - !1796 gfileutils: Fix typo in docs
1917  - !1797 gdatetime: Improve ISO 8601 parsing to avoid floating point checks
1918  - !1801 glib: Add more missing return value annotations
1919  - !1802 gobject: More missing return value annotations
1920  - !1806 tests: Add some rounding tolerance in timeout test
1921  - !1807 python: Reformat some files to keep style-check-diff happy
1922  - !1808 tests: Be more lenient with timing checks on asyncqueue pops
1923  - !1810 gfileinfo: Add missing preconditions to g_file_info_get_attribute_data()
1924  - !1811 Add more missing nullable annotations
1925  - !1813 gdbus-codegen: Ignore some flake8 warnings
1926  - !1815 Fix more warnings
1927  - !1816 fuzzing: Add more GUriFlags to the URI parsing test
1928  - !1817 fuzzing: Add more parsing flags to the GKeyFile test
1929  - !1818 Fix more warnings
1930  - !1819 Fix more warnings
1931  - !1821 gdate: Limit length of dates which can be parsed as valid
1932  - !1822 Fix more warnings
1933  - !1827 Windows: fix FD_READ condition flag still set on recoverable UDP socket errors.
1934  - !1829 keyfile: Delay calling g_get_language_names() until it's needed
1935  - !1830 gsocket: Fix credentials error-handling on Apple OSes
1936  - !1832 More small GKeyFile performance improvements
1937  - !1834 Update gvdb
1938  - !1837 gdatetime.c: Fix MSVC builds for lack of NAN items
1939  - !1838 Minor improvements to GError documentation
1940  - !1840 Add nullable annotation for g_file_get_uri_scheme
1941  - !1841 gthread: Fix incorrect cast
1942  - !1842 gthread: Port native mutex to Clang
1943  - !1844 gsocket: Improve default UDP behavior on Windows
1944  - !1845 gsocket: Fix use-after-close
1945  - !1848 gwin32: Always use unicode APIs
1946  - !1850 build: Add option for disabling tests
1947  - !1855 build: Fix ssize_t detection on older versions of glibc
1948  - !1856 build: Fix Android system checks
1949  - !1857 gtestutils: Fix g_assert_not_reached() on MSVC
1950  - !1861 More GError tests
1951  - !1863 tests: Ignore -Wformat-nonliteral warning in new GError tests
1952
1953 * Translation updates:
1954  - Catalan
1955  - Galician
1956  - German
1957  - Lithuanian
1958  - Romanian
1959  - Spanish
1960  - Ukrainian
1961
1962
1963 Overview of changes in GLib 2.67.1
1964 ==================================
1965
1966 * Deprecate `g_time_zone_new()` in favour of `g_time_zone_new_identifier()`,
1967   which makes error checking easier (#553)
1968
1969 * Remove `volatile` from various public APIs, including `G_DEFINE_*`. You should
1970   adjust your code to not use `volatile` for atomic variables, `GOnce`
1971   variables, or mostly anything else (see
1972   http://isvolatileusefulwiththreads.in/c/). (#600)
1973
1974 * Support passing file handles to `gdbus` command line tool (work by
1975   Norbert Pocs and Tim Waugh) (#961)
1976
1977 * Add `g_assert_cmpstrv()` test convenience function (work by Niels De Graef) (#2015)
1978
1979 * Changes to the behaviour of the `G_URI_FLAGS_SCHEME_NORMALIZE` scheme
1980   normalization flag in `GUri` (work by Carlos Garcia Campos) (#2257, !1716)
1981
1982 * Add new `--run-prefix` and `--skip-prefix` options to GTest, to allow running
1983   or skipping test suites by prefix (work by Frederic Martinsons) (!1738)
1984
1985 * Fix thread-safety of `GBinding`; see the updated documentation for
1986   `g_object_bind_property()` for full details — if your code uses `GBinding`
1987   across threads, you should re-check it against the latest documentation, use
1988   `g_binding_unbind()` rather than implicitly dropping the binding with your
1989   last `g_object_unref()` call, and use `g_binding_dup_source()`/`g_binding_dup_target()`
1990   instead of `g_binding_get_source()`/`g_binding_get_target()`
1991   (work by Sebastian Dröge) (!1745)
1992
1993 * Bugs fixed:
1994  - #553 Improved error-handling when timezone lookup fails
1995  - #600 Remove "volatile" from G_DEFINE_*
1996  - #961 gdbus tool: file handle passing doesn't work
1997  - #994 mark g_assert_* as "noreturn" also on MSVC
1998  - #1560 Can't get data for empty compressed resources
1999  - #1592 Main loop ignores GPollFD sources when there is at least one source ready with priority higher than default one
2000  - #1833 meson: reconsider G_DISABLE_CAST_CHECKS handling
2001  - #1849 Documentation of g_set_object(): can object_ptr be null?
2002  - #1963 Follow-up from "gdbusmessage: Limit recursion of variants in D-Bus messages"
2003  - #2015 Add g_assert_cmpstrv() test utility
2004  - #2046 Add pylint and shellcheck CI checks
2005  - #2074 Big dbus writes with a FD list fail
2006  - #2076 g_type_register_fundamental() and g_type_add_interface_static() should not trigger valgrind leak warnings
2007  - #2150 Add URI parsing tests from GstURI to GUri
2008  - #2221 GLib-GIO:ERROR:../gio/tests/gsocketclient-slow.c:99:on_event: 'connection' should be NULL
2009  - #2223 Documentation of g_strrstr_len is misleading; suggested fix
2010  - #2233 GSocketClient crashes on connection failure
2011  - #2236 Docs: gdbus-codegen example links broken
2012  - #2253 In gspawn.c, use sysconf() system call on Mac OS, instead of default maxfiles limit of 4096
2013  - #2257 GUri: apply scheme normalization flag consistently
2014  - !1251 Improve support for interface types
2015  - !1385 gobject: allocate parameter list for g_object_new_valist() entirely on stack
2016  - !1629 Add some tracing to GTask
2017  - !1699 Fix signedness warnings
2018  - !1701 gio: Fix some remaining DocBook syntax in a documentation comment
2019  - !1708 gio: Add missing nullable annotations
2020  - !1716 guri: Normalize uri segments if they are encoded and add a flag to do scheme-based normalization
2021  - !1722 gio: Fix various typos of the name ‘D-Bus’
2022  - !1724 glib/tests/fileutils: Fix expectations when running as root
2023  - !1726 gdbus: Document the intended semantics of handles and fdsTim Waugh
2024  - !1731 Make more use of g_assert_no_errno()
2025  - !1733 gdbusauthmechanismsha1: Don’t create keyring dir when running as setuid
2026  - !1734 glocalfileinfo: Use a single timeout source at a time for hidden file cache
2027  - !1735 gobject: Standardise on the term ‘instantiatable’
2028  - !1737 gscanner: Avoid undefined behaviour copying between union members
2029  - !1738 Extend the usage of -p option for glib test framework
2030  - !1740 Fix more warnings
2031  - !1745 Make GBinding thread-safe (alternative approach)
2032  - !1746 gkeyfilesettingsbackend: improve error-checking
2033  - !1747 Fix broken link syntax in g_vasprintf docs
2034  - !1748 Fix minor Coverity return value warnings
2035  - !1750 Fix warnings
2036  - !1754 GWin32AppInfo: Use a thread pool for async appinfo tree rebuilds
2037  - !1755 Minor Coverity fixes
2038  - !1756 shellcheck fixes
2039  - !1757 Python formatting improvements
2040  - !1758 Fix warnings
2041  - !1765 Fix more warnings
2042  - !1766 Fix some gdatetime annotations
2043  - !1767 tests: Fix GDateTime tests on FreeBSD
2044  - !1769 gfileicon: Fix unused-but-set variable with G_DISABLE_ASSERT
2045  - !1770 Minor scan-build fixes
2046  - !1771 macos: fix frexpl checks in cross-compilation
2047  - !1776 gio: ‘security_context_t’ is deprecated
2048  - !1780 Minor Coverity fixes
2049  - !1781 gspawn: Handle ENOSYS from close_range()
2050  - !1782 ghostutils: Abandon hostname conversion early if it’s too long
2051
2052 * Translation updates:
2053  - Czech
2054  - Spanish
2055  - Ukrainian
2056
2057
2058 Overview of changes in GLib 2.67.0
2059 ==================================
2060
2061 * Important and time-critical fix to DST transitions which will happen in Europe
2062   on 2020-10-25 on distributions which use the ‘slim’ tzdata format (which is
2063   now the default in tzdata/tzcode 2020b) (work by Claudi M., LRN) (#2224)
2064
2065 * Further timezone handling changes to improve performance of `GTimeZone` (work
2066   by António Fernandes, Sebastian Keller) (#2204)
2067
2068 * Fix deadlock on Windows when `G_SLICE` is set in the environment (diagnosis by
2069   Christoph Reiter) (#2225)
2070
2071 * Fix UTF-8 validation when escaping URI components (thanks to Marc-André Lureau) (!1680)
2072
2073 * Security fix for incorrect scope/zone ID parsing in URIs (!1669)
2074
2075 * Add `g_log_writer_default_set_use_stderr()` API for printing log messages to stderr (work by Simon McVittie) (#2087)
2076
2077 * Improve connection error reporting when IPv6 is available and disabled (work by Michael Catanzaro, debugging by Konstantin Kharlamov and Milan Crha) (#2211)
2078
2079 * Fix definition of `G_MSVC_SYMBOL_PREFIX` for ARM (work by Wolfgang Stöggl) (!1187)
2080
2081 * Add `GStrvBuilder` convenience API for building `NULL`-terminated string arrays (work by Robert Ancell) (!1417)
2082
2083 * Support appinfo verbs other than ‘open’ on Windows (work by LRN) (!1502)
2084
2085 * Expose node-based `GTree` APIs (work by Maciej S. Szmigiero) (!1509)
2086
2087 * Add `G_DBUS_METHOD_INVOCATION_HANDLED`/`_UNHANDLED` convenience constants (work by Simon McVittie) (!1603)
2088
2089 * Set `IP_BIND_ADDRESS_NO_PORT` on sockets when binding to local addresses (work by Cristian Rodríguez) (!1598)
2090
2091 * Add Meson option for libelf support (work by Niklas Gürtler) (!1650)
2092
2093 * Add support for PKCS #11-backed TLS certificates (work by Patrick Griffis) (!1663)
2094
2095 * Add `g_subprocess_launcher_close()` API to make `GSubprocessLauncher` more usable in bindings (work by Sergio Costas) (!1677)
2096
2097 * Bugs fixed:
2098  - #1233 GType for GTree
2099  - #2077 Invalid Pointer Arithmetic in g_path_get_basename
2100  - #2087 Respecting G_MESSAGES_DEBUG in a custom log writer should be easy to do
2101  - #2164 GDBus DBUS_COOKIE_SHA1 mechanism may use too old a key
2102  - #2194 gtk3/glib crash on gimp
2103  - #2203 fstatat is available only on macOS 10.10+
2104  - #2204 Time zone cache is constantly invalidated if TZ is NULL
2105  - #2209 gthreadedresolver: faulty logic in parse_res_txt
2106  - #2210 g_private_replace ordering issue
2107  - #2211 "Network is unreachable" error returned when IPv6 is disabled and network is reachable using IPv4
2108  - #2215 DST incorrectly ends on wrong dates
2109  - #2224 top bar time is incorrect, timezone map in control center is broken
2110  - #2225 Setting G_SLICE makes Windows programs hang since 2.66
2111  - !1187 Define G_MSVC_SYMBOL_PREFIX correctly for ARM
2112  - !1417 gstrvbuilder: Add a new object to make NULL-terminated string arrays.
2113  - !1449 gio: Expose g_file_query_info_for_copy()
2114  - !1502 GWin32AppInfo: Support verbs other than "open"
2115  - !1509 GTree: add an ability to iterate over a tree and a node-based API
2116  - !1575 Use C++11 decltype where possible
2117  - !1598 gsocketclient: set IP_BIND_ADDRESS_NO_PORT if binding to local address
2118  - !1603 GDBus: Add G_DBUS_METHOD_INVOCATION_HANDLED, _UNHANDLED
2119  - !1643 Minor Coverity fixes
2120  - !1645 Fix various signedness warnings
2121  - !1647 Fix warnings (keep going)
2122  - !1648 glocalfile: Never require G_LOCAL_FILE_STAT_FIELD_ATIME
2123  - !1650 Make libelf dependency optional via meson feature
2124  - !1652 trash portal: Handle portal failures
2125  - !1654 gio-tool-trash: Prevent recursion to speed up emptying trash
2126  - !1657 glist: Clarify that g_list_free() and friends only free an entire list
2127  - !1658 utils: Limit the scope of the variable `max`
2128  - !1661 Lookup fallback time zones in the cache to improve performance
2129  - !1663 gtlscertificate: Add support for PKCS #11 backed certificates
2130  - !1665 Fix g_module_symbol() under Windows sometimes not succeeding
2131  - !1669 guri: Fix URI scope parsing
2132  - !1670 GSubprocessLauncher: Move cleanup to dispose()
2133  - !1671 gdatetime: Avoid integer overflow creating dates too far in the past
2134  - !1673 CI: Re-enable code coverage reporting for MSYS2 builds
2135  - !1674 Add version macros for 2.68
2136  - !1675 Make static assertions about standard types
2137  - !1677 gsubprocesslauncher: Allow to close FDs
2138  - !1678 gmessages: Document that using a custom log writer basically disables fatal handling
2139  - !1679 gmain: Fix minor typo in documentation
2140  - !1680 guri: Fix UTF-8 validation when escaping URI components
2141  - !1681 gspawn: Handle error opening /dev/null
2142  - !1686 Various improvements in GSocketClient
2143  - !1687 uri: add missing (not)nullable annotations
2144  - !1688 gspawn: Use close_range() if available to close FDs between fork/exec
2145  - !1691 gmain: Fix possible locking issue in source unref
2146  - !1692 gsignal: Plug g_signal_connect_object leak
2147  - !1695 gfile: Clarify refcount handling for g_file_replace_contents_bytes_async()
2148  - !1696 Fix various minor scan build warnings
2149  - !1706 Add various missing nullable annotations
2150  - !1712 Revert "Use C++11 decltype where possible"
2151  - !1714 gmacros: Use __typeof__ when compiling with Clang
2152  - !1718 gtrace: Add G_GNUC_PRINTF annotation
2153
2154 * Translation updates:
2155  - Chinese (Taiwan)
2156  - Danish
2157  - Greek, Modern (1453-)
2158  - Hebrew
2159  - Latvian
2160  - Portuguese
2161  - Russian
2162  - Slovak
2163  - Ukrainian
2164
2165
2166 Overview of changes in GLib 2.66.0
2167 ==================================
2168
2169 * Bugs fixed:
2170  - #2200 missing tab in makefile rule
2171  - !1639 guri: Fix user passed to g_uri_split_with_user() not being NULL'd
2172
2173 * Translation updates:
2174  - Croatian
2175  - Hungarian
2176  - Italian
2177  - Serbian
2178  - Slovak
2179  - Swedish
2180
2181
2182 Overview of changes in GLib 2.65.3
2183 ==================================
2184
2185 * Fixes to the new `statx()` calls — note that since GLib 2.65.2 uses `statx()`
2186   (if available) instead of `stat()`/`fstat()`/`lstat()`/`fstatat()`, syscall
2187   sandboxing for third party applications might need to be updated
2188
2189 * Bugs fixed:
2190  - #2189 g_file_query_info on ro file system: Numerical result out of range
2191  - #2191 Calling nice(20) can lead to thread related warnings
2192  - #2197 Segfaulting Integer Overflow in g_option_group_add_entries
2193  - !1025 Big o notations
2194  - !1626 gio: Document g_settings_new() missing schema behaviour
2195  - !1627 gthread: Add a sysprof mark for thread creation
2196  - !1628 Replace a bunch of fallthrough comments with an attribute
2197  - !1631 Fix splice behavior on cancellation
2198  - !1632 Fixing signedness warning in glib/gfileutils.c
2199  - !1635 gcancellable: Mark a variable as unused if built with G_DISABLE_ASSERT
2200
2201 * Translation updates:
2202  - Basque
2203  - Catalan
2204  - Chinese (China)
2205  - Czech
2206  - English (United Kingdom)
2207  - Friulian
2208  - German
2209  - Japanese
2210  - Kazakh
2211  - Korean
2212  - Lithuanian
2213  - Polish
2214  - Portuguese (Brazil)
2215  - Slovenian
2216
2217
2218 Overview of changes in GLib 2.65.2
2219 ==================================
2220
2221 * Support `statx()` and `G_FILE_ATTRIBUTE_TIME_CREATED` (work by Andre Miranda) (#1970)
2222
2223 * Fix deadlock in `g_subprocess_communicate_async()` (work by Alexander Larsson) (#2182)
2224
2225 * Add `%f`/microsecond placeholder support to `g_date_time_format()` (work by Johan Bjäreholt) (!1605)
2226
2227 * Bugs fixed:
2228  - #5 g_new0 performance
2229  - #1970 Make G_FILE_ATTRIBUTE_TIME_CREATED support stx_btime
2230  - #2176 Inconsistent introspection annotations for g_input_stream_read and g_socket_receive
2231  - #2182 g_subprocess_communicate_async() can deadlock when writing
2232  - !1593 CI support for Coverity Scan
2233  - !1605 gdatetime: Add %f format specifier and microsecond precision to g_date_time_format_iso8601
2234  - !1613 gfile: Document TOCTTOU avoidance using g_file_delete()
2235  - !1615 docs: glib-compile-resources: json-stripblanks
2236  - !1616 gioerror: Map WSAENETRESET on Windows to G_IO_ERROR_CONNECTION_CLOSED
2237  - !1619 Minor Coverity fixes
2238  - !1620 gvariant: Ensure GVS.depth is initialised
2239  - !1622 gdatetime: Widen a variable before multiplication
2240  - !1623 gcancellable: Assert that make_pollfd() call succeeds
2241  - !1624 gdbusaddress: Drop an unnecessary NULL check
2242  - !1625 gdbusmessage: Drop redundant uint ≥ 0 checks
2243
2244 * Translation updates:
2245  - French
2246  - Galician
2247  - Greek, Modern (1453-)
2248  - Indonesian
2249  - Romanian
2250  - Spanish
2251  - Turkish
2252  - Ukrainian
2253
2254
2255 Overview of changes in GLib 2.65.1
2256 ==================================
2257
2258 * Add `GUri` API for parsing, building and representing URIs according to
2259   [RFC 3986](https://tools.ietf.org/html/rfc3986) (work by Marc-André Lureau) (#110)
2260
2261 * Fix handling of xattr data with embedded nuls (#422)
2262
2263 * Add `g_file_set_contents_full()` which gives more control over fsyncs (#1302)
2264
2265 * Fix cross-compilation on iOS (work by Nirbheek Chauhan) (#1868)
2266
2267 * Add a `x-gvfs-notrash` option to disable trash on certain mounts (work by Ondrej Holy) (!1549)
2268
2269 * Support ‘slim’ TZif files generated with `zic -b slim` (work by Paul Eggert) (#2129)
2270
2271 * Support emitting profiling marks from `GMainContext` to sysprof capture files (!1551)
2272
2273 * Accept IPv6 zone IDs in `g_hostname_is_ip_address()` (work by Marc-André Lureau) (!1604)
2274
2275 * Bugs fixed:
2276  - #4 Include a UTF-8 safe escaping function
2277  - #110 Basic URI operations
2278  - #137 display_name should be always available
2279  - #250 GTestCase's setup/teardown functions appear pointless
2280  - #272 allow thread pools to adjust the number of threads to the number of cpu's/cores
2281  - #422 Wrong assumption in libgio GFileInfo on xattr/acl string: it may contain binary data.
2282  - #858 glib2 @2.40.0 issues a "Got weird mach timebase info" error (Macports, PPC)
2283  - #1022 g_object_new Should Mention That it Zeroes Out Private Struct
2284  - #1200 Make g_assert_null/nonnull clang static analyzer friendly
2285  - #1203 Add a variant of g_file_set_contents() which accepts file mode
2286  - #1288 gmacros: Introduce non-public G_CLANG_ANALYZER_NORETURN macro
2287  - #1302 g_file_set_contents() can fill target with NUL bytes if it did not previously exist
2288  - #1670 ThreadSanitizer data races
2289  - #1764 cancellable test: on_mock_operation_ready: assertion failed (iterations_requested > iterations_done): (10 > 10)
2290  - #1868 iOS cross compile impossible due to frexpl check not supporting cross compilation
2291  - #1869 iOS doesn't have Cocoa, which thankfully isn't a requirement of this code that supposedly requires it
2292  - #1982 GSocketAddressEnumerator documentation is inconsistent with existing usage
2293  - #2127 Spurious GIO module initialization on Fedora Silverblue (and other ostree-based systems?)
2294  - #2129 date_time bugs after 2038, or with today's date and 'zic -b slim' TZif files
2295  - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
2296  - #2136 Valgrind reports "still reachable" after g_option_context_parse
2297  - #2140 calling malloc in fork child is undefined-behaviour
2298  - #2141 g_value_copy is was recently broken
2299  - #2149 Make G_URI_FLAGS_PARSE_STRICT the default
2300  - #2156 Merge _g_uri_parse_authority() into GUri
2301  - #2159 Thread-unsafe initialization in gportalsupport.c
2302  - #2160 More guri regressions
2303  - #2165 More guri breakage
2304  - #2166 g_uri_build() functions should accept a NULL scheme
2305  - !1328 guri: new URI parsing and generating functions
2306  - !1527 Add g_tls_connection_get_channel_binding_data call and enums
2307  - !1534 Various GLocalFile fixes related to the filesystem::remote attribute
2308  - !1546 tree: Fix various ableist language
2309  - !1549 Add support to ignore trash for certain mounts
2310  - !1551 Add initial sysprof support
2311  - !1553 gtestutils: Mark that g_assert_whatever() macros do not normally return
2312  - !1554 GUri build fixes
2313  - !1555 Remove c-format from the string that is not c-formatted
2314  - !1556 fuzzing: Another fix for g_uri_parse() test
2315  - !1557 A few g_uri_parse_params() improvements
2316  - !1559 Fix buffer read overflows in GUri
2317  - !1561 gconvert: Use a pointer array in extract_uris
2318  - !1563 gdesktopappinfo: Fix unnecessarily copied and leaked URI list
2319  - !1564 tests: limit number of threads to something reasonable.
2320  - !1570 Reduce CI bandwidth requirements
2321  - !1572 Add GUriParamsIter
2322  - !1576 gtask: Only override g_task_set_source_tag() for GLib ≥ 2.60
2323  - !1577 uri: add illegal_characters argument to unescape_bytes
2324  - !1578 tests: Add tests for RFC 8536 v3 parsing of time zones
2325  - !1579 glib: Use g_getenv everywhere instead of getenv
2326  - !1582 appinfo: Add properties
2327  - !1583 gio: Remove broken support for XP
2328  - !1590 Use CI schedules and DAGs
2329  - !1591 gfileutils: Fix O_NOFOLLOW handling on BSD systems
2330  - !1594 GFile: Document that G_FILE_CREATE_REPLACE_DESTINATION can only be used with...
2331  - !1595 uri: add ENCODED_PATH & ENCODED_FRAGMENT flags
2332  - !1599 uri: do not add ipv6 brackets on non-ip host
2333  - !1600 uri: do not encode ':' and ';' from userinfo
2334  - !1601 timezone: Fix an uninitialized use
2335  - !1602 Revert "Merge branch 'appinfo-properties' into 'master'"
2336  - !1604 Make g_hostname_is_ip_address() accept ipv6 zoneid
2337  - !1609 Fix multiple typos in guri.c
2338  - !1611 guri: Always prepend `//` to the host when building a URI
2339  - !1612 guri: Document and check restrictions on path prefixes
2340
2341 * Translation updates:
2342  - Catalan
2343  - Kazakh
2344  - Lithuanian
2345  - Romanian
2346  - Slovenian
2347  - Spanish
2348  - Ukrainian
2349
2350
2351 Overview of changes in GLib 2.65.0
2352 ==================================
2353
2354 * Fix memory monitor tests to only be installed if installed-tests are enabled,
2355   and to be skipped if GObject-Introspection is too old (!1407)
2356
2357 * Stability improvements for various unit tests
2358
2359 * D-Bus credentials support on macOS (#507)
2360
2361 * MSVC support for the files generated by `glib-compile-resource` and `gdbus-codegen` (#1215, !1452)
2362
2363 * Year 2038 fixes involving new API in `GBookmarkFile` (#1931)
2364
2365 * SOCKS5 proxy authentication fixes (#1986, #1988)
2366
2367 * Support for more than `MAXIMUM_WAIT_OBJECTS` FDs for `g_poll()` on Windows (#2107)
2368
2369 * Add `g_assert_no_errno()` test macro for testing POSIX-style functions (!1204)
2370
2371 * Update Unicode Character Database to version 13.0.0 (!1422)
2372
2373 * Support storing interned strings in `GValue`s efficiently, via `g_value_set_interned_string()` (#2109)
2374
2375 * Bugs fixed:
2376  - #2 g_filename_from_utf8() should normalize?
2377  - #176 the behaviour of constructors for GLib data types is not specified if memory allocation fails
2378  - #480 /gdbus/connection/signals test intermittently fails: assertion failed (count_name_owner_changed == 2): (1 == 2)
2379  - #507 GDBus credentials don’t work on OS X
2380  - #602 GLib.Thread not usable from GObject-Introspection
2381  - #1154 Missing documentation how to set a value in a GArray
2382  - #1215 MSVC cannot build glib-compile-resource's output resource file
2383  - #1323 meson, autotools: figure out if mem barrier is needed for arm64 host variant aarch64
2384  - #1398 gdate: Add error handling for GetDateFormatW calls
2385  - #1841 Signal handler disconnection race when finalising GCancellableSource
2386  - #1851 Meson Build Failure on Windows: Undefined Reference to libiconv
2387  - #1911 Memory leak in g_param_spec_flags and/or g_param_spec_enum
2388  - #1931 GBookmarkFile API involves time_t
2389  - #1954 gdbus-server-auth intermittent failure
2390  - #1957 gdbus-connection test failure on FreeBSD
2391  - #1986 Socks5 Proxy: Authentication seems broken
2392  - #1988 Socks5 Proxy: Wrong error returned when using no authentication
2393  - #2038 Bindings: g_tls_connection_set_database() does not allow None as argument
2394  - #2051 GUnixOutputStream can block on close()
2395  - #2057 Call malloc_trim() under memory pressure
2396  - #2067 Glib uses _Static_assert in C++17 mode
2397  - #2081 gdbus error messages contains mixed up body and head signatures
2398  - #2082 AM/PM - specific variation support needed to Hebrew language
2399  - #2083 Memory monitor tests fail if dbusmock isn't installed
2400  - #2092 FreeBSD CI timing out in gdbus-connection filter test
2401  - #2094 Deprecation warnings when compiling with -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_28 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28
2402  - #2106 Duplicated if - else if conditions in gtranslit.c
2403  - #2107 g_poll() implementation on Windows stall when more than MAXIMUM_WAIT_OBJECTS FDs have passed
2404  - #2109 GValue: Add support for interned string
2405  - #2124 g_file_info_get_content_type() may return NULL
2406  - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
2407  - #2134 Valgrind reports "still reachable" after `g_uuid_string_random()`.
2408  - #2135 Valgrind reports "still reachable" after g_key_file_new/free
2409  - #2136 Valgrind reports "still reachable" after g_option_context_parse
2410  - !1204 gtestutils: Add a new g_assert_no_errno() test macro
2411  - !1302 gobject: new g_param_is_valid_property_name() function.
2412  - !1329 Support nanoseconds in stat timestamps on Windows
2413  - !1341 MUI capabilities for GWin32RegistryKey
2414  - !1360 CI: Show execution environment before we start
2415  - !1395 tests: Move memory_monitor_tests under installed_tests_enabled
2416  - !1396 macros: Define G_GNUC_FALLTHROUGH for more compilers
2417  - !1397 tests: Skip MemoryMonitor test if GObject-Introspection is too old
2418  - !1398 gcontenttype: Fix crash in _get_generic_icon_name()
2419  - !1402 ci: Update Android Docker image for aarch64 CPU naming change
2420  - !1405 tests: Disable link-time warning for mem-overflow
2421  - !1406 Replace fallthrough comments with G_GNUC_FALLTHROUGH
2422  - !1408 tests: Don't compare strings by pointer
2423  - !1409 gdummytlsconnection: Add missing overrides for ALPN properties
2424  - !1413 gapplication: Fix a minor typo in the documentation
2425  - !1414 gstrutils: Set locale explicitly for search-utils test
2426  - !1415 meson: Don't use assert in test code
2427  - !1418 ginetaddress, ginetsocketaddress: Add missing (nullable) annotations
2428  - !1422 glib: Update Unicode Character Database to version 13.0.0
2429  - !1423 gobject: Clarify assertion failure on ref-after-finalize
2430  - !1424 docs: Fix configuration with gtk_doc=true and installed_tests=false
2431  - !1425 gdbusconnection: GDBusSignalCallback can have a NULL sender_name
2432  - !1426 gunidecomp: Update and reformat Unicode version support history
2433  - !1427 gicon: Clarify GVariant refcounting in docs
2434  - !1428 Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
2435  - !1429 Fix arch detection ifdefs in glib/valgrind.h
2436  - !1430 Use __builtin_trap() on Clang on any platform
2437  - !1431 glib-unix.c: fix heap corruption in g_unix_get_passwd_entry
2438  - !1432 docs: Mention new gio tool options
2439  - !1433 meson: Fix buildtype usage
2440  - !1434 gdbusconnection: Clarify nullability of SignalInstance.sender
2441  - !1436 glib: Update internal copy of valgrind.h from Valgrind 3.15 release
2442  - !1437 gmarkup tests: tab character escape/unescape
2443  - !1439 Don't misdetect stpcpy on windows platforms on clang
2444  - !1440 Silence clang errors about -Wformat-nonliteral due to missing intermediate attributes
2445  - !1441 Meson: Override every dependency glib provides
2446  - !1442 gfile: Fallback to fast-content-type if content-type is not set
2447  - !1443 gio: use TAPTestRunner in the memory monitor tests
2448  - !1444 Meson: Add glib-checks and glib-asserts options
2449  - !1452 Make symbols generated by gdbus-codegen exportable on Visual Studio-style builds
2450  - !1455 gdesktopappinfo: Note that search results are not filtered
2451  - !1456 GCredentials documentation fixes
2452  - !1458 meson: Exclude gosxutils.m when building for iOS
2453  - !1459 meson: Fix the gnulib checks for isnan* functions
2454  - !1460 glib: Sync the local modification to glib/valgrind.h to what was upstreamed
2455  - !1462 gvariant-core: Add a note about memory safety of children
2456  - !1463 gdesktopappinfo: Add several nullable annotation to GAppInfo getters
2457  - !1464 Update Fedora CI
2458  - !1466 CI: Switch to new Windows runners
2459  - !1469 goption: Treat an empty option context parameter string as NULL
2460  - !1475 Improve documentation of g_tls_database_verify_chain()
2461  - !1476 tests: Fix remaining race in gdbus-connection filter test
2462  - !1479 Improve documentation of client connection validation flags
2463  - !1480 CI: Make sure we use meson 0.49.2 in MSYS2
2464  - !1481 array: fix corrupt state of GPtrArray after g_ptr_array_extend_and_steal()
2465  - !1482 [th/g-ptr-array-variable-cleanups] minor cleanup of variables for GPtrArray
2466  - !1487 glib: annotate static inline functions with G_AVAILABLE-type macros
2467  - !1488 Rebuild Fedora CI image
2468  - !1491 gdatetime: update annotations
2469  - !1492 glib-mkenums: allow optional 'since' tag
2470  - !1493 meson: Remove stray ] in O_DIRECTORY check
2471  - !1496 Fix GLIB_UNAVAILABLE_STATIC_INLINE declaration
2472  - !1498 array: add internal ptr_array_new() helper for creating GPtrArray
2473  - !1503 docs: Add indexes for symbols added in 2.66
2474  - !1505 gobject: Handle runtime checks as such
2475  - !1506 tests: Speed up the cancellable test
2476  - !1508 tests: Speed up the file test and make it more reliable
2477  - !1512 Various fixes when building for iOS
2478  - !1513 Initialize the visited time of a new GBookmarkFile
2479  - !1515 meson: check for stpcpy using cc.links()
2480  - !1516 gthreadedsocketservice: Mark source_object of run signal as nullable
2481  - !1517 GWin32RegistryKey: Move assertions
2482  - !1518 strfuncs: Use a GPtrArray in strsplit()
2483  - !1522 meson: Fix gnulib printf checks
2484  - !1524 meson: Fix gnulib build where isnan*() is needed
2485  - !1525 Normalize C source files to end with exactly one newline
2486  - !1528 gtlsconnection: Improve documentation of peer-certificate[-errors]
2487  - !1530 tree: Fix various typos and outdated terminology
2488  - !1531 gvariant: Fix documentation for g_variant_get_string() to match reality
2489  - !1532 win32: spelling fix
2490  - !1535 glib.supp improvements
2491
2492 * Translation updates:
2493  - Bokmål, Norwegian
2494  - Catalan
2495  - Catalan (Valencia)
2496  - Chinese (Taiwan)
2497  - Dutch
2498  - French
2499  - Galician
2500  - German
2501  - Hebrew
2502  - Indonesian
2503  - Italian
2504  - Japanese
2505  - Latvian
2506  - Lithuanian
2507  - Malay
2508  - Romanian
2509  - Serbian
2510  - Slovak
2511  - Slovenian
2512  - Spanish
2513  - Turkish
2514  - Ukrainian
2515
2516
2517 Overview of changes in GLib 2.64.0
2518 ==================================
2519
2520 * Use `posix_spawn()` to speed up launching test D-Bus instances (!1388)
2521
2522 * Bugs fixed:
2523  - #1783 Document using glib-mkenums with meson
2524  - #2049 Crash in g_array_copy
2525  - !1384 Some minor clang warning fixes
2526  - !1386 docs: Document generated headers caveats for genmarshal
2527  - !1387 ci: Correctly propagate exit status in run-style-check-diff.sh
2528  - !1388 gtestdbus: Use posix_spawn() to spawn dbus-daemon
2529  - !1389 Update GError docs to use G_DEFINE_QUARK
2530
2531 * Translation updates:
2532  - Czech
2533  - Danish
2534
2535
2536 Overview of changes in GLib 2.63.6
2537 ==================================
2538
2539 * Fix potential relative read when calling g_printerr(), which could lead to a
2540   denial of service from a setuid-root process being used to block access to the
2541   TTY for another user (#1919)
2542
2543 * Fix SOCKS proxy resolver sometimes not being used when resolving addresses
2544   via Happy Eyeballs (CVE-2020-6750) (#1989)
2545
2546 * Several other Happy Eyeballs fixes for address resolution (#1871, #1872, #1902)
2547
2548 * Various race fixes in `GDBusConnection` and its unit tests (#1515)
2549
2550 * Fix a race condition with D-Bus name ownership (#1517)
2551
2552 * Drop `gio-launch-desktop` helper application in favour of calling `sh` directly (#1633)
2553
2554 * Fix win32 exception handling with C# exceptions (#2025)
2555
2556 * Fix thread safety of `GUnixMountMonitor` (#2030)
2557
2558 * Additional fixes to new thread pool attribute behaviour from GLib 2.63.4 to
2559   check if sched_setattr() is allowed by system policies before depending on it (#2039, !1356)
2560
2561 * Fix memory leaks and corruption when freeing `GSource`s while freeing a `GMainContext` (!1353)
2562
2563 * Drop inappropriate installation of object manager example documentation (!1359)
2564
2565 * Bugs fixed:
2566  - #938 gdbus call -a doesn't support message bus connections
2567  - #1515 gio/gdbus-threading test sometimes fails in CI
2568  - #1517 g_bus_own_name does not always call name_lost_handler when _REPLACE and _ALLOW_REPLACEMENT are set
2569  - #1633 should not install gio-launch-desktop into PATH
2570  - #1919 read from relative path in g_printerr() in 2.58.3
2571  - #1995 Tracker issue for Happy Eyeballs regressions
2572  - #2002 g_io_channel_read_line does not honour the line_term symbols set
2573  - #2025 W32 exception handling misbehaves when C# exceptions are thrown when running inside the Visual Studio debugger
2574  - #2030 Random nautilus test suite failures involving GUnixMountMonitor
2575  - #2039 sched_setattr() still can cause EPERM through natural causes
2576  - #2043 Low memory monitor test failed in CI
2577  - #2044 GApplication docs suggest invalid GVariant type
2578  - !1185 gtimezone: Tidy up UTC timezone creation
2579  - !1281 ci: Update Docker packages
2580  - !1283 gmodule: change _g_module_close to only take a handle.
2581  - !1298 tests: Speed up the GIO actions test
2582  - !1299 gapplication: Fix a minor typo in the documentation
2583  - !1339 gsocketclient: Refactor g_socket_client_connect_async()
2584  - !1353 GMainContext - Fix memory leaks and memory corruption when freeing sources while freeing a context
2585  - !1354 GThreadPool - Add test for !1340
2586  - !1355 glist: Add docs examples of how to combine with g_steal_pointer()
2587  - !1356 GThread - Check if sched_setattr is allowed by the system policies before depending on it
2588  - !1359 docs: Don’t install object manager example separately
2589  - !1363 Make tests pass if we are euid != 0 with capabilities
2590  - !1366 Fix oss-fuzz coverage link
2591  - !1372 gobject: Fix strict aliasing warnings with g_set_object()
2592  - !1376 gitlab-ci: 64-bit ARM is aarch64, not arm64
2593  - !1381 ghash: Document the iteration order over a hash table is not defined
2594  - !1382 tests: Bump the refcount timeout in gdbus-threading
2595  - !1383 ci: Enable parallelisation when running installed tests
2596
2597 * Translation updates:
2598  - Basque
2599  - English (United Kingdom)
2600  - French
2601  - Galician
2602  - German
2603  - Greek, Modern (1453-)
2604  - Hungarian
2605  - Indonesian
2606  - Japanese
2607  - Korean
2608  - Lithuanian
2609  - Polish
2610  - Portuguese (Brazil)
2611  - Spanish
2612  - Swedish
2613  - Turkish
2614
2615
2616 Overview of changes in GLib 2.63.5
2617 ==================================
2618
2619 * Fix behaviour of `g_file_move()` fallback code to not follow symlinks (#986)
2620
2621 * Rename `--glib-min-version` argument of `gdbus-codegen` to `--glib-min-required`
2622   (this is not an API break as `--glib-min-version` was added earlier in the
2623   2.63 cycle) (#1993)
2624
2625 * Add gtk-doc checks to CI and fix a number of documentation issues
2626   (thanks to Xavier Claessens) (!978)
2627
2628 * Add `G_SIZEOF_MEMBER()` macro (!1333)
2629
2630 * Add a debug message if `g_setenv()` or `g_unsetenv()` are used after any
2631   threads have been spawned — this will be upgraded to a warning in future (!1337, #715)
2632
2633 * Skip memory monitor tests if xdg-desktop-portal or dbusmock are not available (!1296, !1338)
2634
2635 * Change the `libmount` configure option from a boolean to a Meson `feature` (!1344)
2636
2637 * Do not return `target-uri` from `g_file_peek_path()` when called on trash/recent files (!1346)
2638
2639 * Drop new TLS certificate API for PKCS #11 backed certificates, as the implementation
2640   is not ready yet (this is not an API break as the API was added earlier in the
2641   2.63 cycle) (!1347)
2642
2643 * Bugs fixed:
2644  - #986 g_file_move: remove G_FILE_COPY_NOFOLLOW_SYMLINKS section
2645  - #1551 CI: Add checks for `TODO` in MRs
2646  - #1925 Large number of routes installed into kernel cause high cpu usage
2647  - #1993 Rename gdbus-codegen --glib-min-version argument to --glib-min-required and add --glib-max-allowed
2648  - #2012 spawn_thread_queue not initialised in GThreadPool
2649  - #2020 g_network_monitor_base_add_network() improperly unrefs GInetAddressMask
2650  - !978 Various fixes to make gtkdoc-check pass on glib
2651  - !1018 docs: tag enclose 'all' and 'help' values
2652  - !1170 Avoid C++20 deprecated assignment to volatile
2653  - !1296 tests: Skip GMemoryMonitor tests if the dbusmock template is not available
2654  - !1307 Remove global declaration of GMemoryMonitor
2655  - !1322 gmain: Mark G_SOURCE_FUNC as available in 2.58
2656  - !1333 Add and use G_SIZEOF_MEMBER() macro
2657  - !1337 genviron: Message if g_setenv()/g_unsetenv() are used after threads spawned
2658  - !1338 tests: Skip GMemoryMonitor tests if xdg-desktop-portal is not available
2659  - !1344 meson: libmount autodectection
2660  - !1345 gio-tool-info: Print unix mount information where available
2661  - !1346 gfile: Do not return target-uri from g_file_peek_path()
2662  - !1347 Revert "gtlscertificate: Add support for PKCS #11 backed certificates"
2663  - !1348 ghash: Clarify that g_hash_table_add() always consumes the key
2664  - !1349 doc: Clarify that _locker_new() does not actually allocate memory
2665  - !1351 glib.supp: update g-threaded-resolver-getaddrinfo-config
2666
2667 * Translation updates:
2668  - Japanese
2669  - Lithuanian
2670  - Malay
2671  - Portuguese (Brazil)
2672  - Swedish
2673
2674
2675 Overview of changes in GLib 2.63.4
2676 ==================================
2677
2678 * Fix various race conditions on signal emission in GDBus (#604, #978, #1232)
2679
2680 * Change thread pools so that thread attributes (in particular, priority) are
2681   inherited from the thread which created the `GThreadPool` initially, rather
2682   than from the thread which is pushing a new job into the pool (#1834, #2007)
2683
2684 * Expand support for running Windows apps with
2685   `g_app_info_launch_default_for_uri()` using rundll32 on Windows (#1932)
2686
2687 * Support multiple directories in `GSETTINGS_SCHEMA_DIR` environment variable (#1998)
2688
2689 * Support full Julian day range in `TZ` environment variable (#1999)
2690
2691 * Apply recursion depth limits to variants in D-Bus messages (!1201)
2692
2693 * Support adding call flags and timeouts to method calls generated by
2694   `gdbus-codegen` through the new `--glib-min-version` option (!1286)
2695
2696 * Fully deprecate TLS rehandshakes; they are now ignored due to TLS protocol
2697   changes (!1305)
2698
2699 * Bugs fixed:
2700  - #198 g_fopen and friends: should also state how to close a stream
2701  - #604 GDBus name watching dispatch is buggy/excessively-complicated
2702  - #833 g_object_set: document the need to cast varargs
2703  - #978 SIGSEGV in on_name_lost_or_acquired
2704  - #1232 Insufficient thread safety around GDBusObjectManagerClient
2705  - #1416 Re-add macOS CI
2706  - #1834 Unwanted priority/etc inheritance with GThreadPool and GThread and the POSIX implementation
2707  - #1932 Windows: Gio.AppInfo.launch_default_for_uri seems not to work for local files/folders
2708  - #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
2709  - #1997 Base64 encoding with "break_lines" claims to wrap at 72 characters but seems to wrap at 76
2710  - #1998 support multiple directories in GSETTINGS_SCHEMA_DIR
2711  - #1999 GTimeZone fails to accept full Julian day range when parsing the direct $TZ string format
2712  - #2007 Thread scheduler attributes fail under valgrind
2713  - !388 ci: Avoid downloading subprojects for each job
2714  - !1111 gio: test that launch_uris() exports files with the document portal when launching a flatpak
2715  - !1201 gdbusmessage: Limit recursion of variants in D-Bus messages
2716  - !1279 tests: Fix an error message set by foo_set_property()
2717  - !1286 gdbus-codegen: Add a GDBusCallFlags arg to method calls
2718  - !1291 gio-tool-list: Add an option to print display names
2719  - !1294 GMemoryMonitor docs fixes
2720  - !1295 gio: Fix socket test
2721  - !1301 GThread - Inherit parent thread priority by default for new Win32 threads
2722  - !1303 gvariant-core: Don't pass NULL second argument to memcpy
2723  - !1305 Fully deprecate TLS rehandshakes
2724  - !1308 gsocketclient: run timeout source on the task's main context
2725  - !1309 Fix crash in gutils when application is prevented access to passwd file
2726  - !1317 gfdonotificationbackend: remove notifications when bus name vanishes
2727  - !1320 subprojects: Temporarily avoid using wrapdb while it’s down
2728  - !1324 ci: Add some documentation to the style check CI test
2729  - !1325 Check for SYS_sched_getattr before using it unconditionally
2730  - !1330 W32: Correctly set st_ino when doing private stat()
2731  - !1334 gthread: Ensure GThreadSchedulerSettings is always defined
2732
2733 * Translation updates:
2734  - Catalan
2735  - Galician
2736  - Hungarian
2737  - Indonesian
2738  - Polish
2739  - Portuguese (Brazil)
2740  - Spanish
2741
2742
2743 Overview of changes in GLib 2.63.3
2744 ==================================
2745
2746 * Add a `--glib-min-version` argument to `gdbus-codegen` which controls breaks in the API of generated code (#1726)
2747
2748 * Add `g_clear_list()` API to clear `GList`s to `NULL` (#1943)
2749
2750 * Add a `GMemoryMonitor` API to be notified of memory pressure situations using the low-memory-monitor project (!1005)
2751
2752 * Add support for dispose functions for `GSource` implementations (!1175)
2753
2754 * Tighten up validation of GObject signal and property names, allowing performance improvements (!1224)
2755
2756 * Fix installation path of GIO modules on MSVC to be the bindir (!1254)
2757
2758 * Bugs fixed:
2759  - #650 g_signal_lookup gives too many warnings
2760  - #1011 GListStore, easily find if the item is already inserted
2761  - #1130 gdbus-codegen: Add an option to strictly generate markdown in source comments
2762  - #1687 glocalvfs.c uses non-thread-safe getpwnam()
2763  - #1726 Warn when method/signal uses type 'h' but lacks GDBus.C.UnixFD annotation
2764  - #1935 Assert in _kqsub_free seems to be too strict
2765  - #1943 Consider g_clear_list()
2766  - #1947 Documentation clarification for g_uuid_string_random()
2767  - #1953 Documentation for g_type_init() and others missing from online gtk-doc documentation
2768  - #1961 A typo in the comment of `g_settings_schema_get_path`: threfore -> therefore
2769  - !1005 gio: Add GMemoryMonitor to monitor for low-memory
2770  - !1172 gptrarray: Add an example to the g_ptr_array_steal() docs
2771  - !1175 Implement a dispose function for GSource
2772  - !1223 Add additional valgrind suppressions
2773  - !1224 Signal name handling improvements
2774  - !1230 ci: Run installed-tests on Fedora
2775  - !1235 Add sudo to Fedora docker image
2776  - !1239 tests: Run "timeout tests" sequentially
2777  - !1248 ci: Update all Debian CI runners to use v5 of the Dockerfile
2778  - !1249 gio-tool-mount: Allow mounting by the given UUID
2779  - !1252 ci: Fix running all jobs on merge requests
2780  - !1253 gthread: Fix "zero as null pointer" warning
2781  - !1254 giomodule: gio modules are no longer installed in bindir on MSVC
2782  - !1255 ci: Build Docker images rather than OCI images if using podman
2783  - !1256 gdate: Add autoptr support
2784  - !1258 Minor CI fixups
2785  - !1261 gtk-doc: Ensure we have recent enough version
2786  - !1262 tests: Add tests for the gdbus-codegen executable
2787  - !1265 build: don't check for protected visibility
2788  - !1267 Revert "doc: Workaround gtkdoc-scan bug leading to undocumented symbols"
2789  - !1268 ci: Work-around successful installed tests having no logs
2790  - !1269 gvariant: Add guard to g_variant_get()
2791  - !1271 tests: Enable GDBus debug for a number of unreliable tests
2792  - !1274 trash portal: Don't follow symlinks
2793  - !1275 Small doc correction
2794  - !1277 Various gtk-doc improvements
2795  - !1278 Update installed tests CI
2796  - !1280 clang-format-diff: Output diff for multiple files, not just one
2797  - !1282 Revert "Revert "docs: remove GDBusObjectManager example""
2798  - !1284 Update POTFILES.in 191212
2799  - !1287 atomic/tests: test g_atomic_pointer_compare_and_exchange() with const pointers
2800  - !1289 gtype: Define auto-cleanup functions for Module class
2801
2802 * Translation updates:
2803  - Spanish
2804
2805
2806 Overview of changes in GLib 2.63.2
2807 ==================================
2808
2809 * Use `lldb` rather than `gdb` on macOS for debugging (#1004)
2810
2811 * Switch the atomic builtins from `__sync_fetch_*()` to the slightly more modern
2812   `__atomic_*()` (#1750)
2813
2814 * Fix calculation of `gsize` width on various platforms (including OpenBSD) (#1777)
2815
2816 * Fix undefined behaviour causing brokenness in `g_utf8_find_prev_char()` when
2817   compiling with GCC ≥ 8 (#1917)
2818
2819 * Revert UNIX mode changes in `G_FILE_ATTRIBUTE_ID_UNIX_MODE` which broke OSTree (#1934)
2820
2821 * Slightly improve performance for signal emissions when no handlers are connected (!1083)
2822
2823 * Add `g_task_return_value()` and `g_task_propagate_value()` APIs to allow
2824   `GTask` to be used from language bindings more easily (!1216)
2825
2826 * Fix a file monitoring crash on kqueue-based systems (BSD) (!1221)
2827
2828 * Bugs fixed:
2829  - #1004 [PATCH] Make gbacktrace use lldb on Mac OS X
2830  - #1552 CI: Add code style checks
2831  - #1750 Switch from  __sync_fetch_*() to __atomic_*() in glib/gatomic.h
2832  - #1777 gsize: improper typedef on (at least) OpenBSD
2833  - #1895 Regression: glib does not compile on centos 6: "objcopy: unrecognized option '--add-symbol'"
2834  - #1917 Test utf8-pointer fails with static build, LTO, optimisations, and new GCC
2835  - #1930 glib/tests/bookmarkfile.c:385:test_modify: assertion failed: (stamp == now)
2836  - #1934 ostree tests broken since bfdc5fc4fc84ef8518d2d1a328c8482cf5a38e98: File '/tmp/test-tmp-libostree_test-basic-user.sh.test-QB4SA0/diff-test2' is not empty
2837  - #1938 GDateTime doesn't support leap seconds
2838  - #1940 atomics test fails on FreeBSD CI since !1123
2839  - !1039 Improve documentation for footgun function g_tls_client_connection_copy_session_state()
2840  - !1083 Use the GObject hole on 64bit arches for some flags to improve performance
2841  - !1202 CI updates after !1177
2842  - !1208 gutils: Slightly improve docs formatting for g_get_os_info()
2843  - !1209 Make ld executable configurable
2844  - !1210 gdbus-server-auth test: Include gcredentialsprivate.h
2845  - !1213 gsocket: Improve diagnostics on bind() failure
2846  - !1214 gvariant, gbytes: Avoid memcmp (NULL, ., 0) or memcmp (., NULL, 0)
2847  - !1216 Make GTask more binding-friendly
2848  - !1218 gdb: Fix GHashTable pretty printer off-by-one error
2849  - !1220 gparam: fix memory leak in g_param_value_defaults()
2850  - !1221 Add NOTE_REVOKE to the list of the monitoring events
2851  - !1225 gtlsconnection: clarify handshake() documentation
2852  - !1227 Deprecate old GTlsConnection functionality even harder!
2853  - !1231 Fix build on old libc that does not define _SC_HOST_NAME_MAX
2854  - !1238 gstrfuncs: use gsize type internally for strv functions
2855  - !1242 gfileinfo: Clarify the documentation for G_FILE_ATTRIBUTE_UNIX_MODE
2856  - !1243 docs: Fix "occurred" typos in API documentation
2857
2858 * Translation updates:
2859  - Spanish
2860
2861
2862 Overview of changes in GLib 2.63.1
2863 ==================================
2864
2865 * Several usability improvements to command line `gio` tool (!1153)
2866
2867 * Add `g_array_steal()`, `g_ptr_array_steal()` and `g_byte_array_steal()` APIs (#285)
2868
2869 * Add `g_get_os_info()` API (!1063, !1160)
2870
2871 * Add `g_warning_once()` API (!1028)
2872
2873 * Always resolve `localhost` to loopback address in `GResolver` (!616)
2874
2875 * Add `GMainContextPusher` API (!983)
2876
2877 * Limit recursion in `g_variant_parse()` (!1173)
2878
2879 * Fix crash in `g_spawn()` with high FD numbers due to use of `select()` rather
2880   than `poll()` (#954)
2881
2882 * Allow passing empty `GValue`s to `g_param_value_set_default()` (!1186)
2883
2884 * Escape header guards generated by `gdbus-codegen` better (#1379)
2885
2886 * Bugs fixed:
2887  - #285 [PATCH] add array steal and memdup functions
2888  - #954 The g_spawn_sync() function uses select() which has limitations
2889  - #1318 rare failure in gdbus-peer test: invalid uninstantiatable type '(null)' in cast to 'GDBusServer'
2890  - #1379 gdbus-codegen generates invalid header guards when build directory contains a + character
2891  - #1622 NULL pointer derefs on g_vasprintf() failure
2892  - #1813 g_option_context_add_main_entries() is missing array annotation for entries parameter
2893  - #1831 No reply on private socket due to auth problem
2894  - #1836 gobject.c uses undefined annotation “(not optional)”
2895  - #1858 docs/reference/gobject/tut_gobject.xml: object properties example uses deprecated API
2896  - #1877 g_cancellable_source_new annotated with 'skip'
2897  - #1896 Use after free when calling g_dbus_connection_flush_sync() in a dedicated thread
2898  - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
2899  - #1903 use-after-free in mimeapps test causes intermittent segfault during testing
2900  - #1906 test_os_info fails on FreeBSD
2901  - #1916 objcopy not used from cross-compilation file in GIO tests
2902  - #1923 Recent Versions of GLib Break Dolphin File-Manager's Thumbnailing when Using 'gtk2' Style
2903  - !616 Always resolve localhost to loopback address
2904  - !983 gmain: Add GMainContextPusher convenience API
2905  - !1014 tests: Add a test for g_assert_finalize_object()
2906  - !1028 gmessages: Add g_warning_once()
2907  - !1035 Switching from C gnu89 to C gnu99 standard
2908  - !1063 gutils: Add g_get_os_info()
2909  - !1082 gdatetime: Document RFC 3339 extensions when parsing ISO 8601
2910  - !1105 syscall flood on every time*() function call
2911  - !1120 Update documentation with FreeBSD build instructions
2912  - !1135 gmain: use atomic operation instead of GMutex to access g_main_context_default()
2913  - !1146 Solaris build fixes
2914  - !1147 gmodule: fix typo in doc comment
2915  - !1148 gio/gfileinfo: fix parameter references
2916  - !1149 gio/gfile: fix parameter reference for value_p
2917  - !1150 gio/gfile: fix parameter references to @contents
2918  - !1151 gio/gfile: fix typo in doc comment
2919  - !1152 gwinhttpvfs: Handle g_get_prgname() returning NULL
2920  - !1153 Several gio-tool bash completion fixes and improvements
2921  - !1155 Strict-aliasing fixes to new atomic built-ins
2922  - !1157 Fix various compiler warnings on Android
2923  - !1160 Add Windows support to g_get_os_info()
2924  - !1161 hash: Remove an assertion from the hot path
2925  - !1163 gcharset: Expand the documentation for g_get_locale_variants()
2926  - !1165 Use uname as a fallback to get OS info
2927  - !1167 Fix some minor leaks in testfilemonitor
2928  - !1168 Fix gdatetime tests on toolbox
2929  - !1171 Revert "gdbus-codegen: emit GUnixFDLists if an arg has type 'h'"
2930  - !1173 gvariant: Limit recursion in g_variant_parse()
2931  - !1177 ci: Add libdbus development files to CI Docker images
2932  - !1179 Improve GPtrArray doc-comments
2933  - !1180 array: Avoid use of memcpy(dest, NULL, 0)
2934  - !1181 gmain: Clarify thread safety of some common GSource functions
2935  - !1182 gio: Fix typo in URL
2936  - !1186 Allow using an empty GValue with g_param_value_set_default()
2937  - !1189 gparamspecs: Fix type class leaks on error handling paths
2938  - !1197 Fix GDBus test failures on non-Linux (in particular FreeBSD)
2939  - !1200 Minor fixes from a scan-build run
2940
2941 * Translation updates:
2942  - Catalan
2943  - Chinese (Taiwan)
2944  - Spanish
2945
2946
2947 Overview of changes in GLib 2.63.0
2948 ==================================
2949
2950 * Add g_fsync() API (#35)
2951
2952 * Fix regression in g_file_copy() when passing
2953   `G_FILE_COPY_TARGET_DEFAULT_PERMS` flag; the destination permissions would be
2954   private rather than following the process’ umask (!1142)
2955
2956 * Several `GDateTime` parsing fixes (!1127)
2957
2958 * Always build the tests if installed-tests are enabled, so that the tests can
2959   actually be installed (!1141)
2960
2961 * Rework atomic function implementations to use memory barrier in the correct
2962   place (when compiler intrinsics aren’t providing the atomics), and fix
2963   signedness issues (#1449, #1565)
2964
2965 * Use the OS’ `fdwalk()` function (if safe) to speed up `g_spawn_*()` on BSD (#1638)
2966
2967 * Remove the macOS `dyld` `GModule` implementation in favour of `dl` instead (!1093)
2968
2969 * Bump Python requirement to ≥ 3.5, which we implicitly relied on anyway through
2970   our Meson dependency (!1132)
2971
2972 * Bugs fixed:
2973  - #35 add g_fsync to API
2974  - #174 g_file_copy always preserves  permissions, even if G_FILE_COPY_ALL_METADATA flag is not set
2975  - #259 docs: fix a misunderstanding in g_type_add_interface_*
2976  - #767 g_signal_lookup fails if class is not referenced
2977  - #1052 g_io_write_chars calls abort when given a null byte as input
2978  - #1449 glib fallback atomic int/ptr get/set have memory barrier in wrong place
2979  - #1565 Signedness of atomic operations
2980  - #1638 g_spawn_*() is extremely slow under certain circumstances
2981  - #1809 Provide API for working with PKCS11 backed certificates
2982  - #1843 TSAN false positive with g_atomic_pointer_get/g_atomic_pointer_set under Clang
2983  - #1865 g_variant_get_data_as_bytes fails after serializing a variant
2984  - #1875 Segfault and Overflow in __gio_xdg_cache_mime_type_subclass() with Wps-Office installed
2985  - #1887 glib 2.62.0 breaks loading dylibs as modules
2986  - #1888 2.62: docs build on Windows broken
2987  - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
2988  - !1020 docs: Remove priv pointers from the tutorial example
2989  - !1062 gtype: mark the inline functions in G_DECLARE_*_TYPE() as UNUSED
2990  - !1080 tests: Fix skipping mkdir-with-parents-permission test
2991  - !1088 Various small scan-build fixes
2992  - !1090 giochannel: Clarify type of GSource callback in documentation
2993  - !1093 gmodule: remove macOS dyld implementation
2994  - !1095 Define G_IOV_MAX to 512 on macOS/iOS
2995  - !1099 gmem: clarify that g_malloc always uses the system allocator
2996  - !1109 doc: fix typo in gio/gsettings.c
2997  - !1110 gio: Add missing "gio remove" option to bash completion script
2998  - !1112 Add version macros for GLib 2.64
2999  - !1115 gdatetime: Fix error handling in g_date_time_new_ordinal()
3000  - !1116 gmarkup: Add a limit on the number of attributes in an element
3001  - !1119 Annotate the return value of various utility functions
3002  - !1124 docs: Fix typo in GConverter{Input,Output}Stream section titles
3003  - !1125 gdatetime: Fix error handling in g_date_time_new_week()
3004  - !1126 fileinfo: Mention that usec mtimes are set
3005  - !1129 gdate: Fix tautological comparison warnings on Android
3006  - !1130 Improve GLIB_DEPRECATED_MACRO_FOR output
3007  - !1131 gio/gfileinfo: fix param reference in doc comment
3008  - !1132 build: Bump Python requirement to ≥ 3.5
3009  - !1137 gregistrysettings: bump key name length to 2048
3010  - !1138 Always build tests if we enabled installed-tests
3011  - !1139 g_file_info_get_modification_date_time: Calculate in integer domain
3012
3013 * Translation updates:
3014  - Danish
3015  - Italian
3016  - Panjabi
3017  - Serbian
3018  - Turkish
3019
3020
3021 Overview of changes in GLib 2.62.0
3022 ==================================
3023
3024 * Fix new `GFileInfo` APIs to work when `G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC`
3025   was not queried (!1087)
3026
3027 * Bugs fixed:
3028  - #487 Add valgrind test runs to CI
3029  - !1084 garray: Fix reference to GLIB_SIZEOF_INT
3030  - !1086 glib.supp: make gobject_init() calloc also of the possible kind
3031  - !1087 fileinfo: ignore USEC if not available
3032
3033 * Translation updates:
3034  - Friulian
3035  - Portuguese (Brazil)
3036
3037
3038 Overview of changes in GLib 2.61.3
3039 ==================================
3040
3041 * Support setting thread name on BSD systems (#1761)
3042
3043 * Install previously-uninstalled headers for public `GNativeSocketAddress`
3044   object (#1854)
3045
3046 * Very initial support for Windows apps (UWP) (!1057)
3047
3048 * Add various new valgrind suppressions to `glib.supp` (#1879, !1075)
3049
3050 * Bugs fixed:
3051  - #83 Optimisation for g_nearest_pow() in garray.c
3052  - #512 GSignal: accumulator function not called to accumulate G_SIGNAL_RUN_CLEANUP object handler return values
3053  - #873 allow NULL arguments to parse_strv
3054  - #905 Patches from static analysis run on 2.40
3055  - #1057 goption: add sanity check to input parameters
3056  - #1309 GSettings object stops emitting "changed" signal on g_settings_reset after call to g_settings_delay
3057  - #1620 GDBus criticals from GVfs with GLib master
3058  - #1761 Setting thread-name on BSD systems
3059  - #1803 GDK_SCALE=X is not respected when using "gio open"
3060  - #1819 Invalid characters in Open Location dialog crashes GIMP
3061  - #1852 Regression: g_mkdir_with_parents() returns 0 on failure
3062  - #1854 glib/gio: GNativeSocketAddress headers not installed.
3063  - #1860 g_clear_handle_id does not trigger GLIB_VERSION_MAX_ALLOWED warning
3064  - #1863 Potential invalid writes on g_utf8_strreverse
3065  - #1867 A couple of en_GBisms
3066  - #1870 GSettingsBackend watches not thread-safe
3067  - #1879 Incomplete valgrind suppressions - 16 KiB leak reported by valgrind from loading libglib-2.0.so
3068  - #1880 glib/gbacktrace.c: If dup2 happened to return -1, don't call dup2 with same value
3069  - #1881 GIO_USE_VOLUME_MONITOR and GIO_USE_FILE_MONITOR do not work as documented
3070  - !1002 Remove mentions of mailing lists from the documentation
3071  - !1011 gapplication: Fix a leaking GRemoteActionGroup member
3072  - !1015 Post-release version bump
3073  - !1016 gnetworkmonitornm fixups
3074  - !1017 Improve ISO 8601 parsing by GDateTime
3075  - !1023 g_object_get_property: Improve documentation for use of G_VALUE_INIT
3076  - !1026 gutf8: Assert that written memory stays in bounds
3077  - !1027 gfileutils: Fix error propagation for other than ENOENT
3078  - !1031 meson: build gnulib if printf isn't good enough
3079  - !1032 meson: small printf check cleanups
3080  - !1033 win32: don't assume the format specifier for the stdlib printf/scanf like functions
3081  - !1034 glib/tests/fileutils: Add a reproducer for #1852
3082  - !1036 cond test: Don't make assumptions about struct sigaction member order
3083  - !1037 Meson: Override glib-compile-resources/schemas
3084  - !1044 Relax use of g_test_bug() to not require g_test_bug_base() to be called first
3085  - !1049 minor typos in the documentation
3086  - !1050 tests: Fix a pragma warning on FreeBSD
3087  - !1054 gerror: Add a docs paragraph about not displaying errors verbatim in UI
3088  - !1057 Some (probably) easy uwp patches
3089  - !1059 Update win32 readme, add myself to codeowners
3090  - !1066 libffi.wrap: Meson port has moved to FDO gitlab
3091  - !1068 gsubprocesslauncher.c: fix documentation
3092  - !1071 meson: Move libdl_dep to the top level
3093  - !1074 Adjust README formatting
3094  - !1075 glib.supp: add suppression for g_type_class_ref()
3095
3096 * Translation updates:
3097  - Basque
3098  - Catalan
3099  - Czech
3100  - English (United Kingdom)
3101  - French
3102  - Galician
3103  - German
3104  - Hungarian
3105  - Indonesian
3106  - Korean
3107  - Lithuanian
3108  - Polish
3109  - Romanian
3110  - Spanish
3111  - Swedish
3112
3113
3114 Overview of changes in GLib 2.61.2
3115 ==================================
3116
3117 * Add various new array functions (#236, #269, #373)
3118  - `g_array_copy()`
3119  - `g_ptr_array_copy()`
3120  - `g_ptr_array_extend()`
3121  - `g_ptr_array_extend_and_steal()`
3122  - `g_array_binary_search()`
3123
3124 * Add `g_assert_finalize_object()` helper function for writing tests (#488)
3125
3126 * Rework how D-Bus connections are closed/unreffed when `g_test_dbus_down()` is
3127   called. Tests which leak a `GDBusConnection` may now time out and abort,
3128   rather than silently leaking. (#787)
3129
3130 * Add a deprecation macro for GLib macros, and use it; third-party uses of
3131   long-deprecated GLib macros may now start causing warnings. (#1060)
3132
3133 * Deprecate `GTime` and `GTimeVal`, and various functions which use them.
3134   Use `GDateTime` and `guint64` UNIX timestamps instead. (#1438)
3135
3136 * Stop using `G_DISABLE_DEPRECATED` to allow disabling deprecation warnings;
3137   third-party code should now be using
3138   `GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED}` to control symbol usage (!871)
3139
3140 * Improve support for running `ninja test` when GLib is built statically (#1648)
3141
3142 * Improve `GNetworkMonitor` detection of offline states (#1788)
3143
3144 * Fix build failure on macOS related to missing `_g_content_type_get_mime_dirs`
3145   function (#1791)
3146
3147 * Add various installed utilities’ paths to `gio-2.0.pc` (#1796)
3148
3149 * Fix keyfile `GSettings` backend and portal (especially relevant to any version
3150   of GLib included in a flatpak runtime) (#1822, !985)
3151
3152 * More IPv6 ‘Happy Eyeballs’ fixes in `GNetworkAddress` (!865)
3153
3154 * Fix CVE-2019-12450, wide permissions of files when copying using GIO (!876)
3155
3156 * Bump the Meson dependency from 0.48.0 to 0.49.2; we won’t depend on anything
3157   higher than this for a while, as Debian 10 ships 0.49 (!924)
3158
3159 * Various test fixes for Windows (!930, !931)
3160
3161 * Initial support for Universal Windows Platform (UWP): certification, and use
3162   of packaged libraries (!951)
3163
3164 * Add experimental clang-cl support on Windows, allowing `g_autoptr()` support
3165   on Windows (!979)
3166
3167 * Bugs fixed:
3168  - #77 G_STDIO_NO_WRAP_ON_UNIX wraps
3169  - #236 Add a function to copy an array
3170  - #269 Additional convenience functions for g_ptr_array
3171  - #373 GArray could use a binary search function
3172  - #436 running tests leaves lots of coredumps
3173  - #453 find-enclosing-mount docs confusing
3174  - #488 Add g_object_assert_last_unref() helper macro to detect object leaks in tests
3175  - #590 A reader lock can be obtained even if a writer is already waiting for a lock
3176  - #638 g_atexit is defined when not declared
3177  - #737 Initialize GValue in g_object_get_property()
3178  - #787 gtestdbus: Properly close server connections
3179  - #804 gdbusproxy prefixes unstripped error
3180  - #870 Fix and enhance GDatetime for Windows
3181  - #872 ucs4 functions have wrong return transfer
3182  - #887 gdusmessage.c mishandles bounds of GDBusMessageType and related enums
3183  - #894 gvalue: Avoid expensive checks where possible
3184  - #940 Docs for g_socket_listener_set_backlog are not very helpful
3185  - #943 G_DEFINE_TYPE_WITH_PRIVATE docs not helpful
3186  - #1018 Allow guid key in dbus addresses
3187  - #1060 Add deprecation macro for macros
3188  - #1169 Tools can display gibberish messages from translations
3189  - #1270 g_get_charset always returns 8-bit codepage on Windows, crippling UTF-8 output
3190  - #1438 Deprecate GTimeVal- and GTime-based APIs
3191  - #1635 g_socket_join_multicast_group iface parameter fails on win32/64
3192  - #1648 2.58.2: Assorted asserts fail in Arch Linux when built statically
3193  - #1729 g_content_type_guess segfaults when passed an empty data buffer on Mac OS
3194  - #1788 GNetworkMonitor claims I am offline
3195  - #1790 documentation on g_file_info_get_attribute_as_string
3196  - #1791 _g_content_type_get_mime_dirs missing from libgio-2.0.0.dylib on MacOS
3197  - #1792 glib-genmarshal generated valist marshal does not respect static scope for some types
3198  - #1793 glib-genmarshal generates wrong code for va marshaler for VARIANT type
3199  - #1794 API Proposal: g_timer_is_active
3200  - #1796 Add gio-querymodules variable to pkg-config file
3201  - #1797 glib/tests/win32 test failing on 64-bit Visual Studio builds
3202  - #1798 /contenttype/tree reliably fails on FreeBSD since !863
3203  - #1807 g_dbus_server_new_sync() documentation references nonexistent function
3204  - #1808 Stopping a GDBusServer should clean up Unix socket paths (if not abstract) and nonce-tcp nonce files
3205  - #1811 Introspection info for g_unichar_compose's 3rd arg should be OUT
3206  - #1822 keyfile gsettings backend not loading
3207  - #1823 Documentation for disabling selinux is incorrect
3208  - #1825 GKeyFileSettingsBackend created without filename construct property and unchecked assertion
3209  - #1828 Small typo in gio manpage
3210  - #1837 Specify for each (optional) parameter, whether it is OUT or INOUT
3211  - #1838 Reword documentation for G_DECLARE_FINAL_TYPE
3212  - #1847 Setting GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED} to before 2.56 triggers warnings
3213  - !533 docs: Document pitfall of deprecation pragmas
3214  - !563 ci: Add scan-build job in a new ‘analysis’ pipeline stage
3215  - !678 glib-compile-schemas: Improve translatable strings
3216  - !817 gdate: Officially mark GTime as deprecated
3217  - !851 gsettings: Document that lists are returned in no defined order
3218  - !853 gobject: Fix apostrophe usage in a few small bits of documentation
3219  - !859 gobject: Add a g_assert_finalize_object() macro
3220  - !863 gunicollate/cygwin: Don't use __STDC_ISO_10646__ for wchar_t related checks
3221  - !865 gnetworkaddress: fix "happy eyeballs" logic
3222  - !867 Post-release version bump
3223  - !871 Drop G_DISABLE_DEPRECATED
3224  - !873 Use atomic reference counting for GSource
3225  - !874 Clamp number of vectors to IOV_MAX / UIO_MAXIOV for GOutputStream writev()...
3226  - !875 CI/msys2: disable coverage reporting, lcov doesn't support gcc9 yet
3227  - !876 CVE-2019-12450: gfile: Limit access to files when copying
3228  - !877 gio: specify proper c_marshaller and va_marshallers
3229  - !883 tests: Fix small race in GSubprocess tests
3230  - !884 garcbox.c: Fix typo atomit => atomic
3231  - !885 goption: Clarify G_OPTION_ARG_FILENAME documentation
3232  - !889 Include <sys/filio.h> for FIONREAD
3233  - !901 gmain: Clarify that g_source_destroy() doesn’t drop a reference
3234  - !904 Add glib-genmarshal tests and fix some valist marshaller bugs
3235  - !906 property action: Add state hints
3236  - !908 Improve testfilemonitor test repeatability and debuggability
3237  - !909 D-Bus auth mechanism improvements
3238  - !914 ci: Run scan-build in a different build directory
3239  - !915 docs: fix typo on arrays examples in gvariant-text
3240  - !917 docs: Fix name of IRC channel in CONTRIBUTING.md
3241  - !919 glib/tests/refcount.c: Fix tests on non-GCC-isque compilers
3242  - !920 gmacros: Only use deprecated attributes on enumerators with GCC ≥ 6.5
3243  - !923 Check if compiler symbols are defined before using them
3244  - !924 Bump the required version of Meson
3245  - !930 glib/tests/convert.c: Skip tests that aren't meaningful for Windows
3246  - !931 glib/tests/fileutils.c: Fix stdio Wrapper Test on Windows
3247  - !934 build: Increase the slow test timeout to 180s
3248  - !935 Ignore */__pycache__/* directories
3249  - !937 Fix module tests on Visual Studio builds
3250  - !939 gstdio: minor cleanups
3251  - !941 list model: Expand items-changed docs
3252  - !944 gutils: Don't limit the length of the host name to 99
3253  - !945 Avoid overrunning stack at the end of the varargs.
3254  - !947 gobject/tests/signals.c: Fix tests on Windows
3255  - !948 GObject: Fix mkenums.py and genmarshal.py tests on Windows
3256  - !950 ci: Enable CI on FreeBSD 12
3257  - !951 Preliminary patches for Universal Windows Platform support
3258  - !952 gio: Make minor docs improvements
3259  - !953 g_utf8_normalize: Doc comment return missing nullable annotation
3260  - !954 Fix the ISO 15924 code for Manichaean
3261  - !955 gmacros: Use _Static_assert when C11 is available
3262  - !958 gthread: fix minor errno problem in GCond
3263  - !961 gmain: Fix g_main_context_prepare priority annotation
3264  - !962 gmacros: Use _Static_assert only for non-expr static assert
3265  - !964 gmacros.h: Use static_assert on MSVC if possible
3266  - !968 Fix typo in request handle
3267  - !970 gdatetime: Unset LC_ALL for the test as well
3268  - !971 docs.c: Forward link from g_auto* → G_DEFINE_AUTO*
3269  - !973 doc: fix typo in gio/gresource.c
3270  - !979 Experimental clang-cl support
3271  - !980 gmacros.h: Add better support for clang-cl
3272  - !981 gio: fix typo in g_settings_reset documentation
3273  - !982 Various doc fixes
3274  - !985 Keyfile portal fixes
3275  - !987 gio/tests: Remove code and comments referring to libtool
3276  - !991 fix atomic detection on older gcc versions
3277  - !992 docs: Add example to g_test_summary() documentation
3278  - !994 gio: Fix minor docs mistakes
3279  - !996 Small array test fixes
3280  - !997 gdbusaddress: Add missing transfer annotation
3281  - !1007 Resubmission of !832 “Try to create the complete path right away and fall back”
3282  - !1009 gapplication: remove inactivity_timeout source on finalize
3283
3284 * Translation updates:
3285  - Hungarian
3286  - Indonesian
3287  - Portuguese (Brazil)
3288  - Spanish
3289
3290
3291 Overview of changes in GLib 2.61.1
3292 ==================================
3293
3294 * `g_unichar_isxdigit()` and `g_unichar_xdigit_value()` now handle full-width
3295   characters (U+FF21–U+FF26 and U+FF41–U+FF46) (#58)
3296
3297 * Deprecate `gtester` utility and its test reporting format and enable TAP
3298   output by default instead — the `--tap` option to tests is now a no-op
3299   (#1441, #1619)
3300
3301 * Add `g_test_summary()` to allow test authors to programmatically summarise
3302   what each unit test in a test suite does (#1450)
3303
3304 * Upgrade to Unicode Character Database v12.1 (#1713, !822)
3305
3306 * More IPv6 Happy Eyeballs fixes to `GNetworkAddress` and `GSocketClient`
3307   (#1747, #1771, #1774)
3308
3309 * Fix valgrind and gdb support for the new `GHashTable` changes (#1749, #1780)
3310
3311 * Fix GTask wait times growing faster than the number of task threads (#1683)
3312
3313 * Change `GApplication` to ignore `-psn_*` arguments on the macOS command line,
3314   as they are irrelevant (#1784)
3315
3316 * Add `g_autoqueue()` helper macros, similar to `g_autolist()` (!474)
3317
3318 * Add pre-allocated link helpers for `GList` and `GQueue`:
3319  - `g_list_insert_before_link()`
3320  - `g_queue_insert_before_link()`
3321  - `g_queue_insert_after_link()`
3322
3323 * Improve network availability detection with NetworkManager to treat lower
3324   levels of connectivity as having reduced availability (!781)
3325
3326 * Add `g_clear_signal_handler()` to allow disconnecting from a `GObject` signal
3327   and clearing the signal handler ID to zero in a single call (!819)
3328
3329 * Add `g_autoptr()` support for `GRWLock` (!825)
3330
3331 * Define `G_OS_UNIX`, not `G_OS_WIN32`, when GLib is built agains Cygwin (!862)
3332
3333 * Bugs fixed:
3334  - #29 GScanner: should explicitly document modifiable fields (value, next_value, ...)
3335  - #58 g_unichar_isxdigit() and g_unichar_xdigit_value() should deal with full-width a-fA-F
3336  - #106 Boxed types should be documented better
3337  - #135 g_unichar_totitle(0) returns 0x00001F88 instead of 0
3338  - #429 g_format_size() is broken on Windows
3339  - #1441 Deprecate gtester
3340  - #1450 Add API for tests to describe what they're checking
3341  - #1619 GTest should have a way to default to TAP
3342  - #1683 GTask: task_wait_time is increased constantly when the number of running thread is greather than 10
3343  - #1713 Upgrade to Unicode Character Database v12
3344  - #1739 meson build failure libdl
3345  - #1747 Critical in g_socket_client_async_connect_complete
3346  - #1749 New GHashTable implementation confuses valgrind
3347  - #1753 Remove memory leaks from gio/test/resolver.c
3348  - #1755 Please revert #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
3349  - #1759 test_month_names: assertion failed
3350  - #1760 Document for g_resolver_lookup_records why it returns a list of list of gchar*.
3351  - #1763 tests: -p runs tests in the reverse of the specified order
3352  - #1768 g_strlcat(): Possible buffer overflow in implementation
3353  - #1771 GNetworkAddressAddressEnumerator unsafely modifies cache in GNetworkAddress
3354  - #1774 Leaks in gsocketclient.c connection code
3355  - #1776 glib/date test fails
3356  - #1780 GDB pretty-printer for GHashTable no longer works
3357  - #1782 Error in documentation for cross-compile.
3358  - #1784 MacOS adds a -psn_X_XXXXXX parameter to the command line
3359  - !474 Add g_autoqueue
3360  - !476 Add pre-allocated link helpers for GList and GQueue
3361  - !556 gtestutils: Make --tap compatible with -p and --GTestSkipCount
3362  - !732 gsocket: Clarify in docs that `flags` arguments can be platform specific
3363  - !766 W32: swap special g_get_prgname() for platform_get_argv0()
3364  - !774 Only build tests if certain conditions are met.
3365  - !780 Add copyright and licensing terms to test report generator
3366  - !781 gnetworkmonitornm: Fix network available detection
3367  - !782 build: Fix check for RTLD_NEXT
3368  - !785 Remove monitor test
3369  - !787 build: Remove */.gitignore files
3370  - !791 glib/gconstructor.h: Include stdlib.h for MSVC builds
3371  - !792 general: Remove a few unhelpful references to ‘master’
3372  - !795 gdesktopappinfo: Add support for MATE and Xfce4 terminals
3373  - !802 gio: tests, don't check for libdl on OpenBSD
3374  - !806 Get to 100% coverage on GQueue tests
3375  - !808 Update the Docker images used for CI
3376  - !809 Modified version of !784 — Adding tests cases for a better coverage of glib/tests/strfuncs.c
3377  - !813 gappinfo: Add precondition checks to GAppLaunchContext env methods
3378  - !814 gschema.dtd: Add target attribute to alias
3379  - !819 Clear signal handler
3380  - !820 ci: Keep JUnit report script working on Debian stable
3381  - !821 Various minor cleanups to autoptrs
3382  - !822 glib: Update Unicode Character Database to version 12.1.0
3383  - !825 Add autoptr support for GRWLock
3384  - !831 build: (Long time after) post-release version bump
3385  - !835 Fix typo in German translation
3386  - !836 Document the best practices for binding GInitiallyUnowned
3387  - !862 build: define G_OS_UNIX, not G_OS_WIN32 under cygwin
3388
3389 * Translation updates:
3390  - Basque
3391  - Catalan
3392  - German
3393  - Indonesian
3394  - Spanish
3395
3396
3397 Overview of changes in GLib 2.61.0
3398 ==================================
3399
3400 * Changes to `iconv` configure options, including the default iconv
3401   implementation on macOS — distributors may need to check their configure
3402   scripts (#1557)
3403
3404 * Build fixes when building GLib with `G_DISABLE_ASSERT` defined (#1708)
3405
3406 * Fix documentation for `gdbus-tool wait` to use correct units (#1737)
3407
3408 * Improvements to symlink handling on Windows (!269)
3409
3410 * Add exception handling for crashes on Windows (!582)
3411
3412 * Set `G_WITH_CYGWIN` again when GLib is built on Cygwin (this was a regression
3413   from the autotools build) (!736)
3414
3415 * Use `GCocoaNotificationBackend` by default on macOS, rather than
3416   `GGtkNotificationBackend` (!745)
3417
3418 * Use Windows symbol visibility when GLib is built on Cygwin, as PE binaries
3419   are subject to W32 visibility mechanics — this affects the definition of
3420   `_GLIB_EXTERN` (!752)
3421
3422 * Add coloured output support to `gdbus introspect` (!761)
3423
3424 * Bugs fixed:
3425  - #682 docs: advise not to use non-literal strings as qdata keys
3426  - #1177 gparted crashes due to g_quark_from_static_string used in global initialization
3427  - #1258 the buffer written to by g_input_stream_read is not marked as an out parameter
3428  - #1557 By default glib tries to use libc instead of native iconv on OSX
3429  - #1566 Meld Windows shows error on startup "There was a problem starting c:\Program"
3430  - #1614 GIO tests fail on FreeBSD CI with: Unexpected error from C library during 'pthread_mutex_lock': Invalid argument
3431  - #1708 Building GLib with G_DISABLE_ASSERT fails
3432  - #1709 GResource generation test incompatible with stable LLVM on Linux
3433  - #1710 Crash in g_cancellable_cancel
3434  - #1712 gdbus-proxy test is flaky
3435  - #1724 unconditional check in fuzzing/meson.build
3436  - #1725 gosxappinfo.h is not installed on macOS
3437  - #1727 Cannot use trash folder with an NFS mount using automount / autofs
3438  - #1728 GSocket does not support ENOTSOCK
3439  - #1732 Win32: lookup_by_name_async segfaults for not available domains
3440  - #1737 gdbus-tool wait command timeout argument incorrect unit reference
3441  - !67 glib: update internal gnulib from upstream
3442  - !269 Win32 symlink code refactoring
3443  - !493 tests: Check that cancelling g_file_replace don't overwrite existing file
3444  - !582 Basic W32 exception handling for glib
3445  - !680 Fix warnings glib
3446  - !690 Fix thread safety issues
3447  - !694 gvariant-parser: Fix pattern coalesce of M and *
3448  - !706 Fix data races in task test and gmenumodel test
3449  - !709 Bump release version for 2.62 series
3450  - !710 socket: Fix annotation for flags in g_socket_receive_message
3451  - !712 gwin32: Fix comment for g_win32_veh_handler
3452  - !716 Various minor documentation fixes
3453  - !717 Improve formatting of GCC attribute documentation
3454  - !718 GSocketClient - Free last error if a connection attempt fails and on retry the...
3455  - !719 Handle an UNKNOWN NetworkManager connectivity as NONE
3456  - !721 codegen: Fix use of uninitialised variable
3457  - !723 Provide examples for GNUC attribute macros
3458  - !724 meson: do a build-time check for strlcpy before attempting runtime check
3459  - !728 gsocket: Remove (type) annotation from flags arguments
3460  - !730 Improve gdbus-address parsing tests
3461  - !735 docs: Use the right g_autoptr function when using an auxiliary function
3462  - !736 Set G_WITH_CYGWIN again
3463  - !737 gresolver: Don’t use gai_strerror() on Windows, as it isn’t threadsafe
3464  - !741 Fix use-after-free triggered by gnome-session-binary
3465  - !745 gcocoanotificationbackend: give more priority than the gtk one
3466  - !749 gio: Add missing autocleanup definition for GSettingsSchema{Key,Source}
3467  - !750 Check for RTLD_NEXT
3468  - !752 Use W32 visibility for Cygwin
3469  - !754 Check for /proc/self/cmdline
3470  - !757 Fix gnulib build on older Visual Studio builds
3471  - !760 Properly ensure the cocoa notification backend type
3472  - !761 RFC: gdbus-tool: Add --color option for introspect
3473  - !762 gutils: Add (nullable) annotation to g_get_prgname()
3474  - !765 gslice: Use a convenience macro
3475  - !769 ci: Generate a cover report for the test suite
3476  - !772 tests: Check that option-argv0 test succeeds on Linux
3477  - !776 tests: Only run --external-data test on GNU ld/objcopy
3478  - !779 Fix 2.62 documentation symbols
3479
3480 * Translation updates:
3481  - Dutch
3482
3483
3484 Overview of changes in GLib 2.60.0
3485 ==================================
3486
3487 * Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1653, #1679, #1693)
3488
3489 * Add support for the XDG trash portal (#1676, !276)
3490
3491 * Bugs fixed:
3492  - #1653 gsocketclient-slow test is flaky
3493  - #1658 keyfile settings backend: Consider tightening permissions
3494  - #1668 Fill in CODE-OWNERS file
3495  - #1675 glib-compile-resources: c_name generation issue
3496  - #1676 Trash portal tries to open files as read-only but D-Bus API documents against that
3497  - #1679 socket-service test is flaky
3498  - #1693 Happy Eyeballs failure in gsocketclient-slow test
3499  - #1697 gthreadresolver: do_lookup_records does res_ninit with an uninitialized state
3500  - #1698 g_base64_encode(NULL, 0) causes critical warnings
3501  - !276 Support the trash portal
3502  - !639 gvariant-parser: Fix error handling when type coalescing fails
3503  - !666 Socket fixes to W32 test suite
3504  - !674 Update gvdb submodule
3505  - !676 Initialize a variable
3506  - !677 gerror: Add a missing precondition assertion in documentation
3507  - !686 gio: Also support modules built with MSVC
3508  - !688 gsocketclient: Fix critical on cancellation
3509  - !689 glib-compile-resources: Fix a minor leak
3510  - !691 gtask: Separate GTask fields memory locations to avoid data races
3511  - !692 glib.supp: Add more variations of existing suppressions
3512  - !696 Move closures refcount test to gobject/tests/
3513  - !698 gthreadedresolver: Remove unused thread pool
3514  - !699 tests: Fix closure-refcount to preserve old semantics
3515  - !702 Rename gobjectenumtypes.[ch] to glib-enumtypes.[ch]
3516  - !703 Clean up gmarshal.[ch]
3517
3518 * Translation updates:
3519  - Catalan
3520  - Czech
3521  - French
3522  - Friulian
3523  - German
3524  - Italian
3525  - Korean
3526  - Romanian
3527  - Serbian
3528
3529
3530 Overview of changes in GLib 2.59.3
3531 ==================================
3532
3533 * Fix support for g_get_user_special_dir() on macOS, including support for the Downloads directory (#1048)
3534
3535 * Ensure that cancelling a GTask cannot cause its callback to be called synchronously (in the same call chain as the original *_async() call) (#1608)
3536
3537 * Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1644, #1680)
3538
3539 * Various fixes for installation of installed tests (thanks to Iain Lane) (!649, !651)
3540
3541 * Various fixes for tests when run on Windows (thanks to LRN) (!665, !667)
3542
3543 * Bugs fixed:
3544  - #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
3545  - #875 gio-gvfs on Windows: Don't mishandle other non-native URIs in gwinhttpvfs.c
3546  - #1048 "Desktop" shortcut appears twice in file chooser sidebar on OSX
3547  - #1608 Cancellation might not be asynchronous under certain circumstances
3548  - #1644 network-address test failure in CI: IPv6 Broken (g-io-error-quark, 24)
3549  - #1680 Regression: g_socket_client_connect_to_host_async() sometimes gets "Connection refused" when connecting to localhost
3550  - #1686 gdbus-peer test is sometimes timing out
3551  - !613 Use win32 io channel on windows for the protocol test
3552  - !634 Win32: gio/gsocket.c: Set WSAEWOULDBLOCK on G_POLLABLE_RETURN_WOULD_BLOCK
3553  - !638 gvariant-parser: Fix parsing of G_MININT* values in GVariant text format
3554  - !640 tests: Tag socket-service test as ‘flaky’
3555  - !641 Minor typo fixes to GSpawn documentation
3556  - !645 gsocketlistener: Fix multiple returns of GTask when accepting sockets
3557  - !647 gsocketclient: Ensure task is always returned on cancel
3558  - !648 gio/tests/task: Run the worker indefinitely until it's cancelled
3559  - !649 gio tests: Install test1.overlay file when building installed tests
3560  - !650 gstring: fully document semantics of @len for g_string_insert_len
3561  - !651 tests: Install the slow-connect-preload.so library and use it
3562  - !667 GSubprocess fixes for W32 test suite
3563  - !668 tests: Mark gdbus-peer test as flaky
3564  - !669 GWin32VolumeMonitor: Sort the volumes correctly
3565  - !670 gpollableoutputstream: Fix the description of the interface
3566  - !672 Fix some tests when running as root
3567
3568 * Translation updates:
3569  - Catalan
3570  - Danish
3571  - French
3572  - Indonesian
3573  - Kazakh
3574  - Portuguese (Brazil)
3575  - Slovenian
3576  - Turkish
3577
3578
3579 Overview of changes in GLib 2.59.2
3580 ==================================
3581
3582 * Fix check on GDBusMessage size when reading it. (#1642)
3583
3584 * Add async GIO API: g_file_query_default_handler_async(), g_app_info_launch_uris_async() (#1249, #1347)
3585
3586 * Fix some bugs in the Happy Eyeballs implementation. (#1646, #1649)
3587
3588 * Install a new generated header with enum types for Unicode enums. (!481)
3589
3590 * Support the XDG trash portal. (!276)
3591
3592 * Bugs fixed:
3593  - #1224 TSAN patches
3594  - #1249 xdg-open/gnome-open doesn't work if service isn't started
3595  - #1347 g_app_info_launch_default_for_uri_async  is not really async
3596  - #1376 gmarkup: Optimize g_markup_escape_text()
3597  - #1642 minor mismatch between error and code in g_dbus_message_bytes_needed
3598  - #1646 Criticals in g_socket_client_enumerator_callback()
3599  - #1649 Critical in g_socket_client_connected_callback
3600  - #1673 G_MININT constants broken in g-i
3601  - !276 Support the trash portal
3602  - !481 Define enum types for Unicode enums
3603  - !585 gio: do not pass O_PATH file descriptors to portal APIs
3604  - !593 Don't fail trash test if ~/.local doesn't exist or mount points can't be determined (master)
3605  - !609 Make `g_app_info_launch_uris_async()` really asynchronous
3606  - !619 gvariant: Fix a mistake in docs
3607  - !622 Fixing warnings
3608  - !626 gdbus: Avoid printing null strings
3609  - !627 gsocketclient: Fix criticals
3610  - !629 Various memory leak cleanups to GSettings tests (subset)
3611  - !630 docs: Ignore more version macros
3612
3613 * Translation updates:
3614  - Galician
3615  - Hungarian
3616  - Lithuanian
3617  - Polish
3618  - Spanish
3619
3620
3621 Overview of changes in GLib 2.59.1
3622 ==================================
3623
3624 * Autotools support is gone. (!580)
3625
3626 * g_format_size() now uses a no-break space to separate digits and units;
3627   translations will need to be updated accordingly. (#1625)
3628
3629 * New g_queue_clear_full() API. (#1464)
3630
3631 * Fix argument quoting on win32 when spawning subprocesses. (!419)
3632
3633 * Allow polling more than 64 handles on win32 using g_poll(). (#1071)
3634
3635 * Tag various tests as ‘flaky’. These are no longer run routinely on our
3636   upstream CI machines, and downstream packagers may want to not run them (or
3637   not treat those test failures as package build failures) on their test
3638   machines either. They are in the `flaky` test suite. (!579)
3639
3640 * Add overlay support to g_resources_get_info(). (#1445)
3641
3642 * Support defaults and locks in the keyfile GSettings backend. This will be
3643   used for flatpaks. (!450)
3644
3645 * Accept unquoted strings in the keyfile GSettings backend to simplify things
3646   for sysadmins. (!603)
3647
3648 * Update our contribution guidelines (`CONTRIBUTING.md`). (!590)
3649
3650 * Add writev() and writev_all() APIs to GOutputStream and GPollableOutputStream,
3651   and provide implementations of them for many subclasses. (#1431)
3652
3653 * Bugs fixed:
3654  - #424 Add 'proxy' debugging support
3655  - #1055 Provide alignment macros
3656  - #1071 Eliminate MAXIMUM_WAIT_OBJECTS limitation in g_poll() on Windows
3657  - #1445 g_resources_get_info doesn't respect resource overlays
3658  - #1464 Add g_queue_clear_full() API
3659  - #1500 GListStore needs double checking on some warnings
3660  - #1623 xdg-open: file with colon results in “The specified location is not supported”
3661  - #1625 Unbreakable space needed when showing size of folder/file
3662  - #1636 GTask getters don’t return TRUE/FALSE after bitfield changes
3663  - #1637 EXCEPTION_ACCESS_VIOLATION in g_clear_pointer
3664  - #1639 GListStore implementation of g_list_model_get_item() returns wrong results on integer overflow
3665  - #1655 gvariant-parser warnings
3666  - #1663 G_MININT32 triggers compiler warning C4146 with Visual C++
3667  - #1666 `G_DEFINE_DYNAMIC_TYPE_EXTENDED` causes warnings with -Wcast-function-type
3668  - !319 giomodule: Print the type of each default GIO module
3669  - !333 Add writev() API to GOutputStream and GPollableOutputStream
3670  - !419 gspawn, win32: qouted args - escape end backslash
3671  - !450 Settings portal
3672  - !512 gtype: Clarify type of GInterfaceInitFunc
3673  - !516 gthread: Add g_private_set_alloc0() convenience API
3674  - !535 win32 gpoll: overcome the 64 handles limit
3675  - !545 goption: Fix an annotation on g_option_context_parse_strv()
3676  - !560 docs: Fix dconf GSETTINGS_BACKEND name in gio overview
3677  - !564 gtype: Document type for iface_default_init() function
3678  - !568 Add separate definitions of g_assert_[non]null() for C++
3679  - !571 docs: Add note on how to check a gboolean condition
3680  - !575 gio: Update bad cert error in accept-certificate and GTlsError docs
3681  - !579 Temporarily disable flaky tests
3682  - !580 Drop autotools support
3683  - !583 gmacros: MSVC supports the noreturn function attribute
3684  - !587 Remove unused .pc.in files
3685  - !588 MSVC: Move dirent implementation to glib/dirent/
3686  - !590 Update contribution documentation
3687  - !591 gfileinfo: Fix annotation for g_file_info_set_attribute_stringv
3688  - !592 Remove leftover build/ directory
3689  - !595 gtestutils: pass open file descriptors to subprocess
3690  - !597 tests: Tag gsocketclient-slow test as ‘flaky’
3691  - !598 gdbus-proxy test fails with GLib-GIO:ERROR:glib/gio/tests/gdbus-proxy.c:832:fail_test: code should not be reached
3692  - !599 gdtlsconnection: do not return on a void method
3693  - !601 gio: Support "help" in extension point env vars
3694  - !602 Update POTFILES.in
3695  - !603 keyfile settings: Accept unquoted strings
3696  - !608 build: Add -Wno-pedantic flag to compiler arguments
3697  - !611 gnetworkaddress: fix use-after-free for network address
3698  - !612 gdir: shutup a warning when building with msvc
3699  - !615 Fix a couple of wrong compiler warnings
3700
3701 * Translation updates:
3702  - Spanish
3703  - Swedish
3704
3705
3706 Overview of changes in GLib 2.59.0
3707 ==================================
3708
3709 * This will be the last development release with autotools support. As our
3710   Meson support has been around since 2.56.x, and was used to release tarballs
3711   in 2.58.x, the next development release (2.59.1) will drop autotools as used
3712   to build GLib. The macros installed for other packages to use will remain.
3713
3714 * Add `G_TEST_OPTION_ISOLATE_DIRS` to redirect `XDG_*_HOME` to a temporary
3715   directory for each unit test. (#538)
3716
3717 * Support `Property.EmitsChangedSignal` annotations in `gdbus-codegen`. (#542)
3718
3719 * Add `g_assert_cmpvariant()` API for unit tests. (#1191)
3720
3721 * Hide bind mounts from GIO mount listings. (#1271)
3722
3723 * Automatically realign data passed to `g_variant_new_from_bytes()` or
3724   `g_variant_new_from_data()` if it is not correctly aligned. This prevents
3725   misaligned accesses on architectures which don’t support them. Callers should
3726   still aim to correctly align data to get higher performance. (#1342)
3727
3728 * Support `ld -b binary` (on platforms which support it; i.e. Linux) to provide
3729   large pre-compiled `GResource` resources with a fast compilation time. (#1489)
3730
3731 * Unconditionally install GLib m4 macros, so that projects which depend on GLib
3732   and which still build using autotools can continue to build even once GLib has
3733   ported entirely to Meson. (#1520)
3734
3735 * Various fixes to the Meson build.
3736
3737 * Drop Python 2 support and require Python 3.4+. See discussion on
3738   https://mail.gnome.org/archives/desktop-devel-list/2018-July/msg00004.html.
3739   (!196)
3740
3741 * `GHashTable` performance and memory improvements for common cases. See
3742   https://hpjansson.org/blag/2018/07/24/a-hash-table-re-hash/. (!208)
3743
3744 * Add flags that allow a `GApplication` to signal and replace a currently
3745   running other instance of the same `GApplication`. This will be used for app
3746   upgrades with flatpak. (!250)
3747
3748 * Autostart xdg-desktop-portal when using the network monitor and proxy monitor
3749   portal backends. (!317)
3750
3751 * Add a g_task_set_name() API to allow `GTask`s to be described; useful for
3752   debugging. (!384)
3753
3754 * Enable FreeBSD CI on every commit for upstream GLib. (!387)
3755
3756 * Various GVariant, GMarkup and GDBus fuzzing fixes, including buffer overflow
3757   fixes. (!411)
3758
3759 * Various fixes to eliminate thread races, found by thread sanitizer (tsan).
3760
3761 * Deprecate TLS/DTLS rehandshaking, as it has been removed from the protocol in
3762   TLS 1.3. (!478)
3763
3764 * Support reading arguments from a file with `glib-mkenums`, which is useful
3765   for long argument lists due to having deeply nested build directories, on
3766   systems with a low limit on the command line length. (!489)
3767
3768 * Make `g_environ_*()` case-insensitive on Windows, as the environment itself
3769   is case-insensitive on Windows. (!500)
3770
3771 * Add Application Layer Protocol Negotiation (ALPN) support to `GTlsConnection`
3772   and `GDtlsConnection`, so that higher layer protocols can be negotiated when
3773   setting up a TLS connection, without additional round trips and latency. This
3774   is needed for eventual HTTP/2 support. (!520)
3775
3776 * Add support for TPM keys in PEM files when loading TLS certificates. (!522)
3777
3778 * Add a `GRecMutexLocker` auto-pointer wrapper for `GRecMutex`. (!528)
3779
3780 * Bugs fixed:
3781  - #107 The "g_key_file_get_comment" interface returns comment with unexpected new line symbol at the end
3782  - #179 g_object_unref assert in debug code
3783  - #277 'destroy_data' in g_cclosure_new is registered as finalize notifier instread invalidate.
3784  - #538 Add helpers to redirect XDG_*_HOME to a temp dir for unit tests
3785  - #542 gdbus-codegen does not honor "Property.EmitsChangedSignal" annotations
3786  - #656 check for -Werror=format-security broken
3787  - #734 Provide a way to instantiate a GDBusProxy-derived class from a GDBusConnection and a object path without blocking
3788  - #827 gmain: Clarify that g_source_set_callback() is safe on attached sources
3789  - #1055 Provide alignment macros
3790  - #1119 GVolumeMonitor: Results don't reflect current state but state when application was launched
3791  - #1191 add g_assert_equal_variants
3792  - #1261 Add option to leave <default> in gschema empty
3793  - #1271 fstab binds appear as mounts (x-gvfs-hide is being ignored)
3794  - #1310 gdbusproxy: make g-name-owner property useful with unique names
3795  - #1313 Meson: Rework the config.h generation
3796  - #1342 Automatically realign data passed to g_variant_new_from_bytes() or g_variant_new_from_data()
3797  - #1343 g_date_set_parse: Parses "September" in Polish incorrectly
3798  - #1362 Incorrect documentation about GSettings child add/remove notifications
3799  - #1452 GFileInfo: unable to retrieve correct modification time of links and mounted volumes on Windows
3800  - #1471 Incorporate oss-fuzz fuzz targets into GLib
3801  - #1489 Use `ld -b binary` to speed up GResource generation for linking
3802  - #1498 distcheck fails in distclean
3803  - #1506 error: redefinition of typedef 'GKqueueFileMonitor'
3804  - #1509 test_timeval_to_iso8601_overflow: 'out' should be NULL
3805  - #1513 GIcon regression?
3806  - #1514 gio/appinfo test sometimes fails in CI
3807  - #1518 /network-monitor/create-in-thread fails in (LXC) containers on glib-2-56
3808  - #1520 Change conditions for installing m4 macros
3809  - #1522 Trash not working on NTFS folder accessed from symlink
3810  - #1523 GIO NetworkMonitor doesn't reflect the current network state
3811  - #1525 GTask allows (buggy) application code to cause callback to be called twice, without warning
3812  - #1527 Meson doesn't install data for installed-tests
3813  - #1528 Meson tests are hard to debug in an autobuilder environment
3814  - #1530 tests/mainloop-test appears to be flaky
3815  - #1535 meson: installed-test metadata not run in TAP mode
3816  - #1536 meson: spurious dependencies on convenience libraries in .pc files
3817  - #1537 meson: absolute paths to ${builddir} included in gtk-doc HTML
3818  - #1538 meson: G_HAVE_GROWING_STACK defined differently
3819  - #1539 meson: Some files are unnecessarily installed executable
3820  - #1541 meson: timeloop-closure test not installed
3821  - #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
3822  - #1544 meson: gtester-report #! not replaced with ${PYTHON}
3823  - #1546 Cross-compilation fails in 2.58
3824  - #1556 build: Too long file path issue with meson on Windows
3825  - #1562 GDate test suite fails with latest glibc
3826  - #1570 ghash.c:694:27: left shift of 1 by 31 places cannot be represented in type 'int'
3827  - #1572 Flags validation fails
3828  - #1575 g_date_time_format() should have format attribute
3829  - #1576 Fails to build with Meson on Debian armel (armv5te EABI softfloat little-endian)
3830  - #1580 glib-compile-resources using strings breaks building e.g. GTK+ on MS Visual C, which limits strings to 65535 chars
3831  - #1581 Memory used for reference counted data might be misaligned.
3832  - #1588 Moving a bookmark item to the same URI causes a crash
3833  - #1589 g_log_writer_is_journald memoizes a single result, even though it accepts a parameter
3834  - #1590 tests: g-file-info-filesystem-readonly fails if run more than once with fuse & bindfs installed
3835  - #1594 Return value of g_dbus_connection_get_unique_name not annotated as nullable
3836  - #1600 g_timeout_source_new_seconds overflows when given interval > (G_MAXUINT / 1000)
3837  - #1601 appinfo test fix is defective
3838  - #1605 g_date_time_format fails when used with non ASCII format string on POSIX locale
3839  - #1615 gdbus-codegen not generating nullable annotation
3840  - !196 [RFC] build: Drop Python 2 support and require Python 3.4+
3841  - !200 Add a new GTlsError to indicate protocol downgrade attacks
3842  - !208 GHashTable improvements
3843  - !219 glocalfilemonitor: Fallback to poll file monitor for NFS
3844  - !238 W32 GFileInfo improvements
3845  - !250 Application replace
3846  - !264 glib-compile-resources: encode data as string
3847  - !268 build: simplify alloca checks. See #1313
3848  - !272 dtrace: Add missing const attributes to types in glib_probes.d
3849  - !273 gtlsbackend: add support for setting the default TLS database
3850  - !277 Use "command -v" instead of "which"
3851  - !282 meson: Add macOS libtool versioning for ABI compatibility
3852  - !286 gspawn: Fix build on systems without O_CLOEXEC
3853  - !287 glib-compile-resources: Fix generated code compiling with C++ compilers
3854  - !289 tests: Add more tests to finish branch coverage of GHashTable
3855  - !290 build: fix installation dir of glib-gettextize
3856  - !292 Remove all ChangeLog files
3857  - !293 Document new volume class `loop`
3858  - !294 portal network monitor: Always emit changed signal on changed
3859  - !295 meson: fix typo
3860  - !296 Add G_GNUC_FALLTHROUGH for __attribute__(fallthrough))
3861  - !297 build: Drop AC_C_CONST from configure.ac
3862  - !302 Document that GTimeVal is subject to the year 2038 problem on 32-bit systems
3863  - !303 liststore: Simplify code
3864  - !304 Add more GListStore/GListModel tests
3865  - !309 codegen: Change pointer casting to remove type-punning warnings
3866  - !312 Enable GIO tests on Windows
3867  - !316 gdbus: Improve error when well-known name is unowned
3868  - !317 Autostart xdg-desktop-portal if needed
3869  - !322 gnetworkmonitornm: Set a GError properly on an error handling path
3870  - !332 gmarkup: Make the documentation even more explicit about untrusted input
3871  - !334 gio: automake: Add libgmodule dependency
3872  - !338 gcharset: fix leaking g_get_language_names_with_category
3873  - !339 Add g_desktop_app_info_get_string_list(); fix g_key_file_free()
3874  - !340 tests: Mark two more tests as slow
3875  - !345 Fix build failure on systems without POSIX spawn
3876  - !347 Use Meson 0.48.0 for CI
3877  - !348 Documentation tweaks for g_array_free
3878  - !353 Meson: Do not run tests/refcount with --tap
3879  - !354 Fix spelling mistakes detected by Debian's Lintian tool
3880  - !358 Autotools: Move libmount from Libs.private to Requires.private
3881  - !360 CI: Test static build on installed glib
3882  - !363 Tests: Mark printf wrappers with G_GNUC_PRINTF
3883  - !364 ci: Enable FreeBSD CI
3884  - !366 gunixmounts: Mark mounts as system internal instead of filtering out
3885  - !372 gmacros: Fix G_[UN]LIKELY to not mask -Wparentheses
3886  - !374 gthreadpool: Include prgname in thread name
3887  - !375 m4macros: Allow information from pkg-config to be overridden
3888  - !376 gthread: Clarify priority handling in GRWLock
3889  - !379 Ignore g_return_*if_fail() branches in lcov coverage report
3890  - !381 Add UTF-8 communication tests for GSubprocess
3891  - !384 gtask: Add a g_task_set_name() method
3892  - !387 ci: Enable FreeBSD CI in the official repository
3893  - !396 m4: Fix AM_PATH_GLIB_2_0 macro
3894  - !400 grefcount: add missing gatomic.h
3895  - !403 build-sys: Pass CFLAGS to $(DTRACE)
3896  - !405 ci/msys2: fix path to the lcov config file
3897  - !406 meson: Mark 1bit-emufutex test as slow
3898  - !407 meson: Increase test timeouts
3899  - !410 gfileutils: Add examples to g_path_get_dirname() documentation
3900  - !411 Various GVariant, GMarkup and GDBus fuzzing fixes
3901  - !412 Enable compile time check of g_date_time_format() format
3902  - !413 Add support for g_auto(s)list to G_DECLARE'd types
3903  - !414 gio, tests: ensure objectmanager sources are generated
3904  - !415 gseekable: fix 'attmepting' typo
3905  - !416 gdbus-peer: Make sure to not include objectmanager-gen.c source
3906  - !417 Fix ^*ay handling in g_variant_iter_loop()
3907  - !418 Meson: Cleanup a FIXME now that we have dict addition
3908  - !420 gdbus-codegen: add autocleanup for FooObject
3909  - !422 GMarkup buffer overflow fixes for error handling, round 2
3910  - !423 gutils: Check whether getauxval function exists
3911  - !424 ci: Fix Docker image version
3912  - !425 gdate: Reinitialize using_twodigit_years and locale_era_adjust.
3913  - !435 gdatetime: Fix formatting of time zones offsets in range -01:00 to +00:00
3914  - !436 valgrind: Add glib_init()-related suppressions
3915  - !440 Fix minor memory leaks in tests
3916  - !443 tests: Avoid multithreaded use of g_test_rand_int_range
3917  - !444 gvarianttypeinfo: Consistently use atomics to access ref_count
3918  - !446 gmain: Fix data races in GUnixSignalWatchSource and GChildWatchSource
3919  - !451 closures test: Avoid timeout on ARM64 CPUs
3920  - !452 Atomic reference count in GVariant, ContainerInfo and GDBus introspection
3921  - !453 tests: Fix some data races in tests
3922  - !454 gdbusproxy: make g-name-owner property useful with unique names
3923  - !458 glib-compile-resources: Fix size allocation for compressed streams
3924  - !460 gatomicrefcount: Make g_atomic_ref_count_init non-atomic
3925  - !461 Meson: Fix build error in gdbus-example-objectmanager
3926  - !462 meson: add aarch64 memory barrier handling
3927  - !463 gio, tests: fix leak of dbus connection.
3928  - !467 Update documentation of g_tls_connection_handshake() again
3929  - !469 docs: add index of new symbols for gio > 2.52
3930  - !470 docs: Clarify return/error behaviour of D-Bus signal subscriptions
3931  - !472 gdbusmessage: Gracefully handle message signatures with invalid types
3932  - !477 gthread: Remove unsynchronized access to g_once_init_list from assertion
3933  - !478 Deprecate TLS rehandshaking
3934  - !480 docs: add a missing semicolon
3935  - !482 Check for 'z' library before fallbacking to subproject
3936  - !483 meson: Turn selinux into a meson feature and make it auto by default
3937  - !484 Meson: Add 'nls' option to disable translation
3938  - !485 gdbus-codegen: Tag interfaces and properties so annotated with G_PARAM_DEPRECATED
3939  - !486 Check for zlib header
3940  - !489 glib-mkenums: Support reading @rspfiles for arguments
3941  - !490 gspawn: Fix g_spawn deadlock in a multi-threaded program on Linux
3942  - !491 Meson: Add missing include_directories when using glib as subproject
3943  - !492 g_value_get_variant: return value is transfer-none not transfer-full
3944  - !494 Resolve "Follow-up from "gunixmounts: Stop considering cifs/nfs as system file systems""
3945  - !500 genviron: make g_environ_* case-insensitive on Windows
3946  - !504 tests: Unset LANGUAGE when running gdatetime tests
3947  - !505 Support isolating directories for unit tests
3948  - !508 ci: Install additional locales used during tests
3949  - !510 Add new Linux Testing project version number to configure script
3950  - !511 gvariant: Fix error handling for parsing Unicode escapes
3951  - !514 fix gdbus-codegen --interface-info-{header,body}
3952  - !515 binding: Clarify the use of g_object_unref() to remove a binding
3953  - !517 Meson: Fix deprecation warning with upcoming 0.49.0 release
3954  - !518 Meson: Fix declare_dependency() calls
3955  - !520 GTlsConnection: add ALPN support
3956  - !521 tests: Rename macro to avoid conflict with encoding prefix
3957  - !522 gtlscertificate: Add support for TPM keys in PEM files
3958  - !524 gdatetime: Fix typo in the comment
3959  - !528 Add GRecMutexLocker
3960  - !530 tests: Minor improvements to mkenums.py and taptestrunner.py used by it
3961  - !534 gtlscertificate: Fix bug in PEM private key parser
3962  - !536 Various minor docs fixes
3963  - !541 gtimezone: Fallback to /etc/timezone on Gentoo
3964  - !546 spawn: add shebang line to script
3965  - !547 Do not check for NULL when calling free()
3966  - !549 Improve documentation of g_assert_error()
3967  - !551 Revert "tests: Fix GOptionContext leak in GSubprocess tests"
3968  - !554 Only subscribe to owner-changed signals on message bus connections
3969  - !555 Suppress -Wint-in-bool-context warning with G_DEFINE_INTERFACE and g++
3970
3971 * Translation updates:
3972  - Brazilian Portuguese
3973  - Czech
3974  - Danish
3975  - Greek
3976  - Hungarian
3977  - Lithuanian
3978  - Norwegian bokmål
3979  - Polish
3980  - Slovak
3981  - Slovenian
3982  - Spanish
3983  - Swedish
3984  - Turkish
3985
3986
3987 Overview of changes in GLib 2.58.0
3988 ==================================
3989
3990 * Tarball built with `ninja dist`, so if you want to build this release with
3991   autotools (which is supported), you will need to re-run autogen.sh. This
3992   release, and all micro releases in the 2.58.x series, support being built
3993   with Meson or autotools. See:
3994   https://mail.gnome.org/archives/gtk-devel-list/2018-June/msg00012.html
3995
3996 * Fix cancellation of g_subprocess_communicate_async() calls. See !266.
3997
3998 * Drop support for the __int64 type, which further breaks compilation on old
3999   MSVC versions (before VS2013). See #1313.
4000
4001 * Expose GSettings schema directory in gio-2.0.pc as `schemasdir`. See !274.
4002
4003 * Support v3 of the xdg-desktop-portal network monitor API. See !265, !279.
4004
4005 * Fix G_MODULE_SUFFIX on macOS when GLib is built with Meson — it should be `so`
4006   rather than `dylib`. Projects that use Meson and the `g_module_build_path()`
4007   API such as glib-networking should pass `name_suffix:` to `shared_module()` to
4008   ensure that plugins continue to be called libfoo.so on macOS. See !280.
4009
4010 Bugs fixed:
4011  !280 meson: Always set G_MODULE_SUFFIX to `so` on macOS
4012  !266 subprocess: Fix communicate_cancelled signature
4013  !279 Revert "Add a gnet utility" (see !265)
4014  !265 Network monitor again
4015  !274 gio: Provide schemas directory information in pkg-config file
4016  !239 gvariant: Fix more bounds checking in GVariant text format parser
4017  !195 garray: add overflow checks before expanding array
4018  #1497 g_strdup_printf warns on invalid format specifier with G_GUINT64_FORMAT on Win32
4019  !270 autotools: remove support for the __int64 type. See #1313
4020  !267 ci: Add an autotools job
4021
4022 * Translation updates:
4023  Czech
4024  Galician
4025  Indonesian
4026  Italian
4027  Kazakh
4028  Korean
4029  Turkish
4030
4031
4032 Overview of changes in GLib 2.57.3
4033 ==================================
4034
4035 * G_GNUC_MALLOC’s definition has been tightened up to match an updated
4036   definition from GCC. Many uses of G_GNUC_MALLOC which were previously
4037   appropriate may cause miscompilation with newer GCC versions. Check your uses
4038   of it against the updated documentation. See #1465.
4039
4040 * Many minor documentation fixes.
4041
4042 * Fix for gint64 and int64_t compatibility on macOS and BSD. See #972.
4043
4044 * Fix free space metadata on some file systems (notably FAT). See #328.
4045
4046 * Support installed-tests with our Meson build system. See #1444.
4047
4048 * Forbid @filename@/@basename@ in glib-mkenums templates, which is a change to
4049   its long-standing behaviour (which was long-standing nonsensical). See !241.
4050
4051 * Various stat() fixes on Windows. See #1452, #1476.
4052
4053 * MinGW-w64 ABI warning: In case you build 64 bit glib without LFS support by
4054   passing --disable-largefile (not the default) and use GStatBuf, you need to
4055   rebuild your application as the size of GStatBuf has changed for this case.
4056   See #1476.
4057
4058 * Improve TAP compatibility of g_test_incomplete(). See #1474.
4059
4060 * Change fallback preferences when loading icons. See !72.
4061
4062 Bugs fixed:
4063  !263 build: Clean files left behind after gio/tests/gresource.c test
4064  !262 gmem: Only evaluate pointer argument to g_clear_pointer() once
4065  #1465 Many uses of G_GNUC_MALLOC are incorrect
4066  #1448 g_error does not abort() as documented
4067  #1494 g_clear_pointer may not use the correct calling convention with its callback
4068  #972 Mismatch between gint64 and int64_t on 64-bit macOS/BSD
4069  !251 gtestdbus: Fix watcher crash on FreeBSD
4070  #1492 gcc-8: -Wcast-function-type: new warnings for g_list_copy_deep()
4071  !252 tests: fix gnotification tests broken due to the recent icon name fallback changes
4072  #328 filesystem::{free,size,used} not set for full FAT fs
4073  !248 network monitor portal: update properties initially
4074  #1373 Incorrect transfer annotation for g_binding_unbind.
4075  #1444 the meson build doesn't support installed tests
4076  #1027 Fix trashing on overlayfs
4077  #1454 gvdb does not treat corrupt files as empty as promised; dconf suffers
4078  !243 tests: Explicitly set TZ=UTC for g_time_val_from_iso8601() testing
4079  #1488 ‘O_CLOEXEC’ undeclared (first use in this function)
4080  !241 glib-mkenums: forbid @filename@/@basename@ in fhead and ftail
4081  !240 gtimer: Ensure arithmetic is correctly signed for ISO 8601 parsing
4082  #1452 GFileInfo: unable to retrieve correct modification time of links and mounted volumes on Windows
4083  !234 DOC: Documentation fix in GTask description
4084  #1363 Meson: Review cross compilation properties
4085  !225 gtimer: Add overflow checks to g_time_val_from_iso8601()
4086  !230 gbookmarkfile: Fix some more minor leaks when metadata elements are repeated
4087  !229 Fix up g_bytes_compare() documentation
4088  #1476 g_stat - possbile memory corruption causing SEGFAULT
4089  !199 Update TLS documentation
4090  #1474 g_test_incomplete() makes test_case_run() return FALSE
4091  #1475 glib/tests/atomic.c test_types() trips -Werror=bad-function-cast on Debian armel
4092  #1472 Test for BROKEN_IP_MREQ_SOURCE_STRUCT is broken on Windows / Mingw
4093  !220 date test: Use g_test_skip(), not g_test_incomplete()
4094  #1467 malloc difference causes refstring test to fail on FreeBSD
4095  !230 gbookmarkfile: Fix some more minor leaks when metadata elements are repeated
4096  #1466 Not Able to Build glib 2.57.2 in Mingw-w64 x64 bits
4097  #1433 test_posix_parse: assertion failed (g_time_zone_get_abbreviation (tz, 0) == "UTC"): ("LMT" == "UTC")
4098  #1446 Follow-up from "Document difference between g_assert() and g_assert_*() wrt G_DISABLE_ASSERT"
4099  !206 grefstring: Avoid an unnecessary NUL assignment
4100  #1458 g_volume_get_mount returns NULL value after g_volume_mount_finish is called with no error
4101  !72 gio: icons should fallback to non-preferred style appropriately.
4102
4103 * Translation updates:
4104  Brazilian
4105  Chinese (Taiwan)
4106  French
4107  German
4108  Lithuanian
4109  Polish
4110  Romanian
4111  Turkish
4112
4113
4114 Overview of changes in GLib 2.57.2
4115 ==================================
4116
4117 * Require pcre 8.31
4118 * Require meson 0.47.0
4119
4120 * Bugs fixed:
4121  742456 Add g_steal_pointer() convenience function to mark ownership...
4122  795569 MinGW CI: fix tests
4123  796341 gmem.h: Use typeof() in g_steal_pointer() macro
4124  #1013 Support for per-session overrides
4125  #1360 glib-mkenums breaks if option specified but no nick
4126  #1175 Add names and tags to various GSources and GTasks constructed in GLib
4127  #903 g_main_context_wait() not deprecated in API, but emits a g_critical()...
4128  #786 Fix memory leaks in libgio tests
4129  #927 gio/gresource.c:do_lookup check for terminating "/"
4130  #976 Document difference between g_assert() and g_assert_*()...
4131  #1447 glib 2.57.1: test_month_names: assertion failed...
4132  #1407 Update to Unicode Character Database 11
4133  #1455 glib python tools have full python path in shebang, limits to 128 characters
4134  #1459 Missing g_return_val_if_fail in g_async_queue_timeout_pop
4135
4136 * Translation updates:
4137  Friulian
4138  German
4139  Romanian
4140  Spanish
4141
4142
4143 Overview of changes in GLib 2.57.1
4144 ==================================
4145
4146 * New api:
4147  - g_hash_table_steal_extended
4148  - G_GNUC_NO_INLINE 
4149
4150 * Bug fixes:
4151  668132 Use libmount and expose mount options on GUnixMountEntry type
4152  736741 Update private copy of valgrind.h
4153  748620 g_regex_* utf-8 validity requirements are not stated clearly
4154  784995 meson: some Windows improvements
4155  788771 NODELETE missing when built with meson
4156  788773 meson does not install correct pc files
4157  789968 Add g_autoptr() support for GTypeClass
4158  794325 Various fixes to compile on OSX
4159  795152 gdesktopappinfo: Mark GDesktopAppInfo constructors as nullable.
4160  795165 Add g_date_time_get_timezone() and g_time_zone_get_identifier()
4161  795180 Investigate performance impacts of recent compiler features on hot functions
4162  795302 Add g_hash_table_steal_extended() API
4163  795376 Add g_ptr_array_steal()
4164  795544 Add binary/textfile/zero size detection
4165  795569 MinGW CI: fix tests
4166  795636 gitlab-ci: generate test coverage reports
4167  795735 Fix comparison for GVariant property values
4168  795802 gdbus-codegen doesn't accept --output-directory with --output for --body and --header
4169  795849 gwin32: Fix detection of MinGW32 vs MinGW-w64
4170  795876 meson: Fix checks for posix_memalign and stpcpy
4171  795960 g_format_size_for_display() is deprecated since 2.30
4172  796085 Meson: Many apps breaks on non-glibc because of missing libintl
4173  796138 Fix typo in g_file_info_set_attribute docs
4174  796139 Add g_autoptr() support for GParamSpec
4175  796164 Fix atomic ops check in meson.build
4176  796186 Typo: "instead off" in gsignal.c
4177  796213 Meson: Fail to build on macosx
4178  796220 meson: do not run atomic test with msvc
4179  796264 Add android CI
4180  796325 meson: Add exception for atomic ops test for Android
4181  796328 gengiotypefuncs.py: Read and parse files in binary mode 
4182
4183 * Translation updates:
4184  Czech
4185  Indonesian
4186
4187
4188 Overview of changes in GLib 2.57.0
4189 ==================================
4190
4191 * Bug fixes:
4192  739424 Rewrite kqueue GFileMonitor backend to drop threading
4193  751826 Use g_get_language_names() for other locale categories
4194  788773 meson does not install correct pc files
4195  793400 g_application_id_is_valid() not strict enough
4196  793578 gdatetime tests depend on Japanese translation of month names
4197  793645 test_month_names: Updated translations needed for el_GR, hr_HR, ru_RU
4198  793729 gitlab-ci: Add Windows MinGW support
4199  793994 GUnixVolumeMonitor doesn’t show user mounts when run as root
4200  794170 gdbus: hexdecode() and hexencode() do not return/use decoded/encoded s...
4201  794194 gobject_gdb.py: 'address' is a property of gdb.Value not a function
4202  794207 leak: g_socket_listener_add_inet_port increases ref-count on socket-li...
4203  794284 Support whitespace stripping for JSON resources
4204  794285 glib-compile-resources should not noisily g_printerr() when xmllint is...
4205  794473 Remove duplicated option in gio.xml
4206  794506 glib-mkenums: Enters infinite loop if using typedef enum SomeIdentifier
4207  794528 Fix segfault caused by use-after-free in GPollFileMonitor
4208  794555 glib meson build fails on MinGW due to misdetected functions
4209  794557 gtkdoc-scangobj fails on gio in meson builds
4210  794606 glib-2.56.0 fails to compile when res_nquery is not available
4211  794635 gmacros: Don't define bogus __has_* macros
4212  794636 G_HAVE_GNUC_VISIBILITY is defined in meson MinGW builds
4213  794686 Date (except weekday) displayed in English
4214  794732 Fix various compiler warnings 
4215
4216 * Translation updates
4217  Hungarian
4218  Slowak
4219  Slovenian
4220  Spanish
4221
4222
4223 Overview of changes in GLib 2.56.0
4224 ==================================
4225
4226 * Bugs fixed:
4227  672777 Error in gdummyfile.c
4228  732184 GObject: warn on use of deprecated properties
4229  733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
4230  742124 g_data_input_stream_read_upto()'s documentation should say that the...
4231  749206 GDateTime: month names in the genitive case
4232  768507 simplify qguark functions
4233  791457 Slow transfer rate when writing to smb/cifs
4234  793272 fix GCC 8.0's -Wcast-function-type warnings
4235  793300 g_hash_table_add() return value change in 2.40 not mentioned in docs
4236  793399 Fix some cases of -Wduplicated-branches
4237  793555 -Wimplicit-function-declaration when using g_abort()
4238  793565 GLib does not compile on macOS 10.13 due to .m file naming
4239  793597 gdbus-tool: Make --dest optional for emit again
4240  793635 Enable CI for GLib
4241  793880 gnetworkmonitor: Minor fixes based on code review 
4242  793578 gdatetime tests depend on Japanese translation of month names 
4243  794180 test_month_names fails unless installed
4244
4245 * Translation updates:
4246  Brazilian Portuguese
4247  British English
4248  Catalan
4249  Czech
4250  Danish
4251  Dutch
4252  Finnish
4253  French
4254  Friulian
4255  Galician
4256  German
4257  Hungarian
4258  Indonesian
4259  Italian
4260  Kazakh
4261  Korean
4262  Lithuanian
4263  Polish
4264  Scottish Gaelic
4265  Serbian
4266  Serbian Latin
4267  Spanish
4268  Swedish
4269  Turkish
4270
4271
4272 Overview of changes in GLib 2.55.2
4273 ==================================
4274
4275 * GFile now has API to get the path without copying
4276
4277 * A network monitor implementation for Windows has been added
4278
4279 * Bugs fixed:
4280  520116 g_utf8_strlcpy()
4281  584284 g_data_input_stream_read_until_async behaves confusingly different f...
4282  605700 request for g_key_file_get_locale()
4283  658713 ngettext (plural forms) needed for "Message has %d file descriptors ...
4284  685442 windows GNetworkMonitor implementation
4285  723003 gsettings list-recursively reports some keys multiple times
4286  749583 GSequence performance improvements
4287  757284 Move G_DIR_SEPARATOR* and G_SEARCHPATH_SEPARATOR* into glibconfig.h
4288  760324 [PATCH] gkeyfile.c: find_file_in_data_dirs fails to return the path ...
4289  761102 Increase performance for main loop
4290  767976 GFile: Add g_file_peek_path()
4291  770335 gdbus-codegen: generated getter for 'ao' property is actually (trans...
4292  772989 Totem allows invalid urls that might cause segfault that's irrecover...
4293  790698 convert: test failure on NetBSD
4294  791015 gdbus-codegen: Split generation of header and source
4295  791622 Disable strict-aliasing in GLib
4296  792050 GResolver is not thread-safe
4297  792217 Deprecate GTlsClientConnection:use-ssl3
4298  792338 meson, autotools: figure out if mem barrier is needed for arm64 host...
4299  792351 gbookmarkfile: check length before dereferencing groups
4300  792364 gdbus-threading test method-calls-in-thread: assertion failed (elaps...
4301  792370 GNetworkMonitor: Rename "network-changed" signal argument
4302  792410 GDateTime new_from_iso8601 test broken in 2.55 on i386
4303  792432 flush stdout after logging (debug) messages
4304  792455 Improve docs of GSequence
4305  792499 deadlock on startup with TCP session bus
4306  792516 gconvert: More consistent handling of embedded NUL bytes
4307  792777 g_notification_set_urgent() unconditionally sets G_NOTIFICATION_PRIO...
4308  792780 gbytes should reference toplevel bytes when slicing with g_bytes_new...
4309  792856 off64_t isn't a part of C standard
4310  792862 gpollableoutputstream: document side effects of WOULD_BLOCK on D/TLS
4311  792903 Clarification between g_try_.. functions and their counterparts
4312  793006 High CPU load for GUnixMountsMonitor consumers
4313  793026 possible mem leak in g_mutex_impl_new
4314  793074 g_message() does not get -Wformat warnings when compiling with G_LOG...
4315
4316 * Translation updates:
4317  Hungarian
4318  Indonesian
4319  Polish
4320
4321
4322 Overview of changes in GLib 2.55.1
4323 ==================================
4324
4325 * Build:
4326  - The --enable-rebuilds configure option has been removed
4327  - The --with-charsetalias-dir configure option has been added
4328
4329 * GList and GSList now have autoptr support
4330
4331 * The gsettings list-schemas command has gained a --print-paths option
4332
4333 * Bugs fixed:
4334  346816 Refactor LIBDIR in libcharset Makefile
4335  508976 Does g_slist_sort preserve the order of equal elements?
4336  562334 2.18.2 break libglade on Solaris
4337  662802 systemtap multiarch issue
4338  684282 Add support static link of GIO modules
4339  692034 Install an invalidation notifier for GClosure in g_source_set_closure()
4340  694723 Get rid of REBUILD stuff in configure.ac
4341  697715 floating point precision problem in check test gst/gstvalue
4342  701156 testgobject assumes that the priv data follows the instance data
4343  720380 Segfault when using GDBusMenuModel on a peer-to-peer connection
4344  724383 glib: document restrictions on various foreach() functions
4345  724412 GLib mappedfile.c test uses g_get_user_runtime_dir instead of a tempo...
4346  724794 Fix "on on" typo in tap-driver.sh comment
4347  732003 gnode: Eliminate implicit signed-to-unsigned integer conversion
4348  734479 G_VALUE_HOLDS etc. cause -Wcast-qual warnings for a const GValue *
4349  737677 gmain: Make GSourceCallback thread-safe
4350  741167 gdbus-codegen fix for boxed out parameters
4351  748534 gtest: if a subprocess assertion fails, print its stdout and stderr
4352  749527 add weak pointer helpers similar to g_set_object
4353  749652 compilation errors with gcc 4.8
4354  754634 Update the list of Linux filesystem magic numbers used in get_fs_type
4355  756011 Fix up annotations for GBookmarkFile
4356  761102 Increase performance for main loop
4357  773980 GIR scanner doesn't interpret array type properly
4358  776147 gio/glocalfilemonitor.c doesn't handle case G_FILE_MONITOR_EVENT_MOVE...
4359  776195 -z nodelete configure check does not work on Solaris
4360  777075 Potential leak of memory pointed to by 'list'
4361  779413 Translated X-Geoclue-Reason string not used in a dialog window
4362  780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
4363  780893 Reword licensing header for gdbus-codegen
4364  782057 Unit tests fail in run-assert-msg-test.sh
4365  784995 meson: some Windows improvements
4366  786796 gtk-doc build fails with meson
4367  788806 Impossible to build static glib via meson
4368  788936 Show mime type icons on OS X
4369  790416 g_date_time_format returns empty string on %r with German locale
4370  790588 Generated file missing from .gitignore
4371  790697 g_object_ref API should propagate parameter type
4372  790785 glib-tap: Add missing mkdir for .test generation rule
4373  790829 glib-genmarshal --body must not generate alias implementations
4374  790830 Mismatch between number of interface methods in text and example code
4375  790837 Meson: missing many configure options
4376  790839 GApplication command line: lacks parameter_string, summary and descri...
4377  790877 fix non-portable check in G_GNUC_CHECK_VERSION
4378  790894 Do not connect to the session bus when trying GProxyResolverPortal io...
4379  790896 docs/reference/README has broken link to http://www.gtk.org/rdp/
4380  790914 gdesktopappinfo: Downgrade a warning to a debug message
4381  790934 gtester doesn't handle skipped tests
4382  790948 GSourceFuncs documentation is confusing: when will dispatch be called?
4383  791036 Guard for g_output_stream_vprintf makes no sense
4384  791128 C runtime complains about bad arguments on each g_log() call
4385  791221 po/README.translators has no useful information in 2017
4386  791235 Fix gschema.dtd regarding flags.
4387  791267 Make gschema.dtd usable.
4388  791296 gtester-report: fix range usage when running as python3 app
4389  791318 GBytes: Improve documentation
4390  791325 Gio handling of thumbnail:: attribute namespace causes inconsistent b...
4391  791334 gbinding.c:898: The target object of type GNetworkAddress has no prop...
4392  791337 Crash opening URIs with g_desktop_app_info_launch_uris_with_spawn()
4393  791342 Add autoptr support for lists
4394  791460 meson: fixes for OSX
4395  791532 Implicit declaration of function ‘memcmp’ in gtestutils.h
4396  791622 Disable strict-aliasing in GLib
4397  791720 Criticals in gio/xdp-dbus.h leading to crash under flatpak
4398  791744 gmenumodel test sometimes fails: assertion failed (items_changed_coun...
4399  791745 not immediately clear whether g_test_slow() is in effect by default
4400  791906 GSocketListenerClass.event has wrong signature
4401  792064 gsettings list-schemas --print-paths
4402  792098 Binding: bind_property’s @notify func is nullable
4403  792099 gdbus-test-codegen: Cast to void* to printf "%p"
4404  792129 meson: skip optional linux/unix deps that default to true when buildi...
4405  792322 GLib-GIO:ERROR:gschema-compile.c:51:test_schema: child process (/gsch...
4406  792324 gkeyfile: Document need for KEEP_TRANSLATIONS with get_locale_string()
4407
4408 * Translation updates
4409  Hebrew
4410  Indonesian
4411
4412
4413 Overview of changes in GLib 2.55.0
4414 ==================================
4415
4416 * New API:
4417   - g_clear_handle_id, to simplify removing sources from the default mainloop
4418   - g_file_load_bytes, to make it more convenient to load files into GBytes
4419
4420 * Bugs fixed:
4421  330458 Sample code for the GLib Key-value parser
4422  483341 g_error and friends create warnings when not used in MSVC
4423  569375 g[u]intptr undocumented
4424  573251 documentation for g_seekable_truncate() needs some love
4425  629347 Missing annotations in GFile (was: Perf throws an exception in cur...
4426  630983 [PATCH] Type accuracy for result of strlen() in string utilities.
4427  632953 Clarify documentation of GValueTransform.
4428  636210 Document that pre-unmount is not guaranteed and backend-dependant
4429  656502 type information for GSettings::backend missing from .gir
4430  661442 Nautilus crashes when refreshing home folder after modifying ~/.co...
4431  668035 gtester-report broken with python 2.7.2 and glib 2.30.1
4432  670139 gbytes.c:try_steal_and_unref nit
4433  677233 (transfer full) annotation not correct for g_closure_new_simple re...
4434  679347 glocalfile seems to leak 'fstype'
4435  679467 Mention translation in g_warning() documentation
4436  689323 Variable scoping in gunixmounts.c
4437  691436 glib-mkenums output arch dependent
4438  695681 gsettings bash completion put error messages
4439  705331 AM_PATH_GLIB_2_0 macro fails with -Wstrict-prototypes -Werror
4440  706667 Fix permission denied error when installing from an nfs directory
4441  711809 gdbus-proxy: Fix erroneous timeout during following tests
4442  722256 gslist: Simplified node removal and got rid of some code duplication
4443  723655 Socket source is left in the poll after the socket is closed
4444  723743 g_child_watch_add() doesn't check for non-pids
4445  725014 g_settings_schema_source_ref should check for NULL pointer
4446  727346 docs: Escape some backslashes for markdown
4447  730296 gsignal: Fix a potential NULL pointer dereference
4448  731625 Improve test for darwin printf format-strings
4449  731705 gio/tests/desktop-app-info assumes /bin/true
4450  737278 Clarify relationship of g_application_quit() to hold count
4451  738176 Skip GSpawnChildSetupFunc closures in introspection
4452  740223 source_object for GAsyncResult should be nullable
4453  740791 gio: cannot specify the source when joining a multicast group (IGM...
4454  740826 glib doesn't know fuse filesystems
4455  742548 configure.ac: stay out of autoconf's namespace
4456  742997 Don't skip invalid enum values in schemas
4457  745723 -Wunused-but-set-variable work-around no longer sufficient
4458  749371 Use a GHashTable as a set when possible
4459  751738 Unused-variable warnings in glib/tests/autoptr.c
4460  752239 Missing dependency for python files in build file
4461  752240 Add DTLS support to GIO
4462  753459 GDateTime: Add conversion functions from/to ISO 8601 strings
4463  753521 g_subprocess_launcher_set_environ misses argument annotations
4464  754026 gfileutils: add some sanity checks
4465  756009 'const gchar* const *' gets incorrectly defaulted to utf8
4466  756103 Skip g_base64_decode_step() in introspection
4467  756128 Fix up annotations in gconvert
4468  756430 g_rw_lock_reader_lock() can return without locking, or error
4469  756470 Fix up annotations in gdataset.c
4470  756588 Fix up annotations on data/qdata API of GObject
4471  760022 Memory leak in gvariant-parser.c
4472  760109 [PATCH] Invalid GDate can't be g_boxed_copy()'d
4473  760716 Fix documentation regarding <glib/gprintf.h>
4474  765063 Update annotations for gio
4475  765552 Please set serial in .m4 files to prevent autoreconf failure on up...
4476  767215 GCC version number is interpreted as start of a list in docs for g...
4477  767239 Tautological comparisons in convert tests
4478  769674 some GIO tests' arbitrary timeouts are too short
4479  769846 gmessages: Add timestamp to g_log_writer_format_fields()
4480  770459 Tutorial article is slightly wrong
4481  773355 Incorrect documentation about stopping a signal emission from a hook
4482  774083 spelling mistakes in glib: charater
4483  776562 Add Intel C Compiler support for G_GNUC_BEGIN/END_IGNORE_DEPRECATI...
4484  777308 GModule win32: disable error dialog popup
4485  777310 gio/gasynchelper.c: fix cast from pointer to smaller int type on w...
4486  777956 gmessages: Update advice for G_LOG_DOMAIN
4487  779182 xdg-open fails with gio open for some uris
4488  779501 Type of GIConv given wrongly on web
4489  780202 introspection: Don't expose GValueArray.free
4490  780296 xdg-open/gnome-open doesn't work if service isn't started
4491  781598 gstdio.h should #include what it needs to work
4492  781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/ina...
4493  783210 build: Switch to sassc for generating style
4494  783270 Improve Visual Studio support for Meson builds
4495  783825 Suggest that asynchronous operations should invoke the callback in...
4496  786737 No g_variant_get() example for dicts
4497  786785 Commit #fe2a9887a8 breaks gdbus-codegen, cannot find its module so...
4498  787271 Make GListModel usable from G-I bindings
4499  787485 g_tls_backend_supports_dtls () returns true when the backend doesn't
4500  787551 Factor out some duplicated code in GParamSpec validation
4501  787581 tests: Add tests for g_slist_copy() and g_slist_copy_deep()
4502  787671 meson: Fix permissions of installed scripts
4503  787731 g_file_query_filesystem_info() wrongly reports "filesystem::readon...
4504  788138 glib-compile-resources: Fix leak of a GHashTable
4505  788180 G_FILE_ATTRIBUTE_ID_FILE is useless on W32
4506  788270 gmodule - failed to load symbol on Android 64bit
4507  788368 Race condition in GDbusObjectManagerClient
4508  788384 gtypes: Fix signedness of __builtin_bswap() usage
4509  788385 gtestutils: Explicitly cast args to g_assertion_message_cmpnum()
4510  788401 PATCH: MacOS build cannot detect content type from content - xdgmi...
4511  788467 Fatal errors and warnings should be reported as TAP
4512  788488 GFile-based API for g_build_filename()
4513  788489 gmain: add g_clear_source API
4514  788561 Document how to integrate GTest into your project
4515  788594 gdbus-tool doesn’t handle non-message-bus connections correctly
4516  788705 Allow building GLib on older Linux platforms
4517  788766 fixed a doc-typo in socket_get_remote_address
4518  788772 meson installs gdb scripts incorrectly
4519  788863 Add more filename type annotations for strings which can contain f...
4520  788880 gunixmounts: Update list of virtual file systems to ignore
4521  788927 Expose better API for detecting ‘system’ mounts
4522  788936 Show mime type icons on OS X
4523  788948 Document Autotools best practices for genmarshal/mkenums
4524  788975 Meson + Visual Studio: Can't find zlib.h with subprojects/zlib
4525  788978 Document XML has a syntax error
4526  788989 Use subdir-objects with Autotools
4527  788990 Include licensing information in output from glib-mkenums, glib-ge...
4528  789087 gint and guint misrepresented as functions
4529  789170 GFormatSizeFlags should have a value for bits
4530  789245 g_settings_bind() not conforming to lifecycle specification
4531  789444 Fix handling of length in g_utf8_make_valid
4532  789637 glib-mkenums: Fails when --ouput file does not exist
4533  789681 meson: Libmount support not built
4534  789723 [PATCH] gdbus-codegen: Call abspath() earlier
4535  789755 g_get_host_name: ensure return value is always UTF8 encoded
4536  789820 GPollFileMonitor is not cleaning up correctly
4537  790015 docs: Various linking and syntax fixes
4538  790030 GResource/GVariant fails to load from non-pointer aligned memory
4539  790093 gio-tool: fix inverted logic in monitor tool
4540  790126 gengiotypefuncs.py is missing from tarballs
4541  790147 build: Drop data-to-c.pl in favour of data-to-c.py
4542  790157 gmessages: Give examples of G_DEBUG with gdb in the documentation
4543  790272 file: add g_file_load_bytes()
4544  790275 avoid temporary string allocations in g_resources_enumerate_children
4545  790310 speedup path canonicalization in GResourceFile
4546
4547 * Translation updates:
4548  Catalan (Valencian)
4549  Czech
4550  German
4551  Nepali
4552  Norwegian bokmål
4553  Slovak
4554  Slovenian
4555  Spanish
4556
4557
4558 Overview of changes in GLib 2.54.0
4559 ==================================
4560
4561 * Bugs fixed:
4562  780861 Crash in GnomeWallClock
4563  786983 Please make the output of gio-querymodules deterministic
4564  787109 Valgrind false positive in ioctl() in btrfs file copy
4565  787123 glib: Slighty update GIOChannel documentation
4566  787146 GMainLoop: match of parameter pair of LOCK_CONTEXT/UNLOCK_CONTEXT
4567
4568 * Translation updates:
4569  Basque
4570  Catalan
4571  Romanian
4572  Swedish
4573
4574
4575 Overview of changes in GLib 2.53.7
4576 ==================================
4577
4578 * Bugs fixed:
4579  736710 remove unnecessary executions of libtool from configure
4580  785260 gio/tests/appmonitor fails if local dir not writeable
4581  786456 g_subprocess_wait[_check]_async() breaks when cancelled...
4582  786555 g_array_free() is not thread safe w.r.t. g_array_unref()
4583  786580 gdesktopappinfo.c: Add Tilix as a fallback terminal
4584  786807 g_uuid_string_random undefined when built with meson
4585
4586 * Translation updates:
4587  Brazilian Portuguese
4588  Catalan
4589  Czech
4590  Danish
4591  Finnish
4592  French
4593  Friulian
4594  German
4595  Italian
4596  Kazakh
4597  Korean
4598  Latvian
4599  Nepali
4600  Polish
4601  Spanish
4602  Turkish
4603
4604
4605 Overview of changes in GLib 2.53.6
4606 ==================================
4607
4608 * Bugs fixed:
4609  766358 glib doesn't respect XDG_* envvars on W32, ever
4610  783270 Improve Visual Studio support for Meson builds
4611  785955 pthread_setname_np misdetected with meson
4612  786060 Sequences documentation does not make it clear...
4613  786360 gobject: add autoptr support for GClosure
4614  786452 crash on Linux without stderr stream
4615  786460 gio-tool: Unify buffer sizes
4616  786462 Use g_output_stream_write_all instead of while
4617  786463 gio-tool-save: Prevent overwriting error
4618
4619 * Translation updates:
4620  Catalan
4621  Galician
4622  Hungarian
4623  Indonesian
4624  Lithuanian
4625  Nepali
4626  Serbian
4627
4628
4629 Overview of changes in GLib 2.53.5
4630 ==================================
4631
4632 * Bugs fixed:
4633  695573 Untranslatable strings in glib-compile-schemas
4634  725950 GApplication: call dbus_unregister only once, and before destruction
4635  731703 giomodule test misbuilds its test modules as libraries
4636  769135 External control for g_test_add/g_test_run
4637  779332 Rewrite mkenums in Python
4638  779607 Race between mounts-changed signal and g_unix_mounts_get() function
4639  784000 Improve strerror_r() detection
4640  784815 Map G_NOTIFICATION_PRIORITY_HIGH to NOTIFY_URGENCY_NORMAL
4641  784965 Use the glib preset for i18n in Meson
4642  784995 meson: some Windows improvements
4643  785113 glib-mkenums Python port fixes
4644  785130 G_LOG_DOMAIN shouldn't be left undefined for applications
4645  785438 Spurious -Wmaybe-uninitialized in gdatetime.c
4646  785468 glib/gpoll: Unnecessary if conditional included in the poll_rest() function
4647  785520 Replace advice to use removed gdk_spawn functions
4648  785577 clobbers errno while setting GError
4649
4650 * Translation updates:
4651  Slovenian
4652  Spanish
4653
4654
4655 Overview of changes in GLib 2.53.4
4656 ==================================
4657
4658 * Unicode support has been updated to Unicode 10.0.0
4659
4660 * glib-genmarshal and glib-mkenums have been rewritten in python.
4661   Every effort has been made to keep compatibility. Please report
4662   problems related to these tools
4663
4664 * GLib can now be built with meson. autotools are still supported
4665
4666 * Bugs fixed:
4667  722047 drop makefile.msc?
4668  733821 g_strerror() uses strerror(3) instead of strerror_r(3)
4669  773842 g_utf8_find_next_char() won't signal the end of a NUL-terminated string
4670  779332 Rewrite mkenums in Python
4671  780095 g_utf8_get_char_validated() stopping at nul byte even for length specified...
4672  780634 Remove remaining old codepage ABI comapt code
4673  783841 test_GDateTime_new_from_timeval_overflow fails on 32 bit systems
4674  784000 Improve strerror_r() detection
4675  784020 GKeyFile – Add array length annotations to to_data(), get_keys() and get_g...
4676  784037 gio: Mention the ALL_METADATA flag in g_file_copy()
4677  784433 gdbus-codegen with variant type parameters result in nested variant
4678  784456 Update to Unicode 10.0.0
4679  784528 Rewrite glib-genmarshal in Python
4680  784579 Calling g_dir_open on Missing Directory When Executable File Path Contains...
4681  784581 docs: Fix cut'n'paste error in g_resources_get_info() doc
4682  784739 Minor typo in configure error message
4683  784792 Just fixing a little typo in comments
4684
4685 * Translation updates:
4686  Hebrew
4687
4688
4689 Overview of changes in GLib 2.53.3
4690 ==================================
4691
4692 * Bugs fixed:
4693  658446 Add translation comment for wrong password notice string
4694  661926 Improve the default logging setup in GLib
4695  674885 type initialisation deadlock in GObject
4696  775593 GIO cannot write symlinks on FreeBSD and NetBSD
4697  776169 Various gio-tool fixes
4698  776333 Fix annotation on g_file_copy_async()
4699  776504 Upgrade license from LGPLv2+ to LGPLv2.1+
4700  777307 race condition between gdbus signal callback and g_bus_unwatch_name...
4701  778422 gsubprocesslauncher: Clarify the behavior of set_environ()
4702  781301 Stack pointer corrupted by incorrect call of NtNotifyChangeMultipleKeys
4703  782336 Add additional documentation of the GResource XML format
4704  782996 build: Use AM_TESTS_ENVIRONMENT rather than TESTS_ENVIRONMENT
4705  783061 GApplication: Remove some unused members
4706  783130 Make dbus activation sandbox-aware
4707  783193 Adapt to OpenURI api change
4708  783201 gdbus-codegen: Apply --output-directory to generated docs as well
4709  783340 win32: port monotonic times to use QPC
4710  783350 length parameter can be NULL g_data_input_stream_read_line
4711  783392 incorrect (out) annotation for g_dbus_interface_info_generate_xml
4712  783593 GGtkNotificationBackend should use /org/freedesktop/DBus to call Ge...
4713
4714 * Translation updates:
4715  Esperanto
4716  German
4717  Indonesian
4718  Kazakh
4719  Spanish
4720
4721
4722 Overview of changes in GLib 2.53.2
4723 ==================================
4724
4725 * A few new number parsing functions have been added:
4726   - g_ascii_string_to_signed
4727   - g_ascii_string_to_unsigned
4728   These have better error handling than the existing ones.
4729
4730 * glib-mkenums now supports /*< private >*/ and /*< public >*/
4731
4732 * GSettings now consider XDG_DATA_HOME in addition to XDG_DATA_DIRS.
4733
4734 * Bugs fixed:
4735  674885 type initialisation deadlock in GObject
4736  698064 Add g_ptr_array_contains()
4737  732000 gdatetime: Remove an unnecessary NULL pointer check
4738  734946 Implement GContentType on OSX
4739  741335 Possible differences in use of XDG_DATA_DIRS versus XDG base directory specification
4740  748263 Use-after-free in g_dbus_connection_call_internal()
4741  776876 gmodule – Various Android bug-fixes
4742  777030 build error where minor() and major() cant be resolved in gio/gdbusmessage.c
4743  780300 gio/gosxappinfo.c uses deprecated LSFindApplicationForInfo
4744  780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
4745  781755 Avoid compiler warnings in generated marshallers code
4746  781826 portal support: Read /.flatpak-info
4747  781830 Fix some typos and errors in GVariant documentation
4748  781847 Use-after-free under send_message_with_reply_cleanup():gdbusconnection.c:1792
4749  781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/inappropriate auto...
4750  782068 doc: Trivial typo fixes
4751  782075 gtimer: Handle gmtime() failure in g_time_val_to_iso8601()
4752  782089 gdatetime: Fix overflow checks when constructing from timestamps
4753  782162 Support public/private trigraph in glib-mkenums
4754  782237 make check error
4755  782311 inode/directory is treated as a subclass of application/octet-stream
4756  782628 libmount build dependency check not requiring the right version?
4757
4758 * Translation updates:
4759  Hungarian
4760  Indonesian
4761  Spanish
4762
4763
4764 Overview of changes in GLib 2.53.1
4765 ==================================
4766
4767 * The gdbus tool gained a wait command
4768
4769 * g_unix_signal_source_new support SIGWINCH now
4770
4771 * There are now g_enum_to_string and g_flags_to_string functions
4772
4773 * A new function to instantiate objects: g_objet_new_with_properties
4774
4775 * GParameter and related APIs have been deprecated
4776
4777 * Bug fixes
4778  447907 enum/flags from string + type transform + tests
4779  668962 GUnixMountPoint/GUnixMountEntry not usable through gobject-introspection
4780  669355 gdbus-codegen output contains stray semicolons at file scope (forbidden in C99)
4781  674885 type initialisation deadlock in GObject
4782  698064 Add g_ptr_array_contains()
4783  709865 Add boxing to GParameter
4784  725894 build: Include gettext libraries for static compilation on Mac OS X
4785  734946 Implement GContentType on OSX
4786  741229 gio: Handle NULL cached properties in NetworkManager monitor
4787  745971 gdbus-tool: Add a command to wait for a well-known name on the bus
4788  755046 gfileutils: Add precondition checks to g_file_test()
4789  761102 Increase performance for main loop
4790  761889 GDateTime: %p does not always print AM/PM string
4791  766660 Please clarify the extent to which GInitable, GAsyncInitable must be idempotent
4792  769534 g_unix_signal_source_new does not support SIGWINCH
4793  772221 Take advantage of Unicode
4794  775879 g_log_default_handler should not check G_MESSAGES_DEBUG
4795  776169 various gio-tool fixes
4796  777961 Documentation for g_app_info_equals() could be clearer
4797  778049 race in gsource detected by TSan
4798  778207 gio-querymodules: fix memory leak
4799  778287 G_MODULE_EXPORT and -fvisibility=hidden
4800  779409 Fix false positive g_warning() in remove_filter()
4801  780066 g_base64_encode_close() in glib/gbase64.c produces invalid base64 encoding
4802  780095 g_utf8_get_char_validated() stopping at nul byte even for length specified buffers
4803  780306 Unused function in gunicollate.c for CARBON
4804  780310 g_tls_database_verify_chain doesn't set the GError for failures other than cancell...
4805  780384 gio/tests/contenttype fails on OS X: "public.directory" != "public.folder"
4806  780441 Make the portal implementation of g_app_info_launch() synchronous
4807  780634 Remove remaining old codepage ABI comapt code
4808  780908 gobject: remove duplicate GType sanity check
4809  780924 Memory leak in gdbusmethodinvocation.c
4810  781125 gio-tool: Fix errors format string
4811  781234 the buffer written to by g_input_stream_read is not marked as an out parameter
4812  781298 gfileutils.c:330:3: error: ISO C90 forbids mixed declarations and code
4813
4814 * Translation updates
4815  Catalan
4816  Friulian
4817  German
4818  Hebrew
4819  Indonesian
4820  Polish
4821  Russian
4822
4823
4824 Overview of changes in GLib 2.52.0
4825 ==================================
4826
4827 * Bug fixes:
4828  779799 gdatetime test fails with tzdata 2017a
4829  780032 Add missing attributes to two functions
4830  780144 gio/fam: Remove leftover debug print
4831
4832 * Translation updates:
4833  French
4834  Friulian
4835  Latvian
4836
4837
4838 Overview of changes in GLib 2.51.5
4839 ==================================
4840
4841 * OS X implementations of GContentType and GAppInfo
4842   have been added
4843
4844 * Bugs fixed:
4845  673047 gunicollate is broken on OS X (patch included!)
4846  734946 Implement GContentType on OSX
4847  747146 Implement GNotification on OSX
4848  769983 glib-mkenums generates non-reproducible Makefile snippets
4849  777203 gnulib license information is not correct in glib2.0
4850  778515 Crash in the gio kqueue backend
4851  779456 Make g_utf8_make_valid optionally take a length
4852
4853 * Translation updates:
4854  Danish
4855  Friulian
4856  German
4857  Hungarian
4858  Korean
4859  Lithuanian
4860
4861
4862 Overview of changes in GLib 2.51.4
4863 ==================================
4864
4865 * Memory leak fixes
4866 * Fix the released tarball
4867
4868
4869 Overview of changes in GLib 2.51.3
4870 ==================================
4871
4872 * Bugs fixed:
4873  771997 gchecksum: Add SHA-384 support
4874  778422 gsubprocesslauncher: Clarify the behavior of set_environ()
4875  778581 gdbus-codegen: Fix -Wconversion warning
4876  778801 gdbus-codegen: Add --outdir flag
4877  778991 Plug a mem leak in gdbusauth
4878  779183 g_io_extension_point_get_extensions should check for NULL pointer
4879
4880 * Translation updates:
4881  Basque
4882  Chinese (Taiwan)
4883  Danish
4884  Indonesian
4885  Italian
4886  Serbian
4887
4888
4889 Overview of changes in GLib 2.51.2
4890 ==================================
4891
4892 * Minimal support for UUIDs has been added
4893
4894 * A new file attribute, G_FILE_ATTRIBUTE_RECENT_MODIFIED has been added
4895   to improve sorting of recent files
4896
4897 * Bugs fixed:
4898  639078 UUID support feature request
4899  777135 gkeyfile: Be more specific about error codes in documentation
4900  777307 race condition between gdbus signal callback and g_bus_unwatch_name...
4901  777481 goutputstream: docs: fix typos
4902  777493 g_mkdtemp() not introspectable
4903  777507 Recent view sorting incorrectly
4904  777592 Add minor examples to GDBus and GVariant documentation
4905  778002 race in gdbusprivate.c detected by the ThreadSanitizer
4906  778096 race in gdbusconnection reported by TSan
4907
4908 * Translation updates:
4909  Norwegian bokmål
4910  Polish
4911  Simplified Chinese
4912  Slovak
4913  Spanish
4914  Swedish
4915
4916
4917 Overview of changes in GLib 2.51.1
4918 ==================================
4919
4920 * glib-compile-resources grew a --generate-phony-targets flag
4921
4922 * GLib now installs a valgrind suppressions file for GLib and GIO
4923
4924 * Bugs fixed:
4925  666114 should have infrastructure to run its tests under valgrind
4926  729730 GDBusMessage: Fix segfault if DEBUG_SERIALIZER is enabled
4927  730932 statically assert that reasonable assumptions about enums are true
4928  735731 gobject: Document behaviour of GType checking macros on NULL
4929  736810 gdbus: Fix leak in g_dbus_message_print()
4930  762283 GSocket – Fix race conditions on Win32 if multiple threads are waiting on cond...
4931  767609 Test suite problems
4932  767952 g_dbus_method_invocation_return_*, g_dbus_method_invocation_take_error: They d...
4933  769672 Assert threads for testcase 642026 are sucessfully created
4934  769745 gtask: Add guards for public functions
4935  770175 Add command line argument to mkenums and genmarshal to write output to a file
4936  770646 glib: Namespace global tapset variables by soname
4937  772160 Add g_unix_mount_for() support
4938  772989 Totem allows invalid urls that might cause segfault that's irrecoverable
4939  773823 gio: Bump copy buffer size to 256k by default
4940  774086 fix g_main_context_check declaration
4941  774368 Dependency file output of resource scanner breaks Ninja
4942  774421 Two minor patches
4943  774520 GSocket allocates and processes control messages even if not requested
4944  775309 Crash in gdbusauth
4945  775468 Improve log write supports color method on windows
4946  775510 testing with -fsanitize=undefined reports various undefined behaviour
4947  775517 Password input is echoed in the terminal
4948  775621 gmessages: Fix compilation on Android
4949  775765 FDO notification withdrawal backend sends wrong ID to the server
4950  775913 subprocesslauncher: potential infinite loop in verify_disposition()
4951  776198 Stray semicolon after g_variant_print() function in gvariant.c
4952  776586 License headers cleanup
4953  777077 Use of memory after it is freed
4954
4955 * Translation updates:
4956  Brazilian Portuguese
4957  Czech
4958  Galician
4959  German
4960  Hebrew
4961  Kazakh
4962  Lithuanian
4963  Spanish
4964  Swedish
4965
4966
4967 Overview of changes in GLib 2.51.0
4968 ==================================
4969
4970 * glib-genmarshal and glib-mkenums have gained --output options
4971   for better build system integration
4972
4973 * New API: g_utf8_make_valid
4974
4975 * Bugs fixed:
4976  591603 Make _g_utf8_make_valid public
4977  610969 Nice to have g_utf8_make_valid as public
4978  767882 Bit shift overflow (-Wshift-overflow) warning in gparam.h
4979  769135 External control for g_test_add/g_test_run
4980  769630 gfile: G_FILE_MONITOR_WATCH_MOVES was actually introduced in 2.46
4981  772160 Add g_unix_mount_for() support
4982  772221 Take advantage of Unicode
4983  773303 GApplication leaks option_strings 
4984
4985 * Translation updates:
4986  French
4987  Galician
4988  German
4989  Hungarian
4990  Lithuanian
4991  Norwegian bokmål
4992  Occitan
4993  Polish
4994  Slovak
4995  Turkish
4996
4997
4998 Overview of changes in GLib 2.50.1
4999 ==================================
5000
5001 * Update Unicode support to Unicode 9.0.0
5002
5003 * Bugs fixed:
5004  662946 gunixmounts monitoring doesn't work correctly with libmount
5005  771591 Update to Unicode 9.0.0
5006  772054 glib/gspawn-win32-helper.c: unexpected behavior re CommandLineToArgvW()
5007  772255 gresolver: Mark GResolver as an abstract class
5008  772269 Add --version options to glib-compile-resources and glib-compile-schemas
5009  772297 completion: Complete gsettings describe
5010  772511 g_log_default_handler crashes windows apps with "Unspecified fatal err...
5011
5012 * Translation updates:
5013  Brazilian Portuguese
5014  Catalan
5015  Croatian
5016  Czech
5017  Danish
5018  Hungarian
5019  Italian
5020  Latvian
5021  Polish
5022  Swedish
5023
5024
5025 Overview of changes in GLib 2.50.0
5026 ==================================
5027
5028 * Bugs fixed:
5029  771438 Turn on libmount by default on linux
5030         Fix the annotation for g_log_variant
5031
5032 * Translation updates:
5033  British English
5034  French
5035
5036
5037 Overview of changes in GLib 2.49.7
5038 ==================================
5039
5040 * Add g_log_variant, binding-friendly api for structured logging
5041
5042 Bugs fixed:
5043  646926 arg_data invalid after g_option_context_parse() fails
5044
5045 * Translation updates:
5046  Danish
5047  Finnish
5048  Galician
5049  German
5050  Hebrew
5051  Kazakh
5052  Korean
5053  Latvian
5054  Lithuanian
5055  Polish
5056  Portuguese
5057  Serbian
5058  Slovak
5059  Spanish
5060  Swedish
5061  Thai
5062
5063
5064 Overview of changes in GLib 2.49.6
5065 ==================================
5066
5067 * The gsettings commandline tool now has a describe command
5068
5069 Bugs fixed:
5070  745754 Add gcc-style dependency output to glib-compile-resources
5071  769076 Fix warning: attempt to override closure->va_marshal with new marshal
5072  770372 gdbus-codegen: Strip @since parameters before comparison
5073
5074 Translation updates:
5075  Brazilian Portuguese
5076  Czech
5077  German
5078  Hungarian
5079  Polish
5080  Portuguese
5081  Spanish
5082
5083
5084 Overview of changes in GLib 2.49.5
5085 ==================================
5086
5087 * Structured logging:
5088  - drop libsystemd dependency
5089  - document that g_test_expect_message does not work with structured logs
5090
5091 * Use libmount for unix mount support
5092
5093 * Add an async variant of g_app_info_launch_default_for_uri
5094
5095 Bugs fixed:
5096  522053 GUnixMountMonitor needs to use /proc/self/mountinfo on recent Linux
5097  682794 Add usage guidance to logging documentation
5098  744456 Structured logging API
5099  766370 Add a macro for initializing g_auto(GVariantBuilder)
5100  767240 Regex failures with pcre 8.38
5101  768198 Can't build glib with systemtap enabled
5102  768453 Gdbus test: compilation fails due to -Werror=format-y2k errors
5103  768752 Add async variant of g_app_info_launch_default_for_uri
5104  769027 Docs misleadingly imply G_CHECKSUM_SHA512 is available since 2.16
5105  769029 gmessage: compiler complains about -Wformat-nonliteral
5106  769042 'O_CLOEXEC' undeclared (first use in this function)
5107  769087 gmessages: support NULL log domain
5108  769089 Fix gsettings uint64 testcase
5109  769104 Build failure when using _GLIB_CHECKED_ADD_U32 with the Intel compiler
5110  769139 g_log_writer_journald uses non-standard 'htole64' function
5111  769238 memory increases every time I umount and mount my secondary hard disk.
5112  769245 is_valid_heap_iter define misses NULL pointer check
5113  769507 gmessages: Don’t require is_journald() call before writer_journald()
5114  769785 gmessages: Expand documentation further for structured logging
5115  769995 gdbus-codegen: Allow '@since: UNRELEASED' in documentation comments
5116
5117 Translation updates:
5118  Catalan
5119  Hebrew
5120  Lithuanian
5121  Slovak
5122  Spanish
5123
5124
5125 Overview of changes in GLib 2.49.4
5126 ==================================
5127
5128 * Change the just-introduced structured logging API. The arguments
5129   of g_log_structured() had to be reordered to enable an implementation
5130   within the limits of what the standards guarantee about var args.
5131
5132 Bugs fixed:
5133  744456 Structured logging API
5134  768936 gio doc build fails because of missing gio.xml in the tarballs
5135  768963 improper va_list use in g_log_structured()
5136  768968 gio/tests/socket-listener hangs since e4ee307
5137
5138 Translation updates:
5139  Spanish
5140
5141
5142 Overview of changes in GLib 2.49.3
5143 ==================================
5144
5145 * GLib has a structured logging API, g_log_structured, with support
5146   for writing to the systemd journal. It also supports colored output
5147   in terminals
5148
5149 * Some new GBytes API has been added:
5150  - g_key_file_load_from_bytes
5151  - g_compute_hmac_for_bytes
5152
5153 * Stack-allocated GVariantBuilder and GVariantDict objects can now be
5154   initialized with G_VARIANT_BUILDER_INIT and G_VARIANT_DICT_INIT
5155
5156 * gio:
5157  - Add a way to register handlers for custom uri schemes
5158  - Add a G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE attribute to
5159    have these heuristics in a single place
5160  - Include a gio tool that makes the functionality of the
5161    various gvfs commandline tools available in a single place
5162  - Add portal support to g_app_info_launch_default_for_uri
5163  - Add portal support to GNetworkMonitor
5164  - Add portal support to GProxyResolver
5165  - Add portal support to g_application_send_notification
5166
5167 Bugs fixed:
5168  547200 g_utf8_find_next_char() issues
5169  662802 systemtap multiarch issue
5170  723506 fork/exec from non-main thread when autolaunching could be avoided...
5171  725902 build: simplify dtrace configuration
5172  728207 gsocketservice: Documentation does not mention that is already act...
5173  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro to supp...
5174  744456 Structured logging API
5175  744678 Unable to delete relocatable schemas
5176  746685 clarify that g_variant_get_data() can be used instead of g_variant...
5177  747134 glib-compile-resources --generate should detect common C++ file ex...
5178  750257 GSettings changed signal should clearly state the order required
5179  753231 Memory is potentially used after free
5180  754012 missing filename in "Error loading css: Failed to import: Error op...
5181  760115 gtestutils: add missing dash in seed argument's --help documentation
5182  760423 gio-querymodules prints error messages as question marks on some l...
5183  761102 Increase performance for main loop
5184  765338 GLib.compute_hmac_for_data throws every time
5185  766370 Add a macro for initializing g_auto(GVariantBuilder)
5186  766899 Superflous HTML/XML comments in GDBusProxyTypeFunc documentation s...
5187  766933 GSocketAddress leaks in gnetworkmonitornetlink.c:read_netlink_mess...
5188  767765 Add names and tags to various GSources and GTasks constructed in GLib
5189  767880 gkeyfile: add g_key_file_load_from_bytes() API
5190  767887 vfs: add g_vfs_register_uri_scheme()
5191  767949 [patch] Typos in glib docs
5192  768029 infinite loop in parse_name_internal()
5193  768119 Fix fallout from get_supported_schemes() changes
5194  768357 Build the gio tool on Windows/MSVC
5195  768498 portal support for glib
5196  768504 keyfile: g_key_file_get_double behavior doesn't follow documentation
5197  768549 Test failure: test_ip_sync_dgram
5198  768551 Test failure: test_socket_address_to_string
5199  768560 gio/tests/gsettings: fix GSettings reference leaks in some tests
5200  768780 O_PATH is a non-standard flag which may be unavailable on non-Lin...
5201  768806 gdbus tool must swallow -- argument
5202
5203 Translation updates:
5204  Chinese (Taiwan)
5205  French
5206  Hebrew
5207  Indonesian
5208  Lithuanian
5209  Portuguese
5210  Spanish
5211
5212
5213 Overview of changes in GLib 2.49.2
5214 ==================================
5215
5216  * GMainContext and GTask have gained more systemtap probes
5217
5218 Bugs fixed:
5219  673101 resource compiler dependency generation not working for gen...
5220  700756 GFile.new_for_path arguments misses (type filename) annotation
5221  730187 glocalfileoutputstream: Fix an FD leak in an error path
5222  755439 Memory leak in gdbusproxy.c
5223  759813 Add more SystemTap/DTrace probes for main context and GTask
5224  761810 gio: Support using GDBusObjectManagerServer at path ‘/’
5225  767172 docs: Move GIO_USE_VFS to "okay for production" section
5226  767218 Remove a UTF-8 ellipsis from gsignal.h
5227  767245 Add filename type annotations
5228  767824 Some UTC timezones incorrectly recognized on Windows 7
5229
5230 Translation updates:
5231  Occitan
5232
5233
5234 Overview of changes in GLib 2.49.1
5235 ==================================
5236
5237  * GDesktopAppInfo now allows bus activation with dashes. This is
5238    not technically allowed per the Desktop Entry specification, but
5239    it happens in the wild. Rather than forcing people to go through
5240    another traumatic desktop file rename, accept it and translate - to _.
5241
5242  * The support for giving names to threads has been improved. Thread names
5243    are now supported on Solaris as well, and the Linux support no longer
5244    uses prctl() but the pthread api.
5245
5246  * GIO resources can now be overridden at runtime, using the G_RESOURCE_OVERLAYS
5247    environment variable.
5248
5249  * gdbus-codegen can now generate autocleanup definitions for the types
5250    it generates. Use the --c-generate-autocleanup option to control this
5251
5252 Bugs fixed:
5253  665446 Use g_abort() instead of abort()
5254  731988 glocalfile: Avoid a potential NULL pointer dereference
5255  742898 g_value_type_transformable() description differs from the code
5256  747107 GVariant varargs documentation: g_variant_get() example
5257  747478 g_system_thread_set_name() is not implemented for gthread-win32
5258  748474 g_get_language_names() is not thread-safe
5259  748530 gthread: W32 implementation of g_get_num_processors() has lame fallback
5260  748806 GVariant: Better introduction to the concepts and its uses
5261  749583 GSequence performance improvements
5262  749606 tests: always remove app.desktop
5263  755898 [PATCH] settings: add get/set uint64
5264  758174 Fix documentation typos
5265  758738 Usage of GType properties causes crashes due to gulong/gpointer mismatch
5266  760186 namespace clash with gdb pretty-printing code
5267  762994 Race condition in GIO/AppFileChooser crashes Firefox/Gtk3
5268  763379 codegen: Add support for g_autoptr to gdbus-codegen–generated objects
5269  763821 build: Also dist Systemtap files always for gobject/
5270  764092 gstrfuncs: Document the behaviour of g_strjoinv()
5271  764163 g_task_had_error doesn't remember the error after g_task_propagate_*
5272  764415 Very High CPU usage in g_poll() Windows implementation
5273  764574 build: Fix all statfs() tests failing
5274  764575 tests: Fix compilation errors due to Y2K format problems
5275  764685 GApplication documentation about handling command-line options is confusing
5276  764754 '-' in application id: unbreak bus activation and notifications
5277  765173 documentation of g_main_context_push_thread_default() regarding GIO...
5278  765668 GResources: add support for resource overlays
5279  765710 gdbus-tool: only print note about expected argument types if that...
5280  765712 tests: Fix compilation
5281  765861 task: avoid context lock when setting source name
5282  765900 Add g_drive_is_removable() support
5283  765924 Improve external drives detection
5284  765959 socket: set fd field to -1 after closing socket
5285  765990 Visual Studio: Define inline only when necessary
5286  765991 Compilation of gresource.c is broken due to S_ISDIR
5287  766092 Incorrect locale handling in g_date_time_format_locale()
5288  766211 Fix the upper bound in g_unichar_iswide_bsearch
5289  766407 Some build-related defects in glib testsuite
5290  766570 build: Fix a misnamed variable in glib-tap.mk
5291
5292 Translation updates:
5293  Basque
5294  Catalan
5295  Chinese
5296  Occitan
5297  Portuguese
5298  Turkish
5299  Vietnamese
5300
5301
5302 Overview of changes in GLib 2.48.0
5303 ==================================
5304
5305  * The system copy of PCRE is now used by default to implement GRegex.
5306    Configure with --with-pcre=internal if a system PCRE version
5307    is unavailable or undesired.
5308
5309  * a minor build fix in the name of determinism
5310
5311  * a few coverity fixes
5312
5313 Bugs fixed:
5314  763617 giotypefuncs.c: Sort _get_type functions in the 'C' locale
5315
5316 Translations updated:
5317  Danish
5318  Italian
5319
5320 Overview of changes in GLib 2.47.92
5321 ===================================
5322
5323  * gdbus-codegen now supports g_autoptr()
5324
5325  * g_get_user_runtime_dir() now reliably returns an existing directory
5326
5327  * g_array_remove_range() can now remove 0 items from the end of an array
5328
5329  * Many fixes for Windows
5330    * build fixes
5331    * file monitoring
5332    * gsettings backend
5333    * streams
5334    * random numbers
5335    * wide character support
5336
5337  * documentation improvements
5338
5339  * other small bugfixes
5340
5341 Bugs fixed:
5342  724847 Segmentation fault on "gsettings list-recursively"
5343  743933 gapplication: add --app-id command line option
5344  756706 [PATCH] gio/gtestdbus.c: don't use non-standard %m printf modifier
5345  757506 gsettings: schema_list should use the passed schema's source
5346  760694 W32: Apps linked with -mwindows make cursor busy sometimes
5347  762202 g_win32_error_message improvements
5348  762637 build: Unconditionally dist tapset files
5349  762748 Undefined behavior
5350  762937 Mention that g_clear_error can be used with an "empty" GError
5351  763339 array: Support clearing an empty array with g_array_remove_range()
5352  763344 g_get_user_runtime_dir(): ensure directory exists
5353  763379 codegen: Add support for g_autoptr to gdbus-codegen–generated objects
5354
5355 Translations updated:
5356  Brazilian Portuguese
5357  Czech
5358  Finnish
5359  French
5360  Galician s
5361  German
5362  Greek
5363  Hebrew
5364  Hungarian
5365  Italian
5366  Kazakh
5367  Korean
5368  Latvian
5369  Lithuanian
5370  Occitan
5371  Polish
5372  Russian
5373  Serbian
5374  Slovak
5375  Slovenian
5376  Spanish
5377  Swedish
5378
5379 Overview of changes in GLib 2.47.6
5380 ==================================
5381
5382 * Windows usupport:
5383  - Fixes and improvements to the GSettings registry backend
5384  - Handle readability and writability of registry keys
5385  - Use Unicode registry APIs
5386
5387 * Bugs fixed:
5388 760852 744772 761126 747927 761337 744570 761504 761550 761843
5389  744570 GString is missing (transfer none) annotations on many of its methods
5390  744772 systemtap and gdb scripts install in wrong place
5391  747927 Documentation: various small improvements
5392  760852 gdbusobjectmanagerserver: Clarify recommended ObjectManager paths
5393  761126 winiconv: update to upstream version
5394  761337 Fix some annotations
5395  761504 W32 registry GSettings backend does not use Unicode
5396  761550 Cannot build with default flags under Fedora rawhide (-Werror=format-...
5397  761843 gmacros.h is testing attributes with __has_feature (when compiling wi...
5398
5399 * Translation updates:
5400  Brazilian Portuguese
5401  Bulagarian
5402  Chinese (Taiwan)
5403  Hungarian
5404  Polish
5405  Slovak
5406  Slovenian
5407  Spanish
5408  Swedish
5409
5410
5411 Overview of changes in GLib 2.47.5
5412 ==================================
5413
5414 * the system copy of PCRE is now used by default to implement GRegex.
5415   Configure with --with-pcre=internal if a system PCRE version
5416   is unavailable or undesired.
5417
5418 * interfaces for DTLS support have been added.  A new version of
5419   glib-networking will also be required.
5420
5421 * GDBusMethodInvocation now drops replies if the sender set the
5422   NO_REPLY_EXPECTED flag
5423
5424 * several GApplication fixes, including fixes for commandline arguments
5425   in interpreted languages on Windows
5426
5427 Bugs fixed:
5428  624186 Deprecate glib-gettext macros
5429  734095 gtk-demo.py of PyGObject fails to run on Windows (and likely other binding scripts using g_application_run())
5430  735754 Implement close on TLS GOutputStream
5431  748064 gnulib vfprintf returns desired (not actual) number of bytes, ignores errors
5432  752240 Add DTLS support to GIO
5433  755421 GDBus ignores NO_REPLY_EXPECTED flag in messages, leading to warnings on system bus
5434  756875 Include ntdef.h for NTSTATUS
5435  759554 g_application_run() calls g_main_context_default() repeatidly
5436  760199 gsettings: Install gettext ITS rules
5437  760215 G_LIKELY/_UNLIKELY macros need more parentheses
5438  760683 regex test: Check the expected PCRE exceptions at runtime
5439
5440 Translations updated:
5441  Brazilian Portuguese
5442  Czech
5443  German
5444  Lithuanian
5445  Swedish
5446
5447 Overview of changes in GLib 2.47.4
5448 ==================================
5449
5450 * The GApplication documentation has been improved in several areas.
5451
5452 * Bugs fixed:
5453  749092 gdb pretty-printers fail on Python 3 with a TypeError...
5454  757374 macros: clean up "inline" mess
5455  758641 Memory leak in g_dbus_proxy_new_for_bus_sync()
5456  759134 Add missing checks for gnulib vasnprintf()
5457  759408 Do not use uninitialized var 
5458  756475 Stop supporting non-POSIX getpwuid_r, getgrgid_r
5459  757372 GApplication: destroy the impl on shutdown
5460  728099 macros: add G_GNUC_CHECK_VERSION() for compiler checks
5461  757299 glib-compile-resources: do not leak c_name
5462  758553 Fix gettext use
5463  758823 file monitors: reorder some code to avoid segfault
5464  756214 gsettings: Don't translate ""
5465  710243 Add GParamSpec object ref management annotations
5466  735696 xdgmime: Finer handling for cases where mmap() is not available
5467  752983 gapplication: Acquire the main context before running
5468
5469 * Translation updates:
5470  Swedish
5471
5472
5473 Overview of changes in GLib 2.47.3
5474 ==================================
5475
5476 The inline cleanup in the last release accidentally removed three
5477 symbols from libglib-2.0.so.  It is unlikely that this will have caused
5478 any problems because these symbols were only backup symbols for
5479 definitions exported as inlines in the header files, but ABI is ABI.
5480
5481 This release corrects only this problem.
5482
5483 Overview of changes in GLib 2.47.2
5484 ==================================
5485
5486 * We have formalised the assumption that all compilers that are
5487   interested in support 'static inline' and simplified the macros around
5488   this considerably.  Please watch for and report unintentional fallout.
5489
5490 * New API: hardware-assisted helpers for overflow-checked integer math.
5491
5492 * other fixes
5493
5494 Bugs fixed:
5495  696324 gtester-report doesn't work with Python 3.x
5496  719966 glib: Add missing (nullable) and (optional) annotations
5497  752837 gobject and glib-compile-resources rely on .CRT$XCU section, no longer works with Win 10 UCRT (VS 2015)
5498  755364 make gtkdoc-check happy again
5499  756134 Segmentation fault on calling g_simple_action_group_add_action with bad action constructor call
5500  756179 gwin32.c: Replace VerifyVersionInfoW() with RtlGetVersion() due to API deprecation
5501  756988 GSequence should document each function's complexity
5502  757294 Move G_POLLFD_FORMAT to glibconfig.h
5503  757374 macros: clean up "inline" mess
5504  757451 doc: fix g_task_attach_source() example
5505  757628 gio tests fail to build when cross compiling 2.46.1
5506  757693 Invalid free in g_local_file_trash()
5507  757742 Fix up annotations in ghash.c
5508  758181 GTask: fix wrong example code
5509
5510 Translations updated:
5511  Greek
5512  Hebrew
5513  Hungarian
5514  Norwegian bokmål
5515  Portuguese
5516  Scottish Gaelic
5517  Simplified Chinese
5518  Spanish
5519
5520 Overview of changes in GLib 2.47.1
5521 ==================================
5522
5523 * The Unicode support has been updated to version 8.0 of the Unicode standard
5524
5525 * GDesktopAppInfo no longer sets the DISPLAY environment variable when
5526   launching apps. This is now done in the GAppLaunchContext implementations
5527   when appropriate
5528
5529 * Bug fixes:
5530  664740 Key-value file parser, space after integer
5531  687223 cleverer GThreadPool management
5532  692085 stderr and stdout are not always file descriptors 1 and 2
5533  697907 Add interface for socket-like things (GSocket, DTLS, etc)
5534  735754 Implement close on TLS GOutputStream
5535  737116 Add functions to print GSocketConnectables and addresses as strings
5536  743011 Minor additions to GError documentation
5537  749161 undefined reference to `__imp__stat32i64'
5538  749314 Cannot restore a just-trashed file
5539  751924 Add recvmmsg()-like API on GSocket
5540  752240 Add DTLS support to GIO
5541  752837 gobject and glib-compile-resources rely on .CRT$XCU section, no longer...
5542  753310 Remove `#pragma GCC system_header` from gmessages.h
5543  753935 Update example namespace and class names in GObject tutorial
5544  754855 Object instantiation documentation refers to example that no longer ex...
5545  754983 Wayland: g_desktop_app_info_launch_uris_with_spawn() forces DISPLAY va...
5546  754994 g_date_time_get_second () sometimes returns an off-by-one result
5547  755083 Clarify in G_ADD_PRIVATE that it is safe to call _get_instance_private...
5548  755351 Example still contains g_autoptr(gchar)
5549  755355 Move GStrv to glib.h so it can be used with g_auto()
5550  755374 g_variant_get_child(): flatten-first logic on '&'
5551  755496 glib 2.46 fails GStreamer test suite
5552  755609 glib 2.46.0 breaks Sun Java JVM 1.8.0.60
5553  755766 gvalue: The g_auto cleanup function assert if value is G_VALUE_INIT
5554  755795 2.46 considers empty files as octet-stream rather than text (leads to...
5555  755961 Fix up annotations in gbytes.c
5556  756053 MSVC doesn't understand the symbol 'msghdr'
5557  756054 MSVC linker error due to 'g_socket_send_message_with_timeout()'
5558  756077 testutils: remove internal ABI comment
5559  756099 g_main_context_query(): Annotate @n_fds as (in) parameter
5560  756139 musl: ctors called in the wrong order
5561  756179 gwin32.c: Replace VerifyVersionInfoW() with RtlGetVersion() due to AP...
5562  756251 The documentation of G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is confusing
5563  756255 GOutputStream swallowing errors in splice with G_OUTPUT_STREAM_SPLICE...
5564  756316 GSequence should provide fast api to check if empty
5565  756382 snprintf used on Windows with VS2015 doesn't support %n
5566  756477 gio/gthreadedresolver.c has outdated copy of bionic headers (for android)
5567  756550 gtypes.h: Make G_MININTn literals negative
5568  756875 Include ntdef.h for NTSTATUS
5569  756952 giomodule: return a copy of module name
5570
5571 * Translation updates:
5572  Basque
5573  Czech
5574  Serbian
5575  Serbian Latin
5576  Vietnamese
5577
5578
5579 Overview of changes in GLib 2.46.0
5580 ==================================
5581
5582 * GTask no longer imposes a fixed limit on the number of tasks that
5583   can be run_in_thread() simultaneously, since doing this inevitably
5584   results in deadlocks in some use cases. Instead, it now has a base
5585   number of threads that can be used "for free", but will gradually
5586   add more threads to the pool if too much time passes without any
5587   tasks completing.
5588
5589   The exact behavior may continue to change in the future, and it's
5590   possible that some future version of GLib may not do any
5591   rate-limiting at all. As a result, you should no longer assume that
5592   GTask will rate-limit tasks itself (or, by extension, that calls to
5593   certain async gio methods will automatically be rate-limited for
5594   you). If you have a very large number of tasks to run, and don't
5595   want them to all run at once, you should rate-limit them yourself.
5596
5597 * Disable runtime-deprecation warnings
5598
5599 * Fix marshalling of flags on bigendian 64bit architectures
5600
5601 * Translation updates
5602  Brazilian Portuguese
5603  Danish
5604  German
5605  Latvian
5606  Russian
5607  Turkish
5608
5609
5610 Overview of changes in GLib 2.45.8
5611 ==================================
5612
5613 * utf8 validation and utf8-to-ucs4 conversion are faster
5614
5615 * Small speedups to property change notification
5616
5617 * Various other small optimizations for GQuark, GData
5618
5619 * Bugs fixed:
5620  696426 GParamSpecTypeInfo do not need to be static
5621  735429 Cleanup MSVC Project Files Generation
5622  738504 Optimize UTF-8 decoding by unrolling branches and expressions
5623  742903 Add missing (transfer) annotation to GString
5624  748633 g_set_object order of operations
5625  754431 Fix build of glib/gstrfuncs.c on Windows
5626  754560 gioerror: Add more mappings for WinSock error codes
5627  754582 Glib cannot compile
5628  754601 Make g_strerror work with non-glibc POSIX systems
5629  754636 tests/unicode-encoding test fails for glib 2.45.7 on x86-64
5630  754788 more g_strerror stuff
5631  754831 autocleanups: Add GString type
5632  754924 Improve test coverage of g_utf8_validate() by added known-...
5633  754986 Avoid unnecessary signal emission during draw
5634
5635 * Translation updates:
5636  Italian
5637  Kazakh
5638  Korean
5639  Lithuanian
5640  Slovenian
5641  Swedish
5642
5643
5644 Overview of changes in GLib 2.45.7
5645 ==================================
5646
5647 * Add G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE for use by non-POSIX-like
5648   backends (e.g. cloud storage).
5649
5650 * GFileMonitor: Make the inotify backend work with atomic renames again
5651
5652 * GSettings: change notification is again working unconditionally
5653
5654 * GListStore has a sort function now
5655
5656 * Test infrastructure:
5657  - Tests are now required to have unique names
5658  - TAP support has been improved
5659  - A macro for asserting that two memory regions have identical content
5660    has been added
5661
5662 * Bugs fixed:
5663  708525 A "g_file_query_info" on the file path "/sys/kernel/debug/hid"...
5664  742849 inotify: send paired events to both sides
5665  744060 Update GObject tutorial documentation to use G_DECLARE_FINAL_T...
5666  747364 Fix GError leak in g_file_query_writable_namespaces()
5667  749492 Support file creation time on FreeBSD and NetBSD
5668  752769 (g_socket_receive_message | g_socket_send_message) performance
5669  753745 glib-genmarshal still needed for cross-compilation
5670  754152 Add g_list_store_sort
5671  754211 Memory leak in g_file_enumerator_iterate ()
5672  754264 GLib 2.44 certificate chain construction fails if the PEM incl...
5673  754283 gtestutils: add g_assert_cmpmem()
5674  754284 gtestutils: print the TAP test plan first, not last
5675  754286 misc gtestutils fixes
5676  754307 size of array '_GStaticAssertCompileTimeAssertion_3387' is neg...
5677
5678
5679 * Translation updates:
5680  Chinese (Taiwan)
5681  French
5682  Galician
5683  Greek
5684  Hebrew
5685  Hungarian
5686  Indonesian
5687  Polish
5688  Portuguese
5689
5690
5691 Overview of changes in GLib 2.45.6
5692 ==================================
5693
5694 * Fix a test failure and a build failure
5695
5696 Overview of changes in GLib 2.45.5
5697 ==================================
5698
5699 * GNetworkMonitor now provides information about metered networks
5700
5701 * g_mem_set_vtable has been deprecated; it has not been working for
5702   quite a while. The recommendation is to use valgrind, or replace
5703   malloc itself.
5704
5705 * Bugs fixed:
5706  656325 Make GDBusInterfaceVTable binding friendly
5707  741779 Documentation tweaks addressing real-world API misuses
5708  741822 Fails to build with VS 2015
5709  742386 gdbusconnection: Don't g_printerr() when exiting
5710  743018 gobject: Add more cross-links between documentation pages
5711  750282 Add g_network_monitor_get_network_metered() to get if the connection...
5712  751358 GFileMonitor doesn't react to "mv some-file watched-file"
5713  751592 Stop using GMemVtable
5714  751598 Stop 'handle-local-options' propagation when callback reports an err...
5715  751610 g_str_hash produces collisions with strings of length 2
5716  751751 Wrong docs of g_async_queue_remove
5717  752210 gdbus command crashes with SIGSEGV
5718  752656 gdbusconnection: Fix signal subscription documentation
5719  752767 Fix typo in g_hash_table_replace() documentation
5720  753278 gdbus: Don't use g_assert_no_error() GDBusObjectManagerServer
5721  753285 g_menu_item_set_icon fails if called with NULL icon
5722
5723 * Translation updates:
5724  Catalan
5725  Czech
5726  French
5727  Indonesian
5728  Lithuanian
5729  Norwegian bokmål
5730  Slovak
5731  Spanish
5732  Thai
5733  Turkish
5734
5735
5736 Overview of changes in GLib 2.45.4
5737 ==================================
5738
5739 * Bugs fixed:
5740  727829 win32: glibconfig.h.win32 updates
5741  741901 Clang cannot know that g_error don't return
5742  746339 GSocket kills process when fd is not a socket
5743  747676 gio/tests/socket fails: test_fd_roundtrip
5744  748610 Some tests fail with non-English locales
5745  749911 g_inet_address_to_string broken on XP/2003
5746  749912 g_inet_address_new_from_string broken on XP/2003
5747  750625 Should dismiss Software Updates Available notification after...
5748  750807 G_BREAKPOINT doesn't work as intended on Darwin
5749  751160 gtask does unnecessary work
5750  751672 -Wduplicate-decl-specifier in glib/tests/keyfile.c
5751  751731 GFile/DirectoryMonitor emit move events with other_file=NULL
5752  751737 gio/tests/appmonitor test fails in 2.45.3
5753  751798 Wrong enum type used in some test-cases
5754  752089 make gsocketservice::active a property
5755  752293 small cleanup: use list_free_full
5756
5757 * Translation updates:
5758  Greek
5759  Hebrew
5760  Portuguese
5761
5762
5763 Overview of changes in GLib 2.45.3
5764 ==================================
5765
5766 * Improve performance of g_signal_handler_disconnect for signals
5767   with many handlers
5768
5769 * GDBus has gained a new call flag to allow interactive authorization
5770
5771 * GSettings:
5772  - New API: g_settings_schema_list_keys
5773  - Deprecated: g_settings_list_keys
5774
5775 * OS X:
5776  - Implement GNotification
5777  - Bump the OS X requirement to 10.9
5778
5779 * Windows:
5780  - Add registry reading API
5781  - Reimplement GAppInfo using registry information
5782
5783 * Bugs fixed:
5784  666831 Support URI opening on W32
5785  728489 property action with inverted boolean state
5786  730168 Incorrect annotation on g_action_group_get_action_state_type return...
5787  733325 Several regex tests fail with pcre3 8.35
5788  734888 GLib has no helper functions to work with W32 Registry
5789  737009 signal handler lookup doesn't scale
5790  738185 Misleading language about "file name encoding" in the docs on g_env...
5791  738504 Optimize UTF-8 decoding by unrolling branches and expressions
5792  739122 glib not handling -1 return ("no limit") from sysconf (_SC_THREAD_S...
5793  739424 gnome-shell crashes when files are added, deleted, or modified in $...
5794  739616 DBus; Add new call flag to allow interactive authorization
5795  740308 Add g_settings_schema_list_keys() method
5796  740516 RFE: please provide an introspectible version of g_log_set_handler
5797  741788 Document GSettings build system integration
5798  745013 GBinding not thread safe
5799  747146 Implement GNotification on OSX
5800  747941 try XDG_RUNTIME_DIR/bus before falling back to X11 autolaunch (dbus...
5801  748727 Filechooser dialog shows no icons for directories on W32
5802  749693 GActionGroupExporter: flush queue on requests
5803  750203 GNetworkMonitorNetlink hangs in user namespace
5804  750322 gapplication: Make sure --help output is translated
5805  750344 GTlsInteractionClass is missing from doc
5806  750369 Various GBinding cleanups
5807  750386 Race condition in g_io_condition_get_type
5808  750399 Typo "equilalent" in glib documentation's glib-Error-Reporting.html...
5809  750573 GTlsDatabaseClass is not documented
5810  750918 genmarshal: silence register storage class warnings
5811  751122 gsocket: avoid unnecessary g_socket_cond_wait() in _send_messages()
5812  479730 The "g_key_file_set_comment" interface prepends '#' character to...
5813
5814 * Translation updates:
5815  Hungarian
5816  Spanish
5817
5818
5819 Overview of changes in GLib 2.45.2
5820 ==================================
5821
5822 * Improve error reporting in glib-compile-schemas.
5823
5824 * Add introspection annotations to GListStore.
5825
5826 * Bugs fixed:
5827  696749 win32 : failed to compile because of careless mistake in the code
5828  723394 const parameter to GtkPopover gtk_popover_set_pointing_to
5829  724113 gdbus-connection-loss test can fail on slow machines
5830  725981 tap-driver.sh: internal error getting exit status
5831  733325 Several regex tests fail with pcre3 8.35
5832  744895 Unknown or unsupported transport 'this-should-not-be-used-and-will...
5833  747882 gtype: Bump allowed number of children
5834  748534 gtest: if a subprocess assertion fails, print its stdout and stderr
5835  748612 de_DE locale used in option-context test is not supported by FreeBSD
5836  748614 Double unref in g_socket_listener_add_inet_port
5837  748834 glocalfilemonitor: Emit notification on rate limit change
5838  749079 gdbus-peer test: TCP tests can fail with ECONNRESET due to a race...
5839  749080 gdatetime test: fails if close to rollover between seconds
5840  749180 gnetworkaddress: add return type annotation to parse methods
5841  749352 g_binding_unbind() fails when source is also the target
5842  749353 GBinding does not connect to the detailed notify signal
5843
5844 * Translation updates:
5845  Catalan
5846  French
5847  Slovak
5848  Thai
5849
5850
5851 Overview of changes in GLib 2.45.1
5852 ==================================
5853
5854 * The GSettings schema compiler, glib-compile-schemas has been changed
5855   to reject schema xml that has duplicate <summary> or <description>
5856   elements. Such elements typically occur when translations are merged
5857   into the schema, with xml:lang attributes. This is not the correct
5858   way to translate schemas. Instead keep the translations in the .mo
5859   file and set the gettext-domain attribute on the <schemalist> element.
5860
5861 * The file monitoring infrastructure has been rewritten, and all backends
5862   have seen major improvements.
5863
5864   The inotify backend is reporting events with less delay (no event will
5865   be delayed more than 10ms) and wakeups due to file monitoring have been
5866   significantly reduced. A CHANGES_DONE event will also be sent when new
5867   files appear.
5868
5869   The poll implementation is now using the thread default main context.
5870
5871   The fam implmentation is now running in the worker thread.
5872
5873   The fen implementation has been removed, since it was unmaintained.
5874
5875 * The GSettings schema compiler, glib-compile-schemas, is more strict
5876   about rejecting schemas with xml:lang style merged translations.
5877   Schema translations should be done by specifying the gettext domain
5878   in the xml, and keeping the translations in gettext. To avoid breaking
5879   already-installed schemas, this change is only taking effect when
5880   you use the --strict option.
5881
5882 * The hardcoded 10-thread limit of GTask's thread pool has been removed,
5883   since it was prone to causing deadlocks. The thread pool is now allowed
5884   to grow dynamically and will shrink back over time.
5885
5886 * GSimpleAsyncResult has been deprecated in favor of GTask.
5887
5888 * The algorithm used by GAppInfo to find default handlers for mime types
5889   has been tweaked to prefer apps that handle the specific subtype over
5890   default handlers for a generic supertype.
5891
5892 * Bug fixes:
5893  627285 inotify file monitor hardwired delay
5894  631597 Segmentation fault in append_escaped_text
5895  661767 merge/improve various bits of run-in-thread functionality
5896  687223 cleverer GThreadPool management
5897  711547 win32: silence some build warnings
5898  719966 glib: Add missing (nullable) and (optional) annotations
5899  726447 Possibly an error in text string
5900  728663 W32: wrong stat struct is used when built with MinGW-w64
5901  728669 W32: GLocalFile can't measure size of files larger than 2^32...
5902  730188 gsocket: Document FD ownership with g_socket_new_from_fd()
5903  733325 Several regex tests fail with pcre3 8.35
5904  738207 Add a way to set SO_SENDBUF and SO_RECVBUF on listener (and...
5905  739850 GClosure: add valgrind hints
5906  741791 gmain: Save errno when handling unix signals
5907  744282 gvfs-open for application/x-virt-viewer changed behaviour bet...
5908  745255 Add support for copying sessions between GTlsClientConnections
5909  745745 gdbus: fix out-of-bound array access
5910  745821 Don't use __alloc_size__ attribute with clang
5911  746749 GLib-GIO:ERROR:inotify-kernel.c:327:ik_source_dispatch: ass...
5912  746753 Glib-compile-resources --generate-header not using ".h" as ...
5913  747209 glib-compile-schemas ought to reject repeated <summary> and...
5914  747349 Conversion of gdbus to use GTask causes deadlocks
5915  747363 gatomic: Add missing new line in API doc comment
5916  747472 Don't ignore already-installed schemas with multiple <summa...
5917  747541 gdbus segfaults with invalid --dest
5918  747772 Having hardcoded utf8 strings in the source code does not p...
5919  748019 gsocketconnection: Fix copy-pasto in documentation
5920  748177 not all test schemas are distributed, "make distcheck" fails
5921
5922 * Translation updates:
5923  Basque
5924  Czech
5925  Danish
5926  Finnish
5927  German
5928  Hebrew
5929  Icelandic
5930  Norwegian bokmål
5931  Russian
5932  Turkish
5933
5934
5935 Overview of changes in GLib 2.43.92
5936 ===================================
5937
5938 GLib is now considered frozen.  We do not expect any major changes
5939 before the release of 2.44.0.
5940
5941  * GUnixMountMonitor now properly supports multiple main contexts
5942
5943  * many documentation improvements and cleanups.  We are now
5944    approaching a point where the documentation is 100% complete and the
5945    xml will build without warnings.  This will probably be enabled by
5946    default in the next cycle.
5947
5948  * new support for HTTP proxies in GIO
5949
5950  * new GTask:completed property
5951
5952  * use "private" futexes in order to further improve the performance of
5953    the contended case of GMutex and g_bit_lock()
5954
5955 Bugs fixed:
5956  614684 Make various parts of GObject const-correct
5957  730352 Use inet_pton(), if_nametoindex() and if_indextoname() for newer versions of Windows
5958  733876 Proxy protocol 'http' is not supported.
5959  741442 threads: use FUTEX_WAIT_PRIVATE and FUTEX_WAKE_PRIVATE if possible
5960  742599 Clean up GUnixMountMonitor
5961  743636 gtask: Add a GTask:completed property
5962  743661 g_win32_check_windows_version() is missing from doc
5963  744722 docs: Expand introduction to mention using async calls over sync ones
5964  745589 [Patch] gio: add some missing autocleanup
5965  745634 [GNotifications] Use themed icon as icon-name
5966
5967 Translations updated:
5968  Bosnian
5969  Bulgarian
5970  Catalan
5971  Czech
5972  French
5973  German
5974  Greek
5975  Hungarian
5976  Italian
5977  Kazakh
5978  Korean
5979  Latvian
5980  Lithuanian
5981  POTFILESin
5982  Polish
5983  Russian
5984  Serbian
5985  Slovak
5986  Slovenian
5987  Spanish
5988  Swedish
5989  Vietnamese
5990  pa  for Gnome
5991
5992 Overview of changes in GLib 2.43.91
5993 ===================================
5994
5995 We have now added 'g_autofree' as a libgsystem-style autocleanup macro
5996 that calls g_free() on the content of a local variable when it leaves
5997 scope (working only on GCC and clang).
5998
5999 GApplication now has an "is-busy" property, allowing one to query the
6000 effective busy state.
6001
6002 There have been various other bugfixes and cleanups.
6003
6004 Bugs fixed:
6005  661554 GIO's use of GError is wrong
6006  744263 Fix format specifier for __LINE__ in G_OBJECT_WARN_INVALID_PSPEC
6007  744565 gapplication: add bind_busy_property()
6008  744747 Add g_autofree
6009  744756 Can't find out if gapplication is marked as busy
6010  744830 autocleanups: Add GArray and GPtrArray
6011  744876 Unclean exit from from g_application_run
6012  745239 g_property_action_new missing type annotation
6013
6014 Translations updated:
6015  Chinese (Taiwan)
6016  French
6017  Galician
6018  Lithuanian
6019  Slovak
6020
6021 Overview of changes in GLib 2.43.90
6022 ===================================
6023
6024 * new GSimpleIOStream class to construct a GIOStream from an arbitrary
6025   GInputStream and GOutputStream
6026
6027 * GApplication: new API for marking 'busy' state according to the value
6028   of a boolean property on another object
6029
6030 * GOptionGroup: add binding support (boxed type, annotation fixes, etc.)
6031
6032 Bugs fixed:
6033  739724 Test functions should have async scope
6034  741024 glist: Mention that g_list_length() is bad for checking list emptiness
6035  741630 Add GSimpleIOStream class
6036  743349 goption: Add boxed type for GOptionGroup
6037  743990 GDBus connection closing is broken
6038  744565 gapplication: add bind_busy_property()
6039
6040 Translations updated:
6041  Greek
6042  Italian
6043  Norwegian bokmål
6044  Russian
6045  Slovenian
6046  Swedish
6047
6048 Overview of changes in GLib 2.43.4
6049 ==================================
6050
6051 * GType now has type declaration macros G_DECLARE_DERIVABLE_TYPE,
6052   G_DECLARE_FINAL_TYPE and G_DECLARE_INTERFACE, which significantly reduce
6053   the boilerplate needed for GObject types and interfaces.
6054
6055 * g_autoptr and g_auto are macros for declaring variables with automatic
6056   cleanup. They only work with gcc and clang.
6057
6058 * GListModel is a new interface that represents a dynamic list of GObjects.
6059
6060 * GListStore is a GSequence-based implementation of GListModel.
6061
6062 * Support thread names on OS X
6063
6064 * g_simple_action_set_state_hint: New function to set the state hint
6065   of GSimpleActions
6066
6067 * g_win32_check_windows_version: New function to check Windows version
6068
6069 * g_settings_schema_list_children and g_settings_schema_key_get_name
6070   are new functions to complete the GSettingsSchema API.
6071
6072 * Bugs fixed:
6073  389585 G_DEFINE_TYPE hack for header files
6074  729351 Add GListModel
6075  736914 Docs: various fixes and improvements
6076  741807 Add thread name support on OS X and iOS
6077  741895 gwin32: Add Simple API to check whether we are on at least a v...
6078  742456 object: Add g_steal_pointer() convenience function to mark own...
6079  743508 polkitd fails to start: patch for gio/gcredentialsprivate.h
6080  743517 GSettings API is missing some introspection functions
6081  743521 GSimpleAction: add g_simple_action_set_state_hint
6082  743596 G_DECLARE_DERIVABLE_TYPE() should allow additional typedef for...
6083  743640 add __attribute__((cleanup)) support
6084  743827 Fix build of GListModel (on Visual Studio)
6085  743927 GListStore: add sorted insert function
6086  743936 glib: handle unsigned modifier for long long in internal printf
6087  744012 Add GMutexLocker
6088  744190 Fix build on Compilers That Do Not Use inline for Plain C Code
6089
6090
6091 Overview of changes in GLib 2.43.3
6092 ==================================
6093
6094 * add g_set_object() convenience function
6095
6096 * GNetworkMonitor: check if NM is not running and don't crash
6097
6098 * fix some races with g_mkdir_with_parents
6099
6100 * fix some warnings in MSVC
6101
6102 * avoid use of G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC in order to save
6103   on static strings
6104
6105 * fix some content type vs. mime issues
6106
6107 * documentation improvements
6108
6109 * Bugs fixed:
6110  719455  g_file_make_directory_with_parents() can erroneously throw G_IO_ERROR_EXISTS
6111  732439  GSocket: avoid unnecessary g_socket_wait_condition() for blocking sockets
6112  734946  Implement GContentType on OSX
6113  741589  gobject: Add g_set_object() convenience function to set GObject pointers
6114  741653  gnetworkmonitornm: Check if network-manager is running
6115  741654  [patch] gobject: don't use G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC() macro
6116  741707  Gsocket blocks trying to send data
6117  741788  Document GSettings build system integration
6118  742548  configure.ac: stay out of autoconf's namespace
6119  742851  avoid MSVC warnings in G_STMT_END
6120  742972  ggettext: Include an example of setlocale() and friends in the i18n docs
6121  743014  gtestutils: Add an example of using test fixtures 
6122
6123 * Translations updated:
6124  Basque
6125  Brazilian Portuguese
6126  Spanish
6127
6128 Overview of changes in GLib 2.43.2
6129 ==================================
6130
6131 * New function: g_strv_contains
6132
6133 * New function: g_network_address_new_loopback
6134
6135 * New function: g_socket_send_messages
6136
6137 * A new GNetworkMonitor implementation using NetworkManager provides
6138   more detailed connectivity information
6139
6140 * Bugs fixed:
6141   11059 Linux poll issue
6142  664562 captive wifi portal support for GNetworkMonitor
6143  685880 Add g_strv_contains()
6144  712570 Hang in g_threaded_socket_service_func
6145  719646 GSocket: add g_socket_send_messages() to send multiple messages...
6146  728928 Provide separate error code for "Connection reset by peer"
6147  732317 Support GSocketConnectable for loopback addresses
6148  740814 "make check" should ensure that every symbol is documented
6149  740848 Backend subscription fails when connecting to a signal with a d...
6150  741016 gio: add G_IO_ERROR_NOT_CONNECTED
6151  741226 keyfile: Add "in group" to GError message consistently
6152
6153 * Translation updates:
6154  Gujarati
6155  Hebrew
6156  Hungarian
6157  Kannada
6158  Turkish
6159  Vietnamese
6160
6161
6162 Overview of changes in GLib 2.43.1
6163 ==================================
6164
6165 * GQueue now accepts NULL as a sibling in g_queue_insert_before() and
6166   g_queue_insert_after()
6167
6168 * Bugs fixed:
6169   11059 Linux poll issue
6170  726037 Add G_PARAM_READWRITE value to the GParamFlags enumeration
6171  727988 GMemoryOutputStream hangs when writing more than 1GiB
6172  729739 tlscertificate: add support for loading certificate chains
6173  733791 GSettings: delay backend subscription
6174  736286 Clarify g_file_replace behavior with etags
6175  736620 GQueue: accept NULL sibling for insert_before() and insert_after()
6176  737150 GLib-GIO-WARNING **: Failed to parse translated string 'visible-name...
6177  737160 unhelpful error message
6178  738259 GDBusInterfaceVTable: clarify memory handling for the method() virt...
6179  738551 'interface' variable conflicts with Windows defines
6180  738633 Need to disable SSLv3 in glib-networking
6181  740157 <app> --help doesn't work even when options were added
6182  740309 Fix docs in g_strfreev
6183  740413 Fix the GSettings Registry Backend 
6184
6185 * Translation updates:
6186  Norwegian bokmål
6187
6188
6189 Overview of changes in GLib 2.43.0
6190 ==================================
6191
6192 * GObject gained a debug option to provide instance counts. To use it,
6193   set GOBJECT_DEBUG=instance-count and call g_type_get_instance_count().
6194
6195 * GOption now has a strict POSIX mode in which it stops parsing arguments
6196   as soon as a non-option argument is encountered.
6197
6198 * Bugs fixed:
6199  354457 Feature Proposal: Per-Type Statistics for Instantiable GTypes
6200  695082 g_hash_table_remove_all is not save against a call to g_hash_table_remove
6201  723160 GOption: add strict posix mode
6202  728256 gcredentials: add NetBSD support
6203  729739 tlscertificate: add support for loading certificate chains
6204  733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
6205  736273 gdesktopappinfo: Use symbolic names in the code
6206  736284 Keep only one list of signal emissions
6207  736806 gtask: Fix reference count loop causing leaks
6208  736914 Docs: various fixes and improvements
6209  737143 Include <stdint.h> in glib/valgrind.h
6210  737259 gcancellable: Clarify that GSources hold references to GCancellables
6211  737338 gmain: Unref child sources when finalising a GSource
6212  737446 tests: Fix some minor leaks in the unit tests
6213  737451 Provide api to read_all_async
6214  737741 g_datalist_id_get_data assertion fails for non-existant keys
6215  737869 GApplication command line handling breaks --help
6216  738170 g_byte_array_new_take() doesn't initialize array->alloc
6217  738197 g_cond_timed_wait() doesn't time out on Mac OS X
6218  738374 gfile: g_file_equal (x, x) is TRUE
6219  738675 GSubprocessLauncher is missing some data on the docs 
6220
6221 * Translation updates:
6222  Bengali (India)
6223  Bulgarian
6224  Gujarati
6225  Italian
6226  Telugu
6227
6228
6229 Overview of changes in GLib 2.42.0
6230 ===================================
6231
6232 All changes in this release are trivial in nature.
6233
6234  - introspection warning fixes
6235
6236  - g_application_add_main_option now uses an enum instead of an 'int'
6237    for the type of a parameter
6238
6239  - added a G_OPTION_FLAG_NONE so that people don't need to use 0
6240
6241  - gresource: Use GError in more places
6242
6243  - gresource commandline tool: improve extraction from multiple sections
6244
6245  - GSource now takes the context lock (if any) in g_source_set_name()
6246
6247  - new documentation to clarify the use of some APIs related to
6248    GVariant, GSource, GApplication
6249
6250  - other minor updates to docs
6251
6252 * Bugs fixed
6253  736683 Thread safety issues with g_main_context_find_source_by_id
6254  736975 [patch] please document that GVariant serialization needs an
6255         out-of-band length field
6256
6257 * Translation updates
6258  Danish
6259  Hindi
6260  Marathi
6261  Punjabi
6262  Serbian
6263  Simplified Chinese
6264
6265 Overview of changes in GLib 2.41.5
6266 ==================================
6267
6268 * Bug fixes:
6269  735819 single native credential struct used for two purposes
6270  735915 glib-building.html uses --enable-gcov instead of --enable-coverage
6271  736350 GDesktopAppInfo: avoid polling on missing desktop dirs
6272  736351 Don't use issetugid() on Android
6273         Fix the default application logic in GDesktopAppInfo
6274  736458 Only use rand_s() when targetting Visual Studio >= 2005
6275
6276 * Translation updates
6277  Galician
6278  Hungarian
6279  Indonesian
6280  Kannada
6281  Latvian
6282  Polish
6283  Russian
6284  Slovenian
6285  Tamil
6286
6287
6288 Overview of changes in GLib 2.41.4
6289 ==================================
6290
6291 * GApplication now has binding-friendly API to handle
6292   commandline options: g_application_add_main_option
6293
6294 * G_GNUC_BEGIN_IGNORE_DEPRECATIONS works with clang
6295
6296 * Bugs fixed:
6297  583330 poll list of mounted file systems (no mtab support)
6298  727455 Command line option parsing from bindings
6299  734126 add G_GNUC_BEGIN_IGNORE_DEPRECATIONS macro for clang
6300  735179 gsocketclient: Handle cancellation between CONNECTING...
6301  735297 Docs claim that GThread struct is deprecated 
6302
6303 * Translation updates:
6304   Assamese
6305   Catalan
6306   Catalan (Valencian)
6307   Czech
6308   French
6309   German
6310   Greek
6311   Hebrew
6312   Korean
6313   Oriya
6314   Traditional Chinese
6315
6316
6317 Overview of changes in GLib 2.41.3
6318 ==================================
6319
6320 * g_clear_pointer and g_clear_object no longer use atomics
6321
6322 * Bugs fixed:
6323  711547 win32: silence some build warnings
6324  725511 Compiled resource files should have the same /-separators everywhere
6325  725513 Some tests fail to build on W32
6326  725514 W32: gfileutils does not preserve errno correctly
6327  725515 test-printf fails on W32
6328  728730 gsocket: Set SO_NOSIGPIPE on sockets on Darwin
6329  729703 Leaks a GError in g_file_move
6330  730932 statically assert that reasonable assumptions about enums are true
6331  732085 gtype: Fast-path for g_type_is_a
6332  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
6333  733345 ginetaddress: Add a precondition to g_inet_address_new_from_string()
6334  733576 Patches from static analysis run on 2.40
6335  733715 glib's configure.ac makes accidentally use of nested function
6336  733934 win32: improve the package installation dir lookup
6337  733960 W32: spawning a console process creates a new window when stdout...
6338  733969 Remove atomic aspects of g_clear_pointer/object
6339  733982 Do not crash when checking whether an instance type is of a given...
6340  734035 gedit hangs up when there's no GSettings key in the registry 
6341
6342 * Translation updates:
6343  Basque
6344  Brazilian Portuguese
6345  Lithuanian
6346  Slovenian
6347  Spanish
6348
6349
6350 Overview of changes in GLib 2.41.2
6351 ==================================
6352
6353 * The Unicode support has been updated to version 7.0
6354   of the Unicode standard
6355
6356 * GNotification now supports priorities for notifications
6357
6358 * GCredentials has gained NetBSD support
6359
6360 * GMutex now uses a faster, native implementation on Linux
6361
6362 * Bugs fixed:
6363  699132 Pluggable event loop backends
6364  720708 g_assert_warning(): number of arguments doesn't match for...
6365  722092 Add GtkApplication resources support
6366  724986 Change gio/data-to-c.pl to /usr/bin/env perl.
6367  727974 Fix up failure-to-see-expected-message logging
6368  728256 gcredentials: add NetBSD support
6369  728401 GDateTime: Add guards to g_date_time_new()
6370  729825 Formatting of g_alloca documentation
6371  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro...
6372  730293 clang++-3.4: error: 'register' storage class specifier is ...
6373  731339 giochannel: avoid setting uninitialised length
6374  731424 #ifdef spaghetti for load_user_special_dirs() implementations
6375  731623 GNotification: add support for a priority setting
6376  731929 update tables to unicode 7.0.0
6377  731950 gvalue: New g_value_from_instance
6378  731986 GLib: implement GMutex natively on Linux
6379  732184 GObject: warn on use of deprecated properties
6380  732357 Docs: various fixes and improvements
6381  732429 GActionEntry: improve documentation
6382  732465 Fix build on x64 Visual C++ builds
6383  732704 Docs: various fixes and improvements
6384  732739 ginetsocketaddress: Explicitly initialise flags for getaddr...
6385  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
6386  732984 g_object_ref(NULL) in g_dbus_object_manager_client_finalize
6387  733084 Typos in g_bytes_hash() and g_time_zone_find_interval() docs
6388  733146 spawn helper does not use correctly the parameters 
6389
6390 * Translation updates:
6391  Lithuanian
6392
6393
6394 Overview of changes in GLib 2.41.1
6395 ==================================
6396
6397 * Bug fixes:
6398  697229 Custom Interface implementations will be broken with glib 2.37/38
6399  698614 GObject: prevent installing properties after init
6400  729269 gvariant: Fix confusion between type and format strings in the docs
6401  730198 broken valgrind.h leads to crashes in g_type_free_instance on mingw64
6402  730807 GMutex performance regression
6403  730963 gconvert: mention that the g_convert len should be in bytes
6404  730984 Faster instance type check for fundamentals
6405  731050 <structname> tags appear in documentation
6406  731200 unconditional 'notify' during g_object_set() is problematic
6407  731335 gtype: guard uses of new fundamental type check
6408  731341 gparam: change value of G_PARAM_EXPLICIT_NOTIFY
6409  731366 run-assert-msg-test.sh gdb leaves assert-msg-test zombie
6410  731425 giomodule protects function-call with different token than function...
6411  731513 clang: build failure: implicit declaration of function '__atomic_load_4'
6412  731584 gbookmarkfile: Cleaner error handling code to pacify static analysis
6413  731657 Prevent an invalid @CARBON_LIBS@ from appearing in the .pc files
6414  731979 docs: Correct param to interface's default_init()
6415  731996 Return folder as icon for directories
6416  732002 gwakeup: Clarify buffer sizing in g_wakeup_signal()
6417  732005 Remove unused assignments
6418  732019 gtestdbus: Don’t close stdout for dbus-daemon
6419  732068 gsignal: Add an example to the g_signal_connect_swapped() documentation
6420  732081 gsocket: Document that g_socket_create_source() holds a socket ref
6421  732107 gsocketlistener: Reconsider closing sockets on listener finalisation
6422
6423
6424 Overview of changes in GLib 2.41.0
6425 ===================================
6426
6427 * Many bugfixes found by static analysis, including potential fd leaks
6428   and NULL pointer dereferences.
6429
6430 * Increased use of (nullable) attribute on out values and return types
6431   now that it is supported (mostly from porting Vala metadata).
6432
6433 * use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of desktop
6434   files, deprecating g_desktop_app_info_set_desktop_env()
6435
6436 * add support for g_desktop_app_info_get_implementations() to find
6437   desktop files that have an Implements= line for a given interface
6438
6439 * GHmac has gained SHA-512 support
6440
6441 * support the new mimeapps specification (most notably, moving the
6442   assoications/defaults configuration to ~/.config/mimeapps.list).
6443
6444 * libgobject is now linked -Wl,-z,nodelete when possible to avoid errors
6445   when gobject is used from a module for a program that does not itself
6446   use gobject and that module is unloaded/reloaded
6447
6448 * ... and many other bug fixes.
6449
6450  623552 glib warns if backtrace.py is not present
6451  667468 glib-2.30.2: ipv6 tests fail when no ipv6 support is available
6452  668152 -framework Carbon linker flag not passed to pkg-config .pc files
6453  707298 libgobject should be linked with -Wl,-z,nodelete
6454  712391 Add g_desktop_app_info_get_implementors()
6455  722723 Infinite recursion when calling g_io_stream_close_async() from libsoup
6456  724741 hmac: Fix support for SHA-512 in GHmac
6457  726040 networkaddress: fix parsing of uri with @ after authority
6458  726318 gio: Document that GSocket is not thread safe
6459  726611 socketclient: Leak on cancellation
6460  726872 gio: Add names to idles and timeouts
6461  727119 wrong IN6_IS_ADDR_MC_LINKLOCAL usage break android build
6462  727123 GNotification: Some small documentation fixes
6463  727320 docs: Remove escaping '\' from literals
6464  727551 Check use_count of GApplication in g_application_release()
6465  727559 g_file_copy: Don't set GError when we intend to ignore errors
6466  727692 gio/gtlscertificate.c -- broken PEM-file processing (affects local CA root stores, for starters)
6467  727890 soup_content_sniffer_real_sniff segfault
6468  727900 gio: Add newer dbus UnknownXxxx and PropertyReadOnly errors
6469  727928 gapplication-tool fixes
6470  727939 INTLLIBS are always appended in configure checks
6471  727964 g_io_extension_point_get_extension_by_name: Warn, but don't crash, for NULL inputs
6472  728040 Implement new mimeapps spec
6473  728066 Deal with startup notify id being NULL
6474  728280 platform_get_argv0: fix sysctl(3) use on OpenBSD
6475  728285 docs: Use markdown links in .h files, too
6476  728350 gaction: Minor clarifications in the GAction documentation
6477  728380 docs: Remove <!-- --> comment before plural s
6478  728565 gfile: More explicitly document the context for GFileProgressCallback
6479  728983 Docs: various fixes and improvements
6480  729167 gobject: Document that classes/objects/interfaces are zero-filled
6481  729563 GOption: A short option's value is included in G_OPTION_REMAINING
6482  729813 AppInfo: use XDG_CURRENT_DESKTOP for OnlyShowIn
6483  729875 gio: cleanup gdbusmessage.c file
6484  730045 Avoid overeager warning about deprecated properties
6485  730189 gtestutils: Fix a very unlikely FD leak in test fork handling
6486  730190 gsocket: Add missing preconditions to g_socket_send_message()
6487  730277 gthread: Fix use of a local variable after it went out of scope
6488  730278 gsubprocess: Add a missing va_end() call
6489  730295 gdbus-tool: Remove dead variables
6490  730493 Port annotations from Vala metadata
6491
6492 Translations updated:
6493  Basque
6494  Brazilian Portuguese
6495  Catalan
6496  Czech
6497  Danish
6498  Greek
6499  Hebrew
6500  Hungarian
6501  Punjabi
6502  Serbian
6503  Slovenian
6504  Spanish
6505  Ukrainian
6506
6507 Overview of changes from GLib 2.39.91 to GLib 2.39.92
6508 =====================================================
6509
6510 This is a release candidate for 2.40.0.
6511
6512 * g_test_run() no longer runs tests in exactly the order they are
6513   registered; instead, it groups them according to test suites (ie,
6514   path components) like the documentation always claimed it did. In
6515   some cases, this can result in a sub-optimal ordering of tests,
6516   relative to the old behavior. The fix is to change the test paths to
6517   properly group together the tests that should run together. (eg, if
6518   you want to run test_foo_simple(), test_bar_simple(), and
6519   test_foo_using_bar() in that order, they should have test paths like
6520   "/simple/foo", "/simple/bar", "/complex/foo-using-bar", not
6521   "/foo/simple", "/bar/simple", "/foo/using-bar" (which would result
6522   in test_foo_using_bar() running before test_bar_simple()).
6523
6524   (The behavior actually changed in GLib 2.36, but it was not
6525   documented at the time, since we didn't realize it mattered.)
6526
6527 There are no major changes in this release, but a few serious bugs have
6528 been fixed.
6529
6530 * Bugs fixed:
6531  710367 Crash in g_settings_backend_dispatch_signal()
6532  723899 G_DEFINE_TYPE() causes compiler warnings with clang due to foo_get_instance_private
6533  724859 Let the test_wait_until() test also run on non-*nix
6534  724916 gio unmount code makes XFCE's Thunar crash
6535  725651 GSubprocessLauncher: Does not copy the calling process environment.
6536  725656 Unskip GVariantDict
6537  725891 gio tests: add codegen to BUILT_SOURCES
6538  726046 Recent commit created symbolic icons issues
6539
6540 * Translations:
6541  Chinese
6542  French
6543  Korean
6544  Latvian
6545  Norwegian bokmål
6546  Portuguese
6547  Russian
6548  Traditional Chinese
6549
6550 Overview of changes from GLib 2.39.90 to GLib 2.39.91
6551 =====================================================
6552
6553 This release introduces a hard dependency on present and functioning
6554 clock_gettime() and CLOCK_MONOTONIC.  It also introduces a dependency on
6555 pthread_condattr_setclock() unless your system happens to have
6556 pthread_cond_timedwait_relative_np() (as do Mac OS and Android).  This
6557 release is known to be broken with at least GNU/Hurd, pending addition
6558 of working pthread_condattr_setclock(CLOCK_MONOTONIC) there.
6559
6560 New API: g_str_to_ascii()
6561
6562 * Fixed bugs:
6563  670144 unconditional use of CLOCK_MONOTONIC is broken
6564  673607 invalid assumption in g_cond_wait_until() / g_get_monotonic_time() API
6565  710142 Add more impressive transliteration to GLib
6566  722360 make check fails
6567  722604 (partial) Various tests are failing with 2.39.3
6568  723316 g_hash_table_iter_remove() should be explicit whether or not it is safe while iterating the table
6569  724609 Fix build of GIO on Windows
6570  724687 gmain: make monotonic time really monotonic, everywhere
6571  724706 gsource: document priority of child sources
6572  724707 some GSocket source improvements
6573  724839 GMainContext: some source ID cleanups
6574  724858 Dist gtranslit-data.h
6575  724994 Missing icons for bookmarks in file chooser
6576  725023 Can no longer find apps by executable/desktop file name
6577
6578 * Translations:
6579  Lithuanian
6580  Polish
6581  Thai
6582
6583 Overview of changes from GLib 2.39.4 to GLib 2.39.90
6584 ====================================================
6585
6586 * Fixed bugs:
6587  625408 make GVariant dictionaries more useful
6588  660809 document that if you fail a precondition check, documented guarantees do not apply
6589  661576 fix handling of constructors that destroy half-constructed objects
6590  679957 g_inet_address_new_from_string is not able to handle dots and numbers IPv4 addresses
6591  712837 gvariant: Document the need to cast varargs when constructing GVariants
6592  721458 g_simple_async_result_is_valid has a NULL check for the wrong source_tag
6593  721977 improve split handling of command line arguments
6594  722033 win32: fixup lib.exe invocation
6595  723422 Fix g_socket_get_available() with TCP on Windows
6596  723616 gio/tests: fix race when generating code
6597  724001 gsubprocess: Fix a broken link in the documentation
6598  724124 glib/tests/collate.c fails if no en_US locale
6599  724126 intermittent GApplication test failure: /gapplication/local-actions: lines of output permuted
6600  724233 gsocketservice: Note g_socket_listener_close() for closing open sockets
6601  724239 soup_session_queue_message - Connection terminated unexpectedly
6602  724278 gsocketconnection: Document closing connections with g_io_stream_close()
6603  724330 configure.ac: tweak inotify check
6604  724385 gtestutils: make the new assert messages more detailed
6605  724401 gsubprocess: Mutex leak
6606  724417 glib master build broken on OpenBSD
6607  724434 Build failure in gio/gresolver.c
6608
6609 * Updated translations:
6610  Brazilian Portuguese
6611  Galician
6612  Indonesian
6613  Italian
6614  Kannada
6615  Norwegian bokmål
6616  Spanish
6617  Thai
6618
6619 Overview of changes from GLib 2.39.3 to GLib 2.39.4
6620 ===================================================
6621
6622 * Fixed Bugs:
6623  139699 Correction for g_main_context_unref()
6624  583036 g_strchomp and g_strchug are not declared const
6625  683388 improve documentation for application developers
6626  685204 ./configure fails to add the '-g' flag to CFLAGS
6627  688406 GStaticMutex broke ABI on at least ARM EABI during 2.31.x
6628  693299 cannot compile on Solaris: error in gbitlock.c
6629  707111 Clarify type transformability and compatibility
6630  711547 win32: silence some build warnings
6631  719344 Fix the various test programs (or GLib itself) on Windows
6632  722025 cleanup/clarify command line argument encoding on Windows
6633  722323 remove unused include 'gslist.h' in 'gbookmarkfile.c'
6634  722326 gstringchunk: Use g_slist_free_full() where possible
6635  722357 gio: fix small memory leak on local xattr
6636  722436 Adjust doc to Makefile.decl renaming
6637  722503 GSimpleAction: add default activate handler
6638  722526 glib/deprecated/gthread.h error on FreeBSD
6639  722591 [documentation] broken link to GtkAction from GAction.html
6640  722973 Broken example in GApplication reference
6641  723048 'network-access' test can fail to guess interface index
6642  723360 gmain: Note that g_source_destroy() can be called multiple times 
6643
6644 * Updated Translations:
6645  Assamese
6646  Tamil
6647  Traditional Chinese
6648
6649
6650 Overview of changes from GLib 2.39.2 to GLib 2.39.3
6651 ===================================================
6652
6653 No major changes this release -- mostly lots of small fixes and
6654 improvements in test coverage.
6655
6656  * fix a crasher in code from gdbus-codegen
6657
6658  * improvements to gobject gdb helper script
6659
6660  * portability:
6661
6662    - fix a deadlock issue with kqueue on FreeBSD
6663
6664    - work around a quirk in the sunstudio compiler
6665
6666    - rename a variable to avoid clashing with a macro definition of
6667      'environ' on some platforms (like mingw)
6668
6669    - use POSIX-specified <poll.h> over <sys/poll.h>
6670
6671    - many improvements to Visual Studio projects and and some build
6672      fixes for Windows
6673
6674  * tests
6675    - a very large number of improvements in test coverage
6676
6677    - don't report skipped tests as failures
6678
6679    - return 77 if we skip all tests in an executable
6680
6681    - improve gtest documentation and fix some minor issues
6682
6683    - fix g_test_trap_reached_timeout() return value
6684
6685    - remove some dead code uncovered during test coverage expansion
6686
6687    - Use tap mode for installed tests too, when using tap
6688
6689  * fix races in unix signal handling
6690
6691  * make our GVariant-based commandline tools (glib-compile-schemas,
6692    gdbus, gapplication) print out GVariant parse errors in context
6693
6694  * GApplication now has a --gapplication-service command line switch to
6695    turn any GApplication into a service
6696
6697  * improve compatibility of GApplication and GOptionContext
6698
6699  * fix gsettings.m4 wrt. builddir != srcdir with non-recursive make
6700
6701  * use a directory monitor in GKeyfileSettingsBackend
6702
6703  * improve robustness of some GIcon classes
6704
6705 Bugs fixed
6706  141251  poll(2) is in <poll.h>, not <sys/poll.h> per SUS standard
6707  613732  [PATCH] gobject.py: Don't install frame filters when GDB does not support them
6708  708212  g_variant_parser_error_get_quark() has unexpected name.
6709  710965  GApplication: add --gapplication-service switch
6710  711090  periodic failure of spawn-multithreaded async testcase
6711  712171  gsettings.m4: @GSETTINGS_RULES@: Support srcdir != builddir with nonrecursive make
6712  712630  Revert "gsettings m4: check for .xml in src/builddir"
6713  715028  GVariant: add way to print context of parse errors
6714  719344  Fix the various test programs (or GLib itself) on Windows
6715  720263  gtestutils: skipping a test should count as success, not failure
6716  720539  gdbus-codegen: Fix crasher in goa-using apps
6717  720635  Make gdb pretty-printers compatible with Python3
6718  720891  g_settings_get_child does not inherit the backend
6719  721034  glib 2.38.2 cannot be compiled with SunStudio Compiler under Solaris
6720  721059  g_subprocess_launcher_set_environ vs "environ"
6721  721074  kqueue: deadlock
6722  721087  Missing -lselinux in pkg-config --libs --static gio-2.0
6723  721324  Error message is printed to stdout
6724  721624  Regression in GTest framework reorders existing test cases
6725  721625  backwards NEWS entry about g_source_remove change
6726  721796  insufficient escaping in g_dbus_annotation_info_generate_xml()
6727  721947  Improve GApplication ⇔ GOptionContext compatibility 
6728
6729 Translations updated:
6730  Brazilian Portuguese
6731  Galician
6732  Greek
6733  Hebrew
6734
6735 Overview of changes from GLib 2.39.1 to GLib 2.39.2
6736 ===================================================
6737
6738 * Portability
6739
6740   - Remove alleged support for OS/2
6741
6742   - Remove alleged support for BeOS
6743
6744   - Remove alleged support for last-millennium Unixes
6745
6746   - Require C90 compliance
6747
6748   - Require POSIX.1 (1990) compliance on Unix
6749
6750   - Require GNU make
6751
6752 * Bugs fixed:
6753  113075 support "nonnull" attribute
6754  159528 g_ptr_array_remove_range()
6755  307947 The check for growing stack pointer in configure can fail
6756  607016 docs should mention property notification order
6757  671557 Fun with integers and g_key_file_load_from_data()
6758  676761 don't use g_critical for a runtime error
6759  690525 g_file_replace_contents_async doesn't copy its @conten...
6760  691608 Support compilation with clang 3.2
6761  697585 g_variant_builder_add's doc example is leaking
6762  697828 g_hash_table_add() should return a boolean
6763  702862 gdbus-codegen : look for deps in default install path
6764  703522 Reference leak in GvariantBuilder documentation
6765  705902 g_get_current_dir() should check PWD env var and retur...
6766  708274 Added GObject Introspection annotations to genums.c
6767  710519 Portability schmortability
6768  710741 some mainloop instrumentation
6769  710983 Test failures on powerpc
6770  711047 Enable the build of the various test programs on Windo...
6771  711051 Add basic test for the GNotification gtk backend
6772  711088 gbacktrace: Don't close stderr when running gdb
6773  711103 gmessages: Add g_info macro for G_LOG_LEVEL_INFO
6774  711178 appinfo test problems
6775  711546 utf8: report allocation error
6776  711640 gdesktopappinfo: Rank Keywords matches higher than Gen...
6777  711751 Fix memory leaks in libglib tests
6778  711753 gthread-posix: Don't use gslice allocated GRecMutex
6779  711796 glib-tap.mk: fix to actually use the TAP driver
6780  711800 fix g_test_set_nonfatal_assertions()
6781  711801 giomodule: Allow overriding source directory gio modul...
6782  711805 gdbus-connection: Fix race condition in test
6783  711806 gtestdbus: Don't destroy GSource twice
6784  711807 gtestdbus: Properly close server connections
6785  711871 Broken and misleading configure check for growing stack
6786  712136 'O_CLOEXEC' undeclared (first use in this function)
6787  712148 Add system bus support to GTestDBus
6788  712171 gsettings.m4: @GSETTINGS_RULES@: Support srcdir != bui...
6789  712314 AIX port: splice(); major()/minor(); libtool library order
6790  712315 GSettings: More docs for deprecated _list_schemas()
6791  712393 gobject: Box GMappedFile
6792  712547 GSocketClient "event" not useful for determining resol...
6793  715164 Clang static analysis fixes
6794  719395 GPtrArray add g_ptr_array_insert
6795  719402 Crashes when startup
6796  719472 leak in generated proxy-side property-setter
6797  719687 fix or remove g_trap_object_ref
6798  719809 Signal connection ids are always > 0 if successful
6799  719837 gdbus-connection: Work around race in connection tests
6800  719884 Fix documentation typos in GTask and GCancellable examples
6801  719979 g_settings_get: check validity of format string
6802  720080 Truncating a GMemoryOutputStream to a larger size cause...
6803  720210 gdataset: Remove unused define
6804  720236 Allow clean simple use of g_test_trap_subprocess() 
6805
6806 * Translations updates:
6807  Italian
6808  Lithuanian
6809  Simplified Chinese
6810  Spanish
6811
6812
6813 Overview of changes from GLib 2.39.0 to GLib 2.39.1
6814 ====================================================
6815
6816  * GSettings fixes/improvements
6817
6818    - GSettingsSchema API is now more powerful and consistent
6819
6820    - new GSettingsSchemaKey API allows accessing metadata for keys:
6821      type, default value, range and the long-awaited support for summary
6822      and description
6823
6824    - GSettingsSchemaSource gains support for listing schemas within a
6825      source.  Deprecate the global API that did this for the default
6826      source.
6827
6828    - 'gsettings list-schemas' now works properly with --schemadir
6829
6830    - deprecate a bunch of now-redundant functionality on GSettings
6831
6832    - add API to GSettings for getting the default value of a key (as set
6833      by the sysadmin)
6834
6835    - add API to GSettings for determining if the user has assigned a
6836      particular value to a key (ie: we are not just reading the default)
6837
6838    - ignore qualified tags and attributes appearing in schema files
6839
6840  * Applications/Actions
6841
6842    - make GSimpleAction a bit more strict with respect to state changes
6843      that would violate the interface (ie: by changing the state type
6844      after construction)
6845
6846    - throw an error when attempting to 'Describe' a non-existent action
6847      via D-Bus instead of returning a bogus description
6848
6849    - throw an error when attempting to invoke unsupported methods on an
6850      Application (eg: 'Open' on an app that doesn't HANDLES_OPEN)
6851      instead of emitting a g_critical() in context of the app (which is
6852      not itself at fault for the errant call)
6853
6854  * Appinfo
6855
6856    - substantially rework GDesktopAppInfo to reduce the amount of disk
6857      accesses that are performed in common situations
6858
6859    - add a new class: GAppInfoMonitor for discovering when applications
6860      are installed/removed
6861
6862    - add a new g_desktop_app_info_search() API for searching for
6863      installed applications by name, keywords, etc.
6864
6865  * GMarkup: add new G_MARKUP_IGNORE_QUALIFIED flag for skipping over
6866    "qualified" tags and attributes (those with a colon in the name, such
6867    as 'my:tag')
6868
6869  * GDBus
6870
6871    - ignore qualified tags, as above
6872
6873    - GTestDBus: unset all D-Bus addresses (such as STARTER) to ensure
6874      that test programs don't pick them up
6875
6876    - add new session_bus_run() convenience in the tests and use it
6877
6878  * GRand: use real random data as a seed on win32 and use the
6879    timestamp/pid/uid fallback only on UNIX machines where we can't open
6880    '/dev/urandom'.  This may cause issues with older mingw32 releases
6881    due to a missing prototype for the rand_s() API.
6882
6883  * Many win32 (and particularly MSVC) portability fixes.  Many
6884    additional tests are now runnable when building with MSVC.
6885
6886  * Due to early testing of the (soon to land) GCleanup framework, a very
6887    large number of memory errors have been found and fixed (mostly in
6888    the testcases, but some in glib itself).
6889
6890  * GIO:
6891
6892    - some more seeking cleanups: particularly on GLocalFileInputStream
6893
6894    - don't leave a .trashinfo file around if trashing a file fails
6895
6896    - Add a request_certificate virtual method to GTlsInteraction
6897
6898 Translations updated:
6899  Assamese
6900  Galician
6901  Greek
6902  Spanish
6903  Tamil
6904
6905 Bugs fixed:
6906  635641 schema compiler should ignore unknown attributes
6907  637257 g_tls_client_connection_gnutls_retrieve_function needs to be able to block
6908  637956 GKeyfileSettingsBackend should ignore file deletions
6909  645453 keys from base schema missing from extended schema
6910  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes in XML files
6911  668232 Unable to get description and summary for a key
6912  668233 Unable to determine if a key is set to the default / what the default value is
6913  680838 Need g_settings_schema_source_get_schemas()
6914  683017 API for accessing GSettings Schema metadata
6915  687185 org.gtk.Actions.Describe doesn't return an error for non-existing action names
6916  687202 If trashing fails, the ".trashinfo" file is not removed
6917  695558 The --schemadir option has no effect
6918  696424 GSimpleAction.state property is not right
6919  697348 GTestDBus should unset DBUS_STARTER_ADDRESS, DBUS_STARTER_BUS_TYPE
6920  710133 Emit backward compatible code with gdbus-codegen
6921  710691 glib-networking: locking during implicit handshake
6922  710738 GRand has lame fallback for Windows
6923  710859 Typo in gio docs
6924  710885 Two fixes for GApplication
6925  710962 error: 'F_DUPFD_CLOEXEC' undeclared (first use in this function)
6926  710964 Add g_hash_table_get_key_array()
6927  710991 test: g_debug messages shouldn't affect g_assert_expected_messages
6928  711016 g_settings_list_keys () segfaults for empty schemas
6929  711048 glocalfileinputstream.c allows skip past end of file
6930  711049 Fix build of GLib-GIO 2.39.x on Windows/MSVC
6931  711064 Adding child source to blocked source can cause a segfault
6932  711070 Copying a symlink over another one segfaults
6933  711099 gapplication test failure
6934  711520 GDesktopAppInfo: allow more than one level of legacy folder prefixes
6935  711556 Add GAppInfoMonitor
6936  711557 Add g_desktop_app_info_search()
6937  711600 trivial portability fix
6938  711632 The desktop-app-info test fails during make check
6939  711754 gmain: Fix use of uninitialized memory in sigaction structure
6940  711755 private: Use threading primitives correctly in private test
6941  711756 gthreadpool: Don't pass bad data to GThreadPool sorter
6942  711768 Fix memory leaks in libgmodule tests
6943  711775 utils: Don't free memory owned by glib in test
6944  711782 boxed: Fix double free in boxed unit tests
6945  711803 gsubprocess: Fix a number of leaks and a segfault
6946  711808 gtestdbus: Fix leak of GMainLoop 
6947
6948 Overview of changes from GLib 2.38.0 to GLib 2.39.0
6949 ====================================================
6950
6951  * prep for the 2.40 series (version macros, docs index, etc.)
6952
6953  * GNotification
6954
6955    - new API for sending persistent notifications via the desktop shell
6956
6957    - notifications persist when the application has quit and clicking on
6958      them can restart the application with an action (via
6959      DBusActivatable)
6960
6961  * GSubprocess
6962
6963    - new API for launching subprocesses
6964
6965    - nice GIO integration like async functions, cancellability, etc.
6966
6967    - a convenient communicate() API inspired by the same API in Python
6968
6969    - related: the gspawn API now has a CLOEXEC flag for the created
6970      pipes for stdin/stdout/stderr
6971
6972  * New gapplication(1) commandline tool
6973
6974    - intended to be used with DBusActivatable apps
6975
6976    - can be used for launching apps, opening files, invoking application
6977      actions and listing apps and actions
6978
6979    - bash tab completion is supported
6980
6981  * GDesktopAppInfo changes:
6982
6983    - g_file_get_path() can implicitly cause a FUSE mount so don't call
6984      it until we know we need it (for an app that doesn't support URIs)
6985
6986    - don't crash when trying to load from a keyfile with
6987      DBusActivatable=true
6988
6989    - remove some dead code, refactor the search path handling a bit and
6990      do a large-scale whitespace cleanup (prep work for the pending
6991      desktop file index)
6992
6993  * File monitors
6994
6995    - fix broken handling of mount point monitoring
6996
6997    - remove some strange use of GObject::constructor() from the base
6998      class and inotify backend
6999
7000    - fix GFileMonitor to work in the non-default main context even when
7001      the main context is not running (or is blocked)
7002
7003    - add internal private API for easily creating a file monitor in the
7004      GLib worker thread
7005
7006  * GSettings
7007
7008    - g_settings_list_children: only list viable schemas.  This fixes a
7009      longstanding issue where 'gsettings list-recursively' will crash
7010      when there are invalid schemas installed
7011
7012    - don't accept invalid paths on g_settings_new_with_path, etc.
7013
7014  * GIO
7015
7016    - GFile now has a thumbnail::is-valid attribute to check if the
7017      thumbnail in thumbnail::path needs to be regenerated
7018
7019    - GDBusProxy now has a flag to control autostarting of services at
7020      construction time
7021
7022    - for GSeekable, properly introduce the concept of "resizable" vs.
7023      "fixed-sized" streams in the docs, explaining the expected
7024      semantics of the interface in each case
7025
7026    - fix some cases in GMemoryOutputStream that were violating the above
7027      expectations (which may cause a slight API incompatibility)
7028
7029    - clean up GCredentials code and add support for Hurd and Solaris
7030
7031    - improve splicing by using different codepaths for the case where we
7032      have real _read_async() and _write_async() implementations on the
7033      stream vs. the case where they are internally emulated (via
7034      dispatching the sync variant of the call in a thread)
7035
7036  * GKeyFile
7037
7038    - fix a leak in g_key_file_get_(u)int64 when we fail to parse the
7039      value as an integer
7040
7041    - add long-requested API g_key_file_save_to_file()
7042
7043  * Portability improvements
7044
7045    - avoid using O_DIRECTORY on platforms that don't have it
7046
7047    - be careful about systems that define SOCK_CLOEXEC but don't
7048      actually support it (like Hurd)
7049
7050    - only use SA_RESTART if it exists
7051
7052  * Other small API changes/additions
7053
7054    - a pair of functions to support matching strings for the type of
7055      search functionality that you'd expect to have with things like
7056      GtkSearchBar.  This will also be used by the desktop file index.
7057
7058    - g_str_is_ascii() with obvious purpose
7059
7060    - g_test_expect_message() no longer appears to allow you to catch
7061      G_LOG_ERROR messages
7062
7063  * GMainContext/GSource
7064
7065    - fix handling of overflowing the 'next source id' counter
7066
7067    - g_source_remove() will now throw a critical in the case that you
7068      try to remove a non-existent source.  We expect that there is some
7069      code in the wild that will fall afoul of this new critical but
7070      considering that we now reuse source IDs, this code is already
7071      broken and should probably be fixed.
7072
7073    - simplify handling of the 'current dispatching source' to not
7074      require use of a linked list
7075
7076  * GObject
7077
7078    - the long-broken (and leaky) pattern of destroying a just-allocated
7079      object from inside of a custom GObject::constructor is now
7080      officially completely illegal and will abort the program
7081
7082  * Unicode: update to 6.3.0
7083
7084  * Bug fixes
7085
7086    - g_file_copy() now falls back to pathname queryinfo.  This should
7087      clear up the bugs with copying from some GVfs backends (afp,
7088      gphoto, archive, at least).
7089
7090    - fix an out-of-bounds read in the xdgmime code
7091
7092    - fix a typo in the /org/freedesktop/DBus path on the object manager
7093      client
7094
7095    - skip emitting path_namespace='/' in match rules in order to
7096      workaround a bug in the D-Bus daemon and fix our own implementation
7097      (which shared exactly the same bug)
7098
7099    - fix crashes on precondition violations for GParamSpec constructors
7100
7101    - many other small fixups (see bug list)
7102
7103   * Many documentation improvements
7104
7105 Bugs fixed:
7106  309224 g_key_file_save_to_file missing
7107  583321 QNX: no SA_RESTART
7108  661576 fix handling of constructors that destroy half-constructed objects
7109  672102 GSubprocess class
7110  684842 Seeks on GMemoryOutputStream don't have opaque semantics
7111  688492 Add a notification API
7112  691581 g_output_stream_real_splice_async doesn't use overriden read/write_async functions
7113  702516 gfileutils: Make -Werror=format-nonliteral happy
7114  704218 New gapplication(1) tool
7115  704593 g_setenv: on some systems (BSD, OSX…), setting a variable to NULL crashes the system
7116  704882 GLocalDirectoryMonitorClass mount_notify field is useless
7117  704887 file monitoring improvements
7118  705029 Support for Solaris credentials
7119  705688 g_settings_list_children: only list viable schemas
7120  706254 Afp backend cannot copy files
7121  707887 Attempting to create GObject Property with underscore prefix segfaults
7122  708042 gapplication: don't rely on cmdline being finalized immediately
7123  708265 add support for GNU/Hurd in GLib D-Bus Library
7124  708266 fix error code checks when SOCK_CLOEXEC is defined but not supported
7125  708529 xdgmime: valgrind warns about invalid reads
7126  708677 incorrect object path 'deskop' used in gio/gdbusobjectmanagerclient.c
7127  708714 Typo in docs of GLIB_VERSION_2_40 macro.
7128  708753 gdesktopappinfo: Call g_file_get_path() on demand
7129  708793 glib build fails with clang < 3.1: error: expected ';' after top level declarator
7130  708828 GDBusProxy: add the ability to call methods on non autostarted proxies
7131  708860 glib-2.38.0 doesn't build on Solaris 10
7132  708972 gnetworking.h in tarball screws up out-of-source builds
7133  709113 [PATCH] Main loop dispatch path has needless linked list
7134  709227 Update to unicode 6.3.0
7135  709301 goutputstream: Add clear warning about short writes to _write_bytes() and async version
7136  709326 GDesktopAppInfo crashes creating a DBusActivatable app without a filename
7137  709440 Fix overloading of "source" and "target" terminology in GBinding
7138  709615 Cannot use g_test_expect_message with g_error
7139  709753 Add helpers for string matches when using GtkSearchBar-like widget
7140  709898 Expose thumbnail validity in GFile attributes
7141  709966 Remove outdated documentation
7142  709994 Minor fix for HACKERS doc to direct hackers to proper help file
7143  709995 Obsolete makefile rules
7144  710002 G_MAXUINT may be assigned as duplicate source id
7145  710313 Memory leak in g_key_file_get_(u)int64 with invalid integer values
7146  710345 [Patches] Fix some redundant-decls
7147  710496 g_locale_to/from_utf8() doc updated.
7148  710625 g_file_error_from_errno: Remove unneeded breaks
7149  710666 Frame clock related bug fixes
7150  710724 gmain: Warn when g_source_remove() fails
7151  710726 Work around D-Bus bug with path_namespace='/' match rules
7152
7153 Translations:
7154  Assamese
7155  Brazilian Portuguese
7156  Indonesian
7157  Russian
7158  Tamil
7159  Traditional Chinese
7160
7161 What's new in Glib 2.38
7162 ========================
7163
7164  * Application support
7165
7166   - GIO now provides an implementation of Desktop Actions from the
7167     desktop entry specification
7168
7169   - GApplication now implements the org.freedesktop.Application
7170     interface as per the desktop entry specification, allowing for
7171     standards-based D-Bus launching of GLib-based applications
7172
7173   - GDesktopAppInfo now supports DBusActivatable as per the desktop
7174     entry specification, allowing GLib-based applications to use D-Bus
7175     to launch other applications
7176
7177   - GApplication now has a "busy" flag that can be set on an application
7178     to allow the shell to show that it is busy
7179
7180  * GObject
7181
7182   - the private offset for a given class type is now always constant.
7183     This was done by reorganising the memory layout of instances so that
7184     the private data comes before the "official" pointer for the object
7185     (ie: at a negative offset).  Valgrind macros were added to mitigate
7186     any problems that this may have caused.
7187
7188   - a new G_DEFINE_TYPE_WITH_PRIVATE has been added along with a
7189     generated function *_get_instance_private() that can now serve as an
7190     equally-performing alternative to ->priv pointers in instances
7191     (allowing memory savings)
7192
7193   - new G_PRIVATE_FIELD, G_PRIVATE_FIELD_P and G_PRIVATE_OFFSET macros
7194     provide a convenient method of converting between named variables in
7195     private structures and their (now constant) offsets
7196
7197   - installing properties on a GObjectClass must now be done from
7198     class_init.  It is no longer valid to install them after class_init
7199     has returned.
7200
7201   - it is now possible to manually break a GObject property binding
7202     without destroying one of the objects involved
7203
7204  * Icons
7205
7206   - the requirements for implementing the GIcon interface have changed
7207     in order to make it possible to consume all implementations of GIcon
7208     with a finite number of cases
7209
7210   - a new GBytesIcon type was added for an icon represented by an
7211     in-memory binary blob in a known image format (ideally png).
7212
7213   - new APIs g_icon_serialize() and g_icon_deserialize() replace the old
7214     to/from_string APIs and will always work, irrespective of which
7215     types have been initialised in the calling process, allowing for a
7216     serialised GdkPixbuf to be deserialised in a process that doesn't
7217     have GdkPixbuf
7218
7219   - support for icons has been added to GMenuModel using the new APIs
7220
7221  * Actions and menus
7222
7223   - GPropertyAction provides a convenient way of creating a stateful
7224     property corresponding to a property on a GObject, such as the
7225     "visible-child-name" property of a GtkStack
7226
7227   - new API g_menu_remove_all()
7228
7229   - we now have established rules about what is a "valid" action name
7230     and an API to check them
7231
7232   - a new API for converting detailed action names to and from the
7233     split-out name and parameter value (as GVariant)
7234
7235   - for backwards compatibility, invalid action names can still be used
7236     with most functions, but this is not recommended
7237
7238  * Other GIO
7239
7240   - GDBus now supports services that wish to handle some of all
7241     properties on an interface asynchronously, without requiring the
7242     service to reimplement the entire org.freedesktop.DBus.Properties
7243     interface
7244
7245   - GFile now has a new _measure_disk_usage() (and async) API for
7246     recursively determining the amount of disk space used by a
7247     particular directory (akin to 'du').
7248
7249   - asynchronous version of g_file_trash() and g_file_make_directory()
7250     have been added
7251
7252  * Other new API
7253
7254   - GRegex has a new function to query the maximum lookbehind length to
7255     allow for regexp matching on streams
7256
7257   - GVariant has two new APIs for constructing strings that allow
7258     avoiding copies in some cases: g_variant_new_take_string() and
7259     g_variant_new_printf()
7260
7261  * Testing
7262
7263   - we can now generate TAP output
7264
7265   - new support functions for simplifying the process of dealing with
7266     data files for srcdir != builddir and installed test cases
7267
7268   - g_test_trap_subprocess() provides a portable alternative to
7269     g_test_trap_fork()
7270
7271  * Other
7272
7273   - GLib now builds on Android against the bionic C library
7274
7275 Overview of changes from GLib 2.37.93 to 2.38.0
7276 ================================================
7277
7278 * fix the documentation for GSourceFuncs
7279
7280 * fix compilation on OS X/ppc64
7281
7282 Bugs fixed: 708445, 647145
7283
7284 Translations updated:
7285  Danish
7286  French
7287  Portuguese
7288  Punjabi
7289
7290 Overview of changes from GLib 2.37.92 to 2.37.93
7291 ================================================
7292
7293 * a couple of bugfixes in the new g_file_measure_disk_usage() API
7294
7295 * updated Traditional Chinese translation
7296
7297 Overview of changes from GLib 2.37.7 to 2.37.92
7298 ===============================================
7299
7300 * new API g_file_measure_disk_usage() similar to du(1)
7301
7302 * minor fixes
7303
7304 * Translation updates:
7305  Assamese
7306  Belarusian
7307  Brazilian Portuguese
7308  Catalan
7309  Czech
7310  Galician
7311  German
7312  Hungarian
7313  Indonesian
7314  Italian
7315  Korean
7316  Korean
7317  Latvian
7318  Lithuanian
7319  Polish
7320  Serbian
7321  Slovenian
7322  Spanish
7323
7324 Overview of changes from GLib 2.37.6 to 2.37.7
7325 ==============================================
7326
7327 * GDateTime now supports %:z formatting variations
7328   for timezones. This is a GNU date extension.
7329
7330 * Bugs fixed:
7331  685387 Segfault with GObject.signal_handler_is_connected()...
7332  686786 g_socket_get_available_bytes() returns wrong value ...
7333  705027 GSocket GSource not threadsafe on Windows
7334  706469 Fix G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE documentation
7335  706706 Fix Gir annotations on g_loadable_icon_load_finish
7336  706888 gtype: fix a no-op assertion
7337  706958 configure.ac: fix atomic opts detection
7338  707092 "File Utilities" page for GLib documentation doesn'...
7339  707151 gdatetime: Extend the '%z' timezone format
7340
7341 * Translation updates:
7342  Catalan
7343  Hungarian
7344  Japanese
7345  Polish
7346  Slovak
7347  Tamil
7348
7349
7350 Overview of changes from GLib 2.37.5 to 2.37.6
7351 ==============================================
7352
7353 * Tests using the g_test facilities can now generate TAP output
7354
7355 * Bugs fixed:
7356  680926 generic type fallback logic is broken for -symbolic
7357  684327 setting null icon to icon list
7358  689245 GSocket unable to reuse (address,port) on Mac OS X
7359  692125 Support TAP as GTest output format
7360  693335 build: fix dtrace-related warnings
7361  696633 gdbus-codegen trips over unicode chars when using python 3.x
7362  696970 Compiling 2.36.0 for win64 fails
7363  697185 GSocket – Allow specifying the multicast interface from...
7364  700268 Add support for using the clang analyzer
7365  701318 Add G_SPAWN_DEFAULT to GSpawnFlags
7366  701529 glib/tests/gdatetime: use UTC time in test_GDateTime_diff()
7367  701800 a new approach to reporting critical errors
7368  702674 g_date_time_new_utc crash
7369  704165 GLib.IOChannel read_unichar() fails
7370  705075 Simplify g_get_tmp_dir()
7371  705152 Race in glib/task.test
7372  705398 gtype: Fix typo in g_type_class_add_private() error message
7373  705570 Check ref_count in g_object_notify_by_pspec
7374  705600 Deprecate GSimpleActionGroup functions?
7375
7376 * Updated translations:
7377  Assamese
7378  Brazilian Portuguese
7379  Czech
7380  Dutch
7381  Galician
7382  Gujarati
7383  Hebrew
7384  Italian
7385  Lithuanian
7386  Marathi
7387  Norwegian bokmål
7388  Russian
7389  Slovenian
7390  Spanish
7391  Thai
7392  Traditional Chinese
7393
7394
7395 Overview of changes from GLib 2.37.4 to 2.37.5
7396 ==============================================
7397
7398 * Implement the Desktop Action specification: In the case that the
7399   application is a GApplication and DBusActivatable, actions from the
7400   desktop file are translated into GActions that have been added to
7401   the  application with g_action_map_add_action().
7402
7403 * GPropertyAction is a new type of GAction that represents the value
7404   of a property on an object, and allows to change the value when
7405   activated.
7406
7407 * GNetworkMonitorNetlink can now handle default routes via a device.
7408
7409 * The gsettings tool now reports failure to write a key (e.g. because
7410   the key was locked down)
7411
7412 * Miscellaneous new api:
7413  - g_variant_new_printf
7414  - g_action_print_detailed_name
7415  - g_regex_get_max_lookbehind
7416
7417 * Bugs fixed:
7418  664444 Support additional application actions in .desktop files
7419  684123 glib build only tries -D_GNU_SOURCE if glibc is detected
7420  689794 support incremental matching
7421  699259 add org.freedesktop.Application support to GIO
7422  700460 rewrite tests to not rely on precise timing of timeouts
7423  701511 updates to various GSource types
7424  701609 gnetworkmonitornetlink: handle default route via device
7425  703270 add GPropertyAction
7426  704157 GAction: add function for printing detailed names
7427  704250 Doc: various fixes
7428  704267 regression gsourceclosure: segfault in gedit file chooser
7429  704322 glib-unix: fix handling of multiple signal source for the...
7430  704424 No error when failing to override a locked key
7431  704447 Fix build/use of g_child_watch_closure_callback on Windows
7432  704523 g_thread_create_full() can dereference NULL pointer
7433  704543 Add implementations for G_GNUC_*_IGNORE_DEPRECATIONS for ...
7434  704567 gdbusnameowning: Don't spew an error if we're releasing a...
7435  704585 libc printf can give mixed-case strings for NaN and Inf
7436  704587 FTBFS: statfs_result is undeclared for statvfs()
7437  704699 gmain: Reset signal handlers to default when source is
7438  704704 AI_NUMERICSERV cannot be used with ai_socktype = 0
7439  704873 inotify: don't assume mainloop is running
7440  704999 glib/convert.test crashing due to lack of iconv cache
7441  704931 GMenuModel: add annotations to virtual functions
7442
7443 * Translation updates:
7444  Assamese
7445  Czech
7446  German
7447  Gujarati
7448  Spanish
7449  Tamil
7450
7451
7452 Overview of changes from GLib 2.37.3 to 2.37.4
7453 ==============================================
7454
7455 * Bugs fixed:
7456  701283 g_source_add_child_source() segfault
7457  702147 inconsistency of G_STRFUNC
7458  703191 new private macros interact poorly with versioning macros
7459  703254 Doc: various fixes
7460  703407 g_spawn_async() keeps child_pid_report_pipe open in child process
7461  703437 GDBusConnection: be more careful with async GetAll
7462  703478 Missing G_BEGIN/END_DECLS in gsettingsschema.h
7463
7464 * Translation updates:
7465  Catalan
7466
7467 Overview of changes from GLib 2.37.2 to 2.37.3
7468 ==============================================
7469
7470 * add a new API for instance private data: G_DEFINE_TYPE_WITH_PRIVATE
7471
7472 * fix timestamps in tarball to prevent automake from being required to
7473   build the unmodified source
7474
7475 * add new D-Bus API for async property handling
7476
7477 * add back fsync() on ext4 for g_file_set_contents() after it was
7478   discovered that despite statements in the ext4 documentation
7479   suggesting that this is safe, it is not safe.
7480
7481 * Translations:
7482  Italian
7483  Norwegian bokmål
7484
7485 * Bugs fixed:
7486  698375 - D-Bus async properties
7487  700350 - timestamp issue
7488  701560 - fsync issue (fixed again)
7489  700035 - new API for instance private data
7490
7491 Overview of changes from GLib 2.37.1 to 2.37.2
7492 ==============================================
7493
7494 * The GLib test utilities have grown some file-related APIs
7495   to support tests that can be used installed and uninstalled.
7496
7497 * Installing properties after class initialization is deprecated,
7498   and will trigger a warning.
7499
7500 * GApplication:
7501  - Support org.freedesktop.Application, including D-Bus activation
7502    from desktop files
7503  - Set prgname to appid for services
7504
7505 * Bugs fixed:
7506  549783 gtester lacks framework for tests with data files
7507  692848 Fix property example in gobject tutorial
7508  698018 Add an explicit g_binding_release()
7509  698614 GObject: prevent installing properties after init
7510  699259 add org.freedesktop.Application support to GIO
7511  699959 g_file_copy(): Ensure we create private files by default
7512  700123 Test failure: g_inet_socket_address_get_scope_id
7513  700725 GIcon: NULLify the `type' out param in the sync methods too
7514  701401 gtest: add function for testing for WINE
7515  701456 Error in gnome/glib/gio/tests/file.c
7516  701474 Error building glibmm due to extra comma in glib/gtestutils.h
7517  701560 various improvements for g_file_set_contents()
7518  701680 GFileEnumerator: Add some documentation about ordering
7519  701878 Check wakeup() before iteration(TRUE) doesn't block
7520
7521 * Translations:
7522  Assamese
7523  Czech
7524  Galician
7525  Gujarati
7526  Kannada
7527  Marathi
7528  Odia
7529  Polish
7530  Slovenian
7531  Spanish
7532  Telugu
7533
7534
7535 Overview of changes from GLib 2.37.0 to 2.37.1
7536 ==============================================
7537
7538  * add support for installed tests:
7539    https://live.gnome.org/GnomeGoals/InstalledTests
7540
7541  * add a new g_test_trap_subprocess() that works on Windows as a
7542    replacement for the (now deprecated) g_test_trap_fork()
7543
7544  * support for explicitly cancelling a gobject property binding
7545
7546  * performance improvements for signal argument handling
7547
7548  * stop using `quotes' in very many log messages generated by GLib, for
7549    favour of 'this style'.  This may cause testcases in other packages
7550    to fail if they were matching on the previous text.
7551
7552  * improve manpages: add missing arguments and flags
7553
7554 Translations: 
7555  Aragonese
7556  Assamese
7557  Gujarati
7558  Hindi
7559  Kannada
7560  Norwegian bokmål
7561  Odia
7562  Slovenian
7563  Spanish
7564  Tamil
7565  Telugu
7566
7567 Bugs fixed:
7568  679683 replace g_test_trap_fork()
7569  694380 Improve signal argument collection performance
7570  695233 Strings require plural forms
7571  697849 spelling fixes in cross.xml and running.xml
7572  698877 GProxyAddressEnumerator calls g_network_address_parse_uri without port
7573  698981 [PATCH] test /gdbus/connection/large_message could hang forever
7574  699079 Prototype support for installed tests
7575  699485 [PATCH] tests/mappedfile: Also handle ENOMEM
7576  699493 SOCKS5 proxy code crashes if it cannot authenticate
7577  699500 gbitlock: fix this to not unconditionally use futex emulation
7578  699779 [PATCH] G_GNUC_FORMAT: documentation error
7579  700263 m4macros/glib-gettext.m4: Don't use AC_HEADER_STDC
7580  700714 [PATCH] gtestutils: Ensure test subprocesses don't dump core
7581  700746 Use 'dumb quotes' rather than `really dumb quotes'
7582
7583 Overview of changes fron GLib 2.36.0 to 2.37.0
7584 ==============================================
7585
7586 * The syntax for detailed action names has been documented,
7587   and a parser API for them is now provided
7588
7589 * GApplication has gained a busy state. This feature is intended for
7590   clients that want to signal a desktop shell their busy state, for
7591   instance because a long-running operation is pending.
7592
7593 * GLib can now be built with the bionic C library
7594
7595 * GIcon can now be serialized to a GVariant
7596
7597 * Bugs fixed:
7598  548353 Finish implementing GFile interface (mostly asynchron...
7599  645881 Full port of glib-2.28.1 onto Android-ARM
7600  665445 Glib mistakes nl_langinfo() from plibc for the real t...
7601  672018 Need API to set global application state (busy, count...
7602  687659 drop support for adding interfaces after class_init
7603  688820 GIcon is a bad interface
7604  688954 extend 'detailed action' syntax, provide parser
7605  689223 Fix compilation on Android with the bionic C library
7606  695156 Add support for arg0namespace matching in signal_subs...
7607  696108 gdbus-codegen: avoid warnings in generated code
7608  696629 fix sed(1) usage
7609  696652 GTask won't free its error member variable on finalize
7610  696857 GThreadedResolver: set an error if no records could b...
7611  696973 Compiling 2.36.0 for win64 fails in gdbusmessage.c
7612  697131 No --version
7613  697160 [PATCH] gmacros: Mark G_UNAVAILABLE() functions as de...
7614  697229 Custom Interface implementations will be broken with ...
7615  697250 Documentation glitch of G_DEFINE_TYPE_EXTENDED causes...
7616  697365 Fix usage of hasmntopt in gunixmounts.c
7617  697367 Remove warning on gio/gunixmounts.c
7618  697386 Except const argument with atomic is not lock free
7619  697595 g_main_context_unref unlocks a mutex twice
7620  697601 reduce GMenuModel D-Bus traffic
7621  697626 Allow posix threads to be used on w32
7622  697652 Help options generated even when help disabled
7623  697771 fix a typo of "fo" to "of" in building.xml
7624  697887 GVariant: fix transfer annotation
7625  697942 abicheck.sh fails on mips
7626  698056 rewrite g_object_new()
7627  698081 Pidgin hangs in g_spawn_command_line_sync
7628  698455 GVariant: add new g_variant_new_take_string() API
7629  698457 g_variant_get_data_as_bytes() always returns toplevel...
7630  698478 gactionmap: don't require GActionGroup
7631  698595 the valgrind/priv-before-instance bug
7632  698655 desktop-app-info test relies on true being in /usr/bin/
7633  698686 GUnixSocketAddress: fix construct parameter issue
7634  698716 Use of g_mem_set_vtable() breaks after gobject automa...
7635  698999 bytesicon: fix a memory leak
7636  699001 bytesicon: don't use g_object_unref() on GBytes
7637  699361 gio: fix small leak
7638
7639 * Translation updates:
7640  Assamese
7641  Gujarati
7642  Hungarian
7643  Italian
7644  Kannada
7645  Norwegian bokmål
7646  Polish
7647  Spanish
7648  Tamil
7649
7650
7651 Overview of changes fron GLib 2.35.9 to 2.36.0
7652 ==============================================
7653
7654 * It is no longer necessary to call g_type_init().  If you are
7655   loading GLib as a dynamic module, you should be careful to avoid
7656   unloading it, then subsequently loading it again.  This never
7657   really worked before, but it is now explicitly undefined behavior.
7658   Note that if g_type_init() was the only explicit use of a GObject
7659   API and you are using linker flags such as --no-add-needed, then
7660   you may have to artificially use some GObject call to keep the
7661   linker from optimizing away -lgobject. We recommend to use
7662   g_type_ensure (G_TYPE_OBJECT) for this purpose.
7663
7664 * This release contains an incompatible change to the g_get_home_dir()
7665   function.  Previously, this function would effectively ignore the HOME
7666   environment variable and always return the value from /etc/password.
7667   As of this version, the HOME variable is used if it is set and the
7668   value from /etc/passwd is only used as a fallback.
7669
7670 * The 'flowinfo' and 'scope_id' fields of GInetSocketAddress
7671   (introduced in GLib 2.32) have been fixed to be in host byte order
7672   rather than network byte order. This is an incompatible change, but
7673   the previous behavior was clearly broken, so it seems unlikely that
7674   anyone was using it.
7675
7676 This release contains only small bugfixes and translations updates.
7677
7678  - g_file_copy(): fix bug where attributes were not applied properly to
7679    the destination file
7680
7681  - fix some 'available since' annotations
7682
7683  - fix gdbus-codegen to produce more pedantically-correct code
7684
7685 * Bugs fixed:
7686  696108 gdbus-codegen: avoid warnings in generated code
7687  696014 g_file_copy(): Ensure G_FILE_COPY_OVERWRITE preserves permissions
7688
7689 * Translations updated:
7690  Basque
7691  Czech
7692  Gujarati
7693  Hindi
7694  Hungarian
7695  Japanese
7696  Malayalam
7697  Marathi
7698  Odia
7699  Punjabi
7700  Russian
7701  Tadjik
7702  Tamil
7703  Telugu
7704
7705 Overview of changes from GLib 2.35.8 to 2.35.9
7706 ==============================================
7707
7708 This release drops the old codepage ABI from gutils.c. This is a
7709 source-compatible change and only breaks ABI with respect to truly
7710 ancient binaries (and those binaries are already broken for other
7711 reasons).  This change only affects Windows.
7712
7713 * Bugs fixed:
7714  682896 glib doesn't build on mingw32
7715  693204 split up g_get_{hostname,username,realname,home_dir} etc.
7716  694181 Handle GNetworkAddress better in g_network_monitor_base_...
7717  694253 occasional /gdbus/unref-pending test failure
7718  694350 Add type names to gsignal warnings
7719  694757 Use separate GLIB_WARN_CFLAGS that can be overridden ext...
7720  568405 Which is the correct replacement for g_strncasecmp, if...
7721  630284 g_hash_table_get_keys docs
7722  659428 docs: Small clean-up of howto subsection headers
7723  675333 Cannot forget association in Open With dialog: program...
7724  694669 consider unicode corrigendum #9
7725  694843 g_base64_decode_step () produces invalid data
7726  695147 Don't use PATH_MAX as it's not guaranteed to be defined
7727  695191 Commit f641699 broke /appinfo/mime/api test case
7728  695339 Swapped msgid plural forms for translation
7729  695376 GDBusMethodInvocation leak and potential crash
7730  695425 Untranslatable message in gsettings-tool
7731  695887 Improvements to GObject API documentation
7732  695925 GUINT32/64_SWAP_LE_BE macros do not enclose val argume...
7733  696015 PATCH Add doc warning to g_base64_decode()
7734
7735 * Translation updates:
7736  Assamese
7737  Belarusian
7738  Brazilian Portuguese
7739  Catalan
7740  Catalan (Valencian)
7741  Danish
7742  French
7743  Galician
7744  German
7745  Greek
7746  Gujarati
7747  Italian
7748  Korean
7749  Latvian
7750  Lithuanian
7751  Polish
7752  Portuguese
7753  Punjabi
7754  Serbian
7755  Simplified Chinese
7756  Slovak
7757  Slovenian
7758  Spanish
7759  Thai
7760  Traditional Chinese
7761  Uyghur
7762  Vietnamese
7763
7764
7765 Overview of changes from GLib 2.35.7 to 2.35.8
7766 ==============================================
7767
7768 This release contains one major change that may cause problems: type
7769 modules are now never unloaded.  This is implemented by (effectively)
7770 leaking the last reference on dynamic types.  Some testcases that check
7771 for unloading of types have been observed to be broken by this change,
7772 but we know of no actual cases of "real code" breaking.  Please report
7773 any problems.
7774
7775 Other changes:
7776  * A couple of build fixes for Solaris
7777  * Fix signal emission for GDBusObjectManagerClient
7778  * annotations fixes
7779  * new API: g_dbus_address_escape_value()
7780  * GSocketClient: add proxy-resolver property
7781  * GSimpleProxyResolver: new simple GProxyResolver class
7782  * documentation fixes
7783  * gnetworkaddress: preserve IPv6 scope ID in IP literals
7784
7785 Bugs fixed:
7786  691105 Allow GSocketClient to override GProxyResolver for per client proxy settings.
7787  692827 configure test fails for arpa_nameser.h
7788  692829 new Btrfs support causes build failure on Solaris
7789  693285 GDBusObjectManagerClient: won't emit object-added|removed if name-owner arrives later
7790  693502 Cross-compiling documentation: typo (np -> no)
7791  693673 add g_dbus_address_escape_value()
7792  693694 gio: Fix annotations on g_[async_]initable_new() and friends 
7793
7794 Translations:
7795  Dutch
7796  Galician
7797  Polish
7798  Serbian
7799
7800 Overview of changes from GLib 2.35.6 to 2.35.7
7801 ==============================================
7802
7803 This is a quick follow-up release with a few bug fixes.
7804
7805 * Fix the build on systems with strict linkers by adding -pthread back
7806   to the LDFLAGS for a testcase.
7807
7808 * Re-enable native atomic operations on some buggy versions of clang
7809   that ship as part of the MacOS X SDK.
7810
7811 * Make G_IO_FLAG_IS_WRITEABLE an enum again (the #define broke bindings)
7812
7813 * a small docs fix
7814
7815 * Bugs fixed:
7816  657045
7817  636683
7818  682818
7819  693105
7820
7821 * Translations:
7822  Italian
7823
7824 Overview of changes from GLib 2.35.4 to 2.35.6
7825 ==============================================
7826
7827 * GUnixFdSource is a new way to add file descriptors
7828   to the mainloop
7829
7830 * g_source_set_ready_time lets you mark a source to become
7831   ready at a specified monotonic time
7832
7833 * The internal visibility handling of GLib has been reworked
7834
7835 * GFileMonitor will now automatically use fam instead of inotify
7836   if $HOME is on NFS
7837
7838 * The file monitor implementation can now be overridden with
7839   the GIO_USE_FILE_MONITOR environment variable
7840
7841 * Bugs fixed:
7842  570572 2 make check errors on
7843  592211 No monitoring over NFS mounts
7844  625552 wrong behaviour of GVolume GVolumeMonitor related func...
7845  657729 modernise GMainLoop
7846  658020 GSource for a single GPollFD
7847  678223 g_mutex_free
7848  682560 leak fixes
7849  682819 EINTR-harden all the things
7850  684404 When using g_network_address_address_enumerator_next()...
7851  686853 new GSource fd API
7852  688169 G_DISABLE_DEPRECATED doesn't cover deprecated/gthread....
7853  688681 build: Make .symbols file canonical on all platforms
7854  690118 Crash when closing last tab of a window using Ctrl-w
7855  691624 glib/gtester.c: missing include
7856  691812 gioinputstream - give task as callback_data not task_data
7857  691866 fails out of source build directory - gnetwork.h not f...
7858  692029 Add new API checking utility
7859  692034 Install an invalidation notifier for GClosure in g_sou...
7860  692058 Broken makefile for gio tests
7861  692079 build failure in gmarkup.c when using gcc 4.8 and buil...
7862  692201 inotify: fix a memleak
7863  692202 gfile: don't report completion twice on g_file_load_co...
7864  692229 Incorrect string formatters in a translation string
7865  692332 GNetworkMonitorNetlink: make the netlink socket cloexec
7866  692360 possibly non-threadsafe code in g_content_type_guess()?
7867  692404 tester: Use FD_CLOEXEC when creating pipes
7868  692408 nautilus SIGSEGV in g_file_info_get_size()
7869  692544 [PATCH] gfile: Ensure we create internal pipe with FD_C...
7870  692583 atomic get doesn't accept a const argument on architect...
7871  692618 Use g_timeout_add_seconds
7872  692815 Using g_hash_table_insert() when using a hash table as ...
7873  692865 Invalid docbook generated by gdbus-codegen
7874  692928 Document G_MENU_{ATTRIBUTE,LINK}_*
7875
7876 * Translation updates:
7877  Hebrew
7878  Kannada
7879  Lithuanian
7880  Norwegian bokmål
7881  Polish
7882  Serbian
7883  Slovenian
7884  Spanish
7885  Uyghur
7886
7887
7888 Overview of changes from GLib 2.35.3 to 2.35.4
7889 ==============================================
7890
7891 * New features:
7892  - New API: g_get_num_processors
7893  - New API: g_application_command_line_get_stdin
7894  - New GFileMonitor flag: G_FILE_MONITOR_WATCH_HARD_LINKS
7895  - Parse more timezone offset formats
7896  - Better timezone support on Windows
7897  - Make GParamSpec constructors introspectable
7898
7899 * Removed or deprecated features:
7900  - Disallow adding interfaces after class_init
7901
7902 * Bug fixes:
7903  532815 gio + inotify support for hardlinks
7904  614930 add g_get_num_processors (), return the max concurrent...
7905  626497 Btrfs clone/reflink ioctl support in g_local_file_copy
7906  633117 glib fails stests if /etc/localtime is not properly set
7907  661767 merge/improve various bits of run-in-thread functionality
7908  668210 Add g_application_command_line_get_stdin()
7909  675856 Use GDbus via gobject-introspection instead dbus-python
7910  684103 make glib work with python3
7911  684723 run-assert-msg-test.sh fails
7912  686058 OpenBSD: disable ipv6_v4mapped test
7913  686128 GTimeZone should be able to parse POSIX format for...
7914  687223 cleverer GThreadPool management
7915  687659 drop support for adding interfaces after class_init
7916  687920 GCredentials should have an accessor for the process ID
7917  688681 build: Make .symbols file canonical on all platforms
7918  688829 Variable overflow in utils.c test on 32-bit machine
7919  689324 Variable scoping in gunixmounts.c
7920  689810 Include guard optimization
7921  690043 Broken link for gsettings tutorial: gnome-utils in...
7922  690084 gmarkup: Make GMarkupParseContext a boxed type
7923  690388 Check if CMSG_FIRSTHDR() returns NULL when there is...
7924  690538 gschema DTD is invalid
7925  690543 Add test coverage for testing in-tree DBus services...
7926  690670 local_command_line not introspectable/annotated
7927  690902 G_END_DECLS needs to be at the end of gutils.h
7928  690970 Unhelpful deprecation message for g_value_array_get_nth
7929  691001 building docs is broken on master branch
7930  691011 Automake-1.13 errors on obsolete AM_PROG_CC_STDC
7931  691077 gio-querymodules crashes with SIGSEGV
7932  691110 g_cond_wait() docs incomplete
7933  691489 Crash in Oscars 2013 page
7934  691558 Only check for .hidden files if standard::is-hidden...
7935  691608 Support compilation with clang 3.2
7936
7937 * Translation updates:
7938  Assamese
7939  Bulgarian
7940  Estonian
7941  Galician
7942  Greek
7943  Hebrew
7944  Norwegian bokmål
7945  Polish
7946  Slovak
7947  Slovenian
7948  Spanish
7949  Tamil
7950
7951
7952 Overview of changes from GLib 2.35.2 to 2.35.3
7953 ==============================================
7954
7955 * This release contains an incompatible change to the g_get_home_dir()
7956  function. Previously, this function would effectively ignore the HOME
7957  environment variable and always return the value from /etc/password.
7958  As of this version, the HOME variable is used if it is set and the
7959  value from /etc/passwd is only used as a fallback.
7960
7961 * We now install a public "gnetworking.h" header that can be used to
7962  include the relevant OS-dependent networking headers. This does not
7963  really abstract away unix-vs-windows however; error codes, in
7964  particular, are incompatible.
7965
7966 * Bugs fixed in this release:
7967  142568 Allow $HOME to override passwd entry if the user really wants
7968  587806 The file selector should honor .hidden files
7969  602715 [GChecksum] Please add support for SHA512
7970  623187 provide some support for arbitrary setsockopt()s?
7971  629301 .goutputstream files left behind when cancelling I/O
7972  652650 Optimize GDBusMessage serialization
7973  664627 /gapplication/basic test intermittently fails: cmdline re-or...
7974  675516 Win32: Don't start a DBus server when built as static library
7975  679683 replace g_test_trap_fork()
7976  684145 Current Git sources fails to cross-compile for Windows in Li...
7977  686895 file-info: catch thumbnail files in large directory as well
7978  687092 IPv6 <-> IPv4 mismatch when subscribing to multicast (send)
7979  688180 GObject: Minor error in description of floating reference
7980  688319 gthread: add missing AVAILABLE_IN_2_32 annotations
7981  688377 configure: add missing square bracket in AS_IF for memmove
7982  688419 gtask: source_object arguments and return values not annota...
7983  688497 AppInfo: Add sufficient api to port gnome-session from Egg...
7984  688681 build: Make .symbols file canonical on all platforms
7985  688704 Add boxed GType for GThread
7986  688886 Improve the i18n documentation
7987  688931 GMemoryOutputStream: Add new _resizable() constructor usab...
7988  689037 need helper for creating a GFile from a remote commandline...
7989  689377 Fix a compiler warning in GDBus
7990  689538 Source object tag set too late in gsocketlistener
7991  689800 Treat lost+found directory as a hidden file
7992  689847 Add fast repeated typename -> GType resolver
7993  689982 Make GChecksum more fully introspectable
7994  690069 g_unix_open_pipe: Add missing F_SETFD
7995  690083 gfileenumerator: Add a g_file_enumerator_get_child method
7996  690163 Add a pre-configured gio/gnetworking.h for Visual C++ builds
7997  690346 Remove an unneeded escaping in NAMESER_COMPAT_INCLUDE
7998  690348 Fix g_type_add_class_private() name in g_warning
7999
8000 * Translation updates:
8001  Assamese
8002  Galician
8003  Hebrew
8004  Hindi
8005  Kannada
8006  Odia
8007  Polish
8008  Spanish
8009
8010
8011 Overview of changes from GLib 2.35.1 to 2.35.2
8012 ==============================================
8013
8014 Note that the incompatible change to the ->constructed() vfunc that was
8015 made in the last unstable release (2.35.1) has been reverted due to
8016 causing regressions in applications.
8017
8018 A new incompatible change has been introduced in this version: it is no
8019 longer permitted to add interfaces to a class after the first
8020 instantiation (or more strictly: after g_type_class_ref()).  Bug #687659
8021 is tracking this.
8022
8023 Two private symbols (g_menu_{attribute,link}_hash_iter_get_type) which
8024 were accidentally exported have also been properly hidden.  This may
8025 cause some tools to issue warnings about ABI mismatch.
8026
8027 The remaining changes should be relatively harmless: 
8028
8029  * GIO now has kqueue support for GFileMonitor (BSDs, Mac OS)
8030
8031  * New g_variant_new_from_bytes() API
8032
8033  * UNIX signal sources now allow watching SIGUSR1 and SIGUSR2
8034
8035  * Many pedantic cleanups to adhere to a higher level of -W use
8036
8037  * GTask changes to avoid a deadlock
8038
8039  * many cleanups/fixes for Windows
8040
8041  * Boxing for GPollFD, GIOChannel, GBytes, GByteArray
8042
8043  * Fix URL-encoding of trashed files
8044
8045  * Many other docs and annotations fixes
8046
8047 Translations:
8048
8049  Galician
8050  Gujarati
8051  Lithuanian
8052  Serbian
8053  Slovak
8054  Slovenian
8055
8056 Bugs closed:
8057
8058  649302 Add support for GNU/FreeBSD
8059  668842 [GSocket] Add caching for the sender address in g_socket_receive_from()
8060  672924 Add annotations for g_filename_from_uri()
8061  673229 glib: Use Returns:, not @returns
8062  677062 (partial) GVariant: Make g_variant_new_from_bytes() public, add more GBytes API
8063  686185 g_date_time_format Transcoding Fails on OSX      
8064  686191 g_mutex_get_impl() should use g_atomic_pointer_get()
8065  686797 Box GPollFD to make it introspectable
8066  686810 [regression] Infinite wait in g_task_run_in_thread_sync()
8067  686822 possible dlopen()/dlclose() issue with automatic g_type_init()
8068  686839 mkinstalldirs: Move to glib-mkinstalldirs
8069  686895 file-info: catch thumbnail files in large directory as well
8070  686898 g_unix_signal_source_new: Allow SIGUSR1 and SIGUSR2
8071  686920 gdbus: Allow GDBusObjectManagerClient to work on peer connections
8072  686921 Remove some of the repetition from gio/tests/Makefile.am
8073  687075 g_spawn_sync diagnostic incorrectly complains about SIGCHLD
8074  687089 g_dbus_connection_export_menu_model(): fix a crash
8075  687098 Repeated g_timeout_add* use can lead to guint overflow
8076  687385 Add some stricter CFLAGS, fix up the code
8077  687441 ABI break in master: g_menu_attribute_hash_iter_get_type, g_menu_link_hash_iter_get_type removed
8078  687516 typo in string: KB should be kB
8079  687540 In Trash folder, Nautilus misinterprets "\n" in filename as a line break
8080  687541 GSignalQuery param_types field needs array annotation
8081  687600 gfileutils.c performs invalid cast of (varargs) open to non-vararg type
8082  687698 plural forms needed
8083  687700 ending spaces
8084  687742 Add support for internal linkage to glib-compile-resources
8085  687801 tests/buffered-input-stream: Fix size of parameter passed
8086  688109 win32 warning/error fixes
8087  688255 'make check' regressed in 138f4c1 because GMarkup error messages changed
8088  688338 [PATCH] gobject/gtype.c: Fix spelling of »exceed«
8089  688370 GDBusError documentation improvement for client-side
8090  688378 g_socket_join_multicast_group not working
8091  688518 gio-kqueue: use O_EVTONLY on MacOS
8092
8093
8094
8095 Overview of changes from GLib 2.34.0 to 2.35.1
8096 ==============================================
8097
8098 These two changes in particular may be slightly incompatible.  Please
8099 give feedback if they cause trouble:
8100
8101   * Signal handlers connected with g_signal_connect_object() are now
8102     automatically disconnected on target object destruction
8103
8104   * The ->constructed vfunc is now called after all properties are set
8105
8106 The remaining changes should not cause problems.
8107
8108   * g_type_init() is no longer necessary and has been deprecated
8109
8110   * GTask (the new GAsyncResult implementation) has landed 
8111
8112   * GLib version macros updated
8113
8114   * Update to Unicode 6.2
8115
8116   * Thread safety fixes for GFileMonitor in non-default main contexts
8117
8118   * GTimeZone support for old-format zoneinfo database (as on Mac OS)
8119
8120   * g_settings_bind() now works with non-canonical property names
8121
8122   * Fix crashes related to NULL connection passed to
8123     GBusNameVanishedCallback and document this situation
8124
8125 * Bugs fixed:
8126  118536 Make g_signal_connect_object'ed handlers disconnect when the data object is destroyed
8127  661767 merge/improve various bits of run-in-thread functionality
8128  682950 GFileMonitor crashing on high event count when running in different thread
8129  683642 Missing g_content_type_get_symbolic_icon
8130  684882 Gsettings should spaw a warning when binding against a low_underscored_property
8131  684909 codegen: Explicitly close output
8132  684912 Update to Unicode 6.2
8133  685037 g_strcmp0: Returns shall include values less and greater than zero
8134  685069 Leak in glib-compile-resources
8135  685208 missing g_return_if_fail
8136  685608 [Patch] Port gio tests from pygobject to pygi
8137  685697 Documentation typo in g_dbus_interface_skeleton_has_connection()
8138  685733 Call ->constructed() after all properties are set
8139  685787 gtestdbus: correct documentation typos
8140  685995 Crash in g_menu_exporter_name_vanished
8141  686091 Invalid reads in g_bytes_unref_to_data
8142  686119 dtrace, gobject_probes.d, the last three probes - semicolon missing
8143  686161 Deprecate g_type_init()
8144  686231 GBusNameVanishedCallback: document NULL connection
8145  686458 slightly increase poll duration in test_timed_wait 
8146
8147 * Translations updated
8148   Catalan (Valencian)
8149   Czech
8150   Danish
8151   Italian
8152   Lithuanian
8153   Norwegian bokmål
8154   Slovenian
8155
8156 Overview of changes from GLib 2.33.14 to 2.34.0
8157 ===============================================
8158
8159 * GIO now looks for thumbnails in XDG_CACHE_HOME, following a
8160   recent alignment of the thumbnail spec with the basedir spec.
8161
8162 * The default values for GThreadPools max_unused_threads and
8163   max_idle_time settings have been changed to 2 and 15*1000,
8164   respectively.
8165
8166 * Bug fixes:
8167  654239 g_type_init()'s docs have no statement about how to...
8168  674620 Update GSettings migration guide for intltool updates
8169  676034 Fix doc annotation for g_ptr_array_ref()
8170  684278 Fix GIO build on Windows
8171
8172 * Translation updates:
8173  Brazilian Portuguese
8174  British English
8175  Bulgarian
8176  Catalan
8177  Galician
8178  German
8179  Hebrew
8180  Hindi
8181  Hungarian
8182  Kannada
8183  Latvian
8184  Marathi
8185  Spanish
8186  Telugu
8187
8188
8189 Overview of changes from GLib 2.33.12 to 2.33.14
8190 ================================================
8191
8192  * CVE-2012-3524: don't run dbus-launch from setuid binaries
8193
8194  * g_content_type_get_generic_icon_name():
8195      new API for getting the icon name for a mime type
8196
8197  * Introspection fixes:
8198   - GDBusConnection nullability fixes
8199   - give a box type to GTimeZone
8200
8201  * Drop GVFS_INOTIFY_DIAG
8202
8203  * Add a new "Writing GLib Applications" section to the reference
8204    documentation with general info on security, threads, etc.
8205
8206  * gwin32mount.c: Fix syntax error
8207
8208  * gresource tests: srcdir != builddir fixes
8209
8210  * tests/gvariant: Fix test on big endian architectures
8211
8212  * Fix regression in g_shell_parse_argv()
8213
8214 Bugs fixed:
8215  562907 g_shell_parse_argv() mishandles # (hash)
8216  683167 g_time_zone_new not introspectable
8217  683384 /gvariant/checksum-basic failure on big endian machines
8218  683641 Typo in gwin32mount.c
8219  683744 have a way to get the generic icon name for a mime type
8220
8221 Translation updates:
8222  Assamese
8223  Belarusian
8224  British English
8225  Czech
8226  Danish
8227  French
8228  Galician
8229  German
8230  Greek
8231  Hebrew
8232  Indonesian
8233  Indonesian
8234  Korean
8235  Lithuanian
8236  Marathi
8237  Marathi
8238  Polish
8239  Portuguese
8240  Punjabi
8241  Russian
8242  Serbian
8243  Slovenian
8244  Traditional Chinese
8245
8246 Overview of changes from GLib 2.33.10 to 2.33.12
8247 ================================================
8248
8249 * Add a G_DEFINE_QUARK macro
8250
8251 * Add symbolic icon support to drive, volume, and mount, file
8252   and content types
8253
8254 * Add API to allow thread-safe access to the same qdata item
8255
8256 * Bugs fixed:
8257  562907 g_shell_parse_argv() mishandles # (hash)
8258  627240 add G_DEFINE_QUARK
8259  672329 memory leaks in gutils.c and glib tests
8260  673012 Stable byte-level specification for normal form
8261  674805 gdbusproxy async test is broken
8262  679835 gvariant format string parsing (and assertions)...
8263  682075 gdbus: Fix double free and use after free of ob...
8264  682101 Provide a way to get a symbolic icon for a device
8265  682222 test_method_calls_on_proxy: assertion failed (e...
8266  682284 mount-op: use gint64 instead of guint64 for tim...
8267  682386 "make check" fails due to sys/resource.h not be...
8268  682560 leak fixes
8269  682586 gsettings-tool: make list-recursively really re...
8270  682819 EINTR-harden all the things
8271  682833 Handle EINTR for open()
8272  682849 drop the global lock for g_object_weak_ref
8273  682965 gdbus-tool: Check return value of strrchr()
8274  683088 gdbus-codegen: fix error when wrong interface n...
8275         Fix the build with gtk-doc-stub
8276         Don't crash if set_app_info is called before ad...
8277
8278 * Translation updates
8279  Assamese
8280  Galician
8281  Greek
8282  Indonesian
8283  Japanese
8284  Latvian
8285  Lithuanian
8286  Norwegian bokmål
8287  Polish
8288  Portuguese
8289  Punjabi
8290  Russian
8291  Spanish
8292  Traditional Chinese
8293  Vietnamese
8294
8295
8296 Overview of changes from GLib 2.33.8 to 2.33.10
8297 ===============================================
8298
8299 * New GTest API for testcases where log output is expected:
8300   g_test_expect_message()
8301
8302 * GMenuItem now has 'get' accessors and a construct-from-GMenuModel API
8303
8304 * GVariant now has a function to check a format-string for type
8305   compatibility
8306
8307 * win32: We now use overlapped IO to support multiple asynchronous
8308   operations (ie: reading and writing) at the same time.
8309
8310 * GMappedFile: Add g_mapped_file_get_bytes()
8311
8312 * The problems with g_file_make_directory_with_parents() should be
8313   resolved.
8314
8315 * The long-standing issues with placeholder generation of manpages are
8316   now resolved.
8317
8318 * gtlscertificate: Add GBytes based certificate and private-key props
8319
8320 * build: Switch back to using AS_IF for conditionals
8321
8322 * test coverage improvements, documentation improvements, leak fixes
8323
8324 * Bugs fixed
8325  326931 Better docs for G_GNUC_*
8326  550433 g_test_init doesn't recognize --help
8327  600751 GCompletion should better document if and how items memory is managed
8328  628193 Miscellaneous string fixes
8329  637460 man glib-genmarshal is hard to use
8330  674483 broken configure results when cross-compiling with gcc >= 4.5
8331  677065 GMappedFile: Add g_mapped_file_get_bytes()
8332  679288 win32: use overlapped events for streams
8333  679556 it's hard to use gtest when g_warning() is expected
8334  680823 g_file_make_directory_with_parents: Fix error propagation
8335  681319 gtlscertificate: Add certificate-bytes and private-key-bytes props
8336  681336 man pages not built if --enable-gtk-doc not specified
8337  681413 build: Switch back to using AS_IF for conditionals
8338  681501 gmem: array only partially filled with memcpy
8339  681854 Documentation fix for Howto compile a program with glib
8340  682025 Documentation correction
8341  682067 Fix problems with CLEANFILES and automake-1.11.1 
8342
8343 * Translations updated:
8344  Lithuanian
8345  Spanish
8346  Galician
8347  Telugu
8348  Serbian
8349  Assamese
8350  Marathi
8351  Indonesian
8352  Traditional Chinese
8353
8354 Overview of changes from GLib 2.33.6 to 2.33.8
8355 ==============================================
8356
8357 * GIO now has a g_file_delete_async function
8358
8359 * The defaults for GThreadPools max_unused_threads
8360   and max_idle_time values have been changed to
8361   2 and 15*1000, respectively.
8362
8363 * Bugs fixed:
8364  661767 merge/improve various bits of run-in-thread functionality
8365  680074 undefined symbol "get_C_locale"
8366  680121 g_cancellable_source_new: don't use a file descriptor
8367  680148 gthread: check for definition of PR_SET_NAME
8368  680310 Sorting of access points by strengh not working
8369  680704 g_utf8_strup() crash
8370  68076a0 GFile: Add g_file_delete_async()
8371  680787 Add .dir-locals.el to tell Emacs users not to use tabs...
8372  680823 g_file_make_directory_with_parents: Fix error propagation
8373  680994 STATIC_ASSERT in GDBusError docs don't have much utility
8374  681116 gtlscertificate: Add g_tls_certificate_equal() function
8375  681118 gtlsdatabase: Don't complain if no callbacks for async...
8376  669331 try to get gio tests working a little better on win32
8377  674314 Make gtk-doc not a hard dependency of GLib
8378  674800 gclosure: generic marshaller leaks return value
8379  675524 gsocket: FIONREAD undeclared (needs sys/filio.h)
8380  679509 use after free in g_dbus_action_group_describe_all_done()
8381  679996 gobject docs minor cleanup
8382  680459 Extra newline char in local implementation of g_applic...
8383  680505 object_path memory leak in gdbusobjectproxy.c
8384  680831 Deprecate and remove g_slice_[sg]et_config.*
8385  680912 gchecksum: Add g_compute_checksum_for_bytes()
8386  681151 checksum: Use functions instead of macros when buildin...
8387  681158 gtlscertificate: Don't confuse certificate and public ...
8388
8389 * Translation updates:
8390  Galician
8391  German
8392  Gujarati
8393  Hebrew
8394  Norwegian bokmål
8395  Serbian
8396  Slovenian
8397
8398
8399 Overview of changes from GLib 2.33.4 to 2.33.6
8400 ==============================================
8401
8402 * GAsyncInitable: partially revert the init_finish changes,
8403   some applications were found to rely on behaviour that
8404   was broken by these changes
8405
8406 * Bugs fixed:
8407  679617 win32: fix g_get_environ()
8408  679968 Add some annotations to GBytes, GVariantType...
8409  680111 GIOScheduler assumes GCancellable "cancelled...
8410
8411 * Translation updates:
8412  Spanish
8413
8414 Overview of changes from GLib 2.33.3 to 2.33.4
8415 ==============================================
8416
8417 * GMainContext: the source list has been reorganzied to
8418   avoid O(n) behaviour
8419
8420 * GRegex: Update included PCRE to 8.31 and expose new
8421   functionality in 8.x versions of PCRE
8422
8423 * GMountOperation gained a ::show-unmount-progress signal
8424   which provides information about slow unmount operations
8425
8426 * Bugs fixed:
8427  616892 gio: Add a boxed type for GFileAttributeMatcher
8428  619329 g_source_attach() O(n) in number of sources
8429  639771 g_dir_read_name() can also return NULL on error
8430  661767 merge/improve various bits of run-in-thread fun...
8431  667375 GAsyncInitable subclassing (and async subclassi...
8432  671545 Constify collect and lcopy strings in GTypeValu...
8433  674452 SEGFAULT in gio contenttype test
8434  674898 Deal with GLIB_VERSION_MIN_REQUIRED/MAX_ALLOWED...
8435  675504 Fix up GObject interface documentation
8436  677064 GString: Tweak documentation, add g_string_free...
8437  677578 error in PCRE error code conversion
8438  677579 update GRegexError for newer PCRE error codes
8439  678066 gdbus codegen does not work with python3
8440  678273 unicode othercasing is wrong in gregex
8441  678576 GIOScheduler performance enhancements
8442  678758 GTlsInteraction unlocks an unlocked mutex
8443  678808 GTestDBus issues
8444  678881 Test failures in /socket/timed_wait in some cas...
8445  678941 /contenttype/guess test case failure
8446  678944 gio returns the wrong default applications for ...
8447  678949 wrong definition of ulong_bool for 64 bit big e...
8448  678959 /mainloop/timeouts race condition: assertion fa...
8449  679193 update included pcre to 8.31
8450  679258 The 'Since' tag for G_SOURCE_CONTINUE and G_SOU...
8451  679473 Don't generate invalid property names
8452  679691 Add g_spawn_check_exit_status()
8453  679671 GDBusNodeInfo: the XML string must contain exac...
8454  676111 mount-operation: add show-unmount-progress signal
8455  679691 win32: fix build g_spawn_check_exit_status() wi...
8456  679813 Documentation bug on http://developer.gnome.org...
8457
8458 * Translation updates:
8459  Assamese
8460  Belarusian
8461  Bulgarian
8462  Galician
8463  Greek
8464  Norwegian bokmål
8465  Polish
8466  Spanish
8467  Traditional Chinese
8468  Vietnamese
8469
8470
8471 Overview of changes from GLib 2.33.2 to 2.33.3
8472 ==============================================
8473
8474 This release contains mostly bugfixes, cleanups and performance
8475 improvements (including many fixes contributed by Colin on the advice of
8476 Coverity).  There are a few notable externally-visible changes:
8477
8478 * Thumbnails are now in XDG_CACHE_HOME
8479
8480 * new GDBus API: per-thread g_dbus_connection_get_last_serial()
8481
8482 * GUnixOutputStream now has a can_poll() implementation
8483
8484 * New deep copy APIs for G(S)List: g_(s)list_copy_deep
8485
8486 * Bugs fixed:
8487  518309 Incorrect data*dir path in glib-gettextize output
8488  566994 Safer passing of -framework flag
8489  672889 GLib.utf8_validate does segfault
8490  673253 Not strict enough autconf test for libelf
8491  675024 adds g_list_copy_deep() and g_slist_copy_deep
8492  675168 prepare for thumbnails to move to XDG_CACHE_HOME
8493  675966 gresolver: More robust parsing of DNS responses
8494  676594 [Patch] fix g_reload_user_special_dirs_cache
8495  676825 Implement g_dbus_connection_get_last_serial ()
8496  677235 Clarify the comment at the top of gmarshal.list
8497  677527 OS X: gthread/spawn-async selftest failure
8498  677718 GDBusProxy: treat org.freedesktop.systemd1.Masked error as non-fatal
8499  677770 GUnixOutputStream does not implement can_poll
8500  677782 Install bash completion files in /usr/share
8501  677817 g_key_file_to_data adds extra blank lines in some cases
8502  677952 Missing annotation for GDBusConnection signal "closed"
8503  678052 g_wakeup_acknowledge is called too often.
8504  678273 unicode othercasing is wrong in gregex
8505  678333 gdbus-codegen code causes warnings under -Wfloat-equal
8506
8507 * Translations updated:
8508  Arabic
8509  Assamese
8510  Galecian
8511  Greek
8512  Spanish
8513  Telugu
8514
8515 Overview of changes from GLib 2.33.1 to 2.33.2
8516 ==============================================
8517
8518 * GLIB_VERSION_MIN_REQUIRED now defaults to the current stable version
8519
8520 * GIO input and output stream classes have grown GBytes-based methods
8521
8522 * GApplication now has hooks to register D-Bus objects before the bus
8523   name is taken
8524
8525 * Bugs fixed:
8526  605976 add g_type_ensure(), to ensure that a type has...
8527  660851 Breakage of code due to changes in the GThread...
8528  666386 Empathy doesn't open Redirect URI with particu...
8529  671139 need (transfer async) for io stream buffers
8530  672329 memory leaks in gutils.c and glib tests
8531  672548 g_utf8_validate: @str shouldn't end up annotat...
8532  674111 Provide an accessor for MimeType desktop entry...
8533  674483 broken configure results when cross-compiling ...
8534  674634 Add g_clear_pointer()
8535  674777 What's the (transfer) of g_variant_lookup()?
8536  675309 gkeyfile: Fix annotations for g_key_file_load_...
8537  675446 gfile: Plug memory leak in g_file_make_directo...
8538  675509 add extra dbus hooks
8539  675832 Incomplete gsettings bash auto-completion
8540  676208 The tmpl parameter to g_file_new_tmp can be NULL
8541  676265 GNetworkMonitor leaks a lot of memory
8542  676277 Document that g_app_info_create_from_commandli...
8543  676397 g_environ_* should work with NULL envp
8544  676398 g_spawn_* should take PATH from the passed env...
8545  676478 Broken gzip decoding
8546  676594 [Patch] fix g_reload_user_special_dirs_cache
8547  676816 Add more GLIB_AVAILABLE_IN_*
8548  676937 Document notify signal deduplication with free...
8549
8550 * Translation updates:
8551  Czech
8552  French
8553  German
8554  Greek
8555  Japanese
8556  Russian
8557  Slovenian
8558  Spanish
8559
8560
8561 Overview of changes from GLib 2.32.1 to 2.33.1
8562 ==============================================
8563
8564 * GApplication
8565  - can now have a NULL application ID
8566  - add accessors for determining dbus connection and object path
8567
8568 * g_clear_object: fix warnings when using it on C++ (due to lack of
8569   ability to implicitly cast void*)
8570 * add g_clear_pointer as a generic form of g_clear_object
8571
8572 * GDBus:
8573  - add our own implementation of the message bus for use on Windows only
8574  - fix up a few bugs that use of this bus uncovered in GDBus
8575  - escape nonce files in dbus addressess (think 'c:\')
8576  - support initial underscores in dbus codegen namespace (for private)
8577  - add GTestDBus for bringing up a session bus for testing purposes
8578  - gdbus-codegen: Avoid warnings in generated code
8579  - GDBusAuthObserver: Add a way to control what authentication mechanisms to use
8580  - 
8581
8582 * Fix misdetection of GNUstep as Cocoa (for the MacOS GSettings backend)
8583
8584 * make sure configure fails if AC_CHECK_ALIGNOF cannot detect the alignment
8585
8586 * GAppInfo
8587  - overwrite the DISPLAY only if it is set in the launch context
8588  - add accessor for StartupWMClass
8589
8590 * glib/tests/date: force US locale running the GDateTime tests
8591
8592 * Resources:
8593  - fix broken use of GVDB on big endian machines
8594  - set a 'display name' so that pretty file names appear in Gtk CSS
8595    warning messages
8596
8597 * GMainContext:
8598  - block child sources when blocking the parent
8599  - introduce more testcases for child sources
8600
8601 * GResolver: add support for MX, TXT, NS and SOA records
8602
8603 * GSocketControlMessage: Don't warn about unknown messages
8604
8605 * GIO:
8606  - implement GSeekable for the data and buffered stream classes
8607  - implement GPollable for many more classes as well
8608  - fix GConverterInputStream infinite loop when fill_buffer returns an error
8609  - fileinfo: document the correct type for trash::orig-path
8610
8611 * test coverage improvements and general fixes
8612
8613 * new 2.34 stuff: version macros, docs index section, etc.
8614
8615 * Build:
8616  - add --disable-modular-tests build option
8617  - don't require host binaries if tests are not enabled for cross-builds
8618
8619 * Translations updated
8620  Brazilian Portuguese
8621  Bulgarian
8622  Czech
8623  French
8624  Galician
8625  German
8626  Hebrew
8627  Hindi
8628  Italian
8629  Norwegian bokmål
8630  Polish
8631  Russian
8632  Russian
8633  Serbian
8634  Simplified Chinese
8635  Slovenian
8636  Spanish
8637  Telugu
8638
8639 Overview of changes from GLib 2.32.0 to 2.32.1
8640 ==============================================
8641
8642 * Bugs fixed:
8643  670254 glib-2.30.2: Fails /GDateTime/new_from_unix test
8644  672541 glib-compile-resources prepends --sourcedir to absolute paths
8645  673139 URL to mailing lists in README incorrect
8646  673174 g_input_stream_read[_finish]: document returning 0 on EOF
8647  673191 glib/gchecksum.c warning: dereferencing type-punned pointer...
8648  673216 [W32] gtestutils does not use path separators consistently
8649  673439 Properly deprecate g_value_{set,get}_char
8650  673612 Fails to decode dictionaries wrapped in two layers of array
8651  673803 gclosure: Support return values of GVariants
8652  669285 glib/tests/markup-parse fails under non-english locale
8653  673911 gio-2.0.pc lists full path to executables, breaking cross com..
8654  673762 gnextstepsettingsbackend.c:343: error: parse error before 'in'
8655
8656 * Updated translations:
8657  Belarusian
8658  British English
8659  Bulgarian
8660  Catalan
8661  Czech
8662  French
8663  German
8664  Hebrew
8665  Hindi
8666  Hungarian
8667  Italian
8668  Japanese
8669  Kannada
8670  Latvian
8671  Lithuanian
8672  Marathi
8673  Norwegian bokmål
8674  Odia
8675  Polish
8676  Serbian
8677  Slovenian
8678  Spanish
8679  Swedish
8680  Telugu
8681
8682
8683 Overview of changes from GLib 2.31.22 to 2.32.0
8684 ===============================================
8685
8686 * It is no longer necessary to use g_thread_init() or to link against
8687   libgthread.  libglib is now always thread-enabled. Custom thread
8688   system implementations are no longer supported (including errorcheck
8689   mutexes).
8690
8691 * The thread and synchronisation APIs have been updated.
8692   GMutex and GCond can be statically allocated without explicit
8693   initialisation, as can new types GRWLock and GRecMutex.  The
8694   GStatic_______ variants of these types have been deprecated.  GPrivate
8695   can also be statically allocated and has a nicer API (deprecating
8696   GStaticPrivate).  Finally, g_thread_create() has been replaced with a
8697   substantially simplified g_thread_new().
8698
8699 * The g_once_init_enter()/_leave() functions have been replaced with
8700   macros that allow for a pointer to any gsize-sized object, not just a
8701   gsize*.  The assertions to ensure that a pointer to a correctly-sized
8702   object is being used will not work with generic pointers (ie: (void*)
8703   and (gpointer) casts) which would have worked with the old version.
8704
8705 * It is now mandatory to include glib.h instead of individual headers.
8706
8707 * The -uninstalled variants of the pkg-config files have been dropped.
8708
8709 * For a long time, gobject-2.0.pc mistakenly declared a public
8710   dependency on gthread-2.0.pc (when the dependency should have been
8711   private).  This means that programs got away with calling
8712   g_thread_init() without explicitly listing gthread-2.0.pc among their
8713   dependencies.
8714
8715   gthread has now been removed as a gobject dependency, which will cause
8716   such programs to break.
8717
8718   The fix for this problem is either to declare an explicit dependency
8719   on gthread-2.0.pc (if you care about compatibility with older GLib
8720   versions) or to stop calling g_thread_init().
8721
8722 * g_debug() output is no longer enabled by default.  It can be enabled
8723   on a per-domain basis with the G_MESSAGES_DEBUG environment variable
8724   like
8725     G_MESSAGES_DEBUG=domain1,domain2
8726   or
8727     G_MESSAGES_DEBUG=all
8728
8729 * Bugs fixed:
8730  671988 Quickly registering / unregistering objects on bus...
8731  672095 glib needs stable sort function
8732  672406 glib/tests/include.c fails to build on FreeBSD
8733
8734 * Updated translations:
8735  Telugu
8736
8737
8738 Overview of changes from GLib 2.31.20 to 2.31.22
8739 ================================================
8740
8741 * Bugs fixed:
8742  531901 Use __builtin_bswap* for GUINT*_SWAP_LE_BE if building...
8743  653167 Out of tree build is broken on windows
8744  668973 Test /gvariant/parser fails on Solaris 10
8745  669797 gvfs now lists its fuse mounts
8746  670846 deadlock: GStreamer-WARNING **: wrong STREAM_LOCK count 0
8747  671664 gio-querymodules: unlink instead of writing empty cache
8748  671676 Glib can't be cross-compiled any more after merge of...
8749  671918 gnome-shell is inaccessible unless started while an AT...
8750  671942 GSocketMsgFlags: annotate as a flags
8751  671997 Unix signal handling assumes that volatile 1-byte writes...
8752  672013 GSimpleAsyncResult: support reliable cancellation
8753  672026 default log output should include pid and/or prgname
8754  672095 glib needs stable sort function
8755  672201 G_SPAWN_SEARCH_PATH should continue on ENODEV and ETIMEDOUT
8756  672239 request NO_REPLY from g_dbus_connection_call() with no as...
8757  672249 gdbusproxy leaks asyncresult in an error case instead of...
8758
8759 * Translation updates:
8760  Assamese
8761  British English
8762  Catalan
8763  Catalan (Valencian)
8764  Danish
8765  Esperanto
8766  Finnish
8767  French
8768  German
8769  Hungarian
8770  Korean
8771  Lithuanian
8772  Norwegian bokmål
8773  Polish
8774  Portuguese
8775  Russian
8776  Traditional Chinese
8777
8778
8779 Overview of changes from GLib 2.31.18 to 2.31.20
8780 ================================================
8781
8782 * Update to Unicode 6.1
8783
8784 * Update PCRE to 8.30
8785
8786 * Deprecations are now versioned, and new API is
8787   marked with the version it was introduced.
8788   Use these with GLIB_VERSION_{MIN,MAX}_REQUIRED
8789
8790 * The performance of signal emissions has been
8791   improved for simple cases
8792
8793 * Bugs fixed:
8794  529806 Cannot build in 64-bit Mac OS X due to libiconv
8795  580873 Documentation of register type functions incomplete
8796  592666 Document how to unset an attribute
8797  597785 g_type_class_add_private code snippet is a bad example
8798  621368 glib-2.24.1: FAIL: run-assert-msg-test.sh when updating...
8799  622149 --disable-regex breaks glib2 build
8800  639873 GBinding: Crash when binding two properties on the same...
8801  640202 For GLIB v. 2.23.6 and above: impossibility to build mu...
8802  668295 Need a way to classify GVolume instances
8803  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
8804  670542 Add version information for deprecations
8805  670557 gvaluetransform: Fix an infinite loop with GFlagsValue...
8806  670721 global variable for signal ID should be hidden
8807  670751 IceWM build fails due to the G_DEPRECATED_FOR macro
8808  670909 g_dbus_connection_call leaks when it receives an error...
8809  670922 Include path to gdbus-codegen in the pkgconfig file
8810  670969 GSequence lookup may fail if there was no sort prior to...
8811  671025 Constants and identifiers starting with a number are no...
8812  671270 make distclean failures
8813  671281 glib-compile-resources.xml is missing from the dist tar...
8814
8815 * Translation updates:
8816  Basque
8817  Belarusian
8818  Brazilian Portuguese
8819  Bulgarian
8820  Galician
8821  Hebrew
8822  Lithuanian
8823  Persian
8824  Punjabi
8825  Serbian
8826  Simplified Chinese
8827  Slovenian
8828  Telugu
8829  Traditional Chinese
8830  Uyghur
8831  Vietnamese
8832
8833
8834 Overview of changes from GLib 2.31.16 to 2.31.18
8835 ================================================
8836
8837 * GDBusProxy has now a flag, G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
8838   which can be set to make GDBus automatically reload
8839   changed properties even if the propertychanged signal
8840   does not contain the new values.
8841
8842 * GApplication puts non-unique applications on the bus
8843
8844 * GApplication now has g_application_quit()
8845
8846 * g_async_queue_timed_pop has been deprecated in favor of
8847   the new g_async_queue_timeout_pop, which uses relative
8848   delays in microseconds instead of a GTimeVal.
8849
8850 * a huge number of API documentation fixes
8851
8852 * Bugs fixed:
8853  647986 put non-unique apps on D-Bus
8854  658484 vpn connection vs NetworkSecretDialog
8855  664237 GDateTime falls back to UTC if TZ is set
8856  669329 gthread-win32: update for g_get_monotonic_time() changes
8857  669330 glocalfile: fix error code when opening a directory on win32
8858  669372 glib/tests memory leaks.
8859  669412 mem leak in g_environ_unsetenv
8860  669538 Fix compilation of glib-compile-resources.c on Windows
8861  669544 gdbus-codegen example introspection XML is not complete
8862  669595 glib-mkenums: fix handling of forward enum declarations
8863  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
8864  669671 gobject: use #pragmas to avoid deprecated function warnings
8865  669689 Retrieve cwd and environ in local GApplicationCommandLine
8866  669810 socket/win32: flush pending read before signaling HUP
8867  669865 g_regex_fetch()
8868  670085 memory leak in g_output_stream_write_async
8869  670138 gbytes.h is missing the G_BEGIN/END_DECL guards
8870  670485 Simplify session API (shared bug with gtk+)
8871
8872 * Updated translations:
8873  Belarusian
8874  Danish
8875  Galician
8876  Serbian
8877  Telugu
8878  Hebrew
8879
8880
8881 Overview of changes from GLib 2.31.14 to 2.31.16
8882 ================================================
8883
8884 * GResource:
8885  - The resource compiler can now convert pngs into
8886    pixel data that can be used without parsing at runtime
8887    (requires gdk-pixbuf-pixdata to be present)
8888
8889 * Bugs fixed:
8890  669123 resource compiler: failing to-pixdata should...
8891  669173 resource: fix xml preprocess entity handling
8892  669224 Cross-compilation broken by data-to-c
8893  669253 gsettings set buggy on array values
8894  669334 fix memory leak in bookmark file parser
8895
8896 * Translation updates:
8897  Norwegian bokmål
8898  Spanish
8899
8900
8901 Overview of changes from GLib 2.31.12 to 2.31.14
8902 ================================================
8903
8904 * GResource:
8905  - GLib now includes a commandline utility, gresource,
8906    to explore resources in ELF files
8907  - The resource compiler can now optionally strip
8908    ignorable whitespace from XML resources
8909  - The resource compiler can now generate build dependencies
8910  - The resource compiler will now autoselect output formats
8911
8912 * GApplication:
8913  - The menu markup parser API has been dropped, the
8914    menu XML support lives in GTK+ now
8915
8916 * GValueArray has been deprecated
8917
8918 * Bugs fixed:
8919  626258 N-ary Trees - 'nodes' can be inserted before and after...
8920  634232 Core Dump / Aborted using g_key_file_to_data
8921  639099 schema compiler chokes on valid schema
8922  667228 Deprecate GValueArray
8923  667243 Add an element clear function to GArray
8924  667929 glib-compile-resources: xml resources doesn't need to...
8925  668250 g_date_time_format() produces a non-UTF8 string
8926  668468 'IP_ADD_SOURCE_MEMBERSHIP' undeclared
8927  668532 resources: add dependency generator to the resource compiler
8928  668539 resources: compiler should autoselect output format...
8929  668561 gresource-tool not internationalized
8930  668572 glib_cv_g_atomic_lock_free config.cache setting not honored...
8931  668650 GRealArray->clear_func should be initialized
8932  668756 GKeyFile: allow loading from empty strings
8933  668857 fix couple of typos in comments
8934  669024 goption: implement platform_get_argv0() for OpenBSD
8935
8936 * Updated translations:
8937  Galician
8938  Norwegian bokmål
8939  Spanish
8940  Traditional Chinese
8941
8942 Overview of changes from GLib 2.31.10 to 2.31.12
8943 ================================================
8944
8945 * GApplication:
8946  - Drop support for exporting menus - this functionality
8947    will be provided in GtkApplication
8948  - Add a way to create actions that change settings
8949
8950 * Bugs fixed:
8951  629503 Add async versions of g_unix_connection_{receive,send}_credentials
8952  656301 glib-compile-schemas should not create an empty file
8953  668071 mingw-gcc build fails on gio/gsocket.[c|h]
8954  668118 the big appmenu switcheroo
8955  668158 base64 encode and line termination
8956  668163 GDBusConnection: note that exit-on-close is sometimes TRUE
8957  668269 gsignal: add g_signal_handlers_disconnect_by_data
8958  668279 create GAction from GSettings
8959
8960 * Translation updates:
8961  Norwegian bokmål
8962
8963
8964 Overview of changes from GLib 2.31.8 to 2.31.10
8965 ===============================================
8966
8967 * GResource:
8968  - A new facility to allow linking data files into binaries
8969    and make them available as resources
8970  - Resources are compiled using glib-compile-resources
8971  - GIO supports resource:/// uris to access resources
8972
8973 * Bugs fixed:
8974  619126 Missing dependency libs
8975  658315 g_key_file_get_keys() should set length to 0...
8976  660371 is it ever valid to have 0 as a GError domain?
8977  666700 Add some missing (allow-none) annotations
8978  667375 GAsyncInitable subclassing (and async subclassing...
8979  667447 Missing many introspection annotations
8980  667790 Protect call to pthread_condattr_setclock with define
8981  667938 wrong gtypes generated for empty flags enums
8982
8983 * Translation updates:
8984  Hebrew
8985  Spanish
8986
8987
8988 Overview of changes from GLib 2.31.6 to 2.31.8
8989 ==============================================
8990
8991 * GObject:
8992  - The type checks for overriding properties have been loosened.
8993    In particular, it is now possible to add the CONSTRUCT flag
8994    to an overridden property
8995  - GWeakRef is a new API for weak references; unlike g_object_weak_ref
8996    and g_object_add_weak_pointer, it is thread-safe.
8997
8998 * GHashTable has grown new convenience api for use as a set:
8999   g_hash_table_add, g_hash_table_contains
9000
9001 * GSocketConnection has gained API for managing connection status
9002
9003 * GSettings: a native OS X backend has been added, under the
9004   name 'nexstep'
9005
9006 * Bugs fixed
9007  455640 Something fishy with GRegex and unicode
9008  548954 weak references are not threadsafe
9009  625751 Add G_FILE_ATTRIBUTE_FILESYSTEM_USED
9010  658871 gbacktrace: g_get_prgname () isn't called for a NULL argu...
9011  664069 gvariant: Never break out of g_variant_iter_loop
9012  664830 g_strescape doesn't natively handle \v (vertical tab)
9013  665211 GDBusConnection singleton access can race with disposal
9014  665805 Add GSocketClient::action, for tracking socket client status
9015  666116 some tests provoke undefined behaviour, which is undesira...
9016  666422 Unreachable code in gio gnetworkmonitornetlink.c
9017  666551 Crash in g_thread_xp_SleepConditionVariableSRW
9018  666595 menu parser disallows id='' on submenu and section
9019  666615 loosen property override flag restrictions
9020  666616 gobject: fix property override type checks
9021  666803 g_utf8_validate() fails to validate strings with known size
9022  666804 g_ateaxit deprecation warning in devhelp points in wrong ...
9023  666951 g_mkdtemp: Since version incorrect in docs
9024  666978 Fails to compile glib applications with ISO C90 compiler
9025  667098 ginetaddressmask leaks its address property
9026  667225 GSocket: add missing type checks to public methods
9027  667226 GSocket: fix an error return value
9028  667279 Sometimes crashes when launching commandline-crea...
9029  667285 Wrong keyname listed in documentation for g_deskt...
9030  667331 Use g_queue_free_full() convenience function
9031  667420 GHashTable GDB pretty printing is broken
9032
9033 * Updated translations
9034  Belarusian
9035  Bulgarian
9036  Hebrew
9037  Norwegian bokmål
9038  Norwegian Nynorsk
9039  Spanish
9040  Vietnamese
9041
9042
9043 Overview of changes from GLib 2.31.4 to 2.31.6
9044 ==============================================
9045
9046 * GApplication no longer has APIs for setting menus.  Those have been
9047   moved to GtkApplication.
9048
9049 * the GActionGroup import/export functionality has been decoupled from
9050   GApplication by the introduction of a new interface for the purpose of
9051   handling platform data: GRemoteActionGroup.  This allows Gtk to
9052   properly deal with platform data (and gdk threads) on window actions.
9053
9054 * lots of documentation improvements
9055
9056 * bug fixes and a huge number of memory leak fixes
9057
9058 * the test suite now passes on ARM and some of the GDBus testcase hangs
9059   we've been seeing have been resolved (although others could remain)
9060
9061 * g_bytes_get_data() API changed: now includes 'size' out parameter
9062
9063 * new g_queue_free_full() API similar to g_[s]list_free_full()
9064
9065 * desktop files: use standard "Keywords" now, not "X-GNOME-Keywords"
9066
9067 * gsettings commandline tool now has --schemadir option for schemas not
9068   installed in the usual place (ie: as part of plugins)
9069
9070 * Bugs fixed:
9071  643736 GApplication doesn't emit dbus signals on action updates
9072  657433 g_queue_free_full() missing
9073  664699 glib: documentation fixes
9074  665737 acquire/release gdk threads lock on incoming dbus
9075  665879 GBytes: add a size argument to g_bytes_get_data
9076  666113 various leaks in GLib, GIO are visible in the regression tests
9077  666115 various tests leak memory, obscuring real leaks in the library
9078  666145 Doc could be more explicite that g_thread_init calls can be droped
9079  666173 Configure warning - linux/netlink.h usability... no
9080  666296 Race condition in g_thread_xp_get_srwlock
9081  666415 Settings tools should allow specifying a schema directory 
9082
9083 * Translations updated:
9084  French
9085  Spanish
9086
9087 Overview of changes from GLib 2.31.2 to 2.31.4
9088 ==============================================
9089
9090 * EXPERIMENTAL: Menu support has been added to GApplication.  Menus
9091   are exported on the bus, alongside the actions that are already there.
9092   There have also been many related improvements to action group
9093   functionality.
9094
9095   These new APIs are subject to changes in the coming releases.  In
9096   particular, it seems somewhat likely that the APIs for registering
9097   menubars may change in order to accommodate windows with different
9098   types of menubars.
9099
9100 * GDBusConnection previously directly dispatched destroy notifies when
9101   unregistering objects if the current main context was the same context
9102   the object was exported on.  It now unconditionally dispatches these
9103   through an idle on the context.
9104
9105 * Clean up Requires in pc files. Linking against GIO no
9106   longer drags in gmodule. This may require dependency
9107   fixes here and there.
9108
9109 * Introduce GBytes, a data type for immutable, fixed-size
9110   byte sequences. This makes the pre-existing GBuffer
9111   API available outside GLib
9112
9113 * GDBusInterfaceSkeleton can now be exported on multiple
9114   connections
9115
9116 * Bugs fixed:
9117  600161 Do not use static GTypeInfo and GInterfaceInfo
9118  640077 GFileMonitor: Always send CHANGES_DONE_HINT after a move...
9119  641720 Misleading definition for local_command_line() in GApplic...
9120  648516 Little comment error and 2 useless lines of code
9121  651997 Dummy backend for gapplication
9122  652560 Test for g_ascii_strtod is failing
9123  662208 failure to initialize a GInitable should be considered...
9124  662718 GDBusInterfaceSkeleton should be able to export on multi...
9125  663291 GBytes: Immutable, refcounted sequence of bytes
9126  664406 Need context for a proper translation
9127  664455 Build fixes for GLib GIT master (2.31.x)
9128  664558 GDBusWorker.frozen has a value > 1 in a gboolean
9129  664559 sys/wait.h not available on windows
9130  664617 gdbus segfault error 4 in libgio-2.0.so.0.3102.0
9131  664635 GMemory{Out,In}putStream _async functions break sub-class...
9132  664809 Add command line option to gtester to allow skipping tests
9133  665067 cryptic assertion failure if nonsensical flag combinations...
9134  665184 Check ref. count before reffing/unreffing
9135  665298 Add 'Requires.private: libpcre' to glib-2.0.pc
9136  665391 update documentation around mainloops
9137  665607 ./configure is there for fiddling with cross-compile enviro...
9138  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes...
9139  665685 Add a #define for the max length of a Unicode decomposition
9140  665733 GDBusConnection holds lock while calling destroynotify
9141
9142 * Translation updates:
9143  Norwegian bokmål
9144  Spanish
9145
9146
9147 Overview of changes from GLib 2.31.0 to 2.31.2
9148 ==============================================
9149
9150 * Monotonic time is now properly supported on Windows
9151
9152 * glib-mkenums: fix @ENUMPREFIX@ with /*< underscore_name=... >*/
9153
9154 * EXPERIMENTAL: introduce new GSettingsSchema and GSettingsSchemaSource
9155   APIs for the convenience of plugin system authors and those who wish
9156   to introspect the contents of schemas.  This API may change.
9157
9158 * Improve the performance of GObject property notifies.
9159
9160 * GDBus:
9161  - fix a race when unowning a name immediately after owning it
9162  - thread safety improvements on GDBusConnection
9163  - fixes for exit-on-close functionality
9164
9165 * Deprecations:
9166  - add G_SIGNAL_DEPRECATED
9167  - don't use G_DISABLE_DEPRECATED masking for functions anymore
9168
9169 * docs
9170  - tmpl/ is finally dead for glib
9171
9172 * GIO:
9173  - GInetAddressMask: new type for internet address range matching
9174  - various GIO file and stream fixes
9175  - improvements to attribute and fileinfo handling
9176
9177 Overview of changes from GLib 2.29/2.30 to 2.31.0
9178 =================================================
9179
9180 This release contains a huge number of changes (500 commits worth).  The
9181 list below attempts to summarise, but not every change is listed.
9182
9183 * Major changes to threading and synchronisation
9184  - threading is now always enabled in GLib
9185  - support for custom thread implementations (including our own internal
9186    support for errorcheck mutexes) has been removed
9187  - a whole lot of dead code (to deal with the non-threaded case) has
9188    been ripped out.  This includes the racy path of GMainContext that
9189    caused deadlocks with respect to child process exits in
9190    single-threaded programs (such as gtester).
9191  - libgthread is now an empty shell and g_thread_init() is no longer
9192    required (and has been deprecated)
9193  - GMutex and GCond can now be statically allocated without explicit
9194    initialisation.  Dynamic allocation for these types is deprecated.
9195  - new types GRecMutex and GRWLock can also be statically allocated
9196    without explicit initialisation.
9197  - GPrivate can now be statically allocated and has an improved API.
9198    Dynamic allocation of GPrivate is deprecated.
9199  - GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
9200    deprecated.
9201  - GCond now uses monotonic time internally and a new API takes
9202    monotonic time for timed waits, deprecating the wallclock API
9203  - removal of the insane macro indirection used in the previous
9204    implementation of threading and synchronisation APIs
9205  - use SRWLock and CONDITION_VARIABLE APIs when available on Windows
9206    (Vista and later) and emulate them on XP
9207  - leaks of G(Static)Private-allocated data on some cases of thread exit
9208    have been fixed
9209  - simplified new thread creation API with the old API deprecated.  The
9210    concept of joinability has disappeared (all threads are joinable) as
9211    have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
9212    and ability to manipulate the stack size.
9213  - GThread is now a refcounted type
9214  - other implementation details changed
9215
9216 * Move headers for some deprecated functionality to a separate
9217   deprecated/ directory.
9218
9219 * New support for attribute-based deprecations to issue compiler
9220   warnings instead of breaking the build and/or giving warnings about
9221   implicit declarations (and possibly miscompiling).
9222
9223 * GCache has been deprecated (after its last use was removed from our
9224   platform over a year ago).
9225
9226 * It is no longer possible to include individual headers (like
9227   "ghash.h") -- you must #include <glib.h>.
9228
9229 * The misguided experiment of allowing the program to stumble along with
9230   missing GSettings schemas is now over -- the abort is back.
9231
9232 * Clarify that fork() is not valid while using GMainContext.  This is
9233   because the internal resources of the GMainContext end up being shared
9234   by both processes.  We had an assert here but it was breaking existing
9235   (valid) use cases as well, so it has been removed for now.
9236
9237 * GApplication
9238   - add ::shutdown signal as logical dual to ::startup
9239   - don't use a GMainLoop: iterate the GMainContext directly (improves
9240     quit logic)
9241
9242 * Several portability fixes for Windows, OpenBSD, Solaris
9243
9244 * Add new GValue API to specifically deal in signed chars (in case the
9245   platform defines 'char' as unsigned)
9246
9247 * some new API to mitigate the problems associated with calling setenv()
9248   in a multi-threaded program
9249
9250 * Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
9251   time (ie: stop checking for kernel support at runtime).
9252
9253 * pkg-config files:
9254   - drop -uninstalled variants
9255   - remove gobject dependency on gthread
9256
9257 * New macro G_ATOMIC_LOCK_FREE is defined if the atomic operations are
9258   implemented without use of a mutex.  Cleaned up atomic-related
9259   compilation issues with mingw compilers on win32 systems.
9260
9261 * SOCKS proxy and resolver improvements
9262
9263 * Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
9264   introduce a macro for backwards compatibility.
9265
9266 * GDBus:
9267   - many code generation updates and improvements
9268   - some race condition fixes, including testcase hangs
9269
9270 * GVariant:
9271   - new g_variant_new_from_fixed_array() API
9272   - substantial docs improvements/clarifications
9273
9274 * GKeyFile is now refcounted and boxed
9275
9276 * mount monitoring is now based on /proc/mounts (where available)
9277   instead of mtab
9278
9279 * new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for returning from
9280   GSourceFunc (so you don't have to remember what TRUE and FALSE mean)
9281
9282 * use xlocale functions where available to avoid too much heavy lifting
9283   in functions like g_ascii_strtod()
9284
9285 * GMappedFile can now be created from an fd
9286
9287 * error message strings grammar/i18n fixes
9288
9289 * many docs updates
9290
9291 * Partial list of bugs closed:
9292  70598  Unify GStaticMutex and GMutex.
9293  320888 optimization for g_main_context_wakeup
9294  398418 GChildWatch race condition?
9295  527214 g_timer_elapsed() returns random values
9296  580505 add a way to set/get name for a thread
9297  583511 race condition means g_main_loop_quit() does not work
9298  590808 GKeyFile should have a refcount and a boxed type in GObject
9299  592715 Document that g_str_hash() and g_int_hash() are not NULL safe
9300  631413 Add macros for GSourceFunc return values
9301  632049 not immediately clear what g_variant_get_fixed_array expects
9302  640212 "Error stating file" is not a friendly message
9303  640293 Use xlocale functions to implement g_ascii_strtod()
9304  640975 Check that error exists before trying to set it
9305  643934 GApplication lacking a logical dual for the ::startup signal
9306  651268 assertion failed in GDBus worker thread
9307  653987 g_key_file_get_integer cannot interpret trailing spaces
9308  654412 Documentation for g_variant_get_child_value unclear
9309  654563 info capplet: Failed to calculate disk space
9310  655366 missing GSettings schemas lead to obscure crashes
9311  656621 g_spawn_*() calls executables in current directory
9312  656679 [gi] Add two annotations to gio
9313  657992 Add glib__private__() API to share between glib,gio
9314  658188 _set_as_last_used_for_type generates a broken mimeapps.list
9315  658206 gsocks5proxy.c has invalid gettext use
9316  658207 glib-compile-schemas says "can not"
9317  658558 simpleaction: Fix documentation of :enabled
9318  658683 clean up charset/language threading issues
9319  658692 add introspection annotations to g_time_val_from_iso8601()
9320  658715 Duplicite strings
9321  658769 Invalid reuse of GError in GThreadedResolver
9322  658806 sign error in string hash implementation
9323  658976 gdbus-codegen's C namespace option needs to support Ugly_Case
9324  659070 gdbus-codegen generated code segfaults when property changes
9325  659082 gdbus-codegen: Single letter namespaces get dropped from names
9326  659212 GMappedFile should fail on non-regular files
9327  659324 _SPLICE_CLOSE_TARGET doesn't mark the output stream as closed
9328  659423 Use adaptive mutexes when available
9329  659427 Move deprecated code to a separate directory
9330  659646 gdbus-codegen produce code that warnings at build
9331  659690 Possible build warning in code generated by gdbus-codegen
9332  659699 property name collision when generating code for "Connection"
9333  659754 Add API to GMappedFile that allows to pass FD
9334  659838 incorrect types in introspection for g_object_bind_property
9335  659866 pthread_rwlock_t requires defined __USE_UNIX98
9336  659870 gvalue: Fix signedness of g_value_get_char()
9337  659889 glib-2.29.92/gio-2.0.pc.in has a wrong line.
9338  659916 GObject size of 64K is not actively enforced
9339  659920 Missing setter for read/write property 'closed' of GIOStream
9340  659923 Add g_variant_new_fixed_array() function
9341  660013 Remove old g_atomic configure cruft
9342  660096 glib/rwlock tests failure (tests asserted)
9343  660130 Possible loss of user data when updating mimeapps.list
9344  660147 tracker causes g_critical in "gsettings list-recursively"
9345  660413 Make G_ASSERT_STATIC work with clang
9346  660498 Generated test code fails when the codegen changes
9347  660511 Use /proc/mounts for monitoring mounts, not /etc/mtab
9348  660536 Expose options for /etc/fstab entries
9349  660635 Deprecate g_thread_foreach
9350  660637 Pending dbus method calls not canceled on connection loss
9351  660739 kill off g_{mutex,cond}_{new,free}()
9352  660740 make GThread more standard
9353  660741 g_cond_timedwait is a disaster
9354  660743 macro wrappers for g_once_init_enter/leave
9355  660744 finish killing g_thread_init()
9356  660745 GPrivate leaks on Windows
9357  660791 [gio] Improve doc for g_file_make_directory_with_parents()
9358  660843 asyncqueue-test is broken
9359  660849 Remove cruft from g_strerror and g_strsignal
9360  660886 GDBusProxy: don't drop/complain about unknown props/signals
9361  660887 g_slice_set_config() is broken
9362  660994 Add g_main_context_ref_thread_default()
9363  661255 gio: enable test_peer regression test for OpenBSD
9364  661257 giomodules.c uses ":" instead of G_SEARCHPATH_SEPARATOR_S
9365  661318 tests use pthread without appropriate compiler/linker flags
9366  661421 Applications fail to initialize on GNU Hurd - commit
9367  661438 Implement G_GNUC_DEPRECATED/G_GNUC_DEPRECATED_FOR on Visual C++
9368  661711 Sorting keys for GDrive, GVolume and GMount instances
9369  661763 desktop-app-info: Add support for X-GNOME-Keywords
9370  661896 /gdbus/connection/life-cycle is racy
9371  661914 Gstreamer/Totem locks up
9372  662100 regression: g_dbus_connection_close() triggers exit-on-close logic
9373
9374 * Translations updates:
9375  Belarusian 
9376  Brazilian Portuguese
9377  British English 
9378  Bulgarian 
9379  Catalan 
9380  Catalan (Valencian)
9381  Czech 
9382  Danish 
9383  Esperanto
9384  French 
9385  Gujarati
9386  Hebrew 
9387  Hungarian 
9388  Italian 
9389  Japanese
9390  Lithuanian
9391  Norwegian bokmål
9392  Oriya
9393  Polish 
9394  Russian 
9395  Serbian
9396  Simplified Chinese
9397  Slovak 
9398  Slovenian
9399  Spanish 
9400  Tamil
9401  Vietnamese
9402
9403 Overview of changes from GLib 2.29.18 to 2.29.90
9404 ================================================
9405
9406 * GObject includes a generic marshaller, g_cclosure_marshal_generic.
9407   To use it, simply specify NULL as the marshaller in g_signal_new().
9408   The generic marshaller is implemented with libffi, and consequently
9409   GObject depends on libffi now.
9410
9411 * API/ABI changes:
9412  - unix signal watches now match the API of all of the other sources
9413  - revert the addition of g_date_time_source_new () from last release
9414
9415 * networking and other fixes for Solaris
9416  - we no longer support symbolic port names (ie: from /etc/services)
9417  - check if -lsocket is needed
9418  - fix g_socket_details_from_fd()
9419  - avoid getmntinfo
9420  - fix some harmless warnings
9421
9422 * GDateTime improvements:
9423  - generally improved standards compliance (with C99)
9424  - support C99-specified format strings: %g, %G, %V, %c, %C, %w
9425  - consult the locale for the preferred 12-hour time format (%r)
9426  - drop support for non-standard %N and broken %W
9427  - better support for formatting non-POSIX (eg: Arabic) numerals
9428  - locale-related test case fixups, and fix some leaks
9429
9430 * GTlsInteraction: add interaction method invocation guarantees
9431
9432 * gdbus-codegen: post-process all interfaces when parsing >1 file
9433
9434 * make GMainLoop, GMainContext and GSource boxed types
9435
9436 * fix a race condition in the first use of g_get_monotonic_time()
9437
9438 * lots gtk-doc cleanups
9439
9440 * better intltool compatibility when generating pot file
9441
9442 * avoid GCC-specific compiler options when not using GCC
9443
9444 * Translation updates:
9445  Belarusian
9446  Brazilian Portuguese
9447  Canadian English
9448  Galician
9449  Indonesian
9450  Korean
9451  Lithuanian
9452  Norwegian bokmål
9453  Portuguese
9454  Spanish
9455  Swedish
9456
9457 Overview of changes from GLib 2.29.16 to 2.29.18
9458 ================================================
9459
9460 * GDateTime is now respecting LC_TIME when formatting
9461
9462 * GTimeZoneMonitor has been removed again
9463
9464 * A new API for wallclock functionality has been added:
9465   g_date_time_source_new(). This API is still experimental
9466   and may be changed or removed before 2.30.
9467
9468 * Bugs fixed:
9469  628904 Add credential support for FreeBSD and fix a socket issue
9470  650763 gdbus-codegen is broken with python 2.7
9471  655129 GDateTime could provide api for implementing wall clocks
9472  656341 gtlsconsoleinteraction.c uses getpass() which isn't avail...
9473  656387 GCancellable can be used concurrently
9474  656443 Make GTlsInteraction ask_password cancellable
9475  656675 void functions should not return in glib 2.29.16
9476  656772 g_variant_compare for uint64 incorrect
9477  656914 Load GIO_EXTRA_MODULES first, and ignore duplicates
9478  657083 The header langinfo.h is not available on all systems
9479  657084 gfileutils: fix docs/annotations for temp file methods
9480  657138 Some files missing in POTFILES.in
9481  657206 GInputStream leaked in g_file_icon_load_async()
9482  657243 g_cancellable_set_error_if_cancelled() documentation
9483  657274 Use detected PYTHON variable as shebang for gdbus-codegen
9484  657336 Speling fixes for glib found with codespell
9485  657452 plural forms needed
9486  657454 Translation comment needed
9487  657540 Print out file:// URL to coverage HTML report after building
9488  657593 g_test_trap_fork calls close(-1)
9489  646082 Addresses from GSocket should be normalized before returning
9490  657517 fix gio/tests/gdbus-peer on bsd
9491
9492 * Translation updates:
9493  Brazilian Portuguese
9494  Galician
9495  Norwegian bokmål
9496  Punjabi
9497  Russian
9498  Serbian
9499  Spanish
9500  Swedish
9501  Traditional Chinese
9502  Uighur
9503
9504
9505 Overview of changes from GLib 2.29.14 to 2.29.16
9506 ================================================
9507
9508 * GTlsDatabase: an abstract class that provides support
9509   or certificate and key lookup. An implementation will
9510   be provided in glib-networking
9511
9512 * GHmac: Support or HMAC digests
9513
9514 * Misc new API:
9515  - g_ptr_array_add_full: creates a GPtrArray with
9516    a preallocated size and a destroy function
9517  - g_desktop_app_info_get_show_in: checks if a GDesktopAppInfo
9518    should be shown in a given desktop environment
9519  - g_mkdtemp, g_mkdtemp_full, g_dir_make_tmp: create
9520    temporary directories
9521
9522 * Unify thread wakeup implementations of GMainContext
9523   and GCancellable, and use eventfd for it when available
9524
9525 * Show mounts in $XDG_USER_DIR in addition to /media and $HOME
9526
9527 * Bugs fixed:
9528  636572 GTlsCertificateDB
9529  644601 Some tests need a running dbus session
9530  652284 deal with small key lengths
9531  652827 glib-2.29.8 no longer builds with mingw.org's toolchain
9532  653063 PEM parser fails parsing private key when put first
9533  654078 Fail to static linking with Glib library
9534  654450 New functions: g_ptr_array_new_full()
9535  654793 Add G_VALUE_INIT
9536  655044 GDesktopAppInfo: Add g_desktop_app_info_get_show_in()
9537  655148 gdbusconnection is broken when compiling with mingw
9538  655241 glocalfile.c no longer compiles with MinGW GCC
9539  655598 g_cancellable_get_fd: silently return -1 for NULL cancellable
9540  655664 gdbus should not abort if no dbus session is available
9541  655769 Use ZLIB_CFLAGS when compiling gio
9542  656031 Improve GVariant annotations
9543  656048 glib-codegen requires Python >= 2.5
9544  656151 configure test logic inverted, doesn't match comments
9545  656152 GCC only syntax used, yet other compilers allowed by configure.
9546  656162 allow use of lcov 1.9 for coverage
9547  656282 GDBusProxy: uninitialized local variables can be freed
9548  656283 Failing tls connection cause assertion
9549  118563 Add g_mkdtemp in the spirit of g_mkstemp
9550  636405 Add g_return_if_fail() to g_settings_bind_with_mapping()
9551  656039 race condition between GDBusProxy signals and public API
9552  656492 g_io_channel_new_file failure (open(2) behavior wrt POSIX)
9553
9554 * Translation updates:
9555  Bulgarian
9556  Esperanto
9557  French
9558  Galician
9559  German
9560  Hebrew
9561  Indonesian
9562  Italian
9563  Norwegian bokmål
9564  Russian
9565  Spanish
9566  Swedish
9567
9568
9569 Overview of changes from GLib 2.29.12 to 2.29.14
9570 ================================================
9571
9572 * Unicode improvements
9573  - add g_unicode_script_{to,from}_iso15924
9574  - add G_UNICODE_SPACING_MARK define
9575  - more normalisation improvements
9576  - stop using deprecated g_unicode_canonical_decomposition()
9577
9578 * GParamSpec:
9579  - mark the 'name' field as 'const' and add a comment to the header to
9580    help avoid future problems caused by bad hacks
9581
9582 * Merge some (modified) patches from Debian:
9583  - 03_blacklist-directories.patch
9584    - add some blacklisted mount directories
9585  - 60_wait-longer-for-threads-to-die.patch
9586    - sleep longer in a test case, if needed to avoid failing
9587
9588 * Units policy change: prefer use of SI units
9589  - deprecate g_format_size_for_display, add g_format_size(_full)
9590
9591 * GSettings: don't call g_error() when the schema is missing
9592
9593 * GVariant support for arrays of object paths:
9594  - new g_variant_{new,get,dup}_objv API
9595  - support for g_variant_{new,get} '^ao' and '^a&o' similar to '^as'
9596
9597 * GDBus:
9598  - use new improved array-of-objects support and pass 'ao' as char**
9599    instead of GVariant*
9600  - improve handling of 'h' type (Unix file descriptor index)
9601
9602 * GIO:
9603  - fix compilation without USE_STATFS and USE_STATVFS
9604
9605 * Documentation fixes
9606
9607 * Bugs fixed:
9608  622921 Migrate from dbus-glib to glib's GDBus
9609  648271 Add g_unicode_script_to_iso15924()
9610  654948 Stop using deprecated g_unicode_canonical_decomposition()
9611  654988 g_atomic_int_add should document behaviour change
9612  655025 #define G_UNICODE_SPACING_MARK G_UNICODE_COMBINING_MARK
9613  655076 normalization misses some Full_Composition_Exclusion=True. 
9614
9615 * Translations updated:
9616  Spanish
9617
9618 Overview of changes from GLib 2.29.10 to 2.29.12
9619 ================================================
9620
9621 * Add new API to do Unicode (de-)composition in atomic steps,
9622   for use in Harfbuzz.
9623
9624 * Bugs fixed:
9625  615895 (indirectly) support non-NULL-terminated regexes in GRegex
9626  617949 glib trunk fails to compile on Solaris w/ Studio 12...
9627  620423 Document the possibility to unset attributes
9628  627974 Floating reference headaches
9629  644687 Not finding cross-links in current doc set
9630  649246 g_output_stream_splice() cannot be used on 32-bit machines...
9631  653841 a helper script to build glib from git master on win32
9632  653935 g_slist_free_full/g_list_free_full iterates twice in the list
9633  654017 tests: fix glib_translations_work() in gsettings unit test
9634  654085 Don't needlessly use "echo -e" when creating .def files
9635  654195 Add g_unichar_compose() and g_unichar_decompose()
9636  654232 GCancellable eventfd problems
9637  654394 suspicious use of floating references in GDBusInterfaceSkeleton
9638  654536 GSettings: lift key name length restriction to 64
9639  654627 GParamSpec: intern property names
9640  654651 Better g_unicode_canonical_decomposition()
9641  654917 Make g_cclosure_marshal_generic the default signal handler
9642
9643 * Translation updates:
9644  Belarusian
9645  Finnish
9646  Korean
9647  Latvian
9648  Lithuanian
9649  Norwegian bokmål
9650  Turkish
9651
9652
9653 Overview of changes from GLib 2.29.8 to 2.29.10
9654 ===============================================
9655
9656 * New features:
9657  - g_desktop_app_info_get_nodisplay: a function that is required
9658    to port gnome-menus to GDesktopAppInfo
9659  - g_hash_Table_iter_replace: new function to replace a value
9660    while iterating over a hash table
9661  - g_utf8_substring: convenience API to extract substrings from
9662    UTF-8 strings
9663  - g_action_group_add_entries: convenience API for creating lots
9664    of actions quickly
9665  - Use eventfd instead of pipes for waking up main contexts and
9666    for cancellation when available
9667  - GMatchInfo is now a refcounted boxed type
9668
9669 * API changes in GAction:
9670  - the 'set_state' entry in the GActionInterface vtable has been
9671    renamed to 'change_state
9672  - g_action_set_state has been renamed to g_action_change_state
9673  - the 'state' property has been changed to read-only
9674  - GSimpleAction can no longer be subclassed
9675
9676 * Bug fixes
9677  647796 g_variant_new_variant is not marked as constructor
9678  652072 gmain: make use of signalfd()
9679  652168 Crosscompiling Fails if build<=2.24 and host >2.24
9680  652750 make dist fails
9681  652758 GDataInputStream: Clarify g_data_input_stream_read_line docs...
9682  652822 Add a g_hash_table_iter_replace
9683  652897 tiny docs clarification for g_utf8_to_ucs4_fast
9684  653140 gmain: use Linux eventfd() for main context wake up
9685  653429 drop AM_MAINTAINER_MODE or enable it by default
9686  653484 GAsyncCallbacks should default to allow-none
9687         Add missing fundamental types to the generic marshaller
9688
9689 * Translation updates
9690  Belarusian
9691  Galician
9692  Russian
9693
9694 Overview of changes from GLib 2.29.6 to 2.29.8
9695 ==============================================
9696
9697 * Bug fixes
9698  646608 export_symbols variable for gio dynamic library is wrong
9699  646635 Fix introspection of GLib
9700  647930 Documentation: GDataInputStream _read_upto() version
9701  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
9702  651920 Improve qsort_r detection
9703  651959 gbitlock: "asm goto" is not available in gcc < 4.5
9704  651998 gdbus-codegen: Use relative Python imports
9705  652000 Fix for gatomic.c on Windows/MSVC
9706  652002 Proposal to clean up gvaluetransform.c for MSVC
9707  652025 g_dbus_connection_register_object: error is not set...
9708  652081 Typos in a GBinding warning message
9709  652197 Improper handling of double values in GDBusMessage
9710         Fix a deadlock in gobject finalization
9711
9712 * Translation updates:
9713  Czech
9714  Galician
9715  German
9716  Hebrew
9717  Norwegian bokmål
9718  Spanish
9719  Uighur
9720
9721
9722 Overview of changes from GLib 2.29.4 to 2.29.6
9723 ==============================================
9724
9725 * Atomic operations have been rewritten from scratch to make use
9726   of gcc builtins where possible. As a side-effect of this, calls
9727   to g_atomic_ API with explicit casts may now be problematic; if
9728   that happens to you, try first to remove the casts. Another
9729   side-effect of the rewrite is that g_atomic_int_exchange_and_add
9730   has been deprecated in favor of g_atomic_int_add.
9731
9732 * A full set of atomic operations on pointers has been added,
9733   including bit locks in pointer-size locations.
9734
9735 * Access to quarks is now lockless
9736
9737 * GObject data scalability has been greatly improved
9738
9739 * g_data_time_format now supports alternative digits and padding
9740
9741 * Introspection improvements:
9742  - Add a boxed type for GVariantBuilder
9743  - Annotation fixes in GDBus, GVariant, g_base64_
9744
9745 * Bugs fixed:
9746  502560 g_rand_double_range returns 'inf'
9747  612729 g_mkdir_with_parents can fail if the directory already exists
9748  617491 g_once() implementation is inefficient
9749  619418 Add a performance test for UTF-8 decoding functions
9750  619435 Make g_utf8_to_ucs4_fast() yet faster
9751  626549 G_STATIC_ASSERT_EXPR
9752  631231 bitlock: Fix detection and usage of futexes with Bionic
9753  632294 g_queue_remove() should return a boolean
9754  640518 GMainLoop has quadratic complexity when all pollfd's...
9755  642026 Race condition in g_static_private_free
9756  646635 Fix introspection of GLib
9757  648678 g_date_time_format(): support %O flags for localized numbers
9758  649480 Use MSG_CMSG_CLOEXEC in recvmsg in gio/gsocket.c
9759  649506 GTestFunc et al lacking Since tag
9760  649657 Don't return gboolean for functions that throw
9761  649775 glib-gio-gdbuscodegen-Makefile.patch
9762  649915 gsettings accepts unquoted strings longer than two characters
9763  649973 gthread: build unix tests only on unix
9764  649988 gdbus-codegen: Drop dependency on argparse
9765  650078 forkbomb building glib/tests/protocol
9766  650211 Optimization in key file parsing
9767  650236 Application over DBus implements action state incorrectly
9768  650345 g_key_file_has_key_full: New function to fix g_key_file_has_key...
9769  650458 reduce overhead in g_object_set/get_data
9770  650459 hash table consistency while calling destroy notify funcs
9771  650688 enforce rules about hash table modification
9772  650823 expand the set of atomic ops
9773  650874 codegen chokes on docs
9774  650882 use stdout instead of stderr for informational messages
9775  650884 fix compilation with gcc2
9776  650885 implement glib credentials on OpenBSD (hackish)
9777  650935 G_GNUC_MAY_ALIAS and atomic ops
9778  651009 minor documentation fix
9779  651034 Regarding g_cond_wait after g_thread_pool_push in gthreadedresolver
9780  651133 race condition in GDBusConnection's emit_signal_instance_in_idle_cb
9781  651141 hashtable infinite loop
9782  651219 fix path to true(1) on OpenBSD
9783  651223 Fix some compile warnings on OpenBSD
9784  651327 Minor fixes for the gsocket API
9785  651467 Add pointer sized bitlocks
9786  651650 gdbus: Avoid busy wait loop
9787  651725 gmain: Cleanups and a new test case
9788  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
9789
9790 * Updated translations:
9791  Catalan (Valencian)
9792  Esperanto
9793  Hebrew
9794  Hungarian
9795  Russian
9796  Spanish
9797
9798
9799 Overview of changes from GLib 2.29.2 to 2.29.4
9800 ==============================================
9801
9802 * GDBus:
9803  - Includes several new types to support modeling D-Bus
9804    objects and interfaces more fully, and also introduces
9805    an 'object manager' pattern:
9806    GDBusInterface, GDBusObject, GDBusObjectManager
9807    These interfaces have client-side implementations:
9808    GDBusProxy, GDBusObjectProxy, GDBusObjectManagerClient
9809    And server-side implementations:
9810    GDBusInterfaceSkeleton, GDBusObjectSkeleton, GDBusObjectManagerServer
9811  - The new gdbus-codegen utility uses these new classes
9812    to generate C code and documentation from D-Bus interface
9813    descriptions in XML
9814
9815 * GTest:
9816  - There is now a g_test_fail() function to mark
9817    tests as failed
9818
9819 * GDesktopAppInfo
9820  - Now has a binding-friendly filename property
9821  - Other new API to more fully expose desktop file contents:
9822    g_desktop_app_info_get_categories(),
9823    g_desktop_app_info_get_generic_name()
9824
9825 * GHashTable:
9826  - Several optimizations to reduce space consumption of
9827    large hash tables, in particular tables that are used
9828    to store sets.
9829
9830 * Unix-specific APIs:
9831   GLib now installs a separate header, glib-unix.h, that is
9832   meant to collect Unix-specific APIs. For now, it contains
9833   g_unix_open_pipe(), g_unix_set_fd_non_blocking() for dealing
9834   with pipes and fds, as well as APIs to create mainloop
9835   sources which can trigger callbacks on certain Unix
9836   signals (SIGTERM, SIGHUP, SIGINT).
9837
9838 * Bugs fixed:
9839  631379 GDBus nonce-tcp test failing
9840  632631 GLib-CRITICAL **: g_variant_new_string: assertion `g_utf8_validate (string, -1, NULL)' failed
9841  635694 gdbus aborting due to unauthorized socket in DBUS_SESSION_BUS_ADDRESS
9842  637561 Crash when using G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
9843  642935 g_date_time_format() prints wrong value for %z and timezone -0800
9844  643134 g_dbus_message_copy
9845  644941 glib-unix: New Unix-specific API
9846  646013 g_hash_table_remove_all_nodes optimization
9847  646309 glib cannot be cross-compilled for mingw32
9848  646435 GTimeZone doesn't seem to be thread-safe
9849  646957 GIO chained calls don't work with a thread default context
9850  647594 README link to mailing list is broken
9851  647602 Cannot connect to remote message bus via TCP
9852  647746 The GSocketService documentation is incomplete.
9853  647826 API: gtester: Add g_test_fail()
9854  647903 GDesktopAppInfo: Add g_desktop_app_info_get_categories()
9855  648416 g_app_info_create_from_commandline ignores SUPPORTS_STARTUP_NOTIFICATION
9856  648423 Support G_DEBUG=trap-warnings
9857  648425 GDesktopAppInfo: Add "filename" property for bindings
9858  648966 Update g_unichar_iswide and g_unichar_iswide_cjk
9859
9860 * Updated translations
9861  Norwegian bokmål
9862  Spanish
9863  Turkish
9864  Uighur
9865
9866
9867 Overview of Changes from GLib 2.28.0 to 2.29.2
9868 ==============================================
9869
9870 * GApplication
9871  - The documentation has been enhanced and clarified
9872  - An opt-out for uniqueness has been added: G_APPLICATION_NON_UNIQUE
9873  - GApplication now syncs settings before g_application_run() returns
9874
9875 * GDBus
9876  - Interface lookups are now happening in constant time
9877  - Signature checking and handling of various unexpected
9878    situations has been improved
9879
9880 * GVariant
9881  - The format accepted by the GVariant parser has beend documented
9882  - GVariant accepts G_VARIANT_TYPE_VARDICT for a{sv}
9883
9884 * GDateTime:
9885  - The return value of g_datetime_compare() has been fixed to
9886    match strcmp() semantics
9887  - In order to handle problems with changing timezones, a GTimeZoneMonitor
9888    has been added to GIO, and g_time_zone_refresh_local() can be
9889    called to update the cached information about the local timezone
9890
9891 * GOption now uses /proc/self/cmdline to set the program name instead
9892   and only falls back to "<unknown>" if that is unavailable
9893
9894 * GSettings:
9895  - The schema compiler now warns about references to non-existing schemas
9896
9897 * Commandline utilities are now fully translated
9898
9899 * Signals can now indicate that collecting their arguments must
9900   always happen, even in the absence of connected signal handlers,
9901   using the G_SIGNAL_MUST_COLLECT flag.
9902
9903 * Bugs fixed:
9904  635099 Memory leak in gdbus introspection when parsing xml
9905  640489 $ and ^ do not match lines if G_REGEX_MULTILINE|G_R...
9906  642042 Overriding GDBus org.freedesktop.DBus.Properties im...
9907  642052 g_timeout_add(_seconds) cannot handle large intervals
9908  642490 notify_desktop_launch() "g_variant_new_bytestring:...
9909  613269 g_type_get_qdata() doesn't work as I expected on subtypes
9910  624943 G_VALUE_NOCOPY_CONTENTS is undocumented
9911  637738 object_interface_check_properties never actually executes
9912  638185 GIOCondition should be annotated as "flags"
9913  639478 GDBusServer's g_dbus_server_new_sync() function should just...
9914  641755 Add g_settings_get/set_uint() helpers
9915  641768 dconf gsettings backend silently drops writes if it can't...
9916  642797 g_app_info_get_default_for_type() broken for subtypes
9917  642825 Unnecessary assertion failure in g_option_context_parse()
9918  642944 NULL key lookup using g_hash_table_lookup_extended()
9919  643074 Incorrect documentation for g_socket_receive() and g_socket...
9920  643197 g_application_id_is_valid docs imply no valid ids
9921  643468 GApplication docs: Warn that handling "command-line" means...
9922  643478 GApplication::local_command_line vfunc documentation seems wrong
9923  643624 Can g_variant_unref() on an already free'd variant
9924  643649 g_application_run() should say that argc/argv can be NULL
9925  643780 shouldn't need to create an action group to use actions...
9926  643795 g_timeout_add_seconds fires with intervals 1 second longer...
9927  644309 Program name is not set when using GtkApplication
9928  644428 Crash in failure section of g_markup_collect_attributes()
9929  644465 undefined reference to `_usleep'
9930  644552 g_timeout_add_seconds(1, ...) may have a latency of up to 2...
9931  644607 Correct internal definition of C_()
9932  645789 annotations for g_file_*_contents
9933  646039 g_settings_list_children() returns child that cannot be opened
9934  646310 Accept range with only min or max
9935  646420 g_dbus_method_invocation_get_parameters() docs should say...
9936  646843 occasional abort on autologin
9937  646985 add G_APPLICATION_NON_UNIQUE flag
9938  647579 gsettings: Implement reset-recursively
9939  647600 gsettings description has typo
9940
9941 * Translation updates
9942  Afrikaans
9943  Bulgarian
9944  Bengali India
9945  British English
9946  Bulgarian
9947  Catalan
9948  Czech
9949  Danish
9950  French
9951  Galician
9952  German
9953  Greek
9954  Gujarati
9955  Hebrew
9956  Hungarian
9957  Italian
9958  Japanese
9959  Korean
9960  Lithuanian
9961  Polish
9962  Portuguese
9963  Romanian
9964  Serbian
9965  Simplified Chinese
9966  Spanish
9967  Swedish
9968  Traditional Chinese
9969  Uighur
9970  Vietnamese
9971
9972
9973 Overview of Changes from GLib 2.27.93 to 2.28.0
9974 ===============================================
9975
9976 * The GApplication API has changed compared to the version that was
9977   included in the 2.25 development snapshots. Existing users will need
9978   adjustments.
9979
9980 * Bugs fixed:
9981 641363 GInitable documentation isn't clear about that finalize...
9982 641395 Add more data about the origin application to the "Lau...
9983 641411 gdesktopappinfo signals lost if it's the session bus...
9984 641477 glib-mkenums uses unportable #! line
9985 641572 Add @EXEEXT@ to pkgconfig binary name
9986 641688 glib installs GSettings.html and gsettings.html
9987
9988 * Translation updates:
9989  Galician
9990  Italian
9991  Korean
9992  Punjabi
9993
9994
9995 Overview of Changes from GLib 2.27.92 to 2.27.93
9996 ================================================
9997
9998 * Bugs fixed:
9999  637013 gio/gdbusmessage.c fails to compile on Solaris
10000  640192 Error creating a Gio.Settings object through py...
10001  640261 Minimum version for external pcre needs to be..
10002  640262 GActionGroup contains redundant TYPE macros
10003  640436 Make load_user_special_dirs() resistant to non...
10004  640695 g_key_file_load_from_file() mishandles a CR-LF...
10005  640724 can't compile gio due to format string issues
10006  640725 can't compile tests due to format string issue
10007  640807 improve GVariant behaviour with invalid pointers
10008  640823 wrong documentation for g_source_add_child_source
10009
10010 * Translation updates:
10011  Bulgarian
10012  Galician
10013  Hebrew
10014  Norwegian bokmål
10015  Spanish
10016  Traditional Chinese
10017
10018
10019 Overview of Changes from GLib 2.27.91 to 2.27.92
10020 ================================================
10021
10022 * Update to Unicode 6.0
10023
10024 * Update PCRE to 8.12
10025
10026 * Bugs fixed:
10027  637696 g_unix_connection_send_fd() doesn't work
10028  638872 null settings backend bug
10029  640042 GtkApplication's warning about not connecting...
10030
10031 * Translation updates:
10032  Arabic
10033  Basque
10034  Estonian
10035  Greek
10036
10037 Overview of Changes from GLib 2.27.90 to 2.27.91
10038 ================================================
10039
10040 * Bugs fixed:
10041  638838 gdesktopappinfo: Don't crash if we don't have a desktop filename
10042  638894 Splitting on \s* gives no result
10043  639064 Update gschema.dtd
10044  639084 Copy/paste error in GSettings::writable-changed signal
10045  639177 SIGSEGV for GApplications with G_APPLICATION_IS_SERVICE
10046
10047 * Translation updates:
10048  Estonian
10049  Galician
10050  Indonesian
10051
10052
10053 Overview of Changes from GLib 2.27.5 to 2.27.90
10054 ===============================================
10055
10056 * Test reports created by gtester-report can now
10057   include revision information
10058
10059 * The g_desktop_app_info_launch_* family of functions
10060   now emit a DBus signal when an application is launched.
10061   Additionally, there is a new variant
10062   g_desktop_app_info_launch_uris_as_manager(), which
10063   gives more control over the launched process.
10064
10065 * The memory and null GSettings backends are now available
10066   as public API
10067
10068 * g_get_locale_variants() is a new function that returns a
10069   list of variants of a locale identifier
10070
10071 * Bugs fixed:
10072  587898 I/O timeouts for GSocket
10073  606960 gio: Add extension point for informing parties...
10074  631980 Handle an optional <revision> node in the report...
10075  634569 Document that g_variant_builder_add_value consumes...
10076  635998 Make _g_compute_locale_variants public
10077  636806 Add g_{memory,null}_settings_backend_get_default
10078  637262 Need a binary DER version of ::accepted-cas
10079  637544 Skip fsync() on btrfs
10080  637720 void functions should not return a value.
10081  637738 object_interface_check_properties never actually...
10082  637759 GIOChannel: fix a crash in g_io_channel_read_chars()
10083  637852 Updates to glib.vsprops file for MSVC 2008 builds...
10084  637858 Updates to test/testglib.c...
10085  638349 parameter name of g_variant_new_* may conflict...
10086
10087 * Translation updates:
10088  Hebrew
10089  Norwegian bokmål
10090  Simplified Chinese
10091  Spanish
10092  Swedish
10093  Uyghur
10094  Vietnamese
10095
10096
10097 Overview of Changes from GLib 2.27.4 to 2.27.5
10098 ==============================================
10099
10100 * Network support:
10101  - Add g_tls_certificate_verify() to verify a certificate
10102  - Add GTlsConnection:use-system-certdb
10103  - Other TLS api additions
10104
10105 * GIO:
10106  - Add g_io_stream_splice_async()/_finish() to splice two iostreams
10107  - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon derivable
10108  - Remove GPeriodic; it did not receive the necessary review and
10109    integration work to declare it stable
10110
10111 * GSequence:
10112  - New methods g_sequence_lookup() and g_sequence_lookup_iter()
10113
10114 * Bugs fixed:
10115  617254 Missing g_sequence_lookup
10116  632544 g_dbus_connection_send_message can not send a locked message...
10117  633350 g_hostname_to_ascii() ignores non-ascii dots
10118  634583 Better error reporting for g_variant_parse()
10119  635007 gsetting enum rule don't work for out-of-srcdir builds
10120  635626 GDBus message idle can execute while flushes are pending
10121  636100 Can't read GSettings:backend property
10122  636305 Typo on g_queue_remove_all() function description
10123  636311 appinfo: tweak application positioning for content-types
10124  636351 g_simple_async_result_is_valid lacks a version tag
10125  636387 gdb autoload files shadow the "dir" builtin
10126  636673 g_simple_async_report_error_in_idle should allow object...
10127  637147 Add a "delay-apply" property to GSettings
10128  637171 emblemedicon: add g_emblemed_icon_clear_emblems()
10129  637237 gapplication: plug a memory leak
10130
10131 * Translation updates:
10132  Estonian
10133  Galician
10134  Hebrew
10135  Norwegian bokmål
10136  Simplified Chinese
10137  Spanish
10138  Traditional Chinese
10139  Vietnamese
10140
10141
10142 Overview of Changes from GLib 2.27.3 to 2.27.4
10143 ==============================================
10144
10145 * GIO
10146  - Mounts are treated as hidden if they have a path element
10147    that starts with a dot
10148  - GAppInfo gained API to differentiate between recommended
10149    and fallback mime handlers
10150  - g_cancellable_create_source: creates a GSource that triggers
10151    when the GCancellable is canceled
10152  - GPollableInput/OutputStream: Interfaces for pollable streams
10153  - TLS support has landed, with an extension point that is
10154    implemented in glib-networking
10155
10156 * GLib
10157  - Mainloop sources can now have 'child sources'
10158  - g_get_runtime_dir: New function to return the XDG_RUNTIME_DIR
10159
10160 * Bugs fixed:
10161  530786 GFileMonitor "changed" signal underdocumented
10162  588189 TLS support for GSocket*
10163  630357 g_object_new_valist uses uninitialized memory
10164  630559 typo in public string in gsocks: 'The SOCKSv5 require...
10165  632445 Documentation refers to removed GNOME 2.0 porting guide
10166  634239 Child GSources
10167  634241 Add pollable input/output streams
10168  634504 allow passing a NULL emblem to g_emblemed_icon_new()
10169  634613 unsufficient g_get_user_runtime_dir() documentation
10170  635640 schema should inherit gettext-domain from schemalist
10171  635768 Protect g_file_monitor_set_rate_limit() against negative...
10172  635882 Fix the wrong-category schema test
10173  635187 Wrong type of GVariant received in an action...
10174
10175 * Updated translations:
10176  Galician
10177  Italian
10178  Norwegian bokmål
10179  Uyghur
10180
10181
10182 Overview of Changes from GLib 2.27.2 to 2.27.3
10183 ==============================================
10184
10185 * The GTimeSpec type that was introduced in the 2.27.2 has been
10186   dropped again in favour of APIs that return microseconds as
10187   64-bit integer.
10188   Affected functions:
10189   g_source_get_time
10190   g_periodic_unblock
10191   g_get_monotonic_time
10192   g_get_real_time
10193   The similar GTimeVal struct is still around, but its use is
10194   discouraged.
10195
10196 * GTimer is now using monotonic time unconditionally
10197
10198 * There are some new functions to facilitate error reporting
10199   in async GIO APIs:
10200   g_simple_async_result_take_error
10201   g_simple_async_result_new_take_error
10202   g_simple_async_report_take_gerror_in_idle
10203
10204 * There is new convenience API to us GVariant dictionaries:
10205   g_variant_lookup
10206
10207 * It is now possible to delay sending match rules to the
10208   D-Bus daemon in GDBus:
10209   G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE
10210
10211 * Support has been added for XDG_RUNTIME_DIR:
10212   g_get_user_runtime_dir
10213
10214 * Various fixes for Win64/MSVC builds have been committed
10215
10216 * Bugs fixed:
10217  620263 Add g_clear_object, g_clear_pointer, g_clear_boxed
10218  633075 update Project Files and sources for MSVC 2008/C89
10219  633381 gsettings Makefile rules should handle empty list...
10220  633685 Use g_simple_async_result_{new_,}take_error
10221  633686 Add g_simple_async_report_take_gerror_in_idle
10222
10223 * Translation updates:
10224   Belarusian
10225   Galician
10226   Hebrew
10227   Punjabi
10228   Spanish
10229
10230
10231 Overview of Changes from GLib 2.27.1 to 2.27.2
10232 ==============================================
10233
10234 * GApplication
10235  - Export actions over DBus and support activating them from remote instances
10236  - Support environment passing
10237
10238 * GSettings
10239  - The gsettings utility has a list-recursively command
10240  - The gsettings utility has commandline completion for enum values
10241
10242 * GLib is now linked against librt and uses monotonic time for
10243   timeouts and GPeriod sources. GSource has a new g_source_get_time()
10244   which returns monotonic time, and g_source_get_current_time() has
10245   been deprecated
10246
10247 * Bugs fixed:
10248  158725 free linked list with data
10249  626320 GVariant: Avoid locking in g_variant_get_child_value() if possible
10250  629247 add gsimpleasyncresult methods to take over a GError
10251  629274 GNetworkService does not do fallback when there is no SRV record
10252  631264 gsettings-tool choice/range support
10253  631482 g_date_time_from_instant: 1000000000000000000
10254  632169 docs for manual use of gsettings-data-convert
10255  632571 Add equivalent to gconftool-2's -R option
10256  633115 GSettings m4 doesn't fail the build for broken schemas
10257  633206 Default g_application_local_command_line() doesn't set exit_status...
10258  633339 support more complex gapplication setups
10259  633356 Make timeout G_MAXINT mean "no timeout"
10260
10261 * Translation updates:
10262  Catalan (Valencian)
10263  Indonesian
10264  Japanese
10265
10266
10267 Overview of Changes from GLib 2.27.0 to 2.27.1
10268 ==============================================
10269
10270 * GDateTime now has full week number support.
10271   New API: g_date_time_get_week_numbering_year
10272
10273 * The GSettings schema compiler will now skip over
10274   broken .xml schema files instead of aborting altogether
10275
10276 * GSettings now works properly on bigendian systems
10277
10278 * GSettings has more complete support for ranges
10279   New API:
10280     g_settings_get_range
10281     g_settings_range_check
10282   The gsettings commandline tool supports ranges too.
10283
10284 * GApplication has been rewritten; see the API docs for details
10285   and examples. The action support is not complete yet.
10286
10287 * The GLib mainloop has gained 'dispatch to context' functionality,
10288   which can replace manually created idles in many cases.
10289   New API:
10290     g_main_context_invoke
10291     g_main_context_invoke_full
10292
10293 * The gio-desktop-app-info-lookup extension point has been
10294   removed from GIO. GIO now uses x-scheme-handler mimetypes when
10295   looking for default applications.
10296
10297 * On win32, make g_get_user_data_dir() return the CSIDL_LOCAL_APPDATA
10298   folder on Windows, and not CSIDL_PERSONAL. This matches what Qt does,
10299   and has been widely requested. Also make g_get_user_config_dir() return
10300   this and not the (roaming) CSIDL_APPDATA folder.
10301
10302 * A periodic event clock has been added in GIO: GPeriodic. Note that this
10303   API is still experimental and expected to undergo changes before it
10304   will be incorporated into a stable GLib release. Use at your own risk.
10305
10306 Bug fixes:
10307  613822 gobject signal connect/disconnect not thread safe
10308  618737 "dispatch to context" functionality
10309  620710 g_get_user_data_dir() uses CSIDL_PERSONAL and not CSIDL_APPDATA
10310  623400 acquire context before dispatching
10311  627126 gsettings schema files don't get installed on FreeBSD
10312  627171 g_socket_new_from_fd() doesn't set the right protocol
10313  628876 Wrong error description
10314  628937 gracefully handle broken schemas
10315  629274 GNetworkService doesn't fallback when there is no SRV record
10316  629289 g_error() used wrong, produces core dump
10317  629687 leaks class refcount in gsocketcontrolmessage
10318  629849 GLib-CRITICAL **: g_source_get_context: assertion `!SOURCE_...
10319  629945 GDBus deadlock in g_bus_get_sync()
10320  630000 g_date_time_difference
10321  630077 GDateTime week number support
10322  630185 Allow NULL strings in g_quark_try_string()
10323  630797 docs mention non-existent g_object_dispose()
10324  630968 gschema-compile problems on power g5
10325  631263 GSettings needs range/choice APIs
10326  631264 gsettings-tool choice/range support
10327  631379 GDBus nonce-tcp test failing
10328  631410 Port gapplookupgconf.c to using x-scheme-handler/
10329  632884 Possible deadlock in g_object_remove_toggle_ref()
10330
10331 Transation updates:
10332  Basque
10333  Brazilian Portuguese
10334  British English
10335  Bulgarian
10336  Czech
10337  Dutch
10338  Estonian
10339  French
10340  Galician
10341  German
10342  Greek
10343  Hebrew
10344  Hungarian
10345  Japanese
10346  Lithuanian
10347  Polish
10348  Portuguese
10349  Romanian
10350  Simplified Chinese
10351  Slovenian
10352  Spanish
10353
10354
10355 Overview of Changes from GLib 2.25.15 to GLib 2.27.0
10356 ====================================================
10357
10358 Build:
10359   - massive restructuring to reduce #include abuse
10360   - tweaks to silence some harmless compiler warnings
10361   - rename gschema-compile.c to glib-compile-schemas.c
10362   - Windows fixes
10363   - fix building with zlib < 1.2.4 on win32
10364
10365 GDateTime:
10366   - better msgctxt for translating month and weekday names
10367   - API is changed quite a lot, implementation is improved
10368   - GTimeZone is now exposed
10369
10370 GObject:
10371   - make ordering for overridden interface properties consistent
10372   - ->priv structures are limited to 64k but this was not documented,
10373     and exceeding this limit produced bad results.  Add docs and enforce
10374     the limit properly.
10375   - add g_object_class_install_properties() to install multiple
10376     properties in one go
10377   - improve debugging output for GValue containing G_TYPE_STRV
10378
10379 GIO:
10380   - fix priority sorting of GIO extensions
10381   - add GCredentials support on FreeBSD
10382   - fix support for IPv6 addresses in URI parsing functions
10383   - GSocketClient fixes for when g_socket_connect succeeds immediately
10384   - clarify string encoding for GFile constructors in docs
10385   - new functions g_data_input_stream_read_upto{,async,finish}
10386   - tweak confusing documentation for g_output_stream_write()
10387
10388 GDBus:
10389   - GDBusMessage can now be locked and copied (like in libdbus)
10390   - GDBusConnection filter function API has changed again
10391   - GDBusServer: ::new-connection now declares if the connection was claimed
10392   - add a partial workaround for GObject bug 627724.
10393   - very many memory leaks fixed
10394
10395 GVariant:
10396   - check for size == 0 in g_variant_get_bytestring to avoid a crash
10397     when attempting to get_bytestring() from an empty array
10398   - improve gobject-introspection annotations
10399
10400 GSettings:
10401   - add GSettings Windows registry backend
10402   - some internal tweaks to the backend API
10403   - remove g_settings_list_items
10404   - add g_settings_list_children and _list_keys to replace it
10405   - add schema compiler restrictions for dealing with lists
10406   - don't automatically emit value changed signals on writability
10407     changes
10408
10409 Other:
10410   - constify the 'parser' vtable param to g_markup_parse_context_push()
10411   - plug many memory leaks in test cases
10412
10413 Bugs closed:
10414   50076 Time API to go with date API
10415  584284 g_data_input_stream_read_until_async different from sync version
10416  624546 Modification of GDBusMessage in filter function
10417  626919 Let g_object_class_install_property() return the installed GParamSpec*
10418  628029 GDateTime missing get_week_of_year method
10419  628253 Interface properties not listed in a consistent order
10420  628331 Plug lots of mem leaks in gio test suite
10421  628345 Plug a mem leak
10422  628436 Plug a mem leak
10423  628505 Fix building with zlib < 1.2.4 on win32
10424  628839 [PATCH] datetime: Rename shadowing variables
10425  628904 [PATCH] Add credential support for FreeBSD and fix a socket issue
10426  628952 incorrect glib_major_version and other variables on cygwin.
10427  629192 g_strdup_value_contents(): dump GStrv more usefully
10428  629251 g_socket_client_async_connect_complete: assertion failed
10429  629259 Failed to connect to "::1"
10430  629328 g_markup_parse_context_push doesn't respect const structs
10431  629429 month "May" short and full form same with "GDateTime" msgctxt
10432  629689 GDBusConnection leaks its GCredentials
10433  629698 Segfault in g_variant_get_bytestring() 
10434
10435 Updated translations:
10436   Arabic
10437   Armenian
10438   Basque
10439   British English
10440   Czech
10441   Finnish
10442   Galician
10443   German
10444   Hungarian
10445   Indonesian
10446   Japanese
10447   Lithuanian
10448   Norwegian bokmål
10449   Polish
10450   Portuguese
10451   Punjabi
10452   Simplified Chinese
10453   Slovenian
10454   Spanish
10455   Swedish
10456   Swedish
10457   Traditional Chinese
10458
10459 Overview of Changes from GLib 2.25.14 to GLib 2.25.15
10460 =====================================================
10461
10462  * GIO
10463   - Memory leak fixes
10464   - The GZip(De}Compressor can now process header information
10465   - Support for network proxies has been added, with the GProxy
10466     interface and the gio-proxy-resolver extension point. GIO
10467     includes SOCKSv4 and SOCKSv5 implementations, and libproxy
10468     is also going to provide an implementation of this extension
10469     point.
10470   - There are GAction and GActionGroup interfaces now, which will
10471     be used in GApplication in the near future.
10472
10473  * GObject
10474   - There are now convenience macros for defining boxed and
10475     pointer types
10476
10477  * GDBus
10478   - Memory leak fixes
10479   - GDBusProxy for well-known names can now auto-restart
10480     the service if the name owner disapperas
10481   - Filter functions are now allowed to modify messages
10482
10483  * GLib
10484   - GDateTime is a replacement for GDate that supports time
10485     and timezone information.
10486
10487  * Bugs fixed:
10488   50076 Time API to go with date API
10489  449565 Add G_DEFINE_BOXED_TYPE()
10490  617691 Add GZIP header processing to GZlibCompressor/GZlibDecompressor
10491  622184 add g_memory_output_stream_steal_data
10492  624546 Modification of GDBusMessage in filter function
10493  627088 Build failure in gdbus-peer.c on FreeBSD
10494  627181 save a memdup
10495  627182 Plug a mem leak in the gdbus-connection test
10496  627187 Plug some gdbus mem leaks
10497  627188 gdbus-non-socket test occasionally fails
10498  627252 G_OPTION_FLAG_NO_ARG is only for callback options
10499  627392 gdbus commit 8a3a4596 breaks win32 compile
10500  627407 FTBFS on !linux UNIX platforms
10501  627604 String error: 'that' twice in a row
10502  627969 ABR in g_file_open_tmp
10503  628084 gdbus-peer fails with assertion
10504  628193 Miscellaneous string fixes
10505  628296 abort() in gsocketconnection.c
10506  628309 Plug a mem leak in GConverterOutputStream
10507  628317 GEmblemedIcon:equal implementation is buggy
10508  628323 Fix invalid reads
10509  628327 Plug a mem leak
10510  628328 Plug a mem leak
10511  628329 Don't leak the FD list
10512  628324 Invalid reads in gdbus-export test
10513
10514  * Updated translations:
10515   British English
10516   Danish
10517   Galician
10518   Hebrew
10519   Punjabi
10520   Serbian
10521   Spanish
10522   Traditional Chinese
10523
10524
10525 Overview of Changes from GLib 2.25.13 to GLib 2.25.14
10526 =====================================================
10527
10528 * GDBus
10529  - Make the closure variants of GDBus apis work
10530  - Make error unregistration work
10531  - Use async IO in the IO thread (626748)
10532
10533 * GIO
10534  - Make g_simple_async_result_is_valid work without source (626208)
10535  - GSocketClient: add a timeout property
10536  - Fix memory leaks in GSocketClient
10537  - Handle async vs. sync correctly in GSocketConnection stream (616458)
10538  - Declare stream base classes as abstract
10539  - Clarify semantics of g_output_stream_write() (627071)
10540
10541 * Other
10542  - Improve test coverage for GDBus, GRegex, GAsyncResult
10543  - Drop dead code in pcre, xdgmime
10544  - Fix a race condition in gtester (578295)
10545  - Avoid an extra allocation in GAsyncQueue (626704)
10546  - Add test case for non-socket GIOStream (626841)
10547  - More explicit GVariant docs (622770)
10548  - Imroved docs for GAsyncInitable and GSimpleAsyncResult (602417)
10549
10550 * Translation updates:
10551  - Galician
10552  - Norwegian bokmål
10553  - Punjabi
10554  - Simplified Chinese
10555  - Swedish
10556
10557
10558 Overview of Changes from GLib 2.25.12 to GLib 2.25.13
10559 =====================================================
10560
10561 +-------------------------------------------------------------------+
10562 |   WARNING: There have been no breaks in API or ABI.  Weird, eh?   |
10563 +-------------------------------------------------------------------+
10564
10565 The primary purpose of this release is to fix a serious problem with
10566 glib 2.25.12: glibconfig.h (as generated on a Fedora amd64 system) was
10567 being distributed in the tarball.  It was being used to build some parts
10568 of glib on other systems (eg: 32bit ones).  This was causing some very
10569 serious problems.
10570
10571 There have been many other improvements, however:
10572
10573  Build and testing:
10574   - vastly improved test coverage
10575   - old tests moved to the gtester framework
10576   - gtester Makefile modified so that the tests only run once
10577   - cleanup of how we handle includes while building glib
10578
10579  GVariant:
10580   - add a g_return_if_fail (utf8) to g_variant_new_string()
10581
10582  GDBus:
10583   - perform extra sanity checks when serialising messages
10584   - add API to query and set the byteorder of a GDBusMessage
10585   - improve debug output, add some extra options
10586   - if exiting due to the bus disconnecting us, print an error message
10587     explaining why
10588   - sort property names correctly
10589   - don't bother sending RemoveMatch when we will close the connection
10590     anyway
10591   - use effective uid/gid for credential passing
10592
10593  GSettings:
10594   - add G_SETTINGS_BIND_INVERT_BOOLEAN for inverting boolean bindings
10595     without mapping functions
10596   - mark all strings in the schema compiler for translation
10597
10598  Binding:
10599   - improve closure support for bindings
10600   - copy GSettings INVERT_BOOLEAN flag
10601
10602  Other:
10603   - fix another complicated GCancellable deadlock possibility
10604
10605 Bugs closed:
10606  599590 glib build doesn't look for correct pkg-config
10607  619026 avoid warning in gutils.h when using gcc with -Wconversion
10608  624739 Please fix POTFILES.in
10609  625472 Valgrind claims uninitialized bytes used
10610  625500 g_date_set_time_val documentation doesn't mention local time
10611  625628 GDBusProxy: wrong property name sorting
10612  625753 Incorrect flags used in g_dbus_connection_call_sync()
10613  625827 Expand documentation about error quark naming
10614  625988 builddir != srcdir issues
10615  626107 glibconfig.h is being disted
10616
10617 Updated translations:
10618  French
10619  Galician
10620  Hebrew
10621  Norwegian bokmål
10622  Spanish
10623
10624
10625 Overview of Changes from GLib 2.25.11 to GLib 2.25.12
10626 =====================================================
10627
10628 +-------------------------------------------------------------------+
10629 | WARNING: There have been many API changes in GDBus -- sending     |
10630 | messages, subscribing to signals, closing connections and         |
10631 | registering subtrees are affected.  The ABI for GSettingsBackend  |
10632 | has also been changed.  For both reasons, a new dconf release is  |
10633 | required (and will be along soon).                                |
10634 +-------------------------------------------------------------------+
10635
10636 Build:
10637   - cleanup automake setup
10638   - rename configure.in to configure.ac
10639   - various docs fixups
10640   - move glibconfig.h to glib/
10641   - disable dtrace support on Mac OS (which has incompatible 'dtrace')
10642
10643 GSettings:
10644   - add support for vendor override files (to change the default values
10645     in a schema)
10646   - change GSettingsBackend vtable
10647   - add g_settings_reset()
10648   - support binding to G_TYPE_STRV properties
10649
10650 GDBus:
10651   - many bug fixes, including a serialisation fix
10652   - stop handling incoming connections as soon as stop() is called
10653   - proper support for file descriptor passing
10654   - new flags parameter for sending messages
10655   - new flags parameter for subscribing to signals
10656   - always reset the message serial when sending a message unless
10657     G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL is given
10658   - constness fixes for introspection structures
10659   - clean ups to subtree registration API
10660
10661 Other:
10662   - fix divide by zero bug in g_malloc_n functions
10663   - GIO: don't blindly assume that SOCK_CLOEXEC is supported
10664   - make GObject property notify freezes threadsafe
10665   - GIO: clean up credentials passing
10666   - GApplication: make default-quit not apply if register=FALSE
10667   - GIO: add annotations for gobject-introspection
10668
10669 Bugs closed:
10670  166020 use GAtomic for refcounting
10671  617483 Credentials passing
10672  622005 [GApplication] no way to modify the "default-quit" property
10673  623293 vendor override files
10674  623810 Message serialization bug
10675  623815 Don't check sender for GDBusProxy objects where name is not set
10676  624473 GDBusSubtreeIntrospectFunc return type
10677  624483 GDBusSubtreeEnumerateFunc clarification
10678  624484 GDBusSubtreeDispatchFunc clarification
10679  624754 gdbusaddress.c missing sys/wait.h
10680  624968 div by zero in g_malloc_n family
10681  624991 GSettings mapping for G_TYPE_STRV 
10682  625383 Add missing GI annotations
10683
10684 Updated Translations:
10685  Armenian
10686  Galician
10687  German
10688  Hebrew
10689  Kazakh
10690  Romanian
10691  Simplified Chinese
10692  Spanish
10693
10694 Overview of Changes from GLib 2.25.10 to GLib 2.25.11
10695 =====================================================
10696
10697 +-------------------------------------------------------------------+
10698 | WARNING: There have been minor API changes in GDBus and GVariant. |
10699 | These API changes will not affect many users, but they do require |
10700 | a new version of GTK+ to be installed.                            |
10701 +-------------------------------------------------------------------+
10702
10703 Build:
10704   - add a --disable-Bsymbolic configure flag to disable linking with
10705     -Bsymbolic-functions
10706   - this release sees the complete removal of the old 'g*alias' hacks
10707   - honour the NOCONFIGURE environment variable from autogen.sh
10708   - use proper feature test macros for isnan
10709   - use pkg-config to check for zlib
10710   - add ACLOCAL_AMFLAGS to Makefile.am
10711
10712 GDBus:
10713   - hide Class and instance structures for all GDBus types except
10714     GDBusProxy.  This breaks API by preventing subclassing, but probably
10715     nobody was doing that.
10716   - add new GDBusConnection call to support flushing all pending
10717     outgoing messages
10718   - change the register_object API to add a reference to the
10719     GDBusInterfaceInfo object so the caller need not keep it alive
10720     themselves
10721   - don't rewrite the serial number when sending messages that already
10722     have a serial number
10723   - better error checking for DBUS_SESSION_BUS_ADDRESS environment
10724     variable
10725   - switch to g_parse_debug_string for G_DBUS_DEBUG and add a lot of new
10726     flags
10727   - add support for temporarily freezing a freshly created
10728     GDBusConnection.  Do this until after the ::new-connection signal
10729     has finished running on GDBus services.
10730   - never require non-closed connections (the user is incapable of doing
10731     this due to the obvious race)
10732   - remove weird/misleading redundant check on NameOwnerChanged signal
10733   - emit GDBusProxy::g-properties-changed on NameOwnerChanged
10734
10735 GVariant:
10736   - the 'g_variant_{new,get}_byte_array' APIs have been removed
10737   - g_variant_{new,get,dup}_bytestring has been added, with different
10738     arguments and different behaviour
10739   - g_variant_{new,get,dup}_bytestring_array has been added, doing
10740     essentially the same thing as the 'strv' functions, but with byte
10741     strings instead of utf8 strings
10742   - G_VARIANT_TYPE_BYTESTRING ('ay'), BYTESTRING_ARRAY ('aay') and
10743     STRING_ARRAY ('as') constants have been added
10744   - the undocumented behaviour that g_variant_get_strv() deserialised
10745     arrays of object paths or signature strings has been dropped
10746   - additional varargs support for converting bytestrings or bytestring
10747     arrays with ^ay ^aay ^&ay and ^a&ay
10748   - improved gobject-introspection annotation
10749   - fix a problem with GBuffer calling g_slice_free for the wrong type
10750   - fix leaks in the type inferencing code of the parser
10751
10752 GSettings:
10753   - improved documentation
10754   - updated schema XML DTD, now xincluded into the docs
10755   - added support for schemas that extend other schemas (using the
10756     'extends=' attribute).  Values of keys in the base schema can be
10757     overridden using <override>.
10758   - added theoretical support for lists (using the 'list-of=' attribute)
10759   - lots of new tests
10760   - add support for flags (implemented similarly to enums)
10761   - add support for generating .enums.xml files to gsettings.m4:
10762       gsettings_ENUM_NAMESPACE = org.example.myapp
10763       gsettings_ENUM_FILES = ../path/to/*.h
10764     will generate org.example.myapp.enums.xml with mappings for all
10765     enums and flags in the specified .h files.
10766   - warn with g_message() if the 'memory' backend is used by default
10767     (ie: because no other GSettings backends are installed)
10768   - fix get_property() for GSettings::schema
10769   - command line tool: fix a bug that prevented non-basic values from
10770     being set due to a premature free
10771   - command line tool: bash completion support
10772   - chain up in _finalize
10773   - add a new g_settings_get_mapped API to read settings that require
10774     post-processing
10775   - retry with the translated or schema default value if the
10776     GSettingsBindGetMapping function fails
10777   - schema compiler: never fail due to empty schema directories (but
10778     warn)
10779   - peek rather than ref/unref the GEnumClass in the mapping function
10780   - schema compiler: compile *.enums.xml before *.gschemas.xml to ensure
10781     that we have all the enums that the schemas may reference
10782   - schema compiler: improve accuracy of line numbers in error reports
10783   - fix crashes in the keyfile backend caused by invalid group names in
10784     the keyfile
10785
10786 Other:
10787   - always intern GBinding prop names
10788   - base64: remove asserts preventing conversion of empty strings
10789   - document NULL special-cases for GValueArray
10790   - GNode docs improvements
10791   - improve detection of 'system internal' mounts
10792   - fix leaks in the inotify GFileMonitor implementation
10793   - annotate all custom GIO GSources to improve debugging (e.g. using
10794     SystemTap)
10795
10796 Tests:
10797   - Turn on glibc malloc checking features for make check
10798   - improvements for GSettings tests, plus new tests
10799   - improved tests for GKeyfile
10800   - new tests for GDir, GSList, GSList, GAppLaunchContext,
10801     CharsetConverter, GIcon, ...
10802   - move some tests to GTester (tree tests, uri tests)
10803   - generally, really an awful lot of new tests
10804   - don't try to allocate 2gigs of memory anymore for the array test
10805
10806  552363 g_value_array_{insert,prepend,append}'s special cases for NULL
10807  561248 Improve return value description from g_node_prev/next_sibling()
10808  570036 Add ACLOCAL_AMFLAGS to Makefile.am
10809  576833 g_sprintf add a reference to g_strdup_printf
10810  576854 g_strconcat() documentation should provide a hint about bad l10n
10811  582227 reference: add other URI functions to 'URI Functions' section
10812  599223 should provide g_spawn_* variants that take a GAppLaunchContext
10813  610784 array test failing
10814  613057 Leak in inotify GFileMonitor implementation
10815  620536 Annotate all custom GIO GSource using g_source_set_name
10816  620913 More control with G_DBUS_DEBUG
10817  622124 implement flags
10818  622127 GSettings extended key validation
10819  622128 retry with default value for failed mapping
10820  622294 More annotations for GVariant
10821  622565 glib-compile-schemas fails when no schemas
10822  622600 Fix missing prototype warning
10823  622813 gsettings mapping & enum buglet
10824  623142 Ensure ::new-connection runs before processing D-Bus messages
10825  623143 Never require non-closed connections
10826  623319 use g_parse_debug_string for dbus debug flags
10827  623401 process enums first
10828  623402 schema compiler reports wrong line numbers
10829  623407 g_keyfile_settings_backend_new crashes with the key "/"
10830  623473 zlib should be checked with pkg-config
10831  623537 GDBusProxy has weird checking on NameOwnerChanged
10832  623538 GDBusProxy::g-properties-changed emission for corner cases
10833  623692 directory with file at multiple MLS levels may display empty
10834  623720 gschema.dtd does not contain enum definitions
10835  623770 quoting of expand_macro in gdesktopappinfo.c
10836  623772 gdesktopappinfo.c, function child_setup
10837  623780 g_unix_is_mount_path_system_internal
10838  623954 g_settings_finalize
10839  623955 Dubious return values
10840
10841 Updated translations:
10842  Galician
10843  Hebrew
10844  Norwegian bokmål
10845  Spanish
10846
10847 Overview of Changes from GLib 2.25.9 to GLib 2.25.10
10848 ====================================================
10849
10850 +----------------------------------------------------------------+
10851 | WARNING: There have been API changes in GDBus. Users of these  |
10852 | APIs will need to be adapted.  In particular, a new release of |
10853 | dconf is required to go along with this one.  There has also   |
10854 | been a change in the GSettings backend API used for keyfiles.  |
10855 +----------------------------------------------------------------+
10856
10857 * GDBus:
10858  - add direction parameter to filter functions (API change)
10859  - allow calling other interfaces with a GDBusProxy
10860  - padding added to class struct fields (ABI change)
10861  - fixes for closures-based functions
10862
10863 * GVariant:
10864  - new is_floating() call
10865  - add g_value_take_variant() call (required for marshallers)
10866
10867 * GSettings:
10868  - support for binding GParamSpecEnum properties
10869  - ifelse-style condition support for GLIB_GSETTINGS m4 macro
10870  - remove gsettings-schema-convert tool (now in GConf)
10871  - allow introspection of all installed schemas
10872  - allow introspection of the keys in a schema
10873  - rewrite keyfile backend (API change)
10874
10875 * GNIO:
10876  - don't implicitly close GSocket until it is destroyed
10877  - windows fixups
10878
10879 * Other:
10880  - allow GChecksum to take (NULL, 0) for data/length
10881  - GRelation and GCompletion are now deprecated
10882  - introduce G_PARAM_DEPRECATED and G_ENABLE_DIAGNOSTIC
10883  - add working directory to GApplication platform data
10884  - lots of documentation cleanups
10885  - PCRE updated to 8.02
10886
10887 * Build:
10888  - the IA__g_* style symbol aliasing has been disabled and replaced with
10889    the -Bsymbolic-functions linker flag on platforms that support it.
10890    Please be on the watch for portability issues and report them to us.
10891  - many test cases have been moved to the GTester framework
10892  - lcov support has been added for tests
10893  - many windows fixes
10894
10895 * Bugs fixed:
10896  501057  lcov coverage suite and GLib integration
10897  551271  deprecate GRelation
10898  601686  Implement diagnostic mode
10899  603309  GSocketOutputStream broken on Windows (?)
10900  616718  GLIB_GSETTINGS macro can't be used conditionally
10901  616855  GSocketConnection: don't close the socket if it's still reffed
10902  618866  g_ptr_array_remove_index_fast memory leak
10903  619878  keyfile backend calls keys_changed with invalid argument
10904  619879  keyfile backend doesn't make use of expected_type
10905  621092  Add with_closures() variants for bindings
10906  621172  Cross compiling fails
10907  621838  Actually add cwd to platform data
10908  621945  Filter outgoing messages in GDBusConnection
10909  621947  add g_value_take_variant
10910  622038  GSettings: "It is a programmer error" documentation is unclear
10911  622154  [patch] update documentation for g_application_new
10912  622281  binding: Add SYNC_CREATE to the flags
10913  622480  Improve documentation for g_strcmp0()
10914  622554  g_error called if schema not installed
10915  622601  Return interned strings from g_settings_list_keys
10916
10917 * Translation updates:
10918  - Galician
10919
10920 Overview of Changes from GLib 2.25.8 to GLib 2.25.9
10921 ===================================================
10922
10923 +----------------------------------------------------------------+
10924 | WARNING: There have been API changes in GDBus, GSettings and   |
10925 | GApplication. Users of these APIs will need to be adapted. In  |
10926 | particular, a new release of GTK+ is required to go along with |
10927 | this one.                                                      |
10928 +----------------------------------------------------------------+
10929
10930 * GDBus
10931  - Use Gio's default async implementation
10932  - Fix proxy construction for objects with no properties
10933  - Fix error handling in synchronous initialization
10934  - Do not dispatch calls to unregistered objects
10935  - Add _with_closures alternative functions
10936  - Allow constructing GDBusProxy with well-known names
10937  - Remove GType parameters from GDBusProxy constructors
10938  - Nuke g_bus_watch_proxy API
10939  - Add --xml to gdbus-tool to print raw introspected XML
10940
10941 * GSettings
10942  - schema file format change: store (default, options) in gvdb
10943  - Add g_settings_sync()
10944  - Add support for enums and ranges
10945  - 'context' support has been replaced by direct use of
10946    GSettingsBackend
10947
10948 * GApplication
10949  - Switch to using variants for timestamps
10950  - Use GInitable
10951
10952 * GObject
10953  - Introduce g_object_notify_by_pspec
10954  - Add GBinding
10955  - The GVariant gtype G_TYPE_VARIANT was changed from boxed
10956    to fundamental. We believe there were no existing users
10957    of the boxed type, so this should not cause any applications
10958    to break.
10959
10960 * Test framework
10961  - Add package and version to the test report XML
10962  - Use optparse to parse gtester-report commandline
10963  - Add subunit support to gtester-report
10964  - Prevent division by zero if no tests
10965
10966 * Bugs fixed:
10967  621782 Crash using gbinding
10968  619945 GConverterOutputStream triggers assertion and corrupts data
10969  621319 more leaked GVariants in GSettings
10970  621168 GKeyFile memory leak on Windows platform
10971  621002 Switch to using variants for timestamps, split out signals
10972  620953 tiny docs addition
10973  618904 Lies in gunixmounts documentation
10974  621702 Correctly initialize GError
10975  611778 minor cleanup of gtester-report
10976  621213 GDBusProxy and well-known names
10977  621034 Rewrite apps test to ensure children are killed
10978  620954 gapplication gvariant simplifications
10979  611869 add subunit out feature to gtester-report
10980  621119 GDBusProxy and objects with no properties
10981  620990 Use Gio's default async implementation again
10982  620952 g_application_register_with_data is an ugly API
10983  621252 GSettings leaks context
10984  618715 fork() in GSettings test cases is problematic 618715
10985  621905 Assume a ref when doing async work
10986  621266 GSettings "context" clarification
10987
10988 * Translation updates:
10989  Chinese
10990
10991
10992 Overview of Changes from GLib 2.25.7 to GLib 2.25.8
10993 ===================================================
10994
10995 * Initial support for dtrace and systemtap profiling:
10996  - mainloop sources can be named
10997  - probes for memory allocation with g_malloc and gslice
10998  - gquark name tracking
10999  - type creation
11000  - object life-cyle (creation, finalization, ref, unref)
11001  - signal creation and emission
11002
11003 * GVariant
11004  - has been fixed to work with the FreeBSD malloc
11005  - added introspection annotations
11006  - new function: g_variant_builder_add_parsed
11007
11008 * GSettings:
11009  - g_settings_set/get_strv functions have lost their length parameter
11010  - g_settings_set_strv accepts NULL
11011  - added introspection annotiations
11012
11013 * GPermission: an abstract interface for representing permissions,
11014   with a minimal implementation named GSimplePermission
11015
11016 * GApplication: a basic application support class, with a D-Bus based
11017   implementation
11018
11019 * Bugs fixed:
11020  619585 glib-compile-schemas asserts on FreeBSD
11021  620384 Annotate GVariant and GSettings _strv() functions
11022  606044 Add support for dtrace/systemtap static markers
11023  620350 add g_variant_builder_add_parsed() API
11024  620349 utf8ify GVariant printer
11025  620767 Typo in GSettings documentation: "INTLTOOL_NOMERGE_RULE"
11026  620312 Fix g_settings_[gs]et_strv() API
11027  620519 GPermission
11028  620582 GPermission needs a simple implementation
11029  620496 GSettings schema compiler should reject invalid paths
11030  620173 missing single header inclusion guards
11031  620265 g_assertion_message_error should take const GError *
11032
11033 * Translation updates:
11034  Esperanto
11035  Galician
11036  Hebrew
11037  Indonesian
11038  Norwegian bokmål
11039  Slovenian
11040  Spanish
11041
11042
11043 Overview of Changes from GLib 2.25.6 to GLib 2.25.7
11044 ===================================================
11045
11046 * NOTE: API/ABI breaks since 2.25.6 release:
11047   - g_dbus_connection_sync{,_sync} takes a new 'reply_type' argument
11048   - GSettingsBackendClass 'list' virtual function changed
11049
11050   GSettings backends and things using GDBus may need to be rebuilt.
11051
11052 * GDBus: many build-related fixes
11053
11054 * GDBus (service): return a DBus error when receiving a method call for
11055   an unknown interface.
11056
11057 * GSettings: fix 'make install' bug in gsettings.m4 for generated schema
11058   files
11059
11060 * GSettings: avoid non-portable use of LC_MESSAGES
11061
11062 * better approach to handling man pages
11063
11064
11065 * Bugs fixed:
11066  619527 please improve docs on g_file_make_symlink
11067  619391 send-with-reply should have expected result signature
11068  618616 Use stack-allocated GVariantBuilders
11069  617004 Build with "--disable-nls" fails under MinGW/Win32
11070  619142 Build fixes (GDBus)
11071
11072 * Updated translations:
11073  Estonian
11074  Galician
11075  Norwegian bokmål
11076
11077 Overview of Changes from GLib 2.25.5 to GLib 2.25.6
11078 ===================================================
11079
11080 * GDBus: introspection improvements
11081 * GDBus: build fixes
11082
11083 * GSettings: GSettingsBackend ABI changed               **** NOTE ****
11084 * GSettings: --uninstall option for schema compiler
11085 * GSettings: new m4 macro with more power
11086 * GSettings: thread support
11087
11088 * rework of file notification on Solaris
11089 * fixes for gold linker
11090
11091 * Bugs fixed:
11092  619038 increase gsettings.m4 power
11093  619031 method-calls-in-thread test failing
11094  618839 Typo at translation message
11095  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
11096  618730 gunixcredentialsmessage.c doesn't compile on GNU/kfreebsd
11097  616314 Make GSettings (partially) threadsafe
11098
11099 * Updated Translations:
11100  Indonesian
11101  Galician
11102  Spanish
11103
11104 Overview of Changes from GLib 2.25.4 to GLib 2.25.5
11105 ===================================================
11106
11107 * GDBus: Fix serialization of empty arrays
11108
11109 * GDBus: Plug various memory leaks
11110
11111 * GSettings: Fix problems with GSETTINGS_CHECK_RULE
11112
11113 * Bugs fixed:
11114  616731 GSETTINGS_CHECK_RULE doesn't work in non-srcdir builds
11115  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
11116  618615 mem leaks in parse_value_from_blob
11117  618622 Plug some mem leaks in gdbus
11118  618650 Plug a mem leak in gdbusauth
11119  618663 Plug mem leaks in gdbus tests & examples
11120
11121 * Updated translations:
11122  Spanish
11123
11124
11125 Overview of Changes from GLib 2.25.3 to GLib 2.25.4
11126 ===================================================
11127
11128 * GDBus D-Bus support has been merged. This provides an API
11129   to replace dbus-glib
11130
11131 * GVariant no requires strings to be UTF-8. You can use byte
11132   arrays for non-UTF-8 strings.
11133
11134 * GSettings allows to bind string properties to byte arrays
11135
11136 * The schema compiler supports range restrictions
11137
11138 * Bugs fixed:
11139  618051 socket-server|client.c fail to compile under AIX...
11140  616102 GSettings ignores <choice> and <range>
11141  616720 Chunked quark allocation
11142  616877 Several issues with g_socket_receive_message
11143  616892 gio: Add a boxed type for GFileAttributeMatcher
11144  616967 Add g_regex_get_compile_flags() and g_regex_get_match_flags()
11145  617767 g_settings_[gs]et_strv() 'length' argument has missing docs...
11146  617914 gtester-report: cope with binaries with no test cases
11147  617937 output_stream_close vs output_stream_close_async semantics
11148  615494 Connction timeouts produce partially invalid error messages
11149  617823 glib-compile-schemas problems with an out of source build
11150  617947 glib-mkenums: add @valuenum@ support
11151
11152 * Translation updates:
11153  Galicaian
11154  Norwegian bokmål
11155  Shavian
11156  Spanish
11157
11158
11159 Overview of Changes from GLib 2.25.2 to GLib 2.25.3
11160 ===================================================
11161
11162 * New macro: G_GNUC_DEPRECATED_FOR, a variant of G_GNUC_DEPRECATED
11163   that lets you add replacement information (requires gcc 4.5)
11164
11165 * Rename AM_GSETTINGS autoconf macro to GLIB_GSETTINGS
11166
11167 * Rename gschema-compile utility to glib-compile-schemas
11168
11169 * Add support for timeouts in GSocket
11170
11171 * Bugs fixed:
11172  589989 Compilation error on Solaris 9
11173  616648 Change AM_GSETTINGS macro to GLIB_GSETTINGS
11174  587898 I/O timeouts for GSocket
11175  614541 Add G_TYPE_ERROR boxed type for GError
11176
11177
11178 Overview of Changes from GLib 2.25.0 to GLib 2.25.2
11179 ===================================================
11180
11181 * Include a 'gsettings' utility, for commandline access to GSettings
11182
11183 * Install a AM_GSETTINGS autoconf macro similar to AM_GCONF
11184
11185 * GSettings can bind the writability of a key explicitly
11186
11187 * There is now a predefined boxed type for GError
11188
11189 * Bugs fixed:
11190  615379 g_new macros crash if sizeof(struct_type) == 0
11191  616312 Add m4 rule equivalent to GCONF_SCHEMAS_INSTALL
11192  616295 mapping bug for uint64
11193  616216 glib compile from remote directory fails
11194  615960 Fix size passed to connect() for abstract sockets
11195  616432 Crash in gschema-compile
11196  616331 gsettings-schema-convert uses imaginary types
11197  616309 gsettings-schema-convert should output gettext-domain
11198  616384 Add mention of GConfBridge in conversion docs
11199  616311 gschema-compile outputs in current directory
11200  616276 simplify gschema-compile test setup
11201  616156 keys with unnecessary empty options arrays
11202  616405 gsettings missing g_return_if_fail's
11203  616245 Use G_DEFINE_INTERFACE macro
11204  614541 Add G_TYPE_ERROR boxed type for GError
11205
11206 * Updated translations:
11207  Catalan (Valencian)
11208  Galician
11209  Kannada
11210  Spanish
11211
11212
11213 Overview of Changes from GLib 2.24.0 to GLib 2.25.0
11214 ===================================================
11215
11216 * The GSettings framework has been merged. This provides the API to
11217   replace GConf. DConf will provide a backend implementation for it.
11218   GConf will also provide a backend implementation to ease the
11219   transition. We provide utilities to assist with schema conversion
11220   and data migration, as well as a porting guide.
11221
11222 * Translation updates:
11223  Bengali
11224  Catalan
11225  Danish
11226  Gujarati
11227  Marathi
11228  Thai
11229  Traditional Chinese
11230
11231
11232 Overview of Changes from GLib 2.23.6 to GLib 2.24.0
11233 ===================================================
11234
11235 * It is now allowed to call g_thread_init(NULL) multiple times, and
11236   to call glib functions before g_thread_init(NULL) is called
11237   (although the later is mainly a change in docs as this worked before
11238   too). See the GThread reference documentation for the details.
11239
11240 * GObject now links to GThread and threads are enabled automatically
11241   when g_type_init() is called.
11242
11243 * GObject no longer allows to call g_object_set() on construct-only properties
11244   while an object is being initialized. If this behavior is needed, setting a
11245   custom constructor that just chains up will re-enable this functionality.
11246
11247 * GMappedFile on an empty file now returns NULL for the contents instead of
11248   returning an empty string. The documentation specifically states that code
11249   may not rely on nul-termination here so any breakage caused by this change
11250   is a bug in application code.
11251
11252 * Bug fixes:
11253  613601 buglet in dup_close_on_exec_fd
11254  584284 g_data_input_stream_read_until_async behaves confusingly
11255  613748 Write errors in middle of copy cause hang
11256  613923 splice_stream_with_progress: wrong error handling
11257  613667 Typo in GObject documentation
11258  613618 gvariant format string docs unclear
11259
11260 * Translation updates:
11261  Basque
11262  Ukrainian
11263  Vietnamese
11264
11265
11266 Overview of Changes from GLib 2.23.5 to GLib 2.23.6
11267 ===================================================
11268
11269 * Class private data:
11270   - support for private data associated with a GTypeClass
11271
11272 * GVariant merge is now complete:
11273   - loading functions and parser merged
11274
11275 * Windows improvements:
11276   - socket fixes
11277   - various build improvements
11278   - removal of GCC/C99isms in favour of portable code
11279   - drop unmaintained Visual Studio 8 support
11280
11281 * Minor API addition:
11282   - g_desktop_app_info_get_filename()
11283
11284 * Bugs fixed:
11285  521707 Class private data
11286  612502 build fails on glib/tests/gvariant.c
11287  612832 [GDesktopAppInfo] New function g_desktop_app_info_get_filename
11288  612702 [PATCH] Fix GSocket-related crash on Windows
11289  612736 Improve the documentation about single include
11290  610858 gvariant test fails sometimes
11291  612327 uninitialized variable
11292
11293 * New translations:
11294  Afrikaans
11295  LowGerman
11296
11297 * Updated translations:
11298  Czech
11299  Finnish
11300  Galician
11301  Greek
11302  Punjabi
11303  Romanian
11304  Serbian
11305
11306
11307 Overview of Changes from GLib 2.23.4 to GLib 2.23.5
11308 ===================================================
11309
11310 * New API addition: g_malloc_n() and friends used to implement an
11311   overflow-safe family of g_new() macros.
11312
11313 * GVariant:
11314  - GVariantBuilder and GVariantIter are now merged.
11315  - The variable arguments API is now merged.
11316  - The parser will be in a future release.
11317
11318 * GIO:
11319  - Remove GUtf8InputStream (which never appeared in a stable release)
11320    for now since it doesn't satisfy the needs of its main intended use
11321    case.  We hope to reimplement this feature in a better form in a
11322    future release.
11323
11324 * Bugs fixed:
11325  609531 missing licence headers
11326  612107 Missing G_FILE_ATTRIBUTE_TRASH_ORIG_PATH
11327  611897 g_io_modules_scan_all_in_directory leaks
11328  608196 Overflow-safe g_new family
11329  611696 gio uses GetAddrInfo which requires special handing on windows 2k
11330  605667 Don't use G_PARAM_SPEC_VALUE_TYPE when we know the pspec is valid
11331  610860 test_g_file_open_readwrite fails if $HOME is unwritable
11332  552912 glib-2.18 /live-g-file/test_copy_move failed when run as root
11333  609813 Renaming a file discards file notes
11334
11335 * Updated translations:
11336  Basque
11337  Brazilian Portuguese
11338  British English
11339  Bulgarian
11340  Catalan
11341  Danish
11342  Estonian
11343  French
11344  German
11345  Hungarian
11346  Italian
11347  Lithuanian
11348  Norwegian bokmål
11349  Portuguese
11350  Russian
11351  Slovenian
11352  Spanish
11353  Swedish
11354  Traditional Chinese
11355
11356
11357 Overview of Changes from GLib 2.23.3 to GLib 2.23.4
11358 ===================================================
11359
11360 * GVariant: The core of GVariant has been merged now, with some
11361  API still to follow.
11362
11363 * GIO:
11364  - There is a new interface GFileDescriptorBased for file descriptor
11365    based IO. GLocalFile{Input,Output}Stream implement it
11366  - Use splice(2) to transfer data between file descriptors without
11367    extraneous copies
11368  - Add a way to request move events from file monitors
11369
11370 * Bugs fixed:
11371  609143 *result_uncertain is never assigned in g_content_type_guess
11372  604086 Use splice(2) when doing local file copies
11373  547890 No move events for GFileMonitorEvent?
11374  568760 nautilus freezes due to a bug in garray.c:322
11375  609962 Add info about the use of G_DEFINE_INTERFACE
11376  609564 g_base64_encode_close docs should mention outbuf size...
11377  610484 g_variant_equal bug
11378  610131 libasyncns does not compile on Solaris 8
11379  609530 missing single header include guards
11380
11381 * Updated translations:
11382  Czech
11383  Estonian
11384  Galician
11385  German
11386  Korean
11387  Polish
11388  Slovenian
11389  Spanish
11390  Traditional Chinese
11391
11392
11393 Overview of Changes from GLib 2.23.2 to GLib 2.23.3
11394 ===================================================
11395
11396 * GLib now has a facility for locks that consume only one bit of
11397   storage inside an integer: g_bit_lock()
11398
11399 * GVariant: The serializer has been merged, with more API to follow
11400
11401 * Bugs fixed
11402  548967 1 bit mutex lock
11403  604967 2.22.3 libasyncns build fails on HP-UX 11.11
11404  608602 G_VALUE_COLLECT_INIT variables shadow those in G_VALUE_COLLECT
11405  608743 Crash in g_hostname_to_ascii visiting certain website in epiphany
11406  599197 array ref and unref functions crash on NULL array.
11407  608159 mem leak in g_io_modules_scan_all_in_directory
11408
11409 * Translation updates
11410  Brazilian Portuguese
11411  Czech
11412  French
11413  Norwegian bokmål
11414  Slovenian
11415  Spanish
11416  Thai
11417
11418
11419 Overview of Changes from GLib 2.23.1 to GLib 2.23.2
11420 ===================================================
11421
11422 * We are now using gcc builtins for atomic operations when available
11423
11424 * g_assert() grew the ability to store assertions in core dumps
11425
11426 * GIO supports lazy loading of GIO modules, and there is a new
11427   gio-querymodule utility that goes along with this.
11428   Packagers will need to adapt to this.
11429
11430 * Threading changes:
11431  - The requirements for g_thread_init() have been relaxed slightly,
11432    it can be called multiple times, and does not have to be the first
11433    call.
11434  - GObject now links to GThread and threads are enabled automatically
11435    when g_type_init() is called.
11436  - Thread-safety issues with boxed types in GObject have been fixed.
11437
11438 * GObject:
11439  - Another bunch of performance work has landed
11440
11441 * GVariant:
11442  - GVariantType has been merged, with the rest of the GVariant
11443    API to follow.
11444
11445 * Bugs fixed:
11446  568760 nautilus freezes due to a bug in garray.c:322
11447  602417 Document lifecycles of GSimpleAsyncResult and friends
11448  604824 crash in Epiphany: Selecting my Slashdot bo...
11449  448888 don't init g_slice for always-malloc
11450  531902 Use GCC atomic buildins for g_atomic*
11451  554887 boxed type registration is not thread safe
11452  586150 unresolved symbols when building glib 2.21.2 on OS X Tiger
11453  589176 row gvalue transform array exponentially
11454  594872 Support storing assertion messages into core dump
11455  602240 Upgrade libasyncns to 0.8
11456  603590 Speed up G_VALUE_COLLECT
11457  604457 gutf8inputstream.c: increasing unknown size pointer
11458  605686 GCharsetConverter doesn't flush
11459  605733 g_memory_output_stream_new violates GObject standards
11460  605883 g_object_new() processes varargs even when there are none
11461  605977 invalid utf-8 conversion in g_local_file_get_parse_name(...
11462  606775 Enable threads by default in gobject
11463
11464 * Translation updates:
11465  Asturian
11466  Basque
11467  Bengali
11468  Bulgarian
11469  Estonian
11470  Norwegian bokmål
11471  Spanish
11472  Thai
11473  Ukrainian
11474
11475
11476 Overview of Changes from GLib 2.23.0 to GLib 2.23.1
11477 ===================================================
11478
11479 * GObject performance work has landed:
11480  - Construction of simple objects is much faster
11481  - Interface lookup is lock-free and constant-time now
11482  - Reduced locking overhead when dealing with types
11483
11484 * GType now has a G_DEFINE_INTERFACE convenience macro
11485
11486 * GIO gained GUtf8InputStream, an input stream that
11487   performs utf-8 validation
11488
11489 * GLib now has byte-swap macros for gsize and gssize
11490
11491 * Bugs fixed:
11492 557151 Determining the newly_constructed boolean in gobject.c...
11493 557100 Performance improvements for GObjectClasses that don't...
11494 501166 Warning message says IA__g_type_init instead of g_type_init
11495 585375 Performance and Contention problems with g_type_class_ref...
11496 587892 Race in GType when instantiating the same class for the...
11497 603270 Input Stream validating utf8
11498 603476 gioenums.h:62: error: comma at end of enumerator list
11499 603540 g_time_val_from_iso8601 uses uninitialised variable
11500 603982 Stack overflow when reading file async with filter
11501 604645 G_DEFINE_INTERFACE_* documentation is not generated
11502 604875 Use of sa_len conflicts with system header
11503 320482 provide G_DEFINE_TYPE like macros for interfaces
11504
11505 * Updated translations:
11506  Estonian
11507  Hebrew
11508  Norwegian bokmål
11509  Vietnamese
11510  Welsh
11511
11512
11513 Overview of Changes from GLib 2.22.x to GLib 2.23.0
11514 ===================================================
11515
11516 * GIO:
11517  - GConverter: a generic interface for stateful conversions of data,
11518    suitable for charset conversion, compression, decompression, regexp
11519    replacement. Concrete implementations are GCharsetConverter,
11520    GZlibCompressor and GZlibDecompressor. GConverterInputStream,
11521    GConverterOutputStream are stream implementations that convert data
11522    while loading or saving it.
11523  - GMounts can now have a 'default location': a path that reflects
11524    the main entry point for the user (e.g. the home directory).
11525  - As a consequence of the compression support, GIO depends on zlib now.
11526
11527 * GObject:
11528  - G_IMPLEMENT_INTERFACE_DYNAMIC: a convenience macro for adding
11529    interfaces to dynamic types.
11530
11531 * GModule:
11532  - The -pthread flag has been added to all gmodule .pc files, because
11533    it is not generally permissible to load modules that are linked
11534    against libpthread if the program has not been compiled with threading
11535    support.
11536
11537 * Bugs fixed:
11538  601637 GUnixFDMessage should contain a GUnixFDList
11539  585566 GSocketListener API issues
11540  572252 Bug in g_file_test() function.
11541  600550 g_app_info_create_from_commandline doesn't treat arguments properly
11542  541236 not detecting exact content type
11543  350200 [PATCH] GTypeModule derived class unref does not unload plugin
11544  589631 Please enclose literal values with double quotes
11545  577711 cross compile check for g++ broken
11546  600620 Support X-GNOME-FullName in GAppInfo
11547  598899 GWin32DirectoryMonitor is broken
11548  593809 Nautilus does not restore the position of the icons on the desktop...
11549  563627 g_get_prgname() threadsafety
11550  600141 Add -pthread to gmodule pkg-config
11551  593856 file and directory monitors don't work when glib is compiled...
11552  324930 Nautilus should disallow copying of symlink to FAT drive early
11553  587300 Deadlock when calling g_cancellable_disconnect in a...
11554  595138 GFile not robust with invalid input
11555  591216 Warning building resolver.o
11556  590016 Does not compile under MinGW32 + Wine
11557  591214 Warnings building gcancellable.o
11558  561998 Have specific entry points (paths) for mounts...
11559  508157 Add G_IMPLEMENT_INTERFACE_DYNAMIC
11560  535159 g_file_has_parent
11561
11562 * Updated translations:
11563  Brazilian Portuguese
11564  Catalan
11565  Estonian
11566  Galician
11567  Norwegian bokmål
11568  Shavian
11569  Slovenian
11570  Spanish
11571  Swedish
11572
11573
11574 Overview of Changes from GLib 2.22.1 to GLib 2.22.2
11575 ===================================================
11576
11577 * GIO:
11578  - Support case-sensitive globs in the shared mime database,
11579    including support for the newer cache format that allows these.
11580    Case-sensitive globs have been introduced in shared-mime-info
11581    version 0.70
11582
11583 * GObject:
11584  - Speed up creation of simple objects
11585
11586 * Bugs fixed:
11587  597194 Typo in _G_TYPE_CVH macro
11588
11589 * Updated translations:
11590  Russian
11591
11592
11593 Overview of Changes from GLib 2.22.0 to GLib 2.22.1
11594 ===================================================
11595
11596 * Bugs fixed:
11597  596064 Test file marked for translation
11598  595972 possibly invalid search in mime_info_cache_dir_add_...
11599  596561 C99 style of declaration of variable in gmessages.c
11600  596314 g_utf16_to_utf8 returns an invalid UTF8 string
11601  596748 g_async_result_get_source_object returns a new ref
11602  593809 Nautilus does not restore the position of the icons...
11603  593775 uses inotify_init1 unconditionally
11604
11605 * Updated translations:
11606  Bengali
11607  Hebrew
11608
11609
11610 Overview of Changes from GLib 2.21.6 to GLib 2.22.0
11611 ===================================================
11612
11613 * Repeated calls to g_simple_async_result_set_op_res_gpointer used
11614   to leak the data. This has been fixed to always call the provided
11615   destroy notify.
11616
11617 * Add gdb python macros to make gobject debugging more pleasant
11618
11619 * Bugs fixed:
11620  579050 Allow making selected critical and warning messages non-fatal
11621  594759 g_socket_send_message fails due to invalid sendmsg params
11622  593941 GNetworkAddress skipping addresses when enumerating
11623  594597 Fix build with srcdir != builddir
11624  595619 Include gdb pretty printers
11625
11626 * Changes that might affect bindings:
11627  - The error parameter of g_simple_async_result_set_from_error has been
11628    made const.
11629
11630 * Updated translations:
11631  Assamese
11632  Bengali India
11633  British English
11634  Bulgarian
11635  Catalan
11636  Czech
11637  Danish
11638  Finnish
11639  Galician
11640  Greek
11641  Gujarati
11642  Hindi
11643  Japanese
11644  Kannada
11645  Malayalam
11646  Marathi
11647  Norwegian bokmål
11648  Oriya
11649  Polish
11650  Punjabi
11651  Romanian
11652  Serbian
11653  Simplified Chinese
11654  Slovenian
11655  Spanish
11656  Tamil
11657  Telugu
11658  Thai
11659  Traditional Chinese
11660  Ukrainian
11661  Vietnamese
11662
11663
11664 Overview of Changes from GLib 2.21.5 to GLib 2.21.6
11665 ===================================================
11666
11667 * Minor API additions:
11668   g_mkstemp_full is a variant of g_mkstemp that allows to specify flags
11669   and permissions
11670
11671 * Bugs fixed:
11672  593232 g_rand_new: read no more than requested from /dev/urandom
11673  591995 use saved errno
11674  589491 g_time_val_from_iso8601 doesn't handle some cases
11675  593406 Permissions set to 777 after copying via Nautilus
11676  594034 Add g_mkstemp_full()
11677
11678 * Updated translations:
11679  Assamese
11680  Basque
11681  Brazilian Portuguese
11682  Czech
11683  Estonian
11684  French
11685  German
11686  Hungarian
11687  Italian
11688  Kannada
11689  Malayalam
11690  Marathi
11691  Norwegian bokmål
11692  Oriya
11693  Portuguese
11694  Swedish
11695  Tamil
11696  Turkish
11697
11698
11699 Overview of Changes from GLib 2.21.4 to GLib 2.21.5
11700 ===================================================
11701
11702 * A performance problem with trashing of many files has been fixed
11703
11704 * GResolver now invalidates the libc resolv.conf cache as needed
11705
11706 * Minor api additions:
11707  - g_cancellable_make_pollfd returns a boolean now. And there is a
11708    new function g_cancellable_release_fd that can be used to released
11709    the resources used by a GCancellable.
11710
11711 * Bugs fixed:
11712  589988 Compilation error on Solaris 9 (missing stdint.h)
11713  588901 gtcpconnection.c won't compile
11714  584246 GResolver needs to call res_init() when network state changes
11715  591714 Figure out failure handling for g_cancellable_make_pollfd()
11716  591532 redundent '/' returned from g_file_resolve_relative_path
11717  591378 Use MSG_NOSIGNAL in GSocket if it's available
11718  589649 API documentation migration for Base64 Encoding
11719  591840 configure fails with autoconf 2.64
11720
11721 * Updated translations:
11722  Basque
11723  Brazilian Portuguese
11724  Bulgarian
11725  Danish
11726  Estonian
11727  Finnish
11728  Galician
11729  Gujarati
11730  Hndi
11731  Irish
11732  Japanese
11733  Korean
11734  Norwegian bokmål
11735  Polish
11736  Portuguese
11737  Punjabi
11738  Spanish
11739  Swedish
11740  Telugu
11741  Traditional Chinese
11742  Thai
11743
11744
11745 Overview of Changes from GLib 2.21.3 to GLib 2.21.4
11746 ===================================================
11747
11748 * GTree is now refcounted
11749
11750 * Bugs fixed:
11751  587938 Undocumented limitation for g_str_equal
11752  587773 refcounts for GTree
11753
11754 * Updated translations:
11755  French
11756  Hebrew
11757  Norwegian bokmål
11758  Spanish
11759  Swedish
11760  Traditional Chinese
11761  Ukrainian
11762
11763
11764 Overview of Changes from GLib 2.21.2 to GLib 2.21.3
11765 ===================================================
11766
11767 * GMappedFile is refcounted now
11768
11769 * Mainloop: It is now possible to set per-thread default contexts,
11770   with g_main_context_push_thread_default.
11771
11772 * glib-mkenums supports a @basename@ substitution, in addition
11773   to @filename@.
11774
11775 * GIO:
11776  - Vfs implementations can support storing of per-file metadata.
11777  - GCancellable can now be subclassed.
11778  - Unmount and eject methods now optionally allow interaction, via
11779    variants that take a GMountOperation object.
11780
11781 * Bugs fixed:
11782  556706 Inconsistent help arguments -h, -?
11783  579449 FileChoosers no longer work if an idle handler is active
11784  579933 mainloop FD_CLOEXEC has a race condition
11785  579984 alternate GMainContext support
11786  585937 gio/gsocket.c (glib 2.21.2) does not compile (Windows/mingw)
11787  586675 Runtime library location
11788  586797 Add GCancellables to GSocket ops
11789  586868 g_filename_complete_get_completions doesn't always return...
11790  587415 g_resolver_lookup_by_name_finish returns a freed list
11791  587434 regression tests fail, at least on x86_64
11792  586928 Avoid g++ warning in g_error()
11793
11794 * Updated translations:
11795  Estonian
11796  Hebrew
11797
11798
11799 Overview of Changes from GLib 2.21.1 to GLib 2.21.2
11800 ===================================================
11801
11802 * GIO:
11803   - g_socket_speaks_ipv4 is a new function to check if a socket can
11804     speak IPv4.
11805   - g_socket_listener_add_address gained a new effective_address out
11806     parameter.
11807   - GIO now returns special icons for XDG user directories, by the
11808     name folder-music, folder-documents, etc.
11809   - GIO gained support for starting/stopping of drives, which can be used
11810     in connection with external hard disk enclosures, disk arrays, iSCSI
11811     devices, etc. See g_file_start/stop_mountable.
11812
11813 * GLib:
11814  - g_reload_user_special_dirs_cache is a new function to force GLib to
11815    reload the XDG user directory mapping from disk.
11816
11817 * Bug fixes:
11818  584574 glib compile failure on Mac OS X with gunixresolver.c and...
11819  585566 GSocketListener API issues
11820  584255 Incorrect freeing of thread pool in GThreadedSocketService
11821  585088 g_string_chunk_insert_len stops at nul bytes
11822  585360 Monitor fontconfig configuration files using gio causes m...
11823  580103 Terminal starts on Display :0.0 when started on :0.1 in D...
11824  580301 network: a few issues on old darwin
11825  583398 SRV weight sorting is incorrect
11826  584176 build fixes on FreeBSD
11827  585189 g_cancellable_reset() must be called in same thread as g_...
11828  585280 compilation dies on gio/gsocket.c, needs sys/uio.h to con...
11829  585281 gio/gunixfdmessage.c needs sys/types.h for platforms that...
11830  585478 don't leak the inotify fd
11831  585575 g_socket_listener_add_inet_port() doesn't do the right thing
11832  585599 g_socket_listener_add_socket() consumes the socket
11833  585676 GEmblem doesn't reference its 'icon' if that is set as a ...
11834  585717 "bytes" nautilus translation to french is not shown in th...
11835  541276 XDG directories should have their own icons
11836  585726 Grammatical error in GList documentation
11837  585520 Wrong warning option in documentation
11838  585673 GNOME Goal: Remove deprecated glib symbols
11839  585591 Starting/stopping drives
11840
11841 * Updated translations:
11842  Bengali India
11843  Norwegian bokmål
11844
11845
11846 Overview of Changes from GLib 2.21.0 to GLib 2.21.1
11847 ===================================================
11848
11849 * GIO:
11850  - Support for network IO has been added, including a low-level
11851    socket API and a high-level API for network connections and
11852    services.
11853  - Support for read-write access with GIOStream and its subclasses.
11854  - GMount gained a pre-unmount signal.
11855
11856 * Bug fixes:
11857  576104Implement GMount::pre-unmount
11858  578769 implement GWinHttpFileInputStream::close_fn
11859  582856 gsocket.c doesn't compile on Solaris
11860  569375 g[u]intptr undocumented
11861  573246 [FIX] g_desktop_app_info_dup() can access NULL pointer
11862  575013 g_cancellable_push_current() does not allow NULL
11863  577884 live-g-file.c:461: error: format ‘%d’ expects type ...
11864  578499 g_output_stream_splice and stream closing with gnio strea...
11865  579558 Application employing gvfs crashes with only libgvfscommo...
11866  583001 SIGPIPE (grr!)
11867  583061 Please add convenience function to connect to machines by...
11868  583198 typo in error message
11869  583206 use g_set_error_literal where appropriate
11870  583229 void function g_async_initable_init_async returns value
11871  583324 locking problem in g_main_context_iterate()
11872  583408 void function g_socket_control_message_serialize returns ...
11873  578786 wrong and confusing error message
11874  583205 g_inet_address_to_bytes has no length outparam
11875  583196 mem leak in keyfile test
11876  583663 GSocketType enum ends with a comma
11877  569024 Make g_error_new_valist public
11878  569376 missing G_G[U]INTPTR_FORMAT
11879  580347 off-by-1 bug in GWinHttpFile
11880
11881 * Updated translations:
11882  Oriya
11883  Spanish
11884  Valencian-Catalan
11885
11886
11887 Overview of Changes from GLib 2.20.x to GLib 2.21.0
11888 ===================================================
11889
11890 * GIO:
11891  - New helper functions g_cancellable_connect/disconnect to avoid
11892    race conditions when connecting to the "cancelled" signal on
11893    GCancellable.
11894  - New types and methods for dealing with IPv4 and IPv6 addresses (and
11895    UNIX domain socket addresses under UNIX). This does not include code
11896    for actual socket I/O.
11897  - GResolver provides asynchronous and cancellable APIs for resolving
11898    hostnames, reverse lookup of IP addresses and resolving SRV records.
11899
11900 * Glib now provides hash and comparison functions for int64 and double
11901   types, suitable for use with GHashTable.
11902
11903 * GArray, GPtrArray and GByteArray can be ref counted now, and have
11904   boxed types.
11905
11906 * Bugs fixed:
11907  572844 Helper for GCancellable::cancelled connect/disconnect
11908  578363 goption docs should be improved
11909  548466 async/cancellable DNS resolver
11910  579830 param spec strings should use P_()
11911  579862 requesting xattr::foo ends up calling getxattr(..., user...
11912  580453 Hash and equal functions for gint64 and gdouble
11913  580450 Reference counting and boxed types for arrays
11914  580194 gresolver doesn't build on Solaris
11915  580301 network: a few issues on old darwin
11916  580299 network: include sys/types.h before sys/socket.h to insur...
11917  572508 gmarkup speedup
11918  580546 g_strtoull() referenced in documentation...
11919  580656 g_key_file_set_string_list erroneously asserts list != NULL
11920  579272 leaks in g_simple_async_result_set_op_res_gpointer
11921
11922
11923 * Updated translations:
11924  Catalan (ca)
11925  Pashto (ps)
11926  Spanish (es)
11927
11928
11929 Overview of Changes from GLib 2.20.0 to GLib 2.20.1
11930 ===================================================
11931
11932 * Bug fixes:
11933  575555 Use fsync() when replacing files to avoid data loss on
11934  575708 runaway inotify madness
11935  575270 GVolumeMonitor::mount-pre-unmount not being emitted
11936  577128 glib make check Failed to execute child process...
11937  573673 Always show "backup" directories
11938  578369 g_time_val_from_iso8601() parses timezones incorrectly
11939  578002 Fix a small typo in GFile docs
11940  578017 G_DEFINE_TYPE_EXTENDED docs
11941
11942 * Updated translations:
11943  Arabic
11944  Assamese
11945  Basque
11946  Bularian
11947  Brazilian Portuguese
11948  British English
11949  Catalan
11950  Danish
11951  French
11952  Galician
11953  German
11954  Greek
11955  Hungarian
11956  Italian
11957  Japanese
11958  Kannada
11959  Lithuanian
11960  Malayalam
11961  Norwegian bokmål
11962  Oriya
11963  Polish
11964  Punjabi
11965  Russian
11966  Simplified Chinese
11967  Slovenian
11968  Spanish
11969  Swedish
11970  Tamil
11971
11972
11973 Overview of Changes from GLib 2.19.9 to GLib 2.20.0
11974 ===================================================
11975
11976 * The functions for launching applications (e.g. g_app_info_launch() +
11977   friends) now passes a FUSE file:// URI if possible (requires gvfs
11978   with the FUSE daemon to be running and operational). With gvfs 2.26,
11979   FUSE file:// URIs will be mapped back to gio URIs in the GFile
11980   constructors. The intent of this change is to better integrate
11981   POSIX-only applications, see bug #528670 for the rationale.  The
11982   only user-visible change is when an application needs to examine an
11983   URI passed to it (e.g. as a positional parameter). Instead of
11984   looking at the given URI, the application will now need to look at
11985   the result of g_file_get_uri() after having constructed a GFile
11986   object with the given URI.
11987
11988 * Base64 support: Avoid integer overflows. CVE-2008-4316
11989
11990 * Bugs fixed:
11991  574019 GChecksum: document and guarantee hex characters in lower case
11992  573454 Unable copy/move files to directories symlinked to gvfs share
11993  561172 gnome-open fails on local URIs with anchors
11994  573970 crash in gunixvolumemonitor:update_mounts when unmounting
11995  573843 g_get_current_dir returns non-absolute path
11996
11997 * Updated translations:
11998  Assamese (as)
11999  Bengali (bn_IN)
12000  Czech (cs)
12001  Hindi (hi)
12002  Italian (it)
12003  Japanese (ja)
12004  Lithuanian (lt)
12005  Malayalam (ml)
12006  Marathi (mr)
12007  Oriya (or)
12008  Polish (pl)
12009  Romanian (ro)
12010  Telugu (te)
12011
12012
12013 Overview of Changes from GLib 2.19.8 to GLib 2.19.9
12014 ===================================================
12015
12016 * GMarkup:
12017  - Considerable speedup
12018
12019 * GIO
12020  - Add G_FILE_CREATE_REPLACE_DESTINATION flag to allow replacing
12021    the destination of a copying operation as if it did not exit before.
12022  - Be more careful when classifying files as desktop files
12023  - Support desktop file key X-GIO-NoFuse which disables the use
12024    of fuse pathnames for %u and %U arguments
12025
12026 * Bugs fixed:
12027  572672 glib/gthread.c: argument is different type
12028  572464 Doc for g_file_get_contents
12029  572151 “it's” and “its” confused in docs and comments
12030  570501 g_win32_get_system_data_dirs uses invalid conversion...
12031  167569 g_string_append_printf crashes on win32 when used...
12032  572508 gmarkup speedup
12033  560564 Replacing a symlink with its linked file truncates... 
12034  549298 impossible to copy files with p (pipe) flag
12035  543183 Clarify docs for g_file_has_prefix
12036  540461 g_memory_output_stream_get_data_size() doesn't behave...
12037  573462 GEmblemedIcon leak
12038  573421 Clarify message format in GMountOperation
12039  573658 Deadlock in giomodule.c
12040  556706 Inconsistent help arguments -h, -?
12041  573527 Wrong shell to run config.status in Makefile.in.in
12042  573128 A couple of typos in GObject documentation
12043
12044 * Updated translations:
12045  Catalan (ca)
12046  British English (en_GB)
12047  Spanish (es)
12048  Basque (eu)
12049  Finnish (fi)
12050  French (fr)
12051  Gujarati (gu)
12052  Hebrew (he)
12053  Hungarian (hu)
12054  Korean (ko)
12055  Maithili (mai)
12056  Norwegian bokmål (nb)
12057  Dutch (nl)
12058  Portugese (pt)
12059  Swedish (sv)
12060  Thai (th)
12061  Traditional Chinese (zh_HK)
12062  Traditional Chinese (zh_TW)
12063
12064
12065 Overview of Changes from GLib 2.19.7 to GLib 2.19.8
12066 ===================================================
12067
12068 * GIO: Fix missing exports of new API
12069
12070 * Fix strict aliasing warnings and violations to make Glib work
12071   with gcc 4.4
12072
12073
12074 Overview of Changes from GLib 2.19.6 to GLib 2.19.7
12075 ===================================================
12076
12077 * GIO
12078  - GFile gained an attribute for the actual file size in bytes
12079  - GMountOperation gained an "aborted' signal that allows to abort
12080    a mount operation from the backend side
12081
12082 * Bugs fixed:
12083  523742 Use noinst for non-installable libraries
12084  566747 URIs opened with firefox %u load as local files
12085  541225 Can't compile gio on AIX duplicate case value in gioerror.c
12086  571598 GAsyncResult with NULL gobject
12087  505042 add file attribute for actually used file size in bytes
12088
12089 * Updates translations:
12090  Basque (eu)
12091  Gujarati (gu)
12092  Italian (it)
12093  Japanese (ja)
12094  Norwegian bokmål (nb)
12095  Dutch (nl)
12096  Portugese (pt)
12097  Thai (th)
12098  Vietnamese (vi)
12099
12100
12101 Overview of Changes from GLib 2.19.5 to GLib 2.19.6
12102 ===================================================
12103
12104 * New format macro to print goffset data: G_OFFSET_FORMAT
12105
12106 * GIO: 
12107  - Add a GFilter{Input,Output}Stream::close-base-stream properties which
12108    determine whether the base stream will be closed when the filter stream
12109    is finalized.
12110  - g_data_input_stream_read_line and ..._read_until have asynchronous
12111    variants now.
12112
12113 * Bugs fixed:
12114  568294 A wrong reference in the description of g_bookmark_file_...
12115  563141 RFE: define G_OFFSET_FORMAT
12116  569105 g_time_val_to_iso8601() assumes time_t==long
12117  568394 dropping the last reference to a stream filter closes...
12118  568741 g_buffered_input_stream_fill_async doesn't work
12119  568723 g_buffered_input_stream_fill_async doesn't take count == -1
12120  568575 _async functions for GDataInputStream
12121
12122 * Updated translations:
12123  Bulgarian (bg)
12124  Finnish (fi)
12125  Hungarian (hu)
12126  Oriya (or)
12127  Swedish (sv)
12128  Traditional Chinese (zh_HK)
12129  Traditional Chinese (zy_TW)
12130
12131
12132 Overview of Changes from GLib 2.19.4 to GLib 2.19.5
12133 ===================================================
12134
12135 * Update included PCRE to 7.8
12136
12137 * g_base64_decode_inplace: New function to do base64 decoding in place
12138
12139 * Bugs fixed:
12140  567138 get_package_directory_from_module() does not free ...
12141  566569 gregex docs clarification
12142  566573 g_match_info_fetch_pos docs
12143  564728 Add function to decode base64 encoded data in place
12144  567838 G_STRUCT_OFFSETOF fails to compile under icc 9.1
12145  567977 textdomain() macro should not return NULL ...
12146  512779 --disable-regex breaks compilation
12147  566770 error code 0 for Too many open files is useless
12148  565484 g_content_type_guess passes non-UTF8 text to XDG ...
12149
12150 * Updated translations:
12151  Catalan (ca)
12152  Spanish (es)
12153  Italian (it)
12154  Swedish (sv)
12155
12156  
12157 Overview of Changes from GLib 2.19.3 to GLib 2.19.4
12158 ===================================================
12159
12160 * GIO:
12161   - Use O_NOATIME when sniffing mimetypes
12162   - Add a convenience method to check if a GSimpleAsyncResult
12163     is valid
12164
12165 * Bugs fixed:
12166  560676 function access for g_threads_supported
12167  565905 There is no g_context_group_set_translation_domain
12168  564210 SUN Studio 12 has supported visibility attribute
12169  565136 GObject's "notify" signal parameters are wrong in gtk-doc
12170  565831 error in interface creation sample
12171  566348 g_file_open_tmp uses the wrong g_mkstemp on win32
12172  566064 Add NOATIME flag to query_info_flags
12173  566170 g_async_result_verify_source_object
12174
12175 * Updated translations:
12176  Spanish (es)
12177  Norwegian bokmål (nb)
12178  Brazilian Portugese (pt_BR)
12179  Simplified Chinese (zh_CN)
12180
12181
12182 Overview of Changes from GLib 2.19.1 to GLib 2.19.3
12183 ===================================================
12184
12185 * Bugs fixed:
12186  508021 Add support for the CRIS and CRISv32 architectures
12187  526320 should not list mounts that the user doesn't have permission to use
12188  558458 Cannot build gio tests on Solaris using SUN cc
12189  555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property
12190  558298 Hide ecryptfs mounts
12191  515777 incorrect date&time on copy
12192  562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling
12193         g_simple_async_result_run_in_thread
12194  473150 g_type_module_use inconsistently increases the use
12195         counter in case of error
12196  563150 G_GU?INT*_MODIFIER/FORMAT docs
12197  563156 Document printing and scanning gunichar values
12198
12199 * Updated translations:
12200  Hebrew (he)
12201  Italian (it)
12202  
12203
12204 Overview of Changes from GLib 2.19.0 to GLib 2.19.1
12205 ===================================================
12206
12207 * GIO: 
12208   - g_icon_to_string, g_icon_new_for_string: GIcon serialization support
12209   - G_FILE_ATTRIBUTE_PREVIEW_ICON: new file attribute for preview images
12210   - g_app_info_get_commandline: new function to get the full commandline
12211   - g_mount_shadow, g_mount_unshadow, g_mount_is_shadowed: New functions 
12212     to 'shadow' mounts (i.e. hide them from the UI when they already
12213     have a different representation, like a bookmark) 
12214
12215 * Bugs fixed:
12216  556186 gpoll.h breaks gmain.h inclusion
12217  557087 mem leak in g_content_types_get_registered
12218  556921 gpoll.h breaks hal compilation
12219  557210 g_compute_checksum_for_* asserts with less than 2 bytes
12220  558381 Add support for compile time assertions
12221  558185 'parent' variable in g_local_file_get_child_for_display_name()
12222         hits g_object_unref(NULL) assertion
12223  558513 g_warn_if_fail FIXME in gtestutils
12224  558672 NULL key lookup using g_hash_table_lookup_extended() 
12225  555740 gicon serialization
12226  557182 preview functionality
12227  528320 Incorrect icons displayed for files with custom mimetype icons
12228  556910 Memory leak: sub
12229  557592 Missing include in gwinhttpfile.c
12230  556415 Crash on Windows 2000 in g_winhttp_vfs_init()
12231  555935 Clarify the mechanism of overwriting properties
12232  552776 ac_cv_func_posix_getgrgid_r not mentioned
12233  559448 GObject Reference Manual (typo)
12234  561212 GFileReadMoreCallback API doc refers to non-existant function
12235  560569 gkeyfile doesn't use the set list_separator in some cases
12236  560568 gkeyfile docs buglet
12237  559413 g_option_group_set_error_hook docs buglet
12238  562378 callback return value not respected for callback option
12239         with no arg
12240  559110 Do not include libintl.h after glibintl.h
12241  557603 carbon check output misplaced
12242  562544 g_key_file_get_string and g_key_file_get_value
12243         documentation does not explain the difference
12244  547264 Missing "no flags" flag
12245  562638 GDebugKey key member should be const
12246  562639 g_parse_debug_flags() parsing "help"
12247  562549 g_byte_array_free should tell how free data
12248  559452 GObject Reference Manual (typo)
12249  559462 GObject Reference Manual (typo)
12250  559517 GObject Reference Manual (typo)
12251  562538 GObject interface tutorial shouldn't finalise with
12252         "Please forget everything"
12253  561352 Leak of icon description
12254  561375 Leaks mountpoint description
12255  561807 inotify_sub.c: dup_dirname() fails to remove trailing '/'
12256  562393 g_buffered_input_stream_read_byte broken if data available
12257  541715 win32 : patch for warnings and signature problems in recent code
12258  547481 g_data_input_stream_read_line behaves not as stated in the docs
12259  548163 Nautilus displays wrong error message for too long file names
12260  559633 gtk_image_new_from_gicon does not always work for .desktop files
12261  555486 – No way to recover command line from GAppInfo
12262
12263 * Translation updates:
12264  Spanish (es)
12265  Ukrainian (uk)
12266
12267
12268 Overview of Changes from GLib 2.18.1 to GLib 2.19.0
12269 ===================================================
12270
12271 * Rewrite GHashTable to use open addressing with quadratic probing instead 
12272   of chaining. This has the potential to reduce memory fragmentation 
12273   significantly, while being slightly faster due to better locality and 
12274   no need to call alloc/free functions for nodes. Benchmarks suggest it 
12275   also uses less memory overall.
12276
12277 * Make g_poll available as public api
12278
12279 * New macros g_assert_error and g_assert_no_error to assert 
12280   that a GError is set or unset
12281
12282 * g_cancellable_make_pollfd: New method to make a GPollFD for a cancellable
12283
12284 * g_app_info_can_delete, g_app_info_delete, g_app_info_reset_type_associations:
12285   New functions to clean up app infos and content types
12286
12287 * When launching applications, always pass fuse file:// uris when possible,
12288   and let gio convert such uris back to gio uris.
12289
12290 * Bugs fixed:
12291  505361 gunixinputstream.c assumes poll() available
12292  509446 portable blocking gio cancellation
12293  553820 gpoll.c: undeclared identifier
12294  553724 python interpretter path not patched in correctly
12295  553857 gbacktrace.h requires signal.h
12296  553447 g_assert_no_error()
12297  554092 glib doesn't return G_FILE_ERROR_NOENT et al on OS X
12298  528670 Always pass file:/// uri's in GAppLaunchContext
12299  555224 Improve g_format_size_for_display doc
12300  555309 giochannel breaks on error
12301  554790 g_convert() misbehaves with winiconv versions
12302  555314 mem leak in gmarkup
12303  555313 GFileAttribute boxed type get_type function should...
12304  552861 glib-2.0.m4 calls system(3) without storing its result
12305  554557 Patch to fix gcc warnings about missing format specifiers
12306  552107 Small libtool fixes
12307  551355 Make glib build with libtool 2.2
12308  555311 format not a string literal and no format arguments
12309  556101 static mutex yields warnings with g++
12310  556186 gpoll.h breaks gmain.h inclusion
12311  526456 Open addressing in GHashTable
12312  553426 cancellable clarifications
12313  545350 GAppInfo deletion
12314  545351 Reset associations for content type
12315  552168 volume's mount not mounted after g_volume_mount_finish
12316  554970 segfault when update-desktop-database is not available...
12317  554745 GFileAttributeInfoList should be boxed
12318  555121 Improved build-time handling of gio module-dir
12319  555711 Wrong fallback order of mimetype icons
12320  555331 Deprecate adoption of mounts
12321  556335 make check fails in abicheck.sh
12322  556334 Warning when building without selinux support
12323  556422 g_file_enumerator_next_file: unclear...
12324
12325 * Updated translations:
12326  Arabic (ar)
12327  Danish (da)
12328  Polish (pl)
12329  Brazilian Portugese (pt_BR)
12330  Romanian (ro)
12331  Russian (ru)
12332
12333
12334 Overview of Changes from GLib 2.18.0 to GLib 2.18.1
12335 ===================================================
12336
12337 * Bugs fixed:
12338  550433 g_test_init doesn't recognize --help
12339  523463 Core dump in gmain.c:2482:IA__g_main_context_check
12340  551228 G_STRFUNC on recent Sun compiler should be expanded...
12341  551410 gtestutils.c: using printf without prototype
12342  551731 g_date_set_time[_t] docs should mention what timezone
12343  548321 <string.h> is not included in gi18n-lib.h
12344  551149 xdgmime mem leak
12345  550647 synchronous pipe I/O when reading mount reply
12346  551887 Docs for g_desktop_app_info_new_from_filename aren't...
12347  551681 g_content_type_guess() too naive with filenames
12348  552352 g_app_info_launch doesn't work if "Path" key...
12349  551408 gmodule.def generated to builddir...
12350  552359 g_file_info_get_icon should return GThemedIcon, and...
12351
12352 * Updated translations:
12353  Arabic (ar)
12354  Bengali India (bn_IN)
12355  British English (en_GB)
12356  Hindi (hi)
12357  Croatian (hr)
12358  Korean (ko)
12359  Oriya (or)
12360  Turkish (tr)
12361  Telugu (te)
12362
12363
12364 Overview of Changes from GLib 2.17.7 to GLib 2.18.0
12365 ===================================================
12366
12367 * The recommended way of using GLib has always been to only include the
12368   toplevel headers glib.h, glib-object.h and gio.h. GLib enforces this by
12369   generating an error when individual headers are directly included.
12370   To help with the transition, the enforcement is not turned on by
12371   default for GLib headers (it is turned on for GObject and GIO).
12372   To turn it on, define the preprocessor symbol G_DISABLE_SINGLE_INCLUDES.
12373
12374 * Win32:
12375   - rework the g_poll() implementation to match poll() semantics more closely
12376
12377 * Bugs fixed:
12378  324234 Using g_io_add_watch_full() to wait for connect() to return...
12379  548278 Async GETs connections are always terminated unexpectedly...
12380  500246 Bug fixes for giowin32
12381  523939 Example program for GValue
12382  550096 GBookmarkFile parser is not forward compatible
12383  550040 Move GString, rand and printf tests to the unit test framework
12384  550104 trivial documentation fix for g_get_home_dir
12385  548988 g_file_replace fails on Windows when the target file exists
12386  550059 Wrong docs for g_emblemed_icon_add_emblem
12387  548800 Missing a g_object_get_type function
12388  550056 Missing documentation for g_emblemed_icon_get_emblems
12389
12390 * Updated translations:
12391  Bulgarian (bg)
12392  Czech (cs)
12393  German (de)
12394  Estonian (et)
12395  Basque (eu)
12396  French (fr)
12397  Hebrew (he)
12398  Hungarian (hu)
12399  Italian (it)
12400  Japanese (ja)
12401  Lithuanian (lt)
12402  Maithili (mai)
12403  Dutch (nl)
12404  Swedish (sv)
12405  Thai (th)
12406  Ukrainian (uk)
12407  Vietnamese (vi)
12408
12409
12410 Overview of Changes from GLib 2.17.6 to GLib 2.17.7
12411 ===================================================
12412
12413 * More fixes for 64-bit Windows
12414
12415 * GIO
12416  - Add a vfs implementation for HTTP and HTTPS URIs on Windows
12417
12418 * Bugs fixed:
12419  546329 API docs for g_utf8_normalize() are incorrect
12420  546876 Modify GMarkup parser to accept &#x1; .. &#x1f;
12421  547200 g_utf8_find_next_char() issues
12422  547637 unconditional #include of sys/statfs.h in configure
12423  547337 G_DISABLE_DEPRECATED breaks tests build
12424  547832 gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict
12425  502498 Test framework assertion failures should follow gcc
12426  546371 Improve docs re g_file_monitor
12427  546483 GThemedIcon:use-default-fallbacks is not readable without...
12428  546132 GFileIcon is bindings-unfriendly
12429  542156 zfs mount in home directory shown on nautilus desktop 
12430  535124 umask 002 not being applied for new directories...
12431  547080 g_file_copy leaks expected errors
12432  546582 Callbacks from GFileMonitor present a GFile...
12433  547262 Missing link in the docs
12434
12435 * Updated translations:
12436  Arabic (ar)
12437  Catalan (ca)
12438  Spanish (es)
12439  Basque (eu)
12440  Finnish (fi)
12441  Galician (gl)
12442  Hebrew (he)
12443  Marathi (mr)
12444  Norwegian bokmål (nb)
12445  Portugese (pt)
12446  Brazilian Portugese (pt_BR)
12447  Swedish (sv)
12448  Thai (th)
12449
12450
12451 Overview of Changes from GLib 2.17.4 to GLib 2.17.6
12452 ===================================================
12453
12454 * Fix problems on 64-bit Windows
12455
12456 * g_markup_context_get_user_data: New function to access
12457   the user_data outside of callbacks
12458
12459 * GIO
12460  - g_mount_guess_content_type_sync: synchronous version of
12461    g_mount_guess_content_type
12462  - GEmblem: A GIcon implementation that adds emblem-related
12463    metadata to icons
12464  - GEmblemedIcon: A GIcon implementation that can add emblems
12465    to icons
12466
12467 * Bugs fixed:
12468  544088 option_test_LDADD is left in tests/Makefile.am
12469  544465 gmarkup makes it hard to use pre-rolled parsers
12470  545485 Implicit declaration of utime()
12471  545798 "Since: 2.18" mark is missing in g_set_error_literal...
12472  544140 fam-helper 64-bit issue
12473  529694 SELinux context setting support
12474  545157 wrong/no list of "open with" applications for .cc...
12475  545203 gfile.c: argument is different type
12476  545457 gdmsetup crashed with SIGSEGV in g_unix_mount_guess...
12477  544177 Fix trivial cut and paste error in documentation
12478  545395 Language tweak for g_value_set_string* docs
12479  541036 Gnumeric crashes when trying to open Desktop...
12480  546079 leak in xdgmime
12481  545395 Language tweak for g_value_set_string* docs
12482  546017 Don't copy attributes when copying a symlink
12483
12484 * Updated translations:
12485  Arabic (ar)
12486  Estonian (et)
12487  Galician (gl)
12488  Italian (it)
12489  Japanese (ja)
12490  Korean (ko)
12491  Norwegian bokmål (nb)
12492  Pashto (ps)
12493  Portugese (pt)
12494
12495
12496 Overview of Changes from GLib 2.17.3 to GLib 2.17.4
12497 ===================================================
12498
12499 * GIO:
12500  - New API to handle content types: g_mount_guess_content_type,
12501    g_content_type_guess_for_tree.
12502  - Export the eject-button signal on the volume monitor class
12503  - New API to enable out-of-process volume monitors: 
12504    g_volume_get_activation_root
12505
12506 * GObject:
12507  - New API to handle signals without slots in the class structure:
12508    g_signal_new_class_handler, g_signal_override_class_handler   
12509
12510 * Internationalization:
12511  - Add an NC_ macro that is a no-op equivalent of C_
12512
12513 * GMarkup:
12514  - Add two new functions g_markup_parse_context_push,
12515    g_markup_parse_context_pop to support "subparsers"
12516
12517 * Bugs fixed:
12518  541208 Functions to easily install and use signals without...
12519  541507 Ambiguous description of assigned characters in the...
12520  543040 async reading on dummy file will crash on GIO_USE_VFS=local
12521  543560 enable gio-FEN back-end warnings on Solaris will crash...
12522  528317 GRegex does not allow recursion limit
12523  337518 GMarkup: Subparser support
12524  541794 drive-eject-button signal
12525  541793 activation root for volumes
12526  467707 test_iconv_state() in tests/convert-test.c fails on AIX 5.3
12527  428048 2 of 51 tests fail on Solaris
12528  542332 small fix for error message in GMarkup
12529  482413 get_contents_stdio -- overflow and memory corruption
12530  406120 g_ascii_strtod
12531  334234 "printf" format error
12532  536996 Missing noop i18n macro equivalent to C_
12533  540616 mem leak in filechooser button
12534  539229 gobject-query calls itself query
12535  521589 [RFC] gobject documentation should mention Vala
12536  543168 Description of G_SLICE=debug-blocks discourages its use
12537  543220 Case collision on gio-extension-points.html
12538  530759 update the gobject tutorial to the XXI century
12539  535223 gbookmark file inefficiency ...
12540  543504 crash in Epiphany Web Browser: Opening local file
12541
12542 * Updated translation:
12543  German (de)
12544  Estonian (et)
12545  Pashto (ps)
12546  Albanian (sq)
12547  Thai (th)
12548  Traditional Chinese (zh_HK)
12549  Traditional Chinese (zh_TW)
12550
12551
12552 Overview of Changes from GLib 2.17.1 to GLib 2.17.3
12553 ===================================================
12554
12555 * PCRE
12556  - fix for CVE-2008-2371 
12557
12558 * Bugs fixed:
12559  538119 glib's mainloop leaks a pipe to sub-processes
12560  537635 Corrections and improvements to g_time_val_{to,from}_iso8601
12561  539067 The document g_io_channel_win32_new_fd() says...
12562  535949 annotate g_strip_context and g_dpgettext with G_GNUC_FORMAT
12563  539123 annotate g_d[n]gettext with G_GNUC_FORMAT
12564  539074 Cannot get exit status with g_spawn_command_line_sync
12565  316221 G_LOCK warns about breaking strict-aliasing rules
12566  539770 migrate gstrfunc unit tests to gtest
12567  539626 Update docstrings for g_object_freeze_notify and g_object_thaw_notify
12568  538044 unconditional use of LC_MESSAGES
12569  540545 Monotonic time and timer offset
12570  535947 want g_set_error_literal
12571  539999 glibconfig.h: add GLIB_USING_SYSTEM_PRINTF 
12572  536252 GFileEnumerator should allow access to the containing GFile
12573  538362 Get Win32 icons back in the file chooser
12574  540802 g_list_prepend doesn't concat lists
12575  540423 unrecoverable error after g_seekable_truncate
12576  538836 make check failure on PPC and ALPHA: pltcheck.sh on g_atomic_pointer_get
12577  539090 g_content_type_from_mime_type() should unalias
12578  540331 g_file_append_to () documentation: can return NULL
12579  534639 add g_desktop_app_info_new_from_keyfile
12580  536733 gio build failure on Irix
12581  536160 Add g_file_monitor()
12582  538127 FileChooser broken on win32
12583  531476 /live-g-file/test_traverse_structure test fails on Mac HFS+
12584  538564 gio should have gio-types.h
12585  540047 glib-genmarshal.c: '#include <io.h>' is too before
12586
12587 Updated translations:
12588  Korean (ko)
12589  Occitan (oc)
12590
12591
12592 Overview of Changes from GLib 2.17.0 to GLib 2.17.1
12593 ===================================================
12594
12595 * New function: g_utime(), a gstdio wrapper for utime()
12596
12597 * New functions: g_dgettext() and g_dngettext(), wrappers
12598   for corresponding gettext functions with added functionaliy
12599
12600 * Support the latest version of the shared-mime spec, including
12601   icons for mime types 
12602
12603 * New function: g_themed_icon_prepend_name()
12604
12605 * Bugs fixed: 
12606  535418 Please document which glib version defines goffset
12607  528715 Misprint in the description of the interface g_type_class_add_private
12608  528714 Misprint in the description of the interface g_param_spec_flags
12609  537260 Doc bug in G_TYPE_INSTANCE_GET_CLASS()
12610  530527 Misprint in the description of the interface 
12611         g_cclosure_marshal_VOID__FLAGS
12612  530526 Misprint in the description of the fields 'class_init' and 
12613         'class_finalize' of the structure GTypeInfo
12614  528719 Improvement to the documentation of the "g_object_connect" interface
12615  528172 gtk_signal_handlers_unblock_* functions return value
12616         amount of matched signals, not amount of actually unblocked
12617  528717 Misprint in the description of the parameter 'type_id' for 
12618         the interface g_type_register_fundamental
12619  528716 Misprint in the description of the parameter 'iface_data' for 
12620         the callback types GInterfaceInitFunc and GInterfaceFinalizeFunc 
12621  537555 GObject instantiation not thread safe
12622  537546 'desktop' shortcut in file chooser looks like a generic folder
12623  537392 Additional colon in xattr name
12624  536641 Filesystem querying in gio does not list AFS and autofs file systems
12625  528600 g_dummy_file_get_parent("scheme://example.com/")
12626  503071 Application direction changes to right to left even if theres no 
12627         translation
12628  502511 g_assert_cmphex prints invalid message
12629  338162 Use po/LINGUAS
12630  314453 Nautilus crashes in Solaris when browsing the attached file
12631  529321 make check fails in glib/pcre
12632  455215 g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD 
12633         fallback to $HOME/Desktop if xdg-user-dirs is not in use
12634  498732 g_key_file_to_data cannot fail
12635  511367 add g_file_make_directory_with_parents
12636  531900 Use __builtin_offsetof for G_STRUCT_OFFSET if building with 
12637         gcc 4.0 or newer
12638  536158 also bump GHashTable version when a node is removed via
12639         g_hash_table_iter_remove()/g_hash_table_iter_steal()
12640  531403 g_utf8_collate broken on Mac
12641  535628 test/patterntest.c still includes gpattern.h directly
12642  535625 alias.h:2648: error: 'utime' undeclared here (not in a function)
12643
12644 * Translation updates:
12645  Arabic (ar)
12646  German (de)
12647  Italian (it)
12648  Norwegian bokmål (nb)
12649  Thai (th)
12650
12651
12652 Overview of Changes from GLib 2.16.x to GLib 2.17.0
12653 ===================================================
12654
12655 * Update to Unicode 5.1
12656
12657 * Update included libcharset to the one shipped with libiconv 0.12
12658
12659 * Update included PCRE to 7.7
12660
12661 * Enforce that only toplevel headers are directly included.
12662   This is turned on by default for GObject and GIO. To turn
12663   it on for GLib, define G_DISABLE_SINGLE_INCLUDES.
12664
12665 * Fix library version of GIO.  GLib 2.16 shipped with libgio-2.0.so.0.0.0
12666
12667 * On Solaris, use FEN for file monitoring in GIO
12668
12669 * Use the GIO_EXTRA_MODULES environment variable to find
12670   additional GIO modules 
12671
12672 * G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size
12673   function attribute
12674
12675 * g_checksum_reset: New function to reset the state of a GChecksum 
12676
12677 * g_unix_mount_monitor_set_rate_limit: New function to limit the 
12678   rate at which events are reported
12679
12680 * g_file_query_file_type: New utility function to query the type of
12681   a file
12682
12683 * g_memory_output_stream_get_data_size: New function to obtain the
12684   size of the written data.
12685
12686 * Bugs fixed:
12687  522292 Gives warnings in glib/gutils.h with GCC in C99 mode
12688  523298 win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
12689  518160 replace two g_strdup_printf calls in GBookmarkFile
12690  523877 gbookmarkfile: avoid using g_string_append_printf() and
12691         other optimizations 
12692  525192 100% CPU if run main loop with no IO sources
12693  315437 extern inline -> static inline
12694  524314 g_convert() on Win32 implicitly converts full width
12695         alphanumerics into half width
12696  525732 Error in documentation for g_list_first
12697  525674 A typo in gmarkup.c
12698  448943 g_timeout_add_seconds() problems
12699  525972 UCS-4 not in the new win_iconv implementation
12700  526619 make test-report crash
12701  491554 Update to Unicode 5.1.0
12702  519137 g_slice_dup macro needs cast for 64-bit platform
12703  528752 Win32 build and SSL not working
12704  530457 G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
12705  528667 Typos in testing module documentation
12706  459905 Bug in wcwidth data
12707  534085 g_unichar_iswide_cjk() has a totally wrong table
12708  501651 Update glib/libcharset
12709  519026 G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
12710  534319 GLib's .pc files could use Libs.private
12711  534137 Typo in g_spawn_async_with_pipes doc
12712  517419 gio win32 directory monitor
12713  526796 Wrong order of arguments in g_file_copy's fallback
12714  530196 _g_local_file_has_trash_dir() doesn't handle st_dev == 0
12715  532965 Should not return filesystem::free for certain file systems
12716  525553 fix typo and nitpicking in GArray documentation
12717  526572 Missing * in declaration of parent_class in Object
12718         Destruction section of GObject Reference Manual
12719  528648 Extra >s in Object Construction section
12720  535021 g_param_spec_internal documentation should
12721         describe purpose of nick and blurb
12722  521513 Firefox crash when using file picker
12723  528433 gdesktopappinfo snafu ...
12724  533369 API g_file_info_get_attribute_string () unables to get "...
12725  521045 glib f_fstypename miscellany
12726  521672 compile error
12727  521946 control rate limit on GUnixMountMonitor
12728  522335 Fails to build: glib/gtester.c:276: error: 'ARG_MAX' unde...
12729  523015 Implement sliding window based upload operation
12730  523019 Use new GCC 4 feature
12731  523338 list nfs4 as a nfs mount type
12732  524350 Make glib build without NLS again
12733  524579 g_file_copy reports wrong total on progress callback for ...
12734  524742 A typo in gtestutils.c.
12735  524950 Minor documentation typos.
12736  525866 the user directory should not be considered as a mount to...
12737  526320 should not list mounts that the user doesn't have permiss...
12738  527132 nautilus crash when making ftp connection
12739  532852 CRITICAL **: totem_pl_parser_parse_with_base: assertion `...
12740  534759 Build failure in gio
12741  534764 Typo in error produced by g_file_make_directory
12742  521851 Redudant tests in gunixmounts.c
12743  524344 glib/gthread.h still use G_GNUC_PRETTY_FUNCTION
12744  525060 glib fails to build with -DG_DISABLE_ASSERT in CPPFLAGS o...
12745  534177 Invalid description of the interface g_cclosure_marshal_S...
12746  520715 Add GFile method g_file_query_file_type
12747  523039 nautilus can't access to trash/computer/network if gvfs i...
12748  
12749 * Updated translations:
12750  Arabic (ar)
12751  Bulgarian (bg)
12752  Catalan (ca) 
12753  Czech (cs)
12754  Greek (el)
12755  Candian English (en_CA)
12756  British English (en_GB)
12757  Spanish (es)
12758  Estonian (et)
12759  Basque (eu)
12760  Galician (gl)
12761  Hebrew (he)
12762  Hungarian (hu)
12763  Japanese (ja)
12764  Lithuanian (lt)
12765  Norwegian bokmål (nb)
12766  Dutch (nl)
12767  Occitan (oc)
12768  Portugese (pt)
12769  Russian (ru)
12770  Slovak (sk)
12771  Albanian (sq)
12772  Swedish (sv)
12773  Turkish (tr)
12774  Vietnamese (vi)
12775
12776
12777 Overview of Changes from GLib 2.16.0 to GLib 2.16.1
12778 ===================================================
12779
12780 * Fix a crash in g_themed_icon_new
12781
12782 * Update the included PCRE to 7.6
12783
12784
12785 Overview of Changes from GLib 2.15.6 to GLib 2.16.0
12786 ===================================================
12787
12788 * GLib now includes GIO, which adds optional dependencies against libattr
12789   and libselinux for extended attribute and SELinux support. Use
12790   --disable-xattr and --disable-selinux to build without these.
12791
12792 * Fix the definition of G_INLINE_FUNC to work with gcc 4.3.0
12793
12794 * GIO:
12795  - Add missing GMountMountFlags argument to g_unix_volume_mount
12796  - Fix the adopt_orphan_mount vfunc to take a volume monitor 
12797    reference
12798  - Add properties to GThemedIcon for bindings sake
12799
12800 * Bugs fixed:
12801  520484 gvfsd-trash crashed with SIGSEGV in g_path_is_absolute()
12802  510855 g_checksum_update(): Take -1 for length.
12803  517676 g_themed_icon_new*() do more than call g_object_new().
12804  518816 should handle rmdir returning EEXIST correctly
12805  519352 g_[s]list_delete_link() docs
12806  519489 Fixes for sparse warnings in gio
12807  520169 add monitor argument to vfunc for GVolumeMonitor
12808  520700 Add type check in g_file_query_exists
12809  521145 FILE_READ_ONLY_VOLUME not present on Mingw32
12810  518720 No MIME type for empty files
12811  521013 in documentation, goffset doesn't say "Since 2.x"
12812  521028 Missleading error messages from g_io_channel_set_encoding()
12813  517484 GMainLoop could set the thread "Alertable" for APCs to be... 
12814
12815 * Updated translations:
12816  Assamese (as)
12817  Bengali India (bn_IN)
12818  Czech (cs)
12819  German (de)
12820  Spanish (es)
12821  Estonian (et)
12822  Finnish (fi)
12823  French (fr)
12824  Gujarati (gu)
12825  Italian (it)
12826  Lithuanian (lt)
12827  Malayalam (ml)
12828  Marathi (mr)
12829  Norwegian bokmål (nb)
12830  Romanian (ro)
12831  Russian (ru)
12832  Slovak (sk)
12833  Ukrainian (uk)
12834
12835  
12836 Overview of Changes from GLib 2.15.5 to GLib 2.15.6
12837 ===================================================
12838
12839 * GIO:
12840  - New file attributes: trash::item-count, filesystem::use-preview
12841  - Rename g_file_contains_file to g_file_has_prefix
12842  - g_file_query_filesystem_info grew async variants
12843  - g_themed_icon_append_name: new convenience function
12844  - g_content_type_get_icon is implemented now
12845  - Only show mounts in /media and ~
12846  - g_file_contains_file has been renamed to g_file_has_prefix
12847
12848 * Win32:
12849  - g_win32_get_package_installation_directory_of_module: new function
12850    which supersedes g_win32_get_package_installation_directory
12851  - Use alertable wait functions so that I/O completion routines or 
12852    user-mode Asynchronous Procedure Calls can be run
12853  - Fix race conditions in g_spawn implementation on win32
12854
12855 * Other:
12856  - g_uri_get_scheme has been renamed go g_uri_parse_scheme
12857
12858 * Updated translations:
12859  Arabic (ar)
12860  Belarusian Latin (be@latin)
12861  Catalan (ca) 
12862  British English (en_GB)
12863  Finnish (fi)
12864  Galician (gl)
12865  Hebrew (he)
12866  Italian (it)
12867  Kannada (kn)
12868  Norwegian bokmål (nb)
12869  Dutch (nl)
12870  Brazilian Portugese (pt_BR)
12871  Vietnamese (vi)
12872
12873
12874 Overview of Changes from GLib 2.15.4 to GLib 2.15.5
12875 ===================================================
12876
12877 * Update the included PCRE to 7.6
12878
12879 * GIO:
12880  - g_volume_should_automount: new function to determine if a volume
12881    should be mounted automatically
12882  - g_file_query_default_handler: new convenience function to get
12883    the default handler for a file
12884  - g_app_info_launch_default_for_uri new convenience function to
12885    launch the default handler for a URI
12886  - Use mimeapps.list and defaults.list as discussed on xdg list
12887    recently
12888  - g_app_info_get_default_for_uri_scheme has a real implementation
12889    now (gvfs provides a GConf-based implementation)
12890  - There is the beginning of a test suite
12891  - standard::description:  new file attribute
12892  - GMountMountFlags flags argument added to mount calls
12893
12894 * GObject:
12895  - class initialization is now threadsafe
12896
12897 * Updated translations:
12898   Arabic (ar)
12899   Catalan (ca)
12900   Spanish (es)
12901   Basque (eu)
12902   Italian (it)
12903   Japanese (ja)
12904   Kannada (kn)
12905   Korean (ko)
12906   Macedonian (mk)
12907   Occitan (oc)
12908   Portugese (pt)
12909   Brazilian Portugese (pt_BR)
12910   Swedish (sv)
12911   Thai (th)
12912
12913
12914 Overview of Changes from GLib 2.15.3 to GLib 2.15.4
12915 ===================================================
12916
12917 * G_GNUC_PRETTY_FUNCTION has been deprecated
12918
12919 * GIO:
12920  - g_file_copy has an async variant now
12921  - Drives and volumes now have API to get identifiers
12922    like Hal UDIs or UUIDs.
12923  - There is now a registration API to let modules register
12924    extensions they provide, such as volume monitor implementations
12925
12926 * Bugs fixed:
12927   511807 g_time_val_to_iso8601() uses MT-unsafe gmtime() function
12928   316260 [patch] Doc patches for gnode (2.8.1)
12929   385132 solaris gettext support fix
12930   484261 ./configure check for system PCRE unicode support fails w...
12931   510292 GOption main help not shown
12932   511580 Implement g_file_copy_async
12933   511654 Compile errors due to C99 constructs
12934   487909 g_utf8_strreverse and combining marks
12935   512381 unused variable 'is_main_group' 
12936
12937 * Updated translations:
12938   Arabic (ar)
12939   Belarusian (be)
12940   Czech (cz)
12941   Spanish (es)
12942   French (fr)
12943   Galician (gl)
12944   Portugese (pt)
12945   Russian (ru)
12946   Swedish (sv)
12947   Thai (th)
12948
12949
12950 Overview of Changes from GLib 2.15.2 to GLib 2.15.3
12951 ===================================================
12952
12953 * GChecksum:
12954  - g_checksum_update can accept nul-terminated strings
12955  - The MD5 implementation works correctly on buffers 
12956    that are longer than 64 bytes
12957
12958 * GIO:
12959  - Don't include a copy of the inotify headers, rely on system headers
12960  - g_file_find_enclosing_mount has an async variant now
12961  - Reduntant seek API on file streams has been removed
12962
12963 * Bugs fixed:
12964   508602 gmemory{in|out}putstream.c: unknown pointer size
12965   508771 There is no g_file_test/exists() for GFile
12966   508773 g_uri_escape_string() documentation unclear.
12967   509465 AM_PATH_GLIB_2_0 doesn't support gio
12968   509626 async functions: Document allowed NULL callback?
12969   509990 GSeekable documentation unclear
12970   510448 No inotify support on ARM or SH5
12971   510855 g_checksum_update(): Take -1 for length. 
12972
12973 * Updated translations:
12974   Basque (eu)
12975   Marathi (mr)
12976   Swedish (sv)
12977   Ukrainian (uk)
12978
12979
12980 Overview of Changes from GLib 2.15.1 to GLib 2.15.2
12981 ===================================================
12982
12983 * GIO:
12984  - Mount operation API change: unhandled methods get reported via 
12985    the reply, rather than by the signal emission return value
12986  - File monitor API change: Add a GError argument to g_file_monitor_file
12987  - g_unix_mount_guess_should_display(): new function
12988
12989 * Bugs fixed:
12990   508224 [PATCH] FAM backend crashes due to double free
12991   508074 GAsyncResult documentation suggests g_freeing it.
12992   508108 GFile documentation slightly unclear.
12993   508309 rpc_pipefs mount points should be hidden
12994   508378 GFileInfo documentation implies that it changes attribute...
12995   508719 g_file_get_relative_path fails if parent is root
12996   508773 g_uri_escape_string() documentation unclear.
12997
12998 * Updated translations:
12999   Arabic (ar)
13000   Spanish (es)
13001   Hebrew (he)
13002   Italian (it)
13003   Korean (ko)
13004   Turkish (tr)
13005
13006
13007 Overview of Changes from GLib 2.15.0 to GLib 2.15.1
13008 ===================================================
13009
13010  * Portability fixes:
13011  - Assertion functions are marked as noreturn again
13012  - Handling of inline functions has been fixed to work with gcc 4.3
13013  - C99 comments have been removed from headers
13014  - The nonportable sed -i option is no longer used
13015
13016  * GIO:
13017   - Clarified the semantics of g_app_info_get_all()
13018   - API for memory input and output streams has been changed a bit
13019   - GDirectoryMonitor has been removed; GFileMonitor can monitor
13020     files and directories now
13021
13022  * Bugs fixed:
13023    504829 Invalid environment passed to g_spawn_async in g_desktop_...
13024    505258 crash in Users and Groups: Adding a user
13025    505815 g_content_types_get_registered should not g_free keys
13026    491218 g_timer_new() doesn't initialize timer->end
13027    315437 extern inline -> static inline
13028    476856 Inconsistency between standard and implementation of the ...
13029    480122 g_module_open fails to open modules with ".la" extension
13030    495589 gspawn.c failing to set FD_CLOEXEC
13031    500273 doesn't build with --disable-visibility
13032    504142 Do not show empty groups in --help output
13033    504879 giofam incorrectly linked
13034    505042 add file attribute for actually used file size in bytes
13035    505058 xattr namespace docs
13036    505674 Misprint in the definition of the macro G_CCLOSURE_SWAP_DATA
13037    505730 Fails to build on OSX 10.4: _NSGetEnviron not declared
13038    505887 older darwin lacks lchown
13039    506374 gmemoryinputstream api
13040    506461 Conversion of g_assert_not_reached() and friends into fun...
13041    503051 Small bug in glib interface
13042    506395 Updates to GIO documentation
13043    507628 Missing .pc entry for gio linking against glib
13044    505195 [patch] typo in g_try_new0 docs 
13045    507822 g{file,directory}monitor changes signal problem
13046    506377 gmemoryoutputstream write implementation
13047    507835 bug in gunixinputstream 
13048
13049  * Updated translations:
13050    Arabic (ar)
13051    Belarusian Latin (be@latin)
13052    Spanish (es)
13053    Basque (eu)
13054    Irish (ga)
13055    Hebrew (he)
13056    Occitan (oc)
13057    Vietnamese (vi)
13058
13059
13060 Overview of Changes from GLib 2.14.x to GLib 2.15.0
13061 ===================================================
13062
13063 Major new features:
13064
13065  * GIO: a VFS API, designed to replace GnomeVFS. The GIO implementation 
13066    in GLib has support for local filesystems. The new, separate gvfs 
13067    module contains various backend implementations (cifs, ftp, sftp,
13068    http, ...)
13069
13070  * GChecksum: provides various hash algorithms, such as MD5, SHA-1
13071    and SHA-256
13072  
13073  * GTest: a test framework 
13074  
13075 Smaller additions:
13076
13077  * GHash:
13078  - GHash has iterators, as an alternative to g_hash_table_foreach
13079
13080  * GMarkup: 
13081  - g_markup_parse_context_get_element_stack: New function to
13082    get the stack of open elements
13083  - G_MARKUP_PREFIX_ERROR_POSITION: New flag to improve error
13084    reporting
13085  - g_markup_collect_attributes: Convenience function for handling
13086    attributes
13087
13088 * GKeyFile: 
13089  - Functions that take a GError now return a boolean to indicate 
13090    success, instead of void
13091  - Various performance improvements
13092
13093 * GAsyncQueue:
13094  - g_async_queue_new_full: new function that allows to specify
13095    a free function for leftover elements
13096  
13097 * GError:
13098  - g_prefix_error and g_propagate_prefixed_error: New functions
13099    to ease error propagation
13100
13101 * Internationalization:
13102  - C_: A new 2-argument variant of the Q_() macro 
13103  - Use native character set conversion API on Windows
13104
13105 * GLib builds with automake 1.10
13106
13107 * Bugs fixed:
13108  455725 specific combination of g_utf8_strlen and g_pattern_match...
13109  467537 g_convert_with_iconv() not resetting iconv() state correc...
13110  497033 Commandline option parser should warn about missing optio...
13111  504527 gchecksum: Conditional jump or move depends on uninitiali...
13112  445362 Non-numeric local labels in gatomic.c are causing linker ...
13113  482313 gregex: no way to tell why compilation failed
13114  317775 main loops continues to run after g_main_loop_quit() has ...
13115  418778 Insufficient pkg-config version requirement
13116  436293 g_option_context_new() doc should mention that the string...
13117  466557 glib-mkenums shifts ARGV[0] to undefined
13118  468882 GKeyFile doesn't accept "True" as a true boolean value
13119  469551 application --help messages are garbaged on none UTF-8 lo...
13120  479724 Memory leak upon calling "g_main_loop_run" in the seconda...
13121  490061 outptrs uninitialized after g_parse_long_long
13122  490637 gobject documentation patch
13123  495294 glib-genmarshal prints warnings but returns 0
13124  496046 option to prefix location of errors for GMarkup
13125  498113 tests/regex-test fails on 64bit environment
13126  500506 Fails to build on OSX 10.4
13127  500638 gkeyfile speedup ...
13128  500875 Make check fails as there is no "test" target for "build"...
13129  502511 g_assert_cmphex prints invalid message
13130  502927 g_array_index triggers cast aligment warning
13131  503029 g_time_val_from_iso8601 parse non-ISO8601 dates
13132  503222 Need context to translate
13133  503420 gkeyfile leaks a hash table
13134  503470 Fix build when builddir != srcdir
13135  504227 Inverse variant for g_test_trap_assert_stdout, g_test_tra...
13136  71704  file include order
13137  491957 Misprint in the specification of the interface "g_main_co...
13138  491959 Misprint in description of the structure "GThreadPool"
13139  491965 Mistype in the specification of the function "g_hook_list...
13140  491966 Misprint in the specification of the interface "g_main_co...
13141  491968 The documentation does not mention the restriction for th...
13142  491970 The documentation for the interface "g_date_clamp" is inc...
13143  491974 The documentation of the interface "g_main_context_iterat...
13144  491975 The documentation for the interfaces "g_io_channel_read_u...
13145  491979 Misprint in the description of the interfaces g_key_file_...
13146  491982 Misprint in the description of the interface "g_key_file_...
13147  501107 EXTRA_DIST automake warnings
13148  501997 g_utf8_normalize() returns NULL on invalid string
13149  502590 C_/g_dpgettext efficiency
13150  464259 g_set_application_name() docs should say "Since 2.2"
13151  496518 gbase64.c API doc clarification
13152  498728 g_key_file_get_*_list should set length to 0 when returni...
13153  500361 Improve docs for g_array_free() and g_ptr_array_free()
13154  501853 g_checksum_get_digest docs
13155  503862 Allow NULL strings in g_parse_debug_string()
13156  142676 Q_
13157  367550 Add g_async_queue_new_full() with GDestroyNotify function
13158  375651 Minor enhancements to GKeyFile API
13159  443648 MD5 digest support
13160  449937 Upgrade auto* sources to be clean under automake1.9
13161  452887 gmarkup context "get element" function is useless when ca...
13162  491549 [PATCH] Eliminate libiconv dependency on Windows
13163  500507 GHashTableIter API 
13164
13165 * Translation updates
13166  Belarusian Latin (be@latin)
13167  Czech (cs)
13168  German (de)
13169  Spanish (es)
13170  Esperanto (et)
13171  French (fr)
13172  Korean (ko)
13173  Marathi (mr)
13174  Norwegian bokmål (nb)
13175  Brazilian Portugese (pt_BR)
13176  Slovenian (sl)
13177  Swedish (sv)
13178
13179
13180 Overview of Changes from GLib 2.14.2 to GLib 2.14.3
13181 ===================================================
13182
13183 * Update PCRE to 7.4
13184
13185 * Bugs fixed:
13186  487491 Fix some warnings from sparse
13187  488068 Small (one-time) memory leak in glib_gettext initialization
13188  493688 TYPE macro "_get_type ()" is documented wrong
13189
13190 * Updated translations:
13191  Arabic (ar)
13192  Belarusian Latin (be@latin)
13193  Estonian (et)
13194  Irish (ga)
13195  Slovenian (sl)
13196
13197  
13198 Overview of Changes from GLib 2.14.1 to GLib 2.14.2
13199 ===================================================
13200
13201 * Bugs fixed:
13202  476849 Invocation of the interface "g_hook_free" fails in certai...
13203  359165 marshallers can throw warnings with -Wunused
13204  477957 more discussion on g_value_set_object vs. g_value_take_ob...
13205  478459 G_DEFINE_DYNAMIC_TYPE_EXTENDED doesn't work with G_IMPLEM...
13206  483337 inline is disabled for MSVC when compiling C code
13207  478349 Broken link to gettext website
13208  469231 g_spawn optimization for setting all open fds to CLOEXEC 
13209
13210 * Updated translations:
13211 Arabic (ar)
13212 Galician (gl)
13213 Hebrew (he)
13214 Korean (ko)
13215
13216
13217 Overview of Changes from GLib 2.14.0 to GLib 2.14.1
13218 ===================================================
13219
13220 * Bugs fixed:
13221  476840 Invocation of the interface "g_utf8_strreverse" crashes f...
13222  444765 Fix FIXME in gregex.c when new pcre is out
13223  464145 g_markup_escape_text Produces Invalid XML
13224  465625 g_type_default_interface_ref() does not ensure working g_...
13225  466768 Clearify that comments can be put anywhere in a Key-file.
13226  474229 The GError documentation should give convention for the G...
13227  474899 G_BREAKPOINT() docs inaccurate
13228  475854 Overuse of -lpcre when using system pcre
13229  473879 Incorrect includes in gregex.c
13230  468694 Typoes in documentation
13231  469051 g_snprintf () talks about characters where it probably me...
13232  457601 Missing arch specific atomic implementation
13233  475923 Missing pcre flags when static-linking against glib
13234  475619 glibthread-2.0.la does not list -lpthread
13235
13236 * Updated translations:
13237  Bulgarian (bg)
13238  Catalan (ca)
13239  Danish (da)
13240  German (de)
13241  Canadian English (en_CA)
13242  British English (en_GB)
13243  Spanish (es)
13244  Estonian (et)
13245  Finnish (fi)
13246  French (fr)
13247  Gujarati (gu)
13248  Hungarian (hu)
13249  Italian (it)
13250  Georgian (ka)
13251  Kannada (kn)
13252  Lithuanian (lt)
13253  Makedonian (mk)
13254  Norwegian (nb)
13255  Dutch (nl)
13256  Polish (pl)
13257  Portugese (pt)
13258  Brazilian Portugese (pt_BR)
13259  Romanian (ro)
13260  Russian (ru)
13261  Albanian (sq)
13262  Serbian (sr, sr@Latn)
13263  Swedish (sv)
13264  Tamil (ta)
13265  Thai (th)
13266  Ukrainian (uk)
13267  Vietnamese (vi)
13268
13269
13270 Overview of Changes from GLib 2.13.7 to GLib 2.14.0
13271 ===================================================
13272
13273 * Last-minute API additions:
13274  - Make g_unichar_combining_class public
13275  - Add goffset type, add G_MAXSSIZE and G_MINSSIZE
13276
13277 * Update PCRE to 7.2
13278
13279 * Bugs fixed:
13280  453998 Make _g_unichar_combining_class() public
13281  462549 gregex.c: variable is declared at middle of block
13282  417068 g_file_test doc inconsistency
13283
13284 * Updated translations:
13285  Assamese (as)
13286  Basque (eu)
13287  Kannada (kn)
13288  Malayalam (ml)
13289  Dutch (nl)
13290  Polish (pl)
13291  Brazilian Portugese (pt_BR)
13292  Turkish (tr)
13293
13294
13295 Overview of Changes from GLib 2.13.6 to GLib 2.13.7
13296 ===================================================
13297
13298 * The memory corruption warning from the slice allocator that
13299   occurred when threads were initialized after the slice allocator
13300   has been removed, as the slice allocator now works fine
13301   in this scenario.
13302
13303 * New functions g_once_init_enter() and g_once_init_leave() make
13304   it easier to write threadsafe one-time initialization functions 
13305  
13306 * Bugs fixed:
13307  454473 Simple XML Subset Parser terminates on invalid XML
13308  445813 g_module_open error, add file name
13309  453796 errno gets clobbered by g_filename_display_name
13310  341988 don't use "-c" with msgfmt in Makefile.in.in
13311  447048 Please produce slightly more output during long tests
13312  454785 GModule documentation lists same block of code twice.
13313  454786 GModule documentation lists same paragraph twice.
13314  383155 small docs quirks in gobject/closure API documentation
13315  65041  _get_type() functions aren't thread safe
13316
13317 * Updated translations
13318  Assamese (as)
13319  Spanish (es)
13320  Gujarati (gu)
13321  Japanese (ja)
13322  Korean (ko)
13323  Macedonian (mk)
13324
13325
13326 Overview of Changes from GLib 2.13.5 to GLib 2.13.6
13327 ===================================================
13328
13329 * Reintroduce a GType typedef whose removal in 2.13.5
13330   caused trouble for C++ bindings
13331
13332 * Bugs fixed:
13333  450216 docs not explicit enough about g_free()
13334  451459 g_type_register_static_simple calls g_type_register_static
13335
13336 * Updated translations
13337  Norwegian bokmål (nb)
13338  Sinhala (si)
13339
13340
13341 Overview of Changes from GLib 2.13.4 to GLib 2.13.5
13342 ===================================================
13343
13344 * xdg-user-dirs support: 
13345  - the Desktop directory is guaranteed to be defined
13346  - user-dirs.dirs is no longer reloaded on changes
13347
13348 * Slice allocator: 
13349  - new api to duplicate slices
13350
13351 * Regular expression support:
13352  - GRegex is a boxed type now
13353
13354 * Bugs fixed:
13355  44793 make check failing in trunk
13356  354522 Small problem with PLT hiding 6 symbols
13357  363986 glib 2.12.4 does not compile with SGI IDO cc
13358  443869 g_type_class_add_private doesn't warn when adding 0-sized...
13359  446859 Legitimately return 0 for g_quark_from_string(NULL)
13360  447534 Small typo in g_timeout_add_seconds() doc
13361  447583 GStaticRWLock
13362  447935 g_get_current_dir SIGSEGV on long path
13363  448260 CLAMP has surprising result if low > high
13364  57693  g_string_vprintf()
13365  442029 add g_slice_dup()
13366  445065 Add GRegex boxed type
13367  448819 Add full version of g_timeout_add_seconds()
13368
13369 * Updated translations: 
13370  Swedish (sv)
13371  Oriya (or)
13372  Hebrew (he)
13373  Spanish (es)
13374  Estonian (et)
13375
13376  
13377 Overview of Changes from GLib 2.13.3 to GLib 2.13.4
13378 ===================================================
13379
13380 * Bugs fixed:
13381  444121 g_get_user_special_dir deadlocks
13382  444161 invalid UTF8 in key name shows up as valgrind error in g_...
13383  444130 g_option_context_get_help() is broken when there's a desc...
13384
13385
13386 Overview of Changes from GLib 2.13.2 to GLib 2.13.3
13387 ===================================================
13388
13389 * GKeyFile:
13390  - Added defines for easier handling of desktop files
13391
13392 * Unicode support:
13393  - Update g_unichar_iswide_cjk for Unicode 5.0
13394
13395 * Regular expression support:
13396  - GRegex structs can now be ref-counted
13397  - Some new functions for dealing with incremental 
13398    replacement have been added
13399  - The GRegexEvalCallback signature has been changed
13400
13401 * g_get_user_special_dir() has been added to support
13402   xdg-user-dirs
13403
13404 * Bugs fixed:
13405  419376 Functions using named subpatterns behave inconsistently w...
13406  434358 g_regex_fetch_named() and g_regex_fetch_named_pos() are b...
13407  423708 typo in the README.win32 file see patch below
13408  339225 Add new defines for easier handling of .desktop files 
13409  442265 API additions/changes for GRegex
13410  432651 Add a glib-ish xdg_user_dir_lookup
13411
13412 * Updated translations:
13413  Estonian (et)
13414  Norwegian bokmål (nb)
13415
13416
13417 Overview of Changes from GLib 2.13.1 to GLib 2.13.2
13418 ===================================================
13419
13420 * Unicode support:
13421  - Add g_unichar_ismark()
13422
13423 * GOption:
13424  - Allow to use callbacks for remaining args
13425
13426 * Updated translations:
13427   Belarusian Latin (be@latin)
13428   British English (en_GB)
13429   Galician (gl)
13430   Norwegian bokmål (nb)
13431   Oriya (or)
13432   Spanish (es)
13433   Thai (th)
13434
13435
13436 Overview of Changes from GLib 2.13.0 to GLib 2.13.1
13437 ===================================================
13438
13439 * GRegex:
13440  - Portability fixes
13441  - Split into immutable GRegex and GMatchInfo
13442  - Add g_regex_get_max_backref() and g_regex_get_capture_count()
13443    to obtain information about the compiled regex
13444
13445 * GKeyFile:
13446  - Fix roundtrip problems
13447  - Add g_key_file_load_from_dirs()
13448
13449 * Unicode support:
13450  - Fix corner cases in case conversion routines
13451
13452 * GOption:
13453   - Add a function to get the formatted help string
13454
13455 * GHash:
13456  - Add new functions g_hash_table_get_keys() and
13457    g_hash_table_get_values() to retrieve the keys and
13458    values in list form
13459
13460 * Updated transations:
13461   Simplified Chinese (zh_CN)
13462   Arabic (ar)
13463
13464
13465 Overview of Changes from GLib 2.12 to GLib 2.13.0
13466 =================================================
13467
13468 * Add GSequence, a list that is implemented using
13469   a balanced binary tree.
13470
13471 * Add GRegex, an implementation of Perl regular expressions,
13472   based on PCRE.
13473  
13474 * Use Posix monotonic clocks instead of gettimeofday()
13475   for GTimer when available.
13476
13477 * Support static initialization of GQeues with G_QUEUE_INIT,
13478   g_queue_init() and g_queue_clear().
13479
13480 * Add g_string_chunk_clear() for clearing a 
13481   GStringChunk.
13482
13483 * Add g_unichar_get_script() to obtain Unicode
13484   script information.
13485
13486 * Add g_unichar_iszerowidth() to obtain information
13487   about zero-width characters.
13488
13489 * Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias 
13490   type attribute.
13491
13492 * G_GNUC_INTERNAL has a working definition for the
13493   Sun Studio compiler. This requires the macro to
13494   be positioned before the function declaration.
13495
13496 * The slice allocator can produce detailed debugging
13497   information with G_SLICE=debug-blocks.
13498
13499 * Modules support G_DEBUG flags resident-modules and
13500   bind-now-modules.
13501
13502 * Add G_DEFINE_DYNAMIC_TYPE() to make it easier
13503   to define types in modules.
13504
13505 * Bug fixes: too many to list them in detail here.
13506
13507 * New and updated translations (be,bg,bn,ca,cs,de,
13508   en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml,
13509   nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN,
13510   zh_HK,zh_TW)
13511
13512
13513 Overview of Changes from GLib 2.12.1 to GLib 2.12.2
13514 ===================================================
13515
13516 * Unicode updates:
13517  - Normalization is following Unicode TR #29
13518  - g_unichar_isxdigit() only accept characters
13519    for which g_unichar_xdigit_value() returns a value
13520  - g_unichar_toupper and g_unichar_tolower leave
13521    unconvertable characters in place instead of
13522    replacing them by NUL
13523
13524 * Bugs fixed
13525  348491 g_utf8_strup() and g_utf8_strdown() returns 
13526         string with NUL bytes
13527  349825 GKeyFile always inserts a newline before a group
13528  347842 g_unichar_isxdigit() is too general about what 
13529         it considers a digit
13530  348694 g_utf8_normalize() hasn't been updated to PR #29
13531  348785 Hint about G_DEBUG in Message Logging docs
13532  349792 Wrong english string (UI)
13533  349952 gparamspecs.c uses gcc feature
13534
13535 * Translation updates (ca,cs,de,dz,es,eu,fi,gu,ko,
13536   nl,pl,tr,uk,zh_HK,zh_TW)
13537
13538
13539 Overview of Changes from GLib 2.12.0 to GLib 2.12.1
13540 ===================================================
13541
13542 * Update to final Unicode Character Database 5.0.0
13543
13544 * Bugs fixed:
13545  346660 issues with base64 api documentation / g_base64_decode_cl...
13546  348136 Coverity reports allocation of wrong size CID #2839
13547  336281 Update to UCD 5.0
13548  346197 g_date_strftime %F option doesnt work for win32
13549  348011 Small optimization to real_toupper()
13550  246494 prototype mismatch in glib/gconvert.c
13551
13552 * New and updated translations (bg,bn_IN,ca,dz,eu,fi,
13553   fr,he,it,ja,mk,or,pt)
13554
13555
13556 Overview of Changes from GLib 2.11.4 to GLib 2.12
13557 =================================================
13558
13559 * Bugs fixed:
13560  344905 leap-year bug in g_time_val_from_iso8601 w/o HAVE_TIMEGM
13561
13562 * Updated translations (cy,nb,nl)
13563
13564
13565 Overview of Changes from GLib 2.11.3 to GLib 2.11.4
13566 ===================================================
13567
13568 * GBookmarkFile:
13569  - g_bookmark_file_remove_item returns a boolean
13570  
13571 * g_mkstemp accepts the XXXXXX in the middle of
13572   the template
13573  
13574 * Bugs fixed:
13575  344868 g_key_file_to_data should separate groups 
13576
13577 * Updated translations (de,es,fr,gu,hi,ko,th)
13578
13579
13580 Overview of Changes from GLib 2.11.2 to GLib 2.11.3
13581 ===================================================
13582
13583 * GBookmarkFile:
13584   - g_bookmark_file_move_item: Return TRUE in case of
13585     an empty target
13586
13587 * Bugs fixed: 
13588  343919 gunicollate.c: strxfrm bug on VC8
13589
13590 * Updated translations (fi)
13591
13592 Overview of Changes from GLib 2.11.1 to GLib 2.11.2
13593 ===================================================
13594
13595 * Add g_ascii_stroll to parse signed 64bit integers
13596
13597 * GMarkup: add a flag to treat CDATA as text
13598
13599 * GHashTable: add functions to remove all entries
13600
13601 * GMainLoop: add functions to find the currently
13602   running source, and determine if it is destroyed
13603
13604 * Bug fixes:
13605  342563  g_atomic_thread_init() needs to be called before 
13606          other _g_*_thread_init() functions
13607  343548  Potential use after free in callers of g_string_free() 
13608  168538  Wish: Clearing contents of GHashTables
13609  321886  GTK+ cannot be reliably used in multi-threaded 
13610          applications
13611  341826  goption.c: 'strtoll' is C99's function
13612  343899  g_ascii_formatd dosn't work as expected for all 
13613          format strings
13614  317793  Make GEnumValue strings const
13615  337129  Compile warnings in G_IMPLEMENT_INTERFACE
13616  303622  What is G_TYPE_CHAR?
13617
13618 * Updated translations (bg,dz,eu,gl,ja,ko,nl,th,vi)
13619  
13620
13621 Overview of Changes from GLib 2.11.0 to GLib 2.11.1
13622 ===================================================
13623
13624 * GOption  
13625   - Support 64-bit integers 
13626   - Allow optional text before and after the options
13627     in help output
13628
13629 * Bug fixes:
13630  340538 gbase64-test writes OOB 
13631  340816 GKeyFile set_string_list invalid memory reads 
13632  339105 g_key_file_parse_value_as_double
13633  340434 convert-test.c fails (function test_one_half)
13634  311043 Memory leaks (and potential infinite loops) 
13635         when using G_ERRORCHECK_MUTEXES
13636  335198 Error checking mutexes are fubar  
13637  341237 Add a G_OPTION_ARG_INT64
13638  341192 g_io_channel_set_flags not implemented on win32
13639  336120 Allow adding description before/after GOption 
13640         --help output body
13641  341191 misplaced check in g_relation_delete
13642  340530 mismatched calloc / g_free in win32 threads
13643
13644 * Updated translation (es)
13645
13646 Overview of Changes from GLib 2.10.x to GLib 2.11.0
13647 ===================================================
13648
13649 * GBookmarkFile: a parser for files containing bookmarks
13650   stored using the Desktop Bookmark specification.
13651
13652 * Base64 encoding support
13653         
13654 * Unicode 5.0 support
13655
13656 * GOption supports floating point numbers 
13657
13658 * GKeyFile supports floating point numbers
13659
13660 * Bug fixes:
13661  155884 gatomic.c should be based on new SDK
13662  157877 update-desktop-database doesn't handle duplicate entries
13663  164719 keyfile parser doesn't support floats
13664  327662 Import BookmarkFile from libegg
13665  329548 Add G_OPTION_ARG_DOUBLE
13666  329789 option-test.c type confusion
13667  332841 Segmentation Fault when %llu is passed to vasnprintf and 
13668         HAVE_SNPRINTF is not defined
13669  333879 gthread/gthread-win32.c: IsDebuggerPresent needs '#define 
13670         _WIN32_WINDOWS 0x0401'
13671  333916 g_timer_elapsed docs should mention that microseconds 
13672         may be NULL
13673  334440 dlerror() portability issue causes crash on (old) a.out 
13674         NetBSD platform
13675  334646 goption + error out params
13676  334799 g_remove() must check return value of remove()
13677  334943 make check FAIL: threadpool-test
13678  335215 Some breakages with GThreadPool
13679  336085 g_option_context_new parameter lacks better explanation
13680  336677 Documentation for g_object_ref_sink() is incorrect
13681  337027 gbookmarkfile.c: sys/time.h include error
13682  337553 Wrong escaping of URIs
13683  338572 Dereferencing NULL value in g_key_file_get_group_comment
13684  338845 g_completion_complete_utf8 crashes when NULL is passed to it
13685  339337 g_bookmark_file_set_description
13686  339338 gbookmarkfile.c, function expand_exec_line
13687  339340 gbookmarkfile.c, function bookmark_app_info_dump
13688
13689 * Translation updates (bg,en_GB,et,gl,gu,he,hi,ka,nb,nl,nn,
13690                        or,pt_BR,ro,tr,vi,zh_CN)
13691
13692
13693 Overview of Changes from GLib 2.10.0 to GLib 2.10.1
13694 ===================================================
13695
13696 * Bugs fixed:
13697  314794 Broken pthread detection on Darwin [Gregor Riepl]
13698  322476 Missing check for .dylib [Vladimir Panov]
13699  333651 Inconsistent _g_charset_get_aliases prototype [Julio 
13700         M. Merino Vidal]
13701  333761 GInitiallyUnowned breaks application code [Sven Herzberg]
13702
13703 * Win32 changes:
13704  - Fix g_listenv() implementation.
13705  - Allow up to 100 GPrivate structs
13706
13707 * Translation updates (fr,hu,lt,pl,sv)
13708
13709
13710 Overview of Changes from GLib 2.9.6 to GLib 2.10.0
13711 ==================================================
13712
13713 * The functions g_snprintf() and g_vsnprintf() have been removed from
13714   the gprintf.h header, since they are already declared in glib.h. This
13715   doesn't break documented use of gprintf.h, but people have been known
13716   to include gprintf.h without including glib.h.
13717
13718 * The Unicode support has been updated to Unicode 4.1. This adds several
13719   new members to the GUnicodeBreakType enumeration.
13720
13721 * The support for Solaris threads has been retired. Solaris has provided
13722   POSIX threads for long enough now to have them available on every
13723   Solaris platform.
13724
13725 * 'make check' has been changed to validate translations by calling
13726   msgfmt with the -c option. As a result, it may fail on systems with
13727   older gettext implementations (GNU gettext < 0.14.1, or Solaris gettext).
13728   'make check' will also fail on systems where the C compiler does not
13729   support ELF visibility attributes.
13730
13731 * The GMemChunk API has been deprecated in favour of a new 'slice
13732   allocator'. See the g_slice documentation for more details.
13733
13734 * A new type, GInitiallyUnowned, has been introduced, which is
13735   intended to serve as a common implementation of the 'floating reference'
13736   concept that is e.g. used by GtkObject. Note that changing the
13737   inheritance hierarchy of a type can cause problems for language
13738   bindings and other code which needs to work closely with the type
13739   system. Therefore, switching to GInitiallyUnowned should be done
13740   carefully. g_object_compat_control() has been added to GLib 2.8.5
13741   to help with the transition.
13742
13743 * Bugs fixed:
13744  328997 64bit pointer trunction in glib slab-allocator
13745         [Pascal Hofstee]
13746  331110 g_cond_broadcast(inform_cond) without holding 
13747         inform_mutex [Chris Wilson, Sebastian Wilhelmi]
13748  332093 Fix some leaks in the tests [Kjartan Maraas]
13749  332435 g_utf8_strlen returns wrong value if a maximum 
13750         number of bytes to check is specified 
13751         [Matthias Clasen]
13752  331367 gslice requires more POSIX-like semantics for 
13753         GPrivate destructors [Tor Lillqvist]
13754
13755 * Documentation improvements [Matthias, Kang Jeong-Hee,
13756   Tor Lillqvist, Stefan Kost]
13757
13758 * Translation updates (el,eu,ka,uk)
13759
13760 Overview of Changes from GLib 2.9.5 to GLib 2.9.6
13761 =================================================
13762
13763 * Bugs fixed: 
13764  329124 distclean removes README [Kjartan Maraas, Tim Janik]
13765  317679 GRelation field type not documented [Behdad Esfahbod]
13766  329123 Typo in GTime docs [Kjartan Maraas]
13767
13768 * Documentation improvements [Sven Herzberg, David
13769   Schleef, Kjartan Maraas, Behdad Esfahbod]
13770
13771 * Translation updates (cs,cy,it,ko,pt,sq,sr,sr@Latn,ru
13772
13773 Overview of Changes from GLib 2.9.4 to GLib 2.9.5
13774 =================================================
13775
13776 * Memory management: 
13777   Runtime debugging support: The slice allocator
13778   can be turned off by setting G_SLICE=always-malloc
13779   in the environment. Zeroing of freed memory can
13780   now be turned on at runtime by setting
13781   G_DEBUG=gc-friendly in the environment. [Tim Janik]
13782
13783 * Bugs fixed:
13784  328253 HP-UX/IA-64 uses ".so" as default shared library 
13785         extension [Albert Chin]
13786  143380 unicode-encoding test fails converting to UTF-16 
13787         with libiconv [Marc Moorcroft]
13788  328254 Build breakage (GSlice) [Jens Ganseuer]
13789  328705 C99ism in glib/gmem.c [Kazuki Iwamoto]
13790
13791 * Translation updates (da,et,zh_CN)
13792
13793 Overview of Changes from GLib 2.9.3 to GLib 2.9.4
13794 =================================================
13795
13796 * Type system:
13797   Fix a problem with g_object_compat_control() which 
13798   can lead to segfaults in GTK+ applications on 64bit 
13799   platforms. 
13800
13801 * Thread suppport: 
13802   Unused threads now fall back to the global pool after 
13803   500 milliseconds, where they wait for another 
13804   max-idle-time milliseconds. [Sebastian Wilhelmi]
13805
13806 * Fix a memory allocation problem in GKeyFile. [Morten 
13807   Welinder]
13808
13809
13810 Overview of Changes from GLib 2.9.2 to GLib 2.9.3
13811 =================================================
13812
13813 * GTree:
13814  - Replace the simple recursive implementation by
13815    a nonrecursive, threaded one  [Maurizio Monge]
13816
13817 * Change g_filename_display_name and
13818   g_filename_display_basename to use the Unicode
13819   replacement character U+FFFD instead of a question
13820   mark, and don't append "(invalid encoding)"  [Matthias]
13821
13822 * Documentation improvements [Sven Herzberg, Federico
13823   Mena Quintero, Stefan Kost]
13824
13825 * Bugs fixed:
13826  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X 
13827         [Bogdan Nicula]
13828  326558 Some test failures on IRIX 6.5 [Daichi Kawahata]
13829  169285 "threaded" tree implementation for GTree 
13830         [Maurizio Monge]
13831  326747 g_filename_display_basename adds (invalid encoding) 
13832         [Alberto Ruiz]
13833
13834 Other contributors: Christian Kellner, Murray Cumming
13835
13836 New and updated translations (bg,ca,de,es,et,gu,ja,nl,th,vi)
13837
13838
13839 Overview of Changes from GLib 2.9.1 to GLib 2.9.2
13840 =================================================
13841
13842 * Memory management:
13843  - Add tests for cache colorization [Tim Janik]
13844  - Minimize space consumption if small amounts of differently
13845    sized slices are allocated, at a small performance cost.  [Tim]
13846
13847 * Thread support:
13848  - Add g_atomic_pointer_set() and g_atomic_int_set() [Tim Janik,
13849    Sebastian Wilhelmi]
13850  - Add g_thread_pool_set_sort_function() to allow sorting the 
13851    tasks of a threadpool.  [Martyn Russell]
13852  - Add g_thread_pool_set_idle_time() to allow unused threads
13853    to exit after a certain time.  [Martyn]
13854
13855 * Type system:
13856  - introduce a new type GInitiallyUnowned, which has an initial
13857    floating reference. [Tim]
13858  - Add support for GType parameters. [Matthias]
13859
13860 * Main loop:
13861  - Add g_main_context_is_owner() to determine if the current
13862    thread is the owner of the context.  [Michael Meeks]
13863
13864 * Provide g_access(), g_chdir(), g_unlink(), g_rmdir() as 
13865   wrapper functions instead of macros.  [Manish Singh]
13866
13867 * Documentation improvements [Tim, Matthias, Federico Mena Quintero,
13868   Stefan Kasal, Dan Williams]
13869
13870 * New and updated translations (en_CA,fi,fr,gl,ml,nb,no,zh_HK,zh_TW)
13871
13872 * Bugs fixed:
13873  324179 g_allocator_new() returns pointer to const dummy which Gtk+ 2.8 
13874         tries to modify [J. Ali Harlow]
13875  324332 g_option_context_parse() returns false without setting error 
13876         [Tim-Philipp Müller]
13877  324950 GLIB 2.9.1 testcase errors [Dan Yefimov]
13878  325015 gslice.c: process.h is needed on Windows [Kazuki Iwamoto]
13879  321978 G_DATALIST_GET_FLAGS() macro is not casting datalist to 
13880         gpointer [Andrew Paprocki]
13881  316221 G_LOCK warns about breaking strict-aliasing [Michal Benes, 
13882         Stanislav Brabec]
13883  325273 Error in documentation for glib_check_version () [Declan Naughton]
13884  325310 g_spawn_sync hangs when catching both stdout and 
13885         stderr [Tor Lillqvist]
13886  325249 gcc warning when using g_rmdir from <glib/gstdio.h> [Jani Monoses]
13887  325864 glib/gthreadpool.c:"#define debug(...)" is C99 [Kazuki Iwamoto]
13888  325874 Should say somewhere that source IDs are > 0 [Dan Williams]
13889  325438 a typo (compatability) [Stefan Kasal]
13890  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X [Bogdan Nicula]
13891
13892
13893 Overview of Changes from GLib 2.9.0 to GLib 2.9.1
13894 =================================================
13895
13896 * Memory management
13897  - The slice allocator is implemented [Tim Janik]
13898  - g_slice_free_chain() has been renamed to 
13899    g_slice_free_chain_with_offset()  [Tim, Behdad Esfahbod]
13900  - Mem chunks are deprecated [Matthias Clasen]
13901
13902 * Data structures
13903  - Hash tables are refcounted, and have a boxed type [Tim]
13904
13905 * Thread support
13906  - Support for Solaris threads has been removed 
13907    [Sebastian Wilhelmi, Andrew Paprocki]
13908  - g_async_queue_sort(), g_async_queue_push_sorted() have 
13909    been added to allow GAsyncQueue to be used as a priority 
13910    queue, together with the corresponding _unlocked 
13911    variants  [Martyn Russell]
13912
13913 * GObject:
13914  - The concept of a floating initial reference has been
13915    moved from GtkObject to GObject [Tim]
13916
13917 * Win32 changes:
13918  - Make g_rename() replace existing files [Tor Lillqvist]
13919
13920 * Misc new API:
13921  - G_GUINT64_CONSTANT macro to define guint64 
13922    constants [Andrew Paprocki]
13923  - G_GNUC_WARN_UNUSED_RESULT macro to instruct the 
13924    compiler to emit a warning if the value returned
13925    by a function is ignored. [Arjan van de Ven, Alex Larsson]
13926  - GList and GSList now have sort functions which take an
13927    extra user data argument [Martyn Russell]
13928  - g_param_spec_ref_sink() has been added for consistency [Tim]
13929
13930 * $LOGNAME is respected when determining user data. [Laszlo Peter]
13931
13932 * Other changes and bug fixes [Tim, Matthias, Behdad, 
13933   Christian Persch, Benedikt Meurer, Andrew Paprocki, 
13934   Kazuki Iwamoto, Alexis S. L. Carvalho, Stanislav Brabec,
13935   Andreas Schwab, Kalle Vahlman]
13936
13937 * Documentation
13938  - Deprecation warnings carry version information [Matthias]
13939  - The slice allocator has been documented [Matthias, Tim]
13940  - Other improvements [Morten Welinder]
13941
13942 Overview of Changes from GLib 2.8.x to GLib 2.9.0
13943 =================================================
13944 * Unicode support:
13945  - The Unicode tables have been updated to Unicode 4.1, 
13946    adding several new values to the GUnicodeBreakType 
13947    enumeration. This breaks Pango <= 1.10 
13948    [Behdad Esfahbod]
13949  - The various Unicode character predicate functions 
13950    (g_unichar_isalpha, g_unichar_isdigit,...) have
13951    been optimized
13952    [Behdad]
13953  - g_utf8_pointer_to_offset, g_utf8_offset_to_pointer:
13954    These functions handle negative offsets now, and
13955    going backwards in g_utf8_offset_to_pointer uses
13956    "stutter stepping".
13957    [Larry Ewing, Matthias Clasen]
13958
13959 * Memory management:
13960  - Mem chunks are no longer used internally in GLib and
13961    GObject. GMemChunk will be deprecated in GLib 2.10
13962  - All APIs based on GAllocator (g_list_push/pop_allocator,
13963    and similar push/pop_allocator functions for other
13964    data structures) have been deprecated, since they
13965    never worked as intended.
13966  - The g_slice_* functions have been added as a 
13967    new API for fast allocation of small memory blocks. 
13968    The implementation in GLib 2.9.0 is just a simple 
13969    wrapper around malloc. GLib 2.10 will have an
13970    efficient and scalable implementation. 
13971    [Tim Janik, Matthias]
13972
13973 * Pattern matching:
13974  - g_pattern_match has been optimized to avoid
13975    unnecessary recursion.
13976    [Tim, Matthias]
13977
13978 * g_intern_string, g_intern_static_string: 
13979  - New functions to intern strings. These are now used 
13980    by GObject to avoid duplicating static strings 
13981    [Matthias]
13982
13983 * g_thread_foreach: 
13984  - New function to iterate over all GThreads 
13985    [Tim, Matthias]
13986
13987 * g_date_set_time_t, g_date_set_time_val:
13988  - New functions to set a GDate from a time_t or
13989    GTimeVal value. g_date_set_time has been deprecated 
13990    in favor of these.
13991    [Roger Leigh]
13992
13993 * g_snprintf and g_vsnprintf:
13994  - These functions are no longer declared in gprintf.h, 
13995    since they are in glib.h
13996    [Matthias]
13997
13998 Overview of Changes from GLib 2.8.0 to GLib 2.8.1
13999 =================================================
14000 * Optimize single-character insertions in GString [Ross Burton]
14001 * Fix build problems on OS X
14002 * Fix build problems on Win32 [Tor Lillqvist, Hans Breuer]
14003 * Other bug fixes [Matthew F. Barnes, Stepan Kasal] 
14004 * Documentation improvements [Tristan van Berkom, Behnam
14005   Esfahbod, Gustavo Carneiro, Stepan Kasal, Matthias]
14006 * New and updated translations (ca,cy,ko,ro,uk)
14007
14008 Overview of Changes from GLib 2.7.7 to GLib 2.8.0
14009 =================================================
14010 * Make g_value_transform() handle enum values
14011   correctly on ppc64.  [Michael Lorenz]
14012   (Third-party code accessing enumeration values 
14013   in GValues should also be changed to access 
14014   v_long, not v_int, in order to work on bigendian 
14015   64bit machines.)
14016 * Make g_flags_get_first_value() handle a value
14017   of 0 meaningfully. [Tim-Philipp Müller] 
14018
14019 Overview of Changes from GLib 2.7.6 to GLib 2.7.7
14020 =================================================
14021 * Make atomic operations on s390 work [Matthias]
14022 * Fix C++ guards in gstdio.h [Tor Lillqvist]
14023
14024 Overview of Changes from GLib 2.7.5 to GLib 2.7.6
14025 =================================================
14026 * Add native implementations of atomic operations 
14027   on s390 [Matthias]
14028 * Make atomic reference counting of closures
14029   work on s390 [Matthias]
14030 * Avoid an infinite loop in g_convert_with_iconv().
14031   [Sebastian Bacher]
14032 * Documentation improvements [Ross Burton]
14033
14034 Overview of Changes from GLib 2.7.4 to GLib 2.7.5
14035 =================================================
14036 * Thread-related changes
14037  - Fix build issues on HP-UX [Paul Cornett]
14038  - Threadsafe access to flags stored in datasets [Tim Janik]
14039  - Fix several issues with atomic refcounting for 
14040    closures, objects and paramspecs [Tim]
14041  - Improve tests for atomic refcounting changes [Tim]
14042 * Fix handling of stateful encodings in g_convert_* [Matthias]
14043 * Fix translation of GOption help output [Dan Winship]
14044 * Catch format errors in translations. This may cause 
14045   "make check" to fail when using older versions
14046   of gettext [Matthias]
14047 * Win32 bug fixes [Tor Lillqvist]
14048 * Documentation improvements [Ross Burton, Jochen Baier, 
14049   Matthias, Tim]
14050 * New and updated translations (de,fi,gu,pl,pt,tr,zh_TW)
14051
14052 Overview of Changes from GLib 2.7.3 to GLib 2.7.4
14053 =================================================
14054 * Fix g_atomic_pointer_compare_and_exchange 
14055   on Sparc64 [Gert Doering]
14056 * Fix a hang in g_thread_pool_free. [Hong Jen Yee]
14057 * Win32 bug fixes [Tor Lillquist]
14058 * Other bug fixes [Benoit Dejean, Manish Singh]
14059 * Documentation improvements [Bryan Silverthorn,
14060   Callum McKenzie] 
14061 * New and updated translations (de,lt,sq,zh_CN)
14062
14063 Overview of Changes from GLib 2.7.2 to GLib 2.7.3
14064 =================================================
14065 * GOption
14066  - Allow callbacks with optional arguments [Pawel Sliwowski]
14067  - Allow to turn off the automatic long option name
14068    disambiguation  [Adam McLaurin]
14069  - Only allow printable ASCII as short option names [Matthias]
14070 * Win32
14071  - Build fixes [Tor Lillqvist]
14072  - Rewrite iochannel socket implementation [Tor]
14073 * GObject
14074  - Threadsafety improvements; in particular, refcounting
14075    of objects is done atomically now. [Wim Taymans, Tim Janik]
14076 * Bug fixes [Morten Welinder, Matthias, Wim Taymans]
14077 * Documentation improvements [Richard Laager, Matthias]
14078 * New and improved translations (bf,cs,hu,nb,nl,no)
14079
14080 Overview of Changes from GLib 2.7.1 to GLib 2.7.2
14081 =================================================
14082 * Win32 build fixes [Hans Breuer]
14083 * Bug fixes [Mikael Magnusson]
14084 * Documentation improvements [Matthias Clasen]
14085 * New and updated translations (en_CA,es,et,ja,sr,sr@Latn,zh_TW)
14086
14087 Overview of Changes from GLib 2.7.0 to GLib 2.7.1
14088 =================================================
14089 * GOption 
14090  - Allow callback arguments without parameters [Dan Winship]
14091 * GMappedFile: an mmap wrapper [David Schleef, Behdad Esfahbod]
14092 * Misc new functions:
14093  - g_get_host_name [Tor Lillqvist]
14094  - g_mkdir_with_parents [Tor]
14095  - g_build_pathv, g_build_filenamev [Todd A. Fisher, 
14096    Matthias Clasen]
14097 * Bug fixes [Roger Leigh, Masatake YAMATO, Kjartan Maraas,
14098   Manish Singh, Tor, Murray Cumming, Kian Duffy, Morten Welinder]
14099 * Documentation improvements [Hong Gang XU, Dan Winship, Matthias]
14100 * New and updated translations (bg,cs,da,en_CA,es,et,nb,nl,no,
14101   sk,th,zh_TW)
14102
14103 Overview of Changes from GLib 2.6.x to GLib 2.7.0
14104 =================================================
14105 * GKeyFile
14106  - Add unit tests [Matthias Clasen, Suren A. Chilingaryan]
14107  - Accept \r\n as line end [Bastian Nocera]
14108  - Don't interpret leading zeros as octal numbers. [Matthias]
14109  - Make key and group removal work [David Hoover, Matthias Hasselmann]
14110 * GOption
14111  - Improve formatting of --help output [Matthias, Noah Levitt]
14112  - Accept -? [Matthias]
14113  - Warn about duplicate main groups [Jeff Franks]
14114  - Treat '-' as non-option argument [Tim Musson, Thomas Leonard]
14115  - Report missing arguments as errors [Björn Lindqvist]
14116  - Add a boxed type for GDate [Tim-Philipp Müller]
14117 * GTree
14118  - g_tree_remove() and g_tree_steal() return status information [Matthew F. Barnes]
14119 * Stdio wrappers
14120  - Work regardless of large file support [Manish Singh]
14121  - Add g_access(), g_chmod(), g_creat(), g_chdir [Tor Lillqvist]
14122 * GObject
14123  - Implement "toggle references" to help language bindings [Owen Taylor]
14124  - Allow to mark names, nicks and blurbs of pspecs as static [Ben Maurer, Matthias]
14125  - Make pspec lookup a bit faster [Morten Welinder]
14126 * Add g_listenv() to list all set environment variables [Hans Petter Jansson]
14127 * Add g_file_set_contents() to atomically write a file.  [Søren Sandmann,
14128   Sven Neumann, Manish, Alexis S. L. Carvalho]
14129 * Add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew() [Stefan Kost]
14130 * Add g_utf8_collate_key_for_filename() to sort filenames taking
14131   extensions and numeric suffixes into account.  [Ole Laursen, Alex Larsson]
14132 * Add G_GNUC_NULL_TERMINATED to mark varargs function with 
14133   NULL-terminated argument lists. [Marc Meissner]
14134 * Win32 changes
14135  - Improved debugability [Ulf Lamping, Hans Breuer]
14136  - Make filename handling more robust [Tor, Billy Skaggs]
14137  - Improve g_get_system_data_dirs() [Tor]
14138  - Use more precise timers [Tor]
14139  - Build fixes [Kazuki Iwamoto, Hans, Tor, Robert Ögren]
14140 * Other bug fixes [Roger Leigh, Owen, Matthias, Morten, Kjartan Maraas, 
14141   Pawel Sakowski, Tor, Simon Budig, Ed Avis, Manish, Nicolas Laurent, 
14142   Bastien, Fabrício Barros Cabral, Michael Banck, Daniel Atallah, 
14143   J. Ali Harlow, Tim Janik, Hazael Maldonado Torres, Sven, Jon-Kare Hellan,
14144   Dave Benson, Tommi Komulainen, Benjamin Otte, Brian Cameron, Changwoo Ryu, 
14145   Christian Biere, Noah, Benoît Carpentier]
14146 * Documentation improvements [Vincent Untz, Matthias, Tim-Philipp Müller,
14147   Morten, Matthew, Federico Mena Quintero, Sebastian Bacher, Oliver Sessink, 
14148   Stefan, Jared Lash, Tor, Owen, Daniel Vaillard, Mathieu Lacage]
14149 * New and updated translations (ca,cs,da,el,en_CA,en_GB,es,et,eu,fa,fr,gl,
14150   hu,id,it,lt,mn,ne,nl,pl,pt,pt_BR,ro,rw,sk,sq,sr,sr@Latn,tl,uk,xh,zh_CN)
14151
14152 Overview of Changes from GLib 2.6.0 to GLib 2.6.1
14153 =================================================
14154 * GOption
14155  - Make gtk_init(NULL, NULL) work again [Marcin Krzyzanowski]
14156  - Improve handling of -- [Matthias Clasen]
14157  - Don't show G_OPTION_REMAINING in --help output [Matthew F. Barnes]
14158 * g_find_program_in_path() doesn't return directories [Tommi Komulainen]
14159 * Add gmodule-export-2.0.pc [Matthias]
14160 * Win32 changes
14161  - Improve hangling of UNC paths [Tor Lillqvist]
14162  - g_getenv(), g_setenv(), g_unsetenv(), g_find_program_in_path()
14163    take and return UTF-8 now [Tor] 
14164  - Make g_file_test() work more reliably, and use PATHEXT
14165    when check for executables [Tor]
14166  - Build and cross-compilation fixes [J. Ali Harlow]
14167 * Other bug fixes [Jens Hatlak, Morten Welinder, 
14168   Tor, Kalpesh Shah, Adrian Bunk]
14169 * Documentation improvements [Marcin Krzyzanowski, Tor, Crispin
14170   Flowerday, Mariano Suárez-Alvarez, Christian Biere, Danny Milo,
14171   Vincent Untz, Bastien Nocera]
14172 * New and updated translations (cy,de,nl,ru,sq,sv)
14173
14174 Overview of Changes from GLib 2.4.x to GLib 2.6.0
14175 =================================================
14176
14177 * GLib 2.6 introduces the concept of 'GLib filename encoding', which is the
14178   on-disk encoding on Unix, but UTF-8 on Windows. All GLib functions
14179   returning or accepting pathnames have been changed to expect
14180   filenames in this encoding, and the common POSIX functions dealing
14181   with pathnames have been wrapped. These wrappers are declared in the
14182   header <glib/gstdio.h> which must be included explicitly; it is not
14183   included through <glib.h>.
14184
14185   On current (NT-based) Windows versions, where the on-disk file names
14186   are Unicode, these wrappers use the wide-character API in the C
14187   library. Thus applications can handle file names containing any
14188   Unicode characters through GLib's own API and its POSIX wrappers,
14189   not just file names restricted to characters in the system codepage.
14190
14191   To keep binary compatibility with applications compiled against
14192   older versions of GLib, the Windows DLL still provides entry points
14193   with the old semantics using the old names, and applications
14194   compiled against GLib 2.6 will actually use new names for the
14195   functions. This is transparent to the programmer.
14196
14197   When compiling against GLib 2.6, applications intended to be
14198   portable to Windows must take the UTF-8 file name encoding into
14199   consideration, and use the gstdio wrappers to access files whose
14200   names have been constructed from strings returned from GLib.
14201
14202 * Likewise, g_get_user_name() and g_get_real_name() have been changed
14203   to return UTF-8 on Windows, while keeping the old semantics for
14204   applications compiled against older versions of GLib.
14205
14206 * The GLib uses an '_' prefix to indicate private symbols that
14207   must not be used by applications. On some platforms, symbols beginning
14208   with prefixes such as _g will be exported from the library, on others not.
14209   In no case can applications use these private symbols. In addition to that,
14210   GLib+ 2.6 makes several symbols private which were not in any installed
14211   header files and were never intended to be exported.
14212
14213 * To reduce code size and improve efficiency, GLib, when compiled
14214   with the GNU toolchain, has separate internal and external entry
14215   points for exported functions. The internal names, which begin with
14216   IA__, may be seen when debugging a GLib program.
14217
14218 * On Windows, GLib no longer opens a console window when printing
14219   warning messages if stdout or stderr are invalid, as they are in
14220   "Windows subsystem" (GUI) applications. Simply redirect stdout or
14221   stderr if you need to see them.
14222
14223 * The child watch functionality tends to reveal a bug in many
14224   thread implementations (in particular the older LinuxThreads
14225   implementation on Linux) where it's not possible to call waitpid()
14226   for a child created in a different thread. For this reason, for
14227   maximum portability, you should structure your code to fork all
14228   child processes that you want to wait for from the main thread.
14229
14230 * A problem was recently discovered with g_signal_connect_object();
14231   it doesn't actually disconnect the signal handler once the object being
14232   connected to dies, just disables it. See the API docs for the function
14233   for further details and the correct workaround that will continue to
14234   work with future versions of GLib.
14235
14236 * Major new APIs
14237   - GOption, a commandline option parser
14238   - GKeyFile, a parser/editor for the .ini like files 
14239   - Functions to support the XDG basedir specification
14240   - Wrappers for common POSIX pathname functions to handle filename
14241     encodings consistently. On Windows, these use UTF-8.
14242
14243 * Miscellaneous new functions
14244   - g_filename_display_name() converts filenames in displayable UTF-8 strings
14245   - g_uri_list_extract_uris() splits uri lists
14246   - g_date_get_iso8601_week_of_year() gets ISO 8601 week numbers
14247   - g_log_set_default_handler() installs an alternate default log handler
14248   - g_get_language_names() obtains a list of applicable locale names
14249   - g_strv_length() calculates the length of NULL-terminated string arrays
14250   - g_win32_get_windows_version() determines the Windows version 
14251   - G_GNUC_INTERNAL marks functions as non-exported
14252   - glib_check_version() checks the GLib version at runtime
14253   - g_debug() completes the family of logging functions
14254
14255 * Performance improvements
14256   - Optimize g_utf8_validate()
14257   - Optimize g_markup_parse_context_parse()
14258   - Reduce signal connection complexity from O(n) to O(1) 
14259   - Get rid of many PLT entries for internally used exported symbols
14260   - Reduce code size by removing literal strings from g_return_if_fail()
14261
14262 * Other changes
14263   - On Windows, GLib functions that take file name arguments now require
14264     those to be in UTF-8. Functions that return file names return UTF-8.
14265   - Use higher precision for mathematical constants
14266   - Don't convert to/from UTF-8 in g_filename_to_uri/g_filename_from_uri
14267   - Support ll as printf format modifier for long long on all platforms
14268   - Clean up the ABI and enforce the list of exported symbols
14269   - Add a .pc file for using gmodule in libraries
14270   - Require ngettext
14271
14272 Overview of Changes from GLib 2.5.7 to GLib 2.6.0
14273 =================================================
14274 * GOption: Don't list help options if group-specific
14275   options have been requested [Glynn Foster]
14276 * Make g_get_language_names() track locale changes [Christian Persch]
14277 * Win32 bug fixes [Tor Lillqvist]
14278 * Bug fixes [Philippe Blain, Owen Taylor, Sebastian Wilhelmi]
14279 * New and updated translations (da,es,ja,lt,zh_CN)
14280 Bugs fixed: 159530,100697,160271,160645,157255
14281
14282 Overview of Changes from GLib 2.5.6 to GLib 2.5.7
14283 =================================================
14284 * Optimize g_utf8_validate() [Owen Taylor, Matthias Clasen]
14285 * Optimize g_markup_parse_context_parse() [Havoc Pennington, 
14286   Morten Welinder]
14287 * Reduce signal connection complexity from O(n) to O(1) 
14288   [Sven Neumann]
14289 * Add a .pc file for using gmodule in libraries [Owen]
14290 * Add G_GNUC_MALLOC to mark functions returning newly 
14291   allocated memory  [Matthias]
14292 * Win32 bug fixes [Hans Breuer, Tor Lillqvist, Robert Ögren,
14293   Bruce Hochstetler]
14294 * Bug fixes [Kazuki IWAMOTO, Matthias, Manish Singh, Morten,
14295   Frederic Crozat, Tor]
14296 * Documentation improvements [Matthias, Tor, Owen]
14297 * New and updated translations (cs,da,de,en_CA,en_GB,es,nb,nl,sq,zh_CN)
14298
14299 Overview of Changes from GLib 2.5.5 to GLib 2.5.6
14300 =================================================
14301 * GOption
14302   - Add G_OPTION_FLAG_REVERSE to allow options 
14303     which unset a  boolean variable [Tor Lillqvist]
14304 * GChildWatch
14305   - Use sigaction instead of signal [Jonas Jonnson, 
14306   Archana Shah]
14307   - Make the very first SIGCHLD work [Gustavo Carneiro]
14308 * Bug fixes [Morten Welinder, Tor, David MacLachlan,
14309   Manish Singh, J. Ali Harlow]
14310 * Documentation improvements [Matthias Clasen, Tor]
14311 * Updated translations (da,ja,tr,zh_CN)
14312
14313 Overview of Changes from GLib 2.5.4 to GLib 2.5.5
14314 =================================================
14315 * GKeyFile
14316   - Cleanups, add more error checking [Ray Strode]
14317   - Fall back to the untranslated string when getting 
14318     locale strings [Mark McLoughlin]
14319 * GOption
14320   - Document GOption [Matthias Clasen]
14321   - Better support for rest arguments [Owen Taylor, Matthias]
14322   - Handle conflicts between groups [Matthias]
14323 * Add g_lstat() to the stdio wrappers [Tor Lillqvist]
14324 * Add g_filename_display_name() to convert filenames
14325   in displayable UTF-8 strings  [Alex Larsson, Matthias]
14326 * Win32 bug fixes [Kazuki IWAMOTO, Hans Breuer, Tor]
14327 * Bug fixes [Christophe Fergeau, Morten Welinder, 
14328   Owen, Kjartan Maraas, Mark]
14329 * Documentation improvements [Matthias, Tor]
14330
14331 Overview of Changes from GLib 2.5.3 to GLib 2.5.4
14332 =================================================
14333 Add GKeyFile, a parser/editor for the .ini like files used in various
14334    freedesktop.org specifications. [Ray Strode]
14335 Make the handling of filename encodings consistent across all
14336    GLib functions, introduce wrappers for common POSIX 
14337    functions which accept the same filename encoding. [Tor Lillqvist, 
14338    Owen Taylor]
14339 GOption
14340  - Rename g_context_option_error_quark() to a more language-binding
14341    friendly name [Murray Cumming]
14342  - Accept backslashes in filenames on Win32 [Tor Lillqvist]
14343 * Strip the internal aliasing prefix IA__ from function names in 
14344   assertions [Matthias Clasen]
14345 * Add a function to split uri lists. [Matthias]
14346 * Win32 bug fixes 
14347  - Don't open console windows [Tor]
14348 * Other bug fixes [Philippe Blain, Robert Ögren, Hidetaka Iwai, Matthias,
14349  Morten Welinder, Mats-Ola Persson, Tor, Nickolay V. Shmyrev, Kjartan Maraas,
14350   Anders Carlsson, Tim-Philipp Müller, Lucas Rocha, Andrea Campi, Manish
14351   Singh, Thomas Fitzsimmons, Kazuki IWAMOTO]
14352 * Documentation improvements [Matthias, Linus Walleij, Nickolay, Philippe, 
14353  Adam Hooper, Gustavo Carneiro]
14354 * New and updated translations (cs,en_CA,en_GB,ja,nb,nl,or,sr,sr@Latn,sq)
14355
14356 Overview of Changes from GLib 2.5.2 to GLib 2.5.3
14357 =================================================
14358 * GOption
14359  - set the program name from argv[0] [Masatake YAMATO] 
14360  - make contexts work without a main group [Anders Carlsson]
14361 * Performance 
14362  - Get rid of many PLT entries for internally used exported symbols,
14363    and clean up the ABI at the same time and make make check check the
14364    list of exported symbols.  [Matthias Clasen]
14365 * Add API to get ISO 8601 week numbers [Niklas Lundell]
14366 * Add API to install an alternate default log handler [Darin Adler]
14367 * Add API to obtain a list of applicable locale names [Hidetoshi Tajima]
14368 * Reduce code size bloat by removing literal strings from
14369  the g_return_if_fail() macros [Owen Taylor]
14370 * Add g_strv_length [Tim-Philipp Müller]
14371 * Win32 changes
14372  - Add API to determine the Windows version [Tor Lillqvist]
14373 * Other bug fixes [Stepan Kasal, Anders, Tor, Kazuki Iwamoto,
14374   Manish Singh]
14375 * Documentation improvements [Morten Welinder, Matthias]
14376 * New and updated translations (es,nn,ro)
14377
14378 Overview of Changes from GLib 2.5.1 to GLib 2.5.2
14379 =================================================
14380 * Add G_GNUC_INTERNAL macro [Arjan van de Ven]
14381 * Add GOption, a commandline option parser [Anders Carlsson]
14382 * Add glib_check_version [Michael Natterer]
14383 * Add XDG basedir API [Ray Strode]
14384 * Require ngettext [Danilo Segan]
14385 * Bug fixes [Manish Singh, Ray Strode, Vincent Noel, 
14386   Jon-Kare Hellan, Jody Goldberg]
14387 * Win32 bug fixes [Tor Lillqvist, Hans Breuer, Peter Zelezny]
14388 * Documentation improvements [Matthias Clasen, Vincent Untz, Christian Persch]
14389 * New and updated translations (bs,eu,fi,gu,ne,pa)
14390
14391 Overview of Changes from GLib 2.5.0 to GLib 2.5.1
14392 =================================================
14393
14394 * Bug fixes [Oliver Guntermann, Sven Neumann, James 
14395   Henstridge, Hiroyuki Ikezoe, Matthias Clasen, Robert 
14396   Ögren, Tommi Komulainen]
14397 * Documentation improvements [Soeren Sandmann, 
14398   Christophe Fergeau, Danek Duvall]
14399 * New and updated translations (eu,hi)
14400   
14401 Overview of Changes from GLib 2.4.1 to GLib 2.5.0
14402 =================================================
14403
14404 * New functions g_debug [Sven Herzberg]
14405 * Use higher precision for mathematical constants [Morten 
14406  Welinder]
14407 * Don't convert to/from UTF-8 in g_filename_{to,from}_uri 
14408  [Federico Mena Quintero]
14409 * Win32
14410  - Handle empty digit string in printf() functions 
14411    correctly [Tor Lillqvist]
14412  - Support ll as format modifier for long long [Tor]
14413  - Be more careful about HOME [Tor, Ivan Wong]
14414  - Bug fixes [John Ehresman]
14415 * Miscellaneous bug and portability fixes [Danilo Segan, 
14416  Owen Taylor, Nikolai Weibull, Benoît Carpentier, Morten 
14417  Welinder, Manish Singh, Sven Neumann, Julio M. Merino Vidal,
14418  Kaz Sasayama, Murray Cumming, Federico, Mariano Suarez-Alvarez]
14419 * Documentation updates [Matthias Clasen, Crispin Flowerday,
14420  Tommi Komulainen, Federico Mena Quintero, Ed Griffiths]
14421 * New and updated translations (ja,ne,no,wa)
14422  
14423 Overview of Changes from GLib 2.4.0 to GLib 2.4.1
14424 =================================================
14425
14426 * Win32 bug fixes [Tor Lillqvist, Roger Leigh, John Ehresman]
14427 * Miscellaneous bug and portability fixes [Owen Taylor,
14428   Matthias Clasen, Jonas Jonsson, Christian Krause,
14429   Nickolay V. Shmyrev, Christophe Saout, Philippe Blain,
14430   Piotr Klaban]
14431 * Documentation updates [Matthias]
14432 * New and updated translations (ca,cs,cy,el,en_CA,en_GB,es,eu,fi,
14433   fr,gu,he,id,nl,pt,pl,ru,sr,sr@ije,sr@Latn,sv,uk)
14434
14435 Overview of Changes from GLib 2.3.6 to GLib 2.4.0
14436 =================================================
14437
14438 * Handle invalid-UTF-8 in g_log() properly [Matthias Clasen]
14439 * Win32 bug fixes [Tor Lillqvist, Bruce Hochstetler]
14440 * Miscellaneous bug and portability fixes [Olivier Biot, David L. Cooper II, 
14441   Kjartan Maraas, Frédéric L. W. Meunier, Christof Petig, Manish Singh, 
14442   Sebastian Wilhelmi]
14443 * Documentation updates [Owen]
14444 * Updated translations (hr,ro)
14445
14446 Overview of Changes from GLib 2.3.5 to GLib 2.3.6
14447 =================================================
14448
14449 * GAtomic bug fixes [Sebastian Wilhelmi, Mark McLoughlin]
14450 * GMain threading fixes and improvements [Sebastian]
14451 * Win32 [Tor Lillqvist]
14452  - restore some symbols extraneously exported from gobject to maintain ABI compatibility
14453  - Misc build improvements and fixes [Tor, Cedric Gustin, Hans Breuer]
14454 * Documentation updates [Sebastian, Takeshi AIHANA, Matthias, Sven Herzberg]
14455 * New and updated translations (be,es,fi,ga,pa,sr@ije,zh_CN)
14456
14457 Overview of Changes from GLib 2.3.3 to GLib 2.3.5
14458 =================================================
14459
14460 * Make glib-mkenums parse initializers with macros. [Matthias Clasen, muppet]
14461 * Respect locale era in g_date_set_parse(). [Theppitak Karoonboonyanan] 
14462 * Add atomic operations and use it for the async queue and
14463   gonce implementation. [Sebastian Wilhelmi]
14464 * Documentation improvements [Sebastian, Matthias, Sven Herzberg]
14465 * Add g_main_depth() for finding the recursion depth of the main
14466   loop [Owen Taylor, Tim Janik, Stefan Westerfeld]
14467 * Add g_spawn_close_pid(), needed on win32 [J. Ali]
14468 * Win32 fixes. [Hans Breuer, J. Ali Harlow]
14469 * Misc bugfixes [Sebastian, Matthias, Balazs Scheidler, Owen]
14470 * Updated translations (cy,et,ga,sq)
14471
14472 Overview of Changes from GLib 2.3.2 to GLib 2.3.3
14473 =================================================
14474
14475 * Add a native AIX gmodule implementation. [Laurent Vivier]
14476 * Add g_node_copy_deep().  [James M. Cape, Matthias Clasen]
14477 * Extend GQueue API to match the GList API. [Soeren Sandmann]
14478 * Add g_hash_table_find().  [Tim Janik]
14479 * Add a G_MODULE_BIND_LOCAL flag. [David Schleef]
14480 * Inline g_string_append_c() when possible. [Owen Taylor, Tim]
14481 * Wrap waitpid() as a GSource. [Jonathan R. Blandford]
14482 * Add g_completion_complete_utf8(). [Theppitak Karoonboonyanan, 
14483   Matthias]
14484 * Add g_strsplit_set(). [Soeren]
14485 * Documentation improvements. [Vincent Untz, Sebastian Wilhelmi, 
14486   Soeren, Matthias]
14487 * Win32 build fixes. [Tor Lillqvist]
14488 * Misc bugfixes [Manish Singh, Noah Levitt, Simon Josefsson, 
14489   Morten Welinder, Damien Carbery, Julio M. Merino Vidal, Sebastian, 
14490   Matthias]
14491 * Updated translations (nn,cs,it,ko,sq,ms,az,hr,uk,sr,sr@Latn,sq,ta)
14492
14493 Overview of Changes from GLib 2.3.1 to GLib 2.3.2
14494 =================================================
14495
14496 * Add G_MAXSIZE. [Manish Singh]
14497 * Add g_rand_new_with_seed_array(), g_rand_set_seed_array(),
14498   implementing the init-by-array functionality of the 
14499   original mersenne twister. Add g_rand_copy(). Improve seeding. 
14500   [George Lebl]
14501 * Add a lowercase_name option to glib-mkenums. [Murray Cumming]
14502 * Add g_ptr_array_foreach(). [Matthias Clasen]
14503 * Add g_timer_continue(). [Tim-Philipp Müller]
14504 * Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
14505 * Fix g_filename_{to,from}_utf8() on Win32 and improve 
14506   g_file_test() there too [Hans Breuer] 
14507 * Add a boxed type for NULL-terminated string arrays.  [Matthias]
14508 * Add G_DEFINE_TYPE() plus variants to ease the constuction
14509   of GObject boilerplate code.  [Tim Janik]
14510 * Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
14511 * Documentation improvements [Matthias, Manish]
14512 * Win32 build fixes [Hans]
14513 * Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, 
14514   Zack Rusin]
14515 * Updated translations (ar,de,fa,ga,mn,nn,no,sq)
14516
14517 Overview of Changes from GLib 2.3.0 to GLib-2.3.1
14518 =================================================
14519
14520 * Add glib/gi18n.h and glib/gi18n-lib.h for common
14521   gettext support, including a Q_() macro for translation
14522   with context [Matthias Clasen]
14523 * Add a more flexible G_FILENAME_ENCODING variable
14524   as a replacement for G_BROKEN_FILENAMES [Matthias]
14525 * Fix the return value g_main_context_iterate() for
14526   newly ready sources [Padraig O'Briain]
14527 * Handle Hangul composition for normalization [Noah Levitt]
14528 * Add G_{MIN,MAX,MAXU}INT{8,16,32}. [Mark Jones, Matthias]
14529 * Add G_GSIZE_FORMAT/G_SSIZE_FORMAT [Manish Singh]
14530 * Add G_STRFUNC as a portable wrapper for __func__ [Tim Janik]
14531 * Documentation improvements [Matthias]
14532 * GObject [Tim Janik]
14533  - Support '-' in g_signal_connect()/disconnect() names
14534    like 'swapped-signal'.
14535  - Add g_type_class_peek_static() and use to optimize
14536    g_object_new() for static types [Tim]
14537  - Allow setting construct-only properties from within
14538    init() implementations
14539  - Enforce readability/writeability in g_object_set/get()
14540 * Fix bug with g_ascii_strtod and multi-byte separator.
14541   [Behdad Esfahbod, Roozbeh Pournader]  
14542 * Misc bug fixes [Matthias, John Ehresman, Andrew Lanoix,
14543   Tor Lillqvist, Mark McLoughlin, Tim-Philipp Müller, Manish, 
14544   Morten Welinder]
14545 * Updated translations (ca,cs,da,es,fr,ja,nn,no,pt,ru)
14546
14547 Overview of Changes from GLib 2.2.x to GLib-2.3.0
14548 =================================================
14549
14550 * Replace Trio printf by gnulib vasnprintf [Matthias Clasen]
14551 * Update Unicode data to Unicode 4.0 [Noah Levitt]
14552 * Support XML-safe formatted output with 
14553   g_markup_[v]printf_escaped [Owen Taylor]
14554 * Add g_file_read_link to read symbolic links [Matthias]
14555 * Add g_unichar_get_mirror_char to obtain the 
14556   mirrored variant of a character [Noah]
14557 * Support for one-time initialization functions. 
14558   [Sebastian Wilhelmi]
14559 * Miscellaneous API additions: g_vasprintf
14560   g_string_chunk_insert_len, g_setenv, g_unsetenv [Matthias]
14561 * Docs improvements [Matthias]
14562 * Add support instance-private data on classed types
14563   [Mark McLoughlin, Tim Janik, Owen]
14564 * Optimize signal emissions [Soeren Sandmann, Tim]
14565 * Support a "default vtable" per interface [Tim]
14566 * Add support for properties on interfaces [Owen, Tim]
14567 * Miscellaneous API additions: g_value_take_string(),
14568   g_value_take_param(), g_value_take_object(), 
14569   g_value_take_boxed(). [Matthias]
14570 * Win32 build fixes [Tor Lillqvist]
14571
14572 Overview of Changes from GLib 2.1.5 to GLib-2.2.0
14573 =================================================
14574
14575 * Fix a problem with g_thread_init() on 64-bit problems
14576   [Alceste Scalas, Sebastian Wilhelmi]
14577 * Add assembly implementations of byteswap macros
14578   for ia64 and x86_64. [Manish Singh]
14579 * IOChannel fixes for Win32 [Tor Lillqvist, Thorsten Maerz]
14580 * Updated translations (bg,ca,es,da,fi,lv,ru,sk)
14581
14582 Overview of Changes from GLib 2.1.4 to GLib-2.1.5
14583 =================================================
14584
14585 * Win32 bug fixes [Tor Lillqvist]
14586 * Various post-rewrite fixes for glib-gettext.m4 [Owen Taylor,
14587   Jody Goldberg, Kjartan Maraas, Johannes Stezenbach]
14588 * Ensure we have a GUINT64_FORMAT by pulling in Trio
14589   if necessary [Manish Singh]
14590 * Further Trio build fixes [Matthias Clasen, Owen]
14591 * Hack around gcc, libtool issues with -pthread [Owen]
14592 * Docs improvements [Matthias]
14593 * Bug and portability fixes 
14594 * Updated and new translations (bg,de,fi,fr,sq,fr)
14595
14596 Other contributors: Kai Poitschke, Morten Welinder
14597
14598 Overview of Changes from GLib 2.1.3 to GLib-2.1.4
14599 =================================================
14600
14601 * autoconf changes to make it possible to cross compile
14602   GLib. [Owen Taylor, Dan Kegel, Amy Lin, Dimi Shahbaz, 
14603   Johannes Stezenbach]
14604 * Use libintl when it has bind_textdomain_codeset() and
14605   GLib doesn't. [Owen]
14606 * Improve generation of pseudo-random integers [Morten Welinder, 
14607   Sebastian Wilhelmi]
14608 * Avoid literal UTF-8 in favor of octal escapes [Owen, Tomas Ogren]
14609 * Cleanup include order [Sven Neumann]
14610 * autoconf cleanups and bug fixes [Daniel, Matthias Clasen, Owen]
14611 * Doc fixes and additions [Matthias]
14612
14613 Other contributors: James M. Cape, Frederic Crozat, Martin Gansser,
14614   Phuc LeHong, Manish Singh, Joshua Weage, Morten Welinder
14615
14616 Overview of Changes from GLib 2.0.x to GLib-2.1.x
14617 =================================================
14618
14619 * Add copy of the Trio library to build and use for printf() when 
14620   system printf isn't good enough. Add g_printf()/etc. [Matthias Clasen]
14621 * Add g_str_has_suffix()/g_str_has_prefix() [Alex Larsson]
14622 * Add g_markup_parse_context_get_element() [Matthias]
14623 * Add g_utf8_strreverse [Matthias]
14624 * Add g_ascii_strtoull() [Tim Janik]
14625 * Support scanning of 64-bit values with GScanner [Tim]
14626 * Add g_set/get_application_name() [Havoc Pennington]
14627 * Add G_LIKELY()/G_UNLIKELY() macros for hinting branch probabilities. 
14628   Use for g_return_if_fail(). [Matthias Clasen]
14629 * Add G_GNUC_DEPRECATED macro [Tom Tromey]
14630 * Improve the seeding algorithm of GRandom to avoid problems
14631   with certain pathological seeds. Support G_RANDOM_VERSION=2.0
14632   environment variable. [Sebastian Wilhelmi]
14633 * Improve thread configure checks, use -pthread where applicable
14634   [Sebastian]
14635 * Improve handlng of thread priorities [Sebastian]
14636 * Fix up parameter names that might shadow functions from
14637   system headers [Soeren Sandmann]
14638 * Clean up usage of deprecated functions [Manish Singh]
14639 * Docs fixes and improvements. In particular, include "Since" information.
14640   [Matthias, Soeren, Martin Schulze, Daryll Strauss, Bill Janssen, 
14641   Owen Taylor, Morten Welinder]. 
14642
14643 Overview of Changes in GLib 2.0.7
14644 =================================
14645
14646 * Fix C++ warnings in gtype.h [Dom Lachowicz]
14647 * Fix g_type_fundamental_next() [Tim Janik]
14648 * Fix various missing includes of config.h [Morten Welinder]
14649 * Handle main loop initialization before g_thread_init [Sebastian Wilhelmi]
14650 * Various 64-bit fixes [Manish Singh]
14651 * Fix GPoll on Win32 [Tor Lillqvist, Herman Bloggs]
14652 * Fix bug with buffering on UTF-8 IOChannels [Daniel Elstner]
14653 * Misc bug and build fixes [Soren Andersen, Gustavo Carneiro, Tor,
14654      Tim, Havoc Pennington,  Matthias Clasen, Sebastian Rittau,
14655      Masahiro Sakai, Arvind Samptur, HideToshi Tajima, Owen Taylor]
14656 * Updated and new translations (be,cs,de,*fa,it,lv,pt_BR,tr)
14657
14658 Overview of Changes in GLib 2.0.6
14659 =================================
14660
14661 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
14662 * Clean up debug spew from GObject [Anders Carlsson]
14663 * Compiler warning fixes [David L. Cooper II]
14664 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
14665 * Fixes for --disable-debug [Sebastian Wilhelmi]
14666 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
14667   Rajkumar Sivasamy, Laurent Vivier]
14668 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
14669   Sebastian Rittau, Linus Welleij]
14670 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
14671 * Updated translations (bg,ko,vi)
14672
14673 Overview of Changes in GLib 2.0.5
14674 =================================
14675
14676 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
14677 * Clean up debug spew from GObject [Anders Carlsson]
14678 * Compiler warning fixes [David L. Cooper II]
14679 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
14680 * Fixes for --disable-debug [Sebastian Wilhelmi]
14681 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
14682   Rajkumar Sivasamy, Laurent Vivier]
14683 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
14684   Sebastian Rittau, Linus Welleij]
14685 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
14686 * Updated translations (bg,ko,vi)
14687
14688 Overview of Changes in GLib 2.0.4
14689 =================================
14690
14691 * Fix some 64-bit problems. (George Lebl, David L. Cooper II)
14692 * Add note about Tru64 iconv to INSTALL. (Manuel Op de Coul)
14693 * Fix problem with timouts > MAXINT. (Tim Janik, Owen Taylor)
14694 * Updated translations (ca,es,fr,ja,gl,ms,nl,pl,pt,ru)
14695
14696 Overview of Changes in GLib 2.0.3
14697 =================================
14698
14699 * Handle sorting 0-length arrays (Ron Arts)
14700 * Threading fixes (Sebastian Wilhelmi)
14701 * Portability fixes (Miroslaw Dobrzanski-Neumann, Jacob Berkman, Gareth Pierce, 
14702   Sebastian, Qingjiang Yuan)
14703 * Various fixes for glib-2.0.m4. (Jim Gettys, others.)
14704 * Locate right glib-genmarshal when cross-compiling. (Mitch Natterer)
14705 * Win32 fixes (Tor Lillqvist)
14706 * Try to fix g_get_charset() related segfaults. (Owen)
14707 * Fixes for gettext detection. (Dan Winship, HideToshi Tajima, Boyd Lynn Gerber,
14708   Andrew P. Lentvorski, Jr.)
14709 * Fix g_scanner_unexp_token() (Tim Janik, Sven Neumann)
14710 * g_markup fixes. (Matthias Clasen.)
14711 * Bug fixes and cleanups (Daniel Elstner, Matthias, Laszlo Peter, Morten Welinder,
14712   Wayne Schuller)
14713
14714 Overview of Changes in GLib 2.0.1
14715 =================================
14716
14717 * Portability fixes for Sun's Forte compiler [Erwann Chenede]
14718 * Performance improvements for GObject parameter lookup, 
14719   g_filename_to/from_utf8() [Alex Larsson]
14720 * Actually check interface prerequisites [Matthias Clasen,
14721   Miroslaw Dobrzanski-Neumann]
14722 * Fix problem with glib-mkenums taking huge amounts of stack. [Owen Taylor]
14723 * Fix g_signal_handlers_disconnect_by_func() for C++ [Damien Sandras]
14724 * Fixes for g_log() and threading.
14725   [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, Tim Janik]
14726 * Make g_print(), g_printerr(), g_warning(), etc, convert from
14727   UTF-8 to the encoding of the locale [Sebastian Wilhelmi, Tim]
14728 * Fixes for GIOChannel on windows. [Tor Lillqvist]
14729 * Fix gsize/gint mismatches in giochannel.c [Miroslaw Dobrzanski-Neumann]
14730 * Fix file descriptor leak in g_file_get_contents() [Matthias]
14731 * Workaround iconv() problems on older Solaris [Lauri Alanko]
14732 * Fix warnings with gcc-3.1 about asm const [Cody Russel]
14733 * Minor bug fixes.
14734
14735 Other contributors: Hans Breuer, LEE Sau Dan, Sven Neumann, Salmaso Raffaele,
14736   Akira Tagoh, Morten Welinder
14737
14738
14739 Overview of Changes in GLib 2.0.0
14740 =================================
14741
14742 * Thread portability fixes [Sebastian Wilhelmi]
14743 * Documentation updates [Owen Taylor]
14744 * Make g_strerror(), g_strsignal() properly return UTF-8,
14745   call bind_text_domain_codeset() so that error strings
14746   are in UTF-8 as well. [Owen, Tor Lillqvist]
14747
14748 Overview of Changes in GLib 2.0.0 rc1:
14749 ======================================
14750
14751 * Win32 fixes [Tor Lillqvist]
14752 * Portability fixes [Finlay Dobbie, Miroslaw Dobrzanski-Neumann]
14753 * Fix up g_date_strftime [Daniel Elstner]
14754 * Add some structure padding [Tim Janik]
14755 * Make g_get_homedir() prefer the users home directory to $HOME
14756
14757 Other contributors: Matthias Clasen, Paolo Maggi, Christian Rose
14758
14759 Overview of Changes in GLib 1.3.15:
14760 ===================================
14761
14762 * Speed up marshalers by using private access to GValue 
14763   [Anders Carlsson, Tim Janik]
14764 * Reduce GValue to 2 elements [Tim]
14765 * Add G_DEBUG environment variable, G_DEBUG=fatal_warnings [Matthias Clasen]
14766 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
14767 * Add padding to various structures [Owen Taylor, Tim]
14768 * Win32 fixes [Tor Lillqvist]
14769
14770 Other contributors: James Henstridge, Ryan Lovett, Morten Welinder,
14771   Daniel Elstner
14772
14773 Overview of Changes in GLib 1.3.14:
14774 ===================================
14775
14776 * Register value transformations for gint64, guint64 [Andy Wingo]
14777 * Build with large-file support [Sven Neumann, Owen Taylor]
14778 * Fix handling of hostnames in URI's [Darin Adler]
14779 * Main loop bug fixes [Havoc Pennington, Owen]
14780 * Doc fixes and improvements [Manish Singh, Tim Janik]
14781 * Support ' as attribute delimiters in GMarkup [Matthias Clasen]
14782 * Win32 fixes [Hans Breuer, Tor Lillqvist]
14783 * Threading bug and build fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann]
14784 * Miscellaneous bug fixes
14785
14786 Other contributors: Matthias Clasen, James Henstridge, Mitch Natterer, 
14787   Morten Welinder.
14788
14789 Overview of Changes in GLib 1.3.13:
14790 ===================================
14791
14792 * Fix g_filename_to/from_uri for Win32 [Tor Lillqvist, Darin Adler]
14793 * Miscellaneous win32 fixes [Tor, Hans Breuer]
14794 * Fix thread options for gcc on AIX [Jerome Zago, Sebastian Wilhelmi]
14795 * Documentation improvements [Ron Steinke, Matthias, Sebastian]
14796 * Cache iconv converters as used by g_convert() [Jeffrey Stedfast]
14797 * Bug fixes [Sven Neumann, Owen Taylor, Matthias Clasen, Jeffrey,
14798   Laszlo Peter, Havoc Pennington, Tim Janik]
14799
14800 Overview of Changes in GLib 1.3.12:
14801 ===================================
14802
14803 * Implement closure chaining, fixing up API (Tim Janik)
14804 * Closure chaining test case (James Henstridge)
14805 * Make GType long not int where both are equal width (Tim)
14806 * Win32 fixes and improvements (Hans Breuer, Tor Lillqvist)
14807 * Fixes for NetBSD. (Dan Winship)
14808 * Use snprintf() for g_printf_string_upper_bound() where possible. (Matthias Clasen)
14809 * Save space for GBSearchArray (Tim Janik)
14810 * Documentation improvements. (Matthias, Sven Neumann, Havoc Pennington)
14811
14812 Other contributors: Darin Adler, Chris Blizzard, Anders Carlson, Daniel Elstner, Michael Meeks, 
14813   Mark McLoughlin, Dave Neary, Manish Singh, Owen Taylor, HideToshi Tajima, 
14814   Sebastian Wilhelmi.
14815
14816
14817 Overview of Changes in GLib 1.3.11:
14818 ===================================
14819
14820 * Win32 fixes [Hans Breuer, Tor Lillqvist]
14821 * Documentation improvements [Matthias Clasen]
14822 * Portable directory handling API [Hans]
14823 * Threading fixes [Sebastian Wilhelmi, Havoc Pennington]
14824 * Fix excess relocations in Unicode tables [Andrew Taylor]
14825 * Fix gpattern for UTF-8 [Matthias Clasen]
14826 * Support overriding class closures [Tim Janik]
14827 * Support for derivation from G_TYPE_POINTER [Owen Taylor]
14828 * Hide pointers to type information inside GType to reduce locking
14829   [Alex Larsson, Tim]
14830 * Adds check for direct inclusion of gobject/*.h [Owen]
14831 * GObject API cleanups [Tim]
14832
14833 Other contributors: Darin Adler, Jacob Berkman, Daniel Egger, Eric Lemings, 
14834   Michael Meeks, Mark McLoughlin, Arkadiusz Miskiewicz, Dan Winship
14835
14836
14837 Overview of Changes in GLib 1.3.10:
14838 ===================================
14839
14840 * Many Win32 fixes and improvements [Tor Lillqvist]
14841 * Documentation improvements [Matthias Clasen]
14842 * g_string_printfa() renamed to g_string_append_printf()
14843 * Use libcharset from libiconv to implement charset detection
14844   more portably. [Owen Taylor, Hidetoshi Tajima]
14845 * Add 64 bit type support to GObject [Joshua Pritikin, Mathieu Lacage, Owen]
14846 * Make support for 64 bit integers a requirement [Joshua]
14847 * GPattern improvements [Tim Janik, Matthias]
14848 * Locale independent g_ascii_strtod / g_ascii_dtostr [Alex Larsson]
14849 * Many bug fixes and minor tweaks.
14850
14851 Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
14852   Ben Gertzfield, Elliot Lee, Manish Singh, Abel Cheung, Laszlo Peter,
14853   Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
14854   Jacob Berkman
14855
14856
14857 Overview of Changes in GLib 1.3.9:
14858 ==================================
14859
14860 * Fixes for comparison of threads [Sebastian Wilhelmi]
14861 * Use vasprintf() when possible for g_strdup_printf [Matthias Clasen]
14862 * Win32 fixes [Tor Lillqvist, Hans Breuer]
14863 * Add a len argument to g_ascii_strup/strdown
14864 * Bug, portability fixes, cleanups.
14865
14866 Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
14867
14868
14869 Overview of Changes in GLib 1.3.8:
14870 ==================================
14871
14872 * Documentation updates [Owen]
14873 * Made GType interfaces overridable in derived types
14874 * Many win32 fixes [Tor Lillqvist]
14875 * Miscellaneous cleanups and fixes
14876
14877 Other contributors:
14878   Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
14879
14880
14881 Overview of Changes in GLib 1.3.7:
14882 ==================================
14883
14884 * Integrate GClosure support into the main loop [Owen Taylor]
14885 * More GSignal convenience functions (macros) [Sven Neumann, Tim Janik]
14886 * Introduced weak references for GObject [James Henstridge, Sven, Tim] 
14887 * Minor hash table optimizations
14888 * Main loop and threading improvements [Sebastian Wilhelmi]
14889 * Added g_ascii_* functions to be used for locale insensitive UTF-8
14890   compliant code instead of old string functions  [Darin Adler, Alex Larsson]
14891 * Add functions for Unicode case-conversion, normalization, and 
14892   collation [Owen]* GString improvements [Owen]
14893 * Reworked the GIOChannel code [Hidetoshi Tajima, Ron Steinke]
14894 * Removed glib-config-2.0 in favour of pkgconfig [Sebastian]
14895 * Make code 64bit clean [Mark Murnane]
14896 * More G_CONST_RETURN fixes
14897 * Many improvements to the win32 code [Tor Lillqvist, Hans Breuer]
14898 * Miscellaneous bug and API fixes
14899
14900 Other contributors:
14901   Michael Natterer, Christopher James Lahey, Padraig O'Briain,
14902   Matthias Clasen, Josh Pritikin, Steve Baker, Cesar Rincon, Garry R. Osgood,
14903   Michael Meeks, Laszlo Peter,  Martin Baulig, Kjartan Maraas, Andrew Lanoix,
14904   Peter Williams
14905
14906
14907 Overview of Changes in GLib 1.3.6:
14908 ==================================
14909
14910 * Threads have a "return value" from g_thread_join
14911 * Removed ability to adjust thread stack size
14912 * Prefix warnings with progname/PID by default, change toggle for this to 
14913   be an env variable G_MESSAGES_PREFIXED not a compile-time option
14914 * GMarkup speedups
14915 * GDate const, convenience fixups
14916 * Include test cases that headers are compilable by C++ compiler
14917 * Add ability to spawn processes with argv[0] != executable path.
14918 * g_strstr_len, g_strrstr, g_strrstr_len
14919 * Add length argument to g_utf8_strchr and g_utf8_strrchr.
14920 * Misc bug fixes
14921
14922
14923 Overview of Changes in GLib 1.3.5:
14924 ==================================
14925
14926 * Added an installed glib-mkenums Perl program for parsing enumeration
14927   declarations from header files.
14928 * Mark some additional deprecated functions.
14929 * Bug and Portability fixes
14930
14931
14932 Overview of Changes in GLib 1.3.4:
14933 ==================================
14934
14935 * Efficiency improvements for GThreadPool
14936 * A few bug fixes
14937 * Build fixes
14938 * Documentation improvements
14939
14940
14941 Overview of Changes in GLib 1.3.3:
14942 ==================================
14943
14944 GLib:
14945
14946 * More user_data support in various functions.
14947 * Main loop API revamps to support per-thread main loops.
14948 * Unicode handling improvements.
14949 * Implemented debugging traps.
14950 * G_CONST_RETURN specification all over the place.
14951 * Various new small utility functions.
14952 * Random number generator precision improvements.
14953 * New configure option --disable-mem-pools.
14954 * Many Win32 improvements.
14955 * Added g_try_malloc() friends varinats.
14956 * Many documentation improvements.
14957 * Many threading improvements, support for dynamic allocation
14958   of static mutexes.
14959 * GHookLIst API cleanups.
14960 * Improved format support of GDate parser.
14961 * String function speed improvements with new g_stpcpy().
14962 * Hashtable API additions.
14963 * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
14964 * Optimizations, cleanups, bug fixes.
14965
14966 GObject:
14967
14968 * Added many convenience functions.
14969 * GClosure and GParamSpec use float/sink ref-counting scheme now.
14970 * Reworked property change notification.
14971 * Binary searchable array cleanups, so it's widely usable now.
14972 * Added static content keeping for some GValue types.
14973 * Support for statically scoped signal parameters.
14974 * Extinguished property trailer args in set/get interface.
14975 * Added support for abstract types.
14976 * G_CONST_RETURN specification all over the place.
14977 * Split parameter exchange functionality into value transforms
14978   and parameter conversions.
14979 * Added signal emission hooks and signal accumulators.
14980 * Added interface prerequisites to support is_a (interface, object)
14981   relations.
14982 * Implemented GValueArray.
14983 * New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
14984   GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
14985   G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
14986 * Varrags value collection improvements.
14987 * Implemented debugging traps.
14988 * Made things thread-safe.
14989 * Many documentation improvements.
14990 * Many cleanups, optimizations and bug fixes.
14991
14992
14993 Overview of Changes in GLib 1.3.2:
14994 ==================================
14995
14996 GLib:
14997
14998 * Win32 build improvements  [Tor]
14999 * Improvements to error reporting  
15000   (g_critical(), g_return_if_reached()) [Darin]
15001 * Add g_strlcpy/g_strlcat  [David Wheeler]
15002 * New IO channel implementation for Win32  [Tor] 
15003 * Make g_array_free, g_string_free return pointer to memory requested
15004   not to be freed.  [Darin]
15005 * Added GError based error reporting for thread functions.  [Sebastian]
15006 * Moved reference docs into GLib distribution. [Owen]
15007 * Added g_convert() for doing convenient character set conversions based
15008   on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
15009 * Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
15010   g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
15011 * Portability fixes for threading.  [Sebastian]
15012 * Added convenient functions for launching new processes (g_spawn_*),
15013   and shell quoting/unquoting functions.  [Havoc]
15014 * Split glib.h into many headers.  [Sebastian]
15015 * Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
15016 * Fixed confusions between comparison functions that return <0, 0, >0
15017   and equaility functions that return FALSE,TRUE.  [Sebastian]
15018 * Added safe/portable temporary file manipulation functions.  [Tor]
15019 * autoconf improvements.  [Raja]
15020 * Many documentation improvements.
15021 * Bug fixes.
15022
15023 GObject:
15024
15025 * Added boxed and pointer types.  [Tim/Jonathan]
15026 * Added callback abstraction (GClosure)  [Tim]
15027 * Added signal system (GSignal)  [Tim]
15028 * Make GTypePlugin an interface  [Tim]
15029 * Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
15030 * Bug fixes.
15031
15032
15033 What's new in GLib 1.3.1:
15034 =========================
15035
15036 * New GObject library added including object system based on
15037   the GTK+ object system. 
15038 * Functions for getting the properties of Unicode characters, 
15039   computing the canonical decomposition and ordering combining
15040   characters aand manipulating UTF-8 string manipulation based
15041   on libunicode.
15042 * GString now properly handles embedded nuls.
15043 * Multiple fixes from the 1.2.x branch.
15044 * Upgrade to libtool 1.3.3
15045 * Full thread support (thread creation and destruction).
15046 * BeOS port, BeOS dynamic modules.
15047 * Many improvements to the Windows ports.
15048 * Improvements to the OS/2 port, OS/2 module support.
15049 * Double ended queue implementation.
15050 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
15051 * New configure option --enable-msg-prefix to prefix messages, warnings
15052   et ceteri with the program name and the process id.
15053 * New thread-safe random number generator Mersenne Twister.
15054 * g_strcompress() added, g_strescape() had a slight API change, and
15055   more tightly defined semantics.
15056 * the g_string(x) macro has been removed, #x may be used instead.
15057                                 
15058
15059
15060 Overview of changes in GLib 1.2.1
15061 =================================
15062
15063 * g_realloc() fix for SunOS (please report further problems).
15064 * Continued the never ending fix vendetta regarding getpwuid(),
15065   this time AIX has been the culprit.
15066 * Upgrade to libtool 1.2f
15067 * Miscellaneous other buglets fixed.
15068
15069
15070 Overview of changes in GLib 1.2.0
15071 =================================
15072
15073 * GLib is distributed seperatedly from Gtk+
15074 * Win32 Portability
15075 * Threading support
15076 * GModule mechanism (implemented in an extra library) which wraps dynamic
15077   object code loading facilities in a portable manner
15078 * GIOChannel structure to encapsulate the IPC mechanism
15079 * GQuarks and datasets
15080 * GRelations for n-way mapping of certain data
15081 * An n-way tree implementation
15082 * GDate functionality for calendar date manipulations
15083 * GAllocator type and associated functions
15084 * Added generic callback maintenance functions (ghook)
15085 * Generic functions for TAB completions
15086 * Endian defines (G_*_ENDIAN)
15087 * g_log() mechanism for logging of messages at different log levels
15088 * Generic main-loop mechanism
15089 * New glib-config helper script
15090 * Many more API extensions
15091
15092
15093 Overview of changes in GLib 1.1.16
15094 ==================================
15095
15096 * Allocate smaller pools of memory for glists, gslists, gnodes
15097 * Bug Fixes
15098
15099
15100 Overview of changes in GLib 1.1.15
15101 ==================================
15102
15103 * HPUX 11 thread system detection should now work
15104 * Release the main loop lock around calls to prepare() and
15105   check() so it is not held over user code
15106 * A few Win32 fixups
15107
15108
15109 Overview of changes in GLib 1.1.14
15110 ==================================
15111
15112 * Check for dlsym() in system libraries and -dl
15113 * FreeBSD portability fixes
15114 * Random bug fixes and autoconf/automake changes
15115
15116
15117 Overview of changes in GLib 1.1.13
15118 ==================================
15119
15120 * Removed alloca() based function and macro variants again.
15121 * Improved thread related configure tests.
15122 * GSource destruction fixups.
15123 * Fixed up idle function removal based on user_data pointer.
15124 * Advanced Win32 portability.
15125 * Enforced GSource's check(), prepare() and dispatch() constrains,
15126   loop recursions may only happen from dispatch(), and check() as well
15127   as prepare() are called while the main_loop lock is being held.
15128 * GLib development now requires GNU autoconf 2.13, GNU automake 1.4
15129   and GNU libtool 1.2d.
15130 * Lots of random portability and bug fixes.
15131
15132
15133 Overview of changes in GLib 1.1.12
15134 ==================================
15135
15136 * Added alloca functions/macros: g_strdup_a, g_strconcat3_a, g_alloca,
15137   g_new_a, g_new0_a
15138 * New tests structure.  Type 'make check' on your system to run them.
15139 * Avoid unnecessary extra hook referencing in g_hook_list_marshal
15140
15141
15142 Overview of changes in GLib 1.1.11
15143 ==================================
15144
15145 * provide defaults for POLL sysdefs
15146 * g_main_is_running: new function to check whether a main loop has been quitted
15147 * a few other enhancement/fixes
15148
15149
15150 Overview of changes in GLib 1.1.9
15151 =================================
15152
15153 * Check for pthread_attr_init in all cases, Digital Unix 4 requires this
15154 * For G_LOCK_DECLARE_*, if !G_THREADS_ENABLED, eat trailing semicolon better
15155 * Changed g_main_poll_(add|remove) to g_main_(add|remove)_poll
15156
15157
15158 Overview of changes in GLib 1.1.8
15159 =================================
15160
15161 * Added threading support
15162   - The ability to specify a set of functions to be used for
15163     locking at runtime.
15164   - Default implementations of locking functions for pthreads,
15165     Solaris threads, and (experimentally) NSPR.
15166   - All static variables should now properly locked.
15167   - Enhancements to the generic main-loop mechanism to be thread-safe.
15168     (It is used for the main-loop in GTK+ as of GTK+-1.1.8)
15169 * Portability fixes.
15170
15171
15172 Overview of changes in GLib 1.1.7
15173 =================================
15174
15175 * Removed multiple define from glibconfig.h
15176
15177
15178 Overview of changes in GLib 1.1.6
15179 =================================
15180
15181 * New GDate functionality for calendar date manipulations (g_date_*)
15182 * New GAllocator type and associated functions
15183 * New functions g_slist_copy and g_list_copy to duplicate a list with all
15184   its data pointers.
15185 * New function g_array_insert_vals and new macro g_array_insert_val to
15186   insert elements at an arbitrary index
15187 * GAllocators used for glist, gslist, gnode node allocations
15188 * Incremental freezing in ghash
15189 * New function g_hook_list_marshal_check to eventually destroy hooks after
15190   they got marshalled
15191 * Revised GIOChannel to provide generic virtual-function based interface
15192 * Added generic main-loop abstraction
15193 * Removed GListAllocator type and its g_*_allocator_*() function variants
15194 * Bug fixes
15195
15196
15197 Overview of changes in GLib 1.1.5
15198 =================================
15199
15200 * Win32 portability
15201 * GIOChannel structure to encapsulate the IPC mechanism
15202 * Reimplemented endian stuff, using inline asm for x86
15203 * New functions:
15204   - g_strescape: escapes backslashes
15205   - g_path_is_absolute and g_path_skip_root
15206   - g_getenv: expands environment variables that contain references
15207     to other environment variables
15208   - g_scanner_sync_file_offset: rewind the filedescriptor to the current
15209     buffer position and blow the file read ahead buffer
15210   - g_array_remove_index: remove an entry, preserving the order
15211   - g_array_remove_index_fast: remove an entry, order might be distorted
15212   - g_ptr_array_remove: remove an entry, preserving the order
15213   - g_ptr_array_remove_fast: remove an entry, order might be distorted
15214   - g_byte_array_remove_index: wrapper for g_array_remove_index
15215   - g_byte_array_remove_index_fast: wrapper for g_array_remove_index_fast
15216   - g_strncasecmp: modeled closely after g_strcasecmp
15217   - g_list_sort, g_slist_sort: to merge sort GLists and GSLists
15218 * New macros:
15219   - G_DIR_SEPARATOR, G_DIR_SEPARATOR_S: platform-dependant file name
15220     syntax elements
15221   - G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S: platform-dependant
15222     search path syntax conventions
15223   - G_STRUCT_OFFSET, G_STRUCT_MEMBER_P, G_STRUCT_MEMBER: for handling
15224     structure fields through their offsets
15225 * Removed G_ENUM, G_FLAGS, G_NV, and G_SV macros
15226 * Bug fixes
15227
15228
15229 Overview of changes in GLib 1.1.4
15230 =================================
15231
15232 * Added generic callback maintenance functions (ghook)
15233 * New endian defines (G_*_ENDIAN)
15234 * New string join/split/free routines
15235 * Fixes
15236
15237
15238 Overview of changes in GLib 1.1.3
15239 =================================
15240
15241 * New GModule mechanism (implemented in an extra library) which wraps dynamic
15242   object code loading facilities in a portable manner.
15243 * glib-config features extra "glib" (old behaviour remains) and "gmodule"
15244   (add libgmodule.so to the --libs output) arguments now. this can also
15245   be specified as fourth argument to the AM_PATH_GLIB() macro.
15246 * Overhaul of the `inline' autoconfiguration stuff, so inlining should be
15247   sufficiently supported on all systems that allow inlining now.
15248 * New g_log() mechanism for logging of messages at different log levels,
15249   associated with certain log domains (define -DG_LOG_DOMAIN for your library).
15250 * New inline functions for bit masks tests.
15251 * GNode macros (and functions) now return the newly allocated node.
15252 * New macro G_VA_COPY() to work around va_list copying oddities on some
15253   platforms. the non-static g_vsprintf() function vanished in favour of
15254   a publically exported g_strdup_vprintf().
15255   People that used the former g_vsprintf() would definitely want to read the
15256   associated ChangeLog entries (grep for printf).
15257 * New utility functions:
15258   g_strndup(), g_on_error_query(), g_on_error_stack_trace(), g_strdup_printf(),
15259   g_strdup_vprintf(), g_printf_string_upper_bound(), g_spaced_primes_closest(),
15260   g_strnfill(), g_memdup().
15261 * Overhaul of the array implementations, this contains some source incompatible
15262   changes. Again, the ChangeLog is much more informative (grep for garray.c).
15263 * The internals of the g_dataset mechanism are now exported through the
15264   new g_datalist_* API (this is also the underlying implementation for the
15265   keyed data of GtkObjects).
15266 * New function g_atexit(), use of the ATEXIT() macro is discouraged.
15267 * Better configure checks for ansi compliance.
15268 * Libtool update to version 1.2b.
15269 * Lotsa bug fixes and cleanups as always ;)
15270
15271
15272 Overview of changes in GLib 1.1.2
15273 =================================
15274
15275 * Fixed packaging mistake which occured in 1.1.1
15276 * fix 64-bitness in g_prints in glibtest
15277
15278
15279 Overview of changes in GLib 1.1.1
15280 =================================
15281
15282 * An n-way tree implementation is provided now, based on the GNode structure.
15283 * Bugfix for pointer arrays.
15284
15285
15286 Overview of changes in GLib 1.1.0
15287 =================================
15288
15289 * GLib is distributed seperatedly from Gtk+ now and uses a sophisticated
15290   shared library versioning scheme to deal with interface and binary
15291   incompatibilities.
15292 * There is a glib-config helper script installed now.
15293 * Fixups all over the place.
15294 * gboolean is now a gint, not a gchar anymore.
15295 * API extensions for GList and GSList.
15296 * New g_str*() functions for simple string handling.
15297 * GScanner extensions for scope, warning and error handling.
15298 * Minor performance improvements for GMemChunks.
15299 * Implementations of GQuarks and datasets (similar to GtkObjects data
15300   mechansim, but works for generic memory locations).
15301 * More convenience macros for GNU C function arguments.
15302 * Const correction all over the place, including a new pointer type
15303   gconstpointer.
15304 * Generic functions for TAB completions.
15305 * GRelations for n-way mapping of certain data.