Imported Upstream version 2.67.3
[platform/upstream/glib.git] / NEWS
1 Overview of changes in GLib 2.67.3
2 ==================================
3
4 * Add new `g_memdup2()` API to replace `g_memdup()`, which is vulnerable to a
5   silent integer truncation and heap overflow problem if not used carefully
6   (discovered by Kevin Backhouse, work by Philip Withnall) (#2319)
7
8 * Add new `g_dbus_object_path_escape()` and `g_dbus_object_path_unescape()` APIs
9   to provide one way of escaping arbitrary bytestrings for use in D-Bus object
10   paths (work by Lars Karlitski and Frederic Martinsons) (#968)
11
12 * Use `bash-completion.pc` (if available) to provide the path to install
13   completion files into (work by Frederic Martinsons) (#1054)
14
15 * Fix support for public/private trigraphs in `glib-mkenums` (work by Matthias Klumpp) (!1870)
16
17 * Add `glib_debug` configure option to allow disabling debug infrastructure in
18   builds with debug symbols enabled (work by Ole André Vadla Ravnås) (!1889)
19
20 * Fix a regression where `PATH` would always be searched when using `g_spawn()`,
21   even when it wasn’t supposed to (work by Simon McVittie and Thomas Haller) (!1902)
22
23 * Override `gio-querymodules` in Meson when used as a submodule (work by Xavier Claessens) (!1909)
24
25 * Bugs fixed:
26  - #344 gdbus(1) command-line completion issues
27  - #968 gdbus: add g_dbus_object_path_{un,}escape
28  - #1054 Use pkg-config to get path for bash-completion file installation
29  - #1180 GUnixInputStream and GUnixOutputStream don't consider TTYs pollable
30  - #2011 Add additional unit tests for D-Bus name watching
31  - #2226 clang++ compilation fails on clusterfuzz
32  - #2292 Cannot find a common ancestor when running CI style check jobs
33  - #2299 GObject introspection annotation of g_closure_new_object() is wrong
34  - #2305 GIO security hardening causing gnome-keyring to regress when session bus is provided by dbus-launch (dbus-x11)
35  - #2314 gdatetime: math library link issue
36  - #2319 GHSL-2021-045: integer overflow in g_bytes_new/g_memdup
37  - !610 Various memory leak cleanups to GSettings tests
38  - !1804 Add more GIR annotations to gparam.c and gsignal.c
39  - !1823 Fix more warnings
40  - !1843 gfile: Add Linux kernel headers compatibility kludge
41  - !1847 Port to QNX
42  - !1853 ginetaddress: Handle systems without IPv6 support
43  - !1859 docs: update g_action_group_activate_action() remote activation semantics
44  - !1860 glocalfile: Fix an uninitialized variable
45  - !1865 tests: Add more debug information to gdbus-connection-slow
46  - !1868 gdesktopappinfo: Fix validation of XDG_CURRENT_DESKTOP
47  - !1870 mkenums: Support public/private trigraph again
48  - !1873 Fix possible integer overflow of g_socket_send_message()
49  - !1876 Fixing g_socket_send_message() documentation to make it clearer
50  - !1877 Fix more warnings
51  - !1878 Another fix on g_socket_send_message()
52  - !1879 Fix more warnings
53  - !1880 GError documentation tweaks
54  - !1881 docs: Move ‘Notes’ section from README to NEWS
55  - !1883 gutils: Document caching of XDG directory variables
56  - !1884 gthread-win32: Use SetThreadDescription Win32 API for setting thread name
57  - !1887 ci: Fix msys-mingw32 CI builds due to package rename
58  - !1888 docs: Add documentation for GLIB_VERSION_CUR_STABLE and PREV_STABLE
59  - !1889 build: Add glib_debug option
60  - !1890 gtype: Improve formatting of GType documentation
61  - !1891 Fix more warnings
62  - !1893 gwin32appinfo: Fix printf length sub-specifier
63  - !1894 gsocket: Fix SO_NOSIGPIPE regression on Darwin
64  - !1898 gtestutils: Add g_test_get_path() API
65  - !1899 m4macros: replace obsolete macros AC_TRY_RUN and AC_TRY_LINK in glib-2.0.m4
66  - !1900 [th/gsignal-cleanup] minor changes to GSignal related code
67  - !1901 Check if the remote already exists before adding it.
68  - !1902 spawn: Don't set a search path if we don't want to search PATH
69  - !1903 m4macros: Increment serial number of glib-2.0.m4
70  - !1905 Start to ignore known leaks under AddressSanitizer
71  - !1906 gdbus-serialization: Don't leak string containing first serialization
72  - !1908 Fix straightforward memory leaks in tests
73  - !1909 Meson: override gio-querymodules program
74  - !1910 gio: Add explicit virtual g-i annotations for undiscovered invoker relationship
75  - !1911 Fix more warnings
76  - !1915 Mark g_key_file_get_comment() key parameter as nullable
77  - !1919 atomic: Fix type check of g_atomic_pointer_compare_and_exchange()
78  - !1921 guri: Mark g_uri_get_host as nullable
79  - !1925 gapplication: Fix a memory leak
80
81 * Translation updates:
82  - Czech
83  - Friulian
84  - Galician
85  - Hungarian
86  - Portuguese
87  - Portuguese (Brazil)
88  - Romanian
89  - Spanish
90  - Ukrainian
91
92
93 Overview of changes in GLib 2.67.2
94 ==================================
95
96 * Add `gio launch` command to execute programs (work by Frederic Martinsons) (#54)
97
98 * Fix unused parameter warnings in code generated by `gdbus-codegen` (work by Frederic Martinsons) (#1105)
99
100 * Officially deprecate `to-pixdata` option for `glib-compile-resources`, in favour
101   of simply embedding more modern image formats in linked-in `GResource` files (#1281)
102
103 * Support querying and running UWP applications on Windows (work by LRN) (#1991)
104
105 * Support `gio trash --restore` and `gio trash --list` commands (work by Frederic Martinsons) (#2098)
106
107 * No longer read environment variables for GIO module locations when running as setuid (#2168)
108
109 * More progress on fixing compiler warnings (work by Emmanuel Fleury) (!1773 and others)
110
111 * `GKeyFile` performance improvements (work by Timm Bäder) (!1829, !1832)
112
113 * Improve UDP socket behaviour on Windows (work by Marco Mastropaolo and Ole André Vadla Ravnås) (!1827, !1844)
114
115 * Add `-Dtests` meson configure option for disabling tests entirely (work by Ole André Vadla Ravnås) (!1850)
116
117 * Bugs fixed:
118  - #54 Add `gio launch` command to execute .desktop files
119  - #513 GSignal: Impossible to have return values in signals which are G_SIGNAL_RUN_FIRST only
120  - #514 GSignal: Only limited usage of accumulator function possible
121  - #1105 gdbus-codegen: fix some unused parameter warnings
122  - #1188 Crash in gapplication.c:1014 when reading error message if dbus_register returns false without setting error
123  - #1281 Update glib-compile-resources and GResource docs to deprecate/remove to-pixdata in stable/master resp.
124  - #1283 gvfs-trash error message when unable to create trash directory is unhelpful
125  - #1568 GObject tutorial does not mention floating references
126  - #1991 W32: Glib cannot run UWP applications
127  - #2098 gio trash: restore trashed files to their original location
128  - #2168 giomodule: Loads GIO modules even if setuid, etc.
129  - #2264 GPtrArray might call qsort() with NULL data
130  - #2265 2.67.1 regression: assertion failure starting gnome-terminal
131  - #2275 gio/completion/gio: Some variables are not localized
132  - #2279 g_source_is_destroyed example uses deprecated GDK API
133  - !1304 Extended error
134  - !1773 Fix more warnings
135  - !1783 gtlsdatabase: remove duplicate precondition check
136  - !1784 fuzzing: Add more fuzzing tests for various string parsing functions
137  - !1785 glocalfile: Add an assertion to help static analysis
138  - !1787 Debuggability improvements in gosxappinfo.m
139  - !1788 gdate: Validate input as UTF-8 before parsing
140  - !1791 gdatetime: Disallow NAN as a number of seconds in a GDateTime
141  - !1794 gio-tool-info: Prevent criticals if mount options are not available
142  - !1796 gfileutils: Fix typo in docs
143  - !1797 gdatetime: Improve ISO 8601 parsing to avoid floating point checks
144  - !1801 glib: Add more missing return value annotations
145  - !1802 gobject: More missing return value annotations
146  - !1806 tests: Add some rounding tolerance in timeout test
147  - !1807 python: Reformat some files to keep style-check-diff happy
148  - !1808 tests: Be more lenient with timing checks on asyncqueue pops
149  - !1810 gfileinfo: Add missing preconditions to g_file_info_get_attribute_data()
150  - !1811 Add more missing nullable annotations
151  - !1813 gdbus-codegen: Ignore some flake8 warnings
152  - !1815 Fix more warnings
153  - !1816 fuzzing: Add more GUriFlags to the URI parsing test
154  - !1817 fuzzing: Add more parsing flags to the GKeyFile test
155  - !1818 Fix more warnings
156  - !1819 Fix more warnings
157  - !1821 gdate: Limit length of dates which can be parsed as valid
158  - !1822 Fix more warnings
159  - !1827 Windows: fix FD_READ condition flag still set on recoverable UDP socket errors.
160  - !1829 keyfile: Delay calling g_get_language_names() until it's needed
161  - !1830 gsocket: Fix credentials error-handling on Apple OSes
162  - !1832 More small GKeyFile performance improvements
163  - !1834 Update gvdb
164  - !1837 gdatetime.c: Fix MSVC builds for lack of NAN items
165  - !1838 Minor improvements to GError documentation
166  - !1840 Add nullable annotation for g_file_get_uri_scheme
167  - !1841 gthread: Fix incorrect cast
168  - !1842 gthread: Port native mutex to Clang
169  - !1844 gsocket: Improve default UDP behavior on Windows
170  - !1845 gsocket: Fix use-after-close
171  - !1848 gwin32: Always use unicode APIs
172  - !1850 build: Add option for disabling tests
173  - !1855 build: Fix ssize_t detection on older versions of glibc
174  - !1856 build: Fix Android system checks
175  - !1857 gtestutils: Fix g_assert_not_reached() on MSVC
176  - !1861 More GError tests
177  - !1863 tests: Ignore -Wformat-nonliteral warning in new GError tests
178
179 * Translation updates:
180  - Catalan
181  - Galician
182  - German
183  - Lithuanian
184  - Romanian
185  - Spanish
186  - Ukrainian
187
188
189 Overview of changes in GLib 2.67.1
190 ==================================
191
192 * Deprecate `g_time_zone_new()` in favour of `g_time_zone_new_identifier()`,
193   which makes error checking easier (#553)
194
195 * Remove `volatile` from various public APIs, including `G_DEFINE_*`. You should
196   adjust your code to not use `volatile` for atomic variables, `GOnce`
197   variables, or mostly anything else (see
198   http://isvolatileusefulwiththreads.in/c/). (#600)
199
200 * Support passing file handles to `gdbus` command line tool (work by
201   Norbert Pocs and Tim Waugh) (#961)
202
203 * Add `g_assert_cmpstrv()` test convenience function (work by Niels De Graef) (#2015)
204
205 * Changes to the behaviour of the `G_URI_FLAGS_SCHEME_NORMALIZE` scheme
206   normalization flag in `GUri` (work by Carlos Garcia Campos) (#2257, !1716)
207
208 * Add new `--run-prefix` and `--skip-prefix` options to GTest, to allow running
209   or skipping test suites by prefix (work by Frederic Martinsons) (!1738)
210
211 * Fix thread-safety of `GBinding`; see the updated documentation for
212   `g_object_bind_property()` for full details — if your code uses `GBinding`
213   across threads, you should re-check it against the latest documentation, use
214   `g_binding_unbind()` rather than implicitly dropping the binding with your
215   last `g_object_unref()` call, and use `g_binding_dup_source()`/`g_binding_dup_target()`
216   instead of `g_binding_get_source()`/`g_binding_get_target()`
217   (work by Sebastian Dröge) (!1745)
218
219 * Bugs fixed:
220  - #553 Improved error-handling when timezone lookup fails
221  - #600 Remove "volatile" from G_DEFINE_*
222  - #961 gdbus tool: file handle passing doesn't work
223  - #994 mark g_assert_* as "noreturn" also on MSVC
224  - #1560 Can't get data for empty compressed resources
225  - #1592 Main loop ignores GPollFD sources when there is at least one source ready with priority higher than default one
226  - #1833 meson: reconsider G_DISABLE_CAST_CHECKS handling
227  - #1849 Documentation of g_set_object(): can object_ptr be null?
228  - #1963 Follow-up from "gdbusmessage: Limit recursion of variants in D-Bus messages"
229  - #2015 Add g_assert_cmpstrv() test utility
230  - #2046 Add pylint and shellcheck CI checks
231  - #2074 Big dbus writes with a FD list fail
232  - #2076 g_type_register_fundamental() and g_type_add_interface_static() should not trigger valgrind leak warnings
233  - #2150 Add URI parsing tests from GstURI to GUri
234  - #2221 GLib-GIO:ERROR:../gio/tests/gsocketclient-slow.c:99:on_event: 'connection' should be NULL
235  - #2223 Documentation of g_strrstr_len is misleading; suggested fix
236  - #2233 GSocketClient crashes on connection failure
237  - #2236 Docs: gdbus-codegen example links broken
238  - #2253 In gspawn.c, use sysconf() system call on Mac OS, instead of default maxfiles limit of 4096
239  - #2257 GUri: apply scheme normalization flag consistently
240  - !1251 Improve support for interface types
241  - !1385 gobject: allocate parameter list for g_object_new_valist() entirely on stack
242  - !1629 Add some tracing to GTask
243  - !1699 Fix signedness warnings
244  - !1701 gio: Fix some remaining DocBook syntax in a documentation comment
245  - !1708 gio: Add missing nullable annotations
246  - !1716 guri: Normalize uri segments if they are encoded and add a flag to do scheme-based normalization
247  - !1722 gio: Fix various typos of the name ‘D-Bus’
248  - !1724 glib/tests/fileutils: Fix expectations when running as root
249  - !1726 gdbus: Document the intended semantics of handles and fdsTim Waugh
250  - !1731 Make more use of g_assert_no_errno()
251  - !1733 gdbusauthmechanismsha1: Don’t create keyring dir when running as setuid
252  - !1734 glocalfileinfo: Use a single timeout source at a time for hidden file cache
253  - !1735 gobject: Standardise on the term ‘instantiatable’
254  - !1737 gscanner: Avoid undefined behaviour copying between union members
255  - !1738 Extend the usage of -p option for glib test framework
256  - !1740 Fix more warnings
257  - !1745 Make GBinding thread-safe (alternative approach)
258  - !1746 gkeyfilesettingsbackend: improve error-checking
259  - !1747 Fix broken link syntax in g_vasprintf docs
260  - !1748 Fix minor Coverity return value warnings
261  - !1750 Fix warnings
262  - !1754 GWin32AppInfo: Use a thread pool for async appinfo tree rebuilds
263  - !1755 Minor Coverity fixes
264  - !1756 shellcheck fixes
265  - !1757 Python formatting improvements
266  - !1758 Fix warnings
267  - !1765 Fix more warnings
268  - !1766 Fix some gdatetime annotations
269  - !1767 tests: Fix GDateTime tests on FreeBSD
270  - !1769 gfileicon: Fix unused-but-set variable with G_DISABLE_ASSERT
271  - !1770 Minor scan-build fixes
272  - !1771 macos: fix frexpl checks in cross-compilation
273  - !1776 gio: ‘security_context_t’ is deprecated
274  - !1780 Minor Coverity fixes
275  - !1781 gspawn: Handle ENOSYS from close_range()
276  - !1782 ghostutils: Abandon hostname conversion early if it’s too long
277
278 * Translation updates:
279  - Czech
280  - Spanish
281  - Ukrainian
282
283
284 Overview of changes in GLib 2.67.0
285 ==================================
286
287 * Important and time-critical fix to DST transitions which will happen in Europe
288   on 2020-10-25 on distributions which use the ‘slim’ tzdata format (which is
289   now the default in tzdata/tzcode 2020b) (work by Claudi M., LRN) (#2224)
290
291 * Further timezone handling changes to improve performance of `GTimeZone` (work
292   by António Fernandes, Sebastian Keller) (#2204)
293
294 * Fix deadlock on Windows when `G_SLICE` is set in the environment (diagnosis by
295   Christoph Reiter) (#2225)
296
297 * Fix UTF-8 validation when escaping URI components (thanks to Marc-André Lureau) (!1680)
298
299 * Security fix for incorrect scope/zone ID parsing in URIs (!1669)
300
301 * Add `g_log_writer_default_set_use_stderr()` API for printing log messages to stderr (work by Simon McVittie) (#2087)
302
303 * Improve connection error reporting when IPv6 is available and disabled (work by Michael Catanzaro, debugging by Konstantin Kharlamov and Milan Crha) (#2211)
304
305 * Fix definition of `G_MSVC_SYMBOL_PREFIX` for ARM (work by Wolfgang Stöggl) (!1187)
306
307 * Add `GStrvBuilder` convenience API for building `NULL`-terminated string arrays (work by Robert Ancell) (!1417)
308
309 * Support appinfo verbs other than ‘open’ on Windows (work by LRN) (!1502)
310
311 * Expose node-based `GTree` APIs (work by Maciej S. Szmigiero) (!1509)
312
313 * Add `G_DBUS_METHOD_INVOCATION_HANDLED`/`_UNHANDLED` convenience constants (work by Simon McVittie) (!1603)
314
315 * Set `IP_BIND_ADDRESS_NO_PORT` on sockets when binding to local addresses (work by Cristian Rodríguez) (!1598)
316
317 * Add Meson option for libelf support (work by Niklas Gürtler) (!1650)
318
319 * Add support for PKCS #11-backed TLS certificates (work by Patrick Griffis) (!1663)
320
321 * Add `g_subprocess_launcher_close()` API to make `GSubprocessLauncher` more usable in bindings (work by Sergio Costas) (!1677)
322
323 * Bugs fixed:
324  - #1233 GType for GTree
325  - #2077 Invalid Pointer Arithmetic in g_path_get_basename
326  - #2087 Respecting G_MESSAGES_DEBUG in a custom log writer should be easy to do
327  - #2164 GDBus DBUS_COOKIE_SHA1 mechanism may use too old a key
328  - #2194 gtk3/glib crash on gimp
329  - #2203 fstatat is available only on macOS 10.10+
330  - #2204 Time zone cache is constantly invalidated if TZ is NULL
331  - #2209 gthreadedresolver: faulty logic in parse_res_txt
332  - #2210 g_private_replace ordering issue
333  - #2211 "Network is unreachable" error returned when IPv6 is disabled and network is reachable using IPv4
334  - #2215 DST incorrectly ends on wrong dates
335  - #2224 top bar time is incorrect, timezone map in control center is broken
336  - #2225 Setting G_SLICE makes Windows programs hang since 2.66
337  - !1187 Define G_MSVC_SYMBOL_PREFIX correctly for ARM
338  - !1417 gstrvbuilder: Add a new object to make NULL-terminated string arrays.
339  - !1449 gio: Expose g_file_query_info_for_copy()
340  - !1502 GWin32AppInfo: Support verbs other than "open"
341  - !1509 GTree: add an ability to iterate over a tree and a node-based API
342  - !1575 Use C++11 decltype where possible
343  - !1598 gsocketclient: set IP_BIND_ADDRESS_NO_PORT if binding to local address
344  - !1603 GDBus: Add G_DBUS_METHOD_INVOCATION_HANDLED, _UNHANDLED
345  - !1643 Minor Coverity fixes
346  - !1645 Fix various signedness warnings
347  - !1647 Fix warnings (keep going)
348  - !1648 glocalfile: Never require G_LOCAL_FILE_STAT_FIELD_ATIME
349  - !1650 Make libelf dependency optional via meson feature
350  - !1652 trash portal: Handle portal failures
351  - !1654 gio-tool-trash: Prevent recursion to speed up emptying trash
352  - !1657 glist: Clarify that g_list_free() and friends only free an entire list
353  - !1658 utils: Limit the scope of the variable `max`
354  - !1661 Lookup fallback time zones in the cache to improve performance
355  - !1663 gtlscertificate: Add support for PKCS #11 backed certificates
356  - !1665 Fix g_module_symbol() under Windows sometimes not succeeding
357  - !1669 guri: Fix URI scope parsing
358  - !1670 GSubprocessLauncher: Move cleanup to dispose()
359  - !1671 gdatetime: Avoid integer overflow creating dates too far in the past
360  - !1673 CI: Re-enable code coverage reporting for MSYS2 builds
361  - !1674 Add version macros for 2.68
362  - !1675 Make static assertions about standard types
363  - !1677 gsubprocesslauncher: Allow to close FDs
364  - !1678 gmessages: Document that using a custom log writer basically disables fatal handling
365  - !1679 gmain: Fix minor typo in documentation
366  - !1680 guri: Fix UTF-8 validation when escaping URI components
367  - !1681 gspawn: Handle error opening /dev/null
368  - !1686 Various improvements in GSocketClient
369  - !1687 uri: add missing (not)nullable annotations
370  - !1688 gspawn: Use close_range() if available to close FDs between fork/exec
371  - !1691 gmain: Fix possible locking issue in source unref
372  - !1692 gsignal: Plug g_signal_connect_object leak
373  - !1695 gfile: Clarify refcount handling for g_file_replace_contents_bytes_async()
374  - !1696 Fix various minor scan build warnings
375  - !1706 Add various missing nullable annotations
376  - !1712 Revert "Use C++11 decltype where possible"
377  - !1714 gmacros: Use __typeof__ when compiling with Clang
378  - !1718 gtrace: Add G_GNUC_PRINTF annotation
379
380 * Translation updates:
381  - Chinese (Taiwan)
382  - Danish
383  - Greek, Modern (1453-)
384  - Hebrew
385  - Latvian
386  - Portuguese
387  - Russian
388  - Slovak
389  - Ukrainian
390
391
392 Overview of changes in GLib 2.66.0
393 ==================================
394
395 * Bugs fixed:
396  - #2200 missing tab in makefile rule
397  - !1639 guri: Fix user passed to g_uri_split_with_user() not being NULL'd
398
399 * Translation updates:
400  - Croatian
401  - Hungarian
402  - Italian
403  - Serbian
404  - Slovak
405  - Swedish
406
407
408 Overview of changes in GLib 2.65.3
409 ==================================
410
411 * Fixes to the new `statx()` calls — note that since GLib 2.65.2 uses `statx()`
412   (if available) instead of `stat()`/`fstat()`/`lstat()`/`fstatat()`, syscall
413   sandboxing for third party applications might need to be updated
414
415 * Bugs fixed:
416  - #2189 g_file_query_info on ro file system: Numerical result out of range
417  - #2191 Calling nice(20) can lead to thread related warnings
418  - #2197 Segfaulting Integer Overflow in g_option_group_add_entries
419  - !1025 Big o notations
420  - !1626 gio: Document g_settings_new() missing schema behaviour
421  - !1627 gthread: Add a sysprof mark for thread creation
422  - !1628 Replace a bunch of fallthrough comments with an attribute
423  - !1631 Fix splice behavior on cancellation
424  - !1632 Fixing signedness warning in glib/gfileutils.c
425  - !1635 gcancellable: Mark a variable as unused if built with G_DISABLE_ASSERT
426
427 * Translation updates:
428  - Basque
429  - Catalan
430  - Chinese (China)
431  - Czech
432  - English (United Kingdom)
433  - Friulian
434  - German
435  - Japanese
436  - Kazakh
437  - Korean
438  - Lithuanian
439  - Polish
440  - Portuguese (Brazil)
441  - Slovenian
442
443
444 Overview of changes in GLib 2.65.2
445 ==================================
446
447 * Support `statx()` and `G_FILE_ATTRIBUTE_TIME_CREATED` (work by Andre Miranda) (#1970)
448
449 * Fix deadlock in `g_subprocess_communicate_async()` (work by Alexander Larsson) (#2182)
450
451 * Add `%f`/microsecond placeholder support to `g_date_time_format()` (work by Johan Bjäreholt) (!1605)
452
453 * Bugs fixed:
454  - #5 g_new0 performance
455  - #1970 Make G_FILE_ATTRIBUTE_TIME_CREATED support stx_btime
456  - #2176 Inconsistent introspection annotations for g_input_stream_read and g_socket_receive
457  - #2182 g_subprocess_communicate_async() can deadlock when writing
458  - !1593 CI support for Coverity Scan
459  - !1605 gdatetime: Add %f format specifier and microsecond precision to g_date_time_format_iso8601
460  - !1613 gfile: Document TOCTTOU avoidance using g_file_delete()
461  - !1615 docs: glib-compile-resources: json-stripblanks
462  - !1616 gioerror: Map WSAENETRESET on Windows to G_IO_ERROR_CONNECTION_CLOSED
463  - !1619 Minor Coverity fixes
464  - !1620 gvariant: Ensure GVS.depth is initialised
465  - !1622 gdatetime: Widen a variable before multiplication
466  - !1623 gcancellable: Assert that make_pollfd() call succeeds
467  - !1624 gdbusaddress: Drop an unnecessary NULL check
468  - !1625 gdbusmessage: Drop redundant uint ≥ 0 checks
469
470 * Translation updates:
471  - French
472  - Galician
473  - Greek, Modern (1453-)
474  - Indonesian
475  - Romanian
476  - Spanish
477  - Turkish
478  - Ukrainian
479
480
481 Overview of changes in GLib 2.65.1
482 ==================================
483
484 * Add `GUri` API for parsing, building and representing URIs according to
485   [RFC 3986](https://tools.ietf.org/html/rfc3986) (work by Marc-André Lureau) (#110)
486
487 * Fix handling of xattr data with embedded nuls (#422)
488
489 * Add `g_file_set_contents_full()` which gives more control over fsyncs (#1302)
490
491 * Fix cross-compilation on iOS (work by Nirbheek Chauhan) (#1868)
492
493 * Add a `x-gvfs-notrash` option to disable trash on certain mounts (work by Ondrej Holy) (!1549)
494
495 * Support ‘slim’ TZif files generated with `zic -b slim` (work by Paul Eggert) (#2129)
496
497 * Support emitting profiling marks from `GMainContext` to sysprof capture files (!1551)
498
499 * Accept IPv6 zone IDs in `g_hostname_is_ip_address()` (work by Marc-André Lureau) (!1604)
500
501 * Bugs fixed:
502  - #4 Include a UTF-8 safe escaping function
503  - #110 Basic URI operations
504  - #137 display_name should be always available
505  - #250 GTestCase's setup/teardown functions appear pointless
506  - #272 allow thread pools to adjust the number of threads to the number of cpu's/cores
507  - #422 Wrong assumption in libgio GFileInfo on xattr/acl string: it may contain binary data.
508  - #858 glib2 @2.40.0 issues a "Got weird mach timebase info" error (Macports, PPC)
509  - #1022 g_object_new Should Mention That it Zeroes Out Private Struct
510  - #1200 Make g_assert_null/nonnull clang static analyzer friendly
511  - #1203 Add a variant of g_file_set_contents() which accepts file mode
512  - #1288 gmacros: Introduce non-public G_CLANG_ANALYZER_NORETURN macro
513  - #1302 g_file_set_contents() can fill target with NUL bytes if it did not previously exist
514  - #1670 ThreadSanitizer data races
515  - #1764 cancellable test: on_mock_operation_ready: assertion failed (iterations_requested > iterations_done): (10 > 10)
516  - #1868 iOS cross compile impossible due to frexpl check not supporting cross compilation
517  - #1869 iOS doesn't have Cocoa, which thankfully isn't a requirement of this code that supposedly requires it
518  - #1982 GSocketAddressEnumerator documentation is inconsistent with existing usage
519  - #2127 Spurious GIO module initialization on Fedora Silverblue (and other ostree-based systems?)
520  - #2129 date_time bugs after 2038, or with today's date and 'zic -b slim' TZif files
521  - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
522  - #2136 Valgrind reports "still reachable" after g_option_context_parse
523  - #2140 calling malloc in fork child is undefined-behaviour
524  - #2141 g_value_copy is was recently broken
525  - #2149 Make G_URI_FLAGS_PARSE_STRICT the default
526  - #2156 Merge _g_uri_parse_authority() into GUri
527  - #2159 Thread-unsafe initialization in gportalsupport.c
528  - #2160 More guri regressions
529  - #2165 More guri breakage
530  - #2166 g_uri_build() functions should accept a NULL scheme
531  - !1328 guri: new URI parsing and generating functions
532  - !1527 Add g_tls_connection_get_channel_binding_data call and enums
533  - !1534 Various GLocalFile fixes related to the filesystem::remote attribute
534  - !1546 tree: Fix various ableist language
535  - !1549 Add support to ignore trash for certain mounts
536  - !1551 Add initial sysprof support
537  - !1553 gtestutils: Mark that g_assert_whatever() macros do not normally return
538  - !1554 GUri build fixes
539  - !1555 Remove c-format from the string that is not c-formatted
540  - !1556 fuzzing: Another fix for g_uri_parse() test
541  - !1557 A few g_uri_parse_params() improvements
542  - !1559 Fix buffer read overflows in GUri
543  - !1561 gconvert: Use a pointer array in extract_uris
544  - !1563 gdesktopappinfo: Fix unnecessarily copied and leaked URI list
545  - !1564 tests: limit number of threads to something reasonable.
546  - !1570 Reduce CI bandwidth requirements
547  - !1572 Add GUriParamsIter
548  - !1576 gtask: Only override g_task_set_source_tag() for GLib ≥ 2.60
549  - !1577 uri: add illegal_characters argument to unescape_bytes
550  - !1578 tests: Add tests for RFC 8536 v3 parsing of time zones
551  - !1579 glib: Use g_getenv everywhere instead of getenv
552  - !1582 appinfo: Add properties
553  - !1583 gio: Remove broken support for XP
554  - !1590 Use CI schedules and DAGs
555  - !1591 gfileutils: Fix O_NOFOLLOW handling on BSD systems
556  - !1594 GFile: Document that G_FILE_CREATE_REPLACE_DESTINATION can only be used with...
557  - !1595 uri: add ENCODED_PATH & ENCODED_FRAGMENT flags
558  - !1599 uri: do not add ipv6 brackets on non-ip host
559  - !1600 uri: do not encode ':' and ';' from userinfo
560  - !1601 timezone: Fix an uninitialized use
561  - !1602 Revert "Merge branch 'appinfo-properties' into 'master'"
562  - !1604 Make g_hostname_is_ip_address() accept ipv6 zoneid
563  - !1609 Fix multiple typos in guri.c
564  - !1611 guri: Always prepend `//` to the host when building a URI
565  - !1612 guri: Document and check restrictions on path prefixes
566
567 * Translation updates:
568  - Catalan
569  - Kazakh
570  - Lithuanian
571  - Romanian
572  - Slovenian
573  - Spanish
574  - Ukrainian
575
576
577 Overview of changes in GLib 2.65.0
578 ==================================
579
580 * Fix memory monitor tests to only be installed if installed-tests are enabled,
581   and to be skipped if GObject-Introspection is too old (!1407)
582
583 * Stability improvements for various unit tests
584
585 * D-Bus credentials support on macOS (#507)
586
587 * MSVC support for the files generated by `glib-compile-resource` and `gdbus-codegen` (#1215, !1452)
588
589 * Year 2038 fixes involving new API in `GBookmarkFile` (#1931)
590
591 * SOCKS5 proxy authentication fixes (#1986, #1988)
592
593 * Support for more than `MAXIMUM_WAIT_OBJECTS` FDs for `g_poll()` on Windows (#2107)
594
595 * Add `g_assert_no_errno()` test macro for testing POSIX-style functions (!1204)
596
597 * Update Unicode Character Database to version 13.0.0 (!1422)
598
599 * Support storing interned strings in `GValue`s efficiently, via `g_value_set_interned_string()` (#2109)
600
601 * Bugs fixed:
602  - #2 g_filename_from_utf8() should normalize?
603  - #176 the behaviour of constructors for GLib data types is not specified if memory allocation fails
604  - #480 /gdbus/connection/signals test intermittently fails: assertion failed (count_name_owner_changed == 2): (1 == 2)
605  - #507 GDBus credentials don’t work on OS X
606  - #602 GLib.Thread not usable from GObject-Introspection
607  - #1154 Missing documentation how to set a value in a GArray
608  - #1215 MSVC cannot build glib-compile-resource's output resource file
609  - #1323 meson, autotools: figure out if mem barrier is needed for arm64 host variant aarch64
610  - #1398 gdate: Add error handling for GetDateFormatW calls
611  - #1841 Signal handler disconnection race when finalising GCancellableSource
612  - #1851 Meson Build Failure on Windows: Undefined Reference to libiconv
613  - #1911 Memory leak in g_param_spec_flags and/or g_param_spec_enum
614  - #1931 GBookmarkFile API involves time_t
615  - #1954 gdbus-server-auth intermittent failure
616  - #1957 gdbus-connection test failure on FreeBSD
617  - #1986 Socks5 Proxy: Authentication seems broken
618  - #1988 Socks5 Proxy: Wrong error returned when using no authentication
619  - #2038 Bindings: g_tls_connection_set_database() does not allow None as argument
620  - #2051 GUnixOutputStream can block on close()
621  - #2057 Call malloc_trim() under memory pressure
622  - #2067 Glib uses _Static_assert in C++17 mode
623  - #2081 gdbus error messages contains mixed up body and head signatures
624  - #2082 AM/PM - specific variation support needed to Hebrew language
625  - #2083 Memory monitor tests fail if dbusmock isn't installed
626  - #2092 FreeBSD CI timing out in gdbus-connection filter test
627  - #2094 Deprecation warnings when compiling with -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_28 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28
628  - #2106 Duplicated if - else if conditions in gtranslit.c
629  - #2107 g_poll() implementation on Windows stall when more than MAXIMUM_WAIT_OBJECTS FDs have passed
630  - #2109 GValue: Add support for interned string
631  - #2124 g_file_info_get_content_type() may return NULL
632  - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
633  - #2134 Valgrind reports "still reachable" after `g_uuid_string_random()`.
634  - #2135 Valgrind reports "still reachable" after g_key_file_new/free
635  - #2136 Valgrind reports "still reachable" after g_option_context_parse
636  - !1204 gtestutils: Add a new g_assert_no_errno() test macro
637  - !1302 gobject: new g_param_is_valid_property_name() function.
638  - !1329 Support nanoseconds in stat timestamps on Windows
639  - !1341 MUI capabilities for GWin32RegistryKey
640  - !1360 CI: Show execution environment before we start
641  - !1395 tests: Move memory_monitor_tests under installed_tests_enabled
642  - !1396 macros: Define G_GNUC_FALLTHROUGH for more compilers
643  - !1397 tests: Skip MemoryMonitor test if GObject-Introspection is too old
644  - !1398 gcontenttype: Fix crash in _get_generic_icon_name()
645  - !1402 ci: Update Android Docker image for aarch64 CPU naming change
646  - !1405 tests: Disable link-time warning for mem-overflow
647  - !1406 Replace fallthrough comments with G_GNUC_FALLTHROUGH
648  - !1408 tests: Don't compare strings by pointer
649  - !1409 gdummytlsconnection: Add missing overrides for ALPN properties
650  - !1413 gapplication: Fix a minor typo in the documentation
651  - !1414 gstrutils: Set locale explicitly for search-utils test
652  - !1415 meson: Don't use assert in test code
653  - !1418 ginetaddress, ginetsocketaddress: Add missing (nullable) annotations
654  - !1422 glib: Update Unicode Character Database to version 13.0.0
655  - !1423 gobject: Clarify assertion failure on ref-after-finalize
656  - !1424 docs: Fix configuration with gtk_doc=true and installed_tests=false
657  - !1425 gdbusconnection: GDBusSignalCallback can have a NULL sender_name
658  - !1426 gunidecomp: Update and reformat Unicode version support history
659  - !1427 gicon: Clarify GVariant refcounting in docs
660  - !1428 Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
661  - !1429 Fix arch detection ifdefs in glib/valgrind.h
662  - !1430 Use __builtin_trap() on Clang on any platform
663  - !1431 glib-unix.c: fix heap corruption in g_unix_get_passwd_entry
664  - !1432 docs: Mention new gio tool options
665  - !1433 meson: Fix buildtype usage
666  - !1434 gdbusconnection: Clarify nullability of SignalInstance.sender
667  - !1436 glib: Update internal copy of valgrind.h from Valgrind 3.15 release
668  - !1437 gmarkup tests: tab character escape/unescape
669  - !1439 Don't misdetect stpcpy on windows platforms on clang
670  - !1440 Silence clang errors about -Wformat-nonliteral due to missing intermediate attributes
671  - !1441 Meson: Override every dependency glib provides
672  - !1442 gfile: Fallback to fast-content-type if content-type is not set
673  - !1443 gio: use TAPTestRunner in the memory monitor tests
674  - !1444 Meson: Add glib-checks and glib-asserts options
675  - !1452 Make symbols generated by gdbus-codegen exportable on Visual Studio-style builds
676  - !1455 gdesktopappinfo: Note that search results are not filtered
677  - !1456 GCredentials documentation fixes
678  - !1458 meson: Exclude gosxutils.m when building for iOS
679  - !1459 meson: Fix the gnulib checks for isnan* functions
680  - !1460 glib: Sync the local modification to glib/valgrind.h to what was upstreamed
681  - !1462 gvariant-core: Add a note about memory safety of children
682  - !1463 gdesktopappinfo: Add several nullable annotation to GAppInfo getters
683  - !1464 Update Fedora CI
684  - !1466 CI: Switch to new Windows runners
685  - !1469 goption: Treat an empty option context parameter string as NULL
686  - !1475 Improve documentation of g_tls_database_verify_chain()
687  - !1476 tests: Fix remaining race in gdbus-connection filter test
688  - !1479 Improve documentation of client connection validation flags
689  - !1480 CI: Make sure we use meson 0.49.2 in MSYS2
690  - !1481 array: fix corrupt state of GPtrArray after g_ptr_array_extend_and_steal()
691  - !1482 [th/g-ptr-array-variable-cleanups] minor cleanup of variables for GPtrArray
692  - !1487 glib: annotate static inline functions with G_AVAILABLE-type macros
693  - !1488 Rebuild Fedora CI image
694  - !1491 gdatetime: update annotations
695  - !1492 glib-mkenums: allow optional 'since' tag
696  - !1493 meson: Remove stray ] in O_DIRECTORY check
697  - !1496 Fix GLIB_UNAVAILABLE_STATIC_INLINE declaration
698  - !1498 array: add internal ptr_array_new() helper for creating GPtrArray
699  - !1503 docs: Add indexes for symbols added in 2.66
700  - !1505 gobject: Handle runtime checks as such
701  - !1506 tests: Speed up the cancellable test
702  - !1508 tests: Speed up the file test and make it more reliable
703  - !1512 Various fixes when building for iOS
704  - !1513 Initialize the visited time of a new GBookmarkFile
705  - !1515 meson: check for stpcpy using cc.links()
706  - !1516 gthreadedsocketservice: Mark source_object of run signal as nullable
707  - !1517 GWin32RegistryKey: Move assertions
708  - !1518 strfuncs: Use a GPtrArray in strsplit()
709  - !1522 meson: Fix gnulib printf checks
710  - !1524 meson: Fix gnulib build where isnan*() is needed
711  - !1525 Normalize C source files to end with exactly one newline
712  - !1528 gtlsconnection: Improve documentation of peer-certificate[-errors]
713  - !1530 tree: Fix various typos and outdated terminology
714  - !1531 gvariant: Fix documentation for g_variant_get_string() to match reality
715  - !1532 win32: spelling fix
716  - !1535 glib.supp improvements
717
718 * Translation updates:
719  - Bokmål, Norwegian
720  - Catalan
721  - Catalan (Valencia)
722  - Chinese (Taiwan)
723  - Dutch
724  - French
725  - Galician
726  - German
727  - Hebrew
728  - Indonesian
729  - Italian
730  - Japanese
731  - Latvian
732  - Lithuanian
733  - Malay
734  - Romanian
735  - Serbian
736  - Slovak
737  - Slovenian
738  - Spanish
739  - Turkish
740  - Ukrainian
741
742
743 Overview of changes in GLib 2.64.0
744 ==================================
745
746 * Use `posix_spawn()` to speed up launching test D-Bus instances (!1388)
747
748 * Bugs fixed:
749  - #1783 Document using glib-mkenums with meson
750  - #2049 Crash in g_array_copy
751  - !1384 Some minor clang warning fixes
752  - !1386 docs: Document generated headers caveats for genmarshal
753  - !1387 ci: Correctly propagate exit status in run-style-check-diff.sh
754  - !1388 gtestdbus: Use posix_spawn() to spawn dbus-daemon
755  - !1389 Update GError docs to use G_DEFINE_QUARK
756
757 * Translation updates:
758  - Czech
759  - Danish
760
761
762 Overview of changes in GLib 2.63.6
763 ==================================
764
765 * Fix potential relative read when calling g_printerr(), which could lead to a
766   denial of service from a setuid-root process being used to block access to the
767   TTY for another user (#1919)
768
769 * Fix SOCKS proxy resolver sometimes not being used when resolving addresses
770   via Happy Eyeballs (CVE-2020-6750) (#1989)
771
772 * Several other Happy Eyeballs fixes for address resolution (#1871, #1872, #1902)
773
774 * Various race fixes in `GDBusConnection` and its unit tests (#1515)
775
776 * Fix a race condition with D-Bus name ownership (#1517)
777
778 * Drop `gio-launch-desktop` helper application in favour of calling `sh` directly (#1633)
779
780 * Fix win32 exception handling with C# exceptions (#2025)
781
782 * Fix thread safety of `GUnixMountMonitor` (#2030)
783
784 * Additional fixes to new thread pool attribute behaviour from GLib 2.63.4 to
785   check if sched_setattr() is allowed by system policies before depending on it (#2039, !1356)
786
787 * Fix memory leaks and corruption when freeing `GSource`s while freeing a `GMainContext` (!1353)
788
789 * Drop inappropriate installation of object manager example documentation (!1359)
790
791 * Bugs fixed:
792  - #938 gdbus call -a doesn't support message bus connections
793  - #1515 gio/gdbus-threading test sometimes fails in CI
794  - #1517 g_bus_own_name does not always call name_lost_handler when _REPLACE and _ALLOW_REPLACEMENT are set
795  - #1633 should not install gio-launch-desktop into PATH
796  - #1919 read from relative path in g_printerr() in 2.58.3
797  - #1995 Tracker issue for Happy Eyeballs regressions
798  - #2002 g_io_channel_read_line does not honour the line_term symbols set
799  - #2025 W32 exception handling misbehaves when C# exceptions are thrown when running inside the Visual Studio debugger
800  - #2030 Random nautilus test suite failures involving GUnixMountMonitor
801  - #2039 sched_setattr() still can cause EPERM through natural causes
802  - #2043 Low memory monitor test failed in CI
803  - #2044 GApplication docs suggest invalid GVariant type
804  - !1185 gtimezone: Tidy up UTC timezone creation
805  - !1281 ci: Update Docker packages
806  - !1283 gmodule: change _g_module_close to only take a handle.
807  - !1298 tests: Speed up the GIO actions test
808  - !1299 gapplication: Fix a minor typo in the documentation
809  - !1339 gsocketclient: Refactor g_socket_client_connect_async()
810  - !1353 GMainContext - Fix memory leaks and memory corruption when freeing sources while freeing a context
811  - !1354 GThreadPool - Add test for !1340
812  - !1355 glist: Add docs examples of how to combine with g_steal_pointer()
813  - !1356 GThread - Check if sched_setattr is allowed by the system policies before depending on it
814  - !1359 docs: Don’t install object manager example separately
815  - !1363 Make tests pass if we are euid != 0 with capabilities
816  - !1366 Fix oss-fuzz coverage link
817  - !1372 gobject: Fix strict aliasing warnings with g_set_object()
818  - !1376 gitlab-ci: 64-bit ARM is aarch64, not arm64
819  - !1381 ghash: Document the iteration order over a hash table is not defined
820  - !1382 tests: Bump the refcount timeout in gdbus-threading
821  - !1383 ci: Enable parallelisation when running installed tests
822
823 * Translation updates:
824  - Basque
825  - English (United Kingdom)
826  - French
827  - Galician
828  - German
829  - Greek, Modern (1453-)
830  - Hungarian
831  - Indonesian
832  - Japanese
833  - Korean
834  - Lithuanian
835  - Polish
836  - Portuguese (Brazil)
837  - Spanish
838  - Swedish
839  - Turkish
840
841
842 Overview of changes in GLib 2.63.5
843 ==================================
844
845 * Fix behaviour of `g_file_move()` fallback code to not follow symlinks (#986)
846
847 * Rename `--glib-min-version` argument of `gdbus-codegen` to `--glib-min-required`
848   (this is not an API break as `--glib-min-version` was added earlier in the
849   2.63 cycle) (#1993)
850
851 * Add gtk-doc checks to CI and fix a number of documentation issues
852   (thanks to Xavier Claessens) (!978)
853
854 * Add `G_SIZEOF_MEMBER()` macro (!1333)
855
856 * Add a debug message if `g_setenv()` or `g_unsetenv()` are used after any
857   threads have been spawned — this will be upgraded to a warning in future (!1337, #715)
858
859 * Skip memory monitor tests if xdg-desktop-portal or dbusmock are not available (!1296, !1338)
860
861 * Change the `libmount` configure option from a boolean to a Meson `feature` (!1344)
862
863 * Do not return `target-uri` from `g_file_peek_path()` when called on trash/recent files (!1346)
864
865 * Drop new TLS certificate API for PKCS #11 backed certificates, as the implementation
866   is not ready yet (this is not an API break as the API was added earlier in the
867   2.63 cycle) (!1347)
868
869 * Bugs fixed:
870  - #986 g_file_move: remove G_FILE_COPY_NOFOLLOW_SYMLINKS section
871  - #1551 CI: Add checks for `TODO` in MRs
872  - #1925 Large number of routes installed into kernel cause high cpu usage
873  - #1993 Rename gdbus-codegen --glib-min-version argument to --glib-min-required and add --glib-max-allowed
874  - #2012 spawn_thread_queue not initialised in GThreadPool
875  - #2020 g_network_monitor_base_add_network() improperly unrefs GInetAddressMask
876  - !978 Various fixes to make gtkdoc-check pass on glib
877  - !1018 docs: tag enclose 'all' and 'help' values
878  - !1170 Avoid C++20 deprecated assignment to volatile
879  - !1296 tests: Skip GMemoryMonitor tests if the dbusmock template is not available
880  - !1307 Remove global declaration of GMemoryMonitor
881  - !1322 gmain: Mark G_SOURCE_FUNC as available in 2.58
882  - !1333 Add and use G_SIZEOF_MEMBER() macro
883  - !1337 genviron: Message if g_setenv()/g_unsetenv() are used after threads spawned
884  - !1338 tests: Skip GMemoryMonitor tests if xdg-desktop-portal is not available
885  - !1344 meson: libmount autodectection
886  - !1345 gio-tool-info: Print unix mount information where available
887  - !1346 gfile: Do not return target-uri from g_file_peek_path()
888  - !1347 Revert "gtlscertificate: Add support for PKCS #11 backed certificates"
889  - !1348 ghash: Clarify that g_hash_table_add() always consumes the key
890  - !1349 doc: Clarify that _locker_new() does not actually allocate memory
891  - !1351 glib.supp: update g-threaded-resolver-getaddrinfo-config
892
893 * Translation updates:
894  - Japanese
895  - Lithuanian
896  - Malay
897  - Portuguese (Brazil)
898  - Swedish
899
900
901 Overview of changes in GLib 2.63.4
902 ==================================
903
904 * Fix various race conditions on signal emission in GDBus (#604, #978, #1232)
905
906 * Change thread pools so that thread attributes (in particular, priority) are
907   inherited from the thread which created the `GThreadPool` initially, rather
908   than from the thread which is pushing a new job into the pool (#1834, #2007)
909
910 * Expand support for running Windows apps with
911   `g_app_info_launch_default_for_uri()` using rundll32 on Windows (#1932)
912
913 * Support multiple directories in `GSETTINGS_SCHEMA_DIR` environment variable (#1998)
914
915 * Support full Julian day range in `TZ` environment variable (#1999)
916
917 * Apply recursion depth limits to variants in D-Bus messages (!1201)
918
919 * Support adding call flags and timeouts to method calls generated by
920   `gdbus-codegen` through the new `--glib-min-version` option (!1286)
921
922 * Fully deprecate TLS rehandshakes; they are now ignored due to TLS protocol
923   changes (!1305)
924
925 * Bugs fixed:
926  - #198 g_fopen and friends: should also state how to close a stream
927  - #604 GDBus name watching dispatch is buggy/excessively-complicated
928  - #833 g_object_set: document the need to cast varargs
929  - #978 SIGSEGV in on_name_lost_or_acquired
930  - #1232 Insufficient thread safety around GDBusObjectManagerClient
931  - #1416 Re-add macOS CI
932  - #1834 Unwanted priority/etc inheritance with GThreadPool and GThread and the POSIX implementation
933  - #1932 Windows: Gio.AppInfo.launch_default_for_uri seems not to work for local files/folders
934  - #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
935  - #1997 Base64 encoding with "break_lines" claims to wrap at 72 characters but seems to wrap at 76
936  - #1998 support multiple directories in GSETTINGS_SCHEMA_DIR
937  - #1999 GTimeZone fails to accept full Julian day range when parsing the direct $TZ string format
938  - #2007 Thread scheduler attributes fail under valgrind
939  - !388 ci: Avoid downloading subprojects for each job
940  - !1111 gio: test that launch_uris() exports files with the document portal when launching a flatpak
941  - !1201 gdbusmessage: Limit recursion of variants in D-Bus messages
942  - !1279 tests: Fix an error message set by foo_set_property()
943  - !1286 gdbus-codegen: Add a GDBusCallFlags arg to method calls
944  - !1291 gio-tool-list: Add an option to print display names
945  - !1294 GMemoryMonitor docs fixes
946  - !1295 gio: Fix socket test
947  - !1301 GThread - Inherit parent thread priority by default for new Win32 threads
948  - !1303 gvariant-core: Don't pass NULL second argument to memcpy
949  - !1305 Fully deprecate TLS rehandshakes
950  - !1308 gsocketclient: run timeout source on the task's main context
951  - !1309 Fix crash in gutils when application is prevented access to passwd file
952  - !1317 gfdonotificationbackend: remove notifications when bus name vanishes
953  - !1320 subprojects: Temporarily avoid using wrapdb while it’s down
954  - !1324 ci: Add some documentation to the style check CI test
955  - !1325 Check for SYS_sched_getattr before using it unconditionally
956  - !1330 W32: Correctly set st_ino when doing private stat()
957  - !1334 gthread: Ensure GThreadSchedulerSettings is always defined
958
959 * Translation updates:
960  - Catalan
961  - Galician
962  - Hungarian
963  - Indonesian
964  - Polish
965  - Portuguese (Brazil)
966  - Spanish
967
968
969 Overview of changes in GLib 2.63.3
970 ==================================
971
972 * Add a `--glib-min-version` argument to `gdbus-codegen` which controls breaks in the API of generated code (#1726)
973
974 * Add `g_clear_list()` API to clear `GList`s to `NULL` (#1943)
975
976 * Add a `GMemoryMonitor` API to be notified of memory pressure situations using the low-memory-monitor project (!1005)
977
978 * Add support for dispose functions for `GSource` implementations (!1175)
979
980 * Tighten up validation of GObject signal and property names, allowing performance improvements (!1224)
981
982 * Fix installation path of GIO modules on MSVC to be the bindir (!1254)
983
984 * Bugs fixed:
985  - #650 g_signal_lookup gives too many warnings
986  - #1011 GListStore, easily find if the item is already inserted
987  - #1130 gdbus-codegen: Add an option to strictly generate markdown in source comments
988  - #1687 glocalvfs.c uses non-thread-safe getpwnam()
989  - #1726 Warn when method/signal uses type 'h' but lacks GDBus.C.UnixFD annotation
990  - #1935 Assert in _kqsub_free seems to be too strict
991  - #1943 Consider g_clear_list()
992  - #1947 Documentation clarification for g_uuid_string_random()
993  - #1953 Documentation for g_type_init() and others missing from online gtk-doc documentation
994  - #1961 A typo in the comment of `g_settings_schema_get_path`: threfore -> therefore
995  - !1005 gio: Add GMemoryMonitor to monitor for low-memory
996  - !1172 gptrarray: Add an example to the g_ptr_array_steal() docs
997  - !1175 Implement a dispose function for GSource
998  - !1223 Add additional valgrind suppressions
999  - !1224 Signal name handling improvements
1000  - !1230 ci: Run installed-tests on Fedora
1001  - !1235 Add sudo to Fedora docker image
1002  - !1239 tests: Run "timeout tests" sequentially
1003  - !1248 ci: Update all Debian CI runners to use v5 of the Dockerfile
1004  - !1249 gio-tool-mount: Allow mounting by the given UUID
1005  - !1252 ci: Fix running all jobs on merge requests
1006  - !1253 gthread: Fix "zero as null pointer" warning
1007  - !1254 giomodule: gio modules are no longer installed in bindir on MSVC
1008  - !1255 ci: Build Docker images rather than OCI images if using podman
1009  - !1256 gdate: Add autoptr support
1010  - !1258 Minor CI fixups
1011  - !1261 gtk-doc: Ensure we have recent enough version
1012  - !1262 tests: Add tests for the gdbus-codegen executable
1013  - !1265 build: don't check for protected visibility
1014  - !1267 Revert "doc: Workaround gtkdoc-scan bug leading to undocumented symbols"
1015  - !1268 ci: Work-around successful installed tests having no logs
1016  - !1269 gvariant: Add guard to g_variant_get()
1017  - !1271 tests: Enable GDBus debug for a number of unreliable tests
1018  - !1274 trash portal: Don't follow symlinks
1019  - !1275 Small doc correction
1020  - !1277 Various gtk-doc improvements
1021  - !1278 Update installed tests CI
1022  - !1280 clang-format-diff: Output diff for multiple files, not just one
1023  - !1282 Revert "Revert "docs: remove GDBusObjectManager example""
1024  - !1284 Update POTFILES.in 191212
1025  - !1287 atomic/tests: test g_atomic_pointer_compare_and_exchange() with const pointers
1026  - !1289 gtype: Define auto-cleanup functions for Module class
1027
1028 * Translation updates:
1029  - Spanish
1030
1031
1032 Overview of changes in GLib 2.63.2
1033 ==================================
1034
1035 * Use `lldb` rather than `gdb` on macOS for debugging (#1004)
1036
1037 * Switch the atomic builtins from `__sync_fetch_*()` to the slightly more modern
1038   `__atomic_*()` (#1750)
1039
1040 * Fix calculation of `gsize` width on various platforms (including OpenBSD) (#1777)
1041
1042 * Fix undefined behaviour causing brokenness in `g_utf8_find_prev_char()` when
1043   compiling with GCC ≥ 8 (#1917)
1044
1045 * Revert UNIX mode changes in `G_FILE_ATTRIBUTE_ID_UNIX_MODE` which broke OSTree (#1934)
1046
1047 * Slightly improve performance for signal emissions when no handlers are connected (!1083)
1048
1049 * Add `g_task_return_value()` and `g_task_propagate_value()` APIs to allow
1050   `GTask` to be used from language bindings more easily (!1216)
1051
1052 * Fix a file monitoring crash on kqueue-based systems (BSD) (!1221)
1053
1054 * Bugs fixed:
1055  - #1004 [PATCH] Make gbacktrace use lldb on Mac OS X
1056  - #1552 CI: Add code style checks
1057  - #1750 Switch from  __sync_fetch_*() to __atomic_*() in glib/gatomic.h
1058  - #1777 gsize: improper typedef on (at least) OpenBSD
1059  - #1895 Regression: glib does not compile on centos 6: "objcopy: unrecognized option '--add-symbol'"
1060  - #1917 Test utf8-pointer fails with static build, LTO, optimisations, and new GCC
1061  - #1930 glib/tests/bookmarkfile.c:385:test_modify: assertion failed: (stamp == now)
1062  - #1934 ostree tests broken since bfdc5fc4fc84ef8518d2d1a328c8482cf5a38e98: File '/tmp/test-tmp-libostree_test-basic-user.sh.test-QB4SA0/diff-test2' is not empty
1063  - #1938 GDateTime doesn't support leap seconds
1064  - #1940 atomics test fails on FreeBSD CI since !1123
1065  - !1039 Improve documentation for footgun function g_tls_client_connection_copy_session_state()
1066  - !1083 Use the GObject hole on 64bit arches for some flags to improve performance
1067  - !1202 CI updates after !1177
1068  - !1208 gutils: Slightly improve docs formatting for g_get_os_info()
1069  - !1209 Make ld executable configurable
1070  - !1210 gdbus-server-auth test: Include gcredentialsprivate.h
1071  - !1213 gsocket: Improve diagnostics on bind() failure
1072  - !1214 gvariant, gbytes: Avoid memcmp (NULL, ., 0) or memcmp (., NULL, 0)
1073  - !1216 Make GTask more binding-friendly
1074  - !1218 gdb: Fix GHashTable pretty printer off-by-one error
1075  - !1220 gparam: fix memory leak in g_param_value_defaults()
1076  - !1221 Add NOTE_REVOKE to the list of the monitoring events
1077  - !1225 gtlsconnection: clarify handshake() documentation
1078  - !1227 Deprecate old GTlsConnection functionality even harder!
1079  - !1231 Fix build on old libc that does not define _SC_HOST_NAME_MAX
1080  - !1238 gstrfuncs: use gsize type internally for strv functions
1081  - !1242 gfileinfo: Clarify the documentation for G_FILE_ATTRIBUTE_UNIX_MODE
1082  - !1243 docs: Fix "occurred" typos in API documentation
1083
1084 * Translation updates:
1085  - Spanish
1086
1087
1088 Overview of changes in GLib 2.63.1
1089 ==================================
1090
1091 * Several usability improvements to command line `gio` tool (!1153)
1092
1093 * Add `g_array_steal()`, `g_ptr_array_steal()` and `g_byte_array_steal()` APIs (#285)
1094
1095 * Add `g_get_os_info()` API (!1063, !1160)
1096
1097 * Add `g_warning_once()` API (!1028)
1098
1099 * Always resolve `localhost` to loopback address in `GResolver` (!616)
1100
1101 * Add `GMainContextPusher` API (!983)
1102
1103 * Limit recursion in `g_variant_parse()` (!1173)
1104
1105 * Fix crash in `g_spawn()` with high FD numbers due to use of `select()` rather
1106   than `poll()` (#954)
1107
1108 * Allow passing empty `GValue`s to `g_param_value_set_default()` (!1186)
1109
1110 * Escape header guards generated by `gdbus-codegen` better (#1379)
1111
1112 * Bugs fixed:
1113  - #285 [PATCH] add array steal and memdup functions
1114  - #954 The g_spawn_sync() function uses select() which has limitations
1115  - #1318 rare failure in gdbus-peer test: invalid uninstantiatable type '(null)' in cast to 'GDBusServer'
1116  - #1379 gdbus-codegen generates invalid header guards when build directory contains a + character
1117  - #1622 NULL pointer derefs on g_vasprintf() failure
1118  - #1813 g_option_context_add_main_entries() is missing array annotation for entries parameter
1119  - #1831 No reply on private socket due to auth problem
1120  - #1836 gobject.c uses undefined annotation “(not optional)”
1121  - #1858 docs/reference/gobject/tut_gobject.xml: object properties example uses deprecated API
1122  - #1877 g_cancellable_source_new annotated with 'skip'
1123  - #1896 Use after free when calling g_dbus_connection_flush_sync() in a dedicated thread
1124  - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
1125  - #1903 use-after-free in mimeapps test causes intermittent segfault during testing
1126  - #1906 test_os_info fails on FreeBSD
1127  - #1916 objcopy not used from cross-compilation file in GIO tests
1128  - #1923 Recent Versions of GLib Break Dolphin File-Manager's Thumbnailing when Using 'gtk2' Style
1129  - !616 Always resolve localhost to loopback address
1130  - !983 gmain: Add GMainContextPusher convenience API
1131  - !1014 tests: Add a test for g_assert_finalize_object()
1132  - !1028 gmessages: Add g_warning_once()
1133  - !1035 Switching from C gnu89 to C gnu99 standard
1134  - !1063 gutils: Add g_get_os_info()
1135  - !1082 gdatetime: Document RFC 3339 extensions when parsing ISO 8601
1136  - !1105 syscall flood on every time*() function call
1137  - !1120 Update documentation with FreeBSD build instructions
1138  - !1135 gmain: use atomic operation instead of GMutex to access g_main_context_default()
1139  - !1146 Solaris build fixes
1140  - !1147 gmodule: fix typo in doc comment
1141  - !1148 gio/gfileinfo: fix parameter references
1142  - !1149 gio/gfile: fix parameter reference for value_p
1143  - !1150 gio/gfile: fix parameter references to @contents
1144  - !1151 gio/gfile: fix typo in doc comment
1145  - !1152 gwinhttpvfs: Handle g_get_prgname() returning NULL
1146  - !1153 Several gio-tool bash completion fixes and improvements
1147  - !1155 Strict-aliasing fixes to new atomic built-ins
1148  - !1157 Fix various compiler warnings on Android
1149  - !1160 Add Windows support to g_get_os_info()
1150  - !1161 hash: Remove an assertion from the hot path
1151  - !1163 gcharset: Expand the documentation for g_get_locale_variants()
1152  - !1165 Use uname as a fallback to get OS info
1153  - !1167 Fix some minor leaks in testfilemonitor
1154  - !1168 Fix gdatetime tests on toolbox
1155  - !1171 Revert "gdbus-codegen: emit GUnixFDLists if an arg has type 'h'"
1156  - !1173 gvariant: Limit recursion in g_variant_parse()
1157  - !1177 ci: Add libdbus development files to CI Docker images
1158  - !1179 Improve GPtrArray doc-comments
1159  - !1180 array: Avoid use of memcpy(dest, NULL, 0)
1160  - !1181 gmain: Clarify thread safety of some common GSource functions
1161  - !1182 gio: Fix typo in URL
1162  - !1186 Allow using an empty GValue with g_param_value_set_default()
1163  - !1189 gparamspecs: Fix type class leaks on error handling paths
1164  - !1197 Fix GDBus test failures on non-Linux (in particular FreeBSD)
1165  - !1200 Minor fixes from a scan-build run
1166
1167 * Translation updates:
1168  - Catalan
1169  - Chinese (Taiwan)
1170  - Spanish
1171
1172
1173 Overview of changes in GLib 2.63.0
1174 ==================================
1175
1176 * Add g_fsync() API (#35)
1177
1178 * Fix regression in g_file_copy() when passing
1179   `G_FILE_COPY_TARGET_DEFAULT_PERMS` flag; the destination permissions would be
1180   private rather than following the process’ umask (!1142)
1181
1182 * Several `GDateTime` parsing fixes (!1127)
1183
1184 * Always build the tests if installed-tests are enabled, so that the tests can
1185   actually be installed (!1141)
1186
1187 * Rework atomic function implementations to use memory barrier in the correct
1188   place (when compiler intrinsics aren’t providing the atomics), and fix
1189   signedness issues (#1449, #1565)
1190
1191 * Use the OS’ `fdwalk()` function (if safe) to speed up `g_spawn_*()` on BSD (#1638)
1192
1193 * Remove the macOS `dyld` `GModule` implementation in favour of `dl` instead (!1093)
1194
1195 * Bump Python requirement to ≥ 3.5, which we implicitly relied on anyway through
1196   our Meson dependency (!1132)
1197
1198 * Bugs fixed:
1199  - #35 add g_fsync to API
1200  - #174 g_file_copy always preserves  permissions, even if G_FILE_COPY_ALL_METADATA flag is not set
1201  - #259 docs: fix a misunderstanding in g_type_add_interface_*
1202  - #767 g_signal_lookup fails if class is not referenced
1203  - #1052 g_io_write_chars calls abort when given a null byte as input
1204  - #1449 glib fallback atomic int/ptr get/set have memory barrier in wrong place
1205  - #1565 Signedness of atomic operations
1206  - #1638 g_spawn_*() is extremely slow under certain circumstances
1207  - #1809 Provide API for working with PKCS11 backed certificates
1208  - #1843 TSAN false positive with g_atomic_pointer_get/g_atomic_pointer_set under Clang
1209  - #1865 g_variant_get_data_as_bytes fails after serializing a variant
1210  - #1875 Segfault and Overflow in __gio_xdg_cache_mime_type_subclass() with Wps-Office installed
1211  - #1887 glib 2.62.0 breaks loading dylibs as modules
1212  - #1888 2.62: docs build on Windows broken
1213  - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
1214  - !1020 docs: Remove priv pointers from the tutorial example
1215  - !1062 gtype: mark the inline functions in G_DECLARE_*_TYPE() as UNUSED
1216  - !1080 tests: Fix skipping mkdir-with-parents-permission test
1217  - !1088 Various small scan-build fixes
1218  - !1090 giochannel: Clarify type of GSource callback in documentation
1219  - !1093 gmodule: remove macOS dyld implementation
1220  - !1095 Define G_IOV_MAX to 512 on macOS/iOS
1221  - !1099 gmem: clarify that g_malloc always uses the system allocator
1222  - !1109 doc: fix typo in gio/gsettings.c
1223  - !1110 gio: Add missing "gio remove" option to bash completion script
1224  - !1112 Add version macros for GLib 2.64
1225  - !1115 gdatetime: Fix error handling in g_date_time_new_ordinal()
1226  - !1116 gmarkup: Add a limit on the number of attributes in an element
1227  - !1119 Annotate the return value of various utility functions
1228  - !1124 docs: Fix typo in GConverter{Input,Output}Stream section titles
1229  - !1125 gdatetime: Fix error handling in g_date_time_new_week()
1230  - !1126 fileinfo: Mention that usec mtimes are set
1231  - !1129 gdate: Fix tautological comparison warnings on Android
1232  - !1130 Improve GLIB_DEPRECATED_MACRO_FOR output
1233  - !1131 gio/gfileinfo: fix param reference in doc comment
1234  - !1132 build: Bump Python requirement to ≥ 3.5
1235  - !1137 gregistrysettings: bump key name length to 2048
1236  - !1138 Always build tests if we enabled installed-tests
1237  - !1139 g_file_info_get_modification_date_time: Calculate in integer domain
1238
1239 * Translation updates:
1240  - Danish
1241  - Italian
1242  - Panjabi
1243  - Serbian
1244  - Turkish
1245
1246
1247 Overview of changes in GLib 2.62.0
1248 ==================================
1249
1250 * Fix new `GFileInfo` APIs to work when `G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC`
1251   was not queried (!1087)
1252
1253 * Bugs fixed:
1254  - #487 Add valgrind test runs to CI
1255  - !1084 garray: Fix reference to GLIB_SIZEOF_INT
1256  - !1086 glib.supp: make gobject_init() calloc also of the possible kind
1257  - !1087 fileinfo: ignore USEC if not available
1258
1259 * Translation updates:
1260  - Friulian
1261  - Portuguese (Brazil)
1262
1263
1264 Overview of changes in GLib 2.61.3
1265 ==================================
1266
1267 * Support setting thread name on BSD systems (#1761)
1268
1269 * Install previously-uninstalled headers for public `GNativeSocketAddress`
1270   object (#1854)
1271
1272 * Very initial support for Windows apps (UWP) (!1057)
1273
1274 * Add various new valgrind suppressions to `glib.supp` (#1879, !1075)
1275
1276 * Bugs fixed:
1277  - #83 Optimisation for g_nearest_pow() in garray.c
1278  - #512 GSignal: accumulator function not called to accumulate G_SIGNAL_RUN_CLEANUP object handler return values
1279  - #873 allow NULL arguments to parse_strv
1280  - #905 Patches from static analysis run on 2.40
1281  - #1057 goption: add sanity check to input parameters
1282  - #1309 GSettings object stops emitting "changed" signal on g_settings_reset after call to g_settings_delay
1283  - #1620 GDBus criticals from GVfs with GLib master
1284  - #1761 Setting thread-name on BSD systems
1285  - #1803 GDK_SCALE=X is not respected when using "gio open"
1286  - #1819 Invalid characters in Open Location dialog crashes GIMP
1287  - #1852 Regression: g_mkdir_with_parents() returns 0 on failure
1288  - #1854 glib/gio: GNativeSocketAddress headers not installed.
1289  - #1860 g_clear_handle_id does not trigger GLIB_VERSION_MAX_ALLOWED warning
1290  - #1863 Potential invalid writes on g_utf8_strreverse
1291  - #1867 A couple of en_GBisms
1292  - #1870 GSettingsBackend watches not thread-safe
1293  - #1879 Incomplete valgrind suppressions - 16 KiB leak reported by valgrind from loading libglib-2.0.so
1294  - #1880 glib/gbacktrace.c: If dup2 happened to return -1, don't call dup2 with same value
1295  - #1881 GIO_USE_VOLUME_MONITOR and GIO_USE_FILE_MONITOR do not work as documented
1296  - !1002 Remove mentions of mailing lists from the documentation
1297  - !1011 gapplication: Fix a leaking GRemoteActionGroup member
1298  - !1015 Post-release version bump
1299  - !1016 gnetworkmonitornm fixups
1300  - !1017 Improve ISO 8601 parsing by GDateTime
1301  - !1023 g_object_get_property: Improve documentation for use of G_VALUE_INIT
1302  - !1026 gutf8: Assert that written memory stays in bounds
1303  - !1027 gfileutils: Fix error propagation for other than ENOENT
1304  - !1031 meson: build gnulib if printf isn't good enough
1305  - !1032 meson: small printf check cleanups
1306  - !1033 win32: don't assume the format specifier for the stdlib printf/scanf like functions
1307  - !1034 glib/tests/fileutils: Add a reproducer for #1852
1308  - !1036 cond test: Don't make assumptions about struct sigaction member order
1309  - !1037 Meson: Override glib-compile-resources/schemas
1310  - !1044 Relax use of g_test_bug() to not require g_test_bug_base() to be called first
1311  - !1049 minor typos in the documentation
1312  - !1050 tests: Fix a pragma warning on FreeBSD
1313  - !1054 gerror: Add a docs paragraph about not displaying errors verbatim in UI
1314  - !1057 Some (probably) easy uwp patches
1315  - !1059 Update win32 readme, add myself to codeowners
1316  - !1066 libffi.wrap: Meson port has moved to FDO gitlab
1317  - !1068 gsubprocesslauncher.c: fix documentation
1318  - !1071 meson: Move libdl_dep to the top level
1319  - !1074 Adjust README formatting
1320  - !1075 glib.supp: add suppression for g_type_class_ref()
1321
1322 * Translation updates:
1323  - Basque
1324  - Catalan
1325  - Czech
1326  - English (United Kingdom)
1327  - French
1328  - Galician
1329  - German
1330  - Hungarian
1331  - Indonesian
1332  - Korean
1333  - Lithuanian
1334  - Polish
1335  - Romanian
1336  - Spanish
1337  - Swedish
1338
1339
1340 Overview of changes in GLib 2.61.2
1341 ==================================
1342
1343 * Add various new array functions (#236, #269, #373)
1344  - `g_array_copy()`
1345  - `g_ptr_array_copy()`
1346  - `g_ptr_array_extend()`
1347  - `g_ptr_array_extend_and_steal()`
1348  - `g_array_binary_search()`
1349
1350 * Add `g_assert_finalize_object()` helper function for writing tests (#488)
1351
1352 * Rework how D-Bus connections are closed/unreffed when `g_test_dbus_down()` is
1353   called. Tests which leak a `GDBusConnection` may now time out and abort,
1354   rather than silently leaking. (#787)
1355
1356 * Add a deprecation macro for GLib macros, and use it; third-party uses of
1357   long-deprecated GLib macros may now start causing warnings. (#1060)
1358
1359 * Deprecate `GTime` and `GTimeVal`, and various functions which use them.
1360   Use `GDateTime` and `guint64` UNIX timestamps instead. (#1438)
1361
1362 * Stop using `G_DISABLE_DEPRECATED` to allow disabling deprecation warnings;
1363   third-party code should now be using
1364   `GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED}` to control symbol usage (!871)
1365
1366 * Improve support for running `ninja test` when GLib is built statically (#1648)
1367
1368 * Improve `GNetworkMonitor` detection of offline states (#1788)
1369
1370 * Fix build failure on macOS related to missing `_g_content_type_get_mime_dirs`
1371   function (#1791)
1372
1373 * Add various installed utilities’ paths to `gio-2.0.pc` (#1796)
1374
1375 * Fix keyfile `GSettings` backend and portal (especially relevant to any version
1376   of GLib included in a flatpak runtime) (#1822, !985)
1377
1378 * More IPv6 ‘Happy Eyeballs’ fixes in `GNetworkAddress` (!865)
1379
1380 * Fix CVE-2019-12450, wide permissions of files when copying using GIO (!876)
1381
1382 * Bump the Meson dependency from 0.48.0 to 0.49.2; we won’t depend on anything
1383   higher than this for a while, as Debian 10 ships 0.49 (!924)
1384
1385 * Various test fixes for Windows (!930, !931)
1386
1387 * Initial support for Universal Windows Platform (UWP): certification, and use
1388   of packaged libraries (!951)
1389
1390 * Add experimental clang-cl support on Windows, allowing `g_autoptr()` support
1391   on Windows (!979)
1392
1393 * Bugs fixed:
1394  - #77 G_STDIO_NO_WRAP_ON_UNIX wraps
1395  - #236 Add a function to copy an array
1396  - #269 Additional convenience functions for g_ptr_array
1397  - #373 GArray could use a binary search function
1398  - #436 running tests leaves lots of coredumps
1399  - #453 find-enclosing-mount docs confusing
1400  - #488 Add g_object_assert_last_unref() helper macro to detect object leaks in tests
1401  - #590 A reader lock can be obtained even if a writer is already waiting for a lock
1402  - #638 g_atexit is defined when not declared
1403  - #737 Initialize GValue in g_object_get_property()
1404  - #787 gtestdbus: Properly close server connections
1405  - #804 gdbusproxy prefixes unstripped error
1406  - #870 Fix and enhance GDatetime for Windows
1407  - #872 ucs4 functions have wrong return transfer
1408  - #887 gdusmessage.c mishandles bounds of GDBusMessageType and related enums
1409  - #894 gvalue: Avoid expensive checks where possible
1410  - #940 Docs for g_socket_listener_set_backlog are not very helpful
1411  - #943 G_DEFINE_TYPE_WITH_PRIVATE docs not helpful
1412  - #1018 Allow guid key in dbus addresses
1413  - #1060 Add deprecation macro for macros
1414  - #1169 Tools can display gibberish messages from translations
1415  - #1270 g_get_charset always returns 8-bit codepage on Windows, crippling UTF-8 output
1416  - #1438 Deprecate GTimeVal- and GTime-based APIs
1417  - #1635 g_socket_join_multicast_group iface parameter fails on win32/64
1418  - #1648 2.58.2: Assorted asserts fail in Arch Linux when built statically
1419  - #1729 g_content_type_guess segfaults when passed an empty data buffer on Mac OS
1420  - #1788 GNetworkMonitor claims I am offline
1421  - #1790 documentation on g_file_info_get_attribute_as_string
1422  - #1791 _g_content_type_get_mime_dirs missing from libgio-2.0.0.dylib on MacOS
1423  - #1792 glib-genmarshal generated valist marshal does not respect static scope for some types
1424  - #1793 glib-genmarshal generates wrong code for va marshaler for VARIANT type
1425  - #1794 API Proposal: g_timer_is_active
1426  - #1796 Add gio-querymodules variable to pkg-config file
1427  - #1797 glib/tests/win32 test failing on 64-bit Visual Studio builds
1428  - #1798 /contenttype/tree reliably fails on FreeBSD since !863
1429  - #1807 g_dbus_server_new_sync() documentation references nonexistent function
1430  - #1808 Stopping a GDBusServer should clean up Unix socket paths (if not abstract) and nonce-tcp nonce files
1431  - #1811 Introspection info for g_unichar_compose's 3rd arg should be OUT
1432  - #1822 keyfile gsettings backend not loading
1433  - #1823 Documentation for disabling selinux is incorrect
1434  - #1825 GKeyFileSettingsBackend created without filename construct property and unchecked assertion
1435  - #1828 Small typo in gio manpage
1436  - #1837 Specify for each (optional) parameter, whether it is OUT or INOUT
1437  - #1838 Reword documentation for G_DECLARE_FINAL_TYPE
1438  - #1847 Setting GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED} to before 2.56 triggers warnings
1439  - !533 docs: Document pitfall of deprecation pragmas
1440  - !563 ci: Add scan-build job in a new ‘analysis’ pipeline stage
1441  - !678 glib-compile-schemas: Improve translatable strings
1442  - !817 gdate: Officially mark GTime as deprecated
1443  - !851 gsettings: Document that lists are returned in no defined order
1444  - !853 gobject: Fix apostrophe usage in a few small bits of documentation
1445  - !859 gobject: Add a g_assert_finalize_object() macro
1446  - !863 gunicollate/cygwin: Don't use __STDC_ISO_10646__ for wchar_t related checks
1447  - !865 gnetworkaddress: fix "happy eyeballs" logic
1448  - !867 Post-release version bump
1449  - !871 Drop G_DISABLE_DEPRECATED
1450  - !873 Use atomic reference counting for GSource
1451  - !874 Clamp number of vectors to IOV_MAX / UIO_MAXIOV for GOutputStream writev()...
1452  - !875 CI/msys2: disable coverage reporting, lcov doesn't support gcc9 yet
1453  - !876 CVE-2019-12450: gfile: Limit access to files when copying
1454  - !877 gio: specify proper c_marshaller and va_marshallers
1455  - !883 tests: Fix small race in GSubprocess tests
1456  - !884 garcbox.c: Fix typo atomit => atomic
1457  - !885 goption: Clarify G_OPTION_ARG_FILENAME documentation
1458  - !889 Include <sys/filio.h> for FIONREAD
1459  - !901 gmain: Clarify that g_source_destroy() doesn’t drop a reference
1460  - !904 Add glib-genmarshal tests and fix some valist marshaller bugs
1461  - !906 property action: Add state hints
1462  - !908 Improve testfilemonitor test repeatability and debuggability
1463  - !909 D-Bus auth mechanism improvements
1464  - !914 ci: Run scan-build in a different build directory
1465  - !915 docs: fix typo on arrays examples in gvariant-text
1466  - !917 docs: Fix name of IRC channel in CONTRIBUTING.md
1467  - !919 glib/tests/refcount.c: Fix tests on non-GCC-isque compilers
1468  - !920 gmacros: Only use deprecated attributes on enumerators with GCC ≥ 6.5
1469  - !923 Check if compiler symbols are defined before using them
1470  - !924 Bump the required version of Meson
1471  - !930 glib/tests/convert.c: Skip tests that aren't meaningful for Windows
1472  - !931 glib/tests/fileutils.c: Fix stdio Wrapper Test on Windows
1473  - !934 build: Increase the slow test timeout to 180s
1474  - !935 Ignore */__pycache__/* directories
1475  - !937 Fix module tests on Visual Studio builds
1476  - !939 gstdio: minor cleanups
1477  - !941 list model: Expand items-changed docs
1478  - !944 gutils: Don't limit the length of the host name to 99
1479  - !945 Avoid overrunning stack at the end of the varargs.
1480  - !947 gobject/tests/signals.c: Fix tests on Windows
1481  - !948 GObject: Fix mkenums.py and genmarshal.py tests on Windows
1482  - !950 ci: Enable CI on FreeBSD 12
1483  - !951 Preliminary patches for Universal Windows Platform support
1484  - !952 gio: Make minor docs improvements
1485  - !953 g_utf8_normalize: Doc comment return missing nullable annotation
1486  - !954 Fix the ISO 15924 code for Manichaean
1487  - !955 gmacros: Use _Static_assert when C11 is available
1488  - !958 gthread: fix minor errno problem in GCond
1489  - !961 gmain: Fix g_main_context_prepare priority annotation
1490  - !962 gmacros: Use _Static_assert only for non-expr static assert
1491  - !964 gmacros.h: Use static_assert on MSVC if possible
1492  - !968 Fix typo in request handle
1493  - !970 gdatetime: Unset LC_ALL for the test as well
1494  - !971 docs.c: Forward link from g_auto* → G_DEFINE_AUTO*
1495  - !973 doc: fix typo in gio/gresource.c
1496  - !979 Experimental clang-cl support
1497  - !980 gmacros.h: Add better support for clang-cl
1498  - !981 gio: fix typo in g_settings_reset documentation
1499  - !982 Various doc fixes
1500  - !985 Keyfile portal fixes
1501  - !987 gio/tests: Remove code and comments referring to libtool
1502  - !991 fix atomic detection on older gcc versions
1503  - !992 docs: Add example to g_test_summary() documentation
1504  - !994 gio: Fix minor docs mistakes
1505  - !996 Small array test fixes
1506  - !997 gdbusaddress: Add missing transfer annotation
1507  - !1007 Resubmission of !832 “Try to create the complete path right away and fall back”
1508  - !1009 gapplication: remove inactivity_timeout source on finalize
1509
1510 * Translation updates:
1511  - Hungarian
1512  - Indonesian
1513  - Portuguese (Brazil)
1514  - Spanish
1515
1516
1517 Overview of changes in GLib 2.61.1
1518 ==================================
1519
1520 * `g_unichar_isxdigit()` and `g_unichar_xdigit_value()` now handle full-width
1521   characters (U+FF21–U+FF26 and U+FF41–U+FF46) (#58)
1522
1523 * Deprecate `gtester` utility and its test reporting format and enable TAP
1524   output by default instead — the `--tap` option to tests is now a no-op
1525   (#1441, #1619)
1526
1527 * Add `g_test_summary()` to allow test authors to programmatically summarise
1528   what each unit test in a test suite does (#1450)
1529
1530 * Upgrade to Unicode Character Database v12.1 (#1713, !822)
1531
1532 * More IPv6 Happy Eyeballs fixes to `GNetworkAddress` and `GSocketClient`
1533   (#1747, #1771, #1774)
1534
1535 * Fix valgrind and gdb support for the new `GHashTable` changes (#1749, #1780)
1536
1537 * Fix GTask wait times growing faster than the number of task threads (#1683)
1538
1539 * Change `GApplication` to ignore `-psn_*` arguments on the macOS command line,
1540   as they are irrelevant (#1784)
1541
1542 * Add `g_autoqueue()` helper macros, similar to `g_autolist()` (!474)
1543
1544 * Add pre-allocated link helpers for `GList` and `GQueue`:
1545  - `g_list_insert_before_link()`
1546  - `g_queue_insert_before_link()`
1547  - `g_queue_insert_after_link()`
1548
1549 * Improve network availability detection with NetworkManager to treat lower
1550   levels of connectivity as having reduced availability (!781)
1551
1552 * Add `g_clear_signal_handler()` to allow disconnecting from a `GObject` signal
1553   and clearing the signal handler ID to zero in a single call (!819)
1554
1555 * Add `g_autoptr()` support for `GRWLock` (!825)
1556
1557 * Define `G_OS_UNIX`, not `G_OS_WIN32`, when GLib is built agains Cygwin (!862)
1558
1559 * Bugs fixed:
1560  - #29 GScanner: should explicitly document modifiable fields (value, next_value, ...)
1561  - #58 g_unichar_isxdigit() and g_unichar_xdigit_value() should deal with full-width a-fA-F
1562  - #106 Boxed types should be documented better
1563  - #135 g_unichar_totitle(0) returns 0x00001F88 instead of 0
1564  - #429 g_format_size() is broken on Windows
1565  - #1441 Deprecate gtester
1566  - #1450 Add API for tests to describe what they're checking
1567  - #1619 GTest should have a way to default to TAP
1568  - #1683 GTask: task_wait_time is increased constantly when the number of running thread is greather than 10
1569  - #1713 Upgrade to Unicode Character Database v12
1570  - #1739 meson build failure libdl
1571  - #1747 Critical in g_socket_client_async_connect_complete
1572  - #1749 New GHashTable implementation confuses valgrind
1573  - #1753 Remove memory leaks from gio/test/resolver.c
1574  - #1755 Please revert #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
1575  - #1759 test_month_names: assertion failed
1576  - #1760 Document for g_resolver_lookup_records why it returns a list of list of gchar*.
1577  - #1763 tests: -p runs tests in the reverse of the specified order
1578  - #1768 g_strlcat(): Possible buffer overflow in implementation
1579  - #1771 GNetworkAddressAddressEnumerator unsafely modifies cache in GNetworkAddress
1580  - #1774 Leaks in gsocketclient.c connection code
1581  - #1776 glib/date test fails
1582  - #1780 GDB pretty-printer for GHashTable no longer works
1583  - #1782 Error in documentation for cross-compile.
1584  - #1784 MacOS adds a -psn_X_XXXXXX parameter to the command line
1585  - !474 Add g_autoqueue
1586  - !476 Add pre-allocated link helpers for GList and GQueue
1587  - !556 gtestutils: Make --tap compatible with -p and --GTestSkipCount
1588  - !732 gsocket: Clarify in docs that `flags` arguments can be platform specific
1589  - !766 W32: swap special g_get_prgname() for platform_get_argv0()
1590  - !774 Only build tests if certain conditions are met.
1591  - !780 Add copyright and licensing terms to test report generator
1592  - !781 gnetworkmonitornm: Fix network available detection
1593  - !782 build: Fix check for RTLD_NEXT
1594  - !785 Remove monitor test
1595  - !787 build: Remove */.gitignore files
1596  - !791 glib/gconstructor.h: Include stdlib.h for MSVC builds
1597  - !792 general: Remove a few unhelpful references to ‘master’
1598  - !795 gdesktopappinfo: Add support for MATE and Xfce4 terminals
1599  - !802 gio: tests, don't check for libdl on OpenBSD
1600  - !806 Get to 100% coverage on GQueue tests
1601  - !808 Update the Docker images used for CI
1602  - !809 Modified version of !784 — Adding tests cases for a better coverage of glib/tests/strfuncs.c
1603  - !813 gappinfo: Add precondition checks to GAppLaunchContext env methods
1604  - !814 gschema.dtd: Add target attribute to alias
1605  - !819 Clear signal handler
1606  - !820 ci: Keep JUnit report script working on Debian stable
1607  - !821 Various minor cleanups to autoptrs
1608  - !822 glib: Update Unicode Character Database to version 12.1.0
1609  - !825 Add autoptr support for GRWLock
1610  - !831 build: (Long time after) post-release version bump
1611  - !835 Fix typo in German translation
1612  - !836 Document the best practices for binding GInitiallyUnowned
1613  - !862 build: define G_OS_UNIX, not G_OS_WIN32 under cygwin
1614
1615 * Translation updates:
1616  - Basque
1617  - Catalan
1618  - German
1619  - Indonesian
1620  - Spanish
1621
1622
1623 Overview of changes in GLib 2.61.0
1624 ==================================
1625
1626 * Changes to `iconv` configure options, including the default iconv
1627   implementation on macOS — distributors may need to check their configure
1628   scripts (#1557)
1629
1630 * Build fixes when building GLib with `G_DISABLE_ASSERT` defined (#1708)
1631
1632 * Fix documentation for `gdbus-tool wait` to use correct units (#1737)
1633
1634 * Improvements to symlink handling on Windows (!269)
1635
1636 * Add exception handling for crashes on Windows (!582)
1637
1638 * Set `G_WITH_CYGWIN` again when GLib is built on Cygwin (this was a regression
1639   from the autotools build) (!736)
1640
1641 * Use `GCocoaNotificationBackend` by default on macOS, rather than
1642   `GGtkNotificationBackend` (!745)
1643
1644 * Use Windows symbol visibility when GLib is built on Cygwin, as PE binaries
1645   are subject to W32 visibility mechanics — this affects the definition of
1646   `_GLIB_EXTERN` (!752)
1647
1648 * Add coloured output support to `gdbus introspect` (!761)
1649
1650 * Bugs fixed:
1651  - #682 docs: advise not to use non-literal strings as qdata keys
1652  - #1177 gparted crashes due to g_quark_from_static_string used in global initialization
1653  - #1258 the buffer written to by g_input_stream_read is not marked as an out parameter
1654  - #1557 By default glib tries to use libc instead of native iconv on OSX
1655  - #1566 Meld Windows shows error on startup "There was a problem starting c:\Program"
1656  - #1614 GIO tests fail on FreeBSD CI with: Unexpected error from C library during 'pthread_mutex_lock': Invalid argument
1657  - #1708 Building GLib with G_DISABLE_ASSERT fails
1658  - #1709 GResource generation test incompatible with stable LLVM on Linux
1659  - #1710 Crash in g_cancellable_cancel
1660  - #1712 gdbus-proxy test is flaky
1661  - #1724 unconditional check in fuzzing/meson.build
1662  - #1725 gosxappinfo.h is not installed on macOS
1663  - #1727 Cannot use trash folder with an NFS mount using automount / autofs
1664  - #1728 GSocket does not support ENOTSOCK
1665  - #1732 Win32: lookup_by_name_async segfaults for not available domains
1666  - #1737 gdbus-tool wait command timeout argument incorrect unit reference
1667  - !67 glib: update internal gnulib from upstream
1668  - !269 Win32 symlink code refactoring
1669  - !493 tests: Check that cancelling g_file_replace don't overwrite existing file
1670  - !582 Basic W32 exception handling for glib
1671  - !680 Fix warnings glib
1672  - !690 Fix thread safety issues
1673  - !694 gvariant-parser: Fix pattern coalesce of M and *
1674  - !706 Fix data races in task test and gmenumodel test
1675  - !709 Bump release version for 2.62 series
1676  - !710 socket: Fix annotation for flags in g_socket_receive_message
1677  - !712 gwin32: Fix comment for g_win32_veh_handler
1678  - !716 Various minor documentation fixes
1679  - !717 Improve formatting of GCC attribute documentation
1680  - !718 GSocketClient - Free last error if a connection attempt fails and on retry the...
1681  - !719 Handle an UNKNOWN NetworkManager connectivity as NONE
1682  - !721 codegen: Fix use of uninitialised variable
1683  - !723 Provide examples for GNUC attribute macros
1684  - !724 meson: do a build-time check for strlcpy before attempting runtime check
1685  - !728 gsocket: Remove (type) annotation from flags arguments
1686  - !730 Improve gdbus-address parsing tests
1687  - !735 docs: Use the right g_autoptr function when using an auxiliary function
1688  - !736 Set G_WITH_CYGWIN again
1689  - !737 gresolver: Don’t use gai_strerror() on Windows, as it isn’t threadsafe
1690  - !741 Fix use-after-free triggered by gnome-session-binary
1691  - !745 gcocoanotificationbackend: give more priority than the gtk one
1692  - !749 gio: Add missing autocleanup definition for GSettingsSchema{Key,Source}
1693  - !750 Check for RTLD_NEXT
1694  - !752 Use W32 visibility for Cygwin
1695  - !754 Check for /proc/self/cmdline
1696  - !757 Fix gnulib build on older Visual Studio builds
1697  - !760 Properly ensure the cocoa notification backend type
1698  - !761 RFC: gdbus-tool: Add --color option for introspect
1699  - !762 gutils: Add (nullable) annotation to g_get_prgname()
1700  - !765 gslice: Use a convenience macro
1701  - !769 ci: Generate a cover report for the test suite
1702  - !772 tests: Check that option-argv0 test succeeds on Linux
1703  - !776 tests: Only run --external-data test on GNU ld/objcopy
1704  - !779 Fix 2.62 documentation symbols
1705
1706 * Translation updates:
1707  - Dutch
1708
1709
1710 Overview of changes in GLib 2.60.0
1711 ==================================
1712
1713 * Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1653, #1679, #1693)
1714
1715 * Add support for the XDG trash portal (#1676, !276)
1716
1717 * Bugs fixed:
1718  - #1653 gsocketclient-slow test is flaky
1719  - #1658 keyfile settings backend: Consider tightening permissions
1720  - #1668 Fill in CODE-OWNERS file
1721  - #1675 glib-compile-resources: c_name generation issue
1722  - #1676 Trash portal tries to open files as read-only but D-Bus API documents against that
1723  - #1679 socket-service test is flaky
1724  - #1693 Happy Eyeballs failure in gsocketclient-slow test
1725  - #1697 gthreadresolver: do_lookup_records does res_ninit with an uninitialized state
1726  - #1698 g_base64_encode(NULL, 0) causes critical warnings
1727  - !276 Support the trash portal
1728  - !639 gvariant-parser: Fix error handling when type coalescing fails
1729  - !666 Socket fixes to W32 test suite
1730  - !674 Update gvdb submodule
1731  - !676 Initialize a variable
1732  - !677 gerror: Add a missing precondition assertion in documentation
1733  - !686 gio: Also support modules built with MSVC
1734  - !688 gsocketclient: Fix critical on cancellation
1735  - !689 glib-compile-resources: Fix a minor leak
1736  - !691 gtask: Separate GTask fields memory locations to avoid data races
1737  - !692 glib.supp: Add more variations of existing suppressions
1738  - !696 Move closures refcount test to gobject/tests/
1739  - !698 gthreadedresolver: Remove unused thread pool
1740  - !699 tests: Fix closure-refcount to preserve old semantics
1741  - !702 Rename gobjectenumtypes.[ch] to glib-enumtypes.[ch]
1742  - !703 Clean up gmarshal.[ch]
1743
1744 * Translation updates:
1745  - Catalan
1746  - Czech
1747  - French
1748  - Friulian
1749  - German
1750  - Italian
1751  - Korean
1752  - Romanian
1753  - Serbian
1754
1755
1756 Overview of changes in GLib 2.59.3
1757 ==================================
1758
1759 * Fix support for g_get_user_special_dir() on macOS, including support for the Downloads directory (#1048)
1760
1761 * Ensure that cancelling a GTask cannot cause its callback to be called synchronously (in the same call chain as the original *_async() call) (#1608)
1762
1763 * Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1644, #1680)
1764
1765 * Various fixes for installation of installed tests (thanks to Iain Lane) (!649, !651)
1766
1767 * Various fixes for tests when run on Windows (thanks to LRN) (!665, !667)
1768
1769 * Bugs fixed:
1770  - #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
1771  - #875 gio-gvfs on Windows: Don't mishandle other non-native URIs in gwinhttpvfs.c
1772  - #1048 "Desktop" shortcut appears twice in file chooser sidebar on OSX
1773  - #1608 Cancellation might not be asynchronous under certain circumstances
1774  - #1644 network-address test failure in CI: IPv6 Broken (g-io-error-quark, 24)
1775  - #1680 Regression: g_socket_client_connect_to_host_async() sometimes gets "Connection refused" when connecting to localhost
1776  - #1686 gdbus-peer test is sometimes timing out
1777  - !613 Use win32 io channel on windows for the protocol test
1778  - !634 Win32: gio/gsocket.c: Set WSAEWOULDBLOCK on G_POLLABLE_RETURN_WOULD_BLOCK
1779  - !638 gvariant-parser: Fix parsing of G_MININT* values in GVariant text format
1780  - !640 tests: Tag socket-service test as ‘flaky’
1781  - !641 Minor typo fixes to GSpawn documentation
1782  - !645 gsocketlistener: Fix multiple returns of GTask when accepting sockets
1783  - !647 gsocketclient: Ensure task is always returned on cancel
1784  - !648 gio/tests/task: Run the worker indefinitely until it's cancelled
1785  - !649 gio tests: Install test1.overlay file when building installed tests
1786  - !650 gstring: fully document semantics of @len for g_string_insert_len
1787  - !651 tests: Install the slow-connect-preload.so library and use it
1788  - !667 GSubprocess fixes for W32 test suite
1789  - !668 tests: Mark gdbus-peer test as flaky
1790  - !669 GWin32VolumeMonitor: Sort the volumes correctly
1791  - !670 gpollableoutputstream: Fix the description of the interface
1792  - !672 Fix some tests when running as root
1793
1794 * Translation updates:
1795  - Catalan
1796  - Danish
1797  - French
1798  - Indonesian
1799  - Kazakh
1800  - Portuguese (Brazil)
1801  - Slovenian
1802  - Turkish
1803
1804
1805 Overview of changes in GLib 2.59.2
1806 ==================================
1807
1808 * Fix check on GDBusMessage size when reading it. (#1642)
1809
1810 * Add async GIO API: g_file_query_default_handler_async(), g_app_info_launch_uris_async() (#1249, #1347)
1811
1812 * Fix some bugs in the Happy Eyeballs implementation. (#1646, #1649)
1813
1814 * Install a new generated header with enum types for Unicode enums. (!481)
1815
1816 * Support the XDG trash portal. (!276)
1817
1818 * Bugs fixed:
1819  - #1224 TSAN patches
1820  - #1249 xdg-open/gnome-open doesn't work if service isn't started
1821  - #1347 g_app_info_launch_default_for_uri_async  is not really async
1822  - #1376 gmarkup: Optimize g_markup_escape_text()
1823  - #1642 minor mismatch between error and code in g_dbus_message_bytes_needed
1824  - #1646 Criticals in g_socket_client_enumerator_callback()
1825  - #1649 Critical in g_socket_client_connected_callback
1826  - #1673 G_MININT constants broken in g-i
1827  - !276 Support the trash portal
1828  - !481 Define enum types for Unicode enums
1829  - !585 gio: do not pass O_PATH file descriptors to portal APIs
1830  - !593 Don't fail trash test if ~/.local doesn't exist or mount points can't be determined (master)
1831  - !609 Make `g_app_info_launch_uris_async()` really asynchronous
1832  - !619 gvariant: Fix a mistake in docs
1833  - !622 Fixing warnings
1834  - !626 gdbus: Avoid printing null strings
1835  - !627 gsocketclient: Fix criticals
1836  - !629 Various memory leak cleanups to GSettings tests (subset)
1837  - !630 docs: Ignore more version macros
1838
1839 * Translation updates:
1840  - Galician
1841  - Hungarian
1842  - Lithuanian
1843  - Polish
1844  - Spanish
1845
1846
1847 Overview of changes in GLib 2.59.1
1848 ==================================
1849
1850 * Autotools support is gone. (!580)
1851
1852 * g_format_size() now uses a no-break space to separate digits and units;
1853   translations will need to be updated accordingly. (#1625)
1854
1855 * New g_queue_clear_full() API. (#1464)
1856
1857 * Fix argument quoting on win32 when spawning subprocesses. (!419)
1858
1859 * Allow polling more than 64 handles on win32 using g_poll(). (#1071)
1860
1861 * Tag various tests as ‘flaky’. These are no longer run routinely on our
1862   upstream CI machines, and downstream packagers may want to not run them (or
1863   not treat those test failures as package build failures) on their test
1864   machines either. They are in the `flaky` test suite. (!579)
1865
1866 * Add overlay support to g_resources_get_info(). (#1445)
1867
1868 * Support defaults and locks in the keyfile GSettings backend. This will be
1869   used for flatpaks. (!450)
1870
1871 * Accept unquoted strings in the keyfile GSettings backend to simplify things
1872   for sysadmins. (!603)
1873
1874 * Update our contribution guidelines (`CONTRIBUTING.md`). (!590)
1875
1876 * Add writev() and writev_all() APIs to GOutputStream and GPollableOutputStream,
1877   and provide implementations of them for many subclasses. (#1431)
1878
1879 * Bugs fixed:
1880  - #424 Add 'proxy' debugging support
1881  - #1055 Provide alignment macros
1882  - #1071 Eliminate MAXIMUM_WAIT_OBJECTS limitation in g_poll() on Windows
1883  - #1445 g_resources_get_info doesn't respect resource overlays
1884  - #1464 Add g_queue_clear_full() API
1885  - #1500 GListStore needs double checking on some warnings
1886  - #1623 xdg-open: file with colon results in “The specified location is not supported”
1887  - #1625 Unbreakable space needed when showing size of folder/file
1888  - #1636 GTask getters don’t return TRUE/FALSE after bitfield changes
1889  - #1637 EXCEPTION_ACCESS_VIOLATION in g_clear_pointer
1890  - #1639 GListStore implementation of g_list_model_get_item() returns wrong results on integer overflow
1891  - #1655 gvariant-parser warnings
1892  - #1663 G_MININT32 triggers compiler warning C4146 with Visual C++
1893  - #1666 `G_DEFINE_DYNAMIC_TYPE_EXTENDED` causes warnings with -Wcast-function-type
1894  - !319 giomodule: Print the type of each default GIO module
1895  - !333 Add writev() API to GOutputStream and GPollableOutputStream
1896  - !419 gspawn, win32: qouted args - escape end backslash
1897  - !450 Settings portal
1898  - !512 gtype: Clarify type of GInterfaceInitFunc
1899  - !516 gthread: Add g_private_set_alloc0() convenience API
1900  - !535 win32 gpoll: overcome the 64 handles limit
1901  - !545 goption: Fix an annotation on g_option_context_parse_strv()
1902  - !560 docs: Fix dconf GSETTINGS_BACKEND name in gio overview
1903  - !564 gtype: Document type for iface_default_init() function
1904  - !568 Add separate definitions of g_assert_[non]null() for C++
1905  - !571 docs: Add note on how to check a gboolean condition
1906  - !575 gio: Update bad cert error in accept-certificate and GTlsError docs
1907  - !579 Temporarily disable flaky tests
1908  - !580 Drop autotools support
1909  - !583 gmacros: MSVC supports the noreturn function attribute
1910  - !587 Remove unused .pc.in files
1911  - !588 MSVC: Move dirent implementation to glib/dirent/
1912  - !590 Update contribution documentation
1913  - !591 gfileinfo: Fix annotation for g_file_info_set_attribute_stringv
1914  - !592 Remove leftover build/ directory
1915  - !595 gtestutils: pass open file descriptors to subprocess
1916  - !597 tests: Tag gsocketclient-slow test as ‘flaky’
1917  - !598 gdbus-proxy test fails with GLib-GIO:ERROR:glib/gio/tests/gdbus-proxy.c:832:fail_test: code should not be reached
1918  - !599 gdtlsconnection: do not return on a void method
1919  - !601 gio: Support "help" in extension point env vars
1920  - !602 Update POTFILES.in
1921  - !603 keyfile settings: Accept unquoted strings
1922  - !608 build: Add -Wno-pedantic flag to compiler arguments
1923  - !611 gnetworkaddress: fix use-after-free for network address
1924  - !612 gdir: shutup a warning when building with msvc
1925  - !615 Fix a couple of wrong compiler warnings
1926
1927 * Translation updates:
1928  - Spanish
1929  - Swedish
1930
1931
1932 Overview of changes in GLib 2.59.0
1933 ==================================
1934
1935 * This will be the last development release with autotools support. As our
1936   Meson support has been around since 2.56.x, and was used to release tarballs
1937   in 2.58.x, the next development release (2.59.1) will drop autotools as used
1938   to build GLib. The macros installed for other packages to use will remain.
1939
1940 * Add `G_TEST_OPTION_ISOLATE_DIRS` to redirect `XDG_*_HOME` to a temporary
1941   directory for each unit test. (#538)
1942
1943 * Support `Property.EmitsChangedSignal` annotations in `gdbus-codegen`. (#542)
1944
1945 * Add `g_assert_cmpvariant()` API for unit tests. (#1191)
1946
1947 * Hide bind mounts from GIO mount listings. (#1271)
1948
1949 * Automatically realign data passed to `g_variant_new_from_bytes()` or
1950   `g_variant_new_from_data()` if it is not correctly aligned. This prevents
1951   misaligned accesses on architectures which don’t support them. Callers should
1952   still aim to correctly align data to get higher performance. (#1342)
1953
1954 * Support `ld -b binary` (on platforms which support it; i.e. Linux) to provide
1955   large pre-compiled `GResource` resources with a fast compilation time. (#1489)
1956
1957 * Unconditionally install GLib m4 macros, so that projects which depend on GLib
1958   and which still build using autotools can continue to build even once GLib has
1959   ported entirely to Meson. (#1520)
1960
1961 * Various fixes to the Meson build.
1962
1963 * Drop Python 2 support and require Python 3.4+. See discussion on
1964   https://mail.gnome.org/archives/desktop-devel-list/2018-July/msg00004.html.
1965   (!196)
1966
1967 * `GHashTable` performance and memory improvements for common cases. See
1968   https://hpjansson.org/blag/2018/07/24/a-hash-table-re-hash/. (!208)
1969
1970 * Add flags that allow a `GApplication` to signal and replace a currently
1971   running other instance of the same `GApplication`. This will be used for app
1972   upgrades with flatpak. (!250)
1973
1974 * Autostart xdg-desktop-portal when using the network monitor and proxy monitor
1975   portal backends. (!317)
1976
1977 * Add a g_task_set_name() API to allow `GTask`s to be described; useful for
1978   debugging. (!384)
1979
1980 * Enable FreeBSD CI on every commit for upstream GLib. (!387)
1981
1982 * Various GVariant, GMarkup and GDBus fuzzing fixes, including buffer overflow
1983   fixes. (!411)
1984
1985 * Various fixes to eliminate thread races, found by thread sanitizer (tsan).
1986
1987 * Deprecate TLS/DTLS rehandshaking, as it has been removed from the protocol in
1988   TLS 1.3. (!478)
1989
1990 * Support reading arguments from a file with `glib-mkenums`, which is useful
1991   for long argument lists due to having deeply nested build directories, on
1992   systems with a low limit on the command line length. (!489)
1993
1994 * Make `g_environ_*()` case-insensitive on Windows, as the environment itself
1995   is case-insensitive on Windows. (!500)
1996
1997 * Add Application Layer Protocol Negotiation (ALPN) support to `GTlsConnection`
1998   and `GDtlsConnection`, so that higher layer protocols can be negotiated when
1999   setting up a TLS connection, without additional round trips and latency. This
2000   is needed for eventual HTTP/2 support. (!520)
2001
2002 * Add support for TPM keys in PEM files when loading TLS certificates. (!522)
2003
2004 * Add a `GRecMutexLocker` auto-pointer wrapper for `GRecMutex`. (!528)
2005
2006 * Bugs fixed:
2007  - #107 The "g_key_file_get_comment" interface returns comment with unexpected new line symbol at the end
2008  - #179 g_object_unref assert in debug code
2009  - #277 'destroy_data' in g_cclosure_new is registered as finalize notifier instread invalidate.
2010  - #538 Add helpers to redirect XDG_*_HOME to a temp dir for unit tests
2011  - #542 gdbus-codegen does not honor "Property.EmitsChangedSignal" annotations
2012  - #656 check for -Werror=format-security broken
2013  - #734 Provide a way to instantiate a GDBusProxy-derived class from a GDBusConnection and a object path without blocking
2014  - #827 gmain: Clarify that g_source_set_callback() is safe on attached sources
2015  - #1055 Provide alignment macros
2016  - #1119 GVolumeMonitor: Results don't reflect current state but state when application was launched
2017  - #1191 add g_assert_equal_variants
2018  - #1261 Add option to leave <default> in gschema empty
2019  - #1271 fstab binds appear as mounts (x-gvfs-hide is being ignored)
2020  - #1310 gdbusproxy: make g-name-owner property useful with unique names
2021  - #1313 Meson: Rework the config.h generation
2022  - #1342 Automatically realign data passed to g_variant_new_from_bytes() or g_variant_new_from_data()
2023  - #1343 g_date_set_parse: Parses "September" in Polish incorrectly
2024  - #1362 Incorrect documentation about GSettings child add/remove notifications
2025  - #1452 GFileInfo: unable to retrieve correct modification time of links and mounted volumes on Windows
2026  - #1471 Incorporate oss-fuzz fuzz targets into GLib
2027  - #1489 Use `ld -b binary` to speed up GResource generation for linking
2028  - #1498 distcheck fails in distclean
2029  - #1506 error: redefinition of typedef 'GKqueueFileMonitor'
2030  - #1509 test_timeval_to_iso8601_overflow: 'out' should be NULL
2031  - #1513 GIcon regression?
2032  - #1514 gio/appinfo test sometimes fails in CI
2033  - #1518 /network-monitor/create-in-thread fails in (LXC) containers on glib-2-56
2034  - #1520 Change conditions for installing m4 macros
2035  - #1522 Trash not working on NTFS folder accessed from symlink
2036  - #1523 GIO NetworkMonitor doesn't reflect the current network state
2037  - #1525 GTask allows (buggy) application code to cause callback to be called twice, without warning
2038  - #1527 Meson doesn't install data for installed-tests
2039  - #1528 Meson tests are hard to debug in an autobuilder environment
2040  - #1530 tests/mainloop-test appears to be flaky
2041  - #1535 meson: installed-test metadata not run in TAP mode
2042  - #1536 meson: spurious dependencies on convenience libraries in .pc files
2043  - #1537 meson: absolute paths to ${builddir} included in gtk-doc HTML
2044  - #1538 meson: G_HAVE_GROWING_STACK defined differently
2045  - #1539 meson: Some files are unnecessarily installed executable
2046  - #1541 meson: timeloop-closure test not installed
2047  - #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
2048  - #1544 meson: gtester-report #! not replaced with ${PYTHON}
2049  - #1546 Cross-compilation fails in 2.58
2050  - #1556 build: Too long file path issue with meson on Windows
2051  - #1562 GDate test suite fails with latest glibc
2052  - #1570 ghash.c:694:27: left shift of 1 by 31 places cannot be represented in type 'int'
2053  - #1572 Flags validation fails
2054  - #1575 g_date_time_format() should have format attribute
2055  - #1576 Fails to build with Meson on Debian armel (armv5te EABI softfloat little-endian)
2056  - #1580 glib-compile-resources using strings breaks building e.g. GTK+ on MS Visual C, which limits strings to 65535 chars
2057  - #1581 Memory used for reference counted data might be misaligned.
2058  - #1588 Moving a bookmark item to the same URI causes a crash
2059  - #1589 g_log_writer_is_journald memoizes a single result, even though it accepts a parameter
2060  - #1590 tests: g-file-info-filesystem-readonly fails if run more than once with fuse & bindfs installed
2061  - #1594 Return value of g_dbus_connection_get_unique_name not annotated as nullable
2062  - #1600 g_timeout_source_new_seconds overflows when given interval > (G_MAXUINT / 1000)
2063  - #1601 appinfo test fix is defective
2064  - #1605 g_date_time_format fails when used with non ASCII format string on POSIX locale
2065  - #1615 gdbus-codegen not generating nullable annotation
2066  - !196 [RFC] build: Drop Python 2 support and require Python 3.4+
2067  - !200 Add a new GTlsError to indicate protocol downgrade attacks
2068  - !208 GHashTable improvements
2069  - !219 glocalfilemonitor: Fallback to poll file monitor for NFS
2070  - !238 W32 GFileInfo improvements
2071  - !250 Application replace
2072  - !264 glib-compile-resources: encode data as string
2073  - !268 build: simplify alloca checks. See #1313
2074  - !272 dtrace: Add missing const attributes to types in glib_probes.d
2075  - !273 gtlsbackend: add support for setting the default TLS database
2076  - !277 Use "command -v" instead of "which"
2077  - !282 meson: Add macOS libtool versioning for ABI compatibility
2078  - !286 gspawn: Fix build on systems without O_CLOEXEC
2079  - !287 glib-compile-resources: Fix generated code compiling with C++ compilers
2080  - !289 tests: Add more tests to finish branch coverage of GHashTable
2081  - !290 build: fix installation dir of glib-gettextize
2082  - !292 Remove all ChangeLog files
2083  - !293 Document new volume class `loop`
2084  - !294 portal network monitor: Always emit changed signal on changed
2085  - !295 meson: fix typo
2086  - !296 Add G_GNUC_FALLTHROUGH for __attribute__(fallthrough))
2087  - !297 build: Drop AC_C_CONST from configure.ac
2088  - !302 Document that GTimeVal is subject to the year 2038 problem on 32-bit systems
2089  - !303 liststore: Simplify code
2090  - !304 Add more GListStore/GListModel tests
2091  - !309 codegen: Change pointer casting to remove type-punning warnings
2092  - !312 Enable GIO tests on Windows
2093  - !316 gdbus: Improve error when well-known name is unowned
2094  - !317 Autostart xdg-desktop-portal if needed
2095  - !322 gnetworkmonitornm: Set a GError properly on an error handling path
2096  - !332 gmarkup: Make the documentation even more explicit about untrusted input
2097  - !334 gio: automake: Add libgmodule dependency
2098  - !338 gcharset: fix leaking g_get_language_names_with_category
2099  - !339 Add g_desktop_app_info_get_string_list(); fix g_key_file_free()
2100  - !340 tests: Mark two more tests as slow
2101  - !345 Fix build failure on systems without POSIX spawn
2102  - !347 Use Meson 0.48.0 for CI
2103  - !348 Documentation tweaks for g_array_free
2104  - !353 Meson: Do not run tests/refcount with --tap
2105  - !354 Fix spelling mistakes detected by Debian's Lintian tool
2106  - !358 Autotools: Move libmount from Libs.private to Requires.private
2107  - !360 CI: Test static build on installed glib
2108  - !363 Tests: Mark printf wrappers with G_GNUC_PRINTF
2109  - !364 ci: Enable FreeBSD CI
2110  - !366 gunixmounts: Mark mounts as system internal instead of filtering out
2111  - !372 gmacros: Fix G_[UN]LIKELY to not mask -Wparentheses
2112  - !374 gthreadpool: Include prgname in thread name
2113  - !375 m4macros: Allow information from pkg-config to be overridden
2114  - !376 gthread: Clarify priority handling in GRWLock
2115  - !379 Ignore g_return_*if_fail() branches in lcov coverage report
2116  - !381 Add UTF-8 communication tests for GSubprocess
2117  - !384 gtask: Add a g_task_set_name() method
2118  - !387 ci: Enable FreeBSD CI in the official repository
2119  - !396 m4: Fix AM_PATH_GLIB_2_0 macro
2120  - !400 grefcount: add missing gatomic.h
2121  - !403 build-sys: Pass CFLAGS to $(DTRACE)
2122  - !405 ci/msys2: fix path to the lcov config file
2123  - !406 meson: Mark 1bit-emufutex test as slow
2124  - !407 meson: Increase test timeouts
2125  - !410 gfileutils: Add examples to g_path_get_dirname() documentation
2126  - !411 Various GVariant, GMarkup and GDBus fuzzing fixes
2127  - !412 Enable compile time check of g_date_time_format() format
2128  - !413 Add support for g_auto(s)list to G_DECLARE'd types
2129  - !414 gio, tests: ensure objectmanager sources are generated
2130  - !415 gseekable: fix 'attmepting' typo
2131  - !416 gdbus-peer: Make sure to not include objectmanager-gen.c source
2132  - !417 Fix ^*ay handling in g_variant_iter_loop()
2133  - !418 Meson: Cleanup a FIXME now that we have dict addition
2134  - !420 gdbus-codegen: add autocleanup for FooObject
2135  - !422 GMarkup buffer overflow fixes for error handling, round 2
2136  - !423 gutils: Check whether getauxval function exists
2137  - !424 ci: Fix Docker image version
2138  - !425 gdate: Reinitialize using_twodigit_years and locale_era_adjust.
2139  - !435 gdatetime: Fix formatting of time zones offsets in range -01:00 to +00:00
2140  - !436 valgrind: Add glib_init()-related suppressions
2141  - !440 Fix minor memory leaks in tests
2142  - !443 tests: Avoid multithreaded use of g_test_rand_int_range
2143  - !444 gvarianttypeinfo: Consistently use atomics to access ref_count
2144  - !446 gmain: Fix data races in GUnixSignalWatchSource and GChildWatchSource
2145  - !451 closures test: Avoid timeout on ARM64 CPUs
2146  - !452 Atomic reference count in GVariant, ContainerInfo and GDBus introspection
2147  - !453 tests: Fix some data races in tests
2148  - !454 gdbusproxy: make g-name-owner property useful with unique names
2149  - !458 glib-compile-resources: Fix size allocation for compressed streams
2150  - !460 gatomicrefcount: Make g_atomic_ref_count_init non-atomic
2151  - !461 Meson: Fix build error in gdbus-example-objectmanager
2152  - !462 meson: add aarch64 memory barrier handling
2153  - !463 gio, tests: fix leak of dbus connection.
2154  - !467 Update documentation of g_tls_connection_handshake() again
2155  - !469 docs: add index of new symbols for gio > 2.52
2156  - !470 docs: Clarify return/error behaviour of D-Bus signal subscriptions
2157  - !472 gdbusmessage: Gracefully handle message signatures with invalid types
2158  - !477 gthread: Remove unsynchronized access to g_once_init_list from assertion
2159  - !478 Deprecate TLS rehandshaking
2160  - !480 docs: add a missing semicolon
2161  - !482 Check for 'z' library before fallbacking to subproject
2162  - !483 meson: Turn selinux into a meson feature and make it auto by default
2163  - !484 Meson: Add 'nls' option to disable translation
2164  - !485 gdbus-codegen: Tag interfaces and properties so annotated with G_PARAM_DEPRECATED
2165  - !486 Check for zlib header
2166  - !489 glib-mkenums: Support reading @rspfiles for arguments
2167  - !490 gspawn: Fix g_spawn deadlock in a multi-threaded program on Linux
2168  - !491 Meson: Add missing include_directories when using glib as subproject
2169  - !492 g_value_get_variant: return value is transfer-none not transfer-full
2170  - !494 Resolve "Follow-up from "gunixmounts: Stop considering cifs/nfs as system file systems""
2171  - !500 genviron: make g_environ_* case-insensitive on Windows
2172  - !504 tests: Unset LANGUAGE when running gdatetime tests
2173  - !505 Support isolating directories for unit tests
2174  - !508 ci: Install additional locales used during tests
2175  - !510 Add new Linux Testing project version number to configure script
2176  - !511 gvariant: Fix error handling for parsing Unicode escapes
2177  - !514 fix gdbus-codegen --interface-info-{header,body}
2178  - !515 binding: Clarify the use of g_object_unref() to remove a binding
2179  - !517 Meson: Fix deprecation warning with upcoming 0.49.0 release
2180  - !518 Meson: Fix declare_dependency() calls
2181  - !520 GTlsConnection: add ALPN support
2182  - !521 tests: Rename macro to avoid conflict with encoding prefix
2183  - !522 gtlscertificate: Add support for TPM keys in PEM files
2184  - !524 gdatetime: Fix typo in the comment
2185  - !528 Add GRecMutexLocker
2186  - !530 tests: Minor improvements to mkenums.py and taptestrunner.py used by it
2187  - !534 gtlscertificate: Fix bug in PEM private key parser
2188  - !536 Various minor docs fixes
2189  - !541 gtimezone: Fallback to /etc/timezone on Gentoo
2190  - !546 spawn: add shebang line to script
2191  - !547 Do not check for NULL when calling free()
2192  - !549 Improve documentation of g_assert_error()
2193  - !551 Revert "tests: Fix GOptionContext leak in GSubprocess tests"
2194  - !554 Only subscribe to owner-changed signals on message bus connections
2195  - !555 Suppress -Wint-in-bool-context warning with G_DEFINE_INTERFACE and g++
2196
2197 * Translation updates:
2198  - Brazilian Portuguese
2199  - Czech
2200  - Danish
2201  - Greek
2202  - Hungarian
2203  - Lithuanian
2204  - Norwegian bokmål
2205  - Polish
2206  - Slovak
2207  - Slovenian
2208  - Spanish
2209  - Swedish
2210  - Turkish
2211
2212
2213 Overview of changes in GLib 2.58.0
2214 ==================================
2215
2216 * Tarball built with `ninja dist`, so if you want to build this release with
2217   autotools (which is supported), you will need to re-run autogen.sh. This
2218   release, and all micro releases in the 2.58.x series, support being built
2219   with Meson or autotools. See:
2220   https://mail.gnome.org/archives/gtk-devel-list/2018-June/msg00012.html
2221
2222 * Fix cancellation of g_subprocess_communicate_async() calls. See !266.
2223
2224 * Drop support for the __int64 type, which further breaks compilation on old
2225   MSVC versions (before VS2013). See #1313.
2226
2227 * Expose GSettings schema directory in gio-2.0.pc as `schemasdir`. See !274.
2228
2229 * Support v3 of the xdg-desktop-portal network monitor API. See !265, !279.
2230
2231 * Fix G_MODULE_SUFFIX on macOS when GLib is built with Meson — it should be `so`
2232   rather than `dylib`. Projects that use Meson and the `g_module_build_path()`
2233   API such as glib-networking should pass `name_suffix:` to `shared_module()` to
2234   ensure that plugins continue to be called libfoo.so on macOS. See !280.
2235
2236 Bugs fixed:
2237  !280 meson: Always set G_MODULE_SUFFIX to `so` on macOS
2238  !266 subprocess: Fix communicate_cancelled signature
2239  !279 Revert "Add a gnet utility" (see !265)
2240  !265 Network monitor again
2241  !274 gio: Provide schemas directory information in pkg-config file
2242  !239 gvariant: Fix more bounds checking in GVariant text format parser
2243  !195 garray: add overflow checks before expanding array
2244  #1497 g_strdup_printf warns on invalid format specifier with G_GUINT64_FORMAT on Win32
2245  !270 autotools: remove support for the __int64 type. See #1313
2246  !267 ci: Add an autotools job
2247
2248 * Translation updates:
2249  Czech
2250  Galician
2251  Indonesian
2252  Italian
2253  Kazakh
2254  Korean
2255  Turkish
2256
2257
2258 Overview of changes in GLib 2.57.3
2259 ==================================
2260
2261 * G_GNUC_MALLOC’s definition has been tightened up to match an updated
2262   definition from GCC. Many uses of G_GNUC_MALLOC which were previously
2263   appropriate may cause miscompilation with newer GCC versions. Check your uses
2264   of it against the updated documentation. See #1465.
2265
2266 * Many minor documentation fixes.
2267
2268 * Fix for gint64 and int64_t compatibility on macOS and BSD. See #972.
2269
2270 * Fix free space metadata on some file systems (notably FAT). See #328.
2271
2272 * Support installed-tests with our Meson build system. See #1444.
2273
2274 * Forbid @filename@/@basename@ in glib-mkenums templates, which is a change to
2275   its long-standing behaviour (which was long-standing nonsensical). See !241.
2276
2277 * Various stat() fixes on Windows. See #1452, #1476.
2278
2279 * MinGW-w64 ABI warning: In case you build 64 bit glib without LFS support by
2280   passing --disable-largefile (not the default) and use GStatBuf, you need to
2281   rebuild your application as the size of GStatBuf has changed for this case.
2282   See #1476.
2283
2284 * Improve TAP compatibility of g_test_incomplete(). See #1474.
2285
2286 * Change fallback preferences when loading icons. See !72.
2287
2288 Bugs fixed:
2289  !263 build: Clean files left behind after gio/tests/gresource.c test
2290  !262 gmem: Only evaluate pointer argument to g_clear_pointer() once
2291  #1465 Many uses of G_GNUC_MALLOC are incorrect
2292  #1448 g_error does not abort() as documented
2293  #1494 g_clear_pointer may not use the correct calling convention with its callback
2294  #972 Mismatch between gint64 and int64_t on 64-bit macOS/BSD
2295  !251 gtestdbus: Fix watcher crash on FreeBSD
2296  #1492 gcc-8: -Wcast-function-type: new warnings for g_list_copy_deep()
2297  !252 tests: fix gnotification tests broken due to the recent icon name fallback changes
2298  #328 filesystem::{free,size,used} not set for full FAT fs
2299  !248 network monitor portal: update properties initially
2300  #1373 Incorrect transfer annotation for g_binding_unbind.
2301  #1444 the meson build doesn't support installed tests
2302  #1027 Fix trashing on overlayfs
2303  #1454 gvdb does not treat corrupt files as empty as promised; dconf suffers
2304  !243 tests: Explicitly set TZ=UTC for g_time_val_from_iso8601() testing
2305  #1488 ‘O_CLOEXEC’ undeclared (first use in this function)
2306  !241 glib-mkenums: forbid @filename@/@basename@ in fhead and ftail
2307  !240 gtimer: Ensure arithmetic is correctly signed for ISO 8601 parsing
2308  #1452 GFileInfo: unable to retrieve correct modification time of links and mounted volumes on Windows
2309  !234 DOC: Documentation fix in GTask description
2310  #1363 Meson: Review cross compilation properties
2311  !225 gtimer: Add overflow checks to g_time_val_from_iso8601()
2312  !230 gbookmarkfile: Fix some more minor leaks when metadata elements are repeated
2313  !229 Fix up g_bytes_compare() documentation
2314  #1476 g_stat - possbile memory corruption causing SEGFAULT
2315  !199 Update TLS documentation
2316  #1474 g_test_incomplete() makes test_case_run() return FALSE
2317  #1475 glib/tests/atomic.c test_types() trips -Werror=bad-function-cast on Debian armel
2318  #1472 Test for BROKEN_IP_MREQ_SOURCE_STRUCT is broken on Windows / Mingw
2319  !220 date test: Use g_test_skip(), not g_test_incomplete()
2320  #1467 malloc difference causes refstring test to fail on FreeBSD
2321  !230 gbookmarkfile: Fix some more minor leaks when metadata elements are repeated
2322  #1466 Not Able to Build glib 2.57.2 in Mingw-w64 x64 bits
2323  #1433 test_posix_parse: assertion failed (g_time_zone_get_abbreviation (tz, 0) == "UTC"): ("LMT" == "UTC")
2324  #1446 Follow-up from "Document difference between g_assert() and g_assert_*() wrt G_DISABLE_ASSERT"
2325  !206 grefstring: Avoid an unnecessary NUL assignment
2326  #1458 g_volume_get_mount returns NULL value after g_volume_mount_finish is called with no error
2327  !72 gio: icons should fallback to non-preferred style appropriately.
2328
2329 * Translation updates:
2330  Brazilian
2331  Chinese (Taiwan)
2332  French
2333  German
2334  Lithuanian
2335  Polish
2336  Romanian
2337  Turkish
2338
2339
2340 Overview of changes in GLib 2.57.2
2341 ==================================
2342
2343 * Require pcre 8.31
2344 * Require meson 0.47.0
2345
2346 * Bugs fixed:
2347  742456 Add g_steal_pointer() convenience function to mark ownership...
2348  795569 MinGW CI: fix tests
2349  796341 gmem.h: Use typeof() in g_steal_pointer() macro
2350  #1013 Support for per-session overrides
2351  #1360 glib-mkenums breaks if option specified but no nick
2352  #1175 Add names and tags to various GSources and GTasks constructed in GLib
2353  #903 g_main_context_wait() not deprecated in API, but emits a g_critical()...
2354  #786 Fix memory leaks in libgio tests
2355  #927 gio/gresource.c:do_lookup check for terminating "/"
2356  #976 Document difference between g_assert() and g_assert_*()...
2357  #1447 glib 2.57.1: test_month_names: assertion failed...
2358  #1407 Update to Unicode Character Database 11
2359  #1455 glib python tools have full python path in shebang, limits to 128 characters
2360  #1459 Missing g_return_val_if_fail in g_async_queue_timeout_pop
2361
2362 * Translation updates:
2363  Friulian
2364  German
2365  Romanian
2366  Spanish
2367
2368
2369 Overview of changes in GLib 2.57.1
2370 ==================================
2371
2372 * New api:
2373  - g_hash_table_steal_extended
2374  - G_GNUC_NO_INLINE 
2375
2376 * Bug fixes:
2377  668132 Use libmount and expose mount options on GUnixMountEntry type
2378  736741 Update private copy of valgrind.h
2379  748620 g_regex_* utf-8 validity requirements are not stated clearly
2380  784995 meson: some Windows improvements
2381  788771 NODELETE missing when built with meson
2382  788773 meson does not install correct pc files
2383  789968 Add g_autoptr() support for GTypeClass
2384  794325 Various fixes to compile on OSX
2385  795152 gdesktopappinfo: Mark GDesktopAppInfo constructors as nullable.
2386  795165 Add g_date_time_get_timezone() and g_time_zone_get_identifier()
2387  795180 Investigate performance impacts of recent compiler features on hot functions
2388  795302 Add g_hash_table_steal_extended() API
2389  795376 Add g_ptr_array_steal()
2390  795544 Add binary/textfile/zero size detection
2391  795569 MinGW CI: fix tests
2392  795636 gitlab-ci: generate test coverage reports
2393  795735 Fix comparison for GVariant property values
2394  795802 gdbus-codegen doesn't accept --output-directory with --output for --body and --header
2395  795849 gwin32: Fix detection of MinGW32 vs MinGW-w64
2396  795876 meson: Fix checks for posix_memalign and stpcpy
2397  795960 g_format_size_for_display() is deprecated since 2.30
2398  796085 Meson: Many apps breaks on non-glibc because of missing libintl
2399  796138 Fix typo in g_file_info_set_attribute docs
2400  796139 Add g_autoptr() support for GParamSpec
2401  796164 Fix atomic ops check in meson.build
2402  796186 Typo: "instead off" in gsignal.c
2403  796213 Meson: Fail to build on macosx
2404  796220 meson: do not run atomic test with msvc
2405  796264 Add android CI
2406  796325 meson: Add exception for atomic ops test for Android
2407  796328 gengiotypefuncs.py: Read and parse files in binary mode 
2408
2409 * Translation updates:
2410  Czech
2411  Indonesian
2412
2413
2414 Overview of changes in GLib 2.57.0
2415 ==================================
2416
2417 * Bug fixes:
2418  739424 Rewrite kqueue GFileMonitor backend to drop threading
2419  751826 Use g_get_language_names() for other locale categories
2420  788773 meson does not install correct pc files
2421  793400 g_application_id_is_valid() not strict enough
2422  793578 gdatetime tests depend on Japanese translation of month names
2423  793645 test_month_names: Updated translations needed for el_GR, hr_HR, ru_RU
2424  793729 gitlab-ci: Add Windows MinGW support
2425  793994 GUnixVolumeMonitor doesn’t show user mounts when run as root
2426  794170 gdbus: hexdecode() and hexencode() do not return/use decoded/encoded s...
2427  794194 gobject_gdb.py: 'address' is a property of gdb.Value not a function
2428  794207 leak: g_socket_listener_add_inet_port increases ref-count on socket-li...
2429  794284 Support whitespace stripping for JSON resources
2430  794285 glib-compile-resources should not noisily g_printerr() when xmllint is...
2431  794473 Remove duplicated option in gio.xml
2432  794506 glib-mkenums: Enters infinite loop if using typedef enum SomeIdentifier
2433  794528 Fix segfault caused by use-after-free in GPollFileMonitor
2434  794555 glib meson build fails on MinGW due to misdetected functions
2435  794557 gtkdoc-scangobj fails on gio in meson builds
2436  794606 glib-2.56.0 fails to compile when res_nquery is not available
2437  794635 gmacros: Don't define bogus __has_* macros
2438  794636 G_HAVE_GNUC_VISIBILITY is defined in meson MinGW builds
2439  794686 Date (except weekday) displayed in English
2440  794732 Fix various compiler warnings 
2441
2442 * Translation updates
2443  Hungarian
2444  Slowak
2445  Slovenian
2446  Spanish
2447
2448
2449 Overview of changes in GLib 2.56.0
2450 ==================================
2451
2452 * Bugs fixed:
2453  672777 Error in gdummyfile.c
2454  732184 GObject: warn on use of deprecated properties
2455  733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
2456  742124 g_data_input_stream_read_upto()'s documentation should say that the...
2457  749206 GDateTime: month names in the genitive case
2458  768507 simplify qguark functions
2459  791457 Slow transfer rate when writing to smb/cifs
2460  793272 fix GCC 8.0's -Wcast-function-type warnings
2461  793300 g_hash_table_add() return value change in 2.40 not mentioned in docs
2462  793399 Fix some cases of -Wduplicated-branches
2463  793555 -Wimplicit-function-declaration when using g_abort()
2464  793565 GLib does not compile on macOS 10.13 due to .m file naming
2465  793597 gdbus-tool: Make --dest optional for emit again
2466  793635 Enable CI for GLib
2467  793880 gnetworkmonitor: Minor fixes based on code review 
2468  793578 gdatetime tests depend on Japanese translation of month names 
2469  794180 test_month_names fails unless installed
2470
2471 * Translation updates:
2472  Brazilian Portuguese
2473  British English
2474  Catalan
2475  Czech
2476  Danish
2477  Dutch
2478  Finnish
2479  French
2480  Friulian
2481  Galician
2482  German
2483  Hungarian
2484  Indonesian
2485  Italian
2486  Kazakh
2487  Korean
2488  Lithuanian
2489  Polish
2490  Scottish Gaelic
2491  Serbian
2492  Serbian Latin
2493  Spanish
2494  Swedish
2495  Turkish
2496
2497
2498 Overview of changes in GLib 2.55.2
2499 ==================================
2500
2501 * GFile now has API to get the path without copying
2502
2503 * A network monitor implementation for Windows has been added
2504
2505 * Bugs fixed:
2506  520116 g_utf8_strlcpy()
2507  584284 g_data_input_stream_read_until_async behaves confusingly different f...
2508  605700 request for g_key_file_get_locale()
2509  658713 ngettext (plural forms) needed for "Message has %d file descriptors ...
2510  685442 windows GNetworkMonitor implementation
2511  723003 gsettings list-recursively reports some keys multiple times
2512  749583 GSequence performance improvements
2513  757284 Move G_DIR_SEPARATOR* and G_SEARCHPATH_SEPARATOR* into glibconfig.h
2514  760324 [PATCH] gkeyfile.c: find_file_in_data_dirs fails to return the path ...
2515  761102 Increase performance for main loop
2516  767976 GFile: Add g_file_peek_path()
2517  770335 gdbus-codegen: generated getter for 'ao' property is actually (trans...
2518  772989 Totem allows invalid urls that might cause segfault that's irrecover...
2519  790698 convert: test failure on NetBSD
2520  791015 gdbus-codegen: Split generation of header and source
2521  791622 Disable strict-aliasing in GLib
2522  792050 GResolver is not thread-safe
2523  792217 Deprecate GTlsClientConnection:use-ssl3
2524  792338 meson, autotools: figure out if mem barrier is needed for arm64 host...
2525  792351 gbookmarkfile: check length before dereferencing groups
2526  792364 gdbus-threading test method-calls-in-thread: assertion failed (elaps...
2527  792370 GNetworkMonitor: Rename "network-changed" signal argument
2528  792410 GDateTime new_from_iso8601 test broken in 2.55 on i386
2529  792432 flush stdout after logging (debug) messages
2530  792455 Improve docs of GSequence
2531  792499 deadlock on startup with TCP session bus
2532  792516 gconvert: More consistent handling of embedded NUL bytes
2533  792777 g_notification_set_urgent() unconditionally sets G_NOTIFICATION_PRIO...
2534  792780 gbytes should reference toplevel bytes when slicing with g_bytes_new...
2535  792856 off64_t isn't a part of C standard
2536  792862 gpollableoutputstream: document side effects of WOULD_BLOCK on D/TLS
2537  792903 Clarification between g_try_.. functions and their counterparts
2538  793006 High CPU load for GUnixMountsMonitor consumers
2539  793026 possible mem leak in g_mutex_impl_new
2540  793074 g_message() does not get -Wformat warnings when compiling with G_LOG...
2541
2542 * Translation updates:
2543  Hungarian
2544  Indonesian
2545  Polish
2546
2547
2548 Overview of changes in GLib 2.55.1
2549 ==================================
2550
2551 * Build:
2552  - The --enable-rebuilds configure option has been removed
2553  - The --with-charsetalias-dir configure option has been added
2554
2555 * GList and GSList now have autoptr support
2556
2557 * The gsettings list-schemas command has gained a --print-paths option
2558
2559 * Bugs fixed:
2560  346816 Refactor LIBDIR in libcharset Makefile
2561  508976 Does g_slist_sort preserve the order of equal elements?
2562  562334 2.18.2 break libglade on Solaris
2563  662802 systemtap multiarch issue
2564  684282 Add support static link of GIO modules
2565  692034 Install an invalidation notifier for GClosure in g_source_set_closure()
2566  694723 Get rid of REBUILD stuff in configure.ac
2567  697715 floating point precision problem in check test gst/gstvalue
2568  701156 testgobject assumes that the priv data follows the instance data
2569  720380 Segfault when using GDBusMenuModel on a peer-to-peer connection
2570  724383 glib: document restrictions on various foreach() functions
2571  724412 GLib mappedfile.c test uses g_get_user_runtime_dir instead of a tempo...
2572  724794 Fix "on on" typo in tap-driver.sh comment
2573  732003 gnode: Eliminate implicit signed-to-unsigned integer conversion
2574  734479 G_VALUE_HOLDS etc. cause -Wcast-qual warnings for a const GValue *
2575  737677 gmain: Make GSourceCallback thread-safe
2576  741167 gdbus-codegen fix for boxed out parameters
2577  748534 gtest: if a subprocess assertion fails, print its stdout and stderr
2578  749527 add weak pointer helpers similar to g_set_object
2579  749652 compilation errors with gcc 4.8
2580  754634 Update the list of Linux filesystem magic numbers used in get_fs_type
2581  756011 Fix up annotations for GBookmarkFile
2582  761102 Increase performance for main loop
2583  773980 GIR scanner doesn't interpret array type properly
2584  776147 gio/glocalfilemonitor.c doesn't handle case G_FILE_MONITOR_EVENT_MOVE...
2585  776195 -z nodelete configure check does not work on Solaris
2586  777075 Potential leak of memory pointed to by 'list'
2587  779413 Translated X-Geoclue-Reason string not used in a dialog window
2588  780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
2589  780893 Reword licensing header for gdbus-codegen
2590  782057 Unit tests fail in run-assert-msg-test.sh
2591  784995 meson: some Windows improvements
2592  786796 gtk-doc build fails with meson
2593  788806 Impossible to build static glib via meson
2594  788936 Show mime type icons on OS X
2595  790416 g_date_time_format returns empty string on %r with German locale
2596  790588 Generated file missing from .gitignore
2597  790697 g_object_ref API should propagate parameter type
2598  790785 glib-tap: Add missing mkdir for .test generation rule
2599  790829 glib-genmarshal --body must not generate alias implementations
2600  790830 Mismatch between number of interface methods in text and example code
2601  790837 Meson: missing many configure options
2602  790839 GApplication command line: lacks parameter_string, summary and descri...
2603  790877 fix non-portable check in G_GNUC_CHECK_VERSION
2604  790894 Do not connect to the session bus when trying GProxyResolverPortal io...
2605  790896 docs/reference/README has broken link to http://www.gtk.org/rdp/
2606  790914 gdesktopappinfo: Downgrade a warning to a debug message
2607  790934 gtester doesn't handle skipped tests
2608  790948 GSourceFuncs documentation is confusing: when will dispatch be called?
2609  791036 Guard for g_output_stream_vprintf makes no sense
2610  791128 C runtime complains about bad arguments on each g_log() call
2611  791221 po/README.translators has no useful information in 2017
2612  791235 Fix gschema.dtd regarding flags.
2613  791267 Make gschema.dtd usable.
2614  791296 gtester-report: fix range usage when running as python3 app
2615  791318 GBytes: Improve documentation
2616  791325 Gio handling of thumbnail:: attribute namespace causes inconsistent b...
2617  791334 gbinding.c:898: The target object of type GNetworkAddress has no prop...
2618  791337 Crash opening URIs with g_desktop_app_info_launch_uris_with_spawn()
2619  791342 Add autoptr support for lists
2620  791460 meson: fixes for OSX
2621  791532 Implicit declaration of function ‘memcmp’ in gtestutils.h
2622  791622 Disable strict-aliasing in GLib
2623  791720 Criticals in gio/xdp-dbus.h leading to crash under flatpak
2624  791744 gmenumodel test sometimes fails: assertion failed (items_changed_coun...
2625  791745 not immediately clear whether g_test_slow() is in effect by default
2626  791906 GSocketListenerClass.event has wrong signature
2627  792064 gsettings list-schemas --print-paths
2628  792098 Binding: bind_property’s @notify func is nullable
2629  792099 gdbus-test-codegen: Cast to void* to printf "%p"
2630  792129 meson: skip optional linux/unix deps that default to true when buildi...
2631  792322 GLib-GIO:ERROR:gschema-compile.c:51:test_schema: child process (/gsch...
2632  792324 gkeyfile: Document need for KEEP_TRANSLATIONS with get_locale_string()
2633
2634 * Translation updates
2635  Hebrew
2636  Indonesian
2637
2638
2639 Overview of changes in GLib 2.55.0
2640 ==================================
2641
2642 * New API:
2643   - g_clear_handle_id, to simplify removing sources from the default mainloop
2644   - g_file_load_bytes, to make it more convenient to load files into GBytes
2645
2646 * Bugs fixed:
2647  330458 Sample code for the GLib Key-value parser
2648  483341 g_error and friends create warnings when not used in MSVC
2649  569375 g[u]intptr undocumented
2650  573251 documentation for g_seekable_truncate() needs some love
2651  629347 Missing annotations in GFile (was: Perf throws an exception in cur...
2652  630983 [PATCH] Type accuracy for result of strlen() in string utilities.
2653  632953 Clarify documentation of GValueTransform.
2654  636210 Document that pre-unmount is not guaranteed and backend-dependant
2655  656502 type information for GSettings::backend missing from .gir
2656  661442 Nautilus crashes when refreshing home folder after modifying ~/.co...
2657  668035 gtester-report broken with python 2.7.2 and glib 2.30.1
2658  670139 gbytes.c:try_steal_and_unref nit
2659  677233 (transfer full) annotation not correct for g_closure_new_simple re...
2660  679347 glocalfile seems to leak 'fstype'
2661  679467 Mention translation in g_warning() documentation
2662  689323 Variable scoping in gunixmounts.c
2663  691436 glib-mkenums output arch dependent
2664  695681 gsettings bash completion put error messages
2665  705331 AM_PATH_GLIB_2_0 macro fails with -Wstrict-prototypes -Werror
2666  706667 Fix permission denied error when installing from an nfs directory
2667  711809 gdbus-proxy: Fix erroneous timeout during following tests
2668  722256 gslist: Simplified node removal and got rid of some code duplication
2669  723655 Socket source is left in the poll after the socket is closed
2670  723743 g_child_watch_add() doesn't check for non-pids
2671  725014 g_settings_schema_source_ref should check for NULL pointer
2672  727346 docs: Escape some backslashes for markdown
2673  730296 gsignal: Fix a potential NULL pointer dereference
2674  731625 Improve test for darwin printf format-strings
2675  731705 gio/tests/desktop-app-info assumes /bin/true
2676  737278 Clarify relationship of g_application_quit() to hold count
2677  738176 Skip GSpawnChildSetupFunc closures in introspection
2678  740223 source_object for GAsyncResult should be nullable
2679  740791 gio: cannot specify the source when joining a multicast group (IGM...
2680  740826 glib doesn't know fuse filesystems
2681  742548 configure.ac: stay out of autoconf's namespace
2682  742997 Don't skip invalid enum values in schemas
2683  745723 -Wunused-but-set-variable work-around no longer sufficient
2684  749371 Use a GHashTable as a set when possible
2685  751738 Unused-variable warnings in glib/tests/autoptr.c
2686  752239 Missing dependency for python files in build file
2687  752240 Add DTLS support to GIO
2688  753459 GDateTime: Add conversion functions from/to ISO 8601 strings
2689  753521 g_subprocess_launcher_set_environ misses argument annotations
2690  754026 gfileutils: add some sanity checks
2691  756009 'const gchar* const *' gets incorrectly defaulted to utf8
2692  756103 Skip g_base64_decode_step() in introspection
2693  756128 Fix up annotations in gconvert
2694  756430 g_rw_lock_reader_lock() can return without locking, or error
2695  756470 Fix up annotations in gdataset.c
2696  756588 Fix up annotations on data/qdata API of GObject
2697  760022 Memory leak in gvariant-parser.c
2698  760109 [PATCH] Invalid GDate can't be g_boxed_copy()'d
2699  760716 Fix documentation regarding <glib/gprintf.h>
2700  765063 Update annotations for gio
2701  765552 Please set serial in .m4 files to prevent autoreconf failure on up...
2702  767215 GCC version number is interpreted as start of a list in docs for g...
2703  767239 Tautological comparisons in convert tests
2704  769674 some GIO tests' arbitrary timeouts are too short
2705  769846 gmessages: Add timestamp to g_log_writer_format_fields()
2706  770459 Tutorial article is slightly wrong
2707  773355 Incorrect documentation about stopping a signal emission from a hook
2708  774083 spelling mistakes in glib: charater
2709  776562 Add Intel C Compiler support for G_GNUC_BEGIN/END_IGNORE_DEPRECATI...
2710  777308 GModule win32: disable error dialog popup
2711  777310 gio/gasynchelper.c: fix cast from pointer to smaller int type on w...
2712  777956 gmessages: Update advice for G_LOG_DOMAIN
2713  779182 xdg-open fails with gio open for some uris
2714  779501 Type of GIConv given wrongly on web
2715  780202 introspection: Don't expose GValueArray.free
2716  780296 xdg-open/gnome-open doesn't work if service isn't started
2717  781598 gstdio.h should #include what it needs to work
2718  781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/ina...
2719  783210 build: Switch to sassc for generating style
2720  783270 Improve Visual Studio support for Meson builds
2721  783825 Suggest that asynchronous operations should invoke the callback in...
2722  786737 No g_variant_get() example for dicts
2723  786785 Commit #fe2a9887a8 breaks gdbus-codegen, cannot find its module so...
2724  787271 Make GListModel usable from G-I bindings
2725  787485 g_tls_backend_supports_dtls () returns true when the backend doesn't
2726  787551 Factor out some duplicated code in GParamSpec validation
2727  787581 tests: Add tests for g_slist_copy() and g_slist_copy_deep()
2728  787671 meson: Fix permissions of installed scripts
2729  787731 g_file_query_filesystem_info() wrongly reports "filesystem::readon...
2730  788138 glib-compile-resources: Fix leak of a GHashTable
2731  788180 G_FILE_ATTRIBUTE_ID_FILE is useless on W32
2732  788270 gmodule - failed to load symbol on Android 64bit
2733  788368 Race condition in GDbusObjectManagerClient
2734  788384 gtypes: Fix signedness of __builtin_bswap() usage
2735  788385 gtestutils: Explicitly cast args to g_assertion_message_cmpnum()
2736  788401 PATCH: MacOS build cannot detect content type from content - xdgmi...
2737  788467 Fatal errors and warnings should be reported as TAP
2738  788488 GFile-based API for g_build_filename()
2739  788489 gmain: add g_clear_source API
2740  788561 Document how to integrate GTest into your project
2741  788594 gdbus-tool doesn’t handle non-message-bus connections correctly
2742  788705 Allow building GLib on older Linux platforms
2743  788766 fixed a doc-typo in socket_get_remote_address
2744  788772 meson installs gdb scripts incorrectly
2745  788863 Add more filename type annotations for strings which can contain f...
2746  788880 gunixmounts: Update list of virtual file systems to ignore
2747  788927 Expose better API for detecting ‘system’ mounts
2748  788936 Show mime type icons on OS X
2749  788948 Document Autotools best practices for genmarshal/mkenums
2750  788975 Meson + Visual Studio: Can't find zlib.h with subprojects/zlib
2751  788978 Document XML has a syntax error
2752  788989 Use subdir-objects with Autotools
2753  788990 Include licensing information in output from glib-mkenums, glib-ge...
2754  789087 gint and guint misrepresented as functions
2755  789170 GFormatSizeFlags should have a value for bits
2756  789245 g_settings_bind() not conforming to lifecycle specification
2757  789444 Fix handling of length in g_utf8_make_valid
2758  789637 glib-mkenums: Fails when --ouput file does not exist
2759  789681 meson: Libmount support not built
2760  789723 [PATCH] gdbus-codegen: Call abspath() earlier
2761  789755 g_get_host_name: ensure return value is always UTF8 encoded
2762  789820 GPollFileMonitor is not cleaning up correctly
2763  790015 docs: Various linking and syntax fixes
2764  790030 GResource/GVariant fails to load from non-pointer aligned memory
2765  790093 gio-tool: fix inverted logic in monitor tool
2766  790126 gengiotypefuncs.py is missing from tarballs
2767  790147 build: Drop data-to-c.pl in favour of data-to-c.py
2768  790157 gmessages: Give examples of G_DEBUG with gdb in the documentation
2769  790272 file: add g_file_load_bytes()
2770  790275 avoid temporary string allocations in g_resources_enumerate_children
2771  790310 speedup path canonicalization in GResourceFile
2772
2773 * Translation updates:
2774  Catalan (Valencian)
2775  Czech
2776  German
2777  Nepali
2778  Norwegian bokmål
2779  Slovak
2780  Slovenian
2781  Spanish
2782
2783
2784 Overview of changes in GLib 2.54.0
2785 ==================================
2786
2787 * Bugs fixed:
2788  780861 Crash in GnomeWallClock
2789  786983 Please make the output of gio-querymodules deterministic
2790  787109 Valgrind false positive in ioctl() in btrfs file copy
2791  787123 glib: Slighty update GIOChannel documentation
2792  787146 GMainLoop: match of parameter pair of LOCK_CONTEXT/UNLOCK_CONTEXT
2793
2794 * Translation updates:
2795  Basque
2796  Catalan
2797  Romanian
2798  Swedish
2799
2800
2801 Overview of changes in GLib 2.53.7
2802 ==================================
2803
2804 * Bugs fixed:
2805  736710 remove unnecessary executions of libtool from configure
2806  785260 gio/tests/appmonitor fails if local dir not writeable
2807  786456 g_subprocess_wait[_check]_async() breaks when cancelled...
2808  786555 g_array_free() is not thread safe w.r.t. g_array_unref()
2809  786580 gdesktopappinfo.c: Add Tilix as a fallback terminal
2810  786807 g_uuid_string_random undefined when built with meson
2811
2812 * Translation updates:
2813  Brazilian Portuguese
2814  Catalan
2815  Czech
2816  Danish
2817  Finnish
2818  French
2819  Friulian
2820  German
2821  Italian
2822  Kazakh
2823  Korean
2824  Latvian
2825  Nepali
2826  Polish
2827  Spanish
2828  Turkish
2829
2830
2831 Overview of changes in GLib 2.53.6
2832 ==================================
2833
2834 * Bugs fixed:
2835  766358 glib doesn't respect XDG_* envvars on W32, ever
2836  783270 Improve Visual Studio support for Meson builds
2837  785955 pthread_setname_np misdetected with meson
2838  786060 Sequences documentation does not make it clear...
2839  786360 gobject: add autoptr support for GClosure
2840  786452 crash on Linux without stderr stream
2841  786460 gio-tool: Unify buffer sizes
2842  786462 Use g_output_stream_write_all instead of while
2843  786463 gio-tool-save: Prevent overwriting error
2844
2845 * Translation updates:
2846  Catalan
2847  Galician
2848  Hungarian
2849  Indonesian
2850  Lithuanian
2851  Nepali
2852  Serbian
2853
2854
2855 Overview of changes in GLib 2.53.5
2856 ==================================
2857
2858 * Bugs fixed:
2859  695573 Untranslatable strings in glib-compile-schemas
2860  725950 GApplication: call dbus_unregister only once, and before destruction
2861  731703 giomodule test misbuilds its test modules as libraries
2862  769135 External control for g_test_add/g_test_run
2863  779332 Rewrite mkenums in Python
2864  779607 Race between mounts-changed signal and g_unix_mounts_get() function
2865  784000 Improve strerror_r() detection
2866  784815 Map G_NOTIFICATION_PRIORITY_HIGH to NOTIFY_URGENCY_NORMAL
2867  784965 Use the glib preset for i18n in Meson
2868  784995 meson: some Windows improvements
2869  785113 glib-mkenums Python port fixes
2870  785130 G_LOG_DOMAIN shouldn't be left undefined for applications
2871  785438 Spurious -Wmaybe-uninitialized in gdatetime.c
2872  785468 glib/gpoll: Unnecessary if conditional included in the poll_rest() function
2873  785520 Replace advice to use removed gdk_spawn functions
2874  785577 clobbers errno while setting GError
2875
2876 * Translation updates:
2877  Slovenian
2878  Spanish
2879
2880
2881 Overview of changes in GLib 2.53.4
2882 ==================================
2883
2884 * Unicode support has been updated to Unicode 10.0.0
2885
2886 * glib-genmarshal and glib-mkenums have been rewritten in python.
2887   Every effort has been made to keep compatibility. Please report
2888   problems related to these tools
2889
2890 * GLib can now be built with meson. autotools are still supported
2891
2892 * Bugs fixed:
2893  722047 drop makefile.msc?
2894  733821 g_strerror() uses strerror(3) instead of strerror_r(3)
2895  773842 g_utf8_find_next_char() won't signal the end of a NUL-terminated string
2896  779332 Rewrite mkenums in Python
2897  780095 g_utf8_get_char_validated() stopping at nul byte even for length specified...
2898  780634 Remove remaining old codepage ABI comapt code
2899  783841 test_GDateTime_new_from_timeval_overflow fails on 32 bit systems
2900  784000 Improve strerror_r() detection
2901  784020 GKeyFile – Add array length annotations to to_data(), get_keys() and get_g...
2902  784037 gio: Mention the ALL_METADATA flag in g_file_copy()
2903  784433 gdbus-codegen with variant type parameters result in nested variant
2904  784456 Update to Unicode 10.0.0
2905  784528 Rewrite glib-genmarshal in Python
2906  784579 Calling g_dir_open on Missing Directory When Executable File Path Contains...
2907  784581 docs: Fix cut'n'paste error in g_resources_get_info() doc
2908  784739 Minor typo in configure error message
2909  784792 Just fixing a little typo in comments
2910
2911 * Translation updates:
2912  Hebrew
2913
2914
2915 Overview of changes in GLib 2.53.3
2916 ==================================
2917
2918 * Bugs fixed:
2919  658446 Add translation comment for wrong password notice string
2920  661926 Improve the default logging setup in GLib
2921  674885 type initialisation deadlock in GObject
2922  775593 GIO cannot write symlinks on FreeBSD and NetBSD
2923  776169 Various gio-tool fixes
2924  776333 Fix annotation on g_file_copy_async()
2925  776504 Upgrade license from LGPLv2+ to LGPLv2.1+
2926  777307 race condition between gdbus signal callback and g_bus_unwatch_name...
2927  778422 gsubprocesslauncher: Clarify the behavior of set_environ()
2928  781301 Stack pointer corrupted by incorrect call of NtNotifyChangeMultipleKeys
2929  782336 Add additional documentation of the GResource XML format
2930  782996 build: Use AM_TESTS_ENVIRONMENT rather than TESTS_ENVIRONMENT
2931  783061 GApplication: Remove some unused members
2932  783130 Make dbus activation sandbox-aware
2933  783193 Adapt to OpenURI api change
2934  783201 gdbus-codegen: Apply --output-directory to generated docs as well
2935  783340 win32: port monotonic times to use QPC
2936  783350 length parameter can be NULL g_data_input_stream_read_line
2937  783392 incorrect (out) annotation for g_dbus_interface_info_generate_xml
2938  783593 GGtkNotificationBackend should use /org/freedesktop/DBus to call Ge...
2939
2940 * Translation updates:
2941  Esperanto
2942  German
2943  Indonesian
2944  Kazakh
2945  Spanish
2946
2947
2948 Overview of changes in GLib 2.53.2
2949 ==================================
2950
2951 * A few new number parsing functions have been added:
2952   - g_ascii_string_to_signed
2953   - g_ascii_string_to_unsigned
2954   These have better error handling than the existing ones.
2955
2956 * glib-mkenums now supports /*< private >*/ and /*< public >*/
2957
2958 * GSettings now consider XDG_DATA_HOME in addition to XDG_DATA_DIRS.
2959
2960 * Bugs fixed:
2961  674885 type initialisation deadlock in GObject
2962  698064 Add g_ptr_array_contains()
2963  732000 gdatetime: Remove an unnecessary NULL pointer check
2964  734946 Implement GContentType on OSX
2965  741335 Possible differences in use of XDG_DATA_DIRS versus XDG base directory specification
2966  748263 Use-after-free in g_dbus_connection_call_internal()
2967  776876 gmodule – Various Android bug-fixes
2968  777030 build error where minor() and major() cant be resolved in gio/gdbusmessage.c
2969  780300 gio/gosxappinfo.c uses deprecated LSFindApplicationForInfo
2970  780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
2971  781755 Avoid compiler warnings in generated marshallers code
2972  781826 portal support: Read /.flatpak-info
2973  781830 Fix some typos and errors in GVariant documentation
2974  781847 Use-after-free under send_message_with_reply_cleanup():gdbusconnection.c:1792
2975  781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/inappropriate auto...
2976  782068 doc: Trivial typo fixes
2977  782075 gtimer: Handle gmtime() failure in g_time_val_to_iso8601()
2978  782089 gdatetime: Fix overflow checks when constructing from timestamps
2979  782162 Support public/private trigraph in glib-mkenums
2980  782237 make check error
2981  782311 inode/directory is treated as a subclass of application/octet-stream
2982  782628 libmount build dependency check not requiring the right version?
2983
2984 * Translation updates:
2985  Hungarian
2986  Indonesian
2987  Spanish
2988
2989
2990 Overview of changes in GLib 2.53.1
2991 ==================================
2992
2993 * The gdbus tool gained a wait command
2994
2995 * g_unix_signal_source_new support SIGWINCH now
2996
2997 * There are now g_enum_to_string and g_flags_to_string functions
2998
2999 * A new function to instantiate objects: g_objet_new_with_properties
3000
3001 * GParameter and related APIs have been deprecated
3002
3003 * Bug fixes
3004  447907 enum/flags from string + type transform + tests
3005  668962 GUnixMountPoint/GUnixMountEntry not usable through gobject-introspection
3006  669355 gdbus-codegen output contains stray semicolons at file scope (forbidden in C99)
3007  674885 type initialisation deadlock in GObject
3008  698064 Add g_ptr_array_contains()
3009  709865 Add boxing to GParameter
3010  725894 build: Include gettext libraries for static compilation on Mac OS X
3011  734946 Implement GContentType on OSX
3012  741229 gio: Handle NULL cached properties in NetworkManager monitor
3013  745971 gdbus-tool: Add a command to wait for a well-known name on the bus
3014  755046 gfileutils: Add precondition checks to g_file_test()
3015  761102 Increase performance for main loop
3016  761889 GDateTime: %p does not always print AM/PM string
3017  766660 Please clarify the extent to which GInitable, GAsyncInitable must be idempotent
3018  769534 g_unix_signal_source_new does not support SIGWINCH
3019  772221 Take advantage of Unicode
3020  775879 g_log_default_handler should not check G_MESSAGES_DEBUG
3021  776169 various gio-tool fixes
3022  777961 Documentation for g_app_info_equals() could be clearer
3023  778049 race in gsource detected by TSan
3024  778207 gio-querymodules: fix memory leak
3025  778287 G_MODULE_EXPORT and -fvisibility=hidden
3026  779409 Fix false positive g_warning() in remove_filter()
3027  780066 g_base64_encode_close() in glib/gbase64.c produces invalid base64 encoding
3028  780095 g_utf8_get_char_validated() stopping at nul byte even for length specified buffers
3029  780306 Unused function in gunicollate.c for CARBON
3030  780310 g_tls_database_verify_chain doesn't set the GError for failures other than cancell...
3031  780384 gio/tests/contenttype fails on OS X: "public.directory" != "public.folder"
3032  780441 Make the portal implementation of g_app_info_launch() synchronous
3033  780634 Remove remaining old codepage ABI comapt code
3034  780908 gobject: remove duplicate GType sanity check
3035  780924 Memory leak in gdbusmethodinvocation.c
3036  781125 gio-tool: Fix errors format string
3037  781234 the buffer written to by g_input_stream_read is not marked as an out parameter
3038  781298 gfileutils.c:330:3: error: ISO C90 forbids mixed declarations and code
3039
3040 * Translation updates
3041  Catalan
3042  Friulian
3043  German
3044  Hebrew
3045  Indonesian
3046  Polish
3047  Russian
3048
3049
3050 Overview of changes in GLib 2.52.0
3051 ==================================
3052
3053 * Bug fixes:
3054  779799 gdatetime test fails with tzdata 2017a
3055  780032 Add missing attributes to two functions
3056  780144 gio/fam: Remove leftover debug print
3057
3058 * Translation updates:
3059  French
3060  Friulian
3061  Latvian
3062
3063
3064 Overview of changes in GLib 2.51.5
3065 ==================================
3066
3067 * OS X implementations of GContentType and GAppInfo
3068   have been added
3069
3070 * Bugs fixed:
3071  673047 gunicollate is broken on OS X (patch included!)
3072  734946 Implement GContentType on OSX
3073  747146 Implement GNotification on OSX
3074  769983 glib-mkenums generates non-reproducible Makefile snippets
3075  777203 gnulib license information is not correct in glib2.0
3076  778515 Crash in the gio kqueue backend
3077  779456 Make g_utf8_make_valid optionally take a length
3078
3079 * Translation updates:
3080  Danish
3081  Friulian
3082  German
3083  Hungarian
3084  Korean
3085  Lithuanian
3086
3087
3088 Overview of changes in GLib 2.51.4
3089 ==================================
3090
3091 * Memory leak fixes
3092 * Fix the released tarball
3093
3094
3095 Overview of changes in GLib 2.51.3
3096 ==================================
3097
3098 * Bugs fixed:
3099  771997 gchecksum: Add SHA-384 support
3100  778422 gsubprocesslauncher: Clarify the behavior of set_environ()
3101  778581 gdbus-codegen: Fix -Wconversion warning
3102  778801 gdbus-codegen: Add --outdir flag
3103  778991 Plug a mem leak in gdbusauth
3104  779183 g_io_extension_point_get_extensions should check for NULL pointer
3105
3106 * Translation updates:
3107  Basque
3108  Chinese (Taiwan)
3109  Danish
3110  Indonesian
3111  Italian
3112  Serbian
3113
3114
3115 Overview of changes in GLib 2.51.2
3116 ==================================
3117
3118 * Minimal support for UUIDs has been added
3119
3120 * A new file attribute, G_FILE_ATTRIBUTE_RECENT_MODIFIED has been added
3121   to improve sorting of recent files
3122
3123 * Bugs fixed:
3124  639078 UUID support feature request
3125  777135 gkeyfile: Be more specific about error codes in documentation
3126  777307 race condition between gdbus signal callback and g_bus_unwatch_name...
3127  777481 goutputstream: docs: fix typos
3128  777493 g_mkdtemp() not introspectable
3129  777507 Recent view sorting incorrectly
3130  777592 Add minor examples to GDBus and GVariant documentation
3131  778002 race in gdbusprivate.c detected by the ThreadSanitizer
3132  778096 race in gdbusconnection reported by TSan
3133
3134 * Translation updates:
3135  Norwegian bokmål
3136  Polish
3137  Simplified Chinese
3138  Slovak
3139  Spanish
3140  Swedish
3141
3142
3143 Overview of changes in GLib 2.51.1
3144 ==================================
3145
3146 * glib-compile-resources grew a --generate-phony-targets flag
3147
3148 * GLib now installs a valgrind suppressions file for GLib and GIO
3149
3150 * Bugs fixed:
3151  666114 should have infrastructure to run its tests under valgrind
3152  729730 GDBusMessage: Fix segfault if DEBUG_SERIALIZER is enabled
3153  730932 statically assert that reasonable assumptions about enums are true
3154  735731 gobject: Document behaviour of GType checking macros on NULL
3155  736810 gdbus: Fix leak in g_dbus_message_print()
3156  762283 GSocket – Fix race conditions on Win32 if multiple threads are waiting on cond...
3157  767609 Test suite problems
3158  767952 g_dbus_method_invocation_return_*, g_dbus_method_invocation_take_error: They d...
3159  769672 Assert threads for testcase 642026 are sucessfully created
3160  769745 gtask: Add guards for public functions
3161  770175 Add command line argument to mkenums and genmarshal to write output to a file
3162  770646 glib: Namespace global tapset variables by soname
3163  772160 Add g_unix_mount_for() support
3164  772989 Totem allows invalid urls that might cause segfault that's irrecoverable
3165  773823 gio: Bump copy buffer size to 256k by default
3166  774086 fix g_main_context_check declaration
3167  774368 Dependency file output of resource scanner breaks Ninja
3168  774421 Two minor patches
3169  774520 GSocket allocates and processes control messages even if not requested
3170  775309 Crash in gdbusauth
3171  775468 Improve log write supports color method on windows
3172  775510 testing with -fsanitize=undefined reports various undefined behaviour
3173  775517 Password input is echoed in the terminal
3174  775621 gmessages: Fix compilation on Android
3175  775765 FDO notification withdrawal backend sends wrong ID to the server
3176  775913 subprocesslauncher: potential infinite loop in verify_disposition()
3177  776198 Stray semicolon after g_variant_print() function in gvariant.c
3178  776586 License headers cleanup
3179  777077 Use of memory after it is freed
3180
3181 * Translation updates:
3182  Brazilian Portuguese
3183  Czech
3184  Galician
3185  German
3186  Hebrew
3187  Kazakh
3188  Lithuanian
3189  Spanish
3190  Swedish
3191
3192
3193 Overview of changes in GLib 2.51.0
3194 ==================================
3195
3196 * glib-genmarshal and glib-mkenums have gained --output options
3197   for better build system integration
3198
3199 * New API: g_utf8_make_valid
3200
3201 * Bugs fixed:
3202  591603 Make _g_utf8_make_valid public
3203  610969 Nice to have g_utf8_make_valid as public
3204  767882 Bit shift overflow (-Wshift-overflow) warning in gparam.h
3205  769135 External control for g_test_add/g_test_run
3206  769630 gfile: G_FILE_MONITOR_WATCH_MOVES was actually introduced in 2.46
3207  772160 Add g_unix_mount_for() support
3208  772221 Take advantage of Unicode
3209  773303 GApplication leaks option_strings 
3210
3211 * Translation updates:
3212  French
3213  Galician
3214  German
3215  Hungarian
3216  Lithuanian
3217  Norwegian bokmål
3218  Occitan
3219  Polish
3220  Slovak
3221  Turkish
3222
3223
3224 Overview of changes in GLib 2.50.1
3225 ==================================
3226
3227 * Update Unicode support to Unicode 9.0.0
3228
3229 * Bugs fixed:
3230  662946 gunixmounts monitoring doesn't work correctly with libmount
3231  771591 Update to Unicode 9.0.0
3232  772054 glib/gspawn-win32-helper.c: unexpected behavior re CommandLineToArgvW()
3233  772255 gresolver: Mark GResolver as an abstract class
3234  772269 Add --version options to glib-compile-resources and glib-compile-schemas
3235  772297 completion: Complete gsettings describe
3236  772511 g_log_default_handler crashes windows apps with "Unspecified fatal err...
3237
3238 * Translation updates:
3239  Brazilian Portuguese
3240  Catalan
3241  Croatian
3242  Czech
3243  Danish
3244  Hungarian
3245  Italian
3246  Latvian
3247  Polish
3248  Swedish
3249
3250
3251 Overview of changes in GLib 2.50.0
3252 ==================================
3253
3254 * Bugs fixed:
3255  771438 Turn on libmount by default on linux
3256         Fix the annotation for g_log_variant
3257
3258 * Translation updates:
3259  British English
3260  French
3261
3262
3263 Overview of changes in GLib 2.49.7
3264 ==================================
3265
3266 * Add g_log_variant, binding-friendly api for structured logging
3267
3268 Bugs fixed:
3269  646926 arg_data invalid after g_option_context_parse() fails
3270
3271 * Translation updates:
3272  Danish
3273  Finnish
3274  Galician
3275  German
3276  Hebrew
3277  Kazakh
3278  Korean
3279  Latvian
3280  Lithuanian
3281  Polish
3282  Portuguese
3283  Serbian
3284  Slovak
3285  Spanish
3286  Swedish
3287  Thai
3288
3289
3290 Overview of changes in GLib 2.49.6
3291 ==================================
3292
3293 * The gsettings commandline tool now has a describe command
3294
3295 Bugs fixed:
3296  745754 Add gcc-style dependency output to glib-compile-resources
3297  769076 Fix warning: attempt to override closure->va_marshal with new marshal
3298  770372 gdbus-codegen: Strip @since parameters before comparison
3299
3300 Translation updates:
3301  Brazilian Portuguese
3302  Czech
3303  German
3304  Hungarian
3305  Polish
3306  Portuguese
3307  Spanish
3308
3309
3310 Overview of changes in GLib 2.49.5
3311 ==================================
3312
3313 * Structured logging:
3314  - drop libsystemd dependency
3315  - document that g_test_expect_message does not work with structured logs
3316
3317 * Use libmount for unix mount support
3318
3319 * Add an async variant of g_app_info_launch_default_for_uri
3320
3321 Bugs fixed:
3322  522053 GUnixMountMonitor needs to use /proc/self/mountinfo on recent Linux
3323  682794 Add usage guidance to logging documentation
3324  744456 Structured logging API
3325  766370 Add a macro for initializing g_auto(GVariantBuilder)
3326  767240 Regex failures with pcre 8.38
3327  768198 Can't build glib with systemtap enabled
3328  768453 Gdbus test: compilation fails due to -Werror=format-y2k errors
3329  768752 Add async variant of g_app_info_launch_default_for_uri
3330  769027 Docs misleadingly imply G_CHECKSUM_SHA512 is available since 2.16
3331  769029 gmessage: compiler complains about -Wformat-nonliteral
3332  769042 'O_CLOEXEC' undeclared (first use in this function)
3333  769087 gmessages: support NULL log domain
3334  769089 Fix gsettings uint64 testcase
3335  769104 Build failure when using _GLIB_CHECKED_ADD_U32 with the Intel compiler
3336  769139 g_log_writer_journald uses non-standard 'htole64' function
3337  769238 memory increases every time I umount and mount my secondary hard disk.
3338  769245 is_valid_heap_iter define misses NULL pointer check
3339  769507 gmessages: Don’t require is_journald() call before writer_journald()
3340  769785 gmessages: Expand documentation further for structured logging
3341  769995 gdbus-codegen: Allow '@since: UNRELEASED' in documentation comments
3342
3343 Translation updates:
3344  Catalan
3345  Hebrew
3346  Lithuanian
3347  Slovak
3348  Spanish
3349
3350
3351 Overview of changes in GLib 2.49.4
3352 ==================================
3353
3354 * Change the just-introduced structured logging API. The arguments
3355   of g_log_structured() had to be reordered to enable an implementation
3356   within the limits of what the standards guarantee about var args.
3357
3358 Bugs fixed:
3359  744456 Structured logging API
3360  768936 gio doc build fails because of missing gio.xml in the tarballs
3361  768963 improper va_list use in g_log_structured()
3362  768968 gio/tests/socket-listener hangs since e4ee307
3363
3364 Translation updates:
3365  Spanish
3366
3367
3368 Overview of changes in GLib 2.49.3
3369 ==================================
3370
3371 * GLib has a structured logging API, g_log_structured, with support
3372   for writing to the systemd journal. It also supports colored output
3373   in terminals
3374
3375 * Some new GBytes API has been added:
3376  - g_key_file_load_from_bytes
3377  - g_compute_hmac_for_bytes
3378
3379 * Stack-allocated GVariantBuilder and GVariantDict objects can now be
3380   initialized with G_VARIANT_BUILDER_INIT and G_VARIANT_DICT_INIT
3381
3382 * gio:
3383  - Add a way to register handlers for custom uri schemes
3384  - Add a G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE attribute to
3385    have these heuristics in a single place
3386  - Include a gio tool that makes the functionality of the
3387    various gvfs commandline tools available in a single place
3388  - Add portal support to g_app_info_launch_default_for_uri
3389  - Add portal support to GNetworkMonitor
3390  - Add portal support to GProxyResolver
3391  - Add portal support to g_application_send_notification
3392
3393 Bugs fixed:
3394  547200 g_utf8_find_next_char() issues
3395  662802 systemtap multiarch issue
3396  723506 fork/exec from non-main thread when autolaunching could be avoided...
3397  725902 build: simplify dtrace configuration
3398  728207 gsocketservice: Documentation does not mention that is already act...
3399  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro to supp...
3400  744456 Structured logging API
3401  744678 Unable to delete relocatable schemas
3402  746685 clarify that g_variant_get_data() can be used instead of g_variant...
3403  747134 glib-compile-resources --generate should detect common C++ file ex...
3404  750257 GSettings changed signal should clearly state the order required
3405  753231 Memory is potentially used after free
3406  754012 missing filename in "Error loading css: Failed to import: Error op...
3407  760115 gtestutils: add missing dash in seed argument's --help documentation
3408  760423 gio-querymodules prints error messages as question marks on some l...
3409  761102 Increase performance for main loop
3410  765338 GLib.compute_hmac_for_data throws every time
3411  766370 Add a macro for initializing g_auto(GVariantBuilder)
3412  766899 Superflous HTML/XML comments in GDBusProxyTypeFunc documentation s...
3413  766933 GSocketAddress leaks in gnetworkmonitornetlink.c:read_netlink_mess...
3414  767765 Add names and tags to various GSources and GTasks constructed in GLib
3415  767880 gkeyfile: add g_key_file_load_from_bytes() API
3416  767887 vfs: add g_vfs_register_uri_scheme()
3417  767949 [patch] Typos in glib docs
3418  768029 infinite loop in parse_name_internal()
3419  768119 Fix fallout from get_supported_schemes() changes
3420  768357 Build the gio tool on Windows/MSVC
3421  768498 portal support for glib
3422  768504 keyfile: g_key_file_get_double behavior doesn't follow documentation
3423  768549 Test failure: test_ip_sync_dgram
3424  768551 Test failure: test_socket_address_to_string
3425  768560 gio/tests/gsettings: fix GSettings reference leaks in some tests
3426  768780 O_PATH is a non-standard flag which may be unavailable on non-Lin...
3427  768806 gdbus tool must swallow -- argument
3428
3429 Translation updates:
3430  Chinese (Taiwan)
3431  French
3432  Hebrew
3433  Indonesian
3434  Lithuanian
3435  Portuguese
3436  Spanish
3437
3438
3439 Overview of changes in GLib 2.49.2
3440 ==================================
3441
3442  * GMainContext and GTask have gained more systemtap probes
3443
3444 Bugs fixed:
3445  673101 resource compiler dependency generation not working for gen...
3446  700756 GFile.new_for_path arguments misses (type filename) annotation
3447  730187 glocalfileoutputstream: Fix an FD leak in an error path
3448  755439 Memory leak in gdbusproxy.c
3449  759813 Add more SystemTap/DTrace probes for main context and GTask
3450  761810 gio: Support using GDBusObjectManagerServer at path ‘/’
3451  767172 docs: Move GIO_USE_VFS to "okay for production" section
3452  767218 Remove a UTF-8 ellipsis from gsignal.h
3453  767245 Add filename type annotations
3454  767824 Some UTC timezones incorrectly recognized on Windows 7
3455
3456 Translation updates:
3457  Occitan
3458
3459
3460 Overview of changes in GLib 2.49.1
3461 ==================================
3462
3463  * GDesktopAppInfo now allows bus activation with dashes. This is
3464    not technically allowed per the Desktop Entry specification, but
3465    it happens in the wild. Rather than forcing people to go through
3466    another traumatic desktop file rename, accept it and translate - to _.
3467
3468  * The support for giving names to threads has been improved. Thread names
3469    are now supported on Solaris as well, and the Linux support no longer
3470    uses prctl() but the pthread api.
3471
3472  * GIO resources can now be overridden at runtime, using the G_RESOURCE_OVERLAYS
3473    environment variable.
3474
3475  * gdbus-codegen can now generate autocleanup definitions for the types
3476    it generates. Use the --c-generate-autocleanup option to control this
3477
3478 Bugs fixed:
3479  665446 Use g_abort() instead of abort()
3480  731988 glocalfile: Avoid a potential NULL pointer dereference
3481  742898 g_value_type_transformable() description differs from the code
3482  747107 GVariant varargs documentation: g_variant_get() example
3483  747478 g_system_thread_set_name() is not implemented for gthread-win32
3484  748474 g_get_language_names() is not thread-safe
3485  748530 gthread: W32 implementation of g_get_num_processors() has lame fallback
3486  748806 GVariant: Better introduction to the concepts and its uses
3487  749583 GSequence performance improvements
3488  749606 tests: always remove app.desktop
3489  755898 [PATCH] settings: add get/set uint64
3490  758174 Fix documentation typos
3491  758738 Usage of GType properties causes crashes due to gulong/gpointer mismatch
3492  760186 namespace clash with gdb pretty-printing code
3493  762994 Race condition in GIO/AppFileChooser crashes Firefox/Gtk3
3494  763379 codegen: Add support for g_autoptr to gdbus-codegen–generated objects
3495  763821 build: Also dist Systemtap files always for gobject/
3496  764092 gstrfuncs: Document the behaviour of g_strjoinv()
3497  764163 g_task_had_error doesn't remember the error after g_task_propagate_*
3498  764415 Very High CPU usage in g_poll() Windows implementation
3499  764574 build: Fix all statfs() tests failing
3500  764575 tests: Fix compilation errors due to Y2K format problems
3501  764685 GApplication documentation about handling command-line options is confusing
3502  764754 '-' in application id: unbreak bus activation and notifications
3503  765173 documentation of g_main_context_push_thread_default() regarding GIO...
3504  765668 GResources: add support for resource overlays
3505  765710 gdbus-tool: only print note about expected argument types if that...
3506  765712 tests: Fix compilation
3507  765861 task: avoid context lock when setting source name
3508  765900 Add g_drive_is_removable() support
3509  765924 Improve external drives detection
3510  765959 socket: set fd field to -1 after closing socket
3511  765990 Visual Studio: Define inline only when necessary
3512  765991 Compilation of gresource.c is broken due to S_ISDIR
3513  766092 Incorrect locale handling in g_date_time_format_locale()
3514  766211 Fix the upper bound in g_unichar_iswide_bsearch
3515  766407 Some build-related defects in glib testsuite
3516  766570 build: Fix a misnamed variable in glib-tap.mk
3517
3518 Translation updates:
3519  Basque
3520  Catalan
3521  Chinese
3522  Occitan
3523  Portuguese
3524  Turkish
3525  Vietnamese
3526
3527
3528 Overview of changes in GLib 2.48.0
3529 ==================================
3530
3531  * The system copy of PCRE is now used by default to implement GRegex.
3532    Configure with --with-pcre=internal if a system PCRE version
3533    is unavailable or undesired.
3534
3535  * a minor build fix in the name of determinism
3536
3537  * a few coverity fixes
3538
3539 Bugs fixed:
3540  763617 giotypefuncs.c: Sort _get_type functions in the 'C' locale
3541
3542 Translations updated:
3543  Danish
3544  Italian
3545
3546 Overview of changes in GLib 2.47.92
3547 ===================================
3548
3549  * gdbus-codegen now supports g_autoptr()
3550
3551  * g_get_user_runtime_dir() now reliably returns an existing directory
3552
3553  * g_array_remove_range() can now remove 0 items from the end of an array
3554
3555  * Many fixes for Windows
3556    * build fixes
3557    * file monitoring
3558    * gsettings backend
3559    * streams
3560    * random numbers
3561    * wide character support
3562
3563  * documentation improvements
3564
3565  * other small bugfixes
3566
3567 Bugs fixed:
3568  724847 Segmentation fault on "gsettings list-recursively"
3569  743933 gapplication: add --app-id command line option
3570  756706 [PATCH] gio/gtestdbus.c: don't use non-standard %m printf modifier
3571  757506 gsettings: schema_list should use the passed schema's source
3572  760694 W32: Apps linked with -mwindows make cursor busy sometimes
3573  762202 g_win32_error_message improvements
3574  762637 build: Unconditionally dist tapset files
3575  762748 Undefined behavior
3576  762937 Mention that g_clear_error can be used with an "empty" GError
3577  763339 array: Support clearing an empty array with g_array_remove_range()
3578  763344 g_get_user_runtime_dir(): ensure directory exists
3579  763379 codegen: Add support for g_autoptr to gdbus-codegen–generated objects
3580
3581 Translations updated:
3582  Brazilian Portuguese
3583  Czech
3584  Finnish
3585  French
3586  Galician s
3587  German
3588  Greek
3589  Hebrew
3590  Hungarian
3591  Italian
3592  Kazakh
3593  Korean
3594  Latvian
3595  Lithuanian
3596  Occitan
3597  Polish
3598  Russian
3599  Serbian
3600  Slovak
3601  Slovenian
3602  Spanish
3603  Swedish
3604
3605 Overview of changes in GLib 2.47.6
3606 ==================================
3607
3608 * Windows usupport:
3609  - Fixes and improvements to the GSettings registry backend
3610  - Handle readability and writability of registry keys
3611  - Use Unicode registry APIs
3612
3613 * Bugs fixed:
3614 760852 744772 761126 747927 761337 744570 761504 761550 761843
3615  744570 GString is missing (transfer none) annotations on many of its methods
3616  744772 systemtap and gdb scripts install in wrong place
3617  747927 Documentation: various small improvements
3618  760852 gdbusobjectmanagerserver: Clarify recommended ObjectManager paths
3619  761126 winiconv: update to upstream version
3620  761337 Fix some annotations
3621  761504 W32 registry GSettings backend does not use Unicode
3622  761550 Cannot build with default flags under Fedora rawhide (-Werror=format-...
3623  761843 gmacros.h is testing attributes with __has_feature (when compiling wi...
3624
3625 * Translation updates:
3626  Brazilian Portuguese
3627  Bulagarian
3628  Chinese (Taiwan)
3629  Hungarian
3630  Polish
3631  Slovak
3632  Slovenian
3633  Spanish
3634  Swedish
3635
3636
3637 Overview of changes in GLib 2.47.5
3638 ==================================
3639
3640 * the system copy of PCRE is now used by default to implement GRegex.
3641   Configure with --with-pcre=internal if a system PCRE version
3642   is unavailable or undesired.
3643
3644 * interfaces for DTLS support have been added.  A new version of
3645   glib-networking will also be required.
3646
3647 * GDBusMethodInvocation now drops replies if the sender set the
3648   NO_REPLY_EXPECTED flag
3649
3650 * several GApplication fixes, including fixes for commandline arguments
3651   in interpreted languages on Windows
3652
3653 Bugs fixed:
3654  624186 Deprecate glib-gettext macros
3655  734095 gtk-demo.py of PyGObject fails to run on Windows (and likely other binding scripts using g_application_run())
3656  735754 Implement close on TLS GOutputStream
3657  748064 gnulib vfprintf returns desired (not actual) number of bytes, ignores errors
3658  752240 Add DTLS support to GIO
3659  755421 GDBus ignores NO_REPLY_EXPECTED flag in messages, leading to warnings on system bus
3660  756875 Include ntdef.h for NTSTATUS
3661  759554 g_application_run() calls g_main_context_default() repeatidly
3662  760199 gsettings: Install gettext ITS rules
3663  760215 G_LIKELY/_UNLIKELY macros need more parentheses
3664  760683 regex test: Check the expected PCRE exceptions at runtime
3665
3666 Translations updated:
3667  Brazilian Portuguese
3668  Czech
3669  German
3670  Lithuanian
3671  Swedish
3672
3673 Overview of changes in GLib 2.47.4
3674 ==================================
3675
3676 * The GApplication documentation has been improved in several areas.
3677
3678 * Bugs fixed:
3679  749092 gdb pretty-printers fail on Python 3 with a TypeError...
3680  757374 macros: clean up "inline" mess
3681  758641 Memory leak in g_dbus_proxy_new_for_bus_sync()
3682  759134 Add missing checks for gnulib vasnprintf()
3683  759408 Do not use uninitialized var 
3684  756475 Stop supporting non-POSIX getpwuid_r, getgrgid_r
3685  757372 GApplication: destroy the impl on shutdown
3686  728099 macros: add G_GNUC_CHECK_VERSION() for compiler checks
3687  757299 glib-compile-resources: do not leak c_name
3688  758553 Fix gettext use
3689  758823 file monitors: reorder some code to avoid segfault
3690  756214 gsettings: Don't translate ""
3691  710243 Add GParamSpec object ref management annotations
3692  735696 xdgmime: Finer handling for cases where mmap() is not available
3693  752983 gapplication: Acquire the main context before running
3694
3695 * Translation updates:
3696  Swedish
3697
3698
3699 Overview of changes in GLib 2.47.3
3700 ==================================
3701
3702 The inline cleanup in the last release accidentally removed three
3703 symbols from libglib-2.0.so.  It is unlikely that this will have caused
3704 any problems because these symbols were only backup symbols for
3705 definitions exported as inlines in the header files, but ABI is ABI.
3706
3707 This release corrects only this problem.
3708
3709 Overview of changes in GLib 2.47.2
3710 ==================================
3711
3712 * We have formalised the assumption that all compilers that are
3713   interested in support 'static inline' and simplified the macros around
3714   this considerably.  Please watch for and report unintentional fallout.
3715
3716 * New API: hardware-assisted helpers for overflow-checked integer math.
3717
3718 * other fixes
3719
3720 Bugs fixed:
3721  696324 gtester-report doesn't work with Python 3.x
3722  719966 glib: Add missing (nullable) and (optional) annotations
3723  752837 gobject and glib-compile-resources rely on .CRT$XCU section, no longer works with Win 10 UCRT (VS 2015)
3724  755364 make gtkdoc-check happy again
3725  756134 Segmentation fault on calling g_simple_action_group_add_action with bad action constructor call
3726  756179 gwin32.c: Replace VerifyVersionInfoW() with RtlGetVersion() due to API deprecation
3727  756988 GSequence should document each function's complexity
3728  757294 Move G_POLLFD_FORMAT to glibconfig.h
3729  757374 macros: clean up "inline" mess
3730  757451 doc: fix g_task_attach_source() example
3731  757628 gio tests fail to build when cross compiling 2.46.1
3732  757693 Invalid free in g_local_file_trash()
3733  757742 Fix up annotations in ghash.c
3734  758181 GTask: fix wrong example code
3735
3736 Translations updated:
3737  Greek
3738  Hebrew
3739  Hungarian
3740  Norwegian bokmål
3741  Portuguese
3742  Scottish Gaelic
3743  Simplified Chinese
3744  Spanish
3745
3746 Overview of changes in GLib 2.47.1
3747 ==================================
3748
3749 * The Unicode support has been updated to version 8.0 of the Unicode standard
3750
3751 * GDesktopAppInfo no longer sets the DISPLAY environment variable when
3752   launching apps. This is now done in the GAppLaunchContext implementations
3753   when appropriate
3754
3755 * Bug fixes:
3756  664740 Key-value file parser, space after integer
3757  687223 cleverer GThreadPool management
3758  692085 stderr and stdout are not always file descriptors 1 and 2
3759  697907 Add interface for socket-like things (GSocket, DTLS, etc)
3760  735754 Implement close on TLS GOutputStream
3761  737116 Add functions to print GSocketConnectables and addresses as strings
3762  743011 Minor additions to GError documentation
3763  749161 undefined reference to `__imp__stat32i64'
3764  749314 Cannot restore a just-trashed file
3765  751924 Add recvmmsg()-like API on GSocket
3766  752240 Add DTLS support to GIO
3767  752837 gobject and glib-compile-resources rely on .CRT$XCU section, no longer...
3768  753310 Remove `#pragma GCC system_header` from gmessages.h
3769  753935 Update example namespace and class names in GObject tutorial
3770  754855 Object instantiation documentation refers to example that no longer ex...
3771  754983 Wayland: g_desktop_app_info_launch_uris_with_spawn() forces DISPLAY va...
3772  754994 g_date_time_get_second () sometimes returns an off-by-one result
3773  755083 Clarify in G_ADD_PRIVATE that it is safe to call _get_instance_private...
3774  755351 Example still contains g_autoptr(gchar)
3775  755355 Move GStrv to glib.h so it can be used with g_auto()
3776  755374 g_variant_get_child(): flatten-first logic on '&'
3777  755496 glib 2.46 fails GStreamer test suite
3778  755609 glib 2.46.0 breaks Sun Java JVM 1.8.0.60
3779  755766 gvalue: The g_auto cleanup function assert if value is G_VALUE_INIT
3780  755795 2.46 considers empty files as octet-stream rather than text (leads to...
3781  755961 Fix up annotations in gbytes.c
3782  756053 MSVC doesn't understand the symbol 'msghdr'
3783  756054 MSVC linker error due to 'g_socket_send_message_with_timeout()'
3784  756077 testutils: remove internal ABI comment
3785  756099 g_main_context_query(): Annotate @n_fds as (in) parameter
3786  756139 musl: ctors called in the wrong order
3787  756179 gwin32.c: Replace VerifyVersionInfoW() with RtlGetVersion() due to AP...
3788  756251 The documentation of G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is confusing
3789  756255 GOutputStream swallowing errors in splice with G_OUTPUT_STREAM_SPLICE...
3790  756316 GSequence should provide fast api to check if empty
3791  756382 snprintf used on Windows with VS2015 doesn't support %n
3792  756477 gio/gthreadedresolver.c has outdated copy of bionic headers (for android)
3793  756550 gtypes.h: Make G_MININTn literals negative
3794  756875 Include ntdef.h for NTSTATUS
3795  756952 giomodule: return a copy of module name
3796
3797 * Translation updates:
3798  Basque
3799  Czech
3800  Serbian
3801  Serbian Latin
3802  Vietnamese
3803
3804
3805 Overview of changes in GLib 2.46.0
3806 ==================================
3807
3808 * GTask no longer imposes a fixed limit on the number of tasks that
3809   can be run_in_thread() simultaneously, since doing this inevitably
3810   results in deadlocks in some use cases. Instead, it now has a base
3811   number of threads that can be used "for free", but will gradually
3812   add more threads to the pool if too much time passes without any
3813   tasks completing.
3814
3815   The exact behavior may continue to change in the future, and it's
3816   possible that some future version of GLib may not do any
3817   rate-limiting at all. As a result, you should no longer assume that
3818   GTask will rate-limit tasks itself (or, by extension, that calls to
3819   certain async gio methods will automatically be rate-limited for
3820   you). If you have a very large number of tasks to run, and don't
3821   want them to all run at once, you should rate-limit them yourself.
3822
3823 * Disable runtime-deprecation warnings
3824
3825 * Fix marshalling of flags on bigendian 64bit architectures
3826
3827 * Translation updates
3828  Brazilian Portuguese
3829  Danish
3830  German
3831  Latvian
3832  Russian
3833  Turkish
3834
3835
3836 Overview of changes in GLib 2.45.8
3837 ==================================
3838
3839 * utf8 validation and utf8-to-ucs4 conversion are faster
3840
3841 * Small speedups to property change notification
3842
3843 * Various other small optimizations for GQuark, GData
3844
3845 * Bugs fixed:
3846  696426 GParamSpecTypeInfo do not need to be static
3847  735429 Cleanup MSVC Project Files Generation
3848  738504 Optimize UTF-8 decoding by unrolling branches and expressions
3849  742903 Add missing (transfer) annotation to GString
3850  748633 g_set_object order of operations
3851  754431 Fix build of glib/gstrfuncs.c on Windows
3852  754560 gioerror: Add more mappings for WinSock error codes
3853  754582 Glib cannot compile
3854  754601 Make g_strerror work with non-glibc POSIX systems
3855  754636 tests/unicode-encoding test fails for glib 2.45.7 on x86-64
3856  754788 more g_strerror stuff
3857  754831 autocleanups: Add GString type
3858  754924 Improve test coverage of g_utf8_validate() by added known-...
3859  754986 Avoid unnecessary signal emission during draw
3860
3861 * Translation updates:
3862  Italian
3863  Kazakh
3864  Korean
3865  Lithuanian
3866  Slovenian
3867  Swedish
3868
3869
3870 Overview of changes in GLib 2.45.7
3871 ==================================
3872
3873 * Add G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE for use by non-POSIX-like
3874   backends (e.g. cloud storage).
3875
3876 * GFileMonitor: Make the inotify backend work with atomic renames again
3877
3878 * GSettings: change notification is again working unconditionally
3879
3880 * GListStore has a sort function now
3881
3882 * Test infrastructure:
3883  - Tests are now required to have unique names
3884  - TAP support has been improved
3885  - A macro for asserting that two memory regions have identical content
3886    has been added
3887
3888 * Bugs fixed:
3889  708525 A "g_file_query_info" on the file path "/sys/kernel/debug/hid"...
3890  742849 inotify: send paired events to both sides
3891  744060 Update GObject tutorial documentation to use G_DECLARE_FINAL_T...
3892  747364 Fix GError leak in g_file_query_writable_namespaces()
3893  749492 Support file creation time on FreeBSD and NetBSD
3894  752769 (g_socket_receive_message | g_socket_send_message) performance
3895  753745 glib-genmarshal still needed for cross-compilation
3896  754152 Add g_list_store_sort
3897  754211 Memory leak in g_file_enumerator_iterate ()
3898  754264 GLib 2.44 certificate chain construction fails if the PEM incl...
3899  754283 gtestutils: add g_assert_cmpmem()
3900  754284 gtestutils: print the TAP test plan first, not last
3901  754286 misc gtestutils fixes
3902  754307 size of array '_GStaticAssertCompileTimeAssertion_3387' is neg...
3903
3904
3905 * Translation updates:
3906  Chinese (Taiwan)
3907  French
3908  Galician
3909  Greek
3910  Hebrew
3911  Hungarian
3912  Indonesian
3913  Polish
3914  Portuguese
3915
3916
3917 Overview of changes in GLib 2.45.6
3918 ==================================
3919
3920 * Fix a test failure and a build failure
3921
3922 Overview of changes in GLib 2.45.5
3923 ==================================
3924
3925 * GNetworkMonitor now provides information about metered networks
3926
3927 * g_mem_set_vtable has been deprecated; it has not been working for
3928   quite a while. The recommendation is to use valgrind, or replace
3929   malloc itself.
3930
3931 * Bugs fixed:
3932  656325 Make GDBusInterfaceVTable binding friendly
3933  741779 Documentation tweaks addressing real-world API misuses
3934  741822 Fails to build with VS 2015
3935  742386 gdbusconnection: Don't g_printerr() when exiting
3936  743018 gobject: Add more cross-links between documentation pages
3937  750282 Add g_network_monitor_get_network_metered() to get if the connection...
3938  751358 GFileMonitor doesn't react to "mv some-file watched-file"
3939  751592 Stop using GMemVtable
3940  751598 Stop 'handle-local-options' propagation when callback reports an err...
3941  751610 g_str_hash produces collisions with strings of length 2
3942  751751 Wrong docs of g_async_queue_remove
3943  752210 gdbus command crashes with SIGSEGV
3944  752656 gdbusconnection: Fix signal subscription documentation
3945  752767 Fix typo in g_hash_table_replace() documentation
3946  753278 gdbus: Don't use g_assert_no_error() GDBusObjectManagerServer
3947  753285 g_menu_item_set_icon fails if called with NULL icon
3948
3949 * Translation updates:
3950  Catalan
3951  Czech
3952  French
3953  Indonesian
3954  Lithuanian
3955  Norwegian bokmål
3956  Slovak
3957  Spanish
3958  Thai
3959  Turkish
3960
3961
3962 Overview of changes in GLib 2.45.4
3963 ==================================
3964
3965 * Bugs fixed:
3966  727829 win32: glibconfig.h.win32 updates
3967  741901 Clang cannot know that g_error don't return
3968  746339 GSocket kills process when fd is not a socket
3969  747676 gio/tests/socket fails: test_fd_roundtrip
3970  748610 Some tests fail with non-English locales
3971  749911 g_inet_address_to_string broken on XP/2003
3972  749912 g_inet_address_new_from_string broken on XP/2003
3973  750625 Should dismiss Software Updates Available notification after...
3974  750807 G_BREAKPOINT doesn't work as intended on Darwin
3975  751160 gtask does unnecessary work
3976  751672 -Wduplicate-decl-specifier in glib/tests/keyfile.c
3977  751731 GFile/DirectoryMonitor emit move events with other_file=NULL
3978  751737 gio/tests/appmonitor test fails in 2.45.3
3979  751798 Wrong enum type used in some test-cases
3980  752089 make gsocketservice::active a property
3981  752293 small cleanup: use list_free_full
3982
3983 * Translation updates:
3984  Greek
3985  Hebrew
3986  Portuguese
3987
3988
3989 Overview of changes in GLib 2.45.3
3990 ==================================
3991
3992 * Improve performance of g_signal_handler_disconnect for signals
3993   with many handlers
3994
3995 * GDBus has gained a new call flag to allow interactive authorization
3996
3997 * GSettings:
3998  - New API: g_settings_schema_list_keys
3999  - Deprecated: g_settings_list_keys
4000
4001 * OS X:
4002  - Implement GNotification
4003  - Bump the OS X requirement to 10.9
4004
4005 * Windows:
4006  - Add registry reading API
4007  - Reimplement GAppInfo using registry information
4008
4009 * Bugs fixed:
4010  666831 Support URI opening on W32
4011  728489 property action with inverted boolean state
4012  730168 Incorrect annotation on g_action_group_get_action_state_type return...
4013  733325 Several regex tests fail with pcre3 8.35
4014  734888 GLib has no helper functions to work with W32 Registry
4015  737009 signal handler lookup doesn't scale
4016  738185 Misleading language about "file name encoding" in the docs on g_env...
4017  738504 Optimize UTF-8 decoding by unrolling branches and expressions
4018  739122 glib not handling -1 return ("no limit") from sysconf (_SC_THREAD_S...
4019  739424 gnome-shell crashes when files are added, deleted, or modified in $...
4020  739616 DBus; Add new call flag to allow interactive authorization
4021  740308 Add g_settings_schema_list_keys() method
4022  740516 RFE: please provide an introspectible version of g_log_set_handler
4023  741788 Document GSettings build system integration
4024  745013 GBinding not thread safe
4025  747146 Implement GNotification on OSX
4026  747941 try XDG_RUNTIME_DIR/bus before falling back to X11 autolaunch (dbus...
4027  748727 Filechooser dialog shows no icons for directories on W32
4028  749693 GActionGroupExporter: flush queue on requests
4029  750203 GNetworkMonitorNetlink hangs in user namespace
4030  750322 gapplication: Make sure --help output is translated
4031  750344 GTlsInteractionClass is missing from doc
4032  750369 Various GBinding cleanups
4033  750386 Race condition in g_io_condition_get_type
4034  750399 Typo "equilalent" in glib documentation's glib-Error-Reporting.html...
4035  750573 GTlsDatabaseClass is not documented
4036  750918 genmarshal: silence register storage class warnings
4037  751122 gsocket: avoid unnecessary g_socket_cond_wait() in _send_messages()
4038  479730 The "g_key_file_set_comment" interface prepends '#' character to...
4039
4040 * Translation updates:
4041  Hungarian
4042  Spanish
4043
4044
4045 Overview of changes in GLib 2.45.2
4046 ==================================
4047
4048 * Improve error reporting in glib-compile-schemas.
4049
4050 * Add introspection annotations to GListStore.
4051
4052 * Bugs fixed:
4053  696749 win32 : failed to compile because of careless mistake in the code
4054  723394 const parameter to GtkPopover gtk_popover_set_pointing_to
4055  724113 gdbus-connection-loss test can fail on slow machines
4056  725981 tap-driver.sh: internal error getting exit status
4057  733325 Several regex tests fail with pcre3 8.35
4058  744895 Unknown or unsupported transport 'this-should-not-be-used-and-will...
4059  747882 gtype: Bump allowed number of children
4060  748534 gtest: if a subprocess assertion fails, print its stdout and stderr
4061  748612 de_DE locale used in option-context test is not supported by FreeBSD
4062  748614 Double unref in g_socket_listener_add_inet_port
4063  748834 glocalfilemonitor: Emit notification on rate limit change
4064  749079 gdbus-peer test: TCP tests can fail with ECONNRESET due to a race...
4065  749080 gdatetime test: fails if close to rollover between seconds
4066  749180 gnetworkaddress: add return type annotation to parse methods
4067  749352 g_binding_unbind() fails when source is also the target
4068  749353 GBinding does not connect to the detailed notify signal
4069
4070 * Translation updates:
4071  Catalan
4072  French
4073  Slovak
4074  Thai
4075
4076
4077 Overview of changes in GLib 2.45.1
4078 ==================================
4079
4080 * The GSettings schema compiler, glib-compile-schemas has been changed
4081   to reject schema xml that has duplicate <summary> or <description>
4082   elements. Such elements typically occur when translations are merged
4083   into the schema, with xml:lang attributes. This is not the correct
4084   way to translate schemas. Instead keep the translations in the .mo
4085   file and set the gettext-domain attribute on the <schemalist> element.
4086
4087 * The file monitoring infrastructure has been rewritten, and all backends
4088   have seen major improvements.
4089
4090   The inotify backend is reporting events with less delay (no event will
4091   be delayed more than 10ms) and wakeups due to file monitoring have been
4092   significantly reduced. A CHANGES_DONE event will also be sent when new
4093   files appear.
4094
4095   The poll implementation is now using the thread default main context.
4096
4097   The fam implmentation is now running in the worker thread.
4098
4099   The fen implementation has been removed, since it was unmaintained.
4100
4101 * The GSettings schema compiler, glib-compile-schemas, is more strict
4102   about rejecting schemas with xml:lang style merged translations.
4103   Schema translations should be done by specifying the gettext domain
4104   in the xml, and keeping the translations in gettext. To avoid breaking
4105   already-installed schemas, this change is only taking effect when
4106   you use the --strict option.
4107
4108 * The hardcoded 10-thread limit of GTask's thread pool has been removed,
4109   since it was prone to causing deadlocks. The thread pool is now allowed
4110   to grow dynamically and will shrink back over time.
4111
4112 * GSimpleAsyncResult has been deprecated in favor of GTask.
4113
4114 * The algorithm used by GAppInfo to find default handlers for mime types
4115   has been tweaked to prefer apps that handle the specific subtype over
4116   default handlers for a generic supertype.
4117
4118 * Bug fixes:
4119  627285 inotify file monitor hardwired delay
4120  631597 Segmentation fault in append_escaped_text
4121  661767 merge/improve various bits of run-in-thread functionality
4122  687223 cleverer GThreadPool management
4123  711547 win32: silence some build warnings
4124  719966 glib: Add missing (nullable) and (optional) annotations
4125  726447 Possibly an error in text string
4126  728663 W32: wrong stat struct is used when built with MinGW-w64
4127  728669 W32: GLocalFile can't measure size of files larger than 2^32...
4128  730188 gsocket: Document FD ownership with g_socket_new_from_fd()
4129  733325 Several regex tests fail with pcre3 8.35
4130  738207 Add a way to set SO_SENDBUF and SO_RECVBUF on listener (and...
4131  739850 GClosure: add valgrind hints
4132  741791 gmain: Save errno when handling unix signals
4133  744282 gvfs-open for application/x-virt-viewer changed behaviour bet...
4134  745255 Add support for copying sessions between GTlsClientConnections
4135  745745 gdbus: fix out-of-bound array access
4136  745821 Don't use __alloc_size__ attribute with clang
4137  746749 GLib-GIO:ERROR:inotify-kernel.c:327:ik_source_dispatch: ass...
4138  746753 Glib-compile-resources --generate-header not using ".h" as ...
4139  747209 glib-compile-schemas ought to reject repeated <summary> and...
4140  747349 Conversion of gdbus to use GTask causes deadlocks
4141  747363 gatomic: Add missing new line in API doc comment
4142  747472 Don't ignore already-installed schemas with multiple <summa...
4143  747541 gdbus segfaults with invalid --dest
4144  747772 Having hardcoded utf8 strings in the source code does not p...
4145  748019 gsocketconnection: Fix copy-pasto in documentation
4146  748177 not all test schemas are distributed, "make distcheck" fails
4147
4148 * Translation updates:
4149  Basque
4150  Czech
4151  Danish
4152  Finnish
4153  German
4154  Hebrew
4155  Icelandic
4156  Norwegian bokmål
4157  Russian
4158  Turkish
4159
4160
4161 Overview of changes in GLib 2.43.92
4162 ===================================
4163
4164 GLib is now considered frozen.  We do not expect any major changes
4165 before the release of 2.44.0.
4166
4167  * GUnixMountMonitor now properly supports multiple main contexts
4168
4169  * many documentation improvements and cleanups.  We are now
4170    approaching a point where the documentation is 100% complete and the
4171    xml will build without warnings.  This will probably be enabled by
4172    default in the next cycle.
4173
4174  * new support for HTTP proxies in GIO
4175
4176  * new GTask:completed property
4177
4178  * use "private" futexes in order to further improve the performance of
4179    the contended case of GMutex and g_bit_lock()
4180
4181 Bugs fixed:
4182  614684 Make various parts of GObject const-correct
4183  730352 Use inet_pton(), if_nametoindex() and if_indextoname() for newer versions of Windows
4184  733876 Proxy protocol 'http' is not supported.
4185  741442 threads: use FUTEX_WAIT_PRIVATE and FUTEX_WAKE_PRIVATE if possible
4186  742599 Clean up GUnixMountMonitor
4187  743636 gtask: Add a GTask:completed property
4188  743661 g_win32_check_windows_version() is missing from doc
4189  744722 docs: Expand introduction to mention using async calls over sync ones
4190  745589 [Patch] gio: add some missing autocleanup
4191  745634 [GNotifications] Use themed icon as icon-name
4192
4193 Translations updated:
4194  Bosnian
4195  Bulgarian
4196  Catalan
4197  Czech
4198  French
4199  German
4200  Greek
4201  Hungarian
4202  Italian
4203  Kazakh
4204  Korean
4205  Latvian
4206  Lithuanian
4207  POTFILESin
4208  Polish
4209  Russian
4210  Serbian
4211  Slovak
4212  Slovenian
4213  Spanish
4214  Swedish
4215  Vietnamese
4216  pa  for Gnome
4217
4218 Overview of changes in GLib 2.43.91
4219 ===================================
4220
4221 We have now added 'g_autofree' as a libgsystem-style autocleanup macro
4222 that calls g_free() on the content of a local variable when it leaves
4223 scope (working only on GCC and clang).
4224
4225 GApplication now has an "is-busy" property, allowing one to query the
4226 effective busy state.
4227
4228 There have been various other bugfixes and cleanups.
4229
4230 Bugs fixed:
4231  661554 GIO's use of GError is wrong
4232  744263 Fix format specifier for __LINE__ in G_OBJECT_WARN_INVALID_PSPEC
4233  744565 gapplication: add bind_busy_property()
4234  744747 Add g_autofree
4235  744756 Can't find out if gapplication is marked as busy
4236  744830 autocleanups: Add GArray and GPtrArray
4237  744876 Unclean exit from from g_application_run
4238  745239 g_property_action_new missing type annotation
4239
4240 Translations updated:
4241  Chinese (Taiwan)
4242  French
4243  Galician
4244  Lithuanian
4245  Slovak
4246
4247 Overview of changes in GLib 2.43.90
4248 ===================================
4249
4250 * new GSimpleIOStream class to construct a GIOStream from an arbitrary
4251   GInputStream and GOutputStream
4252
4253 * GApplication: new API for marking 'busy' state according to the value
4254   of a boolean property on another object
4255
4256 * GOptionGroup: add binding support (boxed type, annotation fixes, etc.)
4257
4258 Bugs fixed:
4259  739724 Test functions should have async scope
4260  741024 glist: Mention that g_list_length() is bad for checking list emptiness
4261  741630 Add GSimpleIOStream class
4262  743349 goption: Add boxed type for GOptionGroup
4263  743990 GDBus connection closing is broken
4264  744565 gapplication: add bind_busy_property()
4265
4266 Translations updated:
4267  Greek
4268  Italian
4269  Norwegian bokmål
4270  Russian
4271  Slovenian
4272  Swedish
4273
4274 Overview of changes in GLib 2.43.4
4275 ==================================
4276
4277 * GType now has type declaration macros G_DECLARE_DERIVABLE_TYPE,
4278   G_DECLARE_FINAL_TYPE and G_DECLARE_INTERFACE, which significantly reduce
4279   the boilerplate needed for GObject types and interfaces.
4280
4281 * g_autoptr and g_auto are macros for declaring variables with automatic
4282   cleanup. They only work with gcc and clang.
4283
4284 * GListModel is a new interface that represents a dynamic list of GObjects.
4285
4286 * GListStore is a GSequence-based implementation of GListModel.
4287
4288 * Support thread names on OS X
4289
4290 * g_simple_action_set_state_hint: New function to set the state hint
4291   of GSimpleActions
4292
4293 * g_win32_check_windows_version: New function to check Windows version
4294
4295 * g_settings_schema_list_children and g_settings_schema_key_get_name
4296   are new functions to complete the GSettingsSchema API.
4297
4298 * Bugs fixed:
4299  389585 G_DEFINE_TYPE hack for header files
4300  729351 Add GListModel
4301  736914 Docs: various fixes and improvements
4302  741807 Add thread name support on OS X and iOS
4303  741895 gwin32: Add Simple API to check whether we are on at least a v...
4304  742456 object: Add g_steal_pointer() convenience function to mark own...
4305  743508 polkitd fails to start: patch for gio/gcredentialsprivate.h
4306  743517 GSettings API is missing some introspection functions
4307  743521 GSimpleAction: add g_simple_action_set_state_hint
4308  743596 G_DECLARE_DERIVABLE_TYPE() should allow additional typedef for...
4309  743640 add __attribute__((cleanup)) support
4310  743827 Fix build of GListModel (on Visual Studio)
4311  743927 GListStore: add sorted insert function
4312  743936 glib: handle unsigned modifier for long long in internal printf
4313  744012 Add GMutexLocker
4314  744190 Fix build on Compilers That Do Not Use inline for Plain C Code
4315
4316
4317 Overview of changes in GLib 2.43.3
4318 ==================================
4319
4320 * add g_set_object() convenience function
4321
4322 * GNetworkMonitor: check if NM is not running and don't crash
4323
4324 * fix some races with g_mkdir_with_parents
4325
4326 * fix some warnings in MSVC
4327
4328 * avoid use of G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC in order to save
4329   on static strings
4330
4331 * fix some content type vs. mime issues
4332
4333 * documentation improvements
4334
4335 * Bugs fixed:
4336  719455  g_file_make_directory_with_parents() can erroneously throw G_IO_ERROR_EXISTS
4337  732439  GSocket: avoid unnecessary g_socket_wait_condition() for blocking sockets
4338  734946  Implement GContentType on OSX
4339  741589  gobject: Add g_set_object() convenience function to set GObject pointers
4340  741653  gnetworkmonitornm: Check if network-manager is running
4341  741654  [patch] gobject: don't use G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC() macro
4342  741707  Gsocket blocks trying to send data
4343  741788  Document GSettings build system integration
4344  742548  configure.ac: stay out of autoconf's namespace
4345  742851  avoid MSVC warnings in G_STMT_END
4346  742972  ggettext: Include an example of setlocale() and friends in the i18n docs
4347  743014  gtestutils: Add an example of using test fixtures 
4348
4349 * Translations updated:
4350  Basque
4351  Brazilian Portuguese
4352  Spanish
4353
4354 Overview of changes in GLib 2.43.2
4355 ==================================
4356
4357 * New function: g_strv_contains
4358
4359 * New function: g_network_address_new_loopback
4360
4361 * New function: g_socket_send_messages
4362
4363 * A new GNetworkMonitor implementation using NetworkManager provides
4364   more detailed connectivity information
4365
4366 * Bugs fixed:
4367   11059 Linux poll issue
4368  664562 captive wifi portal support for GNetworkMonitor
4369  685880 Add g_strv_contains()
4370  712570 Hang in g_threaded_socket_service_func
4371  719646 GSocket: add g_socket_send_messages() to send multiple messages...
4372  728928 Provide separate error code for "Connection reset by peer"
4373  732317 Support GSocketConnectable for loopback addresses
4374  740814 "make check" should ensure that every symbol is documented
4375  740848 Backend subscription fails when connecting to a signal with a d...
4376  741016 gio: add G_IO_ERROR_NOT_CONNECTED
4377  741226 keyfile: Add "in group" to GError message consistently
4378
4379 * Translation updates:
4380  Gujarati
4381  Hebrew
4382  Hungarian
4383  Kannada
4384  Turkish
4385  Vietnamese
4386
4387
4388 Overview of changes in GLib 2.43.1
4389 ==================================
4390
4391 * GQueue now accepts NULL as a sibling in g_queue_insert_before() and
4392   g_queue_insert_after()
4393
4394 * Bugs fixed:
4395   11059 Linux poll issue
4396  726037 Add G_PARAM_READWRITE value to the GParamFlags enumeration
4397  727988 GMemoryOutputStream hangs when writing more than 1GiB
4398  729739 tlscertificate: add support for loading certificate chains
4399  733791 GSettings: delay backend subscription
4400  736286 Clarify g_file_replace behavior with etags
4401  736620 GQueue: accept NULL sibling for insert_before() and insert_after()
4402  737150 GLib-GIO-WARNING **: Failed to parse translated string 'visible-name...
4403  737160 unhelpful error message
4404  738259 GDBusInterfaceVTable: clarify memory handling for the method() virt...
4405  738551 'interface' variable conflicts with Windows defines
4406  738633 Need to disable SSLv3 in glib-networking
4407  740157 <app> --help doesn't work even when options were added
4408  740309 Fix docs in g_strfreev
4409  740413 Fix the GSettings Registry Backend 
4410
4411 * Translation updates:
4412  Norwegian bokmål
4413
4414
4415 Overview of changes in GLib 2.43.0
4416 ==================================
4417
4418 * GObject gained a debug option to provide instance counts. To use it,
4419   set GOBJECT_DEBUG=instance-count and call g_type_get_instance_count().
4420
4421 * GOption now has a strict POSIX mode in which it stops parsing arguments
4422   as soon as a non-option argument is encountered.
4423
4424 * Bugs fixed:
4425  354457 Feature Proposal: Per-Type Statistics for Instantiable GTypes
4426  695082 g_hash_table_remove_all is not save against a call to g_hash_table_remove
4427  723160 GOption: add strict posix mode
4428  728256 gcredentials: add NetBSD support
4429  729739 tlscertificate: add support for loading certificate chains
4430  733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
4431  736273 gdesktopappinfo: Use symbolic names in the code
4432  736284 Keep only one list of signal emissions
4433  736806 gtask: Fix reference count loop causing leaks
4434  736914 Docs: various fixes and improvements
4435  737143 Include <stdint.h> in glib/valgrind.h
4436  737259 gcancellable: Clarify that GSources hold references to GCancellables
4437  737338 gmain: Unref child sources when finalising a GSource
4438  737446 tests: Fix some minor leaks in the unit tests
4439  737451 Provide api to read_all_async
4440  737741 g_datalist_id_get_data assertion fails for non-existant keys
4441  737869 GApplication command line handling breaks --help
4442  738170 g_byte_array_new_take() doesn't initialize array->alloc
4443  738197 g_cond_timed_wait() doesn't time out on Mac OS X
4444  738374 gfile: g_file_equal (x, x) is TRUE
4445  738675 GSubprocessLauncher is missing some data on the docs 
4446
4447 * Translation updates:
4448  Bengali (India)
4449  Bulgarian
4450  Gujarati
4451  Italian
4452  Telugu
4453
4454
4455 Overview of changes in GLib 2.42.0
4456 ===================================
4457
4458 All changes in this release are trivial in nature.
4459
4460  - introspection warning fixes
4461
4462  - g_application_add_main_option now uses an enum instead of an 'int'
4463    for the type of a parameter
4464
4465  - added a G_OPTION_FLAG_NONE so that people don't need to use 0
4466
4467  - gresource: Use GError in more places
4468
4469  - gresource commandline tool: improve extraction from multiple sections
4470
4471  - GSource now takes the context lock (if any) in g_source_set_name()
4472
4473  - new documentation to clarify the use of some APIs related to
4474    GVariant, GSource, GApplication
4475
4476  - other minor updates to docs
4477
4478 * Bugs fixed
4479  736683 Thread safety issues with g_main_context_find_source_by_id
4480  736975 [patch] please document that GVariant serialization needs an
4481         out-of-band length field
4482
4483 * Translation updates
4484  Danish
4485  Hindi
4486  Marathi
4487  Punjabi
4488  Serbian
4489  Simplified Chinese
4490
4491 Overview of changes in GLib 2.41.5
4492 ==================================
4493
4494 * Bug fixes:
4495  735819 single native credential struct used for two purposes
4496  735915 glib-building.html uses --enable-gcov instead of --enable-coverage
4497  736350 GDesktopAppInfo: avoid polling on missing desktop dirs
4498  736351 Don't use issetugid() on Android
4499         Fix the default application logic in GDesktopAppInfo
4500  736458 Only use rand_s() when targetting Visual Studio >= 2005
4501
4502 * Translation updates
4503  Galician
4504  Hungarian
4505  Indonesian
4506  Kannada
4507  Latvian
4508  Polish
4509  Russian
4510  Slovenian
4511  Tamil
4512
4513
4514 Overview of changes in GLib 2.41.4
4515 ==================================
4516
4517 * GApplication now has binding-friendly API to handle
4518   commandline options: g_application_add_main_option
4519
4520 * G_GNUC_BEGIN_IGNORE_DEPRECATIONS works with clang
4521
4522 * Bugs fixed:
4523  583330 poll list of mounted file systems (no mtab support)
4524  727455 Command line option parsing from bindings
4525  734126 add G_GNUC_BEGIN_IGNORE_DEPRECATIONS macro for clang
4526  735179 gsocketclient: Handle cancellation between CONNECTING...
4527  735297 Docs claim that GThread struct is deprecated 
4528
4529 * Translation updates:
4530   Assamese
4531   Catalan
4532   Catalan (Valencian)
4533   Czech
4534   French
4535   German
4536   Greek
4537   Hebrew
4538   Korean
4539   Oriya
4540   Traditional Chinese
4541
4542
4543 Overview of changes in GLib 2.41.3
4544 ==================================
4545
4546 * g_clear_pointer and g_clear_object no longer use atomics
4547
4548 * Bugs fixed:
4549  711547 win32: silence some build warnings
4550  725511 Compiled resource files should have the same /-separators everywhere
4551  725513 Some tests fail to build on W32
4552  725514 W32: gfileutils does not preserve errno correctly
4553  725515 test-printf fails on W32
4554  728730 gsocket: Set SO_NOSIGPIPE on sockets on Darwin
4555  729703 Leaks a GError in g_file_move
4556  730932 statically assert that reasonable assumptions about enums are true
4557  732085 gtype: Fast-path for g_type_is_a
4558  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
4559  733345 ginetaddress: Add a precondition to g_inet_address_new_from_string()
4560  733576 Patches from static analysis run on 2.40
4561  733715 glib's configure.ac makes accidentally use of nested function
4562  733934 win32: improve the package installation dir lookup
4563  733960 W32: spawning a console process creates a new window when stdout...
4564  733969 Remove atomic aspects of g_clear_pointer/object
4565  733982 Do not crash when checking whether an instance type is of a given...
4566  734035 gedit hangs up when there's no GSettings key in the registry 
4567
4568 * Translation updates:
4569  Basque
4570  Brazilian Portuguese
4571  Lithuanian
4572  Slovenian
4573  Spanish
4574
4575
4576 Overview of changes in GLib 2.41.2
4577 ==================================
4578
4579 * The Unicode support has been updated to version 7.0
4580   of the Unicode standard
4581
4582 * GNotification now supports priorities for notifications
4583
4584 * GCredentials has gained NetBSD support
4585
4586 * GMutex now uses a faster, native implementation on Linux
4587
4588 * Bugs fixed:
4589  699132 Pluggable event loop backends
4590  720708 g_assert_warning(): number of arguments doesn't match for...
4591  722092 Add GtkApplication resources support
4592  724986 Change gio/data-to-c.pl to /usr/bin/env perl.
4593  727974 Fix up failure-to-see-expected-message logging
4594  728256 gcredentials: add NetBSD support
4595  728401 GDateTime: Add guards to g_date_time_new()
4596  729825 Formatting of g_alloca documentation
4597  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro...
4598  730293 clang++-3.4: error: 'register' storage class specifier is ...
4599  731339 giochannel: avoid setting uninitialised length
4600  731424 #ifdef spaghetti for load_user_special_dirs() implementations
4601  731623 GNotification: add support for a priority setting
4602  731929 update tables to unicode 7.0.0
4603  731950 gvalue: New g_value_from_instance
4604  731986 GLib: implement GMutex natively on Linux
4605  732184 GObject: warn on use of deprecated properties
4606  732357 Docs: various fixes and improvements
4607  732429 GActionEntry: improve documentation
4608  732465 Fix build on x64 Visual C++ builds
4609  732704 Docs: various fixes and improvements
4610  732739 ginetsocketaddress: Explicitly initialise flags for getaddr...
4611  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
4612  732984 g_object_ref(NULL) in g_dbus_object_manager_client_finalize
4613  733084 Typos in g_bytes_hash() and g_time_zone_find_interval() docs
4614  733146 spawn helper does not use correctly the parameters 
4615
4616 * Translation updates:
4617  Lithuanian
4618
4619
4620 Overview of changes in GLib 2.41.1
4621 ==================================
4622
4623 * Bug fixes:
4624  697229 Custom Interface implementations will be broken with glib 2.37/38
4625  698614 GObject: prevent installing properties after init
4626  729269 gvariant: Fix confusion between type and format strings in the docs
4627  730198 broken valgrind.h leads to crashes in g_type_free_instance on mingw64
4628  730807 GMutex performance regression
4629  730963 gconvert: mention that the g_convert len should be in bytes
4630  730984 Faster instance type check for fundamentals
4631  731050 <structname> tags appear in documentation
4632  731200 unconditional 'notify' during g_object_set() is problematic
4633  731335 gtype: guard uses of new fundamental type check
4634  731341 gparam: change value of G_PARAM_EXPLICIT_NOTIFY
4635  731366 run-assert-msg-test.sh gdb leaves assert-msg-test zombie
4636  731425 giomodule protects function-call with different token than function...
4637  731513 clang: build failure: implicit declaration of function '__atomic_load_4'
4638  731584 gbookmarkfile: Cleaner error handling code to pacify static analysis
4639  731657 Prevent an invalid @CARBON_LIBS@ from appearing in the .pc files
4640  731979 docs: Correct param to interface's default_init()
4641  731996 Return folder as icon for directories
4642  732002 gwakeup: Clarify buffer sizing in g_wakeup_signal()
4643  732005 Remove unused assignments
4644  732019 gtestdbus: Don’t close stdout for dbus-daemon
4645  732068 gsignal: Add an example to the g_signal_connect_swapped() documentation
4646  732081 gsocket: Document that g_socket_create_source() holds a socket ref
4647  732107 gsocketlistener: Reconsider closing sockets on listener finalisation
4648
4649
4650 Overview of changes in GLib 2.41.0
4651 ===================================
4652
4653 * Many bugfixes found by static analysis, including potential fd leaks
4654   and NULL pointer dereferences.
4655
4656 * Increased use of (nullable) attribute on out values and return types
4657   now that it is supported (mostly from porting Vala metadata).
4658
4659 * use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of desktop
4660   files, deprecating g_desktop_app_info_set_desktop_env()
4661
4662 * add support for g_desktop_app_info_get_implementations() to find
4663   desktop files that have an Implements= line for a given interface
4664
4665 * GHmac has gained SHA-512 support
4666
4667 * support the new mimeapps specification (most notably, moving the
4668   assoications/defaults configuration to ~/.config/mimeapps.list).
4669
4670 * libgobject is now linked -Wl,-z,nodelete when possible to avoid errors
4671   when gobject is used from a module for a program that does not itself
4672   use gobject and that module is unloaded/reloaded
4673
4674 * ... and many other bug fixes.
4675
4676  623552 glib warns if backtrace.py is not present
4677  667468 glib-2.30.2: ipv6 tests fail when no ipv6 support is available
4678  668152 -framework Carbon linker flag not passed to pkg-config .pc files
4679  707298 libgobject should be linked with -Wl,-z,nodelete
4680  712391 Add g_desktop_app_info_get_implementors()
4681  722723 Infinite recursion when calling g_io_stream_close_async() from libsoup
4682  724741 hmac: Fix support for SHA-512 in GHmac
4683  726040 networkaddress: fix parsing of uri with @ after authority
4684  726318 gio: Document that GSocket is not thread safe
4685  726611 socketclient: Leak on cancellation
4686  726872 gio: Add names to idles and timeouts
4687  727119 wrong IN6_IS_ADDR_MC_LINKLOCAL usage break android build
4688  727123 GNotification: Some small documentation fixes
4689  727320 docs: Remove escaping '\' from literals
4690  727551 Check use_count of GApplication in g_application_release()
4691  727559 g_file_copy: Don't set GError when we intend to ignore errors
4692  727692 gio/gtlscertificate.c -- broken PEM-file processing (affects local CA root stores, for starters)
4693  727890 soup_content_sniffer_real_sniff segfault
4694  727900 gio: Add newer dbus UnknownXxxx and PropertyReadOnly errors
4695  727928 gapplication-tool fixes
4696  727939 INTLLIBS are always appended in configure checks
4697  727964 g_io_extension_point_get_extension_by_name: Warn, but don't crash, for NULL inputs
4698  728040 Implement new mimeapps spec
4699  728066 Deal with startup notify id being NULL
4700  728280 platform_get_argv0: fix sysctl(3) use on OpenBSD
4701  728285 docs: Use markdown links in .h files, too
4702  728350 gaction: Minor clarifications in the GAction documentation
4703  728380 docs: Remove <!-- --> comment before plural s
4704  728565 gfile: More explicitly document the context for GFileProgressCallback
4705  728983 Docs: various fixes and improvements
4706  729167 gobject: Document that classes/objects/interfaces are zero-filled
4707  729563 GOption: A short option's value is included in G_OPTION_REMAINING
4708  729813 AppInfo: use XDG_CURRENT_DESKTOP for OnlyShowIn
4709  729875 gio: cleanup gdbusmessage.c file
4710  730045 Avoid overeager warning about deprecated properties
4711  730189 gtestutils: Fix a very unlikely FD leak in test fork handling
4712  730190 gsocket: Add missing preconditions to g_socket_send_message()
4713  730277 gthread: Fix use of a local variable after it went out of scope
4714  730278 gsubprocess: Add a missing va_end() call
4715  730295 gdbus-tool: Remove dead variables
4716  730493 Port annotations from Vala metadata
4717
4718 Translations updated:
4719  Basque
4720  Brazilian Portuguese
4721  Catalan
4722  Czech
4723  Danish
4724  Greek
4725  Hebrew
4726  Hungarian
4727  Punjabi
4728  Serbian
4729  Slovenian
4730  Spanish
4731  Ukrainian
4732
4733 Overview of changes from GLib 2.39.91 to GLib 2.39.92
4734 =====================================================
4735
4736 This is a release candidate for 2.40.0.
4737
4738 * g_test_run() no longer runs tests in exactly the order they are
4739   registered; instead, it groups them according to test suites (ie,
4740   path components) like the documentation always claimed it did. In
4741   some cases, this can result in a sub-optimal ordering of tests,
4742   relative to the old behavior. The fix is to change the test paths to
4743   properly group together the tests that should run together. (eg, if
4744   you want to run test_foo_simple(), test_bar_simple(), and
4745   test_foo_using_bar() in that order, they should have test paths like
4746   "/simple/foo", "/simple/bar", "/complex/foo-using-bar", not
4747   "/foo/simple", "/bar/simple", "/foo/using-bar" (which would result
4748   in test_foo_using_bar() running before test_bar_simple()).
4749
4750   (The behavior actually changed in GLib 2.36, but it was not
4751   documented at the time, since we didn't realize it mattered.)
4752
4753 There are no major changes in this release, but a few serious bugs have
4754 been fixed.
4755
4756 * Bugs fixed:
4757  710367 Crash in g_settings_backend_dispatch_signal()
4758  723899 G_DEFINE_TYPE() causes compiler warnings with clang due to foo_get_instance_private
4759  724859 Let the test_wait_until() test also run on non-*nix
4760  724916 gio unmount code makes XFCE's Thunar crash
4761  725651 GSubprocessLauncher: Does not copy the calling process environment.
4762  725656 Unskip GVariantDict
4763  725891 gio tests: add codegen to BUILT_SOURCES
4764  726046 Recent commit created symbolic icons issues
4765
4766 * Translations:
4767  Chinese
4768  French
4769  Korean
4770  Latvian
4771  Norwegian bokmål
4772  Portuguese
4773  Russian
4774  Traditional Chinese
4775
4776 Overview of changes from GLib 2.39.90 to GLib 2.39.91
4777 =====================================================
4778
4779 This release introduces a hard dependency on present and functioning
4780 clock_gettime() and CLOCK_MONOTONIC.  It also introduces a dependency on
4781 pthread_condattr_setclock() unless your system happens to have
4782 pthread_cond_timedwait_relative_np() (as do Mac OS and Android).  This
4783 release is known to be broken with at least GNU/Hurd, pending addition
4784 of working pthread_condattr_setclock(CLOCK_MONOTONIC) there.
4785
4786 New API: g_str_to_ascii()
4787
4788 * Fixed bugs:
4789  670144 unconditional use of CLOCK_MONOTONIC is broken
4790  673607 invalid assumption in g_cond_wait_until() / g_get_monotonic_time() API
4791  710142 Add more impressive transliteration to GLib
4792  722360 make check fails
4793  722604 (partial) Various tests are failing with 2.39.3
4794  723316 g_hash_table_iter_remove() should be explicit whether or not it is safe while iterating the table
4795  724609 Fix build of GIO on Windows
4796  724687 gmain: make monotonic time really monotonic, everywhere
4797  724706 gsource: document priority of child sources
4798  724707 some GSocket source improvements
4799  724839 GMainContext: some source ID cleanups
4800  724858 Dist gtranslit-data.h
4801  724994 Missing icons for bookmarks in file chooser
4802  725023 Can no longer find apps by executable/desktop file name
4803
4804 * Translations:
4805  Lithuanian
4806  Polish
4807  Thai
4808
4809 Overview of changes from GLib 2.39.4 to GLib 2.39.90
4810 ====================================================
4811
4812 * Fixed bugs:
4813  625408 make GVariant dictionaries more useful
4814  660809 document that if you fail a precondition check, documented guarantees do not apply
4815  661576 fix handling of constructors that destroy half-constructed objects
4816  679957 g_inet_address_new_from_string is not able to handle dots and numbers IPv4 addresses
4817  712837 gvariant: Document the need to cast varargs when constructing GVariants
4818  721458 g_simple_async_result_is_valid has a NULL check for the wrong source_tag
4819  721977 improve split handling of command line arguments
4820  722033 win32: fixup lib.exe invocation
4821  723422 Fix g_socket_get_available() with TCP on Windows
4822  723616 gio/tests: fix race when generating code
4823  724001 gsubprocess: Fix a broken link in the documentation
4824  724124 glib/tests/collate.c fails if no en_US locale
4825  724126 intermittent GApplication test failure: /gapplication/local-actions: lines of output permuted
4826  724233 gsocketservice: Note g_socket_listener_close() for closing open sockets
4827  724239 soup_session_queue_message - Connection terminated unexpectedly
4828  724278 gsocketconnection: Document closing connections with g_io_stream_close()
4829  724330 configure.ac: tweak inotify check
4830  724385 gtestutils: make the new assert messages more detailed
4831  724401 gsubprocess: Mutex leak
4832  724417 glib master build broken on OpenBSD
4833  724434 Build failure in gio/gresolver.c
4834
4835 * Updated translations:
4836  Brazilian Portuguese
4837  Galician
4838  Indonesian
4839  Italian
4840  Kannada
4841  Norwegian bokmål
4842  Spanish
4843  Thai
4844
4845 Overview of changes from GLib 2.39.3 to GLib 2.39.4
4846 ===================================================
4847
4848 * Fixed Bugs:
4849  139699 Correction for g_main_context_unref()
4850  583036 g_strchomp and g_strchug are not declared const
4851  683388 improve documentation for application developers
4852  685204 ./configure fails to add the '-g' flag to CFLAGS
4853  688406 GStaticMutex broke ABI on at least ARM EABI during 2.31.x
4854  693299 cannot compile on Solaris: error in gbitlock.c
4855  707111 Clarify type transformability and compatibility
4856  711547 win32: silence some build warnings
4857  719344 Fix the various test programs (or GLib itself) on Windows
4858  722025 cleanup/clarify command line argument encoding on Windows
4859  722323 remove unused include 'gslist.h' in 'gbookmarkfile.c'
4860  722326 gstringchunk: Use g_slist_free_full() where possible
4861  722357 gio: fix small memory leak on local xattr
4862  722436 Adjust doc to Makefile.decl renaming
4863  722503 GSimpleAction: add default activate handler
4864  722526 glib/deprecated/gthread.h error on FreeBSD
4865  722591 [documentation] broken link to GtkAction from GAction.html
4866  722973 Broken example in GApplication reference
4867  723048 'network-access' test can fail to guess interface index
4868  723360 gmain: Note that g_source_destroy() can be called multiple times 
4869
4870 * Updated Translations:
4871  Assamese
4872  Tamil
4873  Traditional Chinese
4874
4875
4876 Overview of changes from GLib 2.39.2 to GLib 2.39.3
4877 ===================================================
4878
4879 No major changes this release -- mostly lots of small fixes and
4880 improvements in test coverage.
4881
4882  * fix a crasher in code from gdbus-codegen
4883
4884  * improvements to gobject gdb helper script
4885
4886  * portability:
4887
4888    - fix a deadlock issue with kqueue on FreeBSD
4889
4890    - work around a quirk in the sunstudio compiler
4891
4892    - rename a variable to avoid clashing with a macro definition of
4893      'environ' on some platforms (like mingw)
4894
4895    - use POSIX-specified <poll.h> over <sys/poll.h>
4896
4897    - many improvements to Visual Studio projects and and some build
4898      fixes for Windows
4899
4900  * tests
4901    - a very large number of improvements in test coverage
4902
4903    - don't report skipped tests as failures
4904
4905    - return 77 if we skip all tests in an executable
4906
4907    - improve gtest documentation and fix some minor issues
4908
4909    - fix g_test_trap_reached_timeout() return value
4910
4911    - remove some dead code uncovered during test coverage expansion
4912
4913    - Use tap mode for installed tests too, when using tap
4914
4915  * fix races in unix signal handling
4916
4917  * make our GVariant-based commandline tools (glib-compile-schemas,
4918    gdbus, gapplication) print out GVariant parse errors in context
4919
4920  * GApplication now has a --gapplication-service command line switch to
4921    turn any GApplication into a service
4922
4923  * improve compatibility of GApplication and GOptionContext
4924
4925  * fix gsettings.m4 wrt. builddir != srcdir with non-recursive make
4926
4927  * use a directory monitor in GKeyfileSettingsBackend
4928
4929  * improve robustness of some GIcon classes
4930
4931 Bugs fixed
4932  141251  poll(2) is in <poll.h>, not <sys/poll.h> per SUS standard
4933  613732  [PATCH] gobject.py: Don't install frame filters when GDB does not support them
4934  708212  g_variant_parser_error_get_quark() has unexpected name.
4935  710965  GApplication: add --gapplication-service switch
4936  711090  periodic failure of spawn-multithreaded async testcase
4937  712171  gsettings.m4: @GSETTINGS_RULES@: Support srcdir != builddir with nonrecursive make
4938  712630  Revert "gsettings m4: check for .xml in src/builddir"
4939  715028  GVariant: add way to print context of parse errors
4940  719344  Fix the various test programs (or GLib itself) on Windows
4941  720263  gtestutils: skipping a test should count as success, not failure
4942  720539  gdbus-codegen: Fix crasher in goa-using apps
4943  720635  Make gdb pretty-printers compatible with Python3
4944  720891  g_settings_get_child does not inherit the backend
4945  721034  glib 2.38.2 cannot be compiled with SunStudio Compiler under Solaris
4946  721059  g_subprocess_launcher_set_environ vs "environ"
4947  721074  kqueue: deadlock
4948  721087  Missing -lselinux in pkg-config --libs --static gio-2.0
4949  721324  Error message is printed to stdout
4950  721624  Regression in GTest framework reorders existing test cases
4951  721625  backwards NEWS entry about g_source_remove change
4952  721796  insufficient escaping in g_dbus_annotation_info_generate_xml()
4953  721947  Improve GApplication ⇔ GOptionContext compatibility 
4954
4955 Translations updated:
4956  Brazilian Portuguese
4957  Galician
4958  Greek
4959  Hebrew
4960
4961 Overview of changes from GLib 2.39.1 to GLib 2.39.2
4962 ===================================================
4963
4964 * Portability
4965
4966   - Remove alleged support for OS/2
4967
4968   - Remove alleged support for BeOS
4969
4970   - Remove alleged support for last-millennium Unixes
4971
4972   - Require C90 compliance
4973
4974   - Require POSIX.1 (1990) compliance on Unix
4975
4976   - Require GNU make
4977
4978 * Bugs fixed:
4979  113075 support "nonnull" attribute
4980  159528 g_ptr_array_remove_range()
4981  307947 The check for growing stack pointer in configure can fail
4982  607016 docs should mention property notification order
4983  671557 Fun with integers and g_key_file_load_from_data()
4984  676761 don't use g_critical for a runtime error
4985  690525 g_file_replace_contents_async doesn't copy its @conten...
4986  691608 Support compilation with clang 3.2
4987  697585 g_variant_builder_add's doc example is leaking
4988  697828 g_hash_table_add() should return a boolean
4989  702862 gdbus-codegen : look for deps in default install path
4990  703522 Reference leak in GvariantBuilder documentation
4991  705902 g_get_current_dir() should check PWD env var and retur...
4992  708274 Added GObject Introspection annotations to genums.c
4993  710519 Portability schmortability
4994  710741 some mainloop instrumentation
4995  710983 Test failures on powerpc
4996  711047 Enable the build of the various test programs on Windo...
4997  711051 Add basic test for the GNotification gtk backend
4998  711088 gbacktrace: Don't close stderr when running gdb
4999  711103 gmessages: Add g_info macro for G_LOG_LEVEL_INFO
5000  711178 appinfo test problems
5001  711546 utf8: report allocation error
5002  711640 gdesktopappinfo: Rank Keywords matches higher than Gen...
5003  711751 Fix memory leaks in libglib tests
5004  711753 gthread-posix: Don't use gslice allocated GRecMutex
5005  711796 glib-tap.mk: fix to actually use the TAP driver
5006  711800 fix g_test_set_nonfatal_assertions()
5007  711801 giomodule: Allow overriding source directory gio modul...
5008  711805 gdbus-connection: Fix race condition in test
5009  711806 gtestdbus: Don't destroy GSource twice
5010  711807 gtestdbus: Properly close server connections
5011  711871 Broken and misleading configure check for growing stack
5012  712136 'O_CLOEXEC' undeclared (first use in this function)
5013  712148 Add system bus support to GTestDBus
5014  712171 gsettings.m4: @GSETTINGS_RULES@: Support srcdir != bui...
5015  712314 AIX port: splice(); major()/minor(); libtool library order
5016  712315 GSettings: More docs for deprecated _list_schemas()
5017  712393 gobject: Box GMappedFile
5018  712547 GSocketClient "event" not useful for determining resol...
5019  715164 Clang static analysis fixes
5020  719395 GPtrArray add g_ptr_array_insert
5021  719402 Crashes when startup
5022  719472 leak in generated proxy-side property-setter
5023  719687 fix or remove g_trap_object_ref
5024  719809 Signal connection ids are always > 0 if successful
5025  719837 gdbus-connection: Work around race in connection tests
5026  719884 Fix documentation typos in GTask and GCancellable examples
5027  719979 g_settings_get: check validity of format string
5028  720080 Truncating a GMemoryOutputStream to a larger size cause...
5029  720210 gdataset: Remove unused define
5030  720236 Allow clean simple use of g_test_trap_subprocess() 
5031
5032 * Translations updates:
5033  Italian
5034  Lithuanian
5035  Simplified Chinese
5036  Spanish
5037
5038
5039 Overview of changes from GLib 2.39.0 to GLib 2.39.1
5040 ====================================================
5041
5042  * GSettings fixes/improvements
5043
5044    - GSettingsSchema API is now more powerful and consistent
5045
5046    - new GSettingsSchemaKey API allows accessing metadata for keys:
5047      type, default value, range and the long-awaited support for summary
5048      and description
5049
5050    - GSettingsSchemaSource gains support for listing schemas within a
5051      source.  Deprecate the global API that did this for the default
5052      source.
5053
5054    - 'gsettings list-schemas' now works properly with --schemadir
5055
5056    - deprecate a bunch of now-redundant functionality on GSettings
5057
5058    - add API to GSettings for getting the default value of a key (as set
5059      by the sysadmin)
5060
5061    - add API to GSettings for determining if the user has assigned a
5062      particular value to a key (ie: we are not just reading the default)
5063
5064    - ignore qualified tags and attributes appearing in schema files
5065
5066  * Applications/Actions
5067
5068    - make GSimpleAction a bit more strict with respect to state changes
5069      that would violate the interface (ie: by changing the state type
5070      after construction)
5071
5072    - throw an error when attempting to 'Describe' a non-existent action
5073      via D-Bus instead of returning a bogus description
5074
5075    - throw an error when attempting to invoke unsupported methods on an
5076      Application (eg: 'Open' on an app that doesn't HANDLES_OPEN)
5077      instead of emitting a g_critical() in context of the app (which is
5078      not itself at fault for the errant call)
5079
5080  * Appinfo
5081
5082    - substantially rework GDesktopAppInfo to reduce the amount of disk
5083      accesses that are performed in common situations
5084
5085    - add a new class: GAppInfoMonitor for discovering when applications
5086      are installed/removed
5087
5088    - add a new g_desktop_app_info_search() API for searching for
5089      installed applications by name, keywords, etc.
5090
5091  * GMarkup: add new G_MARKUP_IGNORE_QUALIFIED flag for skipping over
5092    "qualified" tags and attributes (those with a colon in the name, such
5093    as 'my:tag')
5094
5095  * GDBus
5096
5097    - ignore qualified tags, as above
5098
5099    - GTestDBus: unset all D-Bus addresses (such as STARTER) to ensure
5100      that test programs don't pick them up
5101
5102    - add new session_bus_run() convenience in the tests and use it
5103
5104  * GRand: use real random data as a seed on win32 and use the
5105    timestamp/pid/uid fallback only on UNIX machines where we can't open
5106    '/dev/urandom'.  This may cause issues with older mingw32 releases
5107    due to a missing prototype for the rand_s() API.
5108
5109  * Many win32 (and particularly MSVC) portability fixes.  Many
5110    additional tests are now runnable when building with MSVC.
5111
5112  * Due to early testing of the (soon to land) GCleanup framework, a very
5113    large number of memory errors have been found and fixed (mostly in
5114    the testcases, but some in glib itself).
5115
5116  * GIO:
5117
5118    - some more seeking cleanups: particularly on GLocalFileInputStream
5119
5120    - don't leave a .trashinfo file around if trashing a file fails
5121
5122    - Add a request_certificate virtual method to GTlsInteraction
5123
5124 Translations updated:
5125  Assamese
5126  Galician
5127  Greek
5128  Spanish
5129  Tamil
5130
5131 Bugs fixed:
5132  635641 schema compiler should ignore unknown attributes
5133  637257 g_tls_client_connection_gnutls_retrieve_function needs to be able to block
5134  637956 GKeyfileSettingsBackend should ignore file deletions
5135  645453 keys from base schema missing from extended schema
5136  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes in XML files
5137  668232 Unable to get description and summary for a key
5138  668233 Unable to determine if a key is set to the default / what the default value is
5139  680838 Need g_settings_schema_source_get_schemas()
5140  683017 API for accessing GSettings Schema metadata
5141  687185 org.gtk.Actions.Describe doesn't return an error for non-existing action names
5142  687202 If trashing fails, the ".trashinfo" file is not removed
5143  695558 The --schemadir option has no effect
5144  696424 GSimpleAction.state property is not right
5145  697348 GTestDBus should unset DBUS_STARTER_ADDRESS, DBUS_STARTER_BUS_TYPE
5146  710133 Emit backward compatible code with gdbus-codegen
5147  710691 glib-networking: locking during implicit handshake
5148  710738 GRand has lame fallback for Windows
5149  710859 Typo in gio docs
5150  710885 Two fixes for GApplication
5151  710962 error: 'F_DUPFD_CLOEXEC' undeclared (first use in this function)
5152  710964 Add g_hash_table_get_key_array()
5153  710991 test: g_debug messages shouldn't affect g_assert_expected_messages
5154  711016 g_settings_list_keys () segfaults for empty schemas
5155  711048 glocalfileinputstream.c allows skip past end of file
5156  711049 Fix build of GLib-GIO 2.39.x on Windows/MSVC
5157  711064 Adding child source to blocked source can cause a segfault
5158  711070 Copying a symlink over another one segfaults
5159  711099 gapplication test failure
5160  711520 GDesktopAppInfo: allow more than one level of legacy folder prefixes
5161  711556 Add GAppInfoMonitor
5162  711557 Add g_desktop_app_info_search()
5163  711600 trivial portability fix
5164  711632 The desktop-app-info test fails during make check
5165  711754 gmain: Fix use of uninitialized memory in sigaction structure
5166  711755 private: Use threading primitives correctly in private test
5167  711756 gthreadpool: Don't pass bad data to GThreadPool sorter
5168  711768 Fix memory leaks in libgmodule tests
5169  711775 utils: Don't free memory owned by glib in test
5170  711782 boxed: Fix double free in boxed unit tests
5171  711803 gsubprocess: Fix a number of leaks and a segfault
5172  711808 gtestdbus: Fix leak of GMainLoop 
5173
5174 Overview of changes from GLib 2.38.0 to GLib 2.39.0
5175 ====================================================
5176
5177  * prep for the 2.40 series (version macros, docs index, etc.)
5178
5179  * GNotification
5180
5181    - new API for sending persistent notifications via the desktop shell
5182
5183    - notifications persist when the application has quit and clicking on
5184      them can restart the application with an action (via
5185      DBusActivatable)
5186
5187  * GSubprocess
5188
5189    - new API for launching subprocesses
5190
5191    - nice GIO integration like async functions, cancellability, etc.
5192
5193    - a convenient communicate() API inspired by the same API in Python
5194
5195    - related: the gspawn API now has a CLOEXEC flag for the created
5196      pipes for stdin/stdout/stderr
5197
5198  * New gapplication(1) commandline tool
5199
5200    - intended to be used with DBusActivatable apps
5201
5202    - can be used for launching apps, opening files, invoking application
5203      actions and listing apps and actions
5204
5205    - bash tab completion is supported
5206
5207  * GDesktopAppInfo changes:
5208
5209    - g_file_get_path() can implicitly cause a FUSE mount so don't call
5210      it until we know we need it (for an app that doesn't support URIs)
5211
5212    - don't crash when trying to load from a keyfile with
5213      DBusActivatable=true
5214
5215    - remove some dead code, refactor the search path handling a bit and
5216      do a large-scale whitespace cleanup (prep work for the pending
5217      desktop file index)
5218
5219  * File monitors
5220
5221    - fix broken handling of mount point monitoring
5222
5223    - remove some strange use of GObject::constructor() from the base
5224      class and inotify backend
5225
5226    - fix GFileMonitor to work in the non-default main context even when
5227      the main context is not running (or is blocked)
5228
5229    - add internal private API for easily creating a file monitor in the
5230      GLib worker thread
5231
5232  * GSettings
5233
5234    - g_settings_list_children: only list viable schemas.  This fixes a
5235      longstanding issue where 'gsettings list-recursively' will crash
5236      when there are invalid schemas installed
5237
5238    - don't accept invalid paths on g_settings_new_with_path, etc.
5239
5240  * GIO
5241
5242    - GFile now has a thumbnail::is-valid attribute to check if the
5243      thumbnail in thumbnail::path needs to be regenerated
5244
5245    - GDBusProxy now has a flag to control autostarting of services at
5246      construction time
5247
5248    - for GSeekable, properly introduce the concept of "resizable" vs.
5249      "fixed-sized" streams in the docs, explaining the expected
5250      semantics of the interface in each case
5251
5252    - fix some cases in GMemoryOutputStream that were violating the above
5253      expectations (which may cause a slight API incompatibility)
5254
5255    - clean up GCredentials code and add support for Hurd and Solaris
5256
5257    - improve splicing by using different codepaths for the case where we
5258      have real _read_async() and _write_async() implementations on the
5259      stream vs. the case where they are internally emulated (via
5260      dispatching the sync variant of the call in a thread)
5261
5262  * GKeyFile
5263
5264    - fix a leak in g_key_file_get_(u)int64 when we fail to parse the
5265      value as an integer
5266
5267    - add long-requested API g_key_file_save_to_file()
5268
5269  * Portability improvements
5270
5271    - avoid using O_DIRECTORY on platforms that don't have it
5272
5273    - be careful about systems that define SOCK_CLOEXEC but don't
5274      actually support it (like Hurd)
5275
5276    - only use SA_RESTART if it exists
5277
5278  * Other small API changes/additions
5279
5280    - a pair of functions to support matching strings for the type of
5281      search functionality that you'd expect to have with things like
5282      GtkSearchBar.  This will also be used by the desktop file index.
5283
5284    - g_str_is_ascii() with obvious purpose
5285
5286    - g_test_expect_message() no longer appears to allow you to catch
5287      G_LOG_ERROR messages
5288
5289  * GMainContext/GSource
5290
5291    - fix handling of overflowing the 'next source id' counter
5292
5293    - g_source_remove() will now throw a critical in the case that you
5294      try to remove a non-existent source.  We expect that there is some
5295      code in the wild that will fall afoul of this new critical but
5296      considering that we now reuse source IDs, this code is already
5297      broken and should probably be fixed.
5298
5299    - simplify handling of the 'current dispatching source' to not
5300      require use of a linked list
5301
5302  * GObject
5303
5304    - the long-broken (and leaky) pattern of destroying a just-allocated
5305      object from inside of a custom GObject::constructor is now
5306      officially completely illegal and will abort the program
5307
5308  * Unicode: update to 6.3.0
5309
5310  * Bug fixes
5311
5312    - g_file_copy() now falls back to pathname queryinfo.  This should
5313      clear up the bugs with copying from some GVfs backends (afp,
5314      gphoto, archive, at least).
5315
5316    - fix an out-of-bounds read in the xdgmime code
5317
5318    - fix a typo in the /org/freedesktop/DBus path on the object manager
5319      client
5320
5321    - skip emitting path_namespace='/' in match rules in order to
5322      workaround a bug in the D-Bus daemon and fix our own implementation
5323      (which shared exactly the same bug)
5324
5325    - fix crashes on precondition violations for GParamSpec constructors
5326
5327    - many other small fixups (see bug list)
5328
5329   * Many documentation improvements
5330
5331 Bugs fixed:
5332  309224 g_key_file_save_to_file missing
5333  583321 QNX: no SA_RESTART
5334  661576 fix handling of constructors that destroy half-constructed objects
5335  672102 GSubprocess class
5336  684842 Seeks on GMemoryOutputStream don't have opaque semantics
5337  688492 Add a notification API
5338  691581 g_output_stream_real_splice_async doesn't use overriden read/write_async functions
5339  702516 gfileutils: Make -Werror=format-nonliteral happy
5340  704218 New gapplication(1) tool
5341  704593 g_setenv: on some systems (BSD, OSX…), setting a variable to NULL crashes the system
5342  704882 GLocalDirectoryMonitorClass mount_notify field is useless
5343  704887 file monitoring improvements
5344  705029 Support for Solaris credentials
5345  705688 g_settings_list_children: only list viable schemas
5346  706254 Afp backend cannot copy files
5347  707887 Attempting to create GObject Property with underscore prefix segfaults
5348  708042 gapplication: don't rely on cmdline being finalized immediately
5349  708265 add support for GNU/Hurd in GLib D-Bus Library
5350  708266 fix error code checks when SOCK_CLOEXEC is defined but not supported
5351  708529 xdgmime: valgrind warns about invalid reads
5352  708677 incorrect object path 'deskop' used in gio/gdbusobjectmanagerclient.c
5353  708714 Typo in docs of GLIB_VERSION_2_40 macro.
5354  708753 gdesktopappinfo: Call g_file_get_path() on demand
5355  708793 glib build fails with clang < 3.1: error: expected ';' after top level declarator
5356  708828 GDBusProxy: add the ability to call methods on non autostarted proxies
5357  708860 glib-2.38.0 doesn't build on Solaris 10
5358  708972 gnetworking.h in tarball screws up out-of-source builds
5359  709113 [PATCH] Main loop dispatch path has needless linked list
5360  709227 Update to unicode 6.3.0
5361  709301 goutputstream: Add clear warning about short writes to _write_bytes() and async version
5362  709326 GDesktopAppInfo crashes creating a DBusActivatable app without a filename
5363  709440 Fix overloading of "source" and "target" terminology in GBinding
5364  709615 Cannot use g_test_expect_message with g_error
5365  709753 Add helpers for string matches when using GtkSearchBar-like widget
5366  709898 Expose thumbnail validity in GFile attributes
5367  709966 Remove outdated documentation
5368  709994 Minor fix for HACKERS doc to direct hackers to proper help file
5369  709995 Obsolete makefile rules
5370  710002 G_MAXUINT may be assigned as duplicate source id
5371  710313 Memory leak in g_key_file_get_(u)int64 with invalid integer values
5372  710345 [Patches] Fix some redundant-decls
5373  710496 g_locale_to/from_utf8() doc updated.
5374  710625 g_file_error_from_errno: Remove unneeded breaks
5375  710666 Frame clock related bug fixes
5376  710724 gmain: Warn when g_source_remove() fails
5377  710726 Work around D-Bus bug with path_namespace='/' match rules
5378
5379 Translations:
5380  Assamese
5381  Brazilian Portuguese
5382  Indonesian
5383  Russian
5384  Tamil
5385  Traditional Chinese
5386
5387 What's new in Glib 2.38
5388 ========================
5389
5390  * Application support
5391
5392   - GIO now provides an implementation of Desktop Actions from the
5393     desktop entry specification
5394
5395   - GApplication now implements the org.freedesktop.Application
5396     interface as per the desktop entry specification, allowing for
5397     standards-based D-Bus launching of GLib-based applications
5398
5399   - GDesktopAppInfo now supports DBusActivatable as per the desktop
5400     entry specification, allowing GLib-based applications to use D-Bus
5401     to launch other applications
5402
5403   - GApplication now has a "busy" flag that can be set on an application
5404     to allow the shell to show that it is busy
5405
5406  * GObject
5407
5408   - the private offset for a given class type is now always constant.
5409     This was done by reorganising the memory layout of instances so that
5410     the private data comes before the "official" pointer for the object
5411     (ie: at a negative offset).  Valgrind macros were added to mitigate
5412     any problems that this may have caused.
5413
5414   - a new G_DEFINE_TYPE_WITH_PRIVATE has been added along with a
5415     generated function *_get_instance_private() that can now serve as an
5416     equally-performing alternative to ->priv pointers in instances
5417     (allowing memory savings)
5418
5419   - new G_PRIVATE_FIELD, G_PRIVATE_FIELD_P and G_PRIVATE_OFFSET macros
5420     provide a convenient method of converting between named variables in
5421     private structures and their (now constant) offsets
5422
5423   - installing properties on a GObjectClass must now be done from
5424     class_init.  It is no longer valid to install them after class_init
5425     has returned.
5426
5427   - it is now possible to manually break a GObject property binding
5428     without destroying one of the objects involved
5429
5430  * Icons
5431
5432   - the requirements for implementing the GIcon interface have changed
5433     in order to make it possible to consume all implementations of GIcon
5434     with a finite number of cases
5435
5436   - a new GBytesIcon type was added for an icon represented by an
5437     in-memory binary blob in a known image format (ideally png).
5438
5439   - new APIs g_icon_serialize() and g_icon_deserialize() replace the old
5440     to/from_string APIs and will always work, irrespective of which
5441     types have been initialised in the calling process, allowing for a
5442     serialised GdkPixbuf to be deserialised in a process that doesn't
5443     have GdkPixbuf
5444
5445   - support for icons has been added to GMenuModel using the new APIs
5446
5447  * Actions and menus
5448
5449   - GPropertyAction provides a convenient way of creating a stateful
5450     property corresponding to a property on a GObject, such as the
5451     "visible-child-name" property of a GtkStack
5452
5453   - new API g_menu_remove_all()
5454
5455   - we now have established rules about what is a "valid" action name
5456     and an API to check them
5457
5458   - a new API for converting detailed action names to and from the
5459     split-out name and parameter value (as GVariant)
5460
5461   - for backwards compatibility, invalid action names can still be used
5462     with most functions, but this is not recommended
5463
5464  * Other GIO
5465
5466   - GDBus now supports services that wish to handle some of all
5467     properties on an interface asynchronously, without requiring the
5468     service to reimplement the entire org.freedesktop.DBus.Properties
5469     interface
5470
5471   - GFile now has a new _measure_disk_usage() (and async) API for
5472     recursively determining the amount of disk space used by a
5473     particular directory (akin to 'du').
5474
5475   - asynchronous version of g_file_trash() and g_file_make_directory()
5476     have been added
5477
5478  * Other new API
5479
5480   - GRegex has a new function to query the maximum lookbehind length to
5481     allow for regexp matching on streams
5482
5483   - GVariant has two new APIs for constructing strings that allow
5484     avoiding copies in some cases: g_variant_new_take_string() and
5485     g_variant_new_printf()
5486
5487  * Testing
5488
5489   - we can now generate TAP output
5490
5491   - new support functions for simplifying the process of dealing with
5492     data files for srcdir != builddir and installed test cases
5493
5494   - g_test_trap_subprocess() provides a portable alternative to
5495     g_test_trap_fork()
5496
5497  * Other
5498
5499   - GLib now builds on Android against the bionic C library
5500
5501 Overview of changes from GLib 2.37.93 to 2.38.0
5502 ================================================
5503
5504 * fix the documentation for GSourceFuncs
5505
5506 * fix compilation on OS X/ppc64
5507
5508 Bugs fixed: 708445, 647145
5509
5510 Translations updated:
5511  Danish
5512  French
5513  Portuguese
5514  Punjabi
5515
5516 Overview of changes from GLib 2.37.92 to 2.37.93
5517 ================================================
5518
5519 * a couple of bugfixes in the new g_file_measure_disk_usage() API
5520
5521 * updated Traditional Chinese translation
5522
5523 Overview of changes from GLib 2.37.7 to 2.37.92
5524 ===============================================
5525
5526 * new API g_file_measure_disk_usage() similar to du(1)
5527
5528 * minor fixes
5529
5530 * Translation updates:
5531  Assamese
5532  Belarusian
5533  Brazilian Portuguese
5534  Catalan
5535  Czech
5536  Galician
5537  German
5538  Hungarian
5539  Indonesian
5540  Italian
5541  Korean
5542  Korean
5543  Latvian
5544  Lithuanian
5545  Polish
5546  Serbian
5547  Slovenian
5548  Spanish
5549
5550 Overview of changes from GLib 2.37.6 to 2.37.7
5551 ==============================================
5552
5553 * GDateTime now supports %:z formatting variations
5554   for timezones. This is a GNU date extension.
5555
5556 * Bugs fixed:
5557  685387 Segfault with GObject.signal_handler_is_connected()...
5558  686786 g_socket_get_available_bytes() returns wrong value ...
5559  705027 GSocket GSource not threadsafe on Windows
5560  706469 Fix G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE documentation
5561  706706 Fix Gir annotations on g_loadable_icon_load_finish
5562  706888 gtype: fix a no-op assertion
5563  706958 configure.ac: fix atomic opts detection
5564  707092 "File Utilities" page for GLib documentation doesn'...
5565  707151 gdatetime: Extend the '%z' timezone format
5566
5567 * Translation updates:
5568  Catalan
5569  Hungarian
5570  Japanese
5571  Polish
5572  Slovak
5573  Tamil
5574
5575
5576 Overview of changes from GLib 2.37.5 to 2.37.6
5577 ==============================================
5578
5579 * Tests using the g_test facilities can now generate TAP output
5580
5581 * Bugs fixed:
5582  680926 generic type fallback logic is broken for -symbolic
5583  684327 setting null icon to icon list
5584  689245 GSocket unable to reuse (address,port) on Mac OS X
5585  692125 Support TAP as GTest output format
5586  693335 build: fix dtrace-related warnings
5587  696633 gdbus-codegen trips over unicode chars when using python 3.x
5588  696970 Compiling 2.36.0 for win64 fails
5589  697185 GSocket – Allow specifying the multicast interface from...
5590  700268 Add support for using the clang analyzer
5591  701318 Add G_SPAWN_DEFAULT to GSpawnFlags
5592  701529 glib/tests/gdatetime: use UTC time in test_GDateTime_diff()
5593  701800 a new approach to reporting critical errors
5594  702674 g_date_time_new_utc crash
5595  704165 GLib.IOChannel read_unichar() fails
5596  705075 Simplify g_get_tmp_dir()
5597  705152 Race in glib/task.test
5598  705398 gtype: Fix typo in g_type_class_add_private() error message
5599  705570 Check ref_count in g_object_notify_by_pspec
5600  705600 Deprecate GSimpleActionGroup functions?
5601
5602 * Updated translations:
5603  Assamese
5604  Brazilian Portuguese
5605  Czech
5606  Dutch
5607  Galician
5608  Gujarati
5609  Hebrew
5610  Italian
5611  Lithuanian
5612  Marathi
5613  Norwegian bokmål
5614  Russian
5615  Slovenian
5616  Spanish
5617  Thai
5618  Traditional Chinese
5619
5620
5621 Overview of changes from GLib 2.37.4 to 2.37.5
5622 ==============================================
5623
5624 * Implement the Desktop Action specification: In the case that the
5625   application is a GApplication and DBusActivatable, actions from the
5626   desktop file are translated into GActions that have been added to
5627   the  application with g_action_map_add_action().
5628
5629 * GPropertyAction is a new type of GAction that represents the value
5630   of a property on an object, and allows to change the value when
5631   activated.
5632
5633 * GNetworkMonitorNetlink can now handle default routes via a device.
5634
5635 * The gsettings tool now reports failure to write a key (e.g. because
5636   the key was locked down)
5637
5638 * Miscellaneous new api:
5639  - g_variant_new_printf
5640  - g_action_print_detailed_name
5641  - g_regex_get_max_lookbehind
5642
5643 * Bugs fixed:
5644  664444 Support additional application actions in .desktop files
5645  684123 glib build only tries -D_GNU_SOURCE if glibc is detected
5646  689794 support incremental matching
5647  699259 add org.freedesktop.Application support to GIO
5648  700460 rewrite tests to not rely on precise timing of timeouts
5649  701511 updates to various GSource types
5650  701609 gnetworkmonitornetlink: handle default route via device
5651  703270 add GPropertyAction
5652  704157 GAction: add function for printing detailed names
5653  704250 Doc: various fixes
5654  704267 regression gsourceclosure: segfault in gedit file chooser
5655  704322 glib-unix: fix handling of multiple signal source for the...
5656  704424 No error when failing to override a locked key
5657  704447 Fix build/use of g_child_watch_closure_callback on Windows
5658  704523 g_thread_create_full() can dereference NULL pointer
5659  704543 Add implementations for G_GNUC_*_IGNORE_DEPRECATIONS for ...
5660  704567 gdbusnameowning: Don't spew an error if we're releasing a...
5661  704585 libc printf can give mixed-case strings for NaN and Inf
5662  704587 FTBFS: statfs_result is undeclared for statvfs()
5663  704699 gmain: Reset signal handlers to default when source is
5664  704704 AI_NUMERICSERV cannot be used with ai_socktype = 0
5665  704873 inotify: don't assume mainloop is running
5666  704999 glib/convert.test crashing due to lack of iconv cache
5667  704931 GMenuModel: add annotations to virtual functions
5668
5669 * Translation updates:
5670  Assamese
5671  Czech
5672  German
5673  Gujarati
5674  Spanish
5675  Tamil
5676
5677
5678 Overview of changes from GLib 2.37.3 to 2.37.4
5679 ==============================================
5680
5681 * Bugs fixed:
5682  701283 g_source_add_child_source() segfault
5683  702147 inconsistency of G_STRFUNC
5684  703191 new private macros interact poorly with versioning macros
5685  703254 Doc: various fixes
5686  703407 g_spawn_async() keeps child_pid_report_pipe open in child process
5687  703437 GDBusConnection: be more careful with async GetAll
5688  703478 Missing G_BEGIN/END_DECLS in gsettingsschema.h
5689
5690 * Translation updates:
5691  Catalan
5692
5693 Overview of changes from GLib 2.37.2 to 2.37.3
5694 ==============================================
5695
5696 * add a new API for instance private data: G_DEFINE_TYPE_WITH_PRIVATE
5697
5698 * fix timestamps in tarball to prevent automake from being required to
5699   build the unmodified source
5700
5701 * add new D-Bus API for async property handling
5702
5703 * add back fsync() on ext4 for g_file_set_contents() after it was
5704   discovered that despite statements in the ext4 documentation
5705   suggesting that this is safe, it is not safe.
5706
5707 * Translations:
5708  Italian
5709  Norwegian bokmål
5710
5711 * Bugs fixed:
5712  698375 - D-Bus async properties
5713  700350 - timestamp issue
5714  701560 - fsync issue (fixed again)
5715  700035 - new API for instance private data
5716
5717 Overview of changes from GLib 2.37.1 to 2.37.2
5718 ==============================================
5719
5720 * The GLib test utilities have grown some file-related APIs
5721   to support tests that can be used installed and uninstalled.
5722
5723 * Installing properties after class initialization is deprecated,
5724   and will trigger a warning.
5725
5726 * GApplication:
5727  - Support org.freedesktop.Application, including D-Bus activation
5728    from desktop files
5729  - Set prgname to appid for services
5730
5731 * Bugs fixed:
5732  549783 gtester lacks framework for tests with data files
5733  692848 Fix property example in gobject tutorial
5734  698018 Add an explicit g_binding_release()
5735  698614 GObject: prevent installing properties after init
5736  699259 add org.freedesktop.Application support to GIO
5737  699959 g_file_copy(): Ensure we create private files by default
5738  700123 Test failure: g_inet_socket_address_get_scope_id
5739  700725 GIcon: NULLify the `type' out param in the sync methods too
5740  701401 gtest: add function for testing for WINE
5741  701456 Error in gnome/glib/gio/tests/file.c
5742  701474 Error building glibmm due to extra comma in glib/gtestutils.h
5743  701560 various improvements for g_file_set_contents()
5744  701680 GFileEnumerator: Add some documentation about ordering
5745  701878 Check wakeup() before iteration(TRUE) doesn't block
5746
5747 * Translations:
5748  Assamese
5749  Czech
5750  Galician
5751  Gujarati
5752  Kannada
5753  Marathi
5754  Odia
5755  Polish
5756  Slovenian
5757  Spanish
5758  Telugu
5759
5760
5761 Overview of changes from GLib 2.37.0 to 2.37.1
5762 ==============================================
5763
5764  * add support for installed tests:
5765    https://live.gnome.org/GnomeGoals/InstalledTests
5766
5767  * add a new g_test_trap_subprocess() that works on Windows as a
5768    replacement for the (now deprecated) g_test_trap_fork()
5769
5770  * support for explicitly cancelling a gobject property binding
5771
5772  * performance improvements for signal argument handling
5773
5774  * stop using `quotes' in very many log messages generated by GLib, for
5775    favour of 'this style'.  This may cause testcases in other packages
5776    to fail if they were matching on the previous text.
5777
5778  * improve manpages: add missing arguments and flags
5779
5780 Translations: 
5781  Aragonese
5782  Assamese
5783  Gujarati
5784  Hindi
5785  Kannada
5786  Norwegian bokmål
5787  Odia
5788  Slovenian
5789  Spanish
5790  Tamil
5791  Telugu
5792
5793 Bugs fixed:
5794  679683 replace g_test_trap_fork()
5795  694380 Improve signal argument collection performance
5796  695233 Strings require plural forms
5797  697849 spelling fixes in cross.xml and running.xml
5798  698877 GProxyAddressEnumerator calls g_network_address_parse_uri without port
5799  698981 [PATCH] test /gdbus/connection/large_message could hang forever
5800  699079 Prototype support for installed tests
5801  699485 [PATCH] tests/mappedfile: Also handle ENOMEM
5802  699493 SOCKS5 proxy code crashes if it cannot authenticate
5803  699500 gbitlock: fix this to not unconditionally use futex emulation
5804  699779 [PATCH] G_GNUC_FORMAT: documentation error
5805  700263 m4macros/glib-gettext.m4: Don't use AC_HEADER_STDC
5806  700714 [PATCH] gtestutils: Ensure test subprocesses don't dump core
5807  700746 Use 'dumb quotes' rather than `really dumb quotes'
5808
5809 Overview of changes fron GLib 2.36.0 to 2.37.0
5810 ==============================================
5811
5812 * The syntax for detailed action names has been documented,
5813   and a parser API for them is now provided
5814
5815 * GApplication has gained a busy state. This feature is intended for
5816   clients that want to signal a desktop shell their busy state, for
5817   instance because a long-running operation is pending.
5818
5819 * GLib can now be built with the bionic C library
5820
5821 * GIcon can now be serialized to a GVariant
5822
5823 * Bugs fixed:
5824  548353 Finish implementing GFile interface (mostly asynchron...
5825  645881 Full port of glib-2.28.1 onto Android-ARM
5826  665445 Glib mistakes nl_langinfo() from plibc for the real t...
5827  672018 Need API to set global application state (busy, count...
5828  687659 drop support for adding interfaces after class_init
5829  688820 GIcon is a bad interface
5830  688954 extend 'detailed action' syntax, provide parser
5831  689223 Fix compilation on Android with the bionic C library
5832  695156 Add support for arg0namespace matching in signal_subs...
5833  696108 gdbus-codegen: avoid warnings in generated code
5834  696629 fix sed(1) usage
5835  696652 GTask won't free its error member variable on finalize
5836  696857 GThreadedResolver: set an error if no records could b...
5837  696973 Compiling 2.36.0 for win64 fails in gdbusmessage.c
5838  697131 No --version
5839  697160 [PATCH] gmacros: Mark G_UNAVAILABLE() functions as de...
5840  697229 Custom Interface implementations will be broken with ...
5841  697250 Documentation glitch of G_DEFINE_TYPE_EXTENDED causes...
5842  697365 Fix usage of hasmntopt in gunixmounts.c
5843  697367 Remove warning on gio/gunixmounts.c
5844  697386 Except const argument with atomic is not lock free
5845  697595 g_main_context_unref unlocks a mutex twice
5846  697601 reduce GMenuModel D-Bus traffic
5847  697626 Allow posix threads to be used on w32
5848  697652 Help options generated even when help disabled
5849  697771 fix a typo of "fo" to "of" in building.xml
5850  697887 GVariant: fix transfer annotation
5851  697942 abicheck.sh fails on mips
5852  698056 rewrite g_object_new()
5853  698081 Pidgin hangs in g_spawn_command_line_sync
5854  698455 GVariant: add new g_variant_new_take_string() API
5855  698457 g_variant_get_data_as_bytes() always returns toplevel...
5856  698478 gactionmap: don't require GActionGroup
5857  698595 the valgrind/priv-before-instance bug
5858  698655 desktop-app-info test relies on true being in /usr/bin/
5859  698686 GUnixSocketAddress: fix construct parameter issue
5860  698716 Use of g_mem_set_vtable() breaks after gobject automa...
5861  698999 bytesicon: fix a memory leak
5862  699001 bytesicon: don't use g_object_unref() on GBytes
5863  699361 gio: fix small leak
5864
5865 * Translation updates:
5866  Assamese
5867  Gujarati
5868  Hungarian
5869  Italian
5870  Kannada
5871  Norwegian bokmål
5872  Polish
5873  Spanish
5874  Tamil
5875
5876
5877 Overview of changes fron GLib 2.35.9 to 2.36.0
5878 ==============================================
5879
5880 * It is no longer necessary to call g_type_init().  If you are
5881   loading GLib as a dynamic module, you should be careful to avoid
5882   unloading it, then subsequently loading it again.  This never
5883   really worked before, but it is now explicitly undefined behavior.
5884   Note that if g_type_init() was the only explicit use of a GObject
5885   API and you are using linker flags such as --no-add-needed, then
5886   you may have to artificially use some GObject call to keep the
5887   linker from optimizing away -lgobject. We recommend to use
5888   g_type_ensure (G_TYPE_OBJECT) for this purpose.
5889
5890 * This release contains an incompatible change to the g_get_home_dir()
5891   function.  Previously, this function would effectively ignore the HOME
5892   environment variable and always return the value from /etc/password.
5893   As of this version, the HOME variable is used if it is set and the
5894   value from /etc/passwd is only used as a fallback.
5895
5896 * The 'flowinfo' and 'scope_id' fields of GInetSocketAddress
5897   (introduced in GLib 2.32) have been fixed to be in host byte order
5898   rather than network byte order. This is an incompatible change, but
5899   the previous behavior was clearly broken, so it seems unlikely that
5900   anyone was using it.
5901
5902 This release contains only small bugfixes and translations updates.
5903
5904  - g_file_copy(): fix bug where attributes were not applied properly to
5905    the destination file
5906
5907  - fix some 'available since' annotations
5908
5909  - fix gdbus-codegen to produce more pedantically-correct code
5910
5911 * Bugs fixed:
5912  696108 gdbus-codegen: avoid warnings in generated code
5913  696014 g_file_copy(): Ensure G_FILE_COPY_OVERWRITE preserves permissions
5914
5915 * Translations updated:
5916  Basque
5917  Czech
5918  Gujarati
5919  Hindi
5920  Hungarian
5921  Japanese
5922  Malayalam
5923  Marathi
5924  Odia
5925  Punjabi
5926  Russian
5927  Tadjik
5928  Tamil
5929  Telugu
5930
5931 Overview of changes from GLib 2.35.8 to 2.35.9
5932 ==============================================
5933
5934 This release drops the old codepage ABI from gutils.c. This is a
5935 source-compatible change and only breaks ABI with respect to truly
5936 ancient binaries (and those binaries are already broken for other
5937 reasons).  This change only affects Windows.
5938
5939 * Bugs fixed:
5940  682896 glib doesn't build on mingw32
5941  693204 split up g_get_{hostname,username,realname,home_dir} etc.
5942  694181 Handle GNetworkAddress better in g_network_monitor_base_...
5943  694253 occasional /gdbus/unref-pending test failure
5944  694350 Add type names to gsignal warnings
5945  694757 Use separate GLIB_WARN_CFLAGS that can be overridden ext...
5946  568405 Which is the correct replacement for g_strncasecmp, if...
5947  630284 g_hash_table_get_keys docs
5948  659428 docs: Small clean-up of howto subsection headers
5949  675333 Cannot forget association in Open With dialog: program...
5950  694669 consider unicode corrigendum #9
5951  694843 g_base64_decode_step () produces invalid data
5952  695147 Don't use PATH_MAX as it's not guaranteed to be defined
5953  695191 Commit f641699 broke /appinfo/mime/api test case
5954  695339 Swapped msgid plural forms for translation
5955  695376 GDBusMethodInvocation leak and potential crash
5956  695425 Untranslatable message in gsettings-tool
5957  695887 Improvements to GObject API documentation
5958  695925 GUINT32/64_SWAP_LE_BE macros do not enclose val argume...
5959  696015 PATCH Add doc warning to g_base64_decode()
5960
5961 * Translation updates:
5962  Assamese
5963  Belarusian
5964  Brazilian Portuguese
5965  Catalan
5966  Catalan (Valencian)
5967  Danish
5968  French
5969  Galician
5970  German
5971  Greek
5972  Gujarati
5973  Italian
5974  Korean
5975  Latvian
5976  Lithuanian
5977  Polish
5978  Portuguese
5979  Punjabi
5980  Serbian
5981  Simplified Chinese
5982  Slovak
5983  Slovenian
5984  Spanish
5985  Thai
5986  Traditional Chinese
5987  Uyghur
5988  Vietnamese
5989
5990
5991 Overview of changes from GLib 2.35.7 to 2.35.8
5992 ==============================================
5993
5994 This release contains one major change that may cause problems: type
5995 modules are now never unloaded.  This is implemented by (effectively)
5996 leaking the last reference on dynamic types.  Some testcases that check
5997 for unloading of types have been observed to be broken by this change,
5998 but we know of no actual cases of "real code" breaking.  Please report
5999 any problems.
6000
6001 Other changes:
6002  * A couple of build fixes for Solaris
6003  * Fix signal emission for GDBusObjectManagerClient
6004  * annotations fixes
6005  * new API: g_dbus_address_escape_value()
6006  * GSocketClient: add proxy-resolver property
6007  * GSimpleProxyResolver: new simple GProxyResolver class
6008  * documentation fixes
6009  * gnetworkaddress: preserve IPv6 scope ID in IP literals
6010
6011 Bugs fixed:
6012  691105 Allow GSocketClient to override GProxyResolver for per client proxy settings.
6013  692827 configure test fails for arpa_nameser.h
6014  692829 new Btrfs support causes build failure on Solaris
6015  693285 GDBusObjectManagerClient: won't emit object-added|removed if name-owner arrives later
6016  693502 Cross-compiling documentation: typo (np -> no)
6017  693673 add g_dbus_address_escape_value()
6018  693694 gio: Fix annotations on g_[async_]initable_new() and friends 
6019
6020 Translations:
6021  Dutch
6022  Galician
6023  Polish
6024  Serbian
6025
6026 Overview of changes from GLib 2.35.6 to 2.35.7
6027 ==============================================
6028
6029 This is a quick follow-up release with a few bug fixes.
6030
6031 * Fix the build on systems with strict linkers by adding -pthread back
6032   to the LDFLAGS for a testcase.
6033
6034 * Re-enable native atomic operations on some buggy versions of clang
6035   that ship as part of the MacOS X SDK.
6036
6037 * Make G_IO_FLAG_IS_WRITEABLE an enum again (the #define broke bindings)
6038
6039 * a small docs fix
6040
6041 * Bugs fixed:
6042  657045
6043  636683
6044  682818
6045  693105
6046
6047 * Translations:
6048  Italian
6049
6050 Overview of changes from GLib 2.35.4 to 2.35.6
6051 ==============================================
6052
6053 * GUnixFdSource is a new way to add file descriptors
6054   to the mainloop
6055
6056 * g_source_set_ready_time lets you mark a source to become
6057   ready at a specified monotonic time
6058
6059 * The internal visibility handling of GLib has been reworked
6060
6061 * GFileMonitor will now automatically use fam instead of inotify
6062   if $HOME is on NFS
6063
6064 * The file monitor implementation can now be overridden with
6065   the GIO_USE_FILE_MONITOR environment variable
6066
6067 * Bugs fixed:
6068  570572 2 make check errors on
6069  592211 No monitoring over NFS mounts
6070  625552 wrong behaviour of GVolume GVolumeMonitor related func...
6071  657729 modernise GMainLoop
6072  658020 GSource for a single GPollFD
6073  678223 g_mutex_free
6074  682560 leak fixes
6075  682819 EINTR-harden all the things
6076  684404 When using g_network_address_address_enumerator_next()...
6077  686853 new GSource fd API
6078  688169 G_DISABLE_DEPRECATED doesn't cover deprecated/gthread....
6079  688681 build: Make .symbols file canonical on all platforms
6080  690118 Crash when closing last tab of a window using Ctrl-w
6081  691624 glib/gtester.c: missing include
6082  691812 gioinputstream - give task as callback_data not task_data
6083  691866 fails out of source build directory - gnetwork.h not f...
6084  692029 Add new API checking utility
6085  692034 Install an invalidation notifier for GClosure in g_sou...
6086  692058 Broken makefile for gio tests
6087  692079 build failure in gmarkup.c when using gcc 4.8 and buil...
6088  692201 inotify: fix a memleak
6089  692202 gfile: don't report completion twice on g_file_load_co...
6090  692229 Incorrect string formatters in a translation string
6091  692332 GNetworkMonitorNetlink: make the netlink socket cloexec
6092  692360 possibly non-threadsafe code in g_content_type_guess()?
6093  692404 tester: Use FD_CLOEXEC when creating pipes
6094  692408 nautilus SIGSEGV in g_file_info_get_size()
6095  692544 [PATCH] gfile: Ensure we create internal pipe with FD_C...
6096  692583 atomic get doesn't accept a const argument on architect...
6097  692618 Use g_timeout_add_seconds
6098  692815 Using g_hash_table_insert() when using a hash table as ...
6099  692865 Invalid docbook generated by gdbus-codegen
6100  692928 Document G_MENU_{ATTRIBUTE,LINK}_*
6101
6102 * Translation updates:
6103  Hebrew
6104  Kannada
6105  Lithuanian
6106  Norwegian bokmål
6107  Polish
6108  Serbian
6109  Slovenian
6110  Spanish
6111  Uyghur
6112
6113
6114 Overview of changes from GLib 2.35.3 to 2.35.4
6115 ==============================================
6116
6117 * New features:
6118  - New API: g_get_num_processors
6119  - New API: g_application_command_line_get_stdin
6120  - New GFileMonitor flag: G_FILE_MONITOR_WATCH_HARD_LINKS
6121  - Parse more timezone offset formats
6122  - Better timezone support on Windows
6123  - Make GParamSpec constructors introspectable
6124
6125 * Removed or deprecated features:
6126  - Disallow adding interfaces after class_init
6127
6128 * Bug fixes:
6129  532815 gio + inotify support for hardlinks
6130  614930 add g_get_num_processors (), return the max concurrent...
6131  626497 Btrfs clone/reflink ioctl support in g_local_file_copy
6132  633117 glib fails stests if /etc/localtime is not properly set
6133  661767 merge/improve various bits of run-in-thread functionality
6134  668210 Add g_application_command_line_get_stdin()
6135  675856 Use GDbus via gobject-introspection instead dbus-python
6136  684103 make glib work with python3
6137  684723 run-assert-msg-test.sh fails
6138  686058 OpenBSD: disable ipv6_v4mapped test
6139  686128 GTimeZone should be able to parse POSIX format for...
6140  687223 cleverer GThreadPool management
6141  687659 drop support for adding interfaces after class_init
6142  687920 GCredentials should have an accessor for the process ID
6143  688681 build: Make .symbols file canonical on all platforms
6144  688829 Variable overflow in utils.c test on 32-bit machine
6145  689324 Variable scoping in gunixmounts.c
6146  689810 Include guard optimization
6147  690043 Broken link for gsettings tutorial: gnome-utils in...
6148  690084 gmarkup: Make GMarkupParseContext a boxed type
6149  690388 Check if CMSG_FIRSTHDR() returns NULL when there is...
6150  690538 gschema DTD is invalid
6151  690543 Add test coverage for testing in-tree DBus services...
6152  690670 local_command_line not introspectable/annotated
6153  690902 G_END_DECLS needs to be at the end of gutils.h
6154  690970 Unhelpful deprecation message for g_value_array_get_nth
6155  691001 building docs is broken on master branch
6156  691011 Automake-1.13 errors on obsolete AM_PROG_CC_STDC
6157  691077 gio-querymodules crashes with SIGSEGV
6158  691110 g_cond_wait() docs incomplete
6159  691489 Crash in Oscars 2013 page
6160  691558 Only check for .hidden files if standard::is-hidden...
6161  691608 Support compilation with clang 3.2
6162
6163 * Translation updates:
6164  Assamese
6165  Bulgarian
6166  Estonian
6167  Galician
6168  Greek
6169  Hebrew
6170  Norwegian bokmål
6171  Polish
6172  Slovak
6173  Slovenian
6174  Spanish
6175  Tamil
6176
6177
6178 Overview of changes from GLib 2.35.2 to 2.35.3
6179 ==============================================
6180
6181 * This release contains an incompatible change to the g_get_home_dir()
6182  function. Previously, this function would effectively ignore the HOME
6183  environment variable and always return the value from /etc/password.
6184  As of this version, the HOME variable is used if it is set and the
6185  value from /etc/passwd is only used as a fallback.
6186
6187 * We now install a public "gnetworking.h" header that can be used to
6188  include the relevant OS-dependent networking headers. This does not
6189  really abstract away unix-vs-windows however; error codes, in
6190  particular, are incompatible.
6191
6192 * Bugs fixed in this release:
6193  142568 Allow $HOME to override passwd entry if the user really wants
6194  587806 The file selector should honor .hidden files
6195  602715 [GChecksum] Please add support for SHA512
6196  623187 provide some support for arbitrary setsockopt()s?
6197  629301 .goutputstream files left behind when cancelling I/O
6198  652650 Optimize GDBusMessage serialization
6199  664627 /gapplication/basic test intermittently fails: cmdline re-or...
6200  675516 Win32: Don't start a DBus server when built as static library
6201  679683 replace g_test_trap_fork()
6202  684145 Current Git sources fails to cross-compile for Windows in Li...
6203  686895 file-info: catch thumbnail files in large directory as well
6204  687092 IPv6 <-> IPv4 mismatch when subscribing to multicast (send)
6205  688180 GObject: Minor error in description of floating reference
6206  688319 gthread: add missing AVAILABLE_IN_2_32 annotations
6207  688377 configure: add missing square bracket in AS_IF for memmove
6208  688419 gtask: source_object arguments and return values not annota...
6209  688497 AppInfo: Add sufficient api to port gnome-session from Egg...
6210  688681 build: Make .symbols file canonical on all platforms
6211  688704 Add boxed GType for GThread
6212  688886 Improve the i18n documentation
6213  688931 GMemoryOutputStream: Add new _resizable() constructor usab...
6214  689037 need helper for creating a GFile from a remote commandline...
6215  689377 Fix a compiler warning in GDBus
6216  689538 Source object tag set too late in gsocketlistener
6217  689800 Treat lost+found directory as a hidden file
6218  689847 Add fast repeated typename -> GType resolver
6219  689982 Make GChecksum more fully introspectable
6220  690069 g_unix_open_pipe: Add missing F_SETFD
6221  690083 gfileenumerator: Add a g_file_enumerator_get_child method
6222  690163 Add a pre-configured gio/gnetworking.h for Visual C++ builds
6223  690346 Remove an unneeded escaping in NAMESER_COMPAT_INCLUDE
6224  690348 Fix g_type_add_class_private() name in g_warning
6225
6226 * Translation updates:
6227  Assamese
6228  Galician
6229  Hebrew
6230  Hindi
6231  Kannada
6232  Odia
6233  Polish
6234  Spanish
6235
6236
6237 Overview of changes from GLib 2.35.1 to 2.35.2
6238 ==============================================
6239
6240 Note that the incompatible change to the ->constructed() vfunc that was
6241 made in the last unstable release (2.35.1) has been reverted due to
6242 causing regressions in applications.
6243
6244 A new incompatible change has been introduced in this version: it is no
6245 longer permitted to add interfaces to a class after the first
6246 instantiation (or more strictly: after g_type_class_ref()).  Bug #687659
6247 is tracking this.
6248
6249 Two private symbols (g_menu_{attribute,link}_hash_iter_get_type) which
6250 were accidentally exported have also been properly hidden.  This may
6251 cause some tools to issue warnings about ABI mismatch.
6252
6253 The remaining changes should be relatively harmless: 
6254
6255  * GIO now has kqueue support for GFileMonitor (BSDs, Mac OS)
6256
6257  * New g_variant_new_from_bytes() API
6258
6259  * UNIX signal sources now allow watching SIGUSR1 and SIGUSR2
6260
6261  * Many pedantic cleanups to adhere to a higher level of -W use
6262
6263  * GTask changes to avoid a deadlock
6264
6265  * many cleanups/fixes for Windows
6266
6267  * Boxing for GPollFD, GIOChannel, GBytes, GByteArray
6268
6269  * Fix URL-encoding of trashed files
6270
6271  * Many other docs and annotations fixes
6272
6273 Translations:
6274
6275  Galician
6276  Gujarati
6277  Lithuanian
6278  Serbian
6279  Slovak
6280  Slovenian
6281
6282 Bugs closed:
6283
6284  649302 Add support for GNU/FreeBSD
6285  668842 [GSocket] Add caching for the sender address in g_socket_receive_from()
6286  672924 Add annotations for g_filename_from_uri()
6287  673229 glib: Use Returns:, not @returns
6288  677062 (partial) GVariant: Make g_variant_new_from_bytes() public, add more GBytes API
6289  686185 g_date_time_format Transcoding Fails on OSX      
6290  686191 g_mutex_get_impl() should use g_atomic_pointer_get()
6291  686797 Box GPollFD to make it introspectable
6292  686810 [regression] Infinite wait in g_task_run_in_thread_sync()
6293  686822 possible dlopen()/dlclose() issue with automatic g_type_init()
6294  686839 mkinstalldirs: Move to glib-mkinstalldirs
6295  686895 file-info: catch thumbnail files in large directory as well
6296  686898 g_unix_signal_source_new: Allow SIGUSR1 and SIGUSR2
6297  686920 gdbus: Allow GDBusObjectManagerClient to work on peer connections
6298  686921 Remove some of the repetition from gio/tests/Makefile.am
6299  687075 g_spawn_sync diagnostic incorrectly complains about SIGCHLD
6300  687089 g_dbus_connection_export_menu_model(): fix a crash
6301  687098 Repeated g_timeout_add* use can lead to guint overflow
6302  687385 Add some stricter CFLAGS, fix up the code
6303  687441 ABI break in master: g_menu_attribute_hash_iter_get_type, g_menu_link_hash_iter_get_type removed
6304  687516 typo in string: KB should be kB
6305  687540 In Trash folder, Nautilus misinterprets "\n" in filename as a line break
6306  687541 GSignalQuery param_types field needs array annotation
6307  687600 gfileutils.c performs invalid cast of (varargs) open to non-vararg type
6308  687698 plural forms needed
6309  687700 ending spaces
6310  687742 Add support for internal linkage to glib-compile-resources
6311  687801 tests/buffered-input-stream: Fix size of parameter passed
6312  688109 win32 warning/error fixes
6313  688255 'make check' regressed in 138f4c1 because GMarkup error messages changed
6314  688338 [PATCH] gobject/gtype.c: Fix spelling of »exceed«
6315  688370 GDBusError documentation improvement for client-side
6316  688378 g_socket_join_multicast_group not working
6317  688518 gio-kqueue: use O_EVTONLY on MacOS
6318
6319
6320
6321 Overview of changes from GLib 2.34.0 to 2.35.1
6322 ==============================================
6323
6324 These two changes in particular may be slightly incompatible.  Please
6325 give feedback if they cause trouble:
6326
6327   * Signal handlers connected with g_signal_connect_object() are now
6328     automatically disconnected on target object destruction
6329
6330   * The ->constructed vfunc is now called after all properties are set
6331
6332 The remaining changes should not cause problems.
6333
6334   * g_type_init() is no longer necessary and has been deprecated
6335
6336   * GTask (the new GAsyncResult implementation) has landed 
6337
6338   * GLib version macros updated
6339
6340   * Update to Unicode 6.2
6341
6342   * Thread safety fixes for GFileMonitor in non-default main contexts
6343
6344   * GTimeZone support for old-format zoneinfo database (as on Mac OS)
6345
6346   * g_settings_bind() now works with non-canonical property names
6347
6348   * Fix crashes related to NULL connection passed to
6349     GBusNameVanishedCallback and document this situation
6350
6351 * Bugs fixed:
6352  118536 Make g_signal_connect_object'ed handlers disconnect when the data object is destroyed
6353  661767 merge/improve various bits of run-in-thread functionality
6354  682950 GFileMonitor crashing on high event count when running in different thread
6355  683642 Missing g_content_type_get_symbolic_icon
6356  684882 Gsettings should spaw a warning when binding against a low_underscored_property
6357  684909 codegen: Explicitly close output
6358  684912 Update to Unicode 6.2
6359  685037 g_strcmp0: Returns shall include values less and greater than zero
6360  685069 Leak in glib-compile-resources
6361  685208 missing g_return_if_fail
6362  685608 [Patch] Port gio tests from pygobject to pygi
6363  685697 Documentation typo in g_dbus_interface_skeleton_has_connection()
6364  685733 Call ->constructed() after all properties are set
6365  685787 gtestdbus: correct documentation typos
6366  685995 Crash in g_menu_exporter_name_vanished
6367  686091 Invalid reads in g_bytes_unref_to_data
6368  686119 dtrace, gobject_probes.d, the last three probes - semicolon missing
6369  686161 Deprecate g_type_init()
6370  686231 GBusNameVanishedCallback: document NULL connection
6371  686458 slightly increase poll duration in test_timed_wait 
6372
6373 * Translations updated
6374   Catalan (Valencian)
6375   Czech
6376   Danish
6377   Italian
6378   Lithuanian
6379   Norwegian bokmål
6380   Slovenian
6381
6382 Overview of changes from GLib 2.33.14 to 2.34.0
6383 ===============================================
6384
6385 * GIO now looks for thumbnails in XDG_CACHE_HOME, following a
6386   recent alignment of the thumbnail spec with the basedir spec.
6387
6388 * The default values for GThreadPools max_unused_threads and
6389   max_idle_time settings have been changed to 2 and 15*1000,
6390   respectively.
6391
6392 * Bug fixes:
6393  654239 g_type_init()'s docs have no statement about how to...
6394  674620 Update GSettings migration guide for intltool updates
6395  676034 Fix doc annotation for g_ptr_array_ref()
6396  684278 Fix GIO build on Windows
6397
6398 * Translation updates:
6399  Brazilian Portuguese
6400  British English
6401  Bulgarian
6402  Catalan
6403  Galician
6404  German
6405  Hebrew
6406  Hindi
6407  Hungarian
6408  Kannada
6409  Latvian
6410  Marathi
6411  Spanish
6412  Telugu
6413
6414
6415 Overview of changes from GLib 2.33.12 to 2.33.14
6416 ================================================
6417
6418  * CVE-2012-3524: don't run dbus-launch from setuid binaries
6419
6420  * g_content_type_get_generic_icon_name():
6421      new API for getting the icon name for a mime type
6422
6423  * Introspection fixes:
6424   - GDBusConnection nullability fixes
6425   - give a box type to GTimeZone
6426
6427  * Drop GVFS_INOTIFY_DIAG
6428
6429  * Add a new "Writing GLib Applications" section to the reference
6430    documentation with general info on security, threads, etc.
6431
6432  * gwin32mount.c: Fix syntax error
6433
6434  * gresource tests: srcdir != builddir fixes
6435
6436  * tests/gvariant: Fix test on big endian architectures
6437
6438  * Fix regression in g_shell_parse_argv()
6439
6440 Bugs fixed:
6441  562907 g_shell_parse_argv() mishandles # (hash)
6442  683167 g_time_zone_new not introspectable
6443  683384 /gvariant/checksum-basic failure on big endian machines
6444  683641 Typo in gwin32mount.c
6445  683744 have a way to get the generic icon name for a mime type
6446
6447 Translation updates:
6448  Assamese
6449  Belarusian
6450  British English
6451  Czech
6452  Danish
6453  French
6454  Galician
6455  German
6456  Greek
6457  Hebrew
6458  Indonesian
6459  Indonesian
6460  Korean
6461  Lithuanian
6462  Marathi
6463  Marathi
6464  Polish
6465  Portuguese
6466  Punjabi
6467  Russian
6468  Serbian
6469  Slovenian
6470  Traditional Chinese
6471
6472 Overview of changes from GLib 2.33.10 to 2.33.12
6473 ================================================
6474
6475 * Add a G_DEFINE_QUARK macro
6476
6477 * Add symbolic icon support to drive, volume, and mount, file
6478   and content types
6479
6480 * Add API to allow thread-safe access to the same qdata item
6481
6482 * Bugs fixed:
6483  562907 g_shell_parse_argv() mishandles # (hash)
6484  627240 add G_DEFINE_QUARK
6485  672329 memory leaks in gutils.c and glib tests
6486  673012 Stable byte-level specification for normal form
6487  674805 gdbusproxy async test is broken
6488  679835 gvariant format string parsing (and assertions)...
6489  682075 gdbus: Fix double free and use after free of ob...
6490  682101 Provide a way to get a symbolic icon for a device
6491  682222 test_method_calls_on_proxy: assertion failed (e...
6492  682284 mount-op: use gint64 instead of guint64 for tim...
6493  682386 "make check" fails due to sys/resource.h not be...
6494  682560 leak fixes
6495  682586 gsettings-tool: make list-recursively really re...
6496  682819 EINTR-harden all the things
6497  682833 Handle EINTR for open()
6498  682849 drop the global lock for g_object_weak_ref
6499  682965 gdbus-tool: Check return value of strrchr()
6500  683088 gdbus-codegen: fix error when wrong interface n...
6501         Fix the build with gtk-doc-stub
6502         Don't crash if set_app_info is called before ad...
6503
6504 * Translation updates
6505  Assamese
6506  Galician
6507  Greek
6508  Indonesian
6509  Japanese
6510  Latvian
6511  Lithuanian
6512  Norwegian bokmål
6513  Polish
6514  Portuguese
6515  Punjabi
6516  Russian
6517  Spanish
6518  Traditional Chinese
6519  Vietnamese
6520
6521
6522 Overview of changes from GLib 2.33.8 to 2.33.10
6523 ===============================================
6524
6525 * New GTest API for testcases where log output is expected:
6526   g_test_expect_message()
6527
6528 * GMenuItem now has 'get' accessors and a construct-from-GMenuModel API
6529
6530 * GVariant now has a function to check a format-string for type
6531   compatibility
6532
6533 * win32: We now use overlapped IO to support multiple asynchronous
6534   operations (ie: reading and writing) at the same time.
6535
6536 * GMappedFile: Add g_mapped_file_get_bytes()
6537
6538 * The problems with g_file_make_directory_with_parents() should be
6539   resolved.
6540
6541 * The long-standing issues with placeholder generation of manpages are
6542   now resolved.
6543
6544 * gtlscertificate: Add GBytes based certificate and private-key props
6545
6546 * build: Switch back to using AS_IF for conditionals
6547
6548 * test coverage improvements, documentation improvements, leak fixes
6549
6550 * Bugs fixed
6551  326931 Better docs for G_GNUC_*
6552  550433 g_test_init doesn't recognize --help
6553  600751 GCompletion should better document if and how items memory is managed
6554  628193 Miscellaneous string fixes
6555  637460 man glib-genmarshal is hard to use
6556  674483 broken configure results when cross-compiling with gcc >= 4.5
6557  677065 GMappedFile: Add g_mapped_file_get_bytes()
6558  679288 win32: use overlapped events for streams
6559  679556 it's hard to use gtest when g_warning() is expected
6560  680823 g_file_make_directory_with_parents: Fix error propagation
6561  681319 gtlscertificate: Add certificate-bytes and private-key-bytes props
6562  681336 man pages not built if --enable-gtk-doc not specified
6563  681413 build: Switch back to using AS_IF for conditionals
6564  681501 gmem: array only partially filled with memcpy
6565  681854 Documentation fix for Howto compile a program with glib
6566  682025 Documentation correction
6567  682067 Fix problems with CLEANFILES and automake-1.11.1 
6568
6569 * Translations updated:
6570  Lithuanian
6571  Spanish
6572  Galician
6573  Telugu
6574  Serbian
6575  Assamese
6576  Marathi
6577  Indonesian
6578  Traditional Chinese
6579
6580 Overview of changes from GLib 2.33.6 to 2.33.8
6581 ==============================================
6582
6583 * GIO now has a g_file_delete_async function
6584
6585 * The defaults for GThreadPools max_unused_threads
6586   and max_idle_time values have been changed to
6587   2 and 15*1000, respectively.
6588
6589 * Bugs fixed:
6590  661767 merge/improve various bits of run-in-thread functionality
6591  680074 undefined symbol "get_C_locale"
6592  680121 g_cancellable_source_new: don't use a file descriptor
6593  680148 gthread: check for definition of PR_SET_NAME
6594  680310 Sorting of access points by strengh not working
6595  680704 g_utf8_strup() crash
6596  68076a0 GFile: Add g_file_delete_async()
6597  680787 Add .dir-locals.el to tell Emacs users not to use tabs...
6598  680823 g_file_make_directory_with_parents: Fix error propagation
6599  680994 STATIC_ASSERT in GDBusError docs don't have much utility
6600  681116 gtlscertificate: Add g_tls_certificate_equal() function
6601  681118 gtlsdatabase: Don't complain if no callbacks for async...
6602  669331 try to get gio tests working a little better on win32
6603  674314 Make gtk-doc not a hard dependency of GLib
6604  674800 gclosure: generic marshaller leaks return value
6605  675524 gsocket: FIONREAD undeclared (needs sys/filio.h)
6606  679509 use after free in g_dbus_action_group_describe_all_done()
6607  679996 gobject docs minor cleanup
6608  680459 Extra newline char in local implementation of g_applic...
6609  680505 object_path memory leak in gdbusobjectproxy.c
6610  680831 Deprecate and remove g_slice_[sg]et_config.*
6611  680912 gchecksum: Add g_compute_checksum_for_bytes()
6612  681151 checksum: Use functions instead of macros when buildin...
6613  681158 gtlscertificate: Don't confuse certificate and public ...
6614
6615 * Translation updates:
6616  Galician
6617  German
6618  Gujarati
6619  Hebrew
6620  Norwegian bokmål
6621  Serbian
6622  Slovenian
6623
6624
6625 Overview of changes from GLib 2.33.4 to 2.33.6
6626 ==============================================
6627
6628 * GAsyncInitable: partially revert the init_finish changes,
6629   some applications were found to rely on behaviour that
6630   was broken by these changes
6631
6632 * Bugs fixed:
6633  679617 win32: fix g_get_environ()
6634  679968 Add some annotations to GBytes, GVariantType...
6635  680111 GIOScheduler assumes GCancellable "cancelled...
6636
6637 * Translation updates:
6638  Spanish
6639
6640 Overview of changes from GLib 2.33.3 to 2.33.4
6641 ==============================================
6642
6643 * GMainContext: the source list has been reorganzied to
6644   avoid O(n) behaviour
6645
6646 * GRegex: Update included PCRE to 8.31 and expose new
6647   functionality in 8.x versions of PCRE
6648
6649 * GMountOperation gained a ::show-unmount-progress signal
6650   which provides information about slow unmount operations
6651
6652 * Bugs fixed:
6653  616892 gio: Add a boxed type for GFileAttributeMatcher
6654  619329 g_source_attach() O(n) in number of sources
6655  639771 g_dir_read_name() can also return NULL on error
6656  661767 merge/improve various bits of run-in-thread fun...
6657  667375 GAsyncInitable subclassing (and async subclassi...
6658  671545 Constify collect and lcopy strings in GTypeValu...
6659  674452 SEGFAULT in gio contenttype test
6660  674898 Deal with GLIB_VERSION_MIN_REQUIRED/MAX_ALLOWED...
6661  675504 Fix up GObject interface documentation
6662  677064 GString: Tweak documentation, add g_string_free...
6663  677578 error in PCRE error code conversion
6664  677579 update GRegexError for newer PCRE error codes
6665  678066 gdbus codegen does not work with python3
6666  678273 unicode othercasing is wrong in gregex
6667  678576 GIOScheduler performance enhancements
6668  678758 GTlsInteraction unlocks an unlocked mutex
6669  678808 GTestDBus issues
6670  678881 Test failures in /socket/timed_wait in some cas...
6671  678941 /contenttype/guess test case failure
6672  678944 gio returns the wrong default applications for ...
6673  678949 wrong definition of ulong_bool for 64 bit big e...
6674  678959 /mainloop/timeouts race condition: assertion fa...
6675  679193 update included pcre to 8.31
6676  679258 The 'Since' tag for G_SOURCE_CONTINUE and G_SOU...
6677  679473 Don't generate invalid property names
6678  679691 Add g_spawn_check_exit_status()
6679  679671 GDBusNodeInfo: the XML string must contain exac...
6680  676111 mount-operation: add show-unmount-progress signal
6681  679691 win32: fix build g_spawn_check_exit_status() wi...
6682  679813 Documentation bug on http://developer.gnome.org...
6683
6684 * Translation updates:
6685  Assamese
6686  Belarusian
6687  Bulgarian
6688  Galician
6689  Greek
6690  Norwegian bokmål
6691  Polish
6692  Spanish
6693  Traditional Chinese
6694  Vietnamese
6695
6696
6697 Overview of changes from GLib 2.33.2 to 2.33.3
6698 ==============================================
6699
6700 This release contains mostly bugfixes, cleanups and performance
6701 improvements (including many fixes contributed by Colin on the advice of
6702 Coverity).  There are a few notable externally-visible changes:
6703
6704 * Thumbnails are now in XDG_CACHE_HOME
6705
6706 * new GDBus API: per-thread g_dbus_connection_get_last_serial()
6707
6708 * GUnixOutputStream now has a can_poll() implementation
6709
6710 * New deep copy APIs for G(S)List: g_(s)list_copy_deep
6711
6712 * Bugs fixed:
6713  518309 Incorrect data*dir path in glib-gettextize output
6714  566994 Safer passing of -framework flag
6715  672889 GLib.utf8_validate does segfault
6716  673253 Not strict enough autconf test for libelf
6717  675024 adds g_list_copy_deep() and g_slist_copy_deep
6718  675168 prepare for thumbnails to move to XDG_CACHE_HOME
6719  675966 gresolver: More robust parsing of DNS responses
6720  676594 [Patch] fix g_reload_user_special_dirs_cache
6721  676825 Implement g_dbus_connection_get_last_serial ()
6722  677235 Clarify the comment at the top of gmarshal.list
6723  677527 OS X: gthread/spawn-async selftest failure
6724  677718 GDBusProxy: treat org.freedesktop.systemd1.Masked error as non-fatal
6725  677770 GUnixOutputStream does not implement can_poll
6726  677782 Install bash completion files in /usr/share
6727  677817 g_key_file_to_data adds extra blank lines in some cases
6728  677952 Missing annotation for GDBusConnection signal "closed"
6729  678052 g_wakeup_acknowledge is called too often.
6730  678273 unicode othercasing is wrong in gregex
6731  678333 gdbus-codegen code causes warnings under -Wfloat-equal
6732
6733 * Translations updated:
6734  Arabic
6735  Assamese
6736  Galecian
6737  Greek
6738  Spanish
6739  Telugu
6740
6741 Overview of changes from GLib 2.33.1 to 2.33.2
6742 ==============================================
6743
6744 * GLIB_VERSION_MIN_REQUIRED now defaults to the current stable version
6745
6746 * GIO input and output stream classes have grown GBytes-based methods
6747
6748 * GApplication now has hooks to register D-Bus objects before the bus
6749   name is taken
6750
6751 * Bugs fixed:
6752  605976 add g_type_ensure(), to ensure that a type has...
6753  660851 Breakage of code due to changes in the GThread...
6754  666386 Empathy doesn't open Redirect URI with particu...
6755  671139 need (transfer async) for io stream buffers
6756  672329 memory leaks in gutils.c and glib tests
6757  672548 g_utf8_validate: @str shouldn't end up annotat...
6758  674111 Provide an accessor for MimeType desktop entry...
6759  674483 broken configure results when cross-compiling ...
6760  674634 Add g_clear_pointer()
6761  674777 What's the (transfer) of g_variant_lookup()?
6762  675309 gkeyfile: Fix annotations for g_key_file_load_...
6763  675446 gfile: Plug memory leak in g_file_make_directo...
6764  675509 add extra dbus hooks
6765  675832 Incomplete gsettings bash auto-completion
6766  676208 The tmpl parameter to g_file_new_tmp can be NULL
6767  676265 GNetworkMonitor leaks a lot of memory
6768  676277 Document that g_app_info_create_from_commandli...
6769  676397 g_environ_* should work with NULL envp
6770  676398 g_spawn_* should take PATH from the passed env...
6771  676478 Broken gzip decoding
6772  676594 [Patch] fix g_reload_user_special_dirs_cache
6773  676816 Add more GLIB_AVAILABLE_IN_*
6774  676937 Document notify signal deduplication with free...
6775
6776 * Translation updates:
6777  Czech
6778  French
6779  German
6780  Greek
6781  Japanese
6782  Russian
6783  Slovenian
6784  Spanish
6785
6786
6787 Overview of changes from GLib 2.32.1 to 2.33.1
6788 ==============================================
6789
6790 * GApplication
6791  - can now have a NULL application ID
6792  - add accessors for determining dbus connection and object path
6793
6794 * g_clear_object: fix warnings when using it on C++ (due to lack of
6795   ability to implicitly cast void*)
6796 * add g_clear_pointer as a generic form of g_clear_object
6797
6798 * GDBus:
6799  - add our own implementation of the message bus for use on Windows only
6800  - fix up a few bugs that use of this bus uncovered in GDBus
6801  - escape nonce files in dbus addressess (think 'c:\')
6802  - support initial underscores in dbus codegen namespace (for private)
6803  - add GTestDBus for bringing up a session bus for testing purposes
6804  - gdbus-codegen: Avoid warnings in generated code
6805  - GDBusAuthObserver: Add a way to control what authentication mechanisms to use
6806  - 
6807
6808 * Fix misdetection of GNUstep as Cocoa (for the MacOS GSettings backend)
6809
6810 * make sure configure fails if AC_CHECK_ALIGNOF cannot detect the alignment
6811
6812 * GAppInfo
6813  - overwrite the DISPLAY only if it is set in the launch context
6814  - add accessor for StartupWMClass
6815
6816 * glib/tests/date: force US locale running the GDateTime tests
6817
6818 * Resources:
6819  - fix broken use of GVDB on big endian machines
6820  - set a 'display name' so that pretty file names appear in Gtk CSS
6821    warning messages
6822
6823 * GMainContext:
6824  - block child sources when blocking the parent
6825  - introduce more testcases for child sources
6826
6827 * GResolver: add support for MX, TXT, NS and SOA records
6828
6829 * GSocketControlMessage: Don't warn about unknown messages
6830
6831 * GIO:
6832  - implement GSeekable for the data and buffered stream classes
6833  - implement GPollable for many more classes as well
6834  - fix GConverterInputStream infinite loop when fill_buffer returns an error
6835  - fileinfo: document the correct type for trash::orig-path
6836
6837 * test coverage improvements and general fixes
6838
6839 * new 2.34 stuff: version macros, docs index section, etc.
6840
6841 * Build:
6842  - add --disable-modular-tests build option
6843  - don't require host binaries if tests are not enabled for cross-builds
6844
6845 * Translations updated
6846  Brazilian Portuguese
6847  Bulgarian
6848  Czech
6849  French
6850  Galician
6851  German
6852  Hebrew
6853  Hindi
6854  Italian
6855  Norwegian bokmål
6856  Polish
6857  Russian
6858  Russian
6859  Serbian
6860  Simplified Chinese
6861  Slovenian
6862  Spanish
6863  Telugu
6864
6865 Overview of changes from GLib 2.32.0 to 2.32.1
6866 ==============================================
6867
6868 * Bugs fixed:
6869  670254 glib-2.30.2: Fails /GDateTime/new_from_unix test
6870  672541 glib-compile-resources prepends --sourcedir to absolute paths
6871  673139 URL to mailing lists in README incorrect
6872  673174 g_input_stream_read[_finish]: document returning 0 on EOF
6873  673191 glib/gchecksum.c warning: dereferencing type-punned pointer...
6874  673216 [W32] gtestutils does not use path separators consistently
6875  673439 Properly deprecate g_value_{set,get}_char
6876  673612 Fails to decode dictionaries wrapped in two layers of array
6877  673803 gclosure: Support return values of GVariants
6878  669285 glib/tests/markup-parse fails under non-english locale
6879  673911 gio-2.0.pc lists full path to executables, breaking cross com..
6880  673762 gnextstepsettingsbackend.c:343: error: parse error before 'in'
6881
6882 * Updated translations:
6883  Belarusian
6884  British English
6885  Bulgarian
6886  Catalan
6887  Czech
6888  French
6889  German
6890  Hebrew
6891  Hindi
6892  Hungarian
6893  Italian
6894  Japanese
6895  Kannada
6896  Latvian
6897  Lithuanian
6898  Marathi
6899  Norwegian bokmål
6900  Odia
6901  Polish
6902  Serbian
6903  Slovenian
6904  Spanish
6905  Swedish
6906  Telugu
6907
6908
6909 Overview of changes from GLib 2.31.22 to 2.32.0
6910 ===============================================
6911
6912 * It is no longer necessary to use g_thread_init() or to link against
6913   libgthread.  libglib is now always thread-enabled. Custom thread
6914   system implementations are no longer supported (including errorcheck
6915   mutexes).
6916
6917 * The thread and synchronisation APIs have been updated.
6918   GMutex and GCond can be statically allocated without explicit
6919   initialisation, as can new types GRWLock and GRecMutex.  The
6920   GStatic_______ variants of these types have been deprecated.  GPrivate
6921   can also be statically allocated and has a nicer API (deprecating
6922   GStaticPrivate).  Finally, g_thread_create() has been replaced with a
6923   substantially simplified g_thread_new().
6924
6925 * The g_once_init_enter()/_leave() functions have been replaced with
6926   macros that allow for a pointer to any gsize-sized object, not just a
6927   gsize*.  The assertions to ensure that a pointer to a correctly-sized
6928   object is being used will not work with generic pointers (ie: (void*)
6929   and (gpointer) casts) which would have worked with the old version.
6930
6931 * It is now mandatory to include glib.h instead of individual headers.
6932
6933 * The -uninstalled variants of the pkg-config files have been dropped.
6934
6935 * For a long time, gobject-2.0.pc mistakenly declared a public
6936   dependency on gthread-2.0.pc (when the dependency should have been
6937   private).  This means that programs got away with calling
6938   g_thread_init() without explicitly listing gthread-2.0.pc among their
6939   dependencies.
6940
6941   gthread has now been removed as a gobject dependency, which will cause
6942   such programs to break.
6943
6944   The fix for this problem is either to declare an explicit dependency
6945   on gthread-2.0.pc (if you care about compatibility with older GLib
6946   versions) or to stop calling g_thread_init().
6947
6948 * g_debug() output is no longer enabled by default.  It can be enabled
6949   on a per-domain basis with the G_MESSAGES_DEBUG environment variable
6950   like
6951     G_MESSAGES_DEBUG=domain1,domain2
6952   or
6953     G_MESSAGES_DEBUG=all
6954
6955 * Bugs fixed:
6956  671988 Quickly registering / unregistering objects on bus...
6957  672095 glib needs stable sort function
6958  672406 glib/tests/include.c fails to build on FreeBSD
6959
6960 * Updated translations:
6961  Telugu
6962
6963
6964 Overview of changes from GLib 2.31.20 to 2.31.22
6965 ================================================
6966
6967 * Bugs fixed:
6968  531901 Use __builtin_bswap* for GUINT*_SWAP_LE_BE if building...
6969  653167 Out of tree build is broken on windows
6970  668973 Test /gvariant/parser fails on Solaris 10
6971  669797 gvfs now lists its fuse mounts
6972  670846 deadlock: GStreamer-WARNING **: wrong STREAM_LOCK count 0
6973  671664 gio-querymodules: unlink instead of writing empty cache
6974  671676 Glib can't be cross-compiled any more after merge of...
6975  671918 gnome-shell is inaccessible unless started while an AT...
6976  671942 GSocketMsgFlags: annotate as a flags
6977  671997 Unix signal handling assumes that volatile 1-byte writes...
6978  672013 GSimpleAsyncResult: support reliable cancellation
6979  672026 default log output should include pid and/or prgname
6980  672095 glib needs stable sort function
6981  672201 G_SPAWN_SEARCH_PATH should continue on ENODEV and ETIMEDOUT
6982  672239 request NO_REPLY from g_dbus_connection_call() with no as...
6983  672249 gdbusproxy leaks asyncresult in an error case instead of...
6984
6985 * Translation updates:
6986  Assamese
6987  British English
6988  Catalan
6989  Catalan (Valencian)
6990  Danish
6991  Esperanto
6992  Finnish
6993  French
6994  German
6995  Hungarian
6996  Korean
6997  Lithuanian
6998  Norwegian bokmål
6999  Polish
7000  Portuguese
7001  Russian
7002  Traditional Chinese
7003
7004
7005 Overview of changes from GLib 2.31.18 to 2.31.20
7006 ================================================
7007
7008 * Update to Unicode 6.1
7009
7010 * Update PCRE to 8.30
7011
7012 * Deprecations are now versioned, and new API is
7013   marked with the version it was introduced.
7014   Use these with GLIB_VERSION_{MIN,MAX}_REQUIRED
7015
7016 * The performance of signal emissions has been
7017   improved for simple cases
7018
7019 * Bugs fixed:
7020  529806 Cannot build in 64-bit Mac OS X due to libiconv
7021  580873 Documentation of register type functions incomplete
7022  592666 Document how to unset an attribute
7023  597785 g_type_class_add_private code snippet is a bad example
7024  621368 glib-2.24.1: FAIL: run-assert-msg-test.sh when updating...
7025  622149 --disable-regex breaks glib2 build
7026  639873 GBinding: Crash when binding two properties on the same...
7027  640202 For GLIB v. 2.23.6 and above: impossibility to build mu...
7028  668295 Need a way to classify GVolume instances
7029  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
7030  670542 Add version information for deprecations
7031  670557 gvaluetransform: Fix an infinite loop with GFlagsValue...
7032  670721 global variable for signal ID should be hidden
7033  670751 IceWM build fails due to the G_DEPRECATED_FOR macro
7034  670909 g_dbus_connection_call leaks when it receives an error...
7035  670922 Include path to gdbus-codegen in the pkgconfig file
7036  670969 GSequence lookup may fail if there was no sort prior to...
7037  671025 Constants and identifiers starting with a number are no...
7038  671270 make distclean failures
7039  671281 glib-compile-resources.xml is missing from the dist tar...
7040
7041 * Translation updates:
7042  Basque
7043  Belarusian
7044  Brazilian Portuguese
7045  Bulgarian
7046  Galician
7047  Hebrew
7048  Lithuanian
7049  Persian
7050  Punjabi
7051  Serbian
7052  Simplified Chinese
7053  Slovenian
7054  Telugu
7055  Traditional Chinese
7056  Uyghur
7057  Vietnamese
7058
7059
7060 Overview of changes from GLib 2.31.16 to 2.31.18
7061 ================================================
7062
7063 * GDBusProxy has now a flag, G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
7064   which can be set to make GDBus automatically reload
7065   changed properties even if the propertychanged signal
7066   does not contain the new values.
7067
7068 * GApplication puts non-unique applications on the bus
7069
7070 * GApplication now has g_application_quit()
7071
7072 * g_async_queue_timed_pop has been deprecated in favor of
7073   the new g_async_queue_timeout_pop, which uses relative
7074   delays in microseconds instead of a GTimeVal.
7075
7076 * a huge number of API documentation fixes
7077
7078 * Bugs fixed:
7079  647986 put non-unique apps on D-Bus
7080  658484 vpn connection vs NetworkSecretDialog
7081  664237 GDateTime falls back to UTC if TZ is set
7082  669329 gthread-win32: update for g_get_monotonic_time() changes
7083  669330 glocalfile: fix error code when opening a directory on win32
7084  669372 glib/tests memory leaks.
7085  669412 mem leak in g_environ_unsetenv
7086  669538 Fix compilation of glib-compile-resources.c on Windows
7087  669544 gdbus-codegen example introspection XML is not complete
7088  669595 glib-mkenums: fix handling of forward enum declarations
7089  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
7090  669671 gobject: use #pragmas to avoid deprecated function warnings
7091  669689 Retrieve cwd and environ in local GApplicationCommandLine
7092  669810 socket/win32: flush pending read before signaling HUP
7093  669865 g_regex_fetch()
7094  670085 memory leak in g_output_stream_write_async
7095  670138 gbytes.h is missing the G_BEGIN/END_DECL guards
7096  670485 Simplify session API (shared bug with gtk+)
7097
7098 * Updated translations:
7099  Belarusian
7100  Danish
7101  Galician
7102  Serbian
7103  Telugu
7104  Hebrew
7105
7106
7107 Overview of changes from GLib 2.31.14 to 2.31.16
7108 ================================================
7109
7110 * GResource:
7111  - The resource compiler can now convert pngs into
7112    pixel data that can be used without parsing at runtime
7113    (requires gdk-pixbuf-pixdata to be present)
7114
7115 * Bugs fixed:
7116  669123 resource compiler: failing to-pixdata should...
7117  669173 resource: fix xml preprocess entity handling
7118  669224 Cross-compilation broken by data-to-c
7119  669253 gsettings set buggy on array values
7120  669334 fix memory leak in bookmark file parser
7121
7122 * Translation updates:
7123  Norwegian bokmål
7124  Spanish
7125
7126
7127 Overview of changes from GLib 2.31.12 to 2.31.14
7128 ================================================
7129
7130 * GResource:
7131  - GLib now includes a commandline utility, gresource,
7132    to explore resources in ELF files
7133  - The resource compiler can now optionally strip
7134    ignorable whitespace from XML resources
7135  - The resource compiler can now generate build dependencies
7136  - The resource compiler will now autoselect output formats
7137
7138 * GApplication:
7139  - The menu markup parser API has been dropped, the
7140    menu XML support lives in GTK+ now
7141
7142 * GValueArray has been deprecated
7143
7144 * Bugs fixed:
7145  626258 N-ary Trees - 'nodes' can be inserted before and after...
7146  634232 Core Dump / Aborted using g_key_file_to_data
7147  639099 schema compiler chokes on valid schema
7148  667228 Deprecate GValueArray
7149  667243 Add an element clear function to GArray
7150  667929 glib-compile-resources: xml resources doesn't need to...
7151  668250 g_date_time_format() produces a non-UTF8 string
7152  668468 'IP_ADD_SOURCE_MEMBERSHIP' undeclared
7153  668532 resources: add dependency generator to the resource compiler
7154  668539 resources: compiler should autoselect output format...
7155  668561 gresource-tool not internationalized
7156  668572 glib_cv_g_atomic_lock_free config.cache setting not honored...
7157  668650 GRealArray->clear_func should be initialized
7158  668756 GKeyFile: allow loading from empty strings
7159  668857 fix couple of typos in comments
7160  669024 goption: implement platform_get_argv0() for OpenBSD
7161
7162 * Updated translations:
7163  Galician
7164  Norwegian bokmål
7165  Spanish
7166  Traditional Chinese
7167
7168 Overview of changes from GLib 2.31.10 to 2.31.12
7169 ================================================
7170
7171 * GApplication:
7172  - Drop support for exporting menus - this functionality
7173    will be provided in GtkApplication
7174  - Add a way to create actions that change settings
7175
7176 * Bugs fixed:
7177  629503 Add async versions of g_unix_connection_{receive,send}_credentials
7178  656301 glib-compile-schemas should not create an empty file
7179  668071 mingw-gcc build fails on gio/gsocket.[c|h]
7180  668118 the big appmenu switcheroo
7181  668158 base64 encode and line termination
7182  668163 GDBusConnection: note that exit-on-close is sometimes TRUE
7183  668269 gsignal: add g_signal_handlers_disconnect_by_data
7184  668279 create GAction from GSettings
7185
7186 * Translation updates:
7187  Norwegian bokmål
7188
7189
7190 Overview of changes from GLib 2.31.8 to 2.31.10
7191 ===============================================
7192
7193 * GResource:
7194  - A new facility to allow linking data files into binaries
7195    and make them available as resources
7196  - Resources are compiled using glib-compile-resources
7197  - GIO supports resource:/// uris to access resources
7198
7199 * Bugs fixed:
7200  619126 Missing dependency libs
7201  658315 g_key_file_get_keys() should set length to 0...
7202  660371 is it ever valid to have 0 as a GError domain?
7203  666700 Add some missing (allow-none) annotations
7204  667375 GAsyncInitable subclassing (and async subclassing...
7205  667447 Missing many introspection annotations
7206  667790 Protect call to pthread_condattr_setclock with define
7207  667938 wrong gtypes generated for empty flags enums
7208
7209 * Translation updates:
7210  Hebrew
7211  Spanish
7212
7213
7214 Overview of changes from GLib 2.31.6 to 2.31.8
7215 ==============================================
7216
7217 * GObject:
7218  - The type checks for overriding properties have been loosened.
7219    In particular, it is now possible to add the CONSTRUCT flag
7220    to an overridden property
7221  - GWeakRef is a new API for weak references; unlike g_object_weak_ref
7222    and g_object_add_weak_pointer, it is thread-safe.
7223
7224 * GHashTable has grown new convenience api for use as a set:
7225   g_hash_table_add, g_hash_table_contains
7226
7227 * GSocketConnection has gained API for managing connection status
7228
7229 * GSettings: a native OS X backend has been added, under the
7230   name 'nexstep'
7231
7232 * Bugs fixed
7233  455640 Something fishy with GRegex and unicode
7234  548954 weak references are not threadsafe
7235  625751 Add G_FILE_ATTRIBUTE_FILESYSTEM_USED
7236  658871 gbacktrace: g_get_prgname () isn't called for a NULL argu...
7237  664069 gvariant: Never break out of g_variant_iter_loop
7238  664830 g_strescape doesn't natively handle \v (vertical tab)
7239  665211 GDBusConnection singleton access can race with disposal
7240  665805 Add GSocketClient::action, for tracking socket client status
7241  666116 some tests provoke undefined behaviour, which is undesira...
7242  666422 Unreachable code in gio gnetworkmonitornetlink.c
7243  666551 Crash in g_thread_xp_SleepConditionVariableSRW
7244  666595 menu parser disallows id='' on submenu and section
7245  666615 loosen property override flag restrictions
7246  666616 gobject: fix property override type checks
7247  666803 g_utf8_validate() fails to validate strings with known size
7248  666804 g_ateaxit deprecation warning in devhelp points in wrong ...
7249  666951 g_mkdtemp: Since version incorrect in docs
7250  666978 Fails to compile glib applications with ISO C90 compiler
7251  667098 ginetaddressmask leaks its address property
7252  667225 GSocket: add missing type checks to public methods
7253  667226 GSocket: fix an error return value
7254  667279 Sometimes crashes when launching commandline-crea...
7255  667285 Wrong keyname listed in documentation for g_deskt...
7256  667331 Use g_queue_free_full() convenience function
7257  667420 GHashTable GDB pretty printing is broken
7258
7259 * Updated translations
7260  Belarusian
7261  Bulgarian
7262  Hebrew
7263  Norwegian bokmål
7264  Norwegian Nynorsk
7265  Spanish
7266  Vietnamese
7267
7268
7269 Overview of changes from GLib 2.31.4 to 2.31.6
7270 ==============================================
7271
7272 * GApplication no longer has APIs for setting menus.  Those have been
7273   moved to GtkApplication.
7274
7275 * the GActionGroup import/export functionality has been decoupled from
7276   GApplication by the introduction of a new interface for the purpose of
7277   handling platform data: GRemoteActionGroup.  This allows Gtk to
7278   properly deal with platform data (and gdk threads) on window actions.
7279
7280 * lots of documentation improvements
7281
7282 * bug fixes and a huge number of memory leak fixes
7283
7284 * the test suite now passes on ARM and some of the GDBus testcase hangs
7285   we've been seeing have been resolved (although others could remain)
7286
7287 * g_bytes_get_data() API changed: now includes 'size' out parameter
7288
7289 * new g_queue_free_full() API similar to g_[s]list_free_full()
7290
7291 * desktop files: use standard "Keywords" now, not "X-GNOME-Keywords"
7292
7293 * gsettings commandline tool now has --schemadir option for schemas not
7294   installed in the usual place (ie: as part of plugins)
7295
7296 * Bugs fixed:
7297  643736 GApplication doesn't emit dbus signals on action updates
7298  657433 g_queue_free_full() missing
7299  664699 glib: documentation fixes
7300  665737 acquire/release gdk threads lock on incoming dbus
7301  665879 GBytes: add a size argument to g_bytes_get_data
7302  666113 various leaks in GLib, GIO are visible in the regression tests
7303  666115 various tests leak memory, obscuring real leaks in the library
7304  666145 Doc could be more explicite that g_thread_init calls can be droped
7305  666173 Configure warning - linux/netlink.h usability... no
7306  666296 Race condition in g_thread_xp_get_srwlock
7307  666415 Settings tools should allow specifying a schema directory 
7308
7309 * Translations updated:
7310  French
7311  Spanish
7312
7313 Overview of changes from GLib 2.31.2 to 2.31.4
7314 ==============================================
7315
7316 * EXPERIMENTAL: Menu support has been added to GApplication.  Menus
7317   are exported on the bus, alongside the actions that are already there.
7318   There have also been many related improvements to action group
7319   functionality.
7320
7321   These new APIs are subject to changes in the coming releases.  In
7322   particular, it seems somewhat likely that the APIs for registering
7323   menubars may change in order to accommodate windows with different
7324   types of menubars.
7325
7326 * GDBusConnection previously directly dispatched destroy notifies when
7327   unregistering objects if the current main context was the same context
7328   the object was exported on.  It now unconditionally dispatches these
7329   through an idle on the context.
7330
7331 * Clean up Requires in pc files. Linking against GIO no
7332   longer drags in gmodule. This may require dependency
7333   fixes here and there.
7334
7335 * Introduce GBytes, a data type for immutable, fixed-size
7336   byte sequences. This makes the pre-existing GBuffer
7337   API available outside GLib
7338
7339 * GDBusInterfaceSkeleton can now be exported on multiple
7340   connections
7341
7342 * Bugs fixed:
7343  600161 Do not use static GTypeInfo and GInterfaceInfo
7344  640077 GFileMonitor: Always send CHANGES_DONE_HINT after a move...
7345  641720 Misleading definition for local_command_line() in GApplic...
7346  648516 Little comment error and 2 useless lines of code
7347  651997 Dummy backend for gapplication
7348  652560 Test for g_ascii_strtod is failing
7349  662208 failure to initialize a GInitable should be considered...
7350  662718 GDBusInterfaceSkeleton should be able to export on multi...
7351  663291 GBytes: Immutable, refcounted sequence of bytes
7352  664406 Need context for a proper translation
7353  664455 Build fixes for GLib GIT master (2.31.x)
7354  664558 GDBusWorker.frozen has a value > 1 in a gboolean
7355  664559 sys/wait.h not available on windows
7356  664617 gdbus segfault error 4 in libgio-2.0.so.0.3102.0
7357  664635 GMemory{Out,In}putStream _async functions break sub-class...
7358  664809 Add command line option to gtester to allow skipping tests
7359  665067 cryptic assertion failure if nonsensical flag combinations...
7360  665184 Check ref. count before reffing/unreffing
7361  665298 Add 'Requires.private: libpcre' to glib-2.0.pc
7362  665391 update documentation around mainloops
7363  665607 ./configure is there for fiddling with cross-compile enviro...
7364  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes...
7365  665685 Add a #define for the max length of a Unicode decomposition
7366  665733 GDBusConnection holds lock while calling destroynotify
7367
7368 * Translation updates:
7369  Norwegian bokmål
7370  Spanish
7371
7372
7373 Overview of changes from GLib 2.31.0 to 2.31.2
7374 ==============================================
7375
7376 * Monotonic time is now properly supported on Windows
7377
7378 * glib-mkenums: fix @ENUMPREFIX@ with /*< underscore_name=... >*/
7379
7380 * EXPERIMENTAL: introduce new GSettingsSchema and GSettingsSchemaSource
7381   APIs for the convenience of plugin system authors and those who wish
7382   to introspect the contents of schemas.  This API may change.
7383
7384 * Improve the performance of GObject property notifies.
7385
7386 * GDBus:
7387  - fix a race when unowning a name immediately after owning it
7388  - thread safety improvements on GDBusConnection
7389  - fixes for exit-on-close functionality
7390
7391 * Deprecations:
7392  - add G_SIGNAL_DEPRECATED
7393  - don't use G_DISABLE_DEPRECATED masking for functions anymore
7394
7395 * docs
7396  - tmpl/ is finally dead for glib
7397
7398 * GIO:
7399  - GInetAddressMask: new type for internet address range matching
7400  - various GIO file and stream fixes
7401  - improvements to attribute and fileinfo handling
7402
7403 Overview of changes from GLib 2.29/2.30 to 2.31.0
7404 =================================================
7405
7406 This release contains a huge number of changes (500 commits worth).  The
7407 list below attempts to summarise, but not every change is listed.
7408
7409 * Major changes to threading and synchronisation
7410  - threading is now always enabled in GLib
7411  - support for custom thread implementations (including our own internal
7412    support for errorcheck mutexes) has been removed
7413  - a whole lot of dead code (to deal with the non-threaded case) has
7414    been ripped out.  This includes the racy path of GMainContext that
7415    caused deadlocks with respect to child process exits in
7416    single-threaded programs (such as gtester).
7417  - libgthread is now an empty shell and g_thread_init() is no longer
7418    required (and has been deprecated)
7419  - GMutex and GCond can now be statically allocated without explicit
7420    initialisation.  Dynamic allocation for these types is deprecated.
7421  - new types GRecMutex and GRWLock can also be statically allocated
7422    without explicit initialisation.
7423  - GPrivate can now be statically allocated and has an improved API.
7424    Dynamic allocation of GPrivate is deprecated.
7425  - GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
7426    deprecated.
7427  - GCond now uses monotonic time internally and a new API takes
7428    monotonic time for timed waits, deprecating the wallclock API
7429  - removal of the insane macro indirection used in the previous
7430    implementation of threading and synchronisation APIs
7431  - use SRWLock and CONDITION_VARIABLE APIs when available on Windows
7432    (Vista and later) and emulate them on XP
7433  - leaks of G(Static)Private-allocated data on some cases of thread exit
7434    have been fixed
7435  - simplified new thread creation API with the old API deprecated.  The
7436    concept of joinability has disappeared (all threads are joinable) as
7437    have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
7438    and ability to manipulate the stack size.
7439  - GThread is now a refcounted type
7440  - other implementation details changed
7441
7442 * Move headers for some deprecated functionality to a separate
7443   deprecated/ directory.
7444
7445 * New support for attribute-based deprecations to issue compiler
7446   warnings instead of breaking the build and/or giving warnings about
7447   implicit declarations (and possibly miscompiling).
7448
7449 * GCache has been deprecated (after its last use was removed from our
7450   platform over a year ago).
7451
7452 * It is no longer possible to include individual headers (like
7453   "ghash.h") -- you must #include <glib.h>.
7454
7455 * The misguided experiment of allowing the program to stumble along with
7456   missing GSettings schemas is now over -- the abort is back.
7457
7458 * Clarify that fork() is not valid while using GMainContext.  This is
7459   because the internal resources of the GMainContext end up being shared
7460   by both processes.  We had an assert here but it was breaking existing
7461   (valid) use cases as well, so it has been removed for now.
7462
7463 * GApplication
7464   - add ::shutdown signal as logical dual to ::startup
7465   - don't use a GMainLoop: iterate the GMainContext directly (improves
7466     quit logic)
7467
7468 * Several portability fixes for Windows, OpenBSD, Solaris
7469
7470 * Add new GValue API to specifically deal in signed chars (in case the
7471   platform defines 'char' as unsigned)
7472
7473 * some new API to mitigate the problems associated with calling setenv()
7474   in a multi-threaded program
7475
7476 * Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
7477   time (ie: stop checking for kernel support at runtime).
7478
7479 * pkg-config files:
7480   - drop -uninstalled variants
7481   - remove gobject dependency on gthread
7482
7483 * New macro G_ATOMIC_LOCK_FREE is defined if the atomic operations are
7484   implemented without use of a mutex.  Cleaned up atomic-related
7485   compilation issues with mingw compilers on win32 systems.
7486
7487 * SOCKS proxy and resolver improvements
7488
7489 * Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
7490   introduce a macro for backwards compatibility.
7491
7492 * GDBus:
7493   - many code generation updates and improvements
7494   - some race condition fixes, including testcase hangs
7495
7496 * GVariant:
7497   - new g_variant_new_from_fixed_array() API
7498   - substantial docs improvements/clarifications
7499
7500 * GKeyFile is now refcounted and boxed
7501
7502 * mount monitoring is now based on /proc/mounts (where available)
7503   instead of mtab
7504
7505 * new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for returning from
7506   GSourceFunc (so you don't have to remember what TRUE and FALSE mean)
7507
7508 * use xlocale functions where available to avoid too much heavy lifting
7509   in functions like g_ascii_strtod()
7510
7511 * GMappedFile can now be created from an fd
7512
7513 * error message strings grammar/i18n fixes
7514
7515 * many docs updates
7516
7517 * Partial list of bugs closed:
7518  70598  Unify GStaticMutex and GMutex.
7519  320888 optimization for g_main_context_wakeup
7520  398418 GChildWatch race condition?
7521  527214 g_timer_elapsed() returns random values
7522  580505 add a way to set/get name for a thread
7523  583511 race condition means g_main_loop_quit() does not work
7524  590808 GKeyFile should have a refcount and a boxed type in GObject
7525  592715 Document that g_str_hash() and g_int_hash() are not NULL safe
7526  631413 Add macros for GSourceFunc return values
7527  632049 not immediately clear what g_variant_get_fixed_array expects
7528  640212 "Error stating file" is not a friendly message
7529  640293 Use xlocale functions to implement g_ascii_strtod()
7530  640975 Check that error exists before trying to set it
7531  643934 GApplication lacking a logical dual for the ::startup signal
7532  651268 assertion failed in GDBus worker thread
7533  653987 g_key_file_get_integer cannot interpret trailing spaces
7534  654412 Documentation for g_variant_get_child_value unclear
7535  654563 info capplet: Failed to calculate disk space
7536  655366 missing GSettings schemas lead to obscure crashes
7537  656621 g_spawn_*() calls executables in current directory
7538  656679 [gi] Add two annotations to gio
7539  657992 Add glib__private__() API to share between glib,gio
7540  658188 _set_as_last_used_for_type generates a broken mimeapps.list
7541  658206 gsocks5proxy.c has invalid gettext use
7542  658207 glib-compile-schemas says "can not"
7543  658558 simpleaction: Fix documentation of :enabled
7544  658683 clean up charset/language threading issues
7545  658692 add introspection annotations to g_time_val_from_iso8601()
7546  658715 Duplicite strings
7547  658769 Invalid reuse of GError in GThreadedResolver
7548  658806 sign error in string hash implementation
7549  658976 gdbus-codegen's C namespace option needs to support Ugly_Case
7550  659070 gdbus-codegen generated code segfaults when property changes
7551  659082 gdbus-codegen: Single letter namespaces get dropped from names
7552  659212 GMappedFile should fail on non-regular files
7553  659324 _SPLICE_CLOSE_TARGET doesn't mark the output stream as closed
7554  659423 Use adaptive mutexes when available
7555  659427 Move deprecated code to a separate directory
7556  659646 gdbus-codegen produce code that warnings at build
7557  659690 Possible build warning in code generated by gdbus-codegen
7558  659699 property name collision when generating code for "Connection"
7559  659754 Add API to GMappedFile that allows to pass FD
7560  659838 incorrect types in introspection for g_object_bind_property
7561  659866 pthread_rwlock_t requires defined __USE_UNIX98
7562  659870 gvalue: Fix signedness of g_value_get_char()
7563  659889 glib-2.29.92/gio-2.0.pc.in has a wrong line.
7564  659916 GObject size of 64K is not actively enforced
7565  659920 Missing setter for read/write property 'closed' of GIOStream
7566  659923 Add g_variant_new_fixed_array() function
7567  660013 Remove old g_atomic configure cruft
7568  660096 glib/rwlock tests failure (tests asserted)
7569  660130 Possible loss of user data when updating mimeapps.list
7570  660147 tracker causes g_critical in "gsettings list-recursively"
7571  660413 Make G_ASSERT_STATIC work with clang
7572  660498 Generated test code fails when the codegen changes
7573  660511 Use /proc/mounts for monitoring mounts, not /etc/mtab
7574  660536 Expose options for /etc/fstab entries
7575  660635 Deprecate g_thread_foreach
7576  660637 Pending dbus method calls not canceled on connection loss
7577  660739 kill off g_{mutex,cond}_{new,free}()
7578  660740 make GThread more standard
7579  660741 g_cond_timedwait is a disaster
7580  660743 macro wrappers for g_once_init_enter/leave
7581  660744 finish killing g_thread_init()
7582  660745 GPrivate leaks on Windows
7583  660791 [gio] Improve doc for g_file_make_directory_with_parents()
7584  660843 asyncqueue-test is broken
7585  660849 Remove cruft from g_strerror and g_strsignal
7586  660886 GDBusProxy: don't drop/complain about unknown props/signals
7587  660887 g_slice_set_config() is broken
7588  660994 Add g_main_context_ref_thread_default()
7589  661255 gio: enable test_peer regression test for OpenBSD
7590  661257 giomodules.c uses ":" instead of G_SEARCHPATH_SEPARATOR_S
7591  661318 tests use pthread without appropriate compiler/linker flags
7592  661421 Applications fail to initialize on GNU Hurd - commit
7593  661438 Implement G_GNUC_DEPRECATED/G_GNUC_DEPRECATED_FOR on Visual C++
7594  661711 Sorting keys for GDrive, GVolume and GMount instances
7595  661763 desktop-app-info: Add support for X-GNOME-Keywords
7596  661896 /gdbus/connection/life-cycle is racy
7597  661914 Gstreamer/Totem locks up
7598  662100 regression: g_dbus_connection_close() triggers exit-on-close logic
7599
7600 * Translations updates:
7601  Belarusian 
7602  Brazilian Portuguese
7603  British English 
7604  Bulgarian 
7605  Catalan 
7606  Catalan (Valencian)
7607  Czech 
7608  Danish 
7609  Esperanto
7610  French 
7611  Gujarati
7612  Hebrew 
7613  Hungarian 
7614  Italian 
7615  Japanese
7616  Lithuanian
7617  Norwegian bokmål
7618  Oriya
7619  Polish 
7620  Russian 
7621  Serbian
7622  Simplified Chinese
7623  Slovak 
7624  Slovenian
7625  Spanish 
7626  Tamil
7627  Vietnamese
7628
7629 Overview of changes from GLib 2.29.18 to 2.29.90
7630 ================================================
7631
7632 * GObject includes a generic marshaller, g_cclosure_marshal_generic.
7633   To use it, simply specify NULL as the marshaller in g_signal_new().
7634   The generic marshaller is implemented with libffi, and consequently
7635   GObject depends on libffi now.
7636
7637 * API/ABI changes:
7638  - unix signal watches now match the API of all of the other sources
7639  - revert the addition of g_date_time_source_new () from last release
7640
7641 * networking and other fixes for Solaris
7642  - we no longer support symbolic port names (ie: from /etc/services)
7643  - check if -lsocket is needed
7644  - fix g_socket_details_from_fd()
7645  - avoid getmntinfo
7646  - fix some harmless warnings
7647
7648 * GDateTime improvements:
7649  - generally improved standards compliance (with C99)
7650  - support C99-specified format strings: %g, %G, %V, %c, %C, %w
7651  - consult the locale for the preferred 12-hour time format (%r)
7652  - drop support for non-standard %N and broken %W
7653  - better support for formatting non-POSIX (eg: Arabic) numerals
7654  - locale-related test case fixups, and fix some leaks
7655
7656 * GTlsInteraction: add interaction method invocation guarantees
7657
7658 * gdbus-codegen: post-process all interfaces when parsing >1 file
7659
7660 * make GMainLoop, GMainContext and GSource boxed types
7661
7662 * fix a race condition in the first use of g_get_monotonic_time()
7663
7664 * lots gtk-doc cleanups
7665
7666 * better intltool compatibility when generating pot file
7667
7668 * avoid GCC-specific compiler options when not using GCC
7669
7670 * Translation updates:
7671  Belarusian
7672  Brazilian Portuguese
7673  Canadian English
7674  Galician
7675  Indonesian
7676  Korean
7677  Lithuanian
7678  Norwegian bokmål
7679  Portuguese
7680  Spanish
7681  Swedish
7682
7683 Overview of changes from GLib 2.29.16 to 2.29.18
7684 ================================================
7685
7686 * GDateTime is now respecting LC_TIME when formatting
7687
7688 * GTimeZoneMonitor has been removed again
7689
7690 * A new API for wallclock functionality has been added:
7691   g_date_time_source_new(). This API is still experimental
7692   and may be changed or removed before 2.30.
7693
7694 * Bugs fixed:
7695  628904 Add credential support for FreeBSD and fix a socket issue
7696  650763 gdbus-codegen is broken with python 2.7
7697  655129 GDateTime could provide api for implementing wall clocks
7698  656341 gtlsconsoleinteraction.c uses getpass() which isn't avail...
7699  656387 GCancellable can be used concurrently
7700  656443 Make GTlsInteraction ask_password cancellable
7701  656675 void functions should not return in glib 2.29.16
7702  656772 g_variant_compare for uint64 incorrect
7703  656914 Load GIO_EXTRA_MODULES first, and ignore duplicates
7704  657083 The header langinfo.h is not available on all systems
7705  657084 gfileutils: fix docs/annotations for temp file methods
7706  657138 Some files missing in POTFILES.in
7707  657206 GInputStream leaked in g_file_icon_load_async()
7708  657243 g_cancellable_set_error_if_cancelled() documentation
7709  657274 Use detected PYTHON variable as shebang for gdbus-codegen
7710  657336 Speling fixes for glib found with codespell
7711  657452 plural forms needed
7712  657454 Translation comment needed
7713  657540 Print out file:// URL to coverage HTML report after building
7714  657593 g_test_trap_fork calls close(-1)
7715  646082 Addresses from GSocket should be normalized before returning
7716  657517 fix gio/tests/gdbus-peer on bsd
7717
7718 * Translation updates:
7719  Brazilian Portuguese
7720  Galician
7721  Norwegian bokmål
7722  Punjabi
7723  Russian
7724  Serbian
7725  Spanish
7726  Swedish
7727  Traditional Chinese
7728  Uighur
7729
7730
7731 Overview of changes from GLib 2.29.14 to 2.29.16
7732 ================================================
7733
7734 * GTlsDatabase: an abstract class that provides support
7735   or certificate and key lookup. An implementation will
7736   be provided in glib-networking
7737
7738 * GHmac: Support or HMAC digests
7739
7740 * Misc new API:
7741  - g_ptr_array_add_full: creates a GPtrArray with
7742    a preallocated size and a destroy function
7743  - g_desktop_app_info_get_show_in: checks if a GDesktopAppInfo
7744    should be shown in a given desktop environment
7745  - g_mkdtemp, g_mkdtemp_full, g_dir_make_tmp: create
7746    temporary directories
7747
7748 * Unify thread wakeup implementations of GMainContext
7749   and GCancellable, and use eventfd for it when available
7750
7751 * Show mounts in $XDG_USER_DIR in addition to /media and $HOME
7752
7753 * Bugs fixed:
7754  636572 GTlsCertificateDB
7755  644601 Some tests need a running dbus session
7756  652284 deal with small key lengths
7757  652827 glib-2.29.8 no longer builds with mingw.org's toolchain
7758  653063 PEM parser fails parsing private key when put first
7759  654078 Fail to static linking with Glib library
7760  654450 New functions: g_ptr_array_new_full()
7761  654793 Add G_VALUE_INIT
7762  655044 GDesktopAppInfo: Add g_desktop_app_info_get_show_in()
7763  655148 gdbusconnection is broken when compiling with mingw
7764  655241 glocalfile.c no longer compiles with MinGW GCC
7765  655598 g_cancellable_get_fd: silently return -1 for NULL cancellable
7766  655664 gdbus should not abort if no dbus session is available
7767  655769 Use ZLIB_CFLAGS when compiling gio
7768  656031 Improve GVariant annotations
7769  656048 glib-codegen requires Python >= 2.5
7770  656151 configure test logic inverted, doesn't match comments
7771  656152 GCC only syntax used, yet other compilers allowed by configure.
7772  656162 allow use of lcov 1.9 for coverage
7773  656282 GDBusProxy: uninitialized local variables can be freed
7774  656283 Failing tls connection cause assertion
7775  118563 Add g_mkdtemp in the spirit of g_mkstemp
7776  636405 Add g_return_if_fail() to g_settings_bind_with_mapping()
7777  656039 race condition between GDBusProxy signals and public API
7778  656492 g_io_channel_new_file failure (open(2) behavior wrt POSIX)
7779
7780 * Translation updates:
7781  Bulgarian
7782  Esperanto
7783  French
7784  Galician
7785  German
7786  Hebrew
7787  Indonesian
7788  Italian
7789  Norwegian bokmål
7790  Russian
7791  Spanish
7792  Swedish
7793
7794
7795 Overview of changes from GLib 2.29.12 to 2.29.14
7796 ================================================
7797
7798 * Unicode improvements
7799  - add g_unicode_script_{to,from}_iso15924
7800  - add G_UNICODE_SPACING_MARK define
7801  - more normalisation improvements
7802  - stop using deprecated g_unicode_canonical_decomposition()
7803
7804 * GParamSpec:
7805  - mark the 'name' field as 'const' and add a comment to the header to
7806    help avoid future problems caused by bad hacks
7807
7808 * Merge some (modified) patches from Debian:
7809  - 03_blacklist-directories.patch
7810    - add some blacklisted mount directories
7811  - 60_wait-longer-for-threads-to-die.patch
7812    - sleep longer in a test case, if needed to avoid failing
7813
7814 * Units policy change: prefer use of SI units
7815  - deprecate g_format_size_for_display, add g_format_size(_full)
7816
7817 * GSettings: don't call g_error() when the schema is missing
7818
7819 * GVariant support for arrays of object paths:
7820  - new g_variant_{new,get,dup}_objv API
7821  - support for g_variant_{new,get} '^ao' and '^a&o' similar to '^as'
7822
7823 * GDBus:
7824  - use new improved array-of-objects support and pass 'ao' as char**
7825    instead of GVariant*
7826  - improve handling of 'h' type (Unix file descriptor index)
7827
7828 * GIO:
7829  - fix compilation without USE_STATFS and USE_STATVFS
7830
7831 * Documentation fixes
7832
7833 * Bugs fixed:
7834  622921 Migrate from dbus-glib to glib's GDBus
7835  648271 Add g_unicode_script_to_iso15924()
7836  654948 Stop using deprecated g_unicode_canonical_decomposition()
7837  654988 g_atomic_int_add should document behaviour change
7838  655025 #define G_UNICODE_SPACING_MARK G_UNICODE_COMBINING_MARK
7839  655076 normalization misses some Full_Composition_Exclusion=True. 
7840
7841 * Translations updated:
7842  Spanish
7843
7844 Overview of changes from GLib 2.29.10 to 2.29.12
7845 ================================================
7846
7847 * Add new API to do Unicode (de-)composition in atomic steps,
7848   for use in Harfbuzz.
7849
7850 * Bugs fixed:
7851  615895 (indirectly) support non-NULL-terminated regexes in GRegex
7852  617949 glib trunk fails to compile on Solaris w/ Studio 12...
7853  620423 Document the possibility to unset attributes
7854  627974 Floating reference headaches
7855  644687 Not finding cross-links in current doc set
7856  649246 g_output_stream_splice() cannot be used on 32-bit machines...
7857  653841 a helper script to build glib from git master on win32
7858  653935 g_slist_free_full/g_list_free_full iterates twice in the list
7859  654017 tests: fix glib_translations_work() in gsettings unit test
7860  654085 Don't needlessly use "echo -e" when creating .def files
7861  654195 Add g_unichar_compose() and g_unichar_decompose()
7862  654232 GCancellable eventfd problems
7863  654394 suspicious use of floating references in GDBusInterfaceSkeleton
7864  654536 GSettings: lift key name length restriction to 64
7865  654627 GParamSpec: intern property names
7866  654651 Better g_unicode_canonical_decomposition()
7867  654917 Make g_cclosure_marshal_generic the default signal handler
7868
7869 * Translation updates:
7870  Belarusian
7871  Finnish
7872  Korean
7873  Latvian
7874  Lithuanian
7875  Norwegian bokmål
7876  Turkish
7877
7878
7879 Overview of changes from GLib 2.29.8 to 2.29.10
7880 ===============================================
7881
7882 * New features:
7883  - g_desktop_app_info_get_nodisplay: a function that is required
7884    to port gnome-menus to GDesktopAppInfo
7885  - g_hash_Table_iter_replace: new function to replace a value
7886    while iterating over a hash table
7887  - g_utf8_substring: convenience API to extract substrings from
7888    UTF-8 strings
7889  - g_action_group_add_entries: convenience API for creating lots
7890    of actions quickly
7891  - Use eventfd instead of pipes for waking up main contexts and
7892    for cancellation when available
7893  - GMatchInfo is now a refcounted boxed type
7894
7895 * API changes in GAction:
7896  - the 'set_state' entry in the GActionInterface vtable has been
7897    renamed to 'change_state
7898  - g_action_set_state has been renamed to g_action_change_state
7899  - the 'state' property has been changed to read-only
7900  - GSimpleAction can no longer be subclassed
7901
7902 * Bug fixes
7903  647796 g_variant_new_variant is not marked as constructor
7904  652072 gmain: make use of signalfd()
7905  652168 Crosscompiling Fails if build<=2.24 and host >2.24
7906  652750 make dist fails
7907  652758 GDataInputStream: Clarify g_data_input_stream_read_line docs...
7908  652822 Add a g_hash_table_iter_replace
7909  652897 tiny docs clarification for g_utf8_to_ucs4_fast
7910  653140 gmain: use Linux eventfd() for main context wake up
7911  653429 drop AM_MAINTAINER_MODE or enable it by default
7912  653484 GAsyncCallbacks should default to allow-none
7913         Add missing fundamental types to the generic marshaller
7914
7915 * Translation updates
7916  Belarusian
7917  Galician
7918  Russian
7919
7920 Overview of changes from GLib 2.29.6 to 2.29.8
7921 ==============================================
7922
7923 * Bug fixes
7924  646608 export_symbols variable for gio dynamic library is wrong
7925  646635 Fix introspection of GLib
7926  647930 Documentation: GDataInputStream _read_upto() version
7927  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
7928  651920 Improve qsort_r detection
7929  651959 gbitlock: "asm goto" is not available in gcc < 4.5
7930  651998 gdbus-codegen: Use relative Python imports
7931  652000 Fix for gatomic.c on Windows/MSVC
7932  652002 Proposal to clean up gvaluetransform.c for MSVC
7933  652025 g_dbus_connection_register_object: error is not set...
7934  652081 Typos in a GBinding warning message
7935  652197 Improper handling of double values in GDBusMessage
7936         Fix a deadlock in gobject finalization
7937
7938 * Translation updates:
7939  Czech
7940  Galician
7941  German
7942  Hebrew
7943  Norwegian bokmål
7944  Spanish
7945  Uighur
7946
7947
7948 Overview of changes from GLib 2.29.4 to 2.29.6
7949 ==============================================
7950
7951 * Atomic operations have been rewritten from scratch to make use
7952   of gcc builtins where possible. As a side-effect of this, calls
7953   to g_atomic_ API with explicit casts may now be problematic; if
7954   that happens to you, try first to remove the casts. Another
7955   side-effect of the rewrite is that g_atomic_int_exchange_and_add
7956   has been deprecated in favor of g_atomic_int_add.
7957
7958 * A full set of atomic operations on pointers has been added,
7959   including bit locks in pointer-size locations.
7960
7961 * Access to quarks is now lockless
7962
7963 * GObject data scalability has been greatly improved
7964
7965 * g_data_time_format now supports alternative digits and padding
7966
7967 * Introspection improvements:
7968  - Add a boxed type for GVariantBuilder
7969  - Annotation fixes in GDBus, GVariant, g_base64_
7970
7971 * Bugs fixed:
7972  502560 g_rand_double_range returns 'inf'
7973  612729 g_mkdir_with_parents can fail if the directory already exists
7974  617491 g_once() implementation is inefficient
7975  619418 Add a performance test for UTF-8 decoding functions
7976  619435 Make g_utf8_to_ucs4_fast() yet faster
7977  626549 G_STATIC_ASSERT_EXPR
7978  631231 bitlock: Fix detection and usage of futexes with Bionic
7979  632294 g_queue_remove() should return a boolean
7980  640518 GMainLoop has quadratic complexity when all pollfd's...
7981  642026 Race condition in g_static_private_free
7982  646635 Fix introspection of GLib
7983  648678 g_date_time_format(): support %O flags for localized numbers
7984  649480 Use MSG_CMSG_CLOEXEC in recvmsg in gio/gsocket.c
7985  649506 GTestFunc et al lacking Since tag
7986  649657 Don't return gboolean for functions that throw
7987  649775 glib-gio-gdbuscodegen-Makefile.patch
7988  649915 gsettings accepts unquoted strings longer than two characters
7989  649973 gthread: build unix tests only on unix
7990  649988 gdbus-codegen: Drop dependency on argparse
7991  650078 forkbomb building glib/tests/protocol
7992  650211 Optimization in key file parsing
7993  650236 Application over DBus implements action state incorrectly
7994  650345 g_key_file_has_key_full: New function to fix g_key_file_has_key...
7995  650458 reduce overhead in g_object_set/get_data
7996  650459 hash table consistency while calling destroy notify funcs
7997  650688 enforce rules about hash table modification
7998  650823 expand the set of atomic ops
7999  650874 codegen chokes on docs
8000  650882 use stdout instead of stderr for informational messages
8001  650884 fix compilation with gcc2
8002  650885 implement glib credentials on OpenBSD (hackish)
8003  650935 G_GNUC_MAY_ALIAS and atomic ops
8004  651009 minor documentation fix
8005  651034 Regarding g_cond_wait after g_thread_pool_push in gthreadedresolver
8006  651133 race condition in GDBusConnection's emit_signal_instance_in_idle_cb
8007  651141 hashtable infinite loop
8008  651219 fix path to true(1) on OpenBSD
8009  651223 Fix some compile warnings on OpenBSD
8010  651327 Minor fixes for the gsocket API
8011  651467 Add pointer sized bitlocks
8012  651650 gdbus: Avoid busy wait loop
8013  651725 gmain: Cleanups and a new test case
8014  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
8015
8016 * Updated translations:
8017  Catalan (Valencian)
8018  Esperanto
8019  Hebrew
8020  Hungarian
8021  Russian
8022  Spanish
8023
8024
8025 Overview of changes from GLib 2.29.2 to 2.29.4
8026 ==============================================
8027
8028 * GDBus:
8029  - Includes several new types to support modeling D-Bus
8030    objects and interfaces more fully, and also introduces
8031    an 'object manager' pattern:
8032    GDBusInterface, GDBusObject, GDBusObjectManager
8033    These interfaces have client-side implementations:
8034    GDBusProxy, GDBusObjectProxy, GDBusObjectManagerClient
8035    And server-side implementations:
8036    GDBusInterfaceSkeleton, GDBusObjectSkeleton, GDBusObjectManagerServer
8037  - The new gdbus-codegen utility uses these new classes
8038    to generate C code and documentation from D-Bus interface
8039    descriptions in XML
8040
8041 * GTest:
8042  - There is now a g_test_fail() function to mark
8043    tests as failed
8044
8045 * GDesktopAppInfo
8046  - Now has a binding-friendly filename property
8047  - Other new API to more fully expose desktop file contents:
8048    g_desktop_app_info_get_categories(),
8049    g_desktop_app_info_get_generic_name()
8050
8051 * GHashTable:
8052  - Several optimizations to reduce space consumption of
8053    large hash tables, in particular tables that are used
8054    to store sets.
8055
8056 * Unix-specific APIs:
8057   GLib now installs a separate header, glib-unix.h, that is
8058   meant to collect Unix-specific APIs. For now, it contains
8059   g_unix_open_pipe(), g_unix_set_fd_non_blocking() for dealing
8060   with pipes and fds, as well as APIs to create mainloop
8061   sources which can trigger callbacks on certain Unix
8062   signals (SIGTERM, SIGHUP, SIGINT).
8063
8064 * Bugs fixed:
8065  631379 GDBus nonce-tcp test failing
8066  632631 GLib-CRITICAL **: g_variant_new_string: assertion `g_utf8_validate (string, -1, NULL)' failed
8067  635694 gdbus aborting due to unauthorized socket in DBUS_SESSION_BUS_ADDRESS
8068  637561 Crash when using G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
8069  642935 g_date_time_format() prints wrong value for %z and timezone -0800
8070  643134 g_dbus_message_copy
8071  644941 glib-unix: New Unix-specific API
8072  646013 g_hash_table_remove_all_nodes optimization
8073  646309 glib cannot be cross-compilled for mingw32
8074  646435 GTimeZone doesn't seem to be thread-safe
8075  646957 GIO chained calls don't work with a thread default context
8076  647594 README link to mailing list is broken
8077  647602 Cannot connect to remote message bus via TCP
8078  647746 The GSocketService documentation is incomplete.
8079  647826 API: gtester: Add g_test_fail()
8080  647903 GDesktopAppInfo: Add g_desktop_app_info_get_categories()
8081  648416 g_app_info_create_from_commandline ignores SUPPORTS_STARTUP_NOTIFICATION
8082  648423 Support G_DEBUG=trap-warnings
8083  648425 GDesktopAppInfo: Add "filename" property for bindings
8084  648966 Update g_unichar_iswide and g_unichar_iswide_cjk
8085
8086 * Updated translations
8087  Norwegian bokmål
8088  Spanish
8089  Turkish
8090  Uighur
8091
8092
8093 Overview of Changes from GLib 2.28.0 to 2.29.2
8094 ==============================================
8095
8096 * GApplication
8097  - The documentation has been enhanced and clarified
8098  - An opt-out for uniqueness has been added: G_APPLICATION_NON_UNIQUE
8099  - GApplication now syncs settings before g_application_run() returns
8100
8101 * GDBus
8102  - Interface lookups are now happening in constant time
8103  - Signature checking and handling of various unexpected
8104    situations has been improved
8105
8106 * GVariant
8107  - The format accepted by the GVariant parser has beend documented
8108  - GVariant accepts G_VARIANT_TYPE_VARDICT for a{sv}
8109
8110 * GDateTime:
8111  - The return value of g_datetime_compare() has been fixed to
8112    match strcmp() semantics
8113  - In order to handle problems with changing timezones, a GTimeZoneMonitor
8114    has been added to GIO, and g_time_zone_refresh_local() can be
8115    called to update the cached information about the local timezone
8116
8117 * GOption now uses /proc/self/cmdline to set the program name instead
8118   and only falls back to "<unknown>" if that is unavailable
8119
8120 * GSettings:
8121  - The schema compiler now warns about references to non-existing schemas
8122
8123 * Commandline utilities are now fully translated
8124
8125 * Signals can now indicate that collecting their arguments must
8126   always happen, even in the absence of connected signal handlers,
8127   using the G_SIGNAL_MUST_COLLECT flag.
8128
8129 * Bugs fixed:
8130  635099 Memory leak in gdbus introspection when parsing xml
8131  640489 $ and ^ do not match lines if G_REGEX_MULTILINE|G_R...
8132  642042 Overriding GDBus org.freedesktop.DBus.Properties im...
8133  642052 g_timeout_add(_seconds) cannot handle large intervals
8134  642490 notify_desktop_launch() "g_variant_new_bytestring:...
8135  613269 g_type_get_qdata() doesn't work as I expected on subtypes
8136  624943 G_VALUE_NOCOPY_CONTENTS is undocumented
8137  637738 object_interface_check_properties never actually executes
8138  638185 GIOCondition should be annotated as "flags"
8139  639478 GDBusServer's g_dbus_server_new_sync() function should just...
8140  641755 Add g_settings_get/set_uint() helpers
8141  641768 dconf gsettings backend silently drops writes if it can't...
8142  642797 g_app_info_get_default_for_type() broken for subtypes
8143  642825 Unnecessary assertion failure in g_option_context_parse()
8144  642944 NULL key lookup using g_hash_table_lookup_extended()
8145  643074 Incorrect documentation for g_socket_receive() and g_socket...
8146  643197 g_application_id_is_valid docs imply no valid ids
8147  643468 GApplication docs: Warn that handling "command-line" means...
8148  643478 GApplication::local_command_line vfunc documentation seems wrong
8149  643624 Can g_variant_unref() on an already free'd variant
8150  643649 g_application_run() should say that argc/argv can be NULL
8151  643780 shouldn't need to create an action group to use actions...
8152  643795 g_timeout_add_seconds fires with intervals 1 second longer...
8153  644309 Program name is not set when using GtkApplication
8154  644428 Crash in failure section of g_markup_collect_attributes()
8155  644465 undefined reference to `_usleep'
8156  644552 g_timeout_add_seconds(1, ...) may have a latency of up to 2...
8157  644607 Correct internal definition of C_()
8158  645789 annotations for g_file_*_contents
8159  646039 g_settings_list_children() returns child that cannot be opened
8160  646310 Accept range with only min or max
8161  646420 g_dbus_method_invocation_get_parameters() docs should say...
8162  646843 occasional abort on autologin
8163  646985 add G_APPLICATION_NON_UNIQUE flag
8164  647579 gsettings: Implement reset-recursively
8165  647600 gsettings description has typo
8166
8167 * Translation updates
8168  Afrikaans
8169  Bulgarian
8170  Bengali India
8171  British English
8172  Bulgarian
8173  Catalan
8174  Czech
8175  Danish
8176  French
8177  Galician
8178  German
8179  Greek
8180  Gujarati
8181  Hebrew
8182  Hungarian
8183  Italian
8184  Japanese
8185  Korean
8186  Lithuanian
8187  Polish
8188  Portuguese
8189  Romanian
8190  Serbian
8191  Simplified Chinese
8192  Spanish
8193  Swedish
8194  Traditional Chinese
8195  Uighur
8196  Vietnamese
8197
8198
8199 Overview of Changes from GLib 2.27.93 to 2.28.0
8200 ===============================================
8201
8202 * The GApplication API has changed compared to the version that was
8203   included in the 2.25 development snapshots. Existing users will need
8204   adjustments.
8205
8206 * Bugs fixed:
8207 641363 GInitable documentation isn't clear about that finalize...
8208 641395 Add more data about the origin application to the "Lau...
8209 641411 gdesktopappinfo signals lost if it's the session bus...
8210 641477 glib-mkenums uses unportable #! line
8211 641572 Add @EXEEXT@ to pkgconfig binary name
8212 641688 glib installs GSettings.html and gsettings.html
8213
8214 * Translation updates:
8215  Galician
8216  Italian
8217  Korean
8218  Punjabi
8219
8220
8221 Overview of Changes from GLib 2.27.92 to 2.27.93
8222 ================================================
8223
8224 * Bugs fixed:
8225  637013 gio/gdbusmessage.c fails to compile on Solaris
8226  640192 Error creating a Gio.Settings object through py...
8227  640261 Minimum version for external pcre needs to be..
8228  640262 GActionGroup contains redundant TYPE macros
8229  640436 Make load_user_special_dirs() resistant to non...
8230  640695 g_key_file_load_from_file() mishandles a CR-LF...
8231  640724 can't compile gio due to format string issues
8232  640725 can't compile tests due to format string issue
8233  640807 improve GVariant behaviour with invalid pointers
8234  640823 wrong documentation for g_source_add_child_source
8235
8236 * Translation updates:
8237  Bulgarian
8238  Galician
8239  Hebrew
8240  Norwegian bokmål
8241  Spanish
8242  Traditional Chinese
8243
8244
8245 Overview of Changes from GLib 2.27.91 to 2.27.92
8246 ================================================
8247
8248 * Update to Unicode 6.0
8249
8250 * Update PCRE to 8.12
8251
8252 * Bugs fixed:
8253  637696 g_unix_connection_send_fd() doesn't work
8254  638872 null settings backend bug
8255  640042 GtkApplication's warning about not connecting...
8256
8257 * Translation updates:
8258  Arabic
8259  Basque
8260  Estonian
8261  Greek
8262
8263 Overview of Changes from GLib 2.27.90 to 2.27.91
8264 ================================================
8265
8266 * Bugs fixed:
8267  638838 gdesktopappinfo: Don't crash if we don't have a desktop filename
8268  638894 Splitting on \s* gives no result
8269  639064 Update gschema.dtd
8270  639084 Copy/paste error in GSettings::writable-changed signal
8271  639177 SIGSEGV for GApplications with G_APPLICATION_IS_SERVICE
8272
8273 * Translation updates:
8274  Estonian
8275  Galician
8276  Indonesian
8277
8278
8279 Overview of Changes from GLib 2.27.5 to 2.27.90
8280 ===============================================
8281
8282 * Test reports created by gtester-report can now
8283   include revision information
8284
8285 * The g_desktop_app_info_launch_* family of functions
8286   now emit a DBus signal when an application is launched.
8287   Additionally, there is a new variant
8288   g_desktop_app_info_launch_uris_as_manager(), which
8289   gives more control over the launched process.
8290
8291 * The memory and null GSettings backends are now available
8292   as public API
8293
8294 * g_get_locale_variants() is a new function that returns a
8295   list of variants of a locale identifier
8296
8297 * Bugs fixed:
8298  587898 I/O timeouts for GSocket
8299  606960 gio: Add extension point for informing parties...
8300  631980 Handle an optional <revision> node in the report...
8301  634569 Document that g_variant_builder_add_value consumes...
8302  635998 Make _g_compute_locale_variants public
8303  636806 Add g_{memory,null}_settings_backend_get_default
8304  637262 Need a binary DER version of ::accepted-cas
8305  637544 Skip fsync() on btrfs
8306  637720 void functions should not return a value.
8307  637738 object_interface_check_properties never actually...
8308  637759 GIOChannel: fix a crash in g_io_channel_read_chars()
8309  637852 Updates to glib.vsprops file for MSVC 2008 builds...
8310  637858 Updates to test/testglib.c...
8311  638349 parameter name of g_variant_new_* may conflict...
8312
8313 * Translation updates:
8314  Hebrew
8315  Norwegian bokmål
8316  Simplified Chinese
8317  Spanish
8318  Swedish
8319  Uyghur
8320  Vietnamese
8321
8322
8323 Overview of Changes from GLib 2.27.4 to 2.27.5
8324 ==============================================
8325
8326 * Network support:
8327  - Add g_tls_certificate_verify() to verify a certificate
8328  - Add GTlsConnection:use-system-certdb
8329  - Other TLS api additions
8330
8331 * GIO:
8332  - Add g_io_stream_splice_async()/_finish() to splice two iostreams
8333  - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon derivable
8334  - Remove GPeriodic; it did not receive the necessary review and
8335    integration work to declare it stable
8336
8337 * GSequence:
8338  - New methods g_sequence_lookup() and g_sequence_lookup_iter()
8339
8340 * Bugs fixed:
8341  617254 Missing g_sequence_lookup
8342  632544 g_dbus_connection_send_message can not send a locked message...
8343  633350 g_hostname_to_ascii() ignores non-ascii dots
8344  634583 Better error reporting for g_variant_parse()
8345  635007 gsetting enum rule don't work for out-of-srcdir builds
8346  635626 GDBus message idle can execute while flushes are pending
8347  636100 Can't read GSettings:backend property
8348  636305 Typo on g_queue_remove_all() function description
8349  636311 appinfo: tweak application positioning for content-types
8350  636351 g_simple_async_result_is_valid lacks a version tag
8351  636387 gdb autoload files shadow the "dir" builtin
8352  636673 g_simple_async_report_error_in_idle should allow object...
8353  637147 Add a "delay-apply" property to GSettings
8354  637171 emblemedicon: add g_emblemed_icon_clear_emblems()
8355  637237 gapplication: plug a memory leak
8356
8357 * Translation updates:
8358  Estonian
8359  Galician
8360  Hebrew
8361  Norwegian bokmål
8362  Simplified Chinese
8363  Spanish
8364  Traditional Chinese
8365  Vietnamese
8366
8367
8368 Overview of Changes from GLib 2.27.3 to 2.27.4
8369 ==============================================
8370
8371 * GIO
8372  - Mounts are treated as hidden if they have a path element
8373    that starts with a dot
8374  - GAppInfo gained API to differentiate between recommended
8375    and fallback mime handlers
8376  - g_cancellable_create_source: creates a GSource that triggers
8377    when the GCancellable is canceled
8378  - GPollableInput/OutputStream: Interfaces for pollable streams
8379  - TLS support has landed, with an extension point that is
8380    implemented in glib-networking
8381
8382 * GLib
8383  - Mainloop sources can now have 'child sources'
8384  - g_get_runtime_dir: New function to return the XDG_RUNTIME_DIR
8385
8386 * Bugs fixed:
8387  530786 GFileMonitor "changed" signal underdocumented
8388  588189 TLS support for GSocket*
8389  630357 g_object_new_valist uses uninitialized memory
8390  630559 typo in public string in gsocks: 'The SOCKSv5 require...
8391  632445 Documentation refers to removed GNOME 2.0 porting guide
8392  634239 Child GSources
8393  634241 Add pollable input/output streams
8394  634504 allow passing a NULL emblem to g_emblemed_icon_new()
8395  634613 unsufficient g_get_user_runtime_dir() documentation
8396  635640 schema should inherit gettext-domain from schemalist
8397  635768 Protect g_file_monitor_set_rate_limit() against negative...
8398  635882 Fix the wrong-category schema test
8399  635187 Wrong type of GVariant received in an action...
8400
8401 * Updated translations:
8402  Galician
8403  Italian
8404  Norwegian bokmål
8405  Uyghur
8406
8407
8408 Overview of Changes from GLib 2.27.2 to 2.27.3
8409 ==============================================
8410
8411 * The GTimeSpec type that was introduced in the 2.27.2 has been
8412   dropped again in favour of APIs that return microseconds as
8413   64-bit integer.
8414   Affected functions:
8415   g_source_get_time
8416   g_periodic_unblock
8417   g_get_monotonic_time
8418   g_get_real_time
8419   The similar GTimeVal struct is still around, but its use is
8420   discouraged.
8421
8422 * GTimer is now using monotonic time unconditionally
8423
8424 * There are some new functions to facilitate error reporting
8425   in async GIO APIs:
8426   g_simple_async_result_take_error
8427   g_simple_async_result_new_take_error
8428   g_simple_async_report_take_gerror_in_idle
8429
8430 * There is new convenience API to us GVariant dictionaries:
8431   g_variant_lookup
8432
8433 * It is now possible to delay sending match rules to the
8434   D-Bus daemon in GDBus:
8435   G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE
8436
8437 * Support has been added for XDG_RUNTIME_DIR:
8438   g_get_user_runtime_dir
8439
8440 * Various fixes for Win64/MSVC builds have been committed
8441
8442 * Bugs fixed:
8443  620263 Add g_clear_object, g_clear_pointer, g_clear_boxed
8444  633075 update Project Files and sources for MSVC 2008/C89
8445  633381 gsettings Makefile rules should handle empty list...
8446  633685 Use g_simple_async_result_{new_,}take_error
8447  633686 Add g_simple_async_report_take_gerror_in_idle
8448
8449 * Translation updates:
8450   Belarusian
8451   Galician
8452   Hebrew
8453   Punjabi
8454   Spanish
8455
8456
8457 Overview of Changes from GLib 2.27.1 to 2.27.2
8458 ==============================================
8459
8460 * GApplication
8461  - Export actions over DBus and support activating them from remote instances
8462  - Support environment passing
8463
8464 * GSettings
8465  - The gsettings utility has a list-recursively command
8466  - The gsettings utility has commandline completion for enum values
8467
8468 * GLib is now linked against librt and uses monotonic time for
8469   timeouts and GPeriod sources. GSource has a new g_source_get_time()
8470   which returns monotonic time, and g_source_get_current_time() has
8471   been deprecated
8472
8473 * Bugs fixed:
8474  158725 free linked list with data
8475  626320 GVariant: Avoid locking in g_variant_get_child_value() if possible
8476  629247 add gsimpleasyncresult methods to take over a GError
8477  629274 GNetworkService does not do fallback when there is no SRV record
8478  631264 gsettings-tool choice/range support
8479  631482 g_date_time_from_instant: 1000000000000000000
8480  632169 docs for manual use of gsettings-data-convert
8481  632571 Add equivalent to gconftool-2's -R option
8482  633115 GSettings m4 doesn't fail the build for broken schemas
8483  633206 Default g_application_local_command_line() doesn't set exit_status...
8484  633339 support more complex gapplication setups
8485  633356 Make timeout G_MAXINT mean "no timeout"
8486
8487 * Translation updates:
8488  Catalan (Valencian)
8489  Indonesian
8490  Japanese
8491
8492
8493 Overview of Changes from GLib 2.27.0 to 2.27.1
8494 ==============================================
8495
8496 * GDateTime now has full week number support.
8497   New API: g_date_time_get_week_numbering_year
8498
8499 * The GSettings schema compiler will now skip over
8500   broken .xml schema files instead of aborting altogether
8501
8502 * GSettings now works properly on bigendian systems
8503
8504 * GSettings has more complete support for ranges
8505   New API:
8506     g_settings_get_range
8507     g_settings_range_check
8508   The gsettings commandline tool supports ranges too.
8509
8510 * GApplication has been rewritten; see the API docs for details
8511   and examples. The action support is not complete yet.
8512
8513 * The GLib mainloop has gained 'dispatch to context' functionality,
8514   which can replace manually created idles in many cases.
8515   New API:
8516     g_main_context_invoke
8517     g_main_context_invoke_full
8518
8519 * The gio-desktop-app-info-lookup extension point has been
8520   removed from GIO. GIO now uses x-scheme-handler mimetypes when
8521   looking for default applications.
8522
8523 * On win32, make g_get_user_data_dir() return the CSIDL_LOCAL_APPDATA
8524   folder on Windows, and not CSIDL_PERSONAL. This matches what Qt does,
8525   and has been widely requested. Also make g_get_user_config_dir() return
8526   this and not the (roaming) CSIDL_APPDATA folder.
8527
8528 * A periodic event clock has been added in GIO: GPeriodic. Note that this
8529   API is still experimental and expected to undergo changes before it
8530   will be incorporated into a stable GLib release. Use at your own risk.
8531
8532 Bug fixes:
8533  613822 gobject signal connect/disconnect not thread safe
8534  618737 "dispatch to context" functionality
8535  620710 g_get_user_data_dir() uses CSIDL_PERSONAL and not CSIDL_APPDATA
8536  623400 acquire context before dispatching
8537  627126 gsettings schema files don't get installed on FreeBSD
8538  627171 g_socket_new_from_fd() doesn't set the right protocol
8539  628876 Wrong error description
8540  628937 gracefully handle broken schemas
8541  629274 GNetworkService doesn't fallback when there is no SRV record
8542  629289 g_error() used wrong, produces core dump
8543  629687 leaks class refcount in gsocketcontrolmessage
8544  629849 GLib-CRITICAL **: g_source_get_context: assertion `!SOURCE_...
8545  629945 GDBus deadlock in g_bus_get_sync()
8546  630000 g_date_time_difference
8547  630077 GDateTime week number support
8548  630185 Allow NULL strings in g_quark_try_string()
8549  630797 docs mention non-existent g_object_dispose()
8550  630968 gschema-compile problems on power g5
8551  631263 GSettings needs range/choice APIs
8552  631264 gsettings-tool choice/range support
8553  631379 GDBus nonce-tcp test failing
8554  631410 Port gapplookupgconf.c to using x-scheme-handler/
8555  632884 Possible deadlock in g_object_remove_toggle_ref()
8556
8557 Transation updates:
8558  Basque
8559  Brazilian Portuguese
8560  British English
8561  Bulgarian
8562  Czech
8563  Dutch
8564  Estonian
8565  French
8566  Galician
8567  German
8568  Greek
8569  Hebrew
8570  Hungarian
8571  Japanese
8572  Lithuanian
8573  Polish
8574  Portuguese
8575  Romanian
8576  Simplified Chinese
8577  Slovenian
8578  Spanish
8579
8580
8581 Overview of Changes from GLib 2.25.15 to GLib 2.27.0
8582 ====================================================
8583
8584 Build:
8585   - massive restructuring to reduce #include abuse
8586   - tweaks to silence some harmless compiler warnings
8587   - rename gschema-compile.c to glib-compile-schemas.c
8588   - Windows fixes
8589   - fix building with zlib < 1.2.4 on win32
8590
8591 GDateTime:
8592   - better msgctxt for translating month and weekday names
8593   - API is changed quite a lot, implementation is improved
8594   - GTimeZone is now exposed
8595
8596 GObject:
8597   - make ordering for overridden interface properties consistent
8598   - ->priv structures are limited to 64k but this was not documented,
8599     and exceeding this limit produced bad results.  Add docs and enforce
8600     the limit properly.
8601   - add g_object_class_install_properties() to install multiple
8602     properties in one go
8603   - improve debugging output for GValue containing G_TYPE_STRV
8604
8605 GIO:
8606   - fix priority sorting of GIO extensions
8607   - add GCredentials support on FreeBSD
8608   - fix support for IPv6 addresses in URI parsing functions
8609   - GSocketClient fixes for when g_socket_connect succeeds immediately
8610   - clarify string encoding for GFile constructors in docs
8611   - new functions g_data_input_stream_read_upto{,async,finish}
8612   - tweak confusing documentation for g_output_stream_write()
8613
8614 GDBus:
8615   - GDBusMessage can now be locked and copied (like in libdbus)
8616   - GDBusConnection filter function API has changed again
8617   - GDBusServer: ::new-connection now declares if the connection was claimed
8618   - add a partial workaround for GObject bug 627724.
8619   - very many memory leaks fixed
8620
8621 GVariant:
8622   - check for size == 0 in g_variant_get_bytestring to avoid a crash
8623     when attempting to get_bytestring() from an empty array
8624   - improve gobject-introspection annotations
8625
8626 GSettings:
8627   - add GSettings Windows registry backend
8628   - some internal tweaks to the backend API
8629   - remove g_settings_list_items
8630   - add g_settings_list_children and _list_keys to replace it
8631   - add schema compiler restrictions for dealing with lists
8632   - don't automatically emit value changed signals on writability
8633     changes
8634
8635 Other:
8636   - constify the 'parser' vtable param to g_markup_parse_context_push()
8637   - plug many memory leaks in test cases
8638
8639 Bugs closed:
8640   50076 Time API to go with date API
8641  584284 g_data_input_stream_read_until_async different from sync version
8642  624546 Modification of GDBusMessage in filter function
8643  626919 Let g_object_class_install_property() return the installed GParamSpec*
8644  628029 GDateTime missing get_week_of_year method
8645  628253 Interface properties not listed in a consistent order
8646  628331 Plug lots of mem leaks in gio test suite
8647  628345 Plug a mem leak
8648  628436 Plug a mem leak
8649  628505 Fix building with zlib < 1.2.4 on win32
8650  628839 [PATCH] datetime: Rename shadowing variables
8651  628904 [PATCH] Add credential support for FreeBSD and fix a socket issue
8652  628952 incorrect glib_major_version and other variables on cygwin.
8653  629192 g_strdup_value_contents(): dump GStrv more usefully
8654  629251 g_socket_client_async_connect_complete: assertion failed
8655  629259 Failed to connect to "::1"
8656  629328 g_markup_parse_context_push doesn't respect const structs
8657  629429 month "May" short and full form same with "GDateTime" msgctxt
8658  629689 GDBusConnection leaks its GCredentials
8659  629698 Segfault in g_variant_get_bytestring() 
8660
8661 Updated translations:
8662   Arabic
8663   Armenian
8664   Basque
8665   British English
8666   Czech
8667   Finnish
8668   Galician
8669   German
8670   Hungarian
8671   Indonesian
8672   Japanese
8673   Lithuanian
8674   Norwegian bokmål
8675   Polish
8676   Portuguese
8677   Punjabi
8678   Simplified Chinese
8679   Slovenian
8680   Spanish
8681   Swedish
8682   Swedish
8683   Traditional Chinese
8684
8685 Overview of Changes from GLib 2.25.14 to GLib 2.25.15
8686 =====================================================
8687
8688  * GIO
8689   - Memory leak fixes
8690   - The GZip(De}Compressor can now process header information
8691   - Support for network proxies has been added, with the GProxy
8692     interface and the gio-proxy-resolver extension point. GIO
8693     includes SOCKSv4 and SOCKSv5 implementations, and libproxy
8694     is also going to provide an implementation of this extension
8695     point.
8696   - There are GAction and GActionGroup interfaces now, which will
8697     be used in GApplication in the near future.
8698
8699  * GObject
8700   - There are now convenience macros for defining boxed and
8701     pointer types
8702
8703  * GDBus
8704   - Memory leak fixes
8705   - GDBusProxy for well-known names can now auto-restart
8706     the service if the name owner disapperas
8707   - Filter functions are now allowed to modify messages
8708
8709  * GLib
8710   - GDateTime is a replacement for GDate that supports time
8711     and timezone information.
8712
8713  * Bugs fixed:
8714   50076 Time API to go with date API
8715  449565 Add G_DEFINE_BOXED_TYPE()
8716  617691 Add GZIP header processing to GZlibCompressor/GZlibDecompressor
8717  622184 add g_memory_output_stream_steal_data
8718  624546 Modification of GDBusMessage in filter function
8719  627088 Build failure in gdbus-peer.c on FreeBSD
8720  627181 save a memdup
8721  627182 Plug a mem leak in the gdbus-connection test
8722  627187 Plug some gdbus mem leaks
8723  627188 gdbus-non-socket test occasionally fails
8724  627252 G_OPTION_FLAG_NO_ARG is only for callback options
8725  627392 gdbus commit 8a3a4596 breaks win32 compile
8726  627407 FTBFS on !linux UNIX platforms
8727  627604 String error: 'that' twice in a row
8728  627969 ABR in g_file_open_tmp
8729  628084 gdbus-peer fails with assertion
8730  628193 Miscellaneous string fixes
8731  628296 abort() in gsocketconnection.c
8732  628309 Plug a mem leak in GConverterOutputStream
8733  628317 GEmblemedIcon:equal implementation is buggy
8734  628323 Fix invalid reads
8735  628327 Plug a mem leak
8736  628328 Plug a mem leak
8737  628329 Don't leak the FD list
8738  628324 Invalid reads in gdbus-export test
8739
8740  * Updated translations:
8741   British English
8742   Danish
8743   Galician
8744   Hebrew
8745   Punjabi
8746   Serbian
8747   Spanish
8748   Traditional Chinese
8749
8750
8751 Overview of Changes from GLib 2.25.13 to GLib 2.25.14
8752 =====================================================
8753
8754 * GDBus
8755  - Make the closure variants of GDBus apis work
8756  - Make error unregistration work
8757  - Use async IO in the IO thread (626748)
8758
8759 * GIO
8760  - Make g_simple_async_result_is_valid work without source (626208)
8761  - GSocketClient: add a timeout property
8762  - Fix memory leaks in GSocketClient
8763  - Handle async vs. sync correctly in GSocketConnection stream (616458)
8764  - Declare stream base classes as abstract
8765  - Clarify semantics of g_output_stream_write() (627071)
8766
8767 * Other
8768  - Improve test coverage for GDBus, GRegex, GAsyncResult
8769  - Drop dead code in pcre, xdgmime
8770  - Fix a race condition in gtester (578295)
8771  - Avoid an extra allocation in GAsyncQueue (626704)
8772  - Add test case for non-socket GIOStream (626841)
8773  - More explicit GVariant docs (622770)
8774  - Imroved docs for GAsyncInitable and GSimpleAsyncResult (602417)
8775
8776 * Translation updates:
8777  - Galician
8778  - Norwegian bokmål
8779  - Punjabi
8780  - Simplified Chinese
8781  - Swedish
8782
8783
8784 Overview of Changes from GLib 2.25.12 to GLib 2.25.13
8785 =====================================================
8786
8787 +-------------------------------------------------------------------+
8788 |   WARNING: There have been no breaks in API or ABI.  Weird, eh?   |
8789 +-------------------------------------------------------------------+
8790
8791 The primary purpose of this release is to fix a serious problem with
8792 glib 2.25.12: glibconfig.h (as generated on a Fedora amd64 system) was
8793 being distributed in the tarball.  It was being used to build some parts
8794 of glib on other systems (eg: 32bit ones).  This was causing some very
8795 serious problems.
8796
8797 There have been many other improvements, however:
8798
8799  Build and testing:
8800   - vastly improved test coverage
8801   - old tests moved to the gtester framework
8802   - gtester Makefile modified so that the tests only run once
8803   - cleanup of how we handle includes while building glib
8804
8805  GVariant:
8806   - add a g_return_if_fail (utf8) to g_variant_new_string()
8807
8808  GDBus:
8809   - perform extra sanity checks when serialising messages
8810   - add API to query and set the byteorder of a GDBusMessage
8811   - improve debug output, add some extra options
8812   - if exiting due to the bus disconnecting us, print an error message
8813     explaining why
8814   - sort property names correctly
8815   - don't bother sending RemoveMatch when we will close the connection
8816     anyway
8817   - use effective uid/gid for credential passing
8818
8819  GSettings:
8820   - add G_SETTINGS_BIND_INVERT_BOOLEAN for inverting boolean bindings
8821     without mapping functions
8822   - mark all strings in the schema compiler for translation
8823
8824  Binding:
8825   - improve closure support for bindings
8826   - copy GSettings INVERT_BOOLEAN flag
8827
8828  Other:
8829   - fix another complicated GCancellable deadlock possibility
8830
8831 Bugs closed:
8832  599590 glib build doesn't look for correct pkg-config
8833  619026 avoid warning in gutils.h when using gcc with -Wconversion
8834  624739 Please fix POTFILES.in
8835  625472 Valgrind claims uninitialized bytes used
8836  625500 g_date_set_time_val documentation doesn't mention local time
8837  625628 GDBusProxy: wrong property name sorting
8838  625753 Incorrect flags used in g_dbus_connection_call_sync()
8839  625827 Expand documentation about error quark naming
8840  625988 builddir != srcdir issues
8841  626107 glibconfig.h is being disted
8842
8843 Updated translations:
8844  French
8845  Galician
8846  Hebrew
8847  Norwegian bokmål
8848  Spanish
8849
8850
8851 Overview of Changes from GLib 2.25.11 to GLib 2.25.12
8852 =====================================================
8853
8854 +-------------------------------------------------------------------+
8855 | WARNING: There have been many API changes in GDBus -- sending     |
8856 | messages, subscribing to signals, closing connections and         |
8857 | registering subtrees are affected.  The ABI for GSettingsBackend  |
8858 | has also been changed.  For both reasons, a new dconf release is  |
8859 | required (and will be along soon).                                |
8860 +-------------------------------------------------------------------+
8861
8862 Build:
8863   - cleanup automake setup
8864   - rename configure.in to configure.ac
8865   - various docs fixups
8866   - move glibconfig.h to glib/
8867   - disable dtrace support on Mac OS (which has incompatible 'dtrace')
8868
8869 GSettings:
8870   - add support for vendor override files (to change the default values
8871     in a schema)
8872   - change GSettingsBackend vtable
8873   - add g_settings_reset()
8874   - support binding to G_TYPE_STRV properties
8875
8876 GDBus:
8877   - many bug fixes, including a serialisation fix
8878   - stop handling incoming connections as soon as stop() is called
8879   - proper support for file descriptor passing
8880   - new flags parameter for sending messages
8881   - new flags parameter for subscribing to signals
8882   - always reset the message serial when sending a message unless
8883     G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL is given
8884   - constness fixes for introspection structures
8885   - clean ups to subtree registration API
8886
8887 Other:
8888   - fix divide by zero bug in g_malloc_n functions
8889   - GIO: don't blindly assume that SOCK_CLOEXEC is supported
8890   - make GObject property notify freezes threadsafe
8891   - GIO: clean up credentials passing
8892   - GApplication: make default-quit not apply if register=FALSE
8893   - GIO: add annotations for gobject-introspection
8894
8895 Bugs closed:
8896  166020 use GAtomic for refcounting
8897  617483 Credentials passing
8898  622005 [GApplication] no way to modify the "default-quit" property
8899  623293 vendor override files
8900  623810 Message serialization bug
8901  623815 Don't check sender for GDBusProxy objects where name is not set
8902  624473 GDBusSubtreeIntrospectFunc return type
8903  624483 GDBusSubtreeEnumerateFunc clarification
8904  624484 GDBusSubtreeDispatchFunc clarification
8905  624754 gdbusaddress.c missing sys/wait.h
8906  624968 div by zero in g_malloc_n family
8907  624991 GSettings mapping for G_TYPE_STRV 
8908  625383 Add missing GI annotations
8909
8910 Updated Translations:
8911  Armenian
8912  Galician
8913  German
8914  Hebrew
8915  Kazakh
8916  Romanian
8917  Simplified Chinese
8918  Spanish
8919
8920 Overview of Changes from GLib 2.25.10 to GLib 2.25.11
8921 =====================================================
8922
8923 +-------------------------------------------------------------------+
8924 | WARNING: There have been minor API changes in GDBus and GVariant. |
8925 | These API changes will not affect many users, but they do require |
8926 | a new version of GTK+ to be installed.                            |
8927 +-------------------------------------------------------------------+
8928
8929 Build:
8930   - add a --disable-Bsymbolic configure flag to disable linking with
8931     -Bsymbolic-functions
8932   - this release sees the complete removal of the old 'g*alias' hacks
8933   - honour the NOCONFIGURE environment variable from autogen.sh
8934   - use proper feature test macros for isnan
8935   - use pkg-config to check for zlib
8936   - add ACLOCAL_AMFLAGS to Makefile.am
8937
8938 GDBus:
8939   - hide Class and instance structures for all GDBus types except
8940     GDBusProxy.  This breaks API by preventing subclassing, but probably
8941     nobody was doing that.
8942   - add new GDBusConnection call to support flushing all pending
8943     outgoing messages
8944   - change the register_object API to add a reference to the
8945     GDBusInterfaceInfo object so the caller need not keep it alive
8946     themselves
8947   - don't rewrite the serial number when sending messages that already
8948     have a serial number
8949   - better error checking for DBUS_SESSION_BUS_ADDRESS environment
8950     variable
8951   - switch to g_parse_debug_string for G_DBUS_DEBUG and add a lot of new
8952     flags
8953   - add support for temporarily freezing a freshly created
8954     GDBusConnection.  Do this until after the ::new-connection signal
8955     has finished running on GDBus services.
8956   - never require non-closed connections (the user is incapable of doing
8957     this due to the obvious race)
8958   - remove weird/misleading redundant check on NameOwnerChanged signal
8959   - emit GDBusProxy::g-properties-changed on NameOwnerChanged
8960
8961 GVariant:
8962   - the 'g_variant_{new,get}_byte_array' APIs have been removed
8963   - g_variant_{new,get,dup}_bytestring has been added, with different
8964     arguments and different behaviour
8965   - g_variant_{new,get,dup}_bytestring_array has been added, doing
8966     essentially the same thing as the 'strv' functions, but with byte
8967     strings instead of utf8 strings
8968   - G_VARIANT_TYPE_BYTESTRING ('ay'), BYTESTRING_ARRAY ('aay') and
8969     STRING_ARRAY ('as') constants have been added
8970   - the undocumented behaviour that g_variant_get_strv() deserialised
8971     arrays of object paths or signature strings has been dropped
8972   - additional varargs support for converting bytestrings or bytestring
8973     arrays with ^ay ^aay ^&ay and ^a&ay
8974   - improved gobject-introspection annotation
8975   - fix a problem with GBuffer calling g_slice_free for the wrong type
8976   - fix leaks in the type inferencing code of the parser
8977
8978 GSettings:
8979   - improved documentation
8980   - updated schema XML DTD, now xincluded into the docs
8981   - added support for schemas that extend other schemas (using the
8982     'extends=' attribute).  Values of keys in the base schema can be
8983     overridden using <override>.
8984   - added theoretical support for lists (using the 'list-of=' attribute)
8985   - lots of new tests
8986   - add support for flags (implemented similarly to enums)
8987   - add support for generating .enums.xml files to gsettings.m4:
8988       gsettings_ENUM_NAMESPACE = org.example.myapp
8989       gsettings_ENUM_FILES = ../path/to/*.h
8990     will generate org.example.myapp.enums.xml with mappings for all
8991     enums and flags in the specified .h files.
8992   - warn with g_message() if the 'memory' backend is used by default
8993     (ie: because no other GSettings backends are installed)
8994   - fix get_property() for GSettings::schema
8995   - command line tool: fix a bug that prevented non-basic values from
8996     being set due to a premature free
8997   - command line tool: bash completion support
8998   - chain up in _finalize
8999   - add a new g_settings_get_mapped API to read settings that require
9000     post-processing
9001   - retry with the translated or schema default value if the
9002     GSettingsBindGetMapping function fails
9003   - schema compiler: never fail due to empty schema directories (but
9004     warn)
9005   - peek rather than ref/unref the GEnumClass in the mapping function
9006   - schema compiler: compile *.enums.xml before *.gschemas.xml to ensure
9007     that we have all the enums that the schemas may reference
9008   - schema compiler: improve accuracy of line numbers in error reports
9009   - fix crashes in the keyfile backend caused by invalid group names in
9010     the keyfile
9011
9012 Other:
9013   - always intern GBinding prop names
9014   - base64: remove asserts preventing conversion of empty strings
9015   - document NULL special-cases for GValueArray
9016   - GNode docs improvements
9017   - improve detection of 'system internal' mounts
9018   - fix leaks in the inotify GFileMonitor implementation
9019   - annotate all custom GIO GSources to improve debugging (e.g. using
9020     SystemTap)
9021
9022 Tests:
9023   - Turn on glibc malloc checking features for make check
9024   - improvements for GSettings tests, plus new tests
9025   - improved tests for GKeyfile
9026   - new tests for GDir, GSList, GSList, GAppLaunchContext,
9027     CharsetConverter, GIcon, ...
9028   - move some tests to GTester (tree tests, uri tests)
9029   - generally, really an awful lot of new tests
9030   - don't try to allocate 2gigs of memory anymore for the array test
9031
9032  552363 g_value_array_{insert,prepend,append}'s special cases for NULL
9033  561248 Improve return value description from g_node_prev/next_sibling()
9034  570036 Add ACLOCAL_AMFLAGS to Makefile.am
9035  576833 g_sprintf add a reference to g_strdup_printf
9036  576854 g_strconcat() documentation should provide a hint about bad l10n
9037  582227 reference: add other URI functions to 'URI Functions' section
9038  599223 should provide g_spawn_* variants that take a GAppLaunchContext
9039  610784 array test failing
9040  613057 Leak in inotify GFileMonitor implementation
9041  620536 Annotate all custom GIO GSource using g_source_set_name
9042  620913 More control with G_DBUS_DEBUG
9043  622124 implement flags
9044  622127 GSettings extended key validation
9045  622128 retry with default value for failed mapping
9046  622294 More annotations for GVariant
9047  622565 glib-compile-schemas fails when no schemas
9048  622600 Fix missing prototype warning
9049  622813 gsettings mapping & enum buglet
9050  623142 Ensure ::new-connection runs before processing D-Bus messages
9051  623143 Never require non-closed connections
9052  623319 use g_parse_debug_string for dbus debug flags
9053  623401 process enums first
9054  623402 schema compiler reports wrong line numbers
9055  623407 g_keyfile_settings_backend_new crashes with the key "/"
9056  623473 zlib should be checked with pkg-config
9057  623537 GDBusProxy has weird checking on NameOwnerChanged
9058  623538 GDBusProxy::g-properties-changed emission for corner cases
9059  623692 directory with file at multiple MLS levels may display empty
9060  623720 gschema.dtd does not contain enum definitions
9061  623770 quoting of expand_macro in gdesktopappinfo.c
9062  623772 gdesktopappinfo.c, function child_setup
9063  623780 g_unix_is_mount_path_system_internal
9064  623954 g_settings_finalize
9065  623955 Dubious return values
9066
9067 Updated translations:
9068  Galician
9069  Hebrew
9070  Norwegian bokmål
9071  Spanish
9072
9073 Overview of Changes from GLib 2.25.9 to GLib 2.25.10
9074 ====================================================
9075
9076 +----------------------------------------------------------------+
9077 | WARNING: There have been API changes in GDBus. Users of these  |
9078 | APIs will need to be adapted.  In particular, a new release of |
9079 | dconf is required to go along with this one.  There has also   |
9080 | been a change in the GSettings backend API used for keyfiles.  |
9081 +----------------------------------------------------------------+
9082
9083 * GDBus:
9084  - add direction parameter to filter functions (API change)
9085  - allow calling other interfaces with a GDBusProxy
9086  - padding added to class struct fields (ABI change)
9087  - fixes for closures-based functions
9088
9089 * GVariant:
9090  - new is_floating() call
9091  - add g_value_take_variant() call (required for marshallers)
9092
9093 * GSettings:
9094  - support for binding GParamSpecEnum properties
9095  - ifelse-style condition support for GLIB_GSETTINGS m4 macro
9096  - remove gsettings-schema-convert tool (now in GConf)
9097  - allow introspection of all installed schemas
9098  - allow introspection of the keys in a schema
9099  - rewrite keyfile backend (API change)
9100
9101 * GNIO:
9102  - don't implicitly close GSocket until it is destroyed
9103  - windows fixups
9104
9105 * Other:
9106  - allow GChecksum to take (NULL, 0) for data/length
9107  - GRelation and GCompletion are now deprecated
9108  - introduce G_PARAM_DEPRECATED and G_ENABLE_DIAGNOSTIC
9109  - add working directory to GApplication platform data
9110  - lots of documentation cleanups
9111  - PCRE updated to 8.02
9112
9113 * Build:
9114  - the IA__g_* style symbol aliasing has been disabled and replaced with
9115    the -Bsymbolic-functions linker flag on platforms that support it.
9116    Please be on the watch for portability issues and report them to us.
9117  - many test cases have been moved to the GTester framework
9118  - lcov support has been added for tests
9119  - many windows fixes
9120
9121 * Bugs fixed:
9122  501057  lcov coverage suite and GLib integration
9123  551271  deprecate GRelation
9124  601686  Implement diagnostic mode
9125  603309  GSocketOutputStream broken on Windows (?)
9126  616718  GLIB_GSETTINGS macro can't be used conditionally
9127  616855  GSocketConnection: don't close the socket if it's still reffed
9128  618866  g_ptr_array_remove_index_fast memory leak
9129  619878  keyfile backend calls keys_changed with invalid argument
9130  619879  keyfile backend doesn't make use of expected_type
9131  621092  Add with_closures() variants for bindings
9132  621172  Cross compiling fails
9133  621838  Actually add cwd to platform data
9134  621945  Filter outgoing messages in GDBusConnection
9135  621947  add g_value_take_variant
9136  622038  GSettings: "It is a programmer error" documentation is unclear
9137  622154  [patch] update documentation for g_application_new
9138  622281  binding: Add SYNC_CREATE to the flags
9139  622480  Improve documentation for g_strcmp0()
9140  622554  g_error called if schema not installed
9141  622601  Return interned strings from g_settings_list_keys
9142
9143 * Translation updates:
9144  - Galician
9145
9146 Overview of Changes from GLib 2.25.8 to GLib 2.25.9
9147 ===================================================
9148
9149 +----------------------------------------------------------------+
9150 | WARNING: There have been API changes in GDBus, GSettings and   |
9151 | GApplication. Users of these APIs will need to be adapted. In  |
9152 | particular, a new release of GTK+ is required to go along with |
9153 | this one.                                                      |
9154 +----------------------------------------------------------------+
9155
9156 * GDBus
9157  - Use Gio's default async implementation
9158  - Fix proxy construction for objects with no properties
9159  - Fix error handling in synchronous initialization
9160  - Do not dispatch calls to unregistered objects
9161  - Add _with_closures alternative functions
9162  - Allow constructing GDBusProxy with well-known names
9163  - Remove GType parameters from GDBusProxy constructors
9164  - Nuke g_bus_watch_proxy API
9165  - Add --xml to gdbus-tool to print raw introspected XML
9166
9167 * GSettings
9168  - schema file format change: store (default, options) in gvdb
9169  - Add g_settings_sync()
9170  - Add support for enums and ranges
9171  - 'context' support has been replaced by direct use of
9172    GSettingsBackend
9173
9174 * GApplication
9175  - Switch to using variants for timestamps
9176  - Use GInitable
9177
9178 * GObject
9179  - Introduce g_object_notify_by_pspec
9180  - Add GBinding
9181  - The GVariant gtype G_TYPE_VARIANT was changed from boxed
9182    to fundamental. We believe there were no existing users
9183    of the boxed type, so this should not cause any applications
9184    to break.
9185
9186 * Test framework
9187  - Add package and version to the test report XML
9188  - Use optparse to parse gtester-report commandline
9189  - Add subunit support to gtester-report
9190  - Prevent division by zero if no tests
9191
9192 * Bugs fixed:
9193  621782 Crash using gbinding
9194  619945 GConverterOutputStream triggers assertion and corrupts data
9195  621319 more leaked GVariants in GSettings
9196  621168 GKeyFile memory leak on Windows platform
9197  621002 Switch to using variants for timestamps, split out signals
9198  620953 tiny docs addition
9199  618904 Lies in gunixmounts documentation
9200  621702 Correctly initialize GError
9201  611778 minor cleanup of gtester-report
9202  621213 GDBusProxy and well-known names
9203  621034 Rewrite apps test to ensure children are killed
9204  620954 gapplication gvariant simplifications
9205  611869 add subunit out feature to gtester-report
9206  621119 GDBusProxy and objects with no properties
9207  620990 Use Gio's default async implementation again
9208  620952 g_application_register_with_data is an ugly API
9209  621252 GSettings leaks context
9210  618715 fork() in GSettings test cases is problematic 618715
9211  621905 Assume a ref when doing async work
9212  621266 GSettings "context" clarification
9213
9214 * Translation updates:
9215  Chinese
9216
9217
9218 Overview of Changes from GLib 2.25.7 to GLib 2.25.8
9219 ===================================================
9220
9221 * Initial support for dtrace and systemtap profiling:
9222  - mainloop sources can be named
9223  - probes for memory allocation with g_malloc and gslice
9224  - gquark name tracking
9225  - type creation
9226  - object life-cyle (creation, finalization, ref, unref)
9227  - signal creation and emission
9228
9229 * GVariant
9230  - has been fixed to work with the FreeBSD malloc
9231  - added introspection annotations
9232  - new function: g_variant_builder_add_parsed
9233
9234 * GSettings:
9235  - g_settings_set/get_strv functions have lost their length parameter
9236  - g_settings_set_strv accepts NULL
9237  - added introspection annotiations
9238
9239 * GPermission: an abstract interface for representing permissions,
9240   with a minimal implementation named GSimplePermission
9241
9242 * GApplication: a basic application support class, with a D-Bus based
9243   implementation
9244
9245 * Bugs fixed:
9246  619585 glib-compile-schemas asserts on FreeBSD
9247  620384 Annotate GVariant and GSettings _strv() functions
9248  606044 Add support for dtrace/systemtap static markers
9249  620350 add g_variant_builder_add_parsed() API
9250  620349 utf8ify GVariant printer
9251  620767 Typo in GSettings documentation: "INTLTOOL_NOMERGE_RULE"
9252  620312 Fix g_settings_[gs]et_strv() API
9253  620519 GPermission
9254  620582 GPermission needs a simple implementation
9255  620496 GSettings schema compiler should reject invalid paths
9256  620173 missing single header inclusion guards
9257  620265 g_assertion_message_error should take const GError *
9258
9259 * Translation updates:
9260  Esperanto
9261  Galician
9262  Hebrew
9263  Indonesian
9264  Norwegian bokmål
9265  Slovenian
9266  Spanish
9267
9268
9269 Overview of Changes from GLib 2.25.6 to GLib 2.25.7
9270 ===================================================
9271
9272 * NOTE: API/ABI breaks since 2.25.6 release:
9273   - g_dbus_connection_sync{,_sync} takes a new 'reply_type' argument
9274   - GSettingsBackendClass 'list' virtual function changed
9275
9276   GSettings backends and things using GDBus may need to be rebuilt.
9277
9278 * GDBus: many build-related fixes
9279
9280 * GDBus (service): return a DBus error when receiving a method call for
9281   an unknown interface.
9282
9283 * GSettings: fix 'make install' bug in gsettings.m4 for generated schema
9284   files
9285
9286 * GSettings: avoid non-portable use of LC_MESSAGES
9287
9288 * better approach to handling man pages
9289
9290
9291 * Bugs fixed:
9292  619527 please improve docs on g_file_make_symlink
9293  619391 send-with-reply should have expected result signature
9294  618616 Use stack-allocated GVariantBuilders
9295  617004 Build with "--disable-nls" fails under MinGW/Win32
9296  619142 Build fixes (GDBus)
9297
9298 * Updated translations:
9299  Estonian
9300  Galician
9301  Norwegian bokmål
9302
9303 Overview of Changes from GLib 2.25.5 to GLib 2.25.6
9304 ===================================================
9305
9306 * GDBus: introspection improvements
9307 * GDBus: build fixes
9308
9309 * GSettings: GSettingsBackend ABI changed               **** NOTE ****
9310 * GSettings: --uninstall option for schema compiler
9311 * GSettings: new m4 macro with more power
9312 * GSettings: thread support
9313
9314 * rework of file notification on Solaris
9315 * fixes for gold linker
9316
9317 * Bugs fixed:
9318  619038 increase gsettings.m4 power
9319  619031 method-calls-in-thread test failing
9320  618839 Typo at translation message
9321  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
9322  618730 gunixcredentialsmessage.c doesn't compile on GNU/kfreebsd
9323  616314 Make GSettings (partially) threadsafe
9324
9325 * Updated Translations:
9326  Indonesian
9327  Galician
9328  Spanish
9329
9330 Overview of Changes from GLib 2.25.4 to GLib 2.25.5
9331 ===================================================
9332
9333 * GDBus: Fix serialization of empty arrays
9334
9335 * GDBus: Plug various memory leaks
9336
9337 * GSettings: Fix problems with GSETTINGS_CHECK_RULE
9338
9339 * Bugs fixed:
9340  616731 GSETTINGS_CHECK_RULE doesn't work in non-srcdir builds
9341  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
9342  618615 mem leaks in parse_value_from_blob
9343  618622 Plug some mem leaks in gdbus
9344  618650 Plug a mem leak in gdbusauth
9345  618663 Plug mem leaks in gdbus tests & examples
9346
9347 * Updated translations:
9348  Spanish
9349
9350
9351 Overview of Changes from GLib 2.25.3 to GLib 2.25.4
9352 ===================================================
9353
9354 * GDBus D-Bus support has been merged. This provides an API
9355   to replace dbus-glib
9356
9357 * GVariant no requires strings to be UTF-8. You can use byte
9358   arrays for non-UTF-8 strings.
9359
9360 * GSettings allows to bind string properties to byte arrays
9361
9362 * The schema compiler supports range restrictions
9363
9364 * Bugs fixed:
9365  618051 socket-server|client.c fail to compile under AIX...
9366  616102 GSettings ignores <choice> and <range>
9367  616720 Chunked quark allocation
9368  616877 Several issues with g_socket_receive_message
9369  616892 gio: Add a boxed type for GFileAttributeMatcher
9370  616967 Add g_regex_get_compile_flags() and g_regex_get_match_flags()
9371  617767 g_settings_[gs]et_strv() 'length' argument has missing docs...
9372  617914 gtester-report: cope with binaries with no test cases
9373  617937 output_stream_close vs output_stream_close_async semantics
9374  615494 Connction timeouts produce partially invalid error messages
9375  617823 glib-compile-schemas problems with an out of source build
9376  617947 glib-mkenums: add @valuenum@ support
9377
9378 * Translation updates:
9379  Galicaian
9380  Norwegian bokmål
9381  Shavian
9382  Spanish
9383
9384
9385 Overview of Changes from GLib 2.25.2 to GLib 2.25.3
9386 ===================================================
9387
9388 * New macro: G_GNUC_DEPRECATED_FOR, a variant of G_GNUC_DEPRECATED
9389   that lets you add replacement information (requires gcc 4.5)
9390
9391 * Rename AM_GSETTINGS autoconf macro to GLIB_GSETTINGS
9392
9393 * Rename gschema-compile utility to glib-compile-schemas
9394
9395 * Add support for timeouts in GSocket
9396
9397 * Bugs fixed:
9398  589989 Compilation error on Solaris 9
9399  616648 Change AM_GSETTINGS macro to GLIB_GSETTINGS
9400  587898 I/O timeouts for GSocket
9401  614541 Add G_TYPE_ERROR boxed type for GError
9402
9403
9404 Overview of Changes from GLib 2.25.0 to GLib 2.25.2
9405 ===================================================
9406
9407 * Include a 'gsettings' utility, for commandline access to GSettings
9408
9409 * Install a AM_GSETTINGS autoconf macro similar to AM_GCONF
9410
9411 * GSettings can bind the writability of a key explicitly
9412
9413 * There is now a predefined boxed type for GError
9414
9415 * Bugs fixed:
9416  615379 g_new macros crash if sizeof(struct_type) == 0
9417  616312 Add m4 rule equivalent to GCONF_SCHEMAS_INSTALL
9418  616295 mapping bug for uint64
9419  616216 glib compile from remote directory fails
9420  615960 Fix size passed to connect() for abstract sockets
9421  616432 Crash in gschema-compile
9422  616331 gsettings-schema-convert uses imaginary types
9423  616309 gsettings-schema-convert should output gettext-domain
9424  616384 Add mention of GConfBridge in conversion docs
9425  616311 gschema-compile outputs in current directory
9426  616276 simplify gschema-compile test setup
9427  616156 keys with unnecessary empty options arrays
9428  616405 gsettings missing g_return_if_fail's
9429  616245 Use G_DEFINE_INTERFACE macro
9430  614541 Add G_TYPE_ERROR boxed type for GError
9431
9432 * Updated translations:
9433  Catalan (Valencian)
9434  Galician
9435  Kannada
9436  Spanish
9437
9438
9439 Overview of Changes from GLib 2.24.0 to GLib 2.25.0
9440 ===================================================
9441
9442 * The GSettings framework has been merged. This provides the API to
9443   replace GConf. DConf will provide a backend implementation for it.
9444   GConf will also provide a backend implementation to ease the
9445   transition. We provide utilities to assist with schema conversion
9446   and data migration, as well as a porting guide.
9447
9448 * Translation updates:
9449  Bengali
9450  Catalan
9451  Danish
9452  Gujarati
9453  Marathi
9454  Thai
9455  Traditional Chinese
9456
9457
9458 Overview of Changes from GLib 2.23.6 to GLib 2.24.0
9459 ===================================================
9460
9461 * It is now allowed to call g_thread_init(NULL) multiple times, and
9462   to call glib functions before g_thread_init(NULL) is called
9463   (although the later is mainly a change in docs as this worked before
9464   too). See the GThread reference documentation for the details.
9465
9466 * GObject now links to GThread and threads are enabled automatically
9467   when g_type_init() is called.
9468
9469 * GObject no longer allows to call g_object_set() on construct-only properties
9470   while an object is being initialized. If this behavior is needed, setting a
9471   custom constructor that just chains up will re-enable this functionality.
9472
9473 * GMappedFile on an empty file now returns NULL for the contents instead of
9474   returning an empty string. The documentation specifically states that code
9475   may not rely on nul-termination here so any breakage caused by this change
9476   is a bug in application code.
9477
9478 * Bug fixes:
9479  613601 buglet in dup_close_on_exec_fd
9480  584284 g_data_input_stream_read_until_async behaves confusingly
9481  613748 Write errors in middle of copy cause hang
9482  613923 splice_stream_with_progress: wrong error handling
9483  613667 Typo in GObject documentation
9484  613618 gvariant format string docs unclear
9485
9486 * Translation updates:
9487  Basque
9488  Ukrainian
9489  Vietnamese
9490
9491
9492 Overview of Changes from GLib 2.23.5 to GLib 2.23.6
9493 ===================================================
9494
9495 * Class private data:
9496   - support for private data associated with a GTypeClass
9497
9498 * GVariant merge is now complete:
9499   - loading functions and parser merged
9500
9501 * Windows improvements:
9502   - socket fixes
9503   - various build improvements
9504   - removal of GCC/C99isms in favour of portable code
9505   - drop unmaintained Visual Studio 8 support
9506
9507 * Minor API addition:
9508   - g_desktop_app_info_get_filename()
9509
9510 * Bugs fixed:
9511  521707 Class private data
9512  612502 build fails on glib/tests/gvariant.c
9513  612832 [GDesktopAppInfo] New function g_desktop_app_info_get_filename
9514  612702 [PATCH] Fix GSocket-related crash on Windows
9515  612736 Improve the documentation about single include
9516  610858 gvariant test fails sometimes
9517  612327 uninitialized variable
9518
9519 * New translations:
9520  Afrikaans
9521  LowGerman
9522
9523 * Updated translations:
9524  Czech
9525  Finnish
9526  Galician
9527  Greek
9528  Punjabi
9529  Romanian
9530  Serbian
9531
9532
9533 Overview of Changes from GLib 2.23.4 to GLib 2.23.5
9534 ===================================================
9535
9536 * New API addition: g_malloc_n() and friends used to implement an
9537   overflow-safe family of g_new() macros.
9538
9539 * GVariant:
9540  - GVariantBuilder and GVariantIter are now merged.
9541  - The variable arguments API is now merged.
9542  - The parser will be in a future release.
9543
9544 * GIO:
9545  - Remove GUtf8InputStream (which never appeared in a stable release)
9546    for now since it doesn't satisfy the needs of its main intended use
9547    case.  We hope to reimplement this feature in a better form in a
9548    future release.
9549
9550 * Bugs fixed:
9551  609531 missing licence headers
9552  612107 Missing G_FILE_ATTRIBUTE_TRASH_ORIG_PATH
9553  611897 g_io_modules_scan_all_in_directory leaks
9554  608196 Overflow-safe g_new family
9555  611696 gio uses GetAddrInfo which requires special handing on windows 2k
9556  605667 Don't use G_PARAM_SPEC_VALUE_TYPE when we know the pspec is valid
9557  610860 test_g_file_open_readwrite fails if $HOME is unwritable
9558  552912 glib-2.18 /live-g-file/test_copy_move failed when run as root
9559  609813 Renaming a file discards file notes
9560
9561 * Updated translations:
9562  Basque
9563  Brazilian Portuguese
9564  British English
9565  Bulgarian
9566  Catalan
9567  Danish
9568  Estonian
9569  French
9570  German
9571  Hungarian
9572  Italian
9573  Lithuanian
9574  Norwegian bokmål
9575  Portuguese
9576  Russian
9577  Slovenian
9578  Spanish
9579  Swedish
9580  Traditional Chinese
9581
9582
9583 Overview of Changes from GLib 2.23.3 to GLib 2.23.4
9584 ===================================================
9585
9586 * GVariant: The core of GVariant has been merged now, with some
9587  API still to follow.
9588
9589 * GIO:
9590  - There is a new interface GFileDescriptorBased for file descriptor
9591    based IO. GLocalFile{Input,Output}Stream implement it
9592  - Use splice(2) to transfer data between file descriptors without
9593    extraneous copies
9594  - Add a way to request move events from file monitors
9595
9596 * Bugs fixed:
9597  609143 *result_uncertain is never assigned in g_content_type_guess
9598  604086 Use splice(2) when doing local file copies
9599  547890 No move events for GFileMonitorEvent?
9600  568760 nautilus freezes due to a bug in garray.c:322
9601  609962 Add info about the use of G_DEFINE_INTERFACE
9602  609564 g_base64_encode_close docs should mention outbuf size...
9603  610484 g_variant_equal bug
9604  610131 libasyncns does not compile on Solaris 8
9605  609530 missing single header include guards
9606
9607 * Updated translations:
9608  Czech
9609  Estonian
9610  Galician
9611  German
9612  Korean
9613  Polish
9614  Slovenian
9615  Spanish
9616  Traditional Chinese
9617
9618
9619 Overview of Changes from GLib 2.23.2 to GLib 2.23.3
9620 ===================================================
9621
9622 * GLib now has a facility for locks that consume only one bit of
9623   storage inside an integer: g_bit_lock()
9624
9625 * GVariant: The serializer has been merged, with more API to follow
9626
9627 * Bugs fixed
9628  548967 1 bit mutex lock
9629  604967 2.22.3 libasyncns build fails on HP-UX 11.11
9630  608602 G_VALUE_COLLECT_INIT variables shadow those in G_VALUE_COLLECT
9631  608743 Crash in g_hostname_to_ascii visiting certain website in epiphany
9632  599197 array ref and unref functions crash on NULL array.
9633  608159 mem leak in g_io_modules_scan_all_in_directory
9634
9635 * Translation updates
9636  Brazilian Portuguese
9637  Czech
9638  French
9639  Norwegian bokmål
9640  Slovenian
9641  Spanish
9642  Thai
9643
9644
9645 Overview of Changes from GLib 2.23.1 to GLib 2.23.2
9646 ===================================================
9647
9648 * We are now using gcc builtins for atomic operations when available
9649
9650 * g_assert() grew the ability to store assertions in core dumps
9651
9652 * GIO supports lazy loading of GIO modules, and there is a new
9653   gio-querymodule utility that goes along with this.
9654   Packagers will need to adapt to this.
9655
9656 * Threading changes:
9657  - The requirements for g_thread_init() have been relaxed slightly,
9658    it can be called multiple times, and does not have to be the first
9659    call.
9660  - GObject now links to GThread and threads are enabled automatically
9661    when g_type_init() is called.
9662  - Thread-safety issues with boxed types in GObject have been fixed.
9663
9664 * GObject:
9665  - Another bunch of performance work has landed
9666
9667 * GVariant:
9668  - GVariantType has been merged, with the rest of the GVariant
9669    API to follow.
9670
9671 * Bugs fixed:
9672  568760 nautilus freezes due to a bug in garray.c:322
9673  602417 Document lifecycles of GSimpleAsyncResult and friends
9674  604824 crash in Epiphany: Selecting my Slashdot bo...
9675  448888 don't init g_slice for always-malloc
9676  531902 Use GCC atomic buildins for g_atomic*
9677  554887 boxed type registration is not thread safe
9678  586150 unresolved symbols when building glib 2.21.2 on OS X Tiger
9679  589176 row gvalue transform array exponentially
9680  594872 Support storing assertion messages into core dump
9681  602240 Upgrade libasyncns to 0.8
9682  603590 Speed up G_VALUE_COLLECT
9683  604457 gutf8inputstream.c: increasing unknown size pointer
9684  605686 GCharsetConverter doesn't flush
9685  605733 g_memory_output_stream_new violates GObject standards
9686  605883 g_object_new() processes varargs even when there are none
9687  605977 invalid utf-8 conversion in g_local_file_get_parse_name(...
9688  606775 Enable threads by default in gobject
9689
9690 * Translation updates:
9691  Asturian
9692  Basque
9693  Bengali
9694  Bulgarian
9695  Estonian
9696  Norwegian bokmål
9697  Spanish
9698  Thai
9699  Ukrainian
9700
9701
9702 Overview of Changes from GLib 2.23.0 to GLib 2.23.1
9703 ===================================================
9704
9705 * GObject performance work has landed:
9706  - Construction of simple objects is much faster
9707  - Interface lookup is lock-free and constant-time now
9708  - Reduced locking overhead when dealing with types
9709
9710 * GType now has a G_DEFINE_INTERFACE convenience macro
9711
9712 * GIO gained GUtf8InputStream, an input stream that
9713   performs utf-8 validation
9714
9715 * GLib now has byte-swap macros for gsize and gssize
9716
9717 * Bugs fixed:
9718 557151 Determining the newly_constructed boolean in gobject.c...
9719 557100 Performance improvements for GObjectClasses that don't...
9720 501166 Warning message says IA__g_type_init instead of g_type_init
9721 585375 Performance and Contention problems with g_type_class_ref...
9722 587892 Race in GType when instantiating the same class for the...
9723 603270 Input Stream validating utf8
9724 603476 gioenums.h:62: error: comma at end of enumerator list
9725 603540 g_time_val_from_iso8601 uses uninitialised variable
9726 603982 Stack overflow when reading file async with filter
9727 604645 G_DEFINE_INTERFACE_* documentation is not generated
9728 604875 Use of sa_len conflicts with system header
9729 320482 provide G_DEFINE_TYPE like macros for interfaces
9730
9731 * Updated translations:
9732  Estonian
9733  Hebrew
9734  Norwegian bokmål
9735  Vietnamese
9736  Welsh
9737
9738
9739 Overview of Changes from GLib 2.22.x to GLib 2.23.0
9740 ===================================================
9741
9742 * GIO:
9743  - GConverter: a generic interface for stateful conversions of data,
9744    suitable for charset conversion, compression, decompression, regexp
9745    replacement. Concrete implementations are GCharsetConverter,
9746    GZlibCompressor and GZlibDecompressor. GConverterInputStream,
9747    GConverterOutputStream are stream implementations that convert data
9748    while loading or saving it.
9749  - GMounts can now have a 'default location': a path that reflects
9750    the main entry point for the user (e.g. the home directory).
9751  - As a consequence of the compression support, GIO depends on zlib now.
9752
9753 * GObject:
9754  - G_IMPLEMENT_INTERFACE_DYNAMIC: a convenience macro for adding
9755    interfaces to dynamic types.
9756
9757 * GModule:
9758  - The -pthread flag has been added to all gmodule .pc files, because
9759    it is not generally permissible to load modules that are linked
9760    against libpthread if the program has not been compiled with threading
9761    support.
9762
9763 * Bugs fixed:
9764  601637 GUnixFDMessage should contain a GUnixFDList
9765  585566 GSocketListener API issues
9766  572252 Bug in g_file_test() function.
9767  600550 g_app_info_create_from_commandline doesn't treat arguments properly
9768  541236 not detecting exact content type
9769  350200 [PATCH] GTypeModule derived class unref does not unload plugin
9770  589631 Please enclose literal values with double quotes
9771  577711 cross compile check for g++ broken
9772  600620 Support X-GNOME-FullName in GAppInfo
9773  598899 GWin32DirectoryMonitor is broken
9774  593809 Nautilus does not restore the position of the icons on the desktop...
9775  563627 g_get_prgname() threadsafety
9776  600141 Add -pthread to gmodule pkg-config
9777  593856 file and directory monitors don't work when glib is compiled...
9778  324930 Nautilus should disallow copying of symlink to FAT drive early
9779  587300 Deadlock when calling g_cancellable_disconnect in a...
9780  595138 GFile not robust with invalid input
9781  591216 Warning building resolver.o
9782  590016 Does not compile under MinGW32 + Wine
9783  591214 Warnings building gcancellable.o
9784  561998 Have specific entry points (paths) for mounts...
9785  508157 Add G_IMPLEMENT_INTERFACE_DYNAMIC
9786  535159 g_file_has_parent
9787
9788 * Updated translations:
9789  Brazilian Portuguese
9790  Catalan
9791  Estonian
9792  Galician
9793  Norwegian bokmål
9794  Shavian
9795  Slovenian
9796  Spanish
9797  Swedish
9798
9799
9800 Overview of Changes from GLib 2.22.1 to GLib 2.22.2
9801 ===================================================
9802
9803 * GIO:
9804  - Support case-sensitive globs in the shared mime database,
9805    including support for the newer cache format that allows these.
9806    Case-sensitive globs have been introduced in shared-mime-info
9807    version 0.70
9808
9809 * GObject:
9810  - Speed up creation of simple objects
9811
9812 * Bugs fixed:
9813  597194 Typo in _G_TYPE_CVH macro
9814
9815 * Updated translations:
9816  Russian
9817
9818
9819 Overview of Changes from GLib 2.22.0 to GLib 2.22.1
9820 ===================================================
9821
9822 * Bugs fixed:
9823  596064 Test file marked for translation
9824  595972 possibly invalid search in mime_info_cache_dir_add_...
9825  596561 C99 style of declaration of variable in gmessages.c
9826  596314 g_utf16_to_utf8 returns an invalid UTF8 string
9827  596748 g_async_result_get_source_object returns a new ref
9828  593809 Nautilus does not restore the position of the icons...
9829  593775 uses inotify_init1 unconditionally
9830
9831 * Updated translations:
9832  Bengali
9833  Hebrew
9834
9835
9836 Overview of Changes from GLib 2.21.6 to GLib 2.22.0
9837 ===================================================
9838
9839 * Repeated calls to g_simple_async_result_set_op_res_gpointer used
9840   to leak the data. This has been fixed to always call the provided
9841   destroy notify.
9842
9843 * Add gdb python macros to make gobject debugging more pleasant
9844
9845 * Bugs fixed:
9846  579050 Allow making selected critical and warning messages non-fatal
9847  594759 g_socket_send_message fails due to invalid sendmsg params
9848  593941 GNetworkAddress skipping addresses when enumerating
9849  594597 Fix build with srcdir != builddir
9850  595619 Include gdb pretty printers
9851
9852 * Changes that might affect bindings:
9853  - The error parameter of g_simple_async_result_set_from_error has been
9854    made const.
9855
9856 * Updated translations:
9857  Assamese
9858  Bengali India
9859  British English
9860  Bulgarian
9861  Catalan
9862  Czech
9863  Danish
9864  Finnish
9865  Galician
9866  Greek
9867  Gujarati
9868  Hindi
9869  Japanese
9870  Kannada
9871  Malayalam
9872  Marathi
9873  Norwegian bokmål
9874  Oriya
9875  Polish
9876  Punjabi
9877  Romanian
9878  Serbian
9879  Simplified Chinese
9880  Slovenian
9881  Spanish
9882  Tamil
9883  Telugu
9884  Thai
9885  Traditional Chinese
9886  Ukrainian
9887  Vietnamese
9888
9889
9890 Overview of Changes from GLib 2.21.5 to GLib 2.21.6
9891 ===================================================
9892
9893 * Minor API additions:
9894   g_mkstemp_full is a variant of g_mkstemp that allows to specify flags
9895   and permissions
9896
9897 * Bugs fixed:
9898  593232 g_rand_new: read no more than requested from /dev/urandom
9899  591995 use saved errno
9900  589491 g_time_val_from_iso8601 doesn't handle some cases
9901  593406 Permissions set to 777 after copying via Nautilus
9902  594034 Add g_mkstemp_full()
9903
9904 * Updated translations:
9905  Assamese
9906  Basque
9907  Brazilian Portuguese
9908  Czech
9909  Estonian
9910  French
9911  German
9912  Hungarian
9913  Italian
9914  Kannada
9915  Malayalam
9916  Marathi
9917  Norwegian bokmål
9918  Oriya
9919  Portuguese
9920  Swedish
9921  Tamil
9922  Turkish
9923
9924
9925 Overview of Changes from GLib 2.21.4 to GLib 2.21.5
9926 ===================================================
9927
9928 * A performance problem with trashing of many files has been fixed
9929
9930 * GResolver now invalidates the libc resolv.conf cache as needed
9931
9932 * Minor api additions:
9933  - g_cancellable_make_pollfd returns a boolean now. And there is a
9934    new function g_cancellable_release_fd that can be used to released
9935    the resources used by a GCancellable.
9936
9937 * Bugs fixed:
9938  589988 Compilation error on Solaris 9 (missing stdint.h)
9939  588901 gtcpconnection.c won't compile
9940  584246 GResolver needs to call res_init() when network state changes
9941  591714 Figure out failure handling for g_cancellable_make_pollfd()
9942  591532 redundent '/' returned from g_file_resolve_relative_path
9943  591378 Use MSG_NOSIGNAL in GSocket if it's available
9944  589649 API documentation migration for Base64 Encoding
9945  591840 configure fails with autoconf 2.64
9946
9947 * Updated translations:
9948  Basque
9949  Brazilian Portuguese
9950  Bulgarian
9951  Danish
9952  Estonian
9953  Finnish
9954  Galician
9955  Gujarati
9956  Hndi
9957  Irish
9958  Japanese
9959  Korean
9960  Norwegian bokmål
9961  Polish
9962  Portuguese
9963  Punjabi
9964  Spanish
9965  Swedish
9966  Telugu
9967  Traditional Chinese
9968  Thai
9969
9970
9971 Overview of Changes from GLib 2.21.3 to GLib 2.21.4
9972 ===================================================
9973
9974 * GTree is now refcounted
9975
9976 * Bugs fixed:
9977  587938 Undocumented limitation for g_str_equal
9978  587773 refcounts for GTree
9979
9980 * Updated translations:
9981  French
9982  Hebrew
9983  Norwegian bokmål
9984  Spanish
9985  Swedish
9986  Traditional Chinese
9987  Ukrainian
9988
9989
9990 Overview of Changes from GLib 2.21.2 to GLib 2.21.3
9991 ===================================================
9992
9993 * GMappedFile is refcounted now
9994
9995 * Mainloop: It is now possible to set per-thread default contexts,
9996   with g_main_context_push_thread_default.
9997
9998 * glib-mkenums supports a @basename@ substitution, in addition
9999   to @filename@.
10000
10001 * GIO:
10002  - Vfs implementations can support storing of per-file metadata.
10003  - GCancellable can now be subclassed.
10004  - Unmount and eject methods now optionally allow interaction, via
10005    variants that take a GMountOperation object.
10006
10007 * Bugs fixed:
10008  556706 Inconsistent help arguments -h, -?
10009  579449 FileChoosers no longer work if an idle handler is active
10010  579933 mainloop FD_CLOEXEC has a race condition
10011  579984 alternate GMainContext support
10012  585937 gio/gsocket.c (glib 2.21.2) does not compile (Windows/mingw)
10013  586675 Runtime library location
10014  586797 Add GCancellables to GSocket ops
10015  586868 g_filename_complete_get_completions doesn't always return...
10016  587415 g_resolver_lookup_by_name_finish returns a freed list
10017  587434 regression tests fail, at least on x86_64
10018  586928 Avoid g++ warning in g_error()
10019
10020 * Updated translations:
10021  Estonian
10022  Hebrew
10023
10024
10025 Overview of Changes from GLib 2.21.1 to GLib 2.21.2
10026 ===================================================
10027
10028 * GIO:
10029   - g_socket_speaks_ipv4 is a new function to check if a socket can
10030     speak IPv4.
10031   - g_socket_listener_add_address gained a new effective_address out
10032     parameter.
10033   - GIO now returns special icons for XDG user directories, by the
10034     name folder-music, folder-documents, etc.
10035   - GIO gained support for starting/stopping of drives, which can be used
10036     in connection with external hard disk enclosures, disk arrays, iSCSI
10037     devices, etc. See g_file_start/stop_mountable.
10038
10039 * GLib:
10040  - g_reload_user_special_dirs_cache is a new function to force GLib to
10041    reload the XDG user directory mapping from disk.
10042
10043 * Bug fixes:
10044  584574 glib compile failure on Mac OS X with gunixresolver.c and...
10045  585566 GSocketListener API issues
10046  584255 Incorrect freeing of thread pool in GThreadedSocketService
10047  585088 g_string_chunk_insert_len stops at nul bytes
10048  585360 Monitor fontconfig configuration files using gio causes m...
10049  580103 Terminal starts on Display :0.0 when started on :0.1 in D...
10050  580301 network: a few issues on old darwin
10051  583398 SRV weight sorting is incorrect
10052  584176 build fixes on FreeBSD
10053  585189 g_cancellable_reset() must be called in same thread as g_...
10054  585280 compilation dies on gio/gsocket.c, needs sys/uio.h to con...
10055  585281 gio/gunixfdmessage.c needs sys/types.h for platforms that...
10056  585478 don't leak the inotify fd
10057  585575 g_socket_listener_add_inet_port() doesn't do the right thing
10058  585599 g_socket_listener_add_socket() consumes the socket
10059  585676 GEmblem doesn't reference its 'icon' if that is set as a ...
10060  585717 "bytes" nautilus translation to french is not shown in th...
10061  541276 XDG directories should have their own icons
10062  585726 Grammatical error in GList documentation
10063  585520 Wrong warning option in documentation
10064  585673 GNOME Goal: Remove deprecated glib symbols
10065  585591 Starting/stopping drives
10066
10067 * Updated translations:
10068  Bengali India
10069  Norwegian bokmål
10070
10071
10072 Overview of Changes from GLib 2.21.0 to GLib 2.21.1
10073 ===================================================
10074
10075 * GIO:
10076  - Support for network IO has been added, including a low-level
10077    socket API and a high-level API for network connections and
10078    services.
10079  - Support for read-write access with GIOStream and its subclasses.
10080  - GMount gained a pre-unmount signal.
10081
10082 * Bug fixes:
10083  576104Implement GMount::pre-unmount
10084  578769 implement GWinHttpFileInputStream::close_fn
10085  582856 gsocket.c doesn't compile on Solaris
10086  569375 g[u]intptr undocumented
10087  573246 [FIX] g_desktop_app_info_dup() can access NULL pointer
10088  575013 g_cancellable_push_current() does not allow NULL
10089  577884 live-g-file.c:461: error: format ‘%d’ expects type ...
10090  578499 g_output_stream_splice and stream closing with gnio strea...
10091  579558 Application employing gvfs crashes with only libgvfscommo...
10092  583001 SIGPIPE (grr!)
10093  583061 Please add convenience function to connect to machines by...
10094  583198 typo in error message
10095  583206 use g_set_error_literal where appropriate
10096  583229 void function g_async_initable_init_async returns value
10097  583324 locking problem in g_main_context_iterate()
10098  583408 void function g_socket_control_message_serialize returns ...
10099  578786 wrong and confusing error message
10100  583205 g_inet_address_to_bytes has no length outparam
10101  583196 mem leak in keyfile test
10102  583663 GSocketType enum ends with a comma
10103  569024 Make g_error_new_valist public
10104  569376 missing G_G[U]INTPTR_FORMAT
10105  580347 off-by-1 bug in GWinHttpFile
10106
10107 * Updated translations:
10108  Oriya
10109  Spanish
10110  Valencian-Catalan
10111
10112
10113 Overview of Changes from GLib 2.20.x to GLib 2.21.0
10114 ===================================================
10115
10116 * GIO:
10117  - New helper functions g_cancellable_connect/disconnect to avoid
10118    race conditions when connecting to the "cancelled" signal on
10119    GCancellable.
10120  - New types and methods for dealing with IPv4 and IPv6 addresses (and
10121    UNIX domain socket addresses under UNIX). This does not include code
10122    for actual socket I/O.
10123  - GResolver provides asynchronous and cancellable APIs for resolving
10124    hostnames, reverse lookup of IP addresses and resolving SRV records.
10125
10126 * Glib now provides hash and comparison functions for int64 and double
10127   types, suitable for use with GHashTable.
10128
10129 * GArray, GPtrArray and GByteArray can be ref counted now, and have
10130   boxed types.
10131
10132 * Bugs fixed:
10133  572844 Helper for GCancellable::cancelled connect/disconnect
10134  578363 goption docs should be improved
10135  548466 async/cancellable DNS resolver
10136  579830 param spec strings should use P_()
10137  579862 requesting xattr::foo ends up calling getxattr(..., user...
10138  580453 Hash and equal functions for gint64 and gdouble
10139  580450 Reference counting and boxed types for arrays
10140  580194 gresolver doesn't build on Solaris
10141  580301 network: a few issues on old darwin
10142  580299 network: include sys/types.h before sys/socket.h to insur...
10143  572508 gmarkup speedup
10144  580546 g_strtoull() referenced in documentation...
10145  580656 g_key_file_set_string_list erroneously asserts list != NULL
10146  579272 leaks in g_simple_async_result_set_op_res_gpointer
10147
10148
10149 * Updated translations:
10150  Catalan (ca)
10151  Pashto (ps)
10152  Spanish (es)
10153
10154
10155 Overview of Changes from GLib 2.20.0 to GLib 2.20.1
10156 ===================================================
10157
10158 * Bug fixes:
10159  575555 Use fsync() when replacing files to avoid data loss on
10160  575708 runaway inotify madness
10161  575270 GVolumeMonitor::mount-pre-unmount not being emitted
10162  577128 glib make check Failed to execute child process...
10163  573673 Always show "backup" directories
10164  578369 g_time_val_from_iso8601() parses timezones incorrectly
10165  578002 Fix a small typo in GFile docs
10166  578017 G_DEFINE_TYPE_EXTENDED docs
10167
10168 * Updated translations:
10169  Arabic
10170  Assamese
10171  Basque
10172  Bularian
10173  Brazilian Portuguese
10174  British English
10175  Catalan
10176  Danish
10177  French
10178  Galician
10179  German
10180  Greek
10181  Hungarian
10182  Italian
10183  Japanese
10184  Kannada
10185  Lithuanian
10186  Malayalam
10187  Norwegian bokmål
10188  Oriya
10189  Polish
10190  Punjabi
10191  Russian
10192  Simplified Chinese
10193  Slovenian
10194  Spanish
10195  Swedish
10196  Tamil
10197
10198
10199 Overview of Changes from GLib 2.19.9 to GLib 2.20.0
10200 ===================================================
10201
10202 * The functions for launching applications (e.g. g_app_info_launch() +
10203   friends) now passes a FUSE file:// URI if possible (requires gvfs
10204   with the FUSE daemon to be running and operational). With gvfs 2.26,
10205   FUSE file:// URIs will be mapped back to gio URIs in the GFile
10206   constructors. The intent of this change is to better integrate
10207   POSIX-only applications, see bug #528670 for the rationale.  The
10208   only user-visible change is when an application needs to examine an
10209   URI passed to it (e.g. as a positional parameter). Instead of
10210   looking at the given URI, the application will now need to look at
10211   the result of g_file_get_uri() after having constructed a GFile
10212   object with the given URI.
10213
10214 * Base64 support: Avoid integer overflows. CVE-2008-4316
10215
10216 * Bugs fixed:
10217  574019 GChecksum: document and guarantee hex characters in lower case
10218  573454 Unable copy/move files to directories symlinked to gvfs share
10219  561172 gnome-open fails on local URIs with anchors
10220  573970 crash in gunixvolumemonitor:update_mounts when unmounting
10221  573843 g_get_current_dir returns non-absolute path
10222
10223 * Updated translations:
10224  Assamese (as)
10225  Bengali (bn_IN)
10226  Czech (cs)
10227  Hindi (hi)
10228  Italian (it)
10229  Japanese (ja)
10230  Lithuanian (lt)
10231  Malayalam (ml)
10232  Marathi (mr)
10233  Oriya (or)
10234  Polish (pl)
10235  Romanian (ro)
10236  Telugu (te)
10237
10238
10239 Overview of Changes from GLib 2.19.8 to GLib 2.19.9
10240 ===================================================
10241
10242 * GMarkup:
10243  - Considerable speedup
10244
10245 * GIO
10246  - Add G_FILE_CREATE_REPLACE_DESTINATION flag to allow replacing
10247    the destination of a copying operation as if it did not exit before.
10248  - Be more careful when classifying files as desktop files
10249  - Support desktop file key X-GIO-NoFuse which disables the use
10250    of fuse pathnames for %u and %U arguments
10251
10252 * Bugs fixed:
10253  572672 glib/gthread.c: argument is different type
10254  572464 Doc for g_file_get_contents
10255  572151 “it's” and “its” confused in docs and comments
10256  570501 g_win32_get_system_data_dirs uses invalid conversion...
10257  167569 g_string_append_printf crashes on win32 when used...
10258  572508 gmarkup speedup
10259  560564 Replacing a symlink with its linked file truncates... 
10260  549298 impossible to copy files with p (pipe) flag
10261  543183 Clarify docs for g_file_has_prefix
10262  540461 g_memory_output_stream_get_data_size() doesn't behave...
10263  573462 GEmblemedIcon leak
10264  573421 Clarify message format in GMountOperation
10265  573658 Deadlock in giomodule.c
10266  556706 Inconsistent help arguments -h, -?
10267  573527 Wrong shell to run config.status in Makefile.in.in
10268  573128 A couple of typos in GObject documentation
10269
10270 * Updated translations:
10271  Catalan (ca)
10272  British English (en_GB)
10273  Spanish (es)
10274  Basque (eu)
10275  Finnish (fi)
10276  French (fr)
10277  Gujarati (gu)
10278  Hebrew (he)
10279  Hungarian (hu)
10280  Korean (ko)
10281  Maithili (mai)
10282  Norwegian bokmål (nb)
10283  Dutch (nl)
10284  Portugese (pt)
10285  Swedish (sv)
10286  Thai (th)
10287  Traditional Chinese (zh_HK)
10288  Traditional Chinese (zh_TW)
10289
10290
10291 Overview of Changes from GLib 2.19.7 to GLib 2.19.8
10292 ===================================================
10293
10294 * GIO: Fix missing exports of new API
10295
10296 * Fix strict aliasing warnings and violations to make Glib work
10297   with gcc 4.4
10298
10299
10300 Overview of Changes from GLib 2.19.6 to GLib 2.19.7
10301 ===================================================
10302
10303 * GIO
10304  - GFile gained an attribute for the actual file size in bytes
10305  - GMountOperation gained an "aborted' signal that allows to abort
10306    a mount operation from the backend side
10307
10308 * Bugs fixed:
10309  523742 Use noinst for non-installable libraries
10310  566747 URIs opened with firefox %u load as local files
10311  541225 Can't compile gio on AIX duplicate case value in gioerror.c
10312  571598 GAsyncResult with NULL gobject
10313  505042 add file attribute for actually used file size in bytes
10314
10315 * Updates translations:
10316  Basque (eu)
10317  Gujarati (gu)
10318  Italian (it)
10319  Japanese (ja)
10320  Norwegian bokmål (nb)
10321  Dutch (nl)
10322  Portugese (pt)
10323  Thai (th)
10324  Vietnamese (vi)
10325
10326
10327 Overview of Changes from GLib 2.19.5 to GLib 2.19.6
10328 ===================================================
10329
10330 * New format macro to print goffset data: G_OFFSET_FORMAT
10331
10332 * GIO: 
10333  - Add a GFilter{Input,Output}Stream::close-base-stream properties which
10334    determine whether the base stream will be closed when the filter stream
10335    is finalized.
10336  - g_data_input_stream_read_line and ..._read_until have asynchronous
10337    variants now.
10338
10339 * Bugs fixed:
10340  568294 A wrong reference in the description of g_bookmark_file_...
10341  563141 RFE: define G_OFFSET_FORMAT
10342  569105 g_time_val_to_iso8601() assumes time_t==long
10343  568394 dropping the last reference to a stream filter closes...
10344  568741 g_buffered_input_stream_fill_async doesn't work
10345  568723 g_buffered_input_stream_fill_async doesn't take count == -1
10346  568575 _async functions for GDataInputStream
10347
10348 * Updated translations:
10349  Bulgarian (bg)
10350  Finnish (fi)
10351  Hungarian (hu)
10352  Oriya (or)
10353  Swedish (sv)
10354  Traditional Chinese (zh_HK)
10355  Traditional Chinese (zy_TW)
10356
10357
10358 Overview of Changes from GLib 2.19.4 to GLib 2.19.5
10359 ===================================================
10360
10361 * Update included PCRE to 7.8
10362
10363 * g_base64_decode_inplace: New function to do base64 decoding in place
10364
10365 * Bugs fixed:
10366  567138 get_package_directory_from_module() does not free ...
10367  566569 gregex docs clarification
10368  566573 g_match_info_fetch_pos docs
10369  564728 Add function to decode base64 encoded data in place
10370  567838 G_STRUCT_OFFSETOF fails to compile under icc 9.1
10371  567977 textdomain() macro should not return NULL ...
10372  512779 --disable-regex breaks compilation
10373  566770 error code 0 for Too many open files is useless
10374  565484 g_content_type_guess passes non-UTF8 text to XDG ...
10375
10376 * Updated translations:
10377  Catalan (ca)
10378  Spanish (es)
10379  Italian (it)
10380  Swedish (sv)
10381
10382  
10383 Overview of Changes from GLib 2.19.3 to GLib 2.19.4
10384 ===================================================
10385
10386 * GIO:
10387   - Use O_NOATIME when sniffing mimetypes
10388   - Add a convenience method to check if a GSimpleAsyncResult
10389     is valid
10390
10391 * Bugs fixed:
10392  560676 function access for g_threads_supported
10393  565905 There is no g_context_group_set_translation_domain
10394  564210 SUN Studio 12 has supported visibility attribute
10395  565136 GObject's "notify" signal parameters are wrong in gtk-doc
10396  565831 error in interface creation sample
10397  566348 g_file_open_tmp uses the wrong g_mkstemp on win32
10398  566064 Add NOATIME flag to query_info_flags
10399  566170 g_async_result_verify_source_object
10400
10401 * Updated translations:
10402  Spanish (es)
10403  Norwegian bokmål (nb)
10404  Brazilian Portugese (pt_BR)
10405  Simplified Chinese (zh_CN)
10406
10407
10408 Overview of Changes from GLib 2.19.1 to GLib 2.19.3
10409 ===================================================
10410
10411 * Bugs fixed:
10412  508021 Add support for the CRIS and CRISv32 architectures
10413  526320 should not list mounts that the user doesn't have permission to use
10414  558458 Cannot build gio tests on Solaris using SUN cc
10415  555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property
10416  558298 Hide ecryptfs mounts
10417  515777 incorrect date&time on copy
10418  562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling
10419         g_simple_async_result_run_in_thread
10420  473150 g_type_module_use inconsistently increases the use
10421         counter in case of error
10422  563150 G_GU?INT*_MODIFIER/FORMAT docs
10423  563156 Document printing and scanning gunichar values
10424
10425 * Updated translations:
10426  Hebrew (he)
10427  Italian (it)
10428  
10429
10430 Overview of Changes from GLib 2.19.0 to GLib 2.19.1
10431 ===================================================
10432
10433 * GIO: 
10434   - g_icon_to_string, g_icon_new_for_string: GIcon serialization support
10435   - G_FILE_ATTRIBUTE_PREVIEW_ICON: new file attribute for preview images
10436   - g_app_info_get_commandline: new function to get the full commandline
10437   - g_mount_shadow, g_mount_unshadow, g_mount_is_shadowed: New functions 
10438     to 'shadow' mounts (i.e. hide them from the UI when they already
10439     have a different representation, like a bookmark) 
10440
10441 * Bugs fixed:
10442  556186 gpoll.h breaks gmain.h inclusion
10443  557087 mem leak in g_content_types_get_registered
10444  556921 gpoll.h breaks hal compilation
10445  557210 g_compute_checksum_for_* asserts with less than 2 bytes
10446  558381 Add support for compile time assertions
10447  558185 'parent' variable in g_local_file_get_child_for_display_name()
10448         hits g_object_unref(NULL) assertion
10449  558513 g_warn_if_fail FIXME in gtestutils
10450  558672 NULL key lookup using g_hash_table_lookup_extended() 
10451  555740 gicon serialization
10452  557182 preview functionality
10453  528320 Incorrect icons displayed for files with custom mimetype icons
10454  556910 Memory leak: sub
10455  557592 Missing include in gwinhttpfile.c
10456  556415 Crash on Windows 2000 in g_winhttp_vfs_init()
10457  555935 Clarify the mechanism of overwriting properties
10458  552776 ac_cv_func_posix_getgrgid_r not mentioned
10459  559448 GObject Reference Manual (typo)
10460  561212 GFileReadMoreCallback API doc refers to non-existant function
10461  560569 gkeyfile doesn't use the set list_separator in some cases
10462  560568 gkeyfile docs buglet
10463  559413 g_option_group_set_error_hook docs buglet
10464  562378 callback return value not respected for callback option
10465         with no arg
10466  559110 Do not include libintl.h after glibintl.h
10467  557603 carbon check output misplaced
10468  562544 g_key_file_get_string and g_key_file_get_value
10469         documentation does not explain the difference
10470  547264 Missing "no flags" flag
10471  562638 GDebugKey key member should be const
10472  562639 g_parse_debug_flags() parsing "help"
10473  562549 g_byte_array_free should tell how free data
10474  559452 GObject Reference Manual (typo)
10475  559462 GObject Reference Manual (typo)
10476  559517 GObject Reference Manual (typo)
10477  562538 GObject interface tutorial shouldn't finalise with
10478         "Please forget everything"
10479  561352 Leak of icon description
10480  561375 Leaks mountpoint description
10481  561807 inotify_sub.c: dup_dirname() fails to remove trailing '/'
10482  562393 g_buffered_input_stream_read_byte broken if data available
10483  541715 win32 : patch for warnings and signature problems in recent code
10484  547481 g_data_input_stream_read_line behaves not as stated in the docs
10485  548163 Nautilus displays wrong error message for too long file names
10486  559633 gtk_image_new_from_gicon does not always work for .desktop files
10487  555486 – No way to recover command line from GAppInfo
10488
10489 * Translation updates:
10490  Spanish (es)
10491  Ukrainian (uk)
10492
10493
10494 Overview of Changes from GLib 2.18.1 to GLib 2.19.0
10495 ===================================================
10496
10497 * Rewrite GHashTable to use open addressing with quadratic probing instead 
10498   of chaining. This has the potential to reduce memory fragmentation 
10499   significantly, while being slightly faster due to better locality and 
10500   no need to call alloc/free functions for nodes. Benchmarks suggest it 
10501   also uses less memory overall.
10502
10503 * Make g_poll available as public api
10504
10505 * New macros g_assert_error and g_assert_no_error to assert 
10506   that a GError is set or unset
10507
10508 * g_cancellable_make_pollfd: New method to make a GPollFD for a cancellable
10509
10510 * g_app_info_can_delete, g_app_info_delete, g_app_info_reset_type_associations:
10511   New functions to clean up app infos and content types
10512
10513 * When launching applications, always pass fuse file:// uris when possible,
10514   and let gio convert such uris back to gio uris.
10515
10516 * Bugs fixed:
10517  505361 gunixinputstream.c assumes poll() available
10518  509446 portable blocking gio cancellation
10519  553820 gpoll.c: undeclared identifier
10520  553724 python interpretter path not patched in correctly
10521  553857 gbacktrace.h requires signal.h
10522  553447 g_assert_no_error()
10523  554092 glib doesn't return G_FILE_ERROR_NOENT et al on OS X
10524  528670 Always pass file:/// uri's in GAppLaunchContext
10525  555224 Improve g_format_size_for_display doc
10526  555309 giochannel breaks on error
10527  554790 g_convert() misbehaves with winiconv versions
10528  555314 mem leak in gmarkup
10529  555313 GFileAttribute boxed type get_type function should...
10530  552861 glib-2.0.m4 calls system(3) without storing its result
10531  554557 Patch to fix gcc warnings about missing format specifiers
10532  552107 Small libtool fixes
10533  551355 Make glib build with libtool 2.2
10534  555311 format not a string literal and no format arguments
10535  556101 static mutex yields warnings with g++
10536  556186 gpoll.h breaks gmain.h inclusion
10537  526456 Open addressing in GHashTable
10538  553426 cancellable clarifications
10539  545350 GAppInfo deletion
10540  545351 Reset associations for content type
10541  552168 volume's mount not mounted after g_volume_mount_finish
10542  554970 segfault when update-desktop-database is not available...
10543  554745 GFileAttributeInfoList should be boxed
10544  555121 Improved build-time handling of gio module-dir
10545  555711 Wrong fallback order of mimetype icons
10546  555331 Deprecate adoption of mounts
10547  556335 make check fails in abicheck.sh
10548  556334 Warning when building without selinux support
10549  556422 g_file_enumerator_next_file: unclear...
10550
10551 * Updated translations:
10552  Arabic (ar)
10553  Danish (da)
10554  Polish (pl)
10555  Brazilian Portugese (pt_BR)
10556  Romanian (ro)
10557  Russian (ru)
10558
10559
10560 Overview of Changes from GLib 2.18.0 to GLib 2.18.1
10561 ===================================================
10562
10563 * Bugs fixed:
10564  550433 g_test_init doesn't recognize --help
10565  523463 Core dump in gmain.c:2482:IA__g_main_context_check
10566  551228 G_STRFUNC on recent Sun compiler should be expanded...
10567  551410 gtestutils.c: using printf without prototype
10568  551731 g_date_set_time[_t] docs should mention what timezone
10569  548321 <string.h> is not included in gi18n-lib.h
10570  551149 xdgmime mem leak
10571  550647 synchronous pipe I/O when reading mount reply
10572  551887 Docs for g_desktop_app_info_new_from_filename aren't...
10573  551681 g_content_type_guess() too naive with filenames
10574  552352 g_app_info_launch doesn't work if "Path" key...
10575  551408 gmodule.def generated to builddir...
10576  552359 g_file_info_get_icon should return GThemedIcon, and...
10577
10578 * Updated translations:
10579  Arabic (ar)
10580  Bengali India (bn_IN)
10581  British English (en_GB)
10582  Hindi (hi)
10583  Croatian (hr)
10584  Korean (ko)
10585  Oriya (or)
10586  Turkish (tr)
10587  Telugu (te)
10588
10589
10590 Overview of Changes from GLib 2.17.7 to GLib 2.18.0
10591 ===================================================
10592
10593 * The recommended way of using GLib has always been to only include the
10594   toplevel headers glib.h, glib-object.h and gio.h. GLib enforces this by
10595   generating an error when individual headers are directly included.
10596   To help with the transition, the enforcement is not turned on by
10597   default for GLib headers (it is turned on for GObject and GIO).
10598   To turn it on, define the preprocessor symbol G_DISABLE_SINGLE_INCLUDES.
10599
10600 * Win32:
10601   - rework the g_poll() implementation to match poll() semantics more closely
10602
10603 * Bugs fixed:
10604  324234 Using g_io_add_watch_full() to wait for connect() to return...
10605  548278 Async GETs connections are always terminated unexpectedly...
10606  500246 Bug fixes for giowin32
10607  523939 Example program for GValue
10608  550096 GBookmarkFile parser is not forward compatible
10609  550040 Move GString, rand and printf tests to the unit test framework
10610  550104 trivial documentation fix for g_get_home_dir
10611  548988 g_file_replace fails on Windows when the target file exists
10612  550059 Wrong docs for g_emblemed_icon_add_emblem
10613  548800 Missing a g_object_get_type function
10614  550056 Missing documentation for g_emblemed_icon_get_emblems
10615
10616 * Updated translations:
10617  Bulgarian (bg)
10618  Czech (cs)
10619  German (de)
10620  Estonian (et)
10621  Basque (eu)
10622  French (fr)
10623  Hebrew (he)
10624  Hungarian (hu)
10625  Italian (it)
10626  Japanese (ja)
10627  Lithuanian (lt)
10628  Maithili (mai)
10629  Dutch (nl)
10630  Swedish (sv)
10631  Thai (th)
10632  Ukrainian (uk)
10633  Vietnamese (vi)
10634
10635
10636 Overview of Changes from GLib 2.17.6 to GLib 2.17.7
10637 ===================================================
10638
10639 * More fixes for 64-bit Windows
10640
10641 * GIO
10642  - Add a vfs implementation for HTTP and HTTPS URIs on Windows
10643
10644 * Bugs fixed:
10645  546329 API docs for g_utf8_normalize() are incorrect
10646  546876 Modify GMarkup parser to accept &#x1; .. &#x1f;
10647  547200 g_utf8_find_next_char() issues
10648  547637 unconditional #include of sys/statfs.h in configure
10649  547337 G_DISABLE_DEPRECATED breaks tests build
10650  547832 gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict
10651  502498 Test framework assertion failures should follow gcc
10652  546371 Improve docs re g_file_monitor
10653  546483 GThemedIcon:use-default-fallbacks is not readable without...
10654  546132 GFileIcon is bindings-unfriendly
10655  542156 zfs mount in home directory shown on nautilus desktop 
10656  535124 umask 002 not being applied for new directories...
10657  547080 g_file_copy leaks expected errors
10658  546582 Callbacks from GFileMonitor present a GFile...
10659  547262 Missing link in the docs
10660
10661 * Updated translations:
10662  Arabic (ar)
10663  Catalan (ca)
10664  Spanish (es)
10665  Basque (eu)
10666  Finnish (fi)
10667  Galician (gl)
10668  Hebrew (he)
10669  Marathi (mr)
10670  Norwegian bokmål (nb)
10671  Portugese (pt)
10672  Brazilian Portugese (pt_BR)
10673  Swedish (sv)
10674  Thai (th)
10675
10676
10677 Overview of Changes from GLib 2.17.4 to GLib 2.17.6
10678 ===================================================
10679
10680 * Fix problems on 64-bit Windows
10681
10682 * g_markup_context_get_user_data: New function to access
10683   the user_data outside of callbacks
10684
10685 * GIO
10686  - g_mount_guess_content_type_sync: synchronous version of
10687    g_mount_guess_content_type
10688  - GEmblem: A GIcon implementation that adds emblem-related
10689    metadata to icons
10690  - GEmblemedIcon: A GIcon implementation that can add emblems
10691    to icons
10692
10693 * Bugs fixed:
10694  544088 option_test_LDADD is left in tests/Makefile.am
10695  544465 gmarkup makes it hard to use pre-rolled parsers
10696  545485 Implicit declaration of utime()
10697  545798 "Since: 2.18" mark is missing in g_set_error_literal...
10698  544140 fam-helper 64-bit issue
10699  529694 SELinux context setting support
10700  545157 wrong/no list of "open with" applications for .cc...
10701  545203 gfile.c: argument is different type
10702  545457 gdmsetup crashed with SIGSEGV in g_unix_mount_guess...
10703  544177 Fix trivial cut and paste error in documentation
10704  545395 Language tweak for g_value_set_string* docs
10705  541036 Gnumeric crashes when trying to open Desktop...
10706  546079 leak in xdgmime
10707  545395 Language tweak for g_value_set_string* docs
10708  546017 Don't copy attributes when copying a symlink
10709
10710 * Updated translations:
10711  Arabic (ar)
10712  Estonian (et)
10713  Galician (gl)
10714  Italian (it)
10715  Japanese (ja)
10716  Korean (ko)
10717  Norwegian bokmål (nb)
10718  Pashto (ps)
10719  Portugese (pt)
10720
10721
10722 Overview of Changes from GLib 2.17.3 to GLib 2.17.4
10723 ===================================================
10724
10725 * GIO:
10726  - New API to handle content types: g_mount_guess_content_type,
10727    g_content_type_guess_for_tree.
10728  - Export the eject-button signal on the volume monitor class
10729  - New API to enable out-of-process volume monitors: 
10730    g_volume_get_activation_root
10731
10732 * GObject:
10733  - New API to handle signals without slots in the class structure:
10734    g_signal_new_class_handler, g_signal_override_class_handler   
10735
10736 * Internationalization:
10737  - Add an NC_ macro that is a no-op equivalent of C_
10738
10739 * GMarkup:
10740  - Add two new functions g_markup_parse_context_push,
10741    g_markup_parse_context_pop to support "subparsers"
10742
10743 * Bugs fixed:
10744  541208 Functions to easily install and use signals without...
10745  541507 Ambiguous description of assigned characters in the...
10746  543040 async reading on dummy file will crash on GIO_USE_VFS=local
10747  543560 enable gio-FEN back-end warnings on Solaris will crash...
10748  528317 GRegex does not allow recursion limit
10749  337518 GMarkup: Subparser support
10750  541794 drive-eject-button signal
10751  541793 activation root for volumes
10752  467707 test_iconv_state() in tests/convert-test.c fails on AIX 5.3
10753  428048 2 of 51 tests fail on Solaris
10754  542332 small fix for error message in GMarkup
10755  482413 get_contents_stdio -- overflow and memory corruption
10756  406120 g_ascii_strtod
10757  334234 "printf" format error
10758  536996 Missing noop i18n macro equivalent to C_
10759  540616 mem leak in filechooser button
10760  539229 gobject-query calls itself query
10761  521589 [RFC] gobject documentation should mention Vala
10762  543168 Description of G_SLICE=debug-blocks discourages its use
10763  543220 Case collision on gio-extension-points.html
10764  530759 update the gobject tutorial to the XXI century
10765  535223 gbookmark file inefficiency ...
10766  543504 crash in Epiphany Web Browser: Opening local file
10767
10768 * Updated translation:
10769  German (de)
10770  Estonian (et)
10771  Pashto (ps)
10772  Albanian (sq)
10773  Thai (th)
10774  Traditional Chinese (zh_HK)
10775  Traditional Chinese (zh_TW)
10776
10777
10778 Overview of Changes from GLib 2.17.1 to GLib 2.17.3
10779 ===================================================
10780
10781 * PCRE
10782  - fix for CVE-2008-2371 
10783
10784 * Bugs fixed:
10785  538119 glib's mainloop leaks a pipe to sub-processes
10786  537635 Corrections and improvements to g_time_val_{to,from}_iso8601
10787  539067 The document g_io_channel_win32_new_fd() says...
10788  535949 annotate g_strip_context and g_dpgettext with G_GNUC_FORMAT
10789  539123 annotate g_d[n]gettext with G_GNUC_FORMAT
10790  539074 Cannot get exit status with g_spawn_command_line_sync
10791  316221 G_LOCK warns about breaking strict-aliasing rules
10792  539770 migrate gstrfunc unit tests to gtest
10793  539626 Update docstrings for g_object_freeze_notify and g_object_thaw_notify
10794  538044 unconditional use of LC_MESSAGES
10795  540545 Monotonic time and timer offset
10796  535947 want g_set_error_literal
10797  539999 glibconfig.h: add GLIB_USING_SYSTEM_PRINTF 
10798  536252 GFileEnumerator should allow access to the containing GFile
10799  538362 Get Win32 icons back in the file chooser
10800  540802 g_list_prepend doesn't concat lists
10801  540423 unrecoverable error after g_seekable_truncate
10802  538836 make check failure on PPC and ALPHA: pltcheck.sh on g_atomic_pointer_get
10803  539090 g_content_type_from_mime_type() should unalias
10804  540331 g_file_append_to () documentation: can return NULL
10805  534639 add g_desktop_app_info_new_from_keyfile
10806  536733 gio build failure on Irix
10807  536160 Add g_file_monitor()
10808  538127 FileChooser broken on win32
10809  531476 /live-g-file/test_traverse_structure test fails on Mac HFS+
10810  538564 gio should have gio-types.h
10811  540047 glib-genmarshal.c: '#include <io.h>' is too before
10812
10813 Updated translations:
10814  Korean (ko)
10815  Occitan (oc)
10816
10817
10818 Overview of Changes from GLib 2.17.0 to GLib 2.17.1
10819 ===================================================
10820
10821 * New function: g_utime(), a gstdio wrapper for utime()
10822
10823 * New functions: g_dgettext() and g_dngettext(), wrappers
10824   for corresponding gettext functions with added functionaliy
10825
10826 * Support the latest version of the shared-mime spec, including
10827   icons for mime types 
10828
10829 * New function: g_themed_icon_prepend_name()
10830
10831 * Bugs fixed: 
10832  535418 Please document which glib version defines goffset
10833  528715 Misprint in the description of the interface g_type_class_add_private
10834  528714 Misprint in the description of the interface g_param_spec_flags
10835  537260 Doc bug in G_TYPE_INSTANCE_GET_CLASS()
10836  530527 Misprint in the description of the interface 
10837         g_cclosure_marshal_VOID__FLAGS
10838  530526 Misprint in the description of the fields 'class_init' and 
10839         'class_finalize' of the structure GTypeInfo
10840  528719 Improvement to the documentation of the "g_object_connect" interface
10841  528172 gtk_signal_handlers_unblock_* functions return value
10842         amount of matched signals, not amount of actually unblocked
10843  528717 Misprint in the description of the parameter 'type_id' for 
10844         the interface g_type_register_fundamental
10845  528716 Misprint in the description of the parameter 'iface_data' for 
10846         the callback types GInterfaceInitFunc and GInterfaceFinalizeFunc 
10847  537555 GObject instantiation not thread safe
10848  537546 'desktop' shortcut in file chooser looks like a generic folder
10849  537392 Additional colon in xattr name
10850  536641 Filesystem querying in gio does not list AFS and autofs file systems
10851  528600 g_dummy_file_get_parent("scheme://example.com/")
10852  503071 Application direction changes to right to left even if theres no 
10853         translation
10854  502511 g_assert_cmphex prints invalid message
10855  338162 Use po/LINGUAS
10856  314453 Nautilus crashes in Solaris when browsing the attached file
10857  529321 make check fails in glib/pcre
10858  455215 g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD 
10859         fallback to $HOME/Desktop if xdg-user-dirs is not in use
10860  498732 g_key_file_to_data cannot fail
10861  511367 add g_file_make_directory_with_parents
10862  531900 Use __builtin_offsetof for G_STRUCT_OFFSET if building with 
10863         gcc 4.0 or newer
10864  536158 also bump GHashTable version when a node is removed via
10865         g_hash_table_iter_remove()/g_hash_table_iter_steal()
10866  531403 g_utf8_collate broken on Mac
10867  535628 test/patterntest.c still includes gpattern.h directly
10868  535625 alias.h:2648: error: 'utime' undeclared here (not in a function)
10869
10870 * Translation updates:
10871  Arabic (ar)
10872  German (de)
10873  Italian (it)
10874  Norwegian bokmål (nb)
10875  Thai (th)
10876
10877
10878 Overview of Changes from GLib 2.16.x to GLib 2.17.0
10879 ===================================================
10880
10881 * Update to Unicode 5.1
10882
10883 * Update included libcharset to the one shipped with libiconv 0.12
10884
10885 * Update included PCRE to 7.7
10886
10887 * Enforce that only toplevel headers are directly included.
10888   This is turned on by default for GObject and GIO. To turn
10889   it on for GLib, define G_DISABLE_SINGLE_INCLUDES.
10890
10891 * Fix library version of GIO.  GLib 2.16 shipped with libgio-2.0.so.0.0.0
10892
10893 * On Solaris, use FEN for file monitoring in GIO
10894
10895 * Use the GIO_EXTRA_MODULES environment variable to find
10896   additional GIO modules 
10897
10898 * G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size
10899   function attribute
10900
10901 * g_checksum_reset: New function to reset the state of a GChecksum 
10902
10903 * g_unix_mount_monitor_set_rate_limit: New function to limit the 
10904   rate at which events are reported
10905
10906 * g_file_query_file_type: New utility function to query the type of
10907   a file
10908
10909 * g_memory_output_stream_get_data_size: New function to obtain the
10910   size of the written data.
10911
10912 * Bugs fixed:
10913  522292 Gives warnings in glib/gutils.h with GCC in C99 mode
10914  523298 win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
10915  518160 replace two g_strdup_printf calls in GBookmarkFile
10916  523877 gbookmarkfile: avoid using g_string_append_printf() and
10917         other optimizations 
10918  525192 100% CPU if run main loop with no IO sources
10919  315437 extern inline -> static inline
10920  524314 g_convert() on Win32 implicitly converts full width
10921         alphanumerics into half width
10922  525732 Error in documentation for g_list_first
10923  525674 A typo in gmarkup.c
10924  448943 g_timeout_add_seconds() problems
10925  525972 UCS-4 not in the new win_iconv implementation
10926  526619 make test-report crash
10927  491554 Update to Unicode 5.1.0
10928  519137 g_slice_dup macro needs cast for 64-bit platform
10929  528752 Win32 build and SSL not working
10930  530457 G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
10931  528667 Typos in testing module documentation
10932  459905 Bug in wcwidth data
10933  534085 g_unichar_iswide_cjk() has a totally wrong table
10934  501651 Update glib/libcharset
10935  519026 G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
10936  534319 GLib's .pc files could use Libs.private
10937  534137 Typo in g_spawn_async_with_pipes doc
10938  517419 gio win32 directory monitor
10939  526796 Wrong order of arguments in g_file_copy's fallback
10940  530196 _g_local_file_has_trash_dir() doesn't handle st_dev == 0
10941  532965 Should not return filesystem::free for certain file systems
10942  525553 fix typo and nitpicking in GArray documentation
10943  526572 Missing * in declaration of parent_class in Object
10944         Destruction section of GObject Reference Manual
10945  528648 Extra >s in Object Construction section
10946  535021 g_param_spec_internal documentation should
10947         describe purpose of nick and blurb
10948  521513 Firefox crash when using file picker
10949  528433 gdesktopappinfo snafu ...
10950  533369 API g_file_info_get_attribute_string () unables to get "...
10951  521045 glib f_fstypename miscellany
10952  521672 compile error
10953  521946 control rate limit on GUnixMountMonitor
10954  522335 Fails to build: glib/gtester.c:276: error: 'ARG_MAX' unde...
10955  523015 Implement sliding window based upload operation
10956  523019 Use new GCC 4 feature
10957  523338 list nfs4 as a nfs mount type
10958  524350 Make glib build without NLS again
10959  524579 g_file_copy reports wrong total on progress callback for ...
10960  524742 A typo in gtestutils.c.
10961  524950 Minor documentation typos.
10962  525866 the user directory should not be considered as a mount to...
10963  526320 should not list mounts that the user doesn't have permiss...
10964  527132 nautilus crash when making ftp connection
10965  532852 CRITICAL **: totem_pl_parser_parse_with_base: assertion `...
10966  534759 Build failure in gio
10967  534764 Typo in error produced by g_file_make_directory
10968  521851 Redudant tests in gunixmounts.c
10969  524344 glib/gthread.h still use G_GNUC_PRETTY_FUNCTION
10970  525060 glib fails to build with -DG_DISABLE_ASSERT in CPPFLAGS o...
10971  534177 Invalid description of the interface g_cclosure_marshal_S...
10972  520715 Add GFile method g_file_query_file_type
10973  523039 nautilus can't access to trash/computer/network if gvfs i...
10974  
10975 * Updated translations:
10976  Arabic (ar)
10977  Bulgarian (bg)
10978  Catalan (ca) 
10979  Czech (cs)
10980  Greek (el)
10981  Candian English (en_CA)
10982  British English (en_GB)
10983  Spanish (es)
10984  Estonian (et)
10985  Basque (eu)
10986  Galician (gl)
10987  Hebrew (he)
10988  Hungarian (hu)
10989  Japanese (ja)
10990  Lithuanian (lt)
10991  Norwegian bokmål (nb)
10992  Dutch (nl)
10993  Occitan (oc)
10994  Portugese (pt)
10995  Russian (ru)
10996  Slovak (sk)
10997  Albanian (sq)
10998  Swedish (sv)
10999  Turkish (tr)
11000  Vietnamese (vi)
11001
11002
11003 Overview of Changes from GLib 2.16.0 to GLib 2.16.1
11004 ===================================================
11005
11006 * Fix a crash in g_themed_icon_new
11007
11008 * Update the included PCRE to 7.6
11009
11010
11011 Overview of Changes from GLib 2.15.6 to GLib 2.16.0
11012 ===================================================
11013
11014 * GLib now includes GIO, which adds optional dependencies against libattr
11015   and libselinux for extended attribute and SELinux support. Use
11016   --disable-xattr and --disable-selinux to build without these.
11017
11018 * Fix the definition of G_INLINE_FUNC to work with gcc 4.3.0
11019
11020 * GIO:
11021  - Add missing GMountMountFlags argument to g_unix_volume_mount
11022  - Fix the adopt_orphan_mount vfunc to take a volume monitor 
11023    reference
11024  - Add properties to GThemedIcon for bindings sake
11025
11026 * Bugs fixed:
11027  520484 gvfsd-trash crashed with SIGSEGV in g_path_is_absolute()
11028  510855 g_checksum_update(): Take -1 for length.
11029  517676 g_themed_icon_new*() do more than call g_object_new().
11030  518816 should handle rmdir returning EEXIST correctly
11031  519352 g_[s]list_delete_link() docs
11032  519489 Fixes for sparse warnings in gio
11033  520169 add monitor argument to vfunc for GVolumeMonitor
11034  520700 Add type check in g_file_query_exists
11035  521145 FILE_READ_ONLY_VOLUME not present on Mingw32
11036  518720 No MIME type for empty files
11037  521013 in documentation, goffset doesn't say "Since 2.x"
11038  521028 Missleading error messages from g_io_channel_set_encoding()
11039  517484 GMainLoop could set the thread "Alertable" for APCs to be... 
11040
11041 * Updated translations:
11042  Assamese (as)
11043  Bengali India (bn_IN)
11044  Czech (cs)
11045  German (de)
11046  Spanish (es)
11047  Estonian (et)
11048  Finnish (fi)
11049  French (fr)
11050  Gujarati (gu)
11051  Italian (it)
11052  Lithuanian (lt)
11053  Malayalam (ml)
11054  Marathi (mr)
11055  Norwegian bokmål (nb)
11056  Romanian (ro)
11057  Russian (ru)
11058  Slovak (sk)
11059  Ukrainian (uk)
11060
11061  
11062 Overview of Changes from GLib 2.15.5 to GLib 2.15.6
11063 ===================================================
11064
11065 * GIO:
11066  - New file attributes: trash::item-count, filesystem::use-preview
11067  - Rename g_file_contains_file to g_file_has_prefix
11068  - g_file_query_filesystem_info grew async variants
11069  - g_themed_icon_append_name: new convenience function
11070  - g_content_type_get_icon is implemented now
11071  - Only show mounts in /media and ~
11072  - g_file_contains_file has been renamed to g_file_has_prefix
11073
11074 * Win32:
11075  - g_win32_get_package_installation_directory_of_module: new function
11076    which supersedes g_win32_get_package_installation_directory
11077  - Use alertable wait functions so that I/O completion routines or 
11078    user-mode Asynchronous Procedure Calls can be run
11079  - Fix race conditions in g_spawn implementation on win32
11080
11081 * Other:
11082  - g_uri_get_scheme has been renamed go g_uri_parse_scheme
11083
11084 * Updated translations:
11085  Arabic (ar)
11086  Belarusian Latin (be@latin)
11087  Catalan (ca) 
11088  British English (en_GB)
11089  Finnish (fi)
11090  Galician (gl)
11091  Hebrew (he)
11092  Italian (it)
11093  Kannada (kn)
11094  Norwegian bokmål (nb)
11095  Dutch (nl)
11096  Brazilian Portugese (pt_BR)
11097  Vietnamese (vi)
11098
11099
11100 Overview of Changes from GLib 2.15.4 to GLib 2.15.5
11101 ===================================================
11102
11103 * Update the included PCRE to 7.6
11104
11105 * GIO:
11106  - g_volume_should_automount: new function to determine if a volume
11107    should be mounted automatically
11108  - g_file_query_default_handler: new convenience function to get
11109    the default handler for a file
11110  - g_app_info_launch_default_for_uri new convenience function to
11111    launch the default handler for a URI
11112  - Use mimeapps.list and defaults.list as discussed on xdg list
11113    recently
11114  - g_app_info_get_default_for_uri_scheme has a real implementation
11115    now (gvfs provides a GConf-based implementation)
11116  - There is the beginning of a test suite
11117  - standard::description:  new file attribute
11118  - GMountMountFlags flags argument added to mount calls
11119
11120 * GObject:
11121  - class initialization is now threadsafe
11122
11123 * Updated translations:
11124   Arabic (ar)
11125   Catalan (ca)
11126   Spanish (es)
11127   Basque (eu)
11128   Italian (it)
11129   Japanese (ja)
11130   Kannada (kn)
11131   Korean (ko)
11132   Macedonian (mk)
11133   Occitan (oc)
11134   Portugese (pt)
11135   Brazilian Portugese (pt_BR)
11136   Swedish (sv)
11137   Thai (th)
11138
11139
11140 Overview of Changes from GLib 2.15.3 to GLib 2.15.4
11141 ===================================================
11142
11143 * G_GNUC_PRETTY_FUNCTION has been deprecated
11144
11145 * GIO:
11146  - g_file_copy has an async variant now
11147  - Drives and volumes now have API to get identifiers
11148    like Hal UDIs or UUIDs.
11149  - There is now a registration API to let modules register
11150    extensions they provide, such as volume monitor implementations
11151
11152 * Bugs fixed:
11153   511807 g_time_val_to_iso8601() uses MT-unsafe gmtime() function
11154   316260 [patch] Doc patches for gnode (2.8.1)
11155   385132 solaris gettext support fix
11156   484261 ./configure check for system PCRE unicode support fails w...
11157   510292 GOption main help not shown
11158   511580 Implement g_file_copy_async
11159   511654 Compile errors due to C99 constructs
11160   487909 g_utf8_strreverse and combining marks
11161   512381 unused variable 'is_main_group' 
11162
11163 * Updated translations:
11164   Arabic (ar)
11165   Belarusian (be)
11166   Czech (cz)
11167   Spanish (es)
11168   French (fr)
11169   Galician (gl)
11170   Portugese (pt)
11171   Russian (ru)
11172   Swedish (sv)
11173   Thai (th)
11174
11175
11176 Overview of Changes from GLib 2.15.2 to GLib 2.15.3
11177 ===================================================
11178
11179 * GChecksum:
11180  - g_checksum_update can accept nul-terminated strings
11181  - The MD5 implementation works correctly on buffers 
11182    that are longer than 64 bytes
11183
11184 * GIO:
11185  - Don't include a copy of the inotify headers, rely on system headers
11186  - g_file_find_enclosing_mount has an async variant now
11187  - Reduntant seek API on file streams has been removed
11188
11189 * Bugs fixed:
11190   508602 gmemory{in|out}putstream.c: unknown pointer size
11191   508771 There is no g_file_test/exists() for GFile
11192   508773 g_uri_escape_string() documentation unclear.
11193   509465 AM_PATH_GLIB_2_0 doesn't support gio
11194   509626 async functions: Document allowed NULL callback?
11195   509990 GSeekable documentation unclear
11196   510448 No inotify support on ARM or SH5
11197   510855 g_checksum_update(): Take -1 for length. 
11198
11199 * Updated translations:
11200   Basque (eu)
11201   Marathi (mr)
11202   Swedish (sv)
11203   Ukrainian (uk)
11204
11205
11206 Overview of Changes from GLib 2.15.1 to GLib 2.15.2
11207 ===================================================
11208
11209 * GIO:
11210  - Mount operation API change: unhandled methods get reported via 
11211    the reply, rather than by the signal emission return value
11212  - File monitor API change: Add a GError argument to g_file_monitor_file
11213  - g_unix_mount_guess_should_display(): new function
11214
11215 * Bugs fixed:
11216   508224 [PATCH] FAM backend crashes due to double free
11217   508074 GAsyncResult documentation suggests g_freeing it.
11218   508108 GFile documentation slightly unclear.
11219   508309 rpc_pipefs mount points should be hidden
11220   508378 GFileInfo documentation implies that it changes attribute...
11221   508719 g_file_get_relative_path fails if parent is root
11222   508773 g_uri_escape_string() documentation unclear.
11223
11224 * Updated translations:
11225   Arabic (ar)
11226   Spanish (es)
11227   Hebrew (he)
11228   Italian (it)
11229   Korean (ko)
11230   Turkish (tr)
11231
11232
11233 Overview of Changes from GLib 2.15.0 to GLib 2.15.1
11234 ===================================================
11235
11236  * Portability fixes:
11237  - Assertion functions are marked as noreturn again
11238  - Handling of inline functions has been fixed to work with gcc 4.3
11239  - C99 comments have been removed from headers
11240  - The nonportable sed -i option is no longer used
11241
11242  * GIO:
11243   - Clarified the semantics of g_app_info_get_all()
11244   - API for memory input and output streams has been changed a bit
11245   - GDirectoryMonitor has been removed; GFileMonitor can monitor
11246     files and directories now
11247
11248  * Bugs fixed:
11249    504829 Invalid environment passed to g_spawn_async in g_desktop_...
11250    505258 crash in Users and Groups: Adding a user
11251    505815 g_content_types_get_registered should not g_free keys
11252    491218 g_timer_new() doesn't initialize timer->end
11253    315437 extern inline -> static inline
11254    476856 Inconsistency between standard and implementation of the ...
11255    480122 g_module_open fails to open modules with ".la" extension
11256    495589 gspawn.c failing to set FD_CLOEXEC
11257    500273 doesn't build with --disable-visibility
11258    504142 Do not show empty groups in --help output
11259    504879 giofam incorrectly linked
11260    505042 add file attribute for actually used file size in bytes
11261    505058 xattr namespace docs
11262    505674 Misprint in the definition of the macro G_CCLOSURE_SWAP_DATA
11263    505730 Fails to build on OSX 10.4: _NSGetEnviron not declared
11264    505887 older darwin lacks lchown
11265    506374 gmemoryinputstream api
11266    506461 Conversion of g_assert_not_reached() and friends into fun...
11267    503051 Small bug in glib interface
11268    506395 Updates to GIO documentation
11269    507628 Missing .pc entry for gio linking against glib
11270    505195 [patch] typo in g_try_new0 docs 
11271    507822 g{file,directory}monitor changes signal problem
11272    506377 gmemoryoutputstream write implementation
11273    507835 bug in gunixinputstream 
11274
11275  * Updated translations:
11276    Arabic (ar)
11277    Belarusian Latin (be@latin)
11278    Spanish (es)
11279    Basque (eu)
11280    Irish (ga)
11281    Hebrew (he)
11282    Occitan (oc)
11283    Vietnamese (vi)
11284
11285
11286 Overview of Changes from GLib 2.14.x to GLib 2.15.0
11287 ===================================================
11288
11289 Major new features:
11290
11291  * GIO: a VFS API, designed to replace GnomeVFS. The GIO implementation 
11292    in GLib has support for local filesystems. The new, separate gvfs 
11293    module contains various backend implementations (cifs, ftp, sftp,
11294    http, ...)
11295
11296  * GChecksum: provides various hash algorithms, such as MD5, SHA-1
11297    and SHA-256
11298  
11299  * GTest: a test framework 
11300  
11301 Smaller additions:
11302
11303  * GHash:
11304  - GHash has iterators, as an alternative to g_hash_table_foreach
11305
11306  * GMarkup: 
11307  - g_markup_parse_context_get_element_stack: New function to
11308    get the stack of open elements
11309  - G_MARKUP_PREFIX_ERROR_POSITION: New flag to improve error
11310    reporting
11311  - g_markup_collect_attributes: Convenience function for handling
11312    attributes
11313
11314 * GKeyFile: 
11315  - Functions that take a GError now return a boolean to indicate 
11316    success, instead of void
11317  - Various performance improvements
11318
11319 * GAsyncQueue:
11320  - g_async_queue_new_full: new function that allows to specify
11321    a free function for leftover elements
11322  
11323 * GError:
11324  - g_prefix_error and g_propagate_prefixed_error: New functions
11325    to ease error propagation
11326
11327 * Internationalization:
11328  - C_: A new 2-argument variant of the Q_() macro 
11329  - Use native character set conversion API on Windows
11330
11331 * GLib builds with automake 1.10
11332
11333 * Bugs fixed:
11334  455725 specific combination of g_utf8_strlen and g_pattern_match...
11335  467537 g_convert_with_iconv() not resetting iconv() state correc...
11336  497033 Commandline option parser should warn about missing optio...
11337  504527 gchecksum: Conditional jump or move depends on uninitiali...
11338  445362 Non-numeric local labels in gatomic.c are causing linker ...
11339  482313 gregex: no way to tell why compilation failed
11340  317775 main loops continues to run after g_main_loop_quit() has ...
11341  418778 Insufficient pkg-config version requirement
11342  436293 g_option_context_new() doc should mention that the string...
11343  466557 glib-mkenums shifts ARGV[0] to undefined
11344  468882 GKeyFile doesn't accept "True" as a true boolean value
11345  469551 application --help messages are garbaged on none UTF-8 lo...
11346  479724 Memory leak upon calling "g_main_loop_run" in the seconda...
11347  490061 outptrs uninitialized after g_parse_long_long
11348  490637 gobject documentation patch
11349  495294 glib-genmarshal prints warnings but returns 0
11350  496046 option to prefix location of errors for GMarkup
11351  498113 tests/regex-test fails on 64bit environment
11352  500506 Fails to build on OSX 10.4
11353  500638 gkeyfile speedup ...
11354  500875 Make check fails as there is no "test" target for "build"...
11355  502511 g_assert_cmphex prints invalid message
11356  502927 g_array_index triggers cast aligment warning
11357  503029 g_time_val_from_iso8601 parse non-ISO8601 dates
11358  503222 Need context to translate
11359  503420 gkeyfile leaks a hash table
11360  503470 Fix build when builddir != srcdir
11361  504227 Inverse variant for g_test_trap_assert_stdout, g_test_tra...
11362  71704  file include order
11363  491957 Misprint in the specification of the interface "g_main_co...
11364  491959 Misprint in description of the structure "GThreadPool"
11365  491965 Mistype in the specification of the function "g_hook_list...
11366  491966 Misprint in the specification of the interface "g_main_co...
11367  491968 The documentation does not mention the restriction for th...
11368  491970 The documentation for the interface "g_date_clamp" is inc...
11369  491974 The documentation of the interface "g_main_context_iterat...
11370  491975 The documentation for the interfaces "g_io_channel_read_u...
11371  491979 Misprint in the description of the interfaces g_key_file_...
11372  491982 Misprint in the description of the interface "g_key_file_...
11373  501107 EXTRA_DIST automake warnings
11374  501997 g_utf8_normalize() returns NULL on invalid string
11375  502590 C_/g_dpgettext efficiency
11376  464259 g_set_application_name() docs should say "Since 2.2"
11377  496518 gbase64.c API doc clarification
11378  498728 g_key_file_get_*_list should set length to 0 when returni...
11379  500361 Improve docs for g_array_free() and g_ptr_array_free()
11380  501853 g_checksum_get_digest docs
11381  503862 Allow NULL strings in g_parse_debug_string()
11382  142676 Q_
11383  367550 Add g_async_queue_new_full() with GDestroyNotify function
11384  375651 Minor enhancements to GKeyFile API
11385  443648 MD5 digest support
11386  449937 Upgrade auto* sources to be clean under automake1.9
11387  452887 gmarkup context "get element" function is useless when ca...
11388  491549 [PATCH] Eliminate libiconv dependency on Windows
11389  500507 GHashTableIter API 
11390
11391 * Translation updates
11392  Belarusian Latin (be@latin)
11393  Czech (cs)
11394  German (de)
11395  Spanish (es)
11396  Esperanto (et)
11397  French (fr)
11398  Korean (ko)
11399  Marathi (mr)
11400  Norwegian bokmål (nb)
11401  Brazilian Portugese (pt_BR)
11402  Slovenian (sl)
11403  Swedish (sv)
11404
11405
11406 Overview of Changes from GLib 2.14.2 to GLib 2.14.3
11407 ===================================================
11408
11409 * Update PCRE to 7.4
11410
11411 * Bugs fixed:
11412  487491 Fix some warnings from sparse
11413  488068 Small (one-time) memory leak in glib_gettext initialization
11414  493688 TYPE macro "_get_type ()" is documented wrong
11415
11416 * Updated translations:
11417  Arabic (ar)
11418  Belarusian Latin (be@latin)
11419  Estonian (et)
11420  Irish (ga)
11421  Slovenian (sl)
11422
11423  
11424 Overview of Changes from GLib 2.14.1 to GLib 2.14.2
11425 ===================================================
11426
11427 * Bugs fixed:
11428  476849 Invocation of the interface "g_hook_free" fails in certai...
11429  359165 marshallers can throw warnings with -Wunused
11430  477957 more discussion on g_value_set_object vs. g_value_take_ob...
11431  478459 G_DEFINE_DYNAMIC_TYPE_EXTENDED doesn't work with G_IMPLEM...
11432  483337 inline is disabled for MSVC when compiling C code
11433  478349 Broken link to gettext website
11434  469231 g_spawn optimization for setting all open fds to CLOEXEC 
11435
11436 * Updated translations:
11437 Arabic (ar)
11438 Galician (gl)
11439 Hebrew (he)
11440 Korean (ko)
11441
11442
11443 Overview of Changes from GLib 2.14.0 to GLib 2.14.1
11444 ===================================================
11445
11446 * Bugs fixed:
11447  476840 Invocation of the interface "g_utf8_strreverse" crashes f...
11448  444765 Fix FIXME in gregex.c when new pcre is out
11449  464145 g_markup_escape_text Produces Invalid XML
11450  465625 g_type_default_interface_ref() does not ensure working g_...
11451  466768 Clearify that comments can be put anywhere in a Key-file.
11452  474229 The GError documentation should give convention for the G...
11453  474899 G_BREAKPOINT() docs inaccurate
11454  475854 Overuse of -lpcre when using system pcre
11455  473879 Incorrect includes in gregex.c
11456  468694 Typoes in documentation
11457  469051 g_snprintf () talks about characters where it probably me...
11458  457601 Missing arch specific atomic implementation
11459  475923 Missing pcre flags when static-linking against glib
11460  475619 glibthread-2.0.la does not list -lpthread
11461
11462 * Updated translations:
11463  Bulgarian (bg)
11464  Catalan (ca)
11465  Danish (da)
11466  German (de)
11467  Canadian English (en_CA)
11468  British English (en_GB)
11469  Spanish (es)
11470  Estonian (et)
11471  Finnish (fi)
11472  French (fr)
11473  Gujarati (gu)
11474  Hungarian (hu)
11475  Italian (it)
11476  Georgian (ka)
11477  Kannada (kn)
11478  Lithuanian (lt)
11479  Makedonian (mk)
11480  Norwegian (nb)
11481  Dutch (nl)
11482  Polish (pl)
11483  Portugese (pt)
11484  Brazilian Portugese (pt_BR)
11485  Romanian (ro)
11486  Russian (ru)
11487  Albanian (sq)
11488  Serbian (sr, sr@Latn)
11489  Swedish (sv)
11490  Tamil (ta)
11491  Thai (th)
11492  Ukrainian (uk)
11493  Vietnamese (vi)
11494
11495
11496 Overview of Changes from GLib 2.13.7 to GLib 2.14.0
11497 ===================================================
11498
11499 * Last-minute API additions:
11500  - Make g_unichar_combining_class public
11501  - Add goffset type, add G_MAXSSIZE and G_MINSSIZE
11502
11503 * Update PCRE to 7.2
11504
11505 * Bugs fixed:
11506  453998 Make _g_unichar_combining_class() public
11507  462549 gregex.c: variable is declared at middle of block
11508  417068 g_file_test doc inconsistency
11509
11510 * Updated translations:
11511  Assamese (as)
11512  Basque (eu)
11513  Kannada (kn)
11514  Malayalam (ml)
11515  Dutch (nl)
11516  Polish (pl)
11517  Brazilian Portugese (pt_BR)
11518  Turkish (tr)
11519
11520
11521 Overview of Changes from GLib 2.13.6 to GLib 2.13.7
11522 ===================================================
11523
11524 * The memory corruption warning from the slice allocator that
11525   occurred when threads were initialized after the slice allocator
11526   has been removed, as the slice allocator now works fine
11527   in this scenario.
11528
11529 * New functions g_once_init_enter() and g_once_init_leave() make
11530   it easier to write threadsafe one-time initialization functions 
11531  
11532 * Bugs fixed:
11533  454473 Simple XML Subset Parser terminates on invalid XML
11534  445813 g_module_open error, add file name
11535  453796 errno gets clobbered by g_filename_display_name
11536  341988 don't use "-c" with msgfmt in Makefile.in.in
11537  447048 Please produce slightly more output during long tests
11538  454785 GModule documentation lists same block of code twice.
11539  454786 GModule documentation lists same paragraph twice.
11540  383155 small docs quirks in gobject/closure API documentation
11541  65041  _get_type() functions aren't thread safe
11542
11543 * Updated translations
11544  Assamese (as)
11545  Spanish (es)
11546  Gujarati (gu)
11547  Japanese (ja)
11548  Korean (ko)
11549  Macedonian (mk)
11550
11551
11552 Overview of Changes from GLib 2.13.5 to GLib 2.13.6
11553 ===================================================
11554
11555 * Reintroduce a GType typedef whose removal in 2.13.5
11556   caused trouble for C++ bindings
11557
11558 * Bugs fixed:
11559  450216 docs not explicit enough about g_free()
11560  451459 g_type_register_static_simple calls g_type_register_static
11561
11562 * Updated translations
11563  Norwegian bokmål (nb)
11564  Sinhala (si)
11565
11566
11567 Overview of Changes from GLib 2.13.4 to GLib 2.13.5
11568 ===================================================
11569
11570 * xdg-user-dirs support: 
11571  - the Desktop directory is guaranteed to be defined
11572  - user-dirs.dirs is no longer reloaded on changes
11573
11574 * Slice allocator: 
11575  - new api to duplicate slices
11576
11577 * Regular expression support:
11578  - GRegex is a boxed type now
11579
11580 * Bugs fixed:
11581  44793 make check failing in trunk
11582  354522 Small problem with PLT hiding 6 symbols
11583  363986 glib 2.12.4 does not compile with SGI IDO cc
11584  443869 g_type_class_add_private doesn't warn when adding 0-sized...
11585  446859 Legitimately return 0 for g_quark_from_string(NULL)
11586  447534 Small typo in g_timeout_add_seconds() doc
11587  447583 GStaticRWLock
11588  447935 g_get_current_dir SIGSEGV on long path
11589  448260 CLAMP has surprising result if low > high
11590  57693  g_string_vprintf()
11591  442029 add g_slice_dup()
11592  445065 Add GRegex boxed type
11593  448819 Add full version of g_timeout_add_seconds()
11594
11595 * Updated translations: 
11596  Swedish (sv)
11597  Oriya (or)
11598  Hebrew (he)
11599  Spanish (es)
11600  Estonian (et)
11601
11602  
11603 Overview of Changes from GLib 2.13.3 to GLib 2.13.4
11604 ===================================================
11605
11606 * Bugs fixed:
11607  444121 g_get_user_special_dir deadlocks
11608  444161 invalid UTF8 in key name shows up as valgrind error in g_...
11609  444130 g_option_context_get_help() is broken when there's a desc...
11610
11611
11612 Overview of Changes from GLib 2.13.2 to GLib 2.13.3
11613 ===================================================
11614
11615 * GKeyFile:
11616  - Added defines for easier handling of desktop files
11617
11618 * Unicode support:
11619  - Update g_unichar_iswide_cjk for Unicode 5.0
11620
11621 * Regular expression support:
11622  - GRegex structs can now be ref-counted
11623  - Some new functions for dealing with incremental 
11624    replacement have been added
11625  - The GRegexEvalCallback signature has been changed
11626
11627 * g_get_user_special_dir() has been added to support
11628   xdg-user-dirs
11629
11630 * Bugs fixed:
11631  419376 Functions using named subpatterns behave inconsistently w...
11632  434358 g_regex_fetch_named() and g_regex_fetch_named_pos() are b...
11633  423708 typo in the README.win32 file see patch below
11634  339225 Add new defines for easier handling of .desktop files 
11635  442265 API additions/changes for GRegex
11636  432651 Add a glib-ish xdg_user_dir_lookup
11637
11638 * Updated translations:
11639  Estonian (et)
11640  Norwegian bokmål (nb)
11641
11642
11643 Overview of Changes from GLib 2.13.1 to GLib 2.13.2
11644 ===================================================
11645
11646 * Unicode support:
11647  - Add g_unichar_ismark()
11648
11649 * GOption:
11650  - Allow to use callbacks for remaining args
11651
11652 * Updated translations:
11653   Belarusian Latin (be@latin)
11654   British English (en_GB)
11655   Galician (gl)
11656   Norwegian bokmål (nb)
11657   Oriya (or)
11658   Spanish (es)
11659   Thai (th)
11660
11661
11662 Overview of Changes from GLib 2.13.0 to GLib 2.13.1
11663 ===================================================
11664
11665 * GRegex:
11666  - Portability fixes
11667  - Split into immutable GRegex and GMatchInfo
11668  - Add g_regex_get_max_backref() and g_regex_get_capture_count()
11669    to obtain information about the compiled regex
11670
11671 * GKeyFile:
11672  - Fix roundtrip problems
11673  - Add g_key_file_load_from_dirs()
11674
11675 * Unicode support:
11676  - Fix corner cases in case conversion routines
11677
11678 * GOption:
11679   - Add a function to get the formatted help string
11680
11681 * GHash:
11682  - Add new functions g_hash_table_get_keys() and
11683    g_hash_table_get_values() to retrieve the keys and
11684    values in list form
11685
11686 * Updated transations:
11687   Simplified Chinese (zh_CN)
11688   Arabic (ar)
11689
11690
11691 Overview of Changes from GLib 2.12 to GLib 2.13.0
11692 =================================================
11693
11694 * Add GSequence, a list that is implemented using
11695   a balanced binary tree.
11696
11697 * Add GRegex, an implementation of Perl regular expressions,
11698   based on PCRE.
11699  
11700 * Use Posix monotonic clocks instead of gettimeofday()
11701   for GTimer when available.
11702
11703 * Support static initialization of GQeues with G_QUEUE_INIT,
11704   g_queue_init() and g_queue_clear().
11705
11706 * Add g_string_chunk_clear() for clearing a 
11707   GStringChunk.
11708
11709 * Add g_unichar_get_script() to obtain Unicode
11710   script information.
11711
11712 * Add g_unichar_iszerowidth() to obtain information
11713   about zero-width characters.
11714
11715 * Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias 
11716   type attribute.
11717
11718 * G_GNUC_INTERNAL has a working definition for the
11719   Sun Studio compiler. This requires the macro to
11720   be positioned before the function declaration.
11721
11722 * The slice allocator can produce detailed debugging
11723   information with G_SLICE=debug-blocks.
11724
11725 * Modules support G_DEBUG flags resident-modules and
11726   bind-now-modules.
11727
11728 * Add G_DEFINE_DYNAMIC_TYPE() to make it easier
11729   to define types in modules.
11730
11731 * Bug fixes: too many to list them in detail here.
11732
11733 * New and updated translations (be,bg,bn,ca,cs,de,
11734   en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml,
11735   nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN,
11736   zh_HK,zh_TW)
11737
11738
11739 Overview of Changes from GLib 2.12.1 to GLib 2.12.2
11740 ===================================================
11741
11742 * Unicode updates:
11743  - Normalization is following Unicode TR #29
11744  - g_unichar_isxdigit() only accept characters
11745    for which g_unichar_xdigit_value() returns a value
11746  - g_unichar_toupper and g_unichar_tolower leave
11747    unconvertable characters in place instead of
11748    replacing them by NUL
11749
11750 * Bugs fixed
11751  348491 g_utf8_strup() and g_utf8_strdown() returns 
11752         string with NUL bytes
11753  349825 GKeyFile always inserts a newline before a group
11754  347842 g_unichar_isxdigit() is too general about what 
11755         it considers a digit
11756  348694 g_utf8_normalize() hasn't been updated to PR #29
11757  348785 Hint about G_DEBUG in Message Logging docs
11758  349792 Wrong english string (UI)
11759  349952 gparamspecs.c uses gcc feature
11760
11761 * Translation updates (ca,cs,de,dz,es,eu,fi,gu,ko,
11762   nl,pl,tr,uk,zh_HK,zh_TW)
11763
11764
11765 Overview of Changes from GLib 2.12.0 to GLib 2.12.1
11766 ===================================================
11767
11768 * Update to final Unicode Character Database 5.0.0
11769
11770 * Bugs fixed:
11771  346660 issues with base64 api documentation / g_base64_decode_cl...
11772  348136 Coverity reports allocation of wrong size CID #2839
11773  336281 Update to UCD 5.0
11774  346197 g_date_strftime %F option doesnt work for win32
11775  348011 Small optimization to real_toupper()
11776  246494 prototype mismatch in glib/gconvert.c
11777
11778 * New and updated translations (bg,bn_IN,ca,dz,eu,fi,
11779   fr,he,it,ja,mk,or,pt)
11780
11781
11782 Overview of Changes from GLib 2.11.4 to GLib 2.12
11783 =================================================
11784
11785 * Bugs fixed:
11786  344905 leap-year bug in g_time_val_from_iso8601 w/o HAVE_TIMEGM
11787
11788 * Updated translations (cy,nb,nl)
11789
11790
11791 Overview of Changes from GLib 2.11.3 to GLib 2.11.4
11792 ===================================================
11793
11794 * GBookmarkFile:
11795  - g_bookmark_file_remove_item returns a boolean
11796  
11797 * g_mkstemp accepts the XXXXXX in the middle of
11798   the template
11799  
11800 * Bugs fixed:
11801  344868 g_key_file_to_data should separate groups 
11802
11803 * Updated translations (de,es,fr,gu,hi,ko,th)
11804
11805
11806 Overview of Changes from GLib 2.11.2 to GLib 2.11.3
11807 ===================================================
11808
11809 * GBookmarkFile:
11810   - g_bookmark_file_move_item: Return TRUE in case of
11811     an empty target
11812
11813 * Bugs fixed: 
11814  343919 gunicollate.c: strxfrm bug on VC8
11815
11816 * Updated translations (fi)
11817
11818 Overview of Changes from GLib 2.11.1 to GLib 2.11.2
11819 ===================================================
11820
11821 * Add g_ascii_stroll to parse signed 64bit integers
11822
11823 * GMarkup: add a flag to treat CDATA as text
11824
11825 * GHashTable: add functions to remove all entries
11826
11827 * GMainLoop: add functions to find the currently
11828   running source, and determine if it is destroyed
11829
11830 * Bug fixes:
11831  342563  g_atomic_thread_init() needs to be called before 
11832          other _g_*_thread_init() functions
11833  343548  Potential use after free in callers of g_string_free() 
11834  168538  Wish: Clearing contents of GHashTables
11835  321886  GTK+ cannot be reliably used in multi-threaded 
11836          applications
11837  341826  goption.c: 'strtoll' is C99's function
11838  343899  g_ascii_formatd dosn't work as expected for all 
11839          format strings
11840  317793  Make GEnumValue strings const
11841  337129  Compile warnings in G_IMPLEMENT_INTERFACE
11842  303622  What is G_TYPE_CHAR?
11843
11844 * Updated translations (bg,dz,eu,gl,ja,ko,nl,th,vi)
11845  
11846
11847 Overview of Changes from GLib 2.11.0 to GLib 2.11.1
11848 ===================================================
11849
11850 * GOption  
11851   - Support 64-bit integers 
11852   - Allow optional text before and after the options
11853     in help output
11854
11855 * Bug fixes:
11856  340538 gbase64-test writes OOB 
11857  340816 GKeyFile set_string_list invalid memory reads 
11858  339105 g_key_file_parse_value_as_double
11859  340434 convert-test.c fails (function test_one_half)
11860  311043 Memory leaks (and potential infinite loops) 
11861         when using G_ERRORCHECK_MUTEXES
11862  335198 Error checking mutexes are fubar  
11863  341237 Add a G_OPTION_ARG_INT64
11864  341192 g_io_channel_set_flags not implemented on win32
11865  336120 Allow adding description before/after GOption 
11866         --help output body
11867  341191 misplaced check in g_relation_delete
11868  340530 mismatched calloc / g_free in win32 threads
11869
11870 * Updated translation (es)
11871
11872 Overview of Changes from GLib 2.10.x to GLib 2.11.0
11873 ===================================================
11874
11875 * GBookmarkFile: a parser for files containing bookmarks
11876   stored using the Desktop Bookmark specification.
11877
11878 * Base64 encoding support
11879         
11880 * Unicode 5.0 support
11881
11882 * GOption supports floating point numbers 
11883
11884 * GKeyFile supports floating point numbers
11885
11886 * Bug fixes:
11887  155884 gatomic.c should be based on new SDK
11888  157877 update-desktop-database doesn't handle duplicate entries
11889  164719 keyfile parser doesn't support floats
11890  327662 Import BookmarkFile from libegg
11891  329548 Add G_OPTION_ARG_DOUBLE
11892  329789 option-test.c type confusion
11893  332841 Segmentation Fault when %llu is passed to vasnprintf and 
11894         HAVE_SNPRINTF is not defined
11895  333879 gthread/gthread-win32.c: IsDebuggerPresent needs '#define 
11896         _WIN32_WINDOWS 0x0401'
11897  333916 g_timer_elapsed docs should mention that microseconds 
11898         may be NULL
11899  334440 dlerror() portability issue causes crash on (old) a.out 
11900         NetBSD platform
11901  334646 goption + error out params
11902  334799 g_remove() must check return value of remove()
11903  334943 make check FAIL: threadpool-test
11904  335215 Some breakages with GThreadPool
11905  336085 g_option_context_new parameter lacks better explanation
11906  336677 Documentation for g_object_ref_sink() is incorrect
11907  337027 gbookmarkfile.c: sys/time.h include error
11908  337553 Wrong escaping of URIs
11909  338572 Dereferencing NULL value in g_key_file_get_group_comment
11910  338845 g_completion_complete_utf8 crashes when NULL is passed to it
11911  339337 g_bookmark_file_set_description
11912  339338 gbookmarkfile.c, function expand_exec_line
11913  339340 gbookmarkfile.c, function bookmark_app_info_dump
11914
11915 * Translation updates (bg,en_GB,et,gl,gu,he,hi,ka,nb,nl,nn,
11916                        or,pt_BR,ro,tr,vi,zh_CN)
11917
11918
11919 Overview of Changes from GLib 2.10.0 to GLib 2.10.1
11920 ===================================================
11921
11922 * Bugs fixed:
11923  314794 Broken pthread detection on Darwin [Gregor Riepl]
11924  322476 Missing check for .dylib [Vladimir Panov]
11925  333651 Inconsistent _g_charset_get_aliases prototype [Julio 
11926         M. Merino Vidal]
11927  333761 GInitiallyUnowned breaks application code [Sven Herzberg]
11928
11929 * Win32 changes:
11930  - Fix g_listenv() implementation.
11931  - Allow up to 100 GPrivate structs
11932
11933 * Translation updates (fr,hu,lt,pl,sv)
11934
11935
11936 Overview of Changes from GLib 2.9.6 to GLib 2.10.0
11937 ==================================================
11938
11939 * The functions g_snprintf() and g_vsnprintf() have been removed from
11940   the gprintf.h header, since they are already declared in glib.h. This
11941   doesn't break documented use of gprintf.h, but people have been known
11942   to include gprintf.h without including glib.h.
11943
11944 * The Unicode support has been updated to Unicode 4.1. This adds several
11945   new members to the GUnicodeBreakType enumeration.
11946
11947 * The support for Solaris threads has been retired. Solaris has provided
11948   POSIX threads for long enough now to have them available on every
11949   Solaris platform.
11950
11951 * 'make check' has been changed to validate translations by calling
11952   msgfmt with the -c option. As a result, it may fail on systems with
11953   older gettext implementations (GNU gettext < 0.14.1, or Solaris gettext).
11954   'make check' will also fail on systems where the C compiler does not
11955   support ELF visibility attributes.
11956
11957 * The GMemChunk API has been deprecated in favour of a new 'slice
11958   allocator'. See the g_slice documentation for more details.
11959
11960 * A new type, GInitiallyUnowned, has been introduced, which is
11961   intended to serve as a common implementation of the 'floating reference'
11962   concept that is e.g. used by GtkObject. Note that changing the
11963   inheritance hierarchy of a type can cause problems for language
11964   bindings and other code which needs to work closely with the type
11965   system. Therefore, switching to GInitiallyUnowned should be done
11966   carefully. g_object_compat_control() has been added to GLib 2.8.5
11967   to help with the transition.
11968
11969 * Bugs fixed:
11970  328997 64bit pointer trunction in glib slab-allocator
11971         [Pascal Hofstee]
11972  331110 g_cond_broadcast(inform_cond) without holding 
11973         inform_mutex [Chris Wilson, Sebastian Wilhelmi]
11974  332093 Fix some leaks in the tests [Kjartan Maraas]
11975  332435 g_utf8_strlen returns wrong value if a maximum 
11976         number of bytes to check is specified 
11977         [Matthias Clasen]
11978  331367 gslice requires more POSIX-like semantics for 
11979         GPrivate destructors [Tor Lillqvist]
11980
11981 * Documentation improvements [Matthias, Kang Jeong-Hee,
11982   Tor Lillqvist, Stefan Kost]
11983
11984 * Translation updates (el,eu,ka,uk)
11985
11986 Overview of Changes from GLib 2.9.5 to GLib 2.9.6
11987 =================================================
11988
11989 * Bugs fixed: 
11990  329124 distclean removes README [Kjartan Maraas, Tim Janik]
11991  317679 GRelation field type not documented [Behdad Esfahbod]
11992  329123 Typo in GTime docs [Kjartan Maraas]
11993
11994 * Documentation improvements [Sven Herzberg, David
11995   Schleef, Kjartan Maraas, Behdad Esfahbod]
11996
11997 * Translation updates (cs,cy,it,ko,pt,sq,sr,sr@Latn,ru
11998
11999 Overview of Changes from GLib 2.9.4 to GLib 2.9.5
12000 =================================================
12001
12002 * Memory management: 
12003   Runtime debugging support: The slice allocator
12004   can be turned off by setting G_SLICE=always-malloc
12005   in the environment. Zeroing of freed memory can
12006   now be turned on at runtime by setting
12007   G_DEBUG=gc-friendly in the environment. [Tim Janik]
12008
12009 * Bugs fixed:
12010  328253 HP-UX/IA-64 uses ".so" as default shared library 
12011         extension [Albert Chin]
12012  143380 unicode-encoding test fails converting to UTF-16 
12013         with libiconv [Marc Moorcroft]
12014  328254 Build breakage (GSlice) [Jens Ganseuer]
12015  328705 C99ism in glib/gmem.c [Kazuki Iwamoto]
12016
12017 * Translation updates (da,et,zh_CN)
12018
12019 Overview of Changes from GLib 2.9.3 to GLib 2.9.4
12020 =================================================
12021
12022 * Type system:
12023   Fix a problem with g_object_compat_control() which 
12024   can lead to segfaults in GTK+ applications on 64bit 
12025   platforms. 
12026
12027 * Thread suppport: 
12028   Unused threads now fall back to the global pool after 
12029   500 milliseconds, where they wait for another 
12030   max-idle-time milliseconds. [Sebastian Wilhelmi]
12031
12032 * Fix a memory allocation problem in GKeyFile. [Morten 
12033   Welinder]
12034
12035
12036 Overview of Changes from GLib 2.9.2 to GLib 2.9.3
12037 =================================================
12038
12039 * GTree:
12040  - Replace the simple recursive implementation by
12041    a nonrecursive, threaded one  [Maurizio Monge]
12042
12043 * Change g_filename_display_name and
12044   g_filename_display_basename to use the Unicode
12045   replacement character U+FFFD instead of a question
12046   mark, and don't append "(invalid encoding)"  [Matthias]
12047
12048 * Documentation improvements [Sven Herzberg, Federico
12049   Mena Quintero, Stefan Kost]
12050
12051 * Bugs fixed:
12052  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X 
12053         [Bogdan Nicula]
12054  326558 Some test failures on IRIX 6.5 [Daichi Kawahata]
12055  169285 "threaded" tree implementation for GTree 
12056         [Maurizio Monge]
12057  326747 g_filename_display_basename adds (invalid encoding) 
12058         [Alberto Ruiz]
12059
12060 Other contributors: Christian Kellner, Murray Cumming
12061
12062 New and updated translations (bg,ca,de,es,et,gu,ja,nl,th,vi)
12063
12064
12065 Overview of Changes from GLib 2.9.1 to GLib 2.9.2
12066 =================================================
12067
12068 * Memory management:
12069  - Add tests for cache colorization [Tim Janik]
12070  - Minimize space consumption if small amounts of differently
12071    sized slices are allocated, at a small performance cost.  [Tim]
12072
12073 * Thread support:
12074  - Add g_atomic_pointer_set() and g_atomic_int_set() [Tim Janik,
12075    Sebastian Wilhelmi]
12076  - Add g_thread_pool_set_sort_function() to allow sorting the 
12077    tasks of a threadpool.  [Martyn Russell]
12078  - Add g_thread_pool_set_idle_time() to allow unused threads
12079    to exit after a certain time.  [Martyn]
12080
12081 * Type system:
12082  - introduce a new type GInitiallyUnowned, which has an initial
12083    floating reference. [Tim]
12084  - Add support for GType parameters. [Matthias]
12085
12086 * Main loop:
12087  - Add g_main_context_is_owner() to determine if the current
12088    thread is the owner of the context.  [Michael Meeks]
12089
12090 * Provide g_access(), g_chdir(), g_unlink(), g_rmdir() as 
12091   wrapper functions instead of macros.  [Manish Singh]
12092
12093 * Documentation improvements [Tim, Matthias, Federico Mena Quintero,
12094   Stefan Kasal, Dan Williams]
12095
12096 * New and updated translations (en_CA,fi,fr,gl,ml,nb,no,zh_HK,zh_TW)
12097
12098 * Bugs fixed:
12099  324179 g_allocator_new() returns pointer to const dummy which Gtk+ 2.8 
12100         tries to modify [J. Ali Harlow]
12101  324332 g_option_context_parse() returns false without setting error 
12102         [Tim-Philipp Müller]
12103  324950 GLIB 2.9.1 testcase errors [Dan Yefimov]
12104  325015 gslice.c: process.h is needed on Windows [Kazuki Iwamoto]
12105  321978 G_DATALIST_GET_FLAGS() macro is not casting datalist to 
12106         gpointer [Andrew Paprocki]
12107  316221 G_LOCK warns about breaking strict-aliasing [Michal Benes, 
12108         Stanislav Brabec]
12109  325273 Error in documentation for glib_check_version () [Declan Naughton]
12110  325310 g_spawn_sync hangs when catching both stdout and 
12111         stderr [Tor Lillqvist]
12112  325249 gcc warning when using g_rmdir from <glib/gstdio.h> [Jani Monoses]
12113  325864 glib/gthreadpool.c:"#define debug(...)" is C99 [Kazuki Iwamoto]
12114  325874 Should say somewhere that source IDs are > 0 [Dan Williams]
12115  325438 a typo (compatability) [Stefan Kasal]
12116  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X [Bogdan Nicula]
12117
12118
12119 Overview of Changes from GLib 2.9.0 to GLib 2.9.1
12120 =================================================
12121
12122 * Memory management
12123  - The slice allocator is implemented [Tim Janik]
12124  - g_slice_free_chain() has been renamed to 
12125    g_slice_free_chain_with_offset()  [Tim, Behdad Esfahbod]
12126  - Mem chunks are deprecated [Matthias Clasen]
12127
12128 * Data structures
12129  - Hash tables are refcounted, and have a boxed type [Tim]
12130
12131 * Thread support
12132  - Support for Solaris threads has been removed 
12133    [Sebastian Wilhelmi, Andrew Paprocki]
12134  - g_async_queue_sort(), g_async_queue_push_sorted() have 
12135    been added to allow GAsyncQueue to be used as a priority 
12136    queue, together with the corresponding _unlocked 
12137    variants  [Martyn Russell]
12138
12139 * GObject:
12140  - The concept of a floating initial reference has been
12141    moved from GtkObject to GObject [Tim]
12142
12143 * Win32 changes:
12144  - Make g_rename() replace existing files [Tor Lillqvist]
12145
12146 * Misc new API:
12147  - G_GUINT64_CONSTANT macro to define guint64 
12148    constants [Andrew Paprocki]
12149  - G_GNUC_WARN_UNUSED_RESULT macro to instruct the 
12150    compiler to emit a warning if the value returned
12151    by a function is ignored. [Arjan van de Ven, Alex Larsson]
12152  - GList and GSList now have sort functions which take an
12153    extra user data argument [Martyn Russell]
12154  - g_param_spec_ref_sink() has been added for consistency [Tim]
12155
12156 * $LOGNAME is respected when determining user data. [Laszlo Peter]
12157
12158 * Other changes and bug fixes [Tim, Matthias, Behdad, 
12159   Christian Persch, Benedikt Meurer, Andrew Paprocki, 
12160   Kazuki Iwamoto, Alexis S. L. Carvalho, Stanislav Brabec,
12161   Andreas Schwab, Kalle Vahlman]
12162
12163 * Documentation
12164  - Deprecation warnings carry version information [Matthias]
12165  - The slice allocator has been documented [Matthias, Tim]
12166  - Other improvements [Morten Welinder]
12167
12168 Overview of Changes from GLib 2.8.x to GLib 2.9.0
12169 =================================================
12170 * Unicode support:
12171  - The Unicode tables have been updated to Unicode 4.1, 
12172    adding several new values to the GUnicodeBreakType 
12173    enumeration. This breaks Pango <= 1.10 
12174    [Behdad Esfahbod]
12175  - The various Unicode character predicate functions 
12176    (g_unichar_isalpha, g_unichar_isdigit,...) have
12177    been optimized
12178    [Behdad]
12179  - g_utf8_pointer_to_offset, g_utf8_offset_to_pointer:
12180    These functions handle negative offsets now, and
12181    going backwards in g_utf8_offset_to_pointer uses
12182    "stutter stepping".
12183    [Larry Ewing, Matthias Clasen]
12184
12185 * Memory management:
12186  - Mem chunks are no longer used internally in GLib and
12187    GObject. GMemChunk will be deprecated in GLib 2.10
12188  - All APIs based on GAllocator (g_list_push/pop_allocator,
12189    and similar push/pop_allocator functions for other
12190    data structures) have been deprecated, since they
12191    never worked as intended.
12192  - The g_slice_* functions have been added as a 
12193    new API for fast allocation of small memory blocks. 
12194    The implementation in GLib 2.9.0 is just a simple 
12195    wrapper around malloc. GLib 2.10 will have an
12196    efficient and scalable implementation. 
12197    [Tim Janik, Matthias]
12198
12199 * Pattern matching:
12200  - g_pattern_match has been optimized to avoid
12201    unnecessary recursion.
12202    [Tim, Matthias]
12203
12204 * g_intern_string, g_intern_static_string: 
12205  - New functions to intern strings. These are now used 
12206    by GObject to avoid duplicating static strings 
12207    [Matthias]
12208
12209 * g_thread_foreach: 
12210  - New function to iterate over all GThreads 
12211    [Tim, Matthias]
12212
12213 * g_date_set_time_t, g_date_set_time_val:
12214  - New functions to set a GDate from a time_t or
12215    GTimeVal value. g_date_set_time has been deprecated 
12216    in favor of these.
12217    [Roger Leigh]
12218
12219 * g_snprintf and g_vsnprintf:
12220  - These functions are no longer declared in gprintf.h, 
12221    since they are in glib.h
12222    [Matthias]
12223
12224 Overview of Changes from GLib 2.8.0 to GLib 2.8.1
12225 =================================================
12226 * Optimize single-character insertions in GString [Ross Burton]
12227 * Fix build problems on OS X
12228 * Fix build problems on Win32 [Tor Lillqvist, Hans Breuer]
12229 * Other bug fixes [Matthew F. Barnes, Stepan Kasal] 
12230 * Documentation improvements [Tristan van Berkom, Behnam
12231   Esfahbod, Gustavo Carneiro, Stepan Kasal, Matthias]
12232 * New and updated translations (ca,cy,ko,ro,uk)
12233
12234 Overview of Changes from GLib 2.7.7 to GLib 2.8.0
12235 =================================================
12236 * Make g_value_transform() handle enum values
12237   correctly on ppc64.  [Michael Lorenz]
12238   (Third-party code accessing enumeration values 
12239   in GValues should also be changed to access 
12240   v_long, not v_int, in order to work on bigendian 
12241   64bit machines.)
12242 * Make g_flags_get_first_value() handle a value
12243   of 0 meaningfully. [Tim-Philipp Müller] 
12244
12245 Overview of Changes from GLib 2.7.6 to GLib 2.7.7
12246 =================================================
12247 * Make atomic operations on s390 work [Matthias]
12248 * Fix C++ guards in gstdio.h [Tor Lillqvist]
12249
12250 Overview of Changes from GLib 2.7.5 to GLib 2.7.6
12251 =================================================
12252 * Add native implementations of atomic operations 
12253   on s390 [Matthias]
12254 * Make atomic reference counting of closures
12255   work on s390 [Matthias]
12256 * Avoid an infinite loop in g_convert_with_iconv().
12257   [Sebastian Bacher]
12258 * Documentation improvements [Ross Burton]
12259
12260 Overview of Changes from GLib 2.7.4 to GLib 2.7.5
12261 =================================================
12262 * Thread-related changes
12263  - Fix build issues on HP-UX [Paul Cornett]
12264  - Threadsafe access to flags stored in datasets [Tim Janik]
12265  - Fix several issues with atomic refcounting for 
12266    closures, objects and paramspecs [Tim]
12267  - Improve tests for atomic refcounting changes [Tim]
12268 * Fix handling of stateful encodings in g_convert_* [Matthias]
12269 * Fix translation of GOption help output [Dan Winship]
12270 * Catch format errors in translations. This may cause 
12271   "make check" to fail when using older versions
12272   of gettext [Matthias]
12273 * Win32 bug fixes [Tor Lillqvist]
12274 * Documentation improvements [Ross Burton, Jochen Baier, 
12275   Matthias, Tim]
12276 * New and updated translations (de,fi,gu,pl,pt,tr,zh_TW)
12277
12278 Overview of Changes from GLib 2.7.3 to GLib 2.7.4
12279 =================================================
12280 * Fix g_atomic_pointer_compare_and_exchange 
12281   on Sparc64 [Gert Doering]
12282 * Fix a hang in g_thread_pool_free. [Hong Jen Yee]
12283 * Win32 bug fixes [Tor Lillquist]
12284 * Other bug fixes [Benoit Dejean, Manish Singh]
12285 * Documentation improvements [Bryan Silverthorn,
12286   Callum McKenzie] 
12287 * New and updated translations (de,lt,sq,zh_CN)
12288
12289 Overview of Changes from GLib 2.7.2 to GLib 2.7.3
12290 =================================================
12291 * GOption
12292  - Allow callbacks with optional arguments [Pawel Sliwowski]
12293  - Allow to turn off the automatic long option name
12294    disambiguation  [Adam McLaurin]
12295  - Only allow printable ASCII as short option names [Matthias]
12296 * Win32
12297  - Build fixes [Tor Lillqvist]
12298  - Rewrite iochannel socket implementation [Tor]
12299 * GObject
12300  - Threadsafety improvements; in particular, refcounting
12301    of objects is done atomically now. [Wim Taymans, Tim Janik]
12302 * Bug fixes [Morten Welinder, Matthias, Wim Taymans]
12303 * Documentation improvements [Richard Laager, Matthias]
12304 * New and improved translations (bf,cs,hu,nb,nl,no)
12305
12306 Overview of Changes from GLib 2.7.1 to GLib 2.7.2
12307 =================================================
12308 * Win32 build fixes [Hans Breuer]
12309 * Bug fixes [Mikael Magnusson]
12310 * Documentation improvements [Matthias Clasen]
12311 * New and updated translations (en_CA,es,et,ja,sr,sr@Latn,zh_TW)
12312
12313 Overview of Changes from GLib 2.7.0 to GLib 2.7.1
12314 =================================================
12315 * GOption 
12316  - Allow callback arguments without parameters [Dan Winship]
12317 * GMappedFile: an mmap wrapper [David Schleef, Behdad Esfahbod]
12318 * Misc new functions:
12319  - g_get_host_name [Tor Lillqvist]
12320  - g_mkdir_with_parents [Tor]
12321  - g_build_pathv, g_build_filenamev [Todd A. Fisher, 
12322    Matthias Clasen]
12323 * Bug fixes [Roger Leigh, Masatake YAMATO, Kjartan Maraas,
12324   Manish Singh, Tor, Murray Cumming, Kian Duffy, Morten Welinder]
12325 * Documentation improvements [Hong Gang XU, Dan Winship, Matthias]
12326 * New and updated translations (bg,cs,da,en_CA,es,et,nb,nl,no,
12327   sk,th,zh_TW)
12328
12329 Overview of Changes from GLib 2.6.x to GLib 2.7.0
12330 =================================================
12331 * GKeyFile
12332  - Add unit tests [Matthias Clasen, Suren A. Chilingaryan]
12333  - Accept \r\n as line end [Bastian Nocera]
12334  - Don't interpret leading zeros as octal numbers. [Matthias]
12335  - Make key and group removal work [David Hoover, Matthias Hasselmann]
12336 * GOption
12337  - Improve formatting of --help output [Matthias, Noah Levitt]
12338  - Accept -? [Matthias]
12339  - Warn about duplicate main groups [Jeff Franks]
12340  - Treat '-' as non-option argument [Tim Musson, Thomas Leonard]
12341  - Report missing arguments as errors [Björn Lindqvist]
12342  - Add a boxed type for GDate [Tim-Philipp Müller]
12343 * GTree
12344  - g_tree_remove() and g_tree_steal() return status information [Matthew F. Barnes]
12345 * Stdio wrappers
12346  - Work regardless of large file support [Manish Singh]
12347  - Add g_access(), g_chmod(), g_creat(), g_chdir [Tor Lillqvist]
12348 * GObject
12349  - Implement "toggle references" to help language bindings [Owen Taylor]
12350  - Allow to mark names, nicks and blurbs of pspecs as static [Ben Maurer, Matthias]
12351  - Make pspec lookup a bit faster [Morten Welinder]
12352 * Add g_listenv() to list all set environment variables [Hans Petter Jansson]
12353 * Add g_file_set_contents() to atomically write a file.  [Søren Sandmann,
12354   Sven Neumann, Manish, Alexis S. L. Carvalho]
12355 * Add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew() [Stefan Kost]
12356 * Add g_utf8_collate_key_for_filename() to sort filenames taking
12357   extensions and numeric suffixes into account.  [Ole Laursen, Alex Larsson]
12358 * Add G_GNUC_NULL_TERMINATED to mark varargs function with 
12359   NULL-terminated argument lists. [Marc Meissner]
12360 * Win32 changes
12361  - Improved debugability [Ulf Lamping, Hans Breuer]
12362  - Make filename handling more robust [Tor, Billy Skaggs]
12363  - Improve g_get_system_data_dirs() [Tor]
12364  - Use more precise timers [Tor]
12365  - Build fixes [Kazuki Iwamoto, Hans, Tor, Robert Ögren]
12366 * Other bug fixes [Roger Leigh, Owen, Matthias, Morten, Kjartan Maraas, 
12367   Pawel Sakowski, Tor, Simon Budig, Ed Avis, Manish, Nicolas Laurent, 
12368   Bastien, Fabrício Barros Cabral, Michael Banck, Daniel Atallah, 
12369   J. Ali Harlow, Tim Janik, Hazael Maldonado Torres, Sven, Jon-Kare Hellan,
12370   Dave Benson, Tommi Komulainen, Benjamin Otte, Brian Cameron, Changwoo Ryu, 
12371   Christian Biere, Noah, Benoît Carpentier]
12372 * Documentation improvements [Vincent Untz, Matthias, Tim-Philipp Müller,
12373   Morten, Matthew, Federico Mena Quintero, Sebastian Bacher, Oliver Sessink, 
12374   Stefan, Jared Lash, Tor, Owen, Daniel Vaillard, Mathieu Lacage]
12375 * New and updated translations (ca,cs,da,el,en_CA,en_GB,es,et,eu,fa,fr,gl,
12376   hu,id,it,lt,mn,ne,nl,pl,pt,pt_BR,ro,rw,sk,sq,sr,sr@Latn,tl,uk,xh,zh_CN)
12377
12378 Overview of Changes from GLib 2.6.0 to GLib 2.6.1
12379 =================================================
12380 * GOption
12381  - Make gtk_init(NULL, NULL) work again [Marcin Krzyzanowski]
12382  - Improve handling of -- [Matthias Clasen]
12383  - Don't show G_OPTION_REMAINING in --help output [Matthew F. Barnes]
12384 * g_find_program_in_path() doesn't return directories [Tommi Komulainen]
12385 * Add gmodule-export-2.0.pc [Matthias]
12386 * Win32 changes
12387  - Improve hangling of UNC paths [Tor Lillqvist]
12388  - g_getenv(), g_setenv(), g_unsetenv(), g_find_program_in_path()
12389    take and return UTF-8 now [Tor] 
12390  - Make g_file_test() work more reliably, and use PATHEXT
12391    when check for executables [Tor]
12392  - Build and cross-compilation fixes [J. Ali Harlow]
12393 * Other bug fixes [Jens Hatlak, Morten Welinder, 
12394   Tor, Kalpesh Shah, Adrian Bunk]
12395 * Documentation improvements [Marcin Krzyzanowski, Tor, Crispin
12396   Flowerday, Mariano Suárez-Alvarez, Christian Biere, Danny Milo,
12397   Vincent Untz, Bastien Nocera]
12398 * New and updated translations (cy,de,nl,ru,sq,sv)
12399
12400 Overview of Changes from GLib 2.4.x to GLib 2.6.0
12401 =================================================
12402
12403 * GLib 2.6 introduces the concept of 'GLib filename encoding', which is the
12404   on-disk encoding on Unix, but UTF-8 on Windows. All GLib functions
12405   returning or accepting pathnames have been changed to expect
12406   filenames in this encoding, and the common POSIX functions dealing
12407   with pathnames have been wrapped. These wrappers are declared in the
12408   header <glib/gstdio.h> which must be included explicitly; it is not
12409   included through <glib.h>.
12410
12411   On current (NT-based) Windows versions, where the on-disk file names
12412   are Unicode, these wrappers use the wide-character API in the C
12413   library. Thus applications can handle file names containing any
12414   Unicode characters through GLib's own API and its POSIX wrappers,
12415   not just file names restricted to characters in the system codepage.
12416
12417   To keep binary compatibility with applications compiled against
12418   older versions of GLib, the Windows DLL still provides entry points
12419   with the old semantics using the old names, and applications
12420   compiled against GLib 2.6 will actually use new names for the
12421   functions. This is transparent to the programmer.
12422
12423   When compiling against GLib 2.6, applications intended to be
12424   portable to Windows must take the UTF-8 file name encoding into
12425   consideration, and use the gstdio wrappers to access files whose
12426   names have been constructed from strings returned from GLib.
12427
12428 * Likewise, g_get_user_name() and g_get_real_name() have been changed
12429   to return UTF-8 on Windows, while keeping the old semantics for
12430   applications compiled against older versions of GLib.
12431
12432 * The GLib uses an '_' prefix to indicate private symbols that
12433   must not be used by applications. On some platforms, symbols beginning
12434   with prefixes such as _g will be exported from the library, on others not.
12435   In no case can applications use these private symbols. In addition to that,
12436   GLib+ 2.6 makes several symbols private which were not in any installed
12437   header files and were never intended to be exported.
12438
12439 * To reduce code size and improve efficiency, GLib, when compiled
12440   with the GNU toolchain, has separate internal and external entry
12441   points for exported functions. The internal names, which begin with
12442   IA__, may be seen when debugging a GLib program.
12443
12444 * On Windows, GLib no longer opens a console window when printing
12445   warning messages if stdout or stderr are invalid, as they are in
12446   "Windows subsystem" (GUI) applications. Simply redirect stdout or
12447   stderr if you need to see them.
12448
12449 * The child watch functionality tends to reveal a bug in many
12450   thread implementations (in particular the older LinuxThreads
12451   implementation on Linux) where it's not possible to call waitpid()
12452   for a child created in a different thread. For this reason, for
12453   maximum portability, you should structure your code to fork all
12454   child processes that you want to wait for from the main thread.
12455
12456 * A problem was recently discovered with g_signal_connect_object();
12457   it doesn't actually disconnect the signal handler once the object being
12458   connected to dies, just disables it. See the API docs for the function
12459   for further details and the correct workaround that will continue to
12460   work with future versions of GLib.
12461
12462 * Major new APIs
12463   - GOption, a commandline option parser
12464   - GKeyFile, a parser/editor for the .ini like files 
12465   - Functions to support the XDG basedir specification
12466   - Wrappers for common POSIX pathname functions to handle filename
12467     encodings consistently. On Windows, these use UTF-8.
12468
12469 * Miscellaneous new functions
12470   - g_filename_display_name() converts filenames in displayable UTF-8 strings
12471   - g_uri_list_extract_uris() splits uri lists
12472   - g_date_get_iso8601_week_of_year() gets ISO 8601 week numbers
12473   - g_log_set_default_handler() installs an alternate default log handler
12474   - g_get_language_names() obtains a list of applicable locale names
12475   - g_strv_length() calculates the length of NULL-terminated string arrays
12476   - g_win32_get_windows_version() determines the Windows version 
12477   - G_GNUC_INTERNAL marks functions as non-exported
12478   - glib_check_version() checks the GLib version at runtime
12479   - g_debug() completes the family of logging functions
12480
12481 * Performance improvements
12482   - Optimize g_utf8_validate()
12483   - Optimize g_markup_parse_context_parse()
12484   - Reduce signal connection complexity from O(n) to O(1) 
12485   - Get rid of many PLT entries for internally used exported symbols
12486   - Reduce code size by removing literal strings from g_return_if_fail()
12487
12488 * Other changes
12489   - On Windows, GLib functions that take file name arguments now require
12490     those to be in UTF-8. Functions that return file names return UTF-8.
12491   - Use higher precision for mathematical constants
12492   - Don't convert to/from UTF-8 in g_filename_to_uri/g_filename_from_uri
12493   - Support ll as printf format modifier for long long on all platforms
12494   - Clean up the ABI and enforce the list of exported symbols
12495   - Add a .pc file for using gmodule in libraries
12496   - Require ngettext
12497
12498 Overview of Changes from GLib 2.5.7 to GLib 2.6.0
12499 =================================================
12500 * GOption: Don't list help options if group-specific
12501   options have been requested [Glynn Foster]
12502 * Make g_get_language_names() track locale changes [Christian Persch]
12503 * Win32 bug fixes [Tor Lillqvist]
12504 * Bug fixes [Philippe Blain, Owen Taylor, Sebastian Wilhelmi]
12505 * New and updated translations (da,es,ja,lt,zh_CN)
12506 Bugs fixed: 159530,100697,160271,160645,157255
12507
12508 Overview of Changes from GLib 2.5.6 to GLib 2.5.7
12509 =================================================
12510 * Optimize g_utf8_validate() [Owen Taylor, Matthias Clasen]
12511 * Optimize g_markup_parse_context_parse() [Havoc Pennington, 
12512   Morten Welinder]
12513 * Reduce signal connection complexity from O(n) to O(1) 
12514   [Sven Neumann]
12515 * Add a .pc file for using gmodule in libraries [Owen]
12516 * Add G_GNUC_MALLOC to mark functions returning newly 
12517   allocated memory  [Matthias]
12518 * Win32 bug fixes [Hans Breuer, Tor Lillqvist, Robert Ögren,
12519   Bruce Hochstetler]
12520 * Bug fixes [Kazuki IWAMOTO, Matthias, Manish Singh, Morten,
12521   Frederic Crozat, Tor]
12522 * Documentation improvements [Matthias, Tor, Owen]
12523 * New and updated translations (cs,da,de,en_CA,en_GB,es,nb,nl,sq,zh_CN)
12524
12525 Overview of Changes from GLib 2.5.5 to GLib 2.5.6
12526 =================================================
12527 * GOption
12528   - Add G_OPTION_FLAG_REVERSE to allow options 
12529     which unset a  boolean variable [Tor Lillqvist]
12530 * GChildWatch
12531   - Use sigaction instead of signal [Jonas Jonnson, 
12532   Archana Shah]
12533   - Make the very first SIGCHLD work [Gustavo Carneiro]
12534 * Bug fixes [Morten Welinder, Tor, David MacLachlan,
12535   Manish Singh, J. Ali Harlow]
12536 * Documentation improvements [Matthias Clasen, Tor]
12537 * Updated translations (da,ja,tr,zh_CN)
12538
12539 Overview of Changes from GLib 2.5.4 to GLib 2.5.5
12540 =================================================
12541 * GKeyFile
12542   - Cleanups, add more error checking [Ray Strode]
12543   - Fall back to the untranslated string when getting 
12544     locale strings [Mark McLoughlin]
12545 * GOption
12546   - Document GOption [Matthias Clasen]
12547   - Better support for rest arguments [Owen Taylor, Matthias]
12548   - Handle conflicts between groups [Matthias]
12549 * Add g_lstat() to the stdio wrappers [Tor Lillqvist]
12550 * Add g_filename_display_name() to convert filenames
12551   in displayable UTF-8 strings  [Alex Larsson, Matthias]
12552 * Win32 bug fixes [Kazuki IWAMOTO, Hans Breuer, Tor]
12553 * Bug fixes [Christophe Fergeau, Morten Welinder, 
12554   Owen, Kjartan Maraas, Mark]
12555 * Documentation improvements [Matthias, Tor]
12556
12557 Overview of Changes from GLib 2.5.3 to GLib 2.5.4
12558 =================================================
12559 Add GKeyFile, a parser/editor for the .ini like files used in various
12560    freedesktop.org specifications. [Ray Strode]
12561 Make the handling of filename encodings consistent across all
12562    GLib functions, introduce wrappers for common POSIX 
12563    functions which accept the same filename encoding. [Tor Lillqvist, 
12564    Owen Taylor]
12565 GOption
12566  - Rename g_context_option_error_quark() to a more language-binding
12567    friendly name [Murray Cumming]
12568  - Accept backslashes in filenames on Win32 [Tor Lillqvist]
12569 * Strip the internal aliasing prefix IA__ from function names in 
12570   assertions [Matthias Clasen]
12571 * Add a function to split uri lists. [Matthias]
12572 * Win32 bug fixes 
12573  - Don't open console windows [Tor]
12574 * Other bug fixes [Philippe Blain, Robert Ögren, Hidetaka Iwai, Matthias,
12575  Morten Welinder, Mats-Ola Persson, Tor, Nickolay V. Shmyrev, Kjartan Maraas,
12576   Anders Carlsson, Tim-Philipp Müller, Lucas Rocha, Andrea Campi, Manish
12577   Singh, Thomas Fitzsimmons, Kazuki IWAMOTO]
12578 * Documentation improvements [Matthias, Linus Walleij, Nickolay, Philippe, 
12579  Adam Hooper, Gustavo Carneiro]
12580 * New and updated translations (cs,en_CA,en_GB,ja,nb,nl,or,sr,sr@Latn,sq)
12581
12582 Overview of Changes from GLib 2.5.2 to GLib 2.5.3
12583 =================================================
12584 * GOption
12585  - set the program name from argv[0] [Masatake YAMATO] 
12586  - make contexts work without a main group [Anders Carlsson]
12587 * Performance 
12588  - Get rid of many PLT entries for internally used exported symbols,
12589    and clean up the ABI at the same time and make make check check the
12590    list of exported symbols.  [Matthias Clasen]
12591 * Add API to get ISO 8601 week numbers [Niklas Lundell]
12592 * Add API to install an alternate default log handler [Darin Adler]
12593 * Add API to obtain a list of applicable locale names [Hidetoshi Tajima]
12594 * Reduce code size bloat by removing literal strings from
12595  the g_return_if_fail() macros [Owen Taylor]
12596 * Add g_strv_length [Tim-Philipp Müller]
12597 * Win32 changes
12598  - Add API to determine the Windows version [Tor Lillqvist]
12599 * Other bug fixes [Stepan Kasal, Anders, Tor, Kazuki Iwamoto,
12600   Manish Singh]
12601 * Documentation improvements [Morten Welinder, Matthias]
12602 * New and updated translations (es,nn,ro)
12603
12604 Overview of Changes from GLib 2.5.1 to GLib 2.5.2
12605 =================================================
12606 * Add G_GNUC_INTERNAL macro [Arjan van de Ven]
12607 * Add GOption, a commandline option parser [Anders Carlsson]
12608 * Add glib_check_version [Michael Natterer]
12609 * Add XDG basedir API [Ray Strode]
12610 * Require ngettext [Danilo Segan]
12611 * Bug fixes [Manish Singh, Ray Strode, Vincent Noel, 
12612   Jon-Kare Hellan, Jody Goldberg]
12613 * Win32 bug fixes [Tor Lillqvist, Hans Breuer, Peter Zelezny]
12614 * Documentation improvements [Matthias Clasen, Vincent Untz, Christian Persch]
12615 * New and updated translations (bs,eu,fi,gu,ne,pa)
12616
12617 Overview of Changes from GLib 2.5.0 to GLib 2.5.1
12618 =================================================
12619
12620 * Bug fixes [Oliver Guntermann, Sven Neumann, James 
12621   Henstridge, Hiroyuki Ikezoe, Matthias Clasen, Robert 
12622   Ögren, Tommi Komulainen]
12623 * Documentation improvements [Soeren Sandmann, 
12624   Christophe Fergeau, Danek Duvall]
12625 * New and updated translations (eu,hi)
12626   
12627 Overview of Changes from GLib 2.4.1 to GLib 2.5.0
12628 =================================================
12629
12630 * New functions g_debug [Sven Herzberg]
12631 * Use higher precision for mathematical constants [Morten 
12632  Welinder]
12633 * Don't convert to/from UTF-8 in g_filename_{to,from}_uri 
12634  [Federico Mena Quintero]
12635 * Win32
12636  - Handle empty digit string in printf() functions 
12637    correctly [Tor Lillqvist]
12638  - Support ll as format modifier for long long [Tor]
12639  - Be more careful about HOME [Tor, Ivan Wong]
12640  - Bug fixes [John Ehresman]
12641 * Miscellaneous bug and portability fixes [Danilo Segan, 
12642  Owen Taylor, Nikolai Weibull, Benoît Carpentier, Morten 
12643  Welinder, Manish Singh, Sven Neumann, Julio M. Merino Vidal,
12644  Kaz Sasayama, Murray Cumming, Federico, Mariano Suarez-Alvarez]
12645 * Documentation updates [Matthias Clasen, Crispin Flowerday,
12646  Tommi Komulainen, Federico Mena Quintero, Ed Griffiths]
12647 * New and updated translations (ja,ne,no,wa)
12648  
12649 Overview of Changes from GLib 2.4.0 to GLib 2.4.1
12650 =================================================
12651
12652 * Win32 bug fixes [Tor Lillqvist, Roger Leigh, John Ehresman]
12653 * Miscellaneous bug and portability fixes [Owen Taylor,
12654   Matthias Clasen, Jonas Jonsson, Christian Krause,
12655   Nickolay V. Shmyrev, Christophe Saout, Philippe Blain,
12656   Piotr Klaban]
12657 * Documentation updates [Matthias]
12658 * New and updated translations (ca,cs,cy,el,en_CA,en_GB,es,eu,fi,
12659   fr,gu,he,id,nl,pt,pl,ru,sr,sr@ije,sr@Latn,sv,uk)
12660
12661 Overview of Changes from GLib 2.3.6 to GLib 2.4.0
12662 =================================================
12663
12664 * Handle invalid-UTF-8 in g_log() properly [Matthias Clasen]
12665 * Win32 bug fixes [Tor Lillqvist, Bruce Hochstetler]
12666 * Miscellaneous bug and portability fixes [Olivier Biot, David L. Cooper II, 
12667   Kjartan Maraas, Frédéric L. W. Meunier, Christof Petig, Manish Singh, 
12668   Sebastian Wilhelmi]
12669 * Documentation updates [Owen]
12670 * Updated translations (hr,ro)
12671
12672 Overview of Changes from GLib 2.3.5 to GLib 2.3.6
12673 =================================================
12674
12675 * GAtomic bug fixes [Sebastian Wilhelmi, Mark McLoughlin]
12676 * GMain threading fixes and improvements [Sebastian]
12677 * Win32 [Tor Lillqvist]
12678  - restore some symbols extraneously exported from gobject to maintain ABI compatibility
12679  - Misc build improvements and fixes [Tor, Cedric Gustin, Hans Breuer]
12680 * Documentation updates [Sebastian, Takeshi AIHANA, Matthias, Sven Herzberg]
12681 * New and updated translations (be,es,fi,ga,pa,sr@ije,zh_CN)
12682
12683 Overview of Changes from GLib 2.3.3 to GLib 2.3.5
12684 =================================================
12685
12686 * Make glib-mkenums parse initializers with macros. [Matthias Clasen, muppet]
12687 * Respect locale era in g_date_set_parse(). [Theppitak Karoonboonyanan] 
12688 * Add atomic operations and use it for the async queue and
12689   gonce implementation. [Sebastian Wilhelmi]
12690 * Documentation improvements [Sebastian, Matthias, Sven Herzberg]
12691 * Add g_main_depth() for finding the recursion depth of the main
12692   loop [Owen Taylor, Tim Janik, Stefan Westerfeld]
12693 * Add g_spawn_close_pid(), needed on win32 [J. Ali]
12694 * Win32 fixes. [Hans Breuer, J. Ali Harlow]
12695 * Misc bugfixes [Sebastian, Matthias, Balazs Scheidler, Owen]
12696 * Updated translations (cy,et,ga,sq)
12697
12698 Overview of Changes from GLib 2.3.2 to GLib 2.3.3
12699 =================================================
12700
12701 * Add a native AIX gmodule implementation. [Laurent Vivier]
12702 * Add g_node_copy_deep().  [James M. Cape, Matthias Clasen]
12703 * Extend GQueue API to match the GList API. [Soeren Sandmann]
12704 * Add g_hash_table_find().  [Tim Janik]
12705 * Add a G_MODULE_BIND_LOCAL flag. [David Schleef]
12706 * Inline g_string_append_c() when possible. [Owen Taylor, Tim]
12707 * Wrap waitpid() as a GSource. [Jonathan R. Blandford]
12708 * Add g_completion_complete_utf8(). [Theppitak Karoonboonyanan, 
12709   Matthias]
12710 * Add g_strsplit_set(). [Soeren]
12711 * Documentation improvements. [Vincent Untz, Sebastian Wilhelmi, 
12712   Soeren, Matthias]
12713 * Win32 build fixes. [Tor Lillqvist]
12714 * Misc bugfixes [Manish Singh, Noah Levitt, Simon Josefsson, 
12715   Morten Welinder, Damien Carbery, Julio M. Merino Vidal, Sebastian, 
12716   Matthias]
12717 * Updated translations (nn,cs,it,ko,sq,ms,az,hr,uk,sr,sr@Latn,sq,ta)
12718
12719 Overview of Changes from GLib 2.3.1 to GLib 2.3.2
12720 =================================================
12721
12722 * Add G_MAXSIZE. [Manish Singh]
12723 * Add g_rand_new_with_seed_array(), g_rand_set_seed_array(),
12724   implementing the init-by-array functionality of the 
12725   original mersenne twister. Add g_rand_copy(). Improve seeding. 
12726   [George Lebl]
12727 * Add a lowercase_name option to glib-mkenums. [Murray Cumming]
12728 * Add g_ptr_array_foreach(). [Matthias Clasen]
12729 * Add g_timer_continue(). [Tim-Philipp Müller]
12730 * Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
12731 * Fix g_filename_{to,from}_utf8() on Win32 and improve 
12732   g_file_test() there too [Hans Breuer] 
12733 * Add a boxed type for NULL-terminated string arrays.  [Matthias]
12734 * Add G_DEFINE_TYPE() plus variants to ease the constuction
12735   of GObject boilerplate code.  [Tim Janik]
12736 * Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
12737 * Documentation improvements [Matthias, Manish]
12738 * Win32 build fixes [Hans]
12739 * Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, 
12740   Zack Rusin]
12741 * Updated translations (ar,de,fa,ga,mn,nn,no,sq)
12742
12743 Overview of Changes from GLib 2.3.0 to GLib-2.3.1
12744 =================================================
12745
12746 * Add glib/gi18n.h and glib/gi18n-lib.h for common
12747   gettext support, including a Q_() macro for translation
12748   with context [Matthias Clasen]
12749 * Add a more flexible G_FILENAME_ENCODING variable
12750   as a replacement for G_BROKEN_FILENAMES [Matthias]
12751 * Fix the return value g_main_context_iterate() for
12752   newly ready sources [Padraig O'Briain]
12753 * Handle Hangul composition for normalization [Noah Levitt]
12754 * Add G_{MIN,MAX,MAXU}INT{8,16,32}. [Mark Jones, Matthias]
12755 * Add G_GSIZE_FORMAT/G_SSIZE_FORMAT [Manish Singh]
12756 * Add G_STRFUNC as a portable wrapper for __func__ [Tim Janik]
12757 * Documentation improvements [Matthias]
12758 * GObject [Tim Janik]
12759  - Support '-' in g_signal_connect()/disconnect() names
12760    like 'swapped-signal'.
12761  - Add g_type_class_peek_static() and use to optimize
12762    g_object_new() for static types [Tim]
12763  - Allow setting construct-only properties from within
12764    init() implementations
12765  - Enforce readability/writeability in g_object_set/get()
12766 * Fix bug with g_ascii_strtod and multi-byte separator.
12767   [Behdad Esfahbod, Roozbeh Pournader]  
12768 * Misc bug fixes [Matthias, John Ehresman, Andrew Lanoix,
12769   Tor Lillqvist, Mark McLoughlin, Tim-Philipp Müller, Manish, 
12770   Morten Welinder]
12771 * Updated translations (ca,cs,da,es,fr,ja,nn,no,pt,ru)
12772
12773 Overview of Changes from GLib 2.2.x to GLib-2.3.0
12774 =================================================
12775
12776 * Replace Trio printf by gnulib vasnprintf [Matthias Clasen]
12777 * Update Unicode data to Unicode 4.0 [Noah Levitt]
12778 * Support XML-safe formatted output with 
12779   g_markup_[v]printf_escaped [Owen Taylor]
12780 * Add g_file_read_link to read symbolic links [Matthias]
12781 * Add g_unichar_get_mirror_char to obtain the 
12782   mirrored variant of a character [Noah]
12783 * Support for one-time initialization functions. 
12784   [Sebastian Wilhelmi]
12785 * Miscellaneous API additions: g_vasprintf
12786   g_string_chunk_insert_len, g_setenv, g_unsetenv [Matthias]
12787 * Docs improvements [Matthias]
12788 * Add support instance-private data on classed types
12789   [Mark McLoughlin, Tim Janik, Owen]
12790 * Optimize signal emissions [Soeren Sandmann, Tim]
12791 * Support a "default vtable" per interface [Tim]
12792 * Add support for properties on interfaces [Owen, Tim]
12793 * Miscellaneous API additions: g_value_take_string(),
12794   g_value_take_param(), g_value_take_object(), 
12795   g_value_take_boxed(). [Matthias]
12796 * Win32 build fixes [Tor Lillqvist]
12797
12798 Overview of Changes from GLib 2.1.5 to GLib-2.2.0
12799 =================================================
12800
12801 * Fix a problem with g_thread_init() on 64-bit problems
12802   [Alceste Scalas, Sebastian Wilhelmi]
12803 * Add assembly implementations of byteswap macros
12804   for ia64 and x86_64. [Manish Singh]
12805 * IOChannel fixes for Win32 [Tor Lillqvist, Thorsten Maerz]
12806 * Updated translations (bg,ca,es,da,fi,lv,ru,sk)
12807
12808 Overview of Changes from GLib 2.1.4 to GLib-2.1.5
12809 =================================================
12810
12811 * Win32 bug fixes [Tor Lillqvist]
12812 * Various post-rewrite fixes for glib-gettext.m4 [Owen Taylor,
12813   Jody Goldberg, Kjartan Maraas, Johannes Stezenbach]
12814 * Ensure we have a GUINT64_FORMAT by pulling in Trio
12815   if necessary [Manish Singh]
12816 * Further Trio build fixes [Matthias Clasen, Owen]
12817 * Hack around gcc, libtool issues with -pthread [Owen]
12818 * Docs improvements [Matthias]
12819 * Bug and portability fixes 
12820 * Updated and new translations (bg,de,fi,fr,sq,fr)
12821
12822 Other contributors: Kai Poitschke, Morten Welinder
12823
12824 Overview of Changes from GLib 2.1.3 to GLib-2.1.4
12825 =================================================
12826
12827 * autoconf changes to make it possible to cross compile
12828   GLib. [Owen Taylor, Dan Kegel, Amy Lin, Dimi Shahbaz, 
12829   Johannes Stezenbach]
12830 * Use libintl when it has bind_textdomain_codeset() and
12831   GLib doesn't. [Owen]
12832 * Improve generation of pseudo-random integers [Morten Welinder, 
12833   Sebastian Wilhelmi]
12834 * Avoid literal UTF-8 in favor of octal escapes [Owen, Tomas Ogren]
12835 * Cleanup include order [Sven Neumann]
12836 * autoconf cleanups and bug fixes [Daniel, Matthias Clasen, Owen]
12837 * Doc fixes and additions [Matthias]
12838
12839 Other contributors: James M. Cape, Frederic Crozat, Martin Gansser,
12840   Phuc LeHong, Manish Singh, Joshua Weage, Morten Welinder
12841
12842 Overview of Changes from GLib 2.0.x to GLib-2.1.x
12843 =================================================
12844
12845 * Add copy of the Trio library to build and use for printf() when 
12846   system printf isn't good enough. Add g_printf()/etc. [Matthias Clasen]
12847 * Add g_str_has_suffix()/g_str_has_prefix() [Alex Larsson]
12848 * Add g_markup_parse_context_get_element() [Matthias]
12849 * Add g_utf8_strreverse [Matthias]
12850 * Add g_ascii_strtoull() [Tim Janik]
12851 * Support scanning of 64-bit values with GScanner [Tim]
12852 * Add g_set/get_application_name() [Havoc Pennington]
12853 * Add G_LIKELY()/G_UNLIKELY() macros for hinting branch probabilities. 
12854   Use for g_return_if_fail(). [Matthias Clasen]
12855 * Add G_GNUC_DEPRECATED macro [Tom Tromey]
12856 * Improve the seeding algorithm of GRandom to avoid problems
12857   with certain pathological seeds. Support G_RANDOM_VERSION=2.0
12858   environment variable. [Sebastian Wilhelmi]
12859 * Improve thread configure checks, use -pthread where applicable
12860   [Sebastian]
12861 * Improve handlng of thread priorities [Sebastian]
12862 * Fix up parameter names that might shadow functions from
12863   system headers [Soeren Sandmann]
12864 * Clean up usage of deprecated functions [Manish Singh]
12865 * Docs fixes and improvements. In particular, include "Since" information.
12866   [Matthias, Soeren, Martin Schulze, Daryll Strauss, Bill Janssen, 
12867   Owen Taylor, Morten Welinder]. 
12868
12869 Overview of Changes in GLib 2.0.7
12870 =================================
12871
12872 * Fix C++ warnings in gtype.h [Dom Lachowicz]
12873 * Fix g_type_fundamental_next() [Tim Janik]
12874 * Fix various missing includes of config.h [Morten Welinder]
12875 * Handle main loop initialization before g_thread_init [Sebastian Wilhelmi]
12876 * Various 64-bit fixes [Manish Singh]
12877 * Fix GPoll on Win32 [Tor Lillqvist, Herman Bloggs]
12878 * Fix bug with buffering on UTF-8 IOChannels [Daniel Elstner]
12879 * Misc bug and build fixes [Soren Andersen, Gustavo Carneiro, Tor,
12880      Tim, Havoc Pennington,  Matthias Clasen, Sebastian Rittau,
12881      Masahiro Sakai, Arvind Samptur, HideToshi Tajima, Owen Taylor]
12882 * Updated and new translations (be,cs,de,*fa,it,lv,pt_BR,tr)
12883
12884 Overview of Changes in GLib 2.0.6
12885 =================================
12886
12887 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
12888 * Clean up debug spew from GObject [Anders Carlsson]
12889 * Compiler warning fixes [David L. Cooper II]
12890 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
12891 * Fixes for --disable-debug [Sebastian Wilhelmi]
12892 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
12893   Rajkumar Sivasamy, Laurent Vivier]
12894 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
12895   Sebastian Rittau, Linus Welleij]
12896 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
12897 * Updated translations (bg,ko,vi)
12898
12899 Overview of Changes in GLib 2.0.5
12900 =================================
12901
12902 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
12903 * Clean up debug spew from GObject [Anders Carlsson]
12904 * Compiler warning fixes [David L. Cooper II]
12905 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
12906 * Fixes for --disable-debug [Sebastian Wilhelmi]
12907 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
12908   Rajkumar Sivasamy, Laurent Vivier]
12909 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
12910   Sebastian Rittau, Linus Welleij]
12911 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
12912 * Updated translations (bg,ko,vi)
12913
12914 Overview of Changes in GLib 2.0.4
12915 =================================
12916
12917 * Fix some 64-bit problems. (George Lebl, David L. Cooper II)
12918 * Add note about Tru64 iconv to INSTALL. (Manuel Op de Coul)
12919 * Fix problem with timouts > MAXINT. (Tim Janik, Owen Taylor)
12920 * Updated translations (ca,es,fr,ja,gl,ms,nl,pl,pt,ru)
12921
12922 Overview of Changes in GLib 2.0.3
12923 =================================
12924
12925 * Handle sorting 0-length arrays (Ron Arts)
12926 * Threading fixes (Sebastian Wilhelmi)
12927 * Portability fixes (Miroslaw Dobrzanski-Neumann, Jacob Berkman, Gareth Pierce, 
12928   Sebastian, Qingjiang Yuan)
12929 * Various fixes for glib-2.0.m4. (Jim Gettys, others.)
12930 * Locate right glib-genmarshal when cross-compiling. (Mitch Natterer)
12931 * Win32 fixes (Tor Lillqvist)
12932 * Try to fix g_get_charset() related segfaults. (Owen)
12933 * Fixes for gettext detection. (Dan Winship, HideToshi Tajima, Boyd Lynn Gerber,
12934   Andrew P. Lentvorski, Jr.)
12935 * Fix g_scanner_unexp_token() (Tim Janik, Sven Neumann)
12936 * g_markup fixes. (Matthias Clasen.)
12937 * Bug fixes and cleanups (Daniel Elstner, Matthias, Laszlo Peter, Morten Welinder,
12938   Wayne Schuller)
12939
12940 Overview of Changes in GLib 2.0.1
12941 =================================
12942
12943 * Portability fixes for Sun's Forte compiler [Erwann Chenede]
12944 * Performance improvements for GObject parameter lookup, 
12945   g_filename_to/from_utf8() [Alex Larsson]
12946 * Actually check interface prerequisites [Matthias Clasen,
12947   Miroslaw Dobrzanski-Neumann]
12948 * Fix problem with glib-mkenums taking huge amounts of stack. [Owen Taylor]
12949 * Fix g_signal_handlers_disconnect_by_func() for C++ [Damien Sandras]
12950 * Fixes for g_log() and threading.
12951   [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, Tim Janik]
12952 * Make g_print(), g_printerr(), g_warning(), etc, convert from
12953   UTF-8 to the encoding of the locale [Sebastian Wilhelmi, Tim]
12954 * Fixes for GIOChannel on windows. [Tor Lillqvist]
12955 * Fix gsize/gint mismatches in giochannel.c [Miroslaw Dobrzanski-Neumann]
12956 * Fix file descriptor leak in g_file_get_contents() [Matthias]
12957 * Workaround iconv() problems on older Solaris [Lauri Alanko]
12958 * Fix warnings with gcc-3.1 about asm const [Cody Russel]
12959 * Minor bug fixes.
12960
12961 Other contributors: Hans Breuer, LEE Sau Dan, Sven Neumann, Salmaso Raffaele,
12962   Akira Tagoh, Morten Welinder
12963
12964
12965 Overview of Changes in GLib 2.0.0
12966 =================================
12967
12968 * Thread portability fixes [Sebastian Wilhelmi]
12969 * Documentation updates [Owen Taylor]
12970 * Make g_strerror(), g_strsignal() properly return UTF-8,
12971   call bind_text_domain_codeset() so that error strings
12972   are in UTF-8 as well. [Owen, Tor Lillqvist]
12973
12974 Overview of Changes in GLib 2.0.0 rc1:
12975 ======================================
12976
12977 * Win32 fixes [Tor Lillqvist]
12978 * Portability fixes [Finlay Dobbie, Miroslaw Dobrzanski-Neumann]
12979 * Fix up g_date_strftime [Daniel Elstner]
12980 * Add some structure padding [Tim Janik]
12981 * Make g_get_homedir() prefer the users home directory to $HOME
12982
12983 Other contributors: Matthias Clasen, Paolo Maggi, Christian Rose
12984
12985 Overview of Changes in GLib 1.3.15:
12986 ===================================
12987
12988 * Speed up marshalers by using private access to GValue 
12989   [Anders Carlsson, Tim Janik]
12990 * Reduce GValue to 2 elements [Tim]
12991 * Add G_DEBUG environment variable, G_DEBUG=fatal_warnings [Matthias Clasen]
12992 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
12993 * Add padding to various structures [Owen Taylor, Tim]
12994 * Win32 fixes [Tor Lillqvist]
12995
12996 Other contributors: James Henstridge, Ryan Lovett, Morten Welinder,
12997   Daniel Elstner
12998
12999 Overview of Changes in GLib 1.3.14:
13000 ===================================
13001
13002 * Register value transformations for gint64, guint64 [Andy Wingo]
13003 * Build with large-file support [Sven Neumann, Owen Taylor]
13004 * Fix handling of hostnames in URI's [Darin Adler]
13005 * Main loop bug fixes [Havoc Pennington, Owen]
13006 * Doc fixes and improvements [Manish Singh, Tim Janik]
13007 * Support ' as attribute delimiters in GMarkup [Matthias Clasen]
13008 * Win32 fixes [Hans Breuer, Tor Lillqvist]
13009 * Threading bug and build fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann]
13010 * Miscellaneous bug fixes
13011
13012 Other contributors: Matthias Clasen, James Henstridge, Mitch Natterer, 
13013   Morten Welinder.
13014
13015 Overview of Changes in GLib 1.3.13:
13016 ===================================
13017
13018 * Fix g_filename_to/from_uri for Win32 [Tor Lillqvist, Darin Adler]
13019 * Miscellaneous win32 fixes [Tor, Hans Breuer]
13020 * Fix thread options for gcc on AIX [Jerome Zago, Sebastian Wilhelmi]
13021 * Documentation improvements [Ron Steinke, Matthias, Sebastian]
13022 * Cache iconv converters as used by g_convert() [Jeffrey Stedfast]
13023 * Bug fixes [Sven Neumann, Owen Taylor, Matthias Clasen, Jeffrey,
13024   Laszlo Peter, Havoc Pennington, Tim Janik]
13025
13026 Overview of Changes in GLib 1.3.12:
13027 ===================================
13028
13029 * Implement closure chaining, fixing up API (Tim Janik)
13030 * Closure chaining test case (James Henstridge)
13031 * Make GType long not int where both are equal width (Tim)
13032 * Win32 fixes and improvements (Hans Breuer, Tor Lillqvist)
13033 * Fixes for NetBSD. (Dan Winship)
13034 * Use snprintf() for g_printf_string_upper_bound() where possible. (Matthias Clasen)
13035 * Save space for GBSearchArray (Tim Janik)
13036 * Documentation improvements. (Matthias, Sven Neumann, Havoc Pennington)
13037
13038 Other contributors: Darin Adler, Chris Blizzard, Anders Carlson, Daniel Elstner, Michael Meeks, 
13039   Mark McLoughlin, Dave Neary, Manish Singh, Owen Taylor, HideToshi Tajima, 
13040   Sebastian Wilhelmi.
13041
13042
13043 Overview of Changes in GLib 1.3.11:
13044 ===================================
13045
13046 * Win32 fixes [Hans Breuer, Tor Lillqvist]
13047 * Documentation improvements [Matthias Clasen]
13048 * Portable directory handling API [Hans]
13049 * Threading fixes [Sebastian Wilhelmi, Havoc Pennington]
13050 * Fix excess relocations in Unicode tables [Andrew Taylor]
13051 * Fix gpattern for UTF-8 [Matthias Clasen]
13052 * Support overriding class closures [Tim Janik]
13053 * Support for derivation from G_TYPE_POINTER [Owen Taylor]
13054 * Hide pointers to type information inside GType to reduce locking
13055   [Alex Larsson, Tim]
13056 * Adds check for direct inclusion of gobject/*.h [Owen]
13057 * GObject API cleanups [Tim]
13058
13059 Other contributors: Darin Adler, Jacob Berkman, Daniel Egger, Eric Lemings, 
13060   Michael Meeks, Mark McLoughlin, Arkadiusz Miskiewicz, Dan Winship
13061
13062
13063 Overview of Changes in GLib 1.3.10:
13064 ===================================
13065
13066 * Many Win32 fixes and improvements [Tor Lillqvist]
13067 * Documentation improvements [Matthias Clasen]
13068 * g_string_printfa() renamed to g_string_append_printf()
13069 * Use libcharset from libiconv to implement charset detection
13070   more portably. [Owen Taylor, Hidetoshi Tajima]
13071 * Add 64 bit type support to GObject [Joshua Pritikin, Mathieu Lacage, Owen]
13072 * Make support for 64 bit integers a requirement [Joshua]
13073 * GPattern improvements [Tim Janik, Matthias]
13074 * Locale independent g_ascii_strtod / g_ascii_dtostr [Alex Larsson]
13075 * Many bug fixes and minor tweaks.
13076
13077 Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
13078   Ben Gertzfield, Elliot Lee, Manish Singh, Abel Cheung, Laszlo Peter,
13079   Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
13080   Jacob Berkman
13081
13082
13083 Overview of Changes in GLib 1.3.9:
13084 ==================================
13085
13086 * Fixes for comparison of threads [Sebastian Wilhelmi]
13087 * Use vasprintf() when possible for g_strdup_printf [Matthias Clasen]
13088 * Win32 fixes [Tor Lillqvist, Hans Breuer]
13089 * Add a len argument to g_ascii_strup/strdown
13090 * Bug, portability fixes, cleanups.
13091
13092 Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
13093
13094
13095 Overview of Changes in GLib 1.3.8:
13096 ==================================
13097
13098 * Documentation updates [Owen]
13099 * Made GType interfaces overridable in derived types
13100 * Many win32 fixes [Tor Lillqvist]
13101 * Miscellaneous cleanups and fixes
13102
13103 Other contributors:
13104   Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
13105
13106
13107 Overview of Changes in GLib 1.3.7:
13108 ==================================
13109
13110 * Integrate GClosure support into the main loop [Owen Taylor]
13111 * More GSignal convenience functions (macros) [Sven Neumann, Tim Janik]
13112 * Introduced weak references for GObject [James Henstridge, Sven, Tim] 
13113 * Minor hash table optimizations
13114 * Main loop and threading improvements [Sebastian Wilhelmi]
13115 * Added g_ascii_* functions to be used for locale insensitive UTF-8
13116   compliant code instead of old string functions  [Darin Adler, Alex Larsson]
13117 * Add functions for Unicode case-conversion, normalization, and 
13118   collation [Owen]* GString improvements [Owen]
13119 * Reworked the GIOChannel code [Hidetoshi Tajima, Ron Steinke]
13120 * Removed glib-config-2.0 in favour of pkgconfig [Sebastian]
13121 * Make code 64bit clean [Mark Murnane]
13122 * More G_CONST_RETURN fixes
13123 * Many improvements to the win32 code [Tor Lillqvist, Hans Breuer]
13124 * Miscellaneous bug and API fixes
13125
13126 Other contributors:
13127   Michael Natterer, Christopher James Lahey, Padraig O'Briain,
13128   Matthias Clasen, Josh Pritikin, Steve Baker, Cesar Rincon, Garry R. Osgood,
13129   Michael Meeks, Laszlo Peter,  Martin Baulig, Kjartan Maraas, Andrew Lanoix,
13130   Peter Williams
13131
13132
13133 Overview of Changes in GLib 1.3.6:
13134 ==================================
13135
13136 * Threads have a "return value" from g_thread_join
13137 * Removed ability to adjust thread stack size
13138 * Prefix warnings with progname/PID by default, change toggle for this to 
13139   be an env variable G_MESSAGES_PREFIXED not a compile-time option
13140 * GMarkup speedups
13141 * GDate const, convenience fixups
13142 * Include test cases that headers are compilable by C++ compiler
13143 * Add ability to spawn processes with argv[0] != executable path.
13144 * g_strstr_len, g_strrstr, g_strrstr_len
13145 * Add length argument to g_utf8_strchr and g_utf8_strrchr.
13146 * Misc bug fixes
13147
13148
13149 Overview of Changes in GLib 1.3.5:
13150 ==================================
13151
13152 * Added an installed glib-mkenums Perl program for parsing enumeration
13153   declarations from header files.
13154 * Mark some additional deprecated functions.
13155 * Bug and Portability fixes
13156
13157
13158 Overview of Changes in GLib 1.3.4:
13159 ==================================
13160
13161 * Efficiency improvements for GThreadPool
13162 * A few bug fixes
13163 * Build fixes
13164 * Documentation improvements
13165
13166
13167 Overview of Changes in GLib 1.3.3:
13168 ==================================
13169
13170 GLib:
13171
13172 * More user_data support in various functions.
13173 * Main loop API revamps to support per-thread main loops.
13174 * Unicode handling improvements.
13175 * Implemented debugging traps.
13176 * G_CONST_RETURN specification all over the place.
13177 * Various new small utility functions.
13178 * Random number generator precision improvements.
13179 * New configure option --disable-mem-pools.
13180 * Many Win32 improvements.
13181 * Added g_try_malloc() friends varinats.
13182 * Many documentation improvements.
13183 * Many threading improvements, support for dynamic allocation
13184   of static mutexes.
13185 * GHookLIst API cleanups.
13186 * Improved format support of GDate parser.
13187 * String function speed improvements with new g_stpcpy().
13188 * Hashtable API additions.
13189 * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
13190 * Optimizations, cleanups, bug fixes.
13191
13192 GObject:
13193
13194 * Added many convenience functions.
13195 * GClosure and GParamSpec use float/sink ref-counting scheme now.
13196 * Reworked property change notification.
13197 * Binary searchable array cleanups, so it's widely usable now.
13198 * Added static content keeping for some GValue types.
13199 * Support for statically scoped signal parameters.
13200 * Extinguished property trailer args in set/get interface.
13201 * Added support for abstract types.
13202 * G_CONST_RETURN specification all over the place.
13203 * Split parameter exchange functionality into value transforms
13204   and parameter conversions.
13205 * Added signal emission hooks and signal accumulators.
13206 * Added interface prerequisites to support is_a (interface, object)
13207   relations.
13208 * Implemented GValueArray.
13209 * New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
13210   GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
13211   G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
13212 * Varrags value collection improvements.
13213 * Implemented debugging traps.
13214 * Made things thread-safe.
13215 * Many documentation improvements.
13216 * Many cleanups, optimizations and bug fixes.
13217
13218
13219 Overview of Changes in GLib 1.3.2:
13220 ==================================
13221
13222 GLib:
13223
13224 * Win32 build improvements  [Tor]
13225 * Improvements to error reporting  
13226   (g_critical(), g_return_if_reached()) [Darin]
13227 * Add g_strlcpy/g_strlcat  [David Wheeler]
13228 * New IO channel implementation for Win32  [Tor] 
13229 * Make g_array_free, g_string_free return pointer to memory requested
13230   not to be freed.  [Darin]
13231 * Added GError based error reporting for thread functions.  [Sebastian]
13232 * Moved reference docs into GLib distribution. [Owen]
13233 * Added g_convert() for doing convenient character set conversions based
13234   on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
13235 * Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
13236   g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
13237 * Portability fixes for threading.  [Sebastian]
13238 * Added convenient functions for launching new processes (g_spawn_*),
13239   and shell quoting/unquoting functions.  [Havoc]
13240 * Split glib.h into many headers.  [Sebastian]
13241 * Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
13242 * Fixed confusions between comparison functions that return <0, 0, >0
13243   and equaility functions that return FALSE,TRUE.  [Sebastian]
13244 * Added safe/portable temporary file manipulation functions.  [Tor]
13245 * autoconf improvements.  [Raja]
13246 * Many documentation improvements.
13247 * Bug fixes.
13248
13249 GObject:
13250
13251 * Added boxed and pointer types.  [Tim/Jonathan]
13252 * Added callback abstraction (GClosure)  [Tim]
13253 * Added signal system (GSignal)  [Tim]
13254 * Make GTypePlugin an interface  [Tim]
13255 * Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
13256 * Bug fixes.
13257
13258
13259 What's new in GLib 1.3.1:
13260 =========================
13261
13262 * New GObject library added including object system based on
13263   the GTK+ object system. 
13264 * Functions for getting the properties of Unicode characters, 
13265   computing the canonical decomposition and ordering combining
13266   characters aand manipulating UTF-8 string manipulation based
13267   on libunicode.
13268 * GString now properly handles embedded nuls.
13269 * Multiple fixes from the 1.2.x branch.
13270 * Upgrade to libtool 1.3.3
13271 * Full thread support (thread creation and destruction).
13272 * BeOS port, BeOS dynamic modules.
13273 * Many improvements to the Windows ports.
13274 * Improvements to the OS/2 port, OS/2 module support.
13275 * Double ended queue implementation.
13276 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
13277 * New configure option --enable-msg-prefix to prefix messages, warnings
13278   et ceteri with the program name and the process id.
13279 * New thread-safe random number generator Mersenne Twister.
13280 * g_strcompress() added, g_strescape() had a slight API change, and
13281   more tightly defined semantics.
13282 * the g_string(x) macro has been removed, #x may be used instead.
13283                                 
13284