Imported Upstream version 2.67.4
[platform/upstream/glib.git] / NEWS
1 Overview of changes in GLib 2.67.4
2 ==================================
3
4 * Add a `g_string_replace()` function (work by Joshua Lee) (#225)
5
6 * Add `G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER` flag to simplify
7   the common case for writing a D-Bus authentication observer, allowing most
8   uses of `GDBusAuthObserver` to be dropped (#1804)
9
10 * Add a new `g_spawn_with_pipes_and_fds()` variant which supports renumbering
11   FDs (#2097)
12
13 * Add new g_memdup2() API to replace g_memdup(), which is vulnerable to a
14   silent integer truncation and heap overflow problem if not used carefully
15   (discovered by Kevin Backhouse, work by Philip Withnall) (#2319)
16
17 * Fix various regressions caused by rushed security fixes in 2.66.6 (work by
18   Simon McVittie and Jan Alexander Steffens) (!1932, !1941, #2323)
19
20 * Fix a silent integer truncation when calling g_byte_array_new_take() for
21   byte arrays bigger than G_MAXUINT (work by Krzesimir Nowak) (!1942)
22
23 * Fix `g_utf8_strdown()` to fix some issues in Turkish
24   (work by Kjell Ahlstedt) (!1930)
25
26 * Bugs fixed:
27  - #225 GString doesn't have a g_string_replace() function
28  - #587 g_input_stream_skip() out-of-bounds behavior is inconsistent between implementations
29  - #1804 Add G_DBUS_SERVER_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER flag
30  - #2097 GSubprocessLauncher with FD assignment can clash with g_spawn_async internal pipe
31  - #2315 httpproxy: Need overflow protection when reading response during connection establishment
32  - #2319 CVE-2021-27219 (GHSL-2021-045): integer overflow in g_bytes_new/g_memdup
33  - #2322 g_test_dbus: double output when piping
34  - #2323 [GLIB 2.66.6] g_io_channel_set_line_term() stopped working with null terminated strings and length -1
35  - !1917 Adding a missing test on integer overflow within g_http_proxy_connect()
36  - !1918 Fix more warnings
37  - !1923 Add support for Tilix and Konsole
38  - !1930 guniprop: Fix g_utf8_strdown() for Turkish locale
39  - !1932 gtlspassword: Fix inverted assertion
40  - !1934 gdbus: Reject attempts to set future connection or server flags
41  - !1938 Fix more warnings
42  - !1939 ci: Temporarily disable macOS CI job as runner is offline
43  - !1940 Fix more warnings
44  - !1941 gkeyfilesettingsbackend: Fix basename handling when group is unset
45  - !1942 CVE-2021-27218: gbytearray: Do not accept too large byte arrays
46  - !1947 Revert "Merge branch 'wip/pwithnall/macos-ci-disable' into 'master'"
47  - !1948 tests: Use a more realistic language code than sv_SV
48  - !1949 gatomic: Make fallback g_atomic_pointer_get type-safe
49  - !1951 Add a test for parsing 0 as double
50  - !1955 tests: Add missing NULL terminator to spawn-singlethread test
51
52 * Translation updates:
53  - Catalan
54  - Galician
55  - Hungarian
56  - Portuguese
57  - Romanian
58  - Slovenian
59  - Spanish
60  - Swedish
61  - Turkish
62  - Ukrainian
63
64
65 Overview of changes in GLib 2.67.3
66 ==================================
67
68 * Add new `g_memdup2()` API to replace `g_memdup()`, which is vulnerable to a
69   silent integer truncation and heap overflow problem if not used carefully
70   (discovered by Kevin Backhouse, work by Philip Withnall) (#2319)
71
72 * Add new `g_dbus_object_path_escape()` and `g_dbus_object_path_unescape()` APIs
73   to provide one way of escaping arbitrary bytestrings for use in D-Bus object
74   paths (work by Lars Karlitski and Frederic Martinsons) (#968)
75
76 * Use `bash-completion.pc` (if available) to provide the path to install
77   completion files into (work by Frederic Martinsons) (#1054)
78
79 * Fix support for public/private trigraphs in `glib-mkenums` (work by Matthias Klumpp) (!1870)
80
81 * Add `glib_debug` configure option to allow disabling debug infrastructure in
82   builds with debug symbols enabled (work by Ole André Vadla Ravnås) (!1889)
83
84 * Fix a regression where `PATH` would always be searched when using `g_spawn()`,
85   even when it wasn’t supposed to (work by Simon McVittie and Thomas Haller) (!1902)
86
87 * Override `gio-querymodules` in Meson when used as a submodule (work by Xavier Claessens) (!1909)
88
89 * Bugs fixed:
90  - #344 gdbus(1) command-line completion issues
91  - #968 gdbus: add g_dbus_object_path_{un,}escape
92  - #1054 Use pkg-config to get path for bash-completion file installation
93  - #1180 GUnixInputStream and GUnixOutputStream don't consider TTYs pollable
94  - #2011 Add additional unit tests for D-Bus name watching
95  - #2226 clang++ compilation fails on clusterfuzz
96  - #2292 Cannot find a common ancestor when running CI style check jobs
97  - #2299 GObject introspection annotation of g_closure_new_object() is wrong
98  - #2305 GIO security hardening causing gnome-keyring to regress when session bus is provided by dbus-launch (dbus-x11)
99  - #2314 gdatetime: math library link issue
100  - #2319 GHSL-2021-045: integer overflow in g_bytes_new/g_memdup
101  - !610 Various memory leak cleanups to GSettings tests
102  - !1804 Add more GIR annotations to gparam.c and gsignal.c
103  - !1823 Fix more warnings
104  - !1843 gfile: Add Linux kernel headers compatibility kludge
105  - !1847 Port to QNX
106  - !1853 ginetaddress: Handle systems without IPv6 support
107  - !1859 docs: update g_action_group_activate_action() remote activation semantics
108  - !1860 glocalfile: Fix an uninitialized variable
109  - !1865 tests: Add more debug information to gdbus-connection-slow
110  - !1868 gdesktopappinfo: Fix validation of XDG_CURRENT_DESKTOP
111  - !1870 mkenums: Support public/private trigraph again
112  - !1873 Fix possible integer overflow of g_socket_send_message()
113  - !1876 Fixing g_socket_send_message() documentation to make it clearer
114  - !1877 Fix more warnings
115  - !1878 Another fix on g_socket_send_message()
116  - !1879 Fix more warnings
117  - !1880 GError documentation tweaks
118  - !1881 docs: Move ‘Notes’ section from README to NEWS
119  - !1883 gutils: Document caching of XDG directory variables
120  - !1884 gthread-win32: Use SetThreadDescription Win32 API for setting thread name
121  - !1887 ci: Fix msys-mingw32 CI builds due to package rename
122  - !1888 docs: Add documentation for GLIB_VERSION_CUR_STABLE and PREV_STABLE
123  - !1889 build: Add glib_debug option
124  - !1890 gtype: Improve formatting of GType documentation
125  - !1891 Fix more warnings
126  - !1893 gwin32appinfo: Fix printf length sub-specifier
127  - !1894 gsocket: Fix SO_NOSIGPIPE regression on Darwin
128  - !1898 gtestutils: Add g_test_get_path() API
129  - !1899 m4macros: replace obsolete macros AC_TRY_RUN and AC_TRY_LINK in glib-2.0.m4
130  - !1900 [th/gsignal-cleanup] minor changes to GSignal related code
131  - !1901 Check if the remote already exists before adding it.
132  - !1902 spawn: Don't set a search path if we don't want to search PATH
133  - !1903 m4macros: Increment serial number of glib-2.0.m4
134  - !1905 Start to ignore known leaks under AddressSanitizer
135  - !1906 gdbus-serialization: Don't leak string containing first serialization
136  - !1908 Fix straightforward memory leaks in tests
137  - !1909 Meson: override gio-querymodules program
138  - !1910 gio: Add explicit virtual g-i annotations for undiscovered invoker relationship
139  - !1911 Fix more warnings
140  - !1915 Mark g_key_file_get_comment() key parameter as nullable
141  - !1919 atomic: Fix type check of g_atomic_pointer_compare_and_exchange()
142  - !1921 guri: Mark g_uri_get_host as nullable
143  - !1925 gapplication: Fix a memory leak
144
145 * Translation updates:
146  - Czech
147  - Friulian
148  - Galician
149  - Hungarian
150  - Portuguese
151  - Portuguese (Brazil)
152  - Romanian
153  - Spanish
154  - Ukrainian
155
156
157 Overview of changes in GLib 2.67.2
158 ==================================
159
160 * Add `gio launch` command to execute programs (work by Frederic Martinsons) (#54)
161
162 * Fix unused parameter warnings in code generated by `gdbus-codegen` (work by Frederic Martinsons) (#1105)
163
164 * Officially deprecate `to-pixdata` option for `glib-compile-resources`, in favour
165   of simply embedding more modern image formats in linked-in `GResource` files (#1281)
166
167 * Support querying and running UWP applications on Windows (work by LRN) (#1991)
168
169 * Support `gio trash --restore` and `gio trash --list` commands (work by Frederic Martinsons) (#2098)
170
171 * No longer read environment variables for GIO module locations when running as setuid (#2168)
172
173 * More progress on fixing compiler warnings (work by Emmanuel Fleury) (!1773 and others)
174
175 * `GKeyFile` performance improvements (work by Timm Bäder) (!1829, !1832)
176
177 * Improve UDP socket behaviour on Windows (work by Marco Mastropaolo and Ole André Vadla Ravnås) (!1827, !1844)
178
179 * Add `-Dtests` meson configure option for disabling tests entirely (work by Ole André Vadla Ravnås) (!1850)
180
181 * Bugs fixed:
182  - #54 Add `gio launch` command to execute .desktop files
183  - #513 GSignal: Impossible to have return values in signals which are G_SIGNAL_RUN_FIRST only
184  - #514 GSignal: Only limited usage of accumulator function possible
185  - #1105 gdbus-codegen: fix some unused parameter warnings
186  - #1188 Crash in gapplication.c:1014 when reading error message if dbus_register returns false without setting error
187  - #1281 Update glib-compile-resources and GResource docs to deprecate/remove to-pixdata in stable/master resp.
188  - #1283 gvfs-trash error message when unable to create trash directory is unhelpful
189  - #1568 GObject tutorial does not mention floating references
190  - #1991 W32: Glib cannot run UWP applications
191  - #2098 gio trash: restore trashed files to their original location
192  - #2168 giomodule: Loads GIO modules even if setuid, etc.
193  - #2264 GPtrArray might call qsort() with NULL data
194  - #2265 2.67.1 regression: assertion failure starting gnome-terminal
195  - #2275 gio/completion/gio: Some variables are not localized
196  - #2279 g_source_is_destroyed example uses deprecated GDK API
197  - !1304 Extended error
198  - !1773 Fix more warnings
199  - !1783 gtlsdatabase: remove duplicate precondition check
200  - !1784 fuzzing: Add more fuzzing tests for various string parsing functions
201  - !1785 glocalfile: Add an assertion to help static analysis
202  - !1787 Debuggability improvements in gosxappinfo.m
203  - !1788 gdate: Validate input as UTF-8 before parsing
204  - !1791 gdatetime: Disallow NAN as a number of seconds in a GDateTime
205  - !1794 gio-tool-info: Prevent criticals if mount options are not available
206  - !1796 gfileutils: Fix typo in docs
207  - !1797 gdatetime: Improve ISO 8601 parsing to avoid floating point checks
208  - !1801 glib: Add more missing return value annotations
209  - !1802 gobject: More missing return value annotations
210  - !1806 tests: Add some rounding tolerance in timeout test
211  - !1807 python: Reformat some files to keep style-check-diff happy
212  - !1808 tests: Be more lenient with timing checks on asyncqueue pops
213  - !1810 gfileinfo: Add missing preconditions to g_file_info_get_attribute_data()
214  - !1811 Add more missing nullable annotations
215  - !1813 gdbus-codegen: Ignore some flake8 warnings
216  - !1815 Fix more warnings
217  - !1816 fuzzing: Add more GUriFlags to the URI parsing test
218  - !1817 fuzzing: Add more parsing flags to the GKeyFile test
219  - !1818 Fix more warnings
220  - !1819 Fix more warnings
221  - !1821 gdate: Limit length of dates which can be parsed as valid
222  - !1822 Fix more warnings
223  - !1827 Windows: fix FD_READ condition flag still set on recoverable UDP socket errors.
224  - !1829 keyfile: Delay calling g_get_language_names() until it's needed
225  - !1830 gsocket: Fix credentials error-handling on Apple OSes
226  - !1832 More small GKeyFile performance improvements
227  - !1834 Update gvdb
228  - !1837 gdatetime.c: Fix MSVC builds for lack of NAN items
229  - !1838 Minor improvements to GError documentation
230  - !1840 Add nullable annotation for g_file_get_uri_scheme
231  - !1841 gthread: Fix incorrect cast
232  - !1842 gthread: Port native mutex to Clang
233  - !1844 gsocket: Improve default UDP behavior on Windows
234  - !1845 gsocket: Fix use-after-close
235  - !1848 gwin32: Always use unicode APIs
236  - !1850 build: Add option for disabling tests
237  - !1855 build: Fix ssize_t detection on older versions of glibc
238  - !1856 build: Fix Android system checks
239  - !1857 gtestutils: Fix g_assert_not_reached() on MSVC
240  - !1861 More GError tests
241  - !1863 tests: Ignore -Wformat-nonliteral warning in new GError tests
242
243 * Translation updates:
244  - Catalan
245  - Galician
246  - German
247  - Lithuanian
248  - Romanian
249  - Spanish
250  - Ukrainian
251
252
253 Overview of changes in GLib 2.67.1
254 ==================================
255
256 * Deprecate `g_time_zone_new()` in favour of `g_time_zone_new_identifier()`,
257   which makes error checking easier (#553)
258
259 * Remove `volatile` from various public APIs, including `G_DEFINE_*`. You should
260   adjust your code to not use `volatile` for atomic variables, `GOnce`
261   variables, or mostly anything else (see
262   http://isvolatileusefulwiththreads.in/c/). (#600)
263
264 * Support passing file handles to `gdbus` command line tool (work by
265   Norbert Pocs and Tim Waugh) (#961)
266
267 * Add `g_assert_cmpstrv()` test convenience function (work by Niels De Graef) (#2015)
268
269 * Changes to the behaviour of the `G_URI_FLAGS_SCHEME_NORMALIZE` scheme
270   normalization flag in `GUri` (work by Carlos Garcia Campos) (#2257, !1716)
271
272 * Add new `--run-prefix` and `--skip-prefix` options to GTest, to allow running
273   or skipping test suites by prefix (work by Frederic Martinsons) (!1738)
274
275 * Fix thread-safety of `GBinding`; see the updated documentation for
276   `g_object_bind_property()` for full details — if your code uses `GBinding`
277   across threads, you should re-check it against the latest documentation, use
278   `g_binding_unbind()` rather than implicitly dropping the binding with your
279   last `g_object_unref()` call, and use `g_binding_dup_source()`/`g_binding_dup_target()`
280   instead of `g_binding_get_source()`/`g_binding_get_target()`
281   (work by Sebastian Dröge) (!1745)
282
283 * Bugs fixed:
284  - #553 Improved error-handling when timezone lookup fails
285  - #600 Remove "volatile" from G_DEFINE_*
286  - #961 gdbus tool: file handle passing doesn't work
287  - #994 mark g_assert_* as "noreturn" also on MSVC
288  - #1560 Can't get data for empty compressed resources
289  - #1592 Main loop ignores GPollFD sources when there is at least one source ready with priority higher than default one
290  - #1833 meson: reconsider G_DISABLE_CAST_CHECKS handling
291  - #1849 Documentation of g_set_object(): can object_ptr be null?
292  - #1963 Follow-up from "gdbusmessage: Limit recursion of variants in D-Bus messages"
293  - #2015 Add g_assert_cmpstrv() test utility
294  - #2046 Add pylint and shellcheck CI checks
295  - #2074 Big dbus writes with a FD list fail
296  - #2076 g_type_register_fundamental() and g_type_add_interface_static() should not trigger valgrind leak warnings
297  - #2150 Add URI parsing tests from GstURI to GUri
298  - #2221 GLib-GIO:ERROR:../gio/tests/gsocketclient-slow.c:99:on_event: 'connection' should be NULL
299  - #2223 Documentation of g_strrstr_len is misleading; suggested fix
300  - #2233 GSocketClient crashes on connection failure
301  - #2236 Docs: gdbus-codegen example links broken
302  - #2253 In gspawn.c, use sysconf() system call on Mac OS, instead of default maxfiles limit of 4096
303  - #2257 GUri: apply scheme normalization flag consistently
304  - !1251 Improve support for interface types
305  - !1385 gobject: allocate parameter list for g_object_new_valist() entirely on stack
306  - !1629 Add some tracing to GTask
307  - !1699 Fix signedness warnings
308  - !1701 gio: Fix some remaining DocBook syntax in a documentation comment
309  - !1708 gio: Add missing nullable annotations
310  - !1716 guri: Normalize uri segments if they are encoded and add a flag to do scheme-based normalization
311  - !1722 gio: Fix various typos of the name ‘D-Bus’
312  - !1724 glib/tests/fileutils: Fix expectations when running as root
313  - !1726 gdbus: Document the intended semantics of handles and fdsTim Waugh
314  - !1731 Make more use of g_assert_no_errno()
315  - !1733 gdbusauthmechanismsha1: Don’t create keyring dir when running as setuid
316  - !1734 glocalfileinfo: Use a single timeout source at a time for hidden file cache
317  - !1735 gobject: Standardise on the term ‘instantiatable’
318  - !1737 gscanner: Avoid undefined behaviour copying between union members
319  - !1738 Extend the usage of -p option for glib test framework
320  - !1740 Fix more warnings
321  - !1745 Make GBinding thread-safe (alternative approach)
322  - !1746 gkeyfilesettingsbackend: improve error-checking
323  - !1747 Fix broken link syntax in g_vasprintf docs
324  - !1748 Fix minor Coverity return value warnings
325  - !1750 Fix warnings
326  - !1754 GWin32AppInfo: Use a thread pool for async appinfo tree rebuilds
327  - !1755 Minor Coverity fixes
328  - !1756 shellcheck fixes
329  - !1757 Python formatting improvements
330  - !1758 Fix warnings
331  - !1765 Fix more warnings
332  - !1766 Fix some gdatetime annotations
333  - !1767 tests: Fix GDateTime tests on FreeBSD
334  - !1769 gfileicon: Fix unused-but-set variable with G_DISABLE_ASSERT
335  - !1770 Minor scan-build fixes
336  - !1771 macos: fix frexpl checks in cross-compilation
337  - !1776 gio: ‘security_context_t’ is deprecated
338  - !1780 Minor Coverity fixes
339  - !1781 gspawn: Handle ENOSYS from close_range()
340  - !1782 ghostutils: Abandon hostname conversion early if it’s too long
341
342 * Translation updates:
343  - Czech
344  - Spanish
345  - Ukrainian
346
347
348 Overview of changes in GLib 2.67.0
349 ==================================
350
351 * Important and time-critical fix to DST transitions which will happen in Europe
352   on 2020-10-25 on distributions which use the ‘slim’ tzdata format (which is
353   now the default in tzdata/tzcode 2020b) (work by Claudi M., LRN) (#2224)
354
355 * Further timezone handling changes to improve performance of `GTimeZone` (work
356   by António Fernandes, Sebastian Keller) (#2204)
357
358 * Fix deadlock on Windows when `G_SLICE` is set in the environment (diagnosis by
359   Christoph Reiter) (#2225)
360
361 * Fix UTF-8 validation when escaping URI components (thanks to Marc-André Lureau) (!1680)
362
363 * Security fix for incorrect scope/zone ID parsing in URIs (!1669)
364
365 * Add `g_log_writer_default_set_use_stderr()` API for printing log messages to stderr (work by Simon McVittie) (#2087)
366
367 * Improve connection error reporting when IPv6 is available and disabled (work by Michael Catanzaro, debugging by Konstantin Kharlamov and Milan Crha) (#2211)
368
369 * Fix definition of `G_MSVC_SYMBOL_PREFIX` for ARM (work by Wolfgang Stöggl) (!1187)
370
371 * Add `GStrvBuilder` convenience API for building `NULL`-terminated string arrays (work by Robert Ancell) (!1417)
372
373 * Support appinfo verbs other than ‘open’ on Windows (work by LRN) (!1502)
374
375 * Expose node-based `GTree` APIs (work by Maciej S. Szmigiero) (!1509)
376
377 * Add `G_DBUS_METHOD_INVOCATION_HANDLED`/`_UNHANDLED` convenience constants (work by Simon McVittie) (!1603)
378
379 * Set `IP_BIND_ADDRESS_NO_PORT` on sockets when binding to local addresses (work by Cristian Rodríguez) (!1598)
380
381 * Add Meson option for libelf support (work by Niklas Gürtler) (!1650)
382
383 * Add support for PKCS #11-backed TLS certificates (work by Patrick Griffis) (!1663)
384
385 * Add `g_subprocess_launcher_close()` API to make `GSubprocessLauncher` more usable in bindings (work by Sergio Costas) (!1677)
386
387 * Bugs fixed:
388  - #1233 GType for GTree
389  - #2077 Invalid Pointer Arithmetic in g_path_get_basename
390  - #2087 Respecting G_MESSAGES_DEBUG in a custom log writer should be easy to do
391  - #2164 GDBus DBUS_COOKIE_SHA1 mechanism may use too old a key
392  - #2194 gtk3/glib crash on gimp
393  - #2203 fstatat is available only on macOS 10.10+
394  - #2204 Time zone cache is constantly invalidated if TZ is NULL
395  - #2209 gthreadedresolver: faulty logic in parse_res_txt
396  - #2210 g_private_replace ordering issue
397  - #2211 "Network is unreachable" error returned when IPv6 is disabled and network is reachable using IPv4
398  - #2215 DST incorrectly ends on wrong dates
399  - #2224 top bar time is incorrect, timezone map in control center is broken
400  - #2225 Setting G_SLICE makes Windows programs hang since 2.66
401  - !1187 Define G_MSVC_SYMBOL_PREFIX correctly for ARM
402  - !1417 gstrvbuilder: Add a new object to make NULL-terminated string arrays.
403  - !1449 gio: Expose g_file_query_info_for_copy()
404  - !1502 GWin32AppInfo: Support verbs other than "open"
405  - !1509 GTree: add an ability to iterate over a tree and a node-based API
406  - !1575 Use C++11 decltype where possible
407  - !1598 gsocketclient: set IP_BIND_ADDRESS_NO_PORT if binding to local address
408  - !1603 GDBus: Add G_DBUS_METHOD_INVOCATION_HANDLED, _UNHANDLED
409  - !1643 Minor Coverity fixes
410  - !1645 Fix various signedness warnings
411  - !1647 Fix warnings (keep going)
412  - !1648 glocalfile: Never require G_LOCAL_FILE_STAT_FIELD_ATIME
413  - !1650 Make libelf dependency optional via meson feature
414  - !1652 trash portal: Handle portal failures
415  - !1654 gio-tool-trash: Prevent recursion to speed up emptying trash
416  - !1657 glist: Clarify that g_list_free() and friends only free an entire list
417  - !1658 utils: Limit the scope of the variable `max`
418  - !1661 Lookup fallback time zones in the cache to improve performance
419  - !1663 gtlscertificate: Add support for PKCS #11 backed certificates
420  - !1665 Fix g_module_symbol() under Windows sometimes not succeeding
421  - !1669 guri: Fix URI scope parsing
422  - !1670 GSubprocessLauncher: Move cleanup to dispose()
423  - !1671 gdatetime: Avoid integer overflow creating dates too far in the past
424  - !1673 CI: Re-enable code coverage reporting for MSYS2 builds
425  - !1674 Add version macros for 2.68
426  - !1675 Make static assertions about standard types
427  - !1677 gsubprocesslauncher: Allow to close FDs
428  - !1678 gmessages: Document that using a custom log writer basically disables fatal handling
429  - !1679 gmain: Fix minor typo in documentation
430  - !1680 guri: Fix UTF-8 validation when escaping URI components
431  - !1681 gspawn: Handle error opening /dev/null
432  - !1686 Various improvements in GSocketClient
433  - !1687 uri: add missing (not)nullable annotations
434  - !1688 gspawn: Use close_range() if available to close FDs between fork/exec
435  - !1691 gmain: Fix possible locking issue in source unref
436  - !1692 gsignal: Plug g_signal_connect_object leak
437  - !1695 gfile: Clarify refcount handling for g_file_replace_contents_bytes_async()
438  - !1696 Fix various minor scan build warnings
439  - !1706 Add various missing nullable annotations
440  - !1712 Revert "Use C++11 decltype where possible"
441  - !1714 gmacros: Use __typeof__ when compiling with Clang
442  - !1718 gtrace: Add G_GNUC_PRINTF annotation
443
444 * Translation updates:
445  - Chinese (Taiwan)
446  - Danish
447  - Greek, Modern (1453-)
448  - Hebrew
449  - Latvian
450  - Portuguese
451  - Russian
452  - Slovak
453  - Ukrainian
454
455
456 Overview of changes in GLib 2.66.0
457 ==================================
458
459 * Bugs fixed:
460  - #2200 missing tab in makefile rule
461  - !1639 guri: Fix user passed to g_uri_split_with_user() not being NULL'd
462
463 * Translation updates:
464  - Croatian
465  - Hungarian
466  - Italian
467  - Serbian
468  - Slovak
469  - Swedish
470
471
472 Overview of changes in GLib 2.65.3
473 ==================================
474
475 * Fixes to the new `statx()` calls — note that since GLib 2.65.2 uses `statx()`
476   (if available) instead of `stat()`/`fstat()`/`lstat()`/`fstatat()`, syscall
477   sandboxing for third party applications might need to be updated
478
479 * Bugs fixed:
480  - #2189 g_file_query_info on ro file system: Numerical result out of range
481  - #2191 Calling nice(20) can lead to thread related warnings
482  - #2197 Segfaulting Integer Overflow in g_option_group_add_entries
483  - !1025 Big o notations
484  - !1626 gio: Document g_settings_new() missing schema behaviour
485  - !1627 gthread: Add a sysprof mark for thread creation
486  - !1628 Replace a bunch of fallthrough comments with an attribute
487  - !1631 Fix splice behavior on cancellation
488  - !1632 Fixing signedness warning in glib/gfileutils.c
489  - !1635 gcancellable: Mark a variable as unused if built with G_DISABLE_ASSERT
490
491 * Translation updates:
492  - Basque
493  - Catalan
494  - Chinese (China)
495  - Czech
496  - English (United Kingdom)
497  - Friulian
498  - German
499  - Japanese
500  - Kazakh
501  - Korean
502  - Lithuanian
503  - Polish
504  - Portuguese (Brazil)
505  - Slovenian
506
507
508 Overview of changes in GLib 2.65.2
509 ==================================
510
511 * Support `statx()` and `G_FILE_ATTRIBUTE_TIME_CREATED` (work by Andre Miranda) (#1970)
512
513 * Fix deadlock in `g_subprocess_communicate_async()` (work by Alexander Larsson) (#2182)
514
515 * Add `%f`/microsecond placeholder support to `g_date_time_format()` (work by Johan Bjäreholt) (!1605)
516
517 * Bugs fixed:
518  - #5 g_new0 performance
519  - #1970 Make G_FILE_ATTRIBUTE_TIME_CREATED support stx_btime
520  - #2176 Inconsistent introspection annotations for g_input_stream_read and g_socket_receive
521  - #2182 g_subprocess_communicate_async() can deadlock when writing
522  - !1593 CI support for Coverity Scan
523  - !1605 gdatetime: Add %f format specifier and microsecond precision to g_date_time_format_iso8601
524  - !1613 gfile: Document TOCTTOU avoidance using g_file_delete()
525  - !1615 docs: glib-compile-resources: json-stripblanks
526  - !1616 gioerror: Map WSAENETRESET on Windows to G_IO_ERROR_CONNECTION_CLOSED
527  - !1619 Minor Coverity fixes
528  - !1620 gvariant: Ensure GVS.depth is initialised
529  - !1622 gdatetime: Widen a variable before multiplication
530  - !1623 gcancellable: Assert that make_pollfd() call succeeds
531  - !1624 gdbusaddress: Drop an unnecessary NULL check
532  - !1625 gdbusmessage: Drop redundant uint ≥ 0 checks
533
534 * Translation updates:
535  - French
536  - Galician
537  - Greek, Modern (1453-)
538  - Indonesian
539  - Romanian
540  - Spanish
541  - Turkish
542  - Ukrainian
543
544
545 Overview of changes in GLib 2.65.1
546 ==================================
547
548 * Add `GUri` API for parsing, building and representing URIs according to
549   [RFC 3986](https://tools.ietf.org/html/rfc3986) (work by Marc-André Lureau) (#110)
550
551 * Fix handling of xattr data with embedded nuls (#422)
552
553 * Add `g_file_set_contents_full()` which gives more control over fsyncs (#1302)
554
555 * Fix cross-compilation on iOS (work by Nirbheek Chauhan) (#1868)
556
557 * Add a `x-gvfs-notrash` option to disable trash on certain mounts (work by Ondrej Holy) (!1549)
558
559 * Support ‘slim’ TZif files generated with `zic -b slim` (work by Paul Eggert) (#2129)
560
561 * Support emitting profiling marks from `GMainContext` to sysprof capture files (!1551)
562
563 * Accept IPv6 zone IDs in `g_hostname_is_ip_address()` (work by Marc-André Lureau) (!1604)
564
565 * Bugs fixed:
566  - #4 Include a UTF-8 safe escaping function
567  - #110 Basic URI operations
568  - #137 display_name should be always available
569  - #250 GTestCase's setup/teardown functions appear pointless
570  - #272 allow thread pools to adjust the number of threads to the number of cpu's/cores
571  - #422 Wrong assumption in libgio GFileInfo on xattr/acl string: it may contain binary data.
572  - #858 glib2 @2.40.0 issues a "Got weird mach timebase info" error (Macports, PPC)
573  - #1022 g_object_new Should Mention That it Zeroes Out Private Struct
574  - #1200 Make g_assert_null/nonnull clang static analyzer friendly
575  - #1203 Add a variant of g_file_set_contents() which accepts file mode
576  - #1288 gmacros: Introduce non-public G_CLANG_ANALYZER_NORETURN macro
577  - #1302 g_file_set_contents() can fill target with NUL bytes if it did not previously exist
578  - #1670 ThreadSanitizer data races
579  - #1764 cancellable test: on_mock_operation_ready: assertion failed (iterations_requested > iterations_done): (10 > 10)
580  - #1868 iOS cross compile impossible due to frexpl check not supporting cross compilation
581  - #1869 iOS doesn't have Cocoa, which thankfully isn't a requirement of this code that supposedly requires it
582  - #1982 GSocketAddressEnumerator documentation is inconsistent with existing usage
583  - #2127 Spurious GIO module initialization on Fedora Silverblue (and other ostree-based systems?)
584  - #2129 date_time bugs after 2038, or with today's date and 'zic -b slim' TZif files
585  - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
586  - #2136 Valgrind reports "still reachable" after g_option_context_parse
587  - #2140 calling malloc in fork child is undefined-behaviour
588  - #2141 g_value_copy is was recently broken
589  - #2149 Make G_URI_FLAGS_PARSE_STRICT the default
590  - #2156 Merge _g_uri_parse_authority() into GUri
591  - #2159 Thread-unsafe initialization in gportalsupport.c
592  - #2160 More guri regressions
593  - #2165 More guri breakage
594  - #2166 g_uri_build() functions should accept a NULL scheme
595  - !1328 guri: new URI parsing and generating functions
596  - !1527 Add g_tls_connection_get_channel_binding_data call and enums
597  - !1534 Various GLocalFile fixes related to the filesystem::remote attribute
598  - !1546 tree: Fix various ableist language
599  - !1549 Add support to ignore trash for certain mounts
600  - !1551 Add initial sysprof support
601  - !1553 gtestutils: Mark that g_assert_whatever() macros do not normally return
602  - !1554 GUri build fixes
603  - !1555 Remove c-format from the string that is not c-formatted
604  - !1556 fuzzing: Another fix for g_uri_parse() test
605  - !1557 A few g_uri_parse_params() improvements
606  - !1559 Fix buffer read overflows in GUri
607  - !1561 gconvert: Use a pointer array in extract_uris
608  - !1563 gdesktopappinfo: Fix unnecessarily copied and leaked URI list
609  - !1564 tests: limit number of threads to something reasonable.
610  - !1570 Reduce CI bandwidth requirements
611  - !1572 Add GUriParamsIter
612  - !1576 gtask: Only override g_task_set_source_tag() for GLib ≥ 2.60
613  - !1577 uri: add illegal_characters argument to unescape_bytes
614  - !1578 tests: Add tests for RFC 8536 v3 parsing of time zones
615  - !1579 glib: Use g_getenv everywhere instead of getenv
616  - !1582 appinfo: Add properties
617  - !1583 gio: Remove broken support for XP
618  - !1590 Use CI schedules and DAGs
619  - !1591 gfileutils: Fix O_NOFOLLOW handling on BSD systems
620  - !1594 GFile: Document that G_FILE_CREATE_REPLACE_DESTINATION can only be used with...
621  - !1595 uri: add ENCODED_PATH & ENCODED_FRAGMENT flags
622  - !1599 uri: do not add ipv6 brackets on non-ip host
623  - !1600 uri: do not encode ':' and ';' from userinfo
624  - !1601 timezone: Fix an uninitialized use
625  - !1602 Revert "Merge branch 'appinfo-properties' into 'master'"
626  - !1604 Make g_hostname_is_ip_address() accept ipv6 zoneid
627  - !1609 Fix multiple typos in guri.c
628  - !1611 guri: Always prepend `//` to the host when building a URI
629  - !1612 guri: Document and check restrictions on path prefixes
630
631 * Translation updates:
632  - Catalan
633  - Kazakh
634  - Lithuanian
635  - Romanian
636  - Slovenian
637  - Spanish
638  - Ukrainian
639
640
641 Overview of changes in GLib 2.65.0
642 ==================================
643
644 * Fix memory monitor tests to only be installed if installed-tests are enabled,
645   and to be skipped if GObject-Introspection is too old (!1407)
646
647 * Stability improvements for various unit tests
648
649 * D-Bus credentials support on macOS (#507)
650
651 * MSVC support for the files generated by `glib-compile-resource` and `gdbus-codegen` (#1215, !1452)
652
653 * Year 2038 fixes involving new API in `GBookmarkFile` (#1931)
654
655 * SOCKS5 proxy authentication fixes (#1986, #1988)
656
657 * Support for more than `MAXIMUM_WAIT_OBJECTS` FDs for `g_poll()` on Windows (#2107)
658
659 * Add `g_assert_no_errno()` test macro for testing POSIX-style functions (!1204)
660
661 * Update Unicode Character Database to version 13.0.0 (!1422)
662
663 * Support storing interned strings in `GValue`s efficiently, via `g_value_set_interned_string()` (#2109)
664
665 * Bugs fixed:
666  - #2 g_filename_from_utf8() should normalize?
667  - #176 the behaviour of constructors for GLib data types is not specified if memory allocation fails
668  - #480 /gdbus/connection/signals test intermittently fails: assertion failed (count_name_owner_changed == 2): (1 == 2)
669  - #507 GDBus credentials don’t work on OS X
670  - #602 GLib.Thread not usable from GObject-Introspection
671  - #1154 Missing documentation how to set a value in a GArray
672  - #1215 MSVC cannot build glib-compile-resource's output resource file
673  - #1323 meson, autotools: figure out if mem barrier is needed for arm64 host variant aarch64
674  - #1398 gdate: Add error handling for GetDateFormatW calls
675  - #1841 Signal handler disconnection race when finalising GCancellableSource
676  - #1851 Meson Build Failure on Windows: Undefined Reference to libiconv
677  - #1911 Memory leak in g_param_spec_flags and/or g_param_spec_enum
678  - #1931 GBookmarkFile API involves time_t
679  - #1954 gdbus-server-auth intermittent failure
680  - #1957 gdbus-connection test failure on FreeBSD
681  - #1986 Socks5 Proxy: Authentication seems broken
682  - #1988 Socks5 Proxy: Wrong error returned when using no authentication
683  - #2038 Bindings: g_tls_connection_set_database() does not allow None as argument
684  - #2051 GUnixOutputStream can block on close()
685  - #2057 Call malloc_trim() under memory pressure
686  - #2067 Glib uses _Static_assert in C++17 mode
687  - #2081 gdbus error messages contains mixed up body and head signatures
688  - #2082 AM/PM - specific variation support needed to Hebrew language
689  - #2083 Memory monitor tests fail if dbusmock isn't installed
690  - #2092 FreeBSD CI timing out in gdbus-connection filter test
691  - #2094 Deprecation warnings when compiling with -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_28 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28
692  - #2106 Duplicated if - else if conditions in gtranslit.c
693  - #2107 g_poll() implementation on Windows stall when more than MAXIMUM_WAIT_OBJECTS FDs have passed
694  - #2109 GValue: Add support for interned string
695  - #2124 g_file_info_get_content_type() may return NULL
696  - #2132 Valgrind reports "still reachable" after g_thread_pool_new/free
697  - #2134 Valgrind reports "still reachable" after `g_uuid_string_random()`.
698  - #2135 Valgrind reports "still reachable" after g_key_file_new/free
699  - #2136 Valgrind reports "still reachable" after g_option_context_parse
700  - !1204 gtestutils: Add a new g_assert_no_errno() test macro
701  - !1302 gobject: new g_param_is_valid_property_name() function.
702  - !1329 Support nanoseconds in stat timestamps on Windows
703  - !1341 MUI capabilities for GWin32RegistryKey
704  - !1360 CI: Show execution environment before we start
705  - !1395 tests: Move memory_monitor_tests under installed_tests_enabled
706  - !1396 macros: Define G_GNUC_FALLTHROUGH for more compilers
707  - !1397 tests: Skip MemoryMonitor test if GObject-Introspection is too old
708  - !1398 gcontenttype: Fix crash in _get_generic_icon_name()
709  - !1402 ci: Update Android Docker image for aarch64 CPU naming change
710  - !1405 tests: Disable link-time warning for mem-overflow
711  - !1406 Replace fallthrough comments with G_GNUC_FALLTHROUGH
712  - !1408 tests: Don't compare strings by pointer
713  - !1409 gdummytlsconnection: Add missing overrides for ALPN properties
714  - !1413 gapplication: Fix a minor typo in the documentation
715  - !1414 gstrutils: Set locale explicitly for search-utils test
716  - !1415 meson: Don't use assert in test code
717  - !1418 ginetaddress, ginetsocketaddress: Add missing (nullable) annotations
718  - !1422 glib: Update Unicode Character Database to version 13.0.0
719  - !1423 gobject: Clarify assertion failure on ref-after-finalize
720  - !1424 docs: Fix configuration with gtk_doc=true and installed_tests=false
721  - !1425 gdbusconnection: GDBusSignalCallback can have a NULL sender_name
722  - !1426 gunidecomp: Update and reformat Unicode version support history
723  - !1427 gicon: Clarify GVariant refcounting in docs
724  - !1428 Add missing 'extern' to the dllexport version of GLIB_VAR/GOBJECT_VAR
725  - !1429 Fix arch detection ifdefs in glib/valgrind.h
726  - !1430 Use __builtin_trap() on Clang on any platform
727  - !1431 glib-unix.c: fix heap corruption in g_unix_get_passwd_entry
728  - !1432 docs: Mention new gio tool options
729  - !1433 meson: Fix buildtype usage
730  - !1434 gdbusconnection: Clarify nullability of SignalInstance.sender
731  - !1436 glib: Update internal copy of valgrind.h from Valgrind 3.15 release
732  - !1437 gmarkup tests: tab character escape/unescape
733  - !1439 Don't misdetect stpcpy on windows platforms on clang
734  - !1440 Silence clang errors about -Wformat-nonliteral due to missing intermediate attributes
735  - !1441 Meson: Override every dependency glib provides
736  - !1442 gfile: Fallback to fast-content-type if content-type is not set
737  - !1443 gio: use TAPTestRunner in the memory monitor tests
738  - !1444 Meson: Add glib-checks and glib-asserts options
739  - !1452 Make symbols generated by gdbus-codegen exportable on Visual Studio-style builds
740  - !1455 gdesktopappinfo: Note that search results are not filtered
741  - !1456 GCredentials documentation fixes
742  - !1458 meson: Exclude gosxutils.m when building for iOS
743  - !1459 meson: Fix the gnulib checks for isnan* functions
744  - !1460 glib: Sync the local modification to glib/valgrind.h to what was upstreamed
745  - !1462 gvariant-core: Add a note about memory safety of children
746  - !1463 gdesktopappinfo: Add several nullable annotation to GAppInfo getters
747  - !1464 Update Fedora CI
748  - !1466 CI: Switch to new Windows runners
749  - !1469 goption: Treat an empty option context parameter string as NULL
750  - !1475 Improve documentation of g_tls_database_verify_chain()
751  - !1476 tests: Fix remaining race in gdbus-connection filter test
752  - !1479 Improve documentation of client connection validation flags
753  - !1480 CI: Make sure we use meson 0.49.2 in MSYS2
754  - !1481 array: fix corrupt state of GPtrArray after g_ptr_array_extend_and_steal()
755  - !1482 [th/g-ptr-array-variable-cleanups] minor cleanup of variables for GPtrArray
756  - !1487 glib: annotate static inline functions with G_AVAILABLE-type macros
757  - !1488 Rebuild Fedora CI image
758  - !1491 gdatetime: update annotations
759  - !1492 glib-mkenums: allow optional 'since' tag
760  - !1493 meson: Remove stray ] in O_DIRECTORY check
761  - !1496 Fix GLIB_UNAVAILABLE_STATIC_INLINE declaration
762  - !1498 array: add internal ptr_array_new() helper for creating GPtrArray
763  - !1503 docs: Add indexes for symbols added in 2.66
764  - !1505 gobject: Handle runtime checks as such
765  - !1506 tests: Speed up the cancellable test
766  - !1508 tests: Speed up the file test and make it more reliable
767  - !1512 Various fixes when building for iOS
768  - !1513 Initialize the visited time of a new GBookmarkFile
769  - !1515 meson: check for stpcpy using cc.links()
770  - !1516 gthreadedsocketservice: Mark source_object of run signal as nullable
771  - !1517 GWin32RegistryKey: Move assertions
772  - !1518 strfuncs: Use a GPtrArray in strsplit()
773  - !1522 meson: Fix gnulib printf checks
774  - !1524 meson: Fix gnulib build where isnan*() is needed
775  - !1525 Normalize C source files to end with exactly one newline
776  - !1528 gtlsconnection: Improve documentation of peer-certificate[-errors]
777  - !1530 tree: Fix various typos and outdated terminology
778  - !1531 gvariant: Fix documentation for g_variant_get_string() to match reality
779  - !1532 win32: spelling fix
780  - !1535 glib.supp improvements
781
782 * Translation updates:
783  - Bokmål, Norwegian
784  - Catalan
785  - Catalan (Valencia)
786  - Chinese (Taiwan)
787  - Dutch
788  - French
789  - Galician
790  - German
791  - Hebrew
792  - Indonesian
793  - Italian
794  - Japanese
795  - Latvian
796  - Lithuanian
797  - Malay
798  - Romanian
799  - Serbian
800  - Slovak
801  - Slovenian
802  - Spanish
803  - Turkish
804  - Ukrainian
805
806
807 Overview of changes in GLib 2.64.0
808 ==================================
809
810 * Use `posix_spawn()` to speed up launching test D-Bus instances (!1388)
811
812 * Bugs fixed:
813  - #1783 Document using glib-mkenums with meson
814  - #2049 Crash in g_array_copy
815  - !1384 Some minor clang warning fixes
816  - !1386 docs: Document generated headers caveats for genmarshal
817  - !1387 ci: Correctly propagate exit status in run-style-check-diff.sh
818  - !1388 gtestdbus: Use posix_spawn() to spawn dbus-daemon
819  - !1389 Update GError docs to use G_DEFINE_QUARK
820
821 * Translation updates:
822  - Czech
823  - Danish
824
825
826 Overview of changes in GLib 2.63.6
827 ==================================
828
829 * Fix potential relative read when calling g_printerr(), which could lead to a
830   denial of service from a setuid-root process being used to block access to the
831   TTY for another user (#1919)
832
833 * Fix SOCKS proxy resolver sometimes not being used when resolving addresses
834   via Happy Eyeballs (CVE-2020-6750) (#1989)
835
836 * Several other Happy Eyeballs fixes for address resolution (#1871, #1872, #1902)
837
838 * Various race fixes in `GDBusConnection` and its unit tests (#1515)
839
840 * Fix a race condition with D-Bus name ownership (#1517)
841
842 * Drop `gio-launch-desktop` helper application in favour of calling `sh` directly (#1633)
843
844 * Fix win32 exception handling with C# exceptions (#2025)
845
846 * Fix thread safety of `GUnixMountMonitor` (#2030)
847
848 * Additional fixes to new thread pool attribute behaviour from GLib 2.63.4 to
849   check if sched_setattr() is allowed by system policies before depending on it (#2039, !1356)
850
851 * Fix memory leaks and corruption when freeing `GSource`s while freeing a `GMainContext` (!1353)
852
853 * Drop inappropriate installation of object manager example documentation (!1359)
854
855 * Bugs fixed:
856  - #938 gdbus call -a doesn't support message bus connections
857  - #1515 gio/gdbus-threading test sometimes fails in CI
858  - #1517 g_bus_own_name does not always call name_lost_handler when _REPLACE and _ALLOW_REPLACEMENT are set
859  - #1633 should not install gio-launch-desktop into PATH
860  - #1919 read from relative path in g_printerr() in 2.58.3
861  - #1995 Tracker issue for Happy Eyeballs regressions
862  - #2002 g_io_channel_read_line does not honour the line_term symbols set
863  - #2025 W32 exception handling misbehaves when C# exceptions are thrown when running inside the Visual Studio debugger
864  - #2030 Random nautilus test suite failures involving GUnixMountMonitor
865  - #2039 sched_setattr() still can cause EPERM through natural causes
866  - #2043 Low memory monitor test failed in CI
867  - #2044 GApplication docs suggest invalid GVariant type
868  - !1185 gtimezone: Tidy up UTC timezone creation
869  - !1281 ci: Update Docker packages
870  - !1283 gmodule: change _g_module_close to only take a handle.
871  - !1298 tests: Speed up the GIO actions test
872  - !1299 gapplication: Fix a minor typo in the documentation
873  - !1339 gsocketclient: Refactor g_socket_client_connect_async()
874  - !1353 GMainContext - Fix memory leaks and memory corruption when freeing sources while freeing a context
875  - !1354 GThreadPool - Add test for !1340
876  - !1355 glist: Add docs examples of how to combine with g_steal_pointer()
877  - !1356 GThread - Check if sched_setattr is allowed by the system policies before depending on it
878  - !1359 docs: Don’t install object manager example separately
879  - !1363 Make tests pass if we are euid != 0 with capabilities
880  - !1366 Fix oss-fuzz coverage link
881  - !1372 gobject: Fix strict aliasing warnings with g_set_object()
882  - !1376 gitlab-ci: 64-bit ARM is aarch64, not arm64
883  - !1381 ghash: Document the iteration order over a hash table is not defined
884  - !1382 tests: Bump the refcount timeout in gdbus-threading
885  - !1383 ci: Enable parallelisation when running installed tests
886
887 * Translation updates:
888  - Basque
889  - English (United Kingdom)
890  - French
891  - Galician
892  - German
893  - Greek, Modern (1453-)
894  - Hungarian
895  - Indonesian
896  - Japanese
897  - Korean
898  - Lithuanian
899  - Polish
900  - Portuguese (Brazil)
901  - Spanish
902  - Swedish
903  - Turkish
904
905
906 Overview of changes in GLib 2.63.5
907 ==================================
908
909 * Fix behaviour of `g_file_move()` fallback code to not follow symlinks (#986)
910
911 * Rename `--glib-min-version` argument of `gdbus-codegen` to `--glib-min-required`
912   (this is not an API break as `--glib-min-version` was added earlier in the
913   2.63 cycle) (#1993)
914
915 * Add gtk-doc checks to CI and fix a number of documentation issues
916   (thanks to Xavier Claessens) (!978)
917
918 * Add `G_SIZEOF_MEMBER()` macro (!1333)
919
920 * Add a debug message if `g_setenv()` or `g_unsetenv()` are used after any
921   threads have been spawned — this will be upgraded to a warning in future (!1337, #715)
922
923 * Skip memory monitor tests if xdg-desktop-portal or dbusmock are not available (!1296, !1338)
924
925 * Change the `libmount` configure option from a boolean to a Meson `feature` (!1344)
926
927 * Do not return `target-uri` from `g_file_peek_path()` when called on trash/recent files (!1346)
928
929 * Drop new TLS certificate API for PKCS #11 backed certificates, as the implementation
930   is not ready yet (this is not an API break as the API was added earlier in the
931   2.63 cycle) (!1347)
932
933 * Bugs fixed:
934  - #986 g_file_move: remove G_FILE_COPY_NOFOLLOW_SYMLINKS section
935  - #1551 CI: Add checks for `TODO` in MRs
936  - #1925 Large number of routes installed into kernel cause high cpu usage
937  - #1993 Rename gdbus-codegen --glib-min-version argument to --glib-min-required and add --glib-max-allowed
938  - #2012 spawn_thread_queue not initialised in GThreadPool
939  - #2020 g_network_monitor_base_add_network() improperly unrefs GInetAddressMask
940  - !978 Various fixes to make gtkdoc-check pass on glib
941  - !1018 docs: tag enclose 'all' and 'help' values
942  - !1170 Avoid C++20 deprecated assignment to volatile
943  - !1296 tests: Skip GMemoryMonitor tests if the dbusmock template is not available
944  - !1307 Remove global declaration of GMemoryMonitor
945  - !1322 gmain: Mark G_SOURCE_FUNC as available in 2.58
946  - !1333 Add and use G_SIZEOF_MEMBER() macro
947  - !1337 genviron: Message if g_setenv()/g_unsetenv() are used after threads spawned
948  - !1338 tests: Skip GMemoryMonitor tests if xdg-desktop-portal is not available
949  - !1344 meson: libmount autodectection
950  - !1345 gio-tool-info: Print unix mount information where available
951  - !1346 gfile: Do not return target-uri from g_file_peek_path()
952  - !1347 Revert "gtlscertificate: Add support for PKCS #11 backed certificates"
953  - !1348 ghash: Clarify that g_hash_table_add() always consumes the key
954  - !1349 doc: Clarify that _locker_new() does not actually allocate memory
955  - !1351 glib.supp: update g-threaded-resolver-getaddrinfo-config
956
957 * Translation updates:
958  - Japanese
959  - Lithuanian
960  - Malay
961  - Portuguese (Brazil)
962  - Swedish
963
964
965 Overview of changes in GLib 2.63.4
966 ==================================
967
968 * Fix various race conditions on signal emission in GDBus (#604, #978, #1232)
969
970 * Change thread pools so that thread attributes (in particular, priority) are
971   inherited from the thread which created the `GThreadPool` initially, rather
972   than from the thread which is pushing a new job into the pool (#1834, #2007)
973
974 * Expand support for running Windows apps with
975   `g_app_info_launch_default_for_uri()` using rundll32 on Windows (#1932)
976
977 * Support multiple directories in `GSETTINGS_SCHEMA_DIR` environment variable (#1998)
978
979 * Support full Julian day range in `TZ` environment variable (#1999)
980
981 * Apply recursion depth limits to variants in D-Bus messages (!1201)
982
983 * Support adding call flags and timeouts to method calls generated by
984   `gdbus-codegen` through the new `--glib-min-version` option (!1286)
985
986 * Fully deprecate TLS rehandshakes; they are now ignored due to TLS protocol
987   changes (!1305)
988
989 * Bugs fixed:
990  - #198 g_fopen and friends: should also state how to close a stream
991  - #604 GDBus name watching dispatch is buggy/excessively-complicated
992  - #833 g_object_set: document the need to cast varargs
993  - #978 SIGSEGV in on_name_lost_or_acquired
994  - #1232 Insufficient thread safety around GDBusObjectManagerClient
995  - #1416 Re-add macOS CI
996  - #1834 Unwanted priority/etc inheritance with GThreadPool and GThread and the POSIX implementation
997  - #1932 Windows: Gio.AppInfo.launch_default_for_uri seems not to work for local files/folders
998  - #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
999  - #1997 Base64 encoding with "break_lines" claims to wrap at 72 characters but seems to wrap at 76
1000  - #1998 support multiple directories in GSETTINGS_SCHEMA_DIR
1001  - #1999 GTimeZone fails to accept full Julian day range when parsing the direct $TZ string format
1002  - #2007 Thread scheduler attributes fail under valgrind
1003  - !388 ci: Avoid downloading subprojects for each job
1004  - !1111 gio: test that launch_uris() exports files with the document portal when launching a flatpak
1005  - !1201 gdbusmessage: Limit recursion of variants in D-Bus messages
1006  - !1279 tests: Fix an error message set by foo_set_property()
1007  - !1286 gdbus-codegen: Add a GDBusCallFlags arg to method calls
1008  - !1291 gio-tool-list: Add an option to print display names
1009  - !1294 GMemoryMonitor docs fixes
1010  - !1295 gio: Fix socket test
1011  - !1301 GThread - Inherit parent thread priority by default for new Win32 threads
1012  - !1303 gvariant-core: Don't pass NULL second argument to memcpy
1013  - !1305 Fully deprecate TLS rehandshakes
1014  - !1308 gsocketclient: run timeout source on the task's main context
1015  - !1309 Fix crash in gutils when application is prevented access to passwd file
1016  - !1317 gfdonotificationbackend: remove notifications when bus name vanishes
1017  - !1320 subprojects: Temporarily avoid using wrapdb while it’s down
1018  - !1324 ci: Add some documentation to the style check CI test
1019  - !1325 Check for SYS_sched_getattr before using it unconditionally
1020  - !1330 W32: Correctly set st_ino when doing private stat()
1021  - !1334 gthread: Ensure GThreadSchedulerSettings is always defined
1022
1023 * Translation updates:
1024  - Catalan
1025  - Galician
1026  - Hungarian
1027  - Indonesian
1028  - Polish
1029  - Portuguese (Brazil)
1030  - Spanish
1031
1032
1033 Overview of changes in GLib 2.63.3
1034 ==================================
1035
1036 * Add a `--glib-min-version` argument to `gdbus-codegen` which controls breaks in the API of generated code (#1726)
1037
1038 * Add `g_clear_list()` API to clear `GList`s to `NULL` (#1943)
1039
1040 * Add a `GMemoryMonitor` API to be notified of memory pressure situations using the low-memory-monitor project (!1005)
1041
1042 * Add support for dispose functions for `GSource` implementations (!1175)
1043
1044 * Tighten up validation of GObject signal and property names, allowing performance improvements (!1224)
1045
1046 * Fix installation path of GIO modules on MSVC to be the bindir (!1254)
1047
1048 * Bugs fixed:
1049  - #650 g_signal_lookup gives too many warnings
1050  - #1011 GListStore, easily find if the item is already inserted
1051  - #1130 gdbus-codegen: Add an option to strictly generate markdown in source comments
1052  - #1687 glocalvfs.c uses non-thread-safe getpwnam()
1053  - #1726 Warn when method/signal uses type 'h' but lacks GDBus.C.UnixFD annotation
1054  - #1935 Assert in _kqsub_free seems to be too strict
1055  - #1943 Consider g_clear_list()
1056  - #1947 Documentation clarification for g_uuid_string_random()
1057  - #1953 Documentation for g_type_init() and others missing from online gtk-doc documentation
1058  - #1961 A typo in the comment of `g_settings_schema_get_path`: threfore -> therefore
1059  - !1005 gio: Add GMemoryMonitor to monitor for low-memory
1060  - !1172 gptrarray: Add an example to the g_ptr_array_steal() docs
1061  - !1175 Implement a dispose function for GSource
1062  - !1223 Add additional valgrind suppressions
1063  - !1224 Signal name handling improvements
1064  - !1230 ci: Run installed-tests on Fedora
1065  - !1235 Add sudo to Fedora docker image
1066  - !1239 tests: Run "timeout tests" sequentially
1067  - !1248 ci: Update all Debian CI runners to use v5 of the Dockerfile
1068  - !1249 gio-tool-mount: Allow mounting by the given UUID
1069  - !1252 ci: Fix running all jobs on merge requests
1070  - !1253 gthread: Fix "zero as null pointer" warning
1071  - !1254 giomodule: gio modules are no longer installed in bindir on MSVC
1072  - !1255 ci: Build Docker images rather than OCI images if using podman
1073  - !1256 gdate: Add autoptr support
1074  - !1258 Minor CI fixups
1075  - !1261 gtk-doc: Ensure we have recent enough version
1076  - !1262 tests: Add tests for the gdbus-codegen executable
1077  - !1265 build: don't check for protected visibility
1078  - !1267 Revert "doc: Workaround gtkdoc-scan bug leading to undocumented symbols"
1079  - !1268 ci: Work-around successful installed tests having no logs
1080  - !1269 gvariant: Add guard to g_variant_get()
1081  - !1271 tests: Enable GDBus debug for a number of unreliable tests
1082  - !1274 trash portal: Don't follow symlinks
1083  - !1275 Small doc correction
1084  - !1277 Various gtk-doc improvements
1085  - !1278 Update installed tests CI
1086  - !1280 clang-format-diff: Output diff for multiple files, not just one
1087  - !1282 Revert "Revert "docs: remove GDBusObjectManager example""
1088  - !1284 Update POTFILES.in 191212
1089  - !1287 atomic/tests: test g_atomic_pointer_compare_and_exchange() with const pointers
1090  - !1289 gtype: Define auto-cleanup functions for Module class
1091
1092 * Translation updates:
1093  - Spanish
1094
1095
1096 Overview of changes in GLib 2.63.2
1097 ==================================
1098
1099 * Use `lldb` rather than `gdb` on macOS for debugging (#1004)
1100
1101 * Switch the atomic builtins from `__sync_fetch_*()` to the slightly more modern
1102   `__atomic_*()` (#1750)
1103
1104 * Fix calculation of `gsize` width on various platforms (including OpenBSD) (#1777)
1105
1106 * Fix undefined behaviour causing brokenness in `g_utf8_find_prev_char()` when
1107   compiling with GCC ≥ 8 (#1917)
1108
1109 * Revert UNIX mode changes in `G_FILE_ATTRIBUTE_ID_UNIX_MODE` which broke OSTree (#1934)
1110
1111 * Slightly improve performance for signal emissions when no handlers are connected (!1083)
1112
1113 * Add `g_task_return_value()` and `g_task_propagate_value()` APIs to allow
1114   `GTask` to be used from language bindings more easily (!1216)
1115
1116 * Fix a file monitoring crash on kqueue-based systems (BSD) (!1221)
1117
1118 * Bugs fixed:
1119  - #1004 [PATCH] Make gbacktrace use lldb on Mac OS X
1120  - #1552 CI: Add code style checks
1121  - #1750 Switch from  __sync_fetch_*() to __atomic_*() in glib/gatomic.h
1122  - #1777 gsize: improper typedef on (at least) OpenBSD
1123  - #1895 Regression: glib does not compile on centos 6: "objcopy: unrecognized option '--add-symbol'"
1124  - #1917 Test utf8-pointer fails with static build, LTO, optimisations, and new GCC
1125  - #1930 glib/tests/bookmarkfile.c:385:test_modify: assertion failed: (stamp == now)
1126  - #1934 ostree tests broken since bfdc5fc4fc84ef8518d2d1a328c8482cf5a38e98: File '/tmp/test-tmp-libostree_test-basic-user.sh.test-QB4SA0/diff-test2' is not empty
1127  - #1938 GDateTime doesn't support leap seconds
1128  - #1940 atomics test fails on FreeBSD CI since !1123
1129  - !1039 Improve documentation for footgun function g_tls_client_connection_copy_session_state()
1130  - !1083 Use the GObject hole on 64bit arches for some flags to improve performance
1131  - !1202 CI updates after !1177
1132  - !1208 gutils: Slightly improve docs formatting for g_get_os_info()
1133  - !1209 Make ld executable configurable
1134  - !1210 gdbus-server-auth test: Include gcredentialsprivate.h
1135  - !1213 gsocket: Improve diagnostics on bind() failure
1136  - !1214 gvariant, gbytes: Avoid memcmp (NULL, ., 0) or memcmp (., NULL, 0)
1137  - !1216 Make GTask more binding-friendly
1138  - !1218 gdb: Fix GHashTable pretty printer off-by-one error
1139  - !1220 gparam: fix memory leak in g_param_value_defaults()
1140  - !1221 Add NOTE_REVOKE to the list of the monitoring events
1141  - !1225 gtlsconnection: clarify handshake() documentation
1142  - !1227 Deprecate old GTlsConnection functionality even harder!
1143  - !1231 Fix build on old libc that does not define _SC_HOST_NAME_MAX
1144  - !1238 gstrfuncs: use gsize type internally for strv functions
1145  - !1242 gfileinfo: Clarify the documentation for G_FILE_ATTRIBUTE_UNIX_MODE
1146  - !1243 docs: Fix "occurred" typos in API documentation
1147
1148 * Translation updates:
1149  - Spanish
1150
1151
1152 Overview of changes in GLib 2.63.1
1153 ==================================
1154
1155 * Several usability improvements to command line `gio` tool (!1153)
1156
1157 * Add `g_array_steal()`, `g_ptr_array_steal()` and `g_byte_array_steal()` APIs (#285)
1158
1159 * Add `g_get_os_info()` API (!1063, !1160)
1160
1161 * Add `g_warning_once()` API (!1028)
1162
1163 * Always resolve `localhost` to loopback address in `GResolver` (!616)
1164
1165 * Add `GMainContextPusher` API (!983)
1166
1167 * Limit recursion in `g_variant_parse()` (!1173)
1168
1169 * Fix crash in `g_spawn()` with high FD numbers due to use of `select()` rather
1170   than `poll()` (#954)
1171
1172 * Allow passing empty `GValue`s to `g_param_value_set_default()` (!1186)
1173
1174 * Escape header guards generated by `gdbus-codegen` better (#1379)
1175
1176 * Bugs fixed:
1177  - #285 [PATCH] add array steal and memdup functions
1178  - #954 The g_spawn_sync() function uses select() which has limitations
1179  - #1318 rare failure in gdbus-peer test: invalid uninstantiatable type '(null)' in cast to 'GDBusServer'
1180  - #1379 gdbus-codegen generates invalid header guards when build directory contains a + character
1181  - #1622 NULL pointer derefs on g_vasprintf() failure
1182  - #1813 g_option_context_add_main_entries() is missing array annotation for entries parameter
1183  - #1831 No reply on private socket due to auth problem
1184  - #1836 gobject.c uses undefined annotation “(not optional)”
1185  - #1858 docs/reference/gobject/tut_gobject.xml: object properties example uses deprecated API
1186  - #1877 g_cancellable_source_new annotated with 'skip'
1187  - #1896 Use after free when calling g_dbus_connection_flush_sync() in a dedicated thread
1188  - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
1189  - #1903 use-after-free in mimeapps test causes intermittent segfault during testing
1190  - #1906 test_os_info fails on FreeBSD
1191  - #1916 objcopy not used from cross-compilation file in GIO tests
1192  - #1923 Recent Versions of GLib Break Dolphin File-Manager's Thumbnailing when Using 'gtk2' Style
1193  - !616 Always resolve localhost to loopback address
1194  - !983 gmain: Add GMainContextPusher convenience API
1195  - !1014 tests: Add a test for g_assert_finalize_object()
1196  - !1028 gmessages: Add g_warning_once()
1197  - !1035 Switching from C gnu89 to C gnu99 standard
1198  - !1063 gutils: Add g_get_os_info()
1199  - !1082 gdatetime: Document RFC 3339 extensions when parsing ISO 8601
1200  - !1105 syscall flood on every time*() function call
1201  - !1120 Update documentation with FreeBSD build instructions
1202  - !1135 gmain: use atomic operation instead of GMutex to access g_main_context_default()
1203  - !1146 Solaris build fixes
1204  - !1147 gmodule: fix typo in doc comment
1205  - !1148 gio/gfileinfo: fix parameter references
1206  - !1149 gio/gfile: fix parameter reference for value_p
1207  - !1150 gio/gfile: fix parameter references to @contents
1208  - !1151 gio/gfile: fix typo in doc comment
1209  - !1152 gwinhttpvfs: Handle g_get_prgname() returning NULL
1210  - !1153 Several gio-tool bash completion fixes and improvements
1211  - !1155 Strict-aliasing fixes to new atomic built-ins
1212  - !1157 Fix various compiler warnings on Android
1213  - !1160 Add Windows support to g_get_os_info()
1214  - !1161 hash: Remove an assertion from the hot path
1215  - !1163 gcharset: Expand the documentation for g_get_locale_variants()
1216  - !1165 Use uname as a fallback to get OS info
1217  - !1167 Fix some minor leaks in testfilemonitor
1218  - !1168 Fix gdatetime tests on toolbox
1219  - !1171 Revert "gdbus-codegen: emit GUnixFDLists if an arg has type 'h'"
1220  - !1173 gvariant: Limit recursion in g_variant_parse()
1221  - !1177 ci: Add libdbus development files to CI Docker images
1222  - !1179 Improve GPtrArray doc-comments
1223  - !1180 array: Avoid use of memcpy(dest, NULL, 0)
1224  - !1181 gmain: Clarify thread safety of some common GSource functions
1225  - !1182 gio: Fix typo in URL
1226  - !1186 Allow using an empty GValue with g_param_value_set_default()
1227  - !1189 gparamspecs: Fix type class leaks on error handling paths
1228  - !1197 Fix GDBus test failures on non-Linux (in particular FreeBSD)
1229  - !1200 Minor fixes from a scan-build run
1230
1231 * Translation updates:
1232  - Catalan
1233  - Chinese (Taiwan)
1234  - Spanish
1235
1236
1237 Overview of changes in GLib 2.63.0
1238 ==================================
1239
1240 * Add g_fsync() API (#35)
1241
1242 * Fix regression in g_file_copy() when passing
1243   `G_FILE_COPY_TARGET_DEFAULT_PERMS` flag; the destination permissions would be
1244   private rather than following the process’ umask (!1142)
1245
1246 * Several `GDateTime` parsing fixes (!1127)
1247
1248 * Always build the tests if installed-tests are enabled, so that the tests can
1249   actually be installed (!1141)
1250
1251 * Rework atomic function implementations to use memory barrier in the correct
1252   place (when compiler intrinsics aren’t providing the atomics), and fix
1253   signedness issues (#1449, #1565)
1254
1255 * Use the OS’ `fdwalk()` function (if safe) to speed up `g_spawn_*()` on BSD (#1638)
1256
1257 * Remove the macOS `dyld` `GModule` implementation in favour of `dl` instead (!1093)
1258
1259 * Bump Python requirement to ≥ 3.5, which we implicitly relied on anyway through
1260   our Meson dependency (!1132)
1261
1262 * Bugs fixed:
1263  - #35 add g_fsync to API
1264  - #174 g_file_copy always preserves  permissions, even if G_FILE_COPY_ALL_METADATA flag is not set
1265  - #259 docs: fix a misunderstanding in g_type_add_interface_*
1266  - #767 g_signal_lookup fails if class is not referenced
1267  - #1052 g_io_write_chars calls abort when given a null byte as input
1268  - #1449 glib fallback atomic int/ptr get/set have memory barrier in wrong place
1269  - #1565 Signedness of atomic operations
1270  - #1638 g_spawn_*() is extremely slow under certain circumstances
1271  - #1809 Provide API for working with PKCS11 backed certificates
1272  - #1843 TSAN false positive with g_atomic_pointer_get/g_atomic_pointer_set under Clang
1273  - #1865 g_variant_get_data_as_bytes fails after serializing a variant
1274  - #1875 Segfault and Overflow in __gio_xdg_cache_mime_type_subclass() with Wps-Office installed
1275  - #1887 glib 2.62.0 breaks loading dylibs as modules
1276  - #1888 2.62: docs build on Windows broken
1277  - #1897 glib 2.62.0 fails test 'test_writev_no_vectors' wih gcc7
1278  - !1020 docs: Remove priv pointers from the tutorial example
1279  - !1062 gtype: mark the inline functions in G_DECLARE_*_TYPE() as UNUSED
1280  - !1080 tests: Fix skipping mkdir-with-parents-permission test
1281  - !1088 Various small scan-build fixes
1282  - !1090 giochannel: Clarify type of GSource callback in documentation
1283  - !1093 gmodule: remove macOS dyld implementation
1284  - !1095 Define G_IOV_MAX to 512 on macOS/iOS
1285  - !1099 gmem: clarify that g_malloc always uses the system allocator
1286  - !1109 doc: fix typo in gio/gsettings.c
1287  - !1110 gio: Add missing "gio remove" option to bash completion script
1288  - !1112 Add version macros for GLib 2.64
1289  - !1115 gdatetime: Fix error handling in g_date_time_new_ordinal()
1290  - !1116 gmarkup: Add a limit on the number of attributes in an element
1291  - !1119 Annotate the return value of various utility functions
1292  - !1124 docs: Fix typo in GConverter{Input,Output}Stream section titles
1293  - !1125 gdatetime: Fix error handling in g_date_time_new_week()
1294  - !1126 fileinfo: Mention that usec mtimes are set
1295  - !1129 gdate: Fix tautological comparison warnings on Android
1296  - !1130 Improve GLIB_DEPRECATED_MACRO_FOR output
1297  - !1131 gio/gfileinfo: fix param reference in doc comment
1298  - !1132 build: Bump Python requirement to ≥ 3.5
1299  - !1137 gregistrysettings: bump key name length to 2048
1300  - !1138 Always build tests if we enabled installed-tests
1301  - !1139 g_file_info_get_modification_date_time: Calculate in integer domain
1302
1303 * Translation updates:
1304  - Danish
1305  - Italian
1306  - Panjabi
1307  - Serbian
1308  - Turkish
1309
1310
1311 Overview of changes in GLib 2.62.0
1312 ==================================
1313
1314 * Fix new `GFileInfo` APIs to work when `G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC`
1315   was not queried (!1087)
1316
1317 * Bugs fixed:
1318  - #487 Add valgrind test runs to CI
1319  - !1084 garray: Fix reference to GLIB_SIZEOF_INT
1320  - !1086 glib.supp: make gobject_init() calloc also of the possible kind
1321  - !1087 fileinfo: ignore USEC if not available
1322
1323 * Translation updates:
1324  - Friulian
1325  - Portuguese (Brazil)
1326
1327
1328 Overview of changes in GLib 2.61.3
1329 ==================================
1330
1331 * Support setting thread name on BSD systems (#1761)
1332
1333 * Install previously-uninstalled headers for public `GNativeSocketAddress`
1334   object (#1854)
1335
1336 * Very initial support for Windows apps (UWP) (!1057)
1337
1338 * Add various new valgrind suppressions to `glib.supp` (#1879, !1075)
1339
1340 * Bugs fixed:
1341  - #83 Optimisation for g_nearest_pow() in garray.c
1342  - #512 GSignal: accumulator function not called to accumulate G_SIGNAL_RUN_CLEANUP object handler return values
1343  - #873 allow NULL arguments to parse_strv
1344  - #905 Patches from static analysis run on 2.40
1345  - #1057 goption: add sanity check to input parameters
1346  - #1309 GSettings object stops emitting "changed" signal on g_settings_reset after call to g_settings_delay
1347  - #1620 GDBus criticals from GVfs with GLib master
1348  - #1761 Setting thread-name on BSD systems
1349  - #1803 GDK_SCALE=X is not respected when using "gio open"
1350  - #1819 Invalid characters in Open Location dialog crashes GIMP
1351  - #1852 Regression: g_mkdir_with_parents() returns 0 on failure
1352  - #1854 glib/gio: GNativeSocketAddress headers not installed.
1353  - #1860 g_clear_handle_id does not trigger GLIB_VERSION_MAX_ALLOWED warning
1354  - #1863 Potential invalid writes on g_utf8_strreverse
1355  - #1867 A couple of en_GBisms
1356  - #1870 GSettingsBackend watches not thread-safe
1357  - #1879 Incomplete valgrind suppressions - 16 KiB leak reported by valgrind from loading libglib-2.0.so
1358  - #1880 glib/gbacktrace.c: If dup2 happened to return -1, don't call dup2 with same value
1359  - #1881 GIO_USE_VOLUME_MONITOR and GIO_USE_FILE_MONITOR do not work as documented
1360  - !1002 Remove mentions of mailing lists from the documentation
1361  - !1011 gapplication: Fix a leaking GRemoteActionGroup member
1362  - !1015 Post-release version bump
1363  - !1016 gnetworkmonitornm fixups
1364  - !1017 Improve ISO 8601 parsing by GDateTime
1365  - !1023 g_object_get_property: Improve documentation for use of G_VALUE_INIT
1366  - !1026 gutf8: Assert that written memory stays in bounds
1367  - !1027 gfileutils: Fix error propagation for other than ENOENT
1368  - !1031 meson: build gnulib if printf isn't good enough
1369  - !1032 meson: small printf check cleanups
1370  - !1033 win32: don't assume the format specifier for the stdlib printf/scanf like functions
1371  - !1034 glib/tests/fileutils: Add a reproducer for #1852
1372  - !1036 cond test: Don't make assumptions about struct sigaction member order
1373  - !1037 Meson: Override glib-compile-resources/schemas
1374  - !1044 Relax use of g_test_bug() to not require g_test_bug_base() to be called first
1375  - !1049 minor typos in the documentation
1376  - !1050 tests: Fix a pragma warning on FreeBSD
1377  - !1054 gerror: Add a docs paragraph about not displaying errors verbatim in UI
1378  - !1057 Some (probably) easy uwp patches
1379  - !1059 Update win32 readme, add myself to codeowners
1380  - !1066 libffi.wrap: Meson port has moved to FDO gitlab
1381  - !1068 gsubprocesslauncher.c: fix documentation
1382  - !1071 meson: Move libdl_dep to the top level
1383  - !1074 Adjust README formatting
1384  - !1075 glib.supp: add suppression for g_type_class_ref()
1385
1386 * Translation updates:
1387  - Basque
1388  - Catalan
1389  - Czech
1390  - English (United Kingdom)
1391  - French
1392  - Galician
1393  - German
1394  - Hungarian
1395  - Indonesian
1396  - Korean
1397  - Lithuanian
1398  - Polish
1399  - Romanian
1400  - Spanish
1401  - Swedish
1402
1403
1404 Overview of changes in GLib 2.61.2
1405 ==================================
1406
1407 * Add various new array functions (#236, #269, #373)
1408  - `g_array_copy()`
1409  - `g_ptr_array_copy()`
1410  - `g_ptr_array_extend()`
1411  - `g_ptr_array_extend_and_steal()`
1412  - `g_array_binary_search()`
1413
1414 * Add `g_assert_finalize_object()` helper function for writing tests (#488)
1415
1416 * Rework how D-Bus connections are closed/unreffed when `g_test_dbus_down()` is
1417   called. Tests which leak a `GDBusConnection` may now time out and abort,
1418   rather than silently leaking. (#787)
1419
1420 * Add a deprecation macro for GLib macros, and use it; third-party uses of
1421   long-deprecated GLib macros may now start causing warnings. (#1060)
1422
1423 * Deprecate `GTime` and `GTimeVal`, and various functions which use them.
1424   Use `GDateTime` and `guint64` UNIX timestamps instead. (#1438)
1425
1426 * Stop using `G_DISABLE_DEPRECATED` to allow disabling deprecation warnings;
1427   third-party code should now be using
1428   `GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED}` to control symbol usage (!871)
1429
1430 * Improve support for running `ninja test` when GLib is built statically (#1648)
1431
1432 * Improve `GNetworkMonitor` detection of offline states (#1788)
1433
1434 * Fix build failure on macOS related to missing `_g_content_type_get_mime_dirs`
1435   function (#1791)
1436
1437 * Add various installed utilities’ paths to `gio-2.0.pc` (#1796)
1438
1439 * Fix keyfile `GSettings` backend and portal (especially relevant to any version
1440   of GLib included in a flatpak runtime) (#1822, !985)
1441
1442 * More IPv6 ‘Happy Eyeballs’ fixes in `GNetworkAddress` (!865)
1443
1444 * Fix CVE-2019-12450, wide permissions of files when copying using GIO (!876)
1445
1446 * Bump the Meson dependency from 0.48.0 to 0.49.2; we won’t depend on anything
1447   higher than this for a while, as Debian 10 ships 0.49 (!924)
1448
1449 * Various test fixes for Windows (!930, !931)
1450
1451 * Initial support for Universal Windows Platform (UWP): certification, and use
1452   of packaged libraries (!951)
1453
1454 * Add experimental clang-cl support on Windows, allowing `g_autoptr()` support
1455   on Windows (!979)
1456
1457 * Bugs fixed:
1458  - #77 G_STDIO_NO_WRAP_ON_UNIX wraps
1459  - #236 Add a function to copy an array
1460  - #269 Additional convenience functions for g_ptr_array
1461  - #373 GArray could use a binary search function
1462  - #436 running tests leaves lots of coredumps
1463  - #453 find-enclosing-mount docs confusing
1464  - #488 Add g_object_assert_last_unref() helper macro to detect object leaks in tests
1465  - #590 A reader lock can be obtained even if a writer is already waiting for a lock
1466  - #638 g_atexit is defined when not declared
1467  - #737 Initialize GValue in g_object_get_property()
1468  - #787 gtestdbus: Properly close server connections
1469  - #804 gdbusproxy prefixes unstripped error
1470  - #870 Fix and enhance GDatetime for Windows
1471  - #872 ucs4 functions have wrong return transfer
1472  - #887 gdusmessage.c mishandles bounds of GDBusMessageType and related enums
1473  - #894 gvalue: Avoid expensive checks where possible
1474  - #940 Docs for g_socket_listener_set_backlog are not very helpful
1475  - #943 G_DEFINE_TYPE_WITH_PRIVATE docs not helpful
1476  - #1018 Allow guid key in dbus addresses
1477  - #1060 Add deprecation macro for macros
1478  - #1169 Tools can display gibberish messages from translations
1479  - #1270 g_get_charset always returns 8-bit codepage on Windows, crippling UTF-8 output
1480  - #1438 Deprecate GTimeVal- and GTime-based APIs
1481  - #1635 g_socket_join_multicast_group iface parameter fails on win32/64
1482  - #1648 2.58.2: Assorted asserts fail in Arch Linux when built statically
1483  - #1729 g_content_type_guess segfaults when passed an empty data buffer on Mac OS
1484  - #1788 GNetworkMonitor claims I am offline
1485  - #1790 documentation on g_file_info_get_attribute_as_string
1486  - #1791 _g_content_type_get_mime_dirs missing from libgio-2.0.0.dylib on MacOS
1487  - #1792 glib-genmarshal generated valist marshal does not respect static scope for some types
1488  - #1793 glib-genmarshal generates wrong code for va marshaler for VARIANT type
1489  - #1794 API Proposal: g_timer_is_active
1490  - #1796 Add gio-querymodules variable to pkg-config file
1491  - #1797 glib/tests/win32 test failing on 64-bit Visual Studio builds
1492  - #1798 /contenttype/tree reliably fails on FreeBSD since !863
1493  - #1807 g_dbus_server_new_sync() documentation references nonexistent function
1494  - #1808 Stopping a GDBusServer should clean up Unix socket paths (if not abstract) and nonce-tcp nonce files
1495  - #1811 Introspection info for g_unichar_compose's 3rd arg should be OUT
1496  - #1822 keyfile gsettings backend not loading
1497  - #1823 Documentation for disabling selinux is incorrect
1498  - #1825 GKeyFileSettingsBackend created without filename construct property and unchecked assertion
1499  - #1828 Small typo in gio manpage
1500  - #1837 Specify for each (optional) parameter, whether it is OUT or INOUT
1501  - #1838 Reword documentation for G_DECLARE_FINAL_TYPE
1502  - #1847 Setting GLIB_VERSION_{MIN_REQUIRED, MAX_ALLOWED} to before 2.56 triggers warnings
1503  - !533 docs: Document pitfall of deprecation pragmas
1504  - !563 ci: Add scan-build job in a new ‘analysis’ pipeline stage
1505  - !678 glib-compile-schemas: Improve translatable strings
1506  - !817 gdate: Officially mark GTime as deprecated
1507  - !851 gsettings: Document that lists are returned in no defined order
1508  - !853 gobject: Fix apostrophe usage in a few small bits of documentation
1509  - !859 gobject: Add a g_assert_finalize_object() macro
1510  - !863 gunicollate/cygwin: Don't use __STDC_ISO_10646__ for wchar_t related checks
1511  - !865 gnetworkaddress: fix "happy eyeballs" logic
1512  - !867 Post-release version bump
1513  - !871 Drop G_DISABLE_DEPRECATED
1514  - !873 Use atomic reference counting for GSource
1515  - !874 Clamp number of vectors to IOV_MAX / UIO_MAXIOV for GOutputStream writev()...
1516  - !875 CI/msys2: disable coverage reporting, lcov doesn't support gcc9 yet
1517  - !876 CVE-2019-12450: gfile: Limit access to files when copying
1518  - !877 gio: specify proper c_marshaller and va_marshallers
1519  - !883 tests: Fix small race in GSubprocess tests
1520  - !884 garcbox.c: Fix typo atomit => atomic
1521  - !885 goption: Clarify G_OPTION_ARG_FILENAME documentation
1522  - !889 Include <sys/filio.h> for FIONREAD
1523  - !901 gmain: Clarify that g_source_destroy() doesn’t drop a reference
1524  - !904 Add glib-genmarshal tests and fix some valist marshaller bugs
1525  - !906 property action: Add state hints
1526  - !908 Improve testfilemonitor test repeatability and debuggability
1527  - !909 D-Bus auth mechanism improvements
1528  - !914 ci: Run scan-build in a different build directory
1529  - !915 docs: fix typo on arrays examples in gvariant-text
1530  - !917 docs: Fix name of IRC channel in CONTRIBUTING.md
1531  - !919 glib/tests/refcount.c: Fix tests on non-GCC-isque compilers
1532  - !920 gmacros: Only use deprecated attributes on enumerators with GCC ≥ 6.5
1533  - !923 Check if compiler symbols are defined before using them
1534  - !924 Bump the required version of Meson
1535  - !930 glib/tests/convert.c: Skip tests that aren't meaningful for Windows
1536  - !931 glib/tests/fileutils.c: Fix stdio Wrapper Test on Windows
1537  - !934 build: Increase the slow test timeout to 180s
1538  - !935 Ignore */__pycache__/* directories
1539  - !937 Fix module tests on Visual Studio builds
1540  - !939 gstdio: minor cleanups
1541  - !941 list model: Expand items-changed docs
1542  - !944 gutils: Don't limit the length of the host name to 99
1543  - !945 Avoid overrunning stack at the end of the varargs.
1544  - !947 gobject/tests/signals.c: Fix tests on Windows
1545  - !948 GObject: Fix mkenums.py and genmarshal.py tests on Windows
1546  - !950 ci: Enable CI on FreeBSD 12
1547  - !951 Preliminary patches for Universal Windows Platform support
1548  - !952 gio: Make minor docs improvements
1549  - !953 g_utf8_normalize: Doc comment return missing nullable annotation
1550  - !954 Fix the ISO 15924 code for Manichaean
1551  - !955 gmacros: Use _Static_assert when C11 is available
1552  - !958 gthread: fix minor errno problem in GCond
1553  - !961 gmain: Fix g_main_context_prepare priority annotation
1554  - !962 gmacros: Use _Static_assert only for non-expr static assert
1555  - !964 gmacros.h: Use static_assert on MSVC if possible
1556  - !968 Fix typo in request handle
1557  - !970 gdatetime: Unset LC_ALL for the test as well
1558  - !971 docs.c: Forward link from g_auto* → G_DEFINE_AUTO*
1559  - !973 doc: fix typo in gio/gresource.c
1560  - !979 Experimental clang-cl support
1561  - !980 gmacros.h: Add better support for clang-cl
1562  - !981 gio: fix typo in g_settings_reset documentation
1563  - !982 Various doc fixes
1564  - !985 Keyfile portal fixes
1565  - !987 gio/tests: Remove code and comments referring to libtool
1566  - !991 fix atomic detection on older gcc versions
1567  - !992 docs: Add example to g_test_summary() documentation
1568  - !994 gio: Fix minor docs mistakes
1569  - !996 Small array test fixes
1570  - !997 gdbusaddress: Add missing transfer annotation
1571  - !1007 Resubmission of !832 “Try to create the complete path right away and fall back”
1572  - !1009 gapplication: remove inactivity_timeout source on finalize
1573
1574 * Translation updates:
1575  - Hungarian
1576  - Indonesian
1577  - Portuguese (Brazil)
1578  - Spanish
1579
1580
1581 Overview of changes in GLib 2.61.1
1582 ==================================
1583
1584 * `g_unichar_isxdigit()` and `g_unichar_xdigit_value()` now handle full-width
1585   characters (U+FF21–U+FF26 and U+FF41–U+FF46) (#58)
1586
1587 * Deprecate `gtester` utility and its test reporting format and enable TAP
1588   output by default instead — the `--tap` option to tests is now a no-op
1589   (#1441, #1619)
1590
1591 * Add `g_test_summary()` to allow test authors to programmatically summarise
1592   what each unit test in a test suite does (#1450)
1593
1594 * Upgrade to Unicode Character Database v12.1 (#1713, !822)
1595
1596 * More IPv6 Happy Eyeballs fixes to `GNetworkAddress` and `GSocketClient`
1597   (#1747, #1771, #1774)
1598
1599 * Fix valgrind and gdb support for the new `GHashTable` changes (#1749, #1780)
1600
1601 * Fix GTask wait times growing faster than the number of task threads (#1683)
1602
1603 * Change `GApplication` to ignore `-psn_*` arguments on the macOS command line,
1604   as they are irrelevant (#1784)
1605
1606 * Add `g_autoqueue()` helper macros, similar to `g_autolist()` (!474)
1607
1608 * Add pre-allocated link helpers for `GList` and `GQueue`:
1609  - `g_list_insert_before_link()`
1610  - `g_queue_insert_before_link()`
1611  - `g_queue_insert_after_link()`
1612
1613 * Improve network availability detection with NetworkManager to treat lower
1614   levels of connectivity as having reduced availability (!781)
1615
1616 * Add `g_clear_signal_handler()` to allow disconnecting from a `GObject` signal
1617   and clearing the signal handler ID to zero in a single call (!819)
1618
1619 * Add `g_autoptr()` support for `GRWLock` (!825)
1620
1621 * Define `G_OS_UNIX`, not `G_OS_WIN32`, when GLib is built agains Cygwin (!862)
1622
1623 * Bugs fixed:
1624  - #29 GScanner: should explicitly document modifiable fields (value, next_value, ...)
1625  - #58 g_unichar_isxdigit() and g_unichar_xdigit_value() should deal with full-width a-fA-F
1626  - #106 Boxed types should be documented better
1627  - #135 g_unichar_totitle(0) returns 0x00001F88 instead of 0
1628  - #429 g_format_size() is broken on Windows
1629  - #1441 Deprecate gtester
1630  - #1450 Add API for tests to describe what they're checking
1631  - #1619 GTest should have a way to default to TAP
1632  - #1683 GTask: task_wait_time is increased constantly when the number of running thread is greather than 10
1633  - #1713 Upgrade to Unicode Character Database v12
1634  - #1739 meson build failure libdl
1635  - #1747 Critical in g_socket_client_async_connect_complete
1636  - #1749 New GHashTable implementation confuses valgrind
1637  - #1753 Remove memory leaks from gio/test/resolver.c
1638  - #1755 Please revert #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
1639  - #1759 test_month_names: assertion failed
1640  - #1760 Document for g_resolver_lookup_records why it returns a list of list of gchar*.
1641  - #1763 tests: -p runs tests in the reverse of the specified order
1642  - #1768 g_strlcat(): Possible buffer overflow in implementation
1643  - #1771 GNetworkAddressAddressEnumerator unsafely modifies cache in GNetworkAddress
1644  - #1774 Leaks in gsocketclient.c connection code
1645  - #1776 glib/date test fails
1646  - #1780 GDB pretty-printer for GHashTable no longer works
1647  - #1782 Error in documentation for cross-compile.
1648  - #1784 MacOS adds a -psn_X_XXXXXX parameter to the command line
1649  - !474 Add g_autoqueue
1650  - !476 Add pre-allocated link helpers for GList and GQueue
1651  - !556 gtestutils: Make --tap compatible with -p and --GTestSkipCount
1652  - !732 gsocket: Clarify in docs that `flags` arguments can be platform specific
1653  - !766 W32: swap special g_get_prgname() for platform_get_argv0()
1654  - !774 Only build tests if certain conditions are met.
1655  - !780 Add copyright and licensing terms to test report generator
1656  - !781 gnetworkmonitornm: Fix network available detection
1657  - !782 build: Fix check for RTLD_NEXT
1658  - !785 Remove monitor test
1659  - !787 build: Remove */.gitignore files
1660  - !791 glib/gconstructor.h: Include stdlib.h for MSVC builds
1661  - !792 general: Remove a few unhelpful references to ‘master’
1662  - !795 gdesktopappinfo: Add support for MATE and Xfce4 terminals
1663  - !802 gio: tests, don't check for libdl on OpenBSD
1664  - !806 Get to 100% coverage on GQueue tests
1665  - !808 Update the Docker images used for CI
1666  - !809 Modified version of !784 — Adding tests cases for a better coverage of glib/tests/strfuncs.c
1667  - !813 gappinfo: Add precondition checks to GAppLaunchContext env methods
1668  - !814 gschema.dtd: Add target attribute to alias
1669  - !819 Clear signal handler
1670  - !820 ci: Keep JUnit report script working on Debian stable
1671  - !821 Various minor cleanups to autoptrs
1672  - !822 glib: Update Unicode Character Database to version 12.1.0
1673  - !825 Add autoptr support for GRWLock
1674  - !831 build: (Long time after) post-release version bump
1675  - !835 Fix typo in German translation
1676  - !836 Document the best practices for binding GInitiallyUnowned
1677  - !862 build: define G_OS_UNIX, not G_OS_WIN32 under cygwin
1678
1679 * Translation updates:
1680  - Basque
1681  - Catalan
1682  - German
1683  - Indonesian
1684  - Spanish
1685
1686
1687 Overview of changes in GLib 2.61.0
1688 ==================================
1689
1690 * Changes to `iconv` configure options, including the default iconv
1691   implementation on macOS — distributors may need to check their configure
1692   scripts (#1557)
1693
1694 * Build fixes when building GLib with `G_DISABLE_ASSERT` defined (#1708)
1695
1696 * Fix documentation for `gdbus-tool wait` to use correct units (#1737)
1697
1698 * Improvements to symlink handling on Windows (!269)
1699
1700 * Add exception handling for crashes on Windows (!582)
1701
1702 * Set `G_WITH_CYGWIN` again when GLib is built on Cygwin (this was a regression
1703   from the autotools build) (!736)
1704
1705 * Use `GCocoaNotificationBackend` by default on macOS, rather than
1706   `GGtkNotificationBackend` (!745)
1707
1708 * Use Windows symbol visibility when GLib is built on Cygwin, as PE binaries
1709   are subject to W32 visibility mechanics — this affects the definition of
1710   `_GLIB_EXTERN` (!752)
1711
1712 * Add coloured output support to `gdbus introspect` (!761)
1713
1714 * Bugs fixed:
1715  - #682 docs: advise not to use non-literal strings as qdata keys
1716  - #1177 gparted crashes due to g_quark_from_static_string used in global initialization
1717  - #1258 the buffer written to by g_input_stream_read is not marked as an out parameter
1718  - #1557 By default glib tries to use libc instead of native iconv on OSX
1719  - #1566 Meld Windows shows error on startup "There was a problem starting c:\Program"
1720  - #1614 GIO tests fail on FreeBSD CI with: Unexpected error from C library during 'pthread_mutex_lock': Invalid argument
1721  - #1708 Building GLib with G_DISABLE_ASSERT fails
1722  - #1709 GResource generation test incompatible with stable LLVM on Linux
1723  - #1710 Crash in g_cancellable_cancel
1724  - #1712 gdbus-proxy test is flaky
1725  - #1724 unconditional check in fuzzing/meson.build
1726  - #1725 gosxappinfo.h is not installed on macOS
1727  - #1727 Cannot use trash folder with an NFS mount using automount / autofs
1728  - #1728 GSocket does not support ENOTSOCK
1729  - #1732 Win32: lookup_by_name_async segfaults for not available domains
1730  - #1737 gdbus-tool wait command timeout argument incorrect unit reference
1731  - !67 glib: update internal gnulib from upstream
1732  - !269 Win32 symlink code refactoring
1733  - !493 tests: Check that cancelling g_file_replace don't overwrite existing file
1734  - !582 Basic W32 exception handling for glib
1735  - !680 Fix warnings glib
1736  - !690 Fix thread safety issues
1737  - !694 gvariant-parser: Fix pattern coalesce of M and *
1738  - !706 Fix data races in task test and gmenumodel test
1739  - !709 Bump release version for 2.62 series
1740  - !710 socket: Fix annotation for flags in g_socket_receive_message
1741  - !712 gwin32: Fix comment for g_win32_veh_handler
1742  - !716 Various minor documentation fixes
1743  - !717 Improve formatting of GCC attribute documentation
1744  - !718 GSocketClient - Free last error if a connection attempt fails and on retry the...
1745  - !719 Handle an UNKNOWN NetworkManager connectivity as NONE
1746  - !721 codegen: Fix use of uninitialised variable
1747  - !723 Provide examples for GNUC attribute macros
1748  - !724 meson: do a build-time check for strlcpy before attempting runtime check
1749  - !728 gsocket: Remove (type) annotation from flags arguments
1750  - !730 Improve gdbus-address parsing tests
1751  - !735 docs: Use the right g_autoptr function when using an auxiliary function
1752  - !736 Set G_WITH_CYGWIN again
1753  - !737 gresolver: Don’t use gai_strerror() on Windows, as it isn’t threadsafe
1754  - !741 Fix use-after-free triggered by gnome-session-binary
1755  - !745 gcocoanotificationbackend: give more priority than the gtk one
1756  - !749 gio: Add missing autocleanup definition for GSettingsSchema{Key,Source}
1757  - !750 Check for RTLD_NEXT
1758  - !752 Use W32 visibility for Cygwin
1759  - !754 Check for /proc/self/cmdline
1760  - !757 Fix gnulib build on older Visual Studio builds
1761  - !760 Properly ensure the cocoa notification backend type
1762  - !761 RFC: gdbus-tool: Add --color option for introspect
1763  - !762 gutils: Add (nullable) annotation to g_get_prgname()
1764  - !765 gslice: Use a convenience macro
1765  - !769 ci: Generate a cover report for the test suite
1766  - !772 tests: Check that option-argv0 test succeeds on Linux
1767  - !776 tests: Only run --external-data test on GNU ld/objcopy
1768  - !779 Fix 2.62 documentation symbols
1769
1770 * Translation updates:
1771  - Dutch
1772
1773
1774 Overview of changes in GLib 2.60.0
1775 ==================================
1776
1777 * Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1653, #1679, #1693)
1778
1779 * Add support for the XDG trash portal (#1676, !276)
1780
1781 * Bugs fixed:
1782  - #1653 gsocketclient-slow test is flaky
1783  - #1658 keyfile settings backend: Consider tightening permissions
1784  - #1668 Fill in CODE-OWNERS file
1785  - #1675 glib-compile-resources: c_name generation issue
1786  - #1676 Trash portal tries to open files as read-only but D-Bus API documents against that
1787  - #1679 socket-service test is flaky
1788  - #1693 Happy Eyeballs failure in gsocketclient-slow test
1789  - #1697 gthreadresolver: do_lookup_records does res_ninit with an uninitialized state
1790  - #1698 g_base64_encode(NULL, 0) causes critical warnings
1791  - !276 Support the trash portal
1792  - !639 gvariant-parser: Fix error handling when type coalescing fails
1793  - !666 Socket fixes to W32 test suite
1794  - !674 Update gvdb submodule
1795  - !676 Initialize a variable
1796  - !677 gerror: Add a missing precondition assertion in documentation
1797  - !686 gio: Also support modules built with MSVC
1798  - !688 gsocketclient: Fix critical on cancellation
1799  - !689 glib-compile-resources: Fix a minor leak
1800  - !691 gtask: Separate GTask fields memory locations to avoid data races
1801  - !692 glib.supp: Add more variations of existing suppressions
1802  - !696 Move closures refcount test to gobject/tests/
1803  - !698 gthreadedresolver: Remove unused thread pool
1804  - !699 tests: Fix closure-refcount to preserve old semantics
1805  - !702 Rename gobjectenumtypes.[ch] to glib-enumtypes.[ch]
1806  - !703 Clean up gmarshal.[ch]
1807
1808 * Translation updates:
1809  - Catalan
1810  - Czech
1811  - French
1812  - Friulian
1813  - German
1814  - Italian
1815  - Korean
1816  - Romanian
1817  - Serbian
1818
1819
1820 Overview of changes in GLib 2.59.3
1821 ==================================
1822
1823 * Fix support for g_get_user_special_dir() on macOS, including support for the Downloads directory (#1048)
1824
1825 * Ensure that cancelling a GTask cannot cause its callback to be called synchronously (in the same call chain as the original *_async() call) (#1608)
1826
1827 * Further fixes to the Happy Eyeballs (RFC 8305) implementation (#1644, #1680)
1828
1829 * Various fixes for installation of installed tests (thanks to Iain Lane) (!649, !651)
1830
1831 * Various fixes for tests when run on Windows (thanks to LRN) (!665, !667)
1832
1833 * Bugs fixed:
1834  - #535 gmacros: Try to use the standard __func__ first in G_STRFUNC
1835  - #875 gio-gvfs on Windows: Don't mishandle other non-native URIs in gwinhttpvfs.c
1836  - #1048 "Desktop" shortcut appears twice in file chooser sidebar on OSX
1837  - #1608 Cancellation might not be asynchronous under certain circumstances
1838  - #1644 network-address test failure in CI: IPv6 Broken (g-io-error-quark, 24)
1839  - #1680 Regression: g_socket_client_connect_to_host_async() sometimes gets "Connection refused" when connecting to localhost
1840  - #1686 gdbus-peer test is sometimes timing out
1841  - !613 Use win32 io channel on windows for the protocol test
1842  - !634 Win32: gio/gsocket.c: Set WSAEWOULDBLOCK on G_POLLABLE_RETURN_WOULD_BLOCK
1843  - !638 gvariant-parser: Fix parsing of G_MININT* values in GVariant text format
1844  - !640 tests: Tag socket-service test as ‘flaky’
1845  - !641 Minor typo fixes to GSpawn documentation
1846  - !645 gsocketlistener: Fix multiple returns of GTask when accepting sockets
1847  - !647 gsocketclient: Ensure task is always returned on cancel
1848  - !648 gio/tests/task: Run the worker indefinitely until it's cancelled
1849  - !649 gio tests: Install test1.overlay file when building installed tests
1850  - !650 gstring: fully document semantics of @len for g_string_insert_len
1851  - !651 tests: Install the slow-connect-preload.so library and use it
1852  - !667 GSubprocess fixes for W32 test suite
1853  - !668 tests: Mark gdbus-peer test as flaky
1854  - !669 GWin32VolumeMonitor: Sort the volumes correctly
1855  - !670 gpollableoutputstream: Fix the description of the interface
1856  - !672 Fix some tests when running as root
1857
1858 * Translation updates:
1859  - Catalan
1860  - Danish
1861  - French
1862  - Indonesian
1863  - Kazakh
1864  - Portuguese (Brazil)
1865  - Slovenian
1866  - Turkish
1867
1868
1869 Overview of changes in GLib 2.59.2
1870 ==================================
1871
1872 * Fix check on GDBusMessage size when reading it. (#1642)
1873
1874 * Add async GIO API: g_file_query_default_handler_async(), g_app_info_launch_uris_async() (#1249, #1347)
1875
1876 * Fix some bugs in the Happy Eyeballs implementation. (#1646, #1649)
1877
1878 * Install a new generated header with enum types for Unicode enums. (!481)
1879
1880 * Support the XDG trash portal. (!276)
1881
1882 * Bugs fixed:
1883  - #1224 TSAN patches
1884  - #1249 xdg-open/gnome-open doesn't work if service isn't started
1885  - #1347 g_app_info_launch_default_for_uri_async  is not really async
1886  - #1376 gmarkup: Optimize g_markup_escape_text()
1887  - #1642 minor mismatch between error and code in g_dbus_message_bytes_needed
1888  - #1646 Criticals in g_socket_client_enumerator_callback()
1889  - #1649 Critical in g_socket_client_connected_callback
1890  - #1673 G_MININT constants broken in g-i
1891  - !276 Support the trash portal
1892  - !481 Define enum types for Unicode enums
1893  - !585 gio: do not pass O_PATH file descriptors to portal APIs
1894  - !593 Don't fail trash test if ~/.local doesn't exist or mount points can't be determined (master)
1895  - !609 Make `g_app_info_launch_uris_async()` really asynchronous
1896  - !619 gvariant: Fix a mistake in docs
1897  - !622 Fixing warnings
1898  - !626 gdbus: Avoid printing null strings
1899  - !627 gsocketclient: Fix criticals
1900  - !629 Various memory leak cleanups to GSettings tests (subset)
1901  - !630 docs: Ignore more version macros
1902
1903 * Translation updates:
1904  - Galician
1905  - Hungarian
1906  - Lithuanian
1907  - Polish
1908  - Spanish
1909
1910
1911 Overview of changes in GLib 2.59.1
1912 ==================================
1913
1914 * Autotools support is gone. (!580)
1915
1916 * g_format_size() now uses a no-break space to separate digits and units;
1917   translations will need to be updated accordingly. (#1625)
1918
1919 * New g_queue_clear_full() API. (#1464)
1920
1921 * Fix argument quoting on win32 when spawning subprocesses. (!419)
1922
1923 * Allow polling more than 64 handles on win32 using g_poll(). (#1071)
1924
1925 * Tag various tests as ‘flaky’. These are no longer run routinely on our
1926   upstream CI machines, and downstream packagers may want to not run them (or
1927   not treat those test failures as package build failures) on their test
1928   machines either. They are in the `flaky` test suite. (!579)
1929
1930 * Add overlay support to g_resources_get_info(). (#1445)
1931
1932 * Support defaults and locks in the keyfile GSettings backend. This will be
1933   used for flatpaks. (!450)
1934
1935 * Accept unquoted strings in the keyfile GSettings backend to simplify things
1936   for sysadmins. (!603)
1937
1938 * Update our contribution guidelines (`CONTRIBUTING.md`). (!590)
1939
1940 * Add writev() and writev_all() APIs to GOutputStream and GPollableOutputStream,
1941   and provide implementations of them for many subclasses. (#1431)
1942
1943 * Bugs fixed:
1944  - #424 Add 'proxy' debugging support
1945  - #1055 Provide alignment macros
1946  - #1071 Eliminate MAXIMUM_WAIT_OBJECTS limitation in g_poll() on Windows
1947  - #1445 g_resources_get_info doesn't respect resource overlays
1948  - #1464 Add g_queue_clear_full() API
1949  - #1500 GListStore needs double checking on some warnings
1950  - #1623 xdg-open: file with colon results in “The specified location is not supported”
1951  - #1625 Unbreakable space needed when showing size of folder/file
1952  - #1636 GTask getters don’t return TRUE/FALSE after bitfield changes
1953  - #1637 EXCEPTION_ACCESS_VIOLATION in g_clear_pointer
1954  - #1639 GListStore implementation of g_list_model_get_item() returns wrong results on integer overflow
1955  - #1655 gvariant-parser warnings
1956  - #1663 G_MININT32 triggers compiler warning C4146 with Visual C++
1957  - #1666 `G_DEFINE_DYNAMIC_TYPE_EXTENDED` causes warnings with -Wcast-function-type
1958  - !319 giomodule: Print the type of each default GIO module
1959  - !333 Add writev() API to GOutputStream and GPollableOutputStream
1960  - !419 gspawn, win32: qouted args - escape end backslash
1961  - !450 Settings portal
1962  - !512 gtype: Clarify type of GInterfaceInitFunc
1963  - !516 gthread: Add g_private_set_alloc0() convenience API
1964  - !535 win32 gpoll: overcome the 64 handles limit
1965  - !545 goption: Fix an annotation on g_option_context_parse_strv()
1966  - !560 docs: Fix dconf GSETTINGS_BACKEND name in gio overview
1967  - !564 gtype: Document type for iface_default_init() function
1968  - !568 Add separate definitions of g_assert_[non]null() for C++
1969  - !571 docs: Add note on how to check a gboolean condition
1970  - !575 gio: Update bad cert error in accept-certificate and GTlsError docs
1971  - !579 Temporarily disable flaky tests
1972  - !580 Drop autotools support
1973  - !583 gmacros: MSVC supports the noreturn function attribute
1974  - !587 Remove unused .pc.in files
1975  - !588 MSVC: Move dirent implementation to glib/dirent/
1976  - !590 Update contribution documentation
1977  - !591 gfileinfo: Fix annotation for g_file_info_set_attribute_stringv
1978  - !592 Remove leftover build/ directory
1979  - !595 gtestutils: pass open file descriptors to subprocess
1980  - !597 tests: Tag gsocketclient-slow test as ‘flaky’
1981  - !598 gdbus-proxy test fails with GLib-GIO:ERROR:glib/gio/tests/gdbus-proxy.c:832:fail_test: code should not be reached
1982  - !599 gdtlsconnection: do not return on a void method
1983  - !601 gio: Support "help" in extension point env vars
1984  - !602 Update POTFILES.in
1985  - !603 keyfile settings: Accept unquoted strings
1986  - !608 build: Add -Wno-pedantic flag to compiler arguments
1987  - !611 gnetworkaddress: fix use-after-free for network address
1988  - !612 gdir: shutup a warning when building with msvc
1989  - !615 Fix a couple of wrong compiler warnings
1990
1991 * Translation updates:
1992  - Spanish
1993  - Swedish
1994
1995
1996 Overview of changes in GLib 2.59.0
1997 ==================================
1998
1999 * This will be the last development release with autotools support. As our
2000   Meson support has been around since 2.56.x, and was used to release tarballs
2001   in 2.58.x, the next development release (2.59.1) will drop autotools as used
2002   to build GLib. The macros installed for other packages to use will remain.
2003
2004 * Add `G_TEST_OPTION_ISOLATE_DIRS` to redirect `XDG_*_HOME` to a temporary
2005   directory for each unit test. (#538)
2006
2007 * Support `Property.EmitsChangedSignal` annotations in `gdbus-codegen`. (#542)
2008
2009 * Add `g_assert_cmpvariant()` API for unit tests. (#1191)
2010
2011 * Hide bind mounts from GIO mount listings. (#1271)
2012
2013 * Automatically realign data passed to `g_variant_new_from_bytes()` or
2014   `g_variant_new_from_data()` if it is not correctly aligned. This prevents
2015   misaligned accesses on architectures which don’t support them. Callers should
2016   still aim to correctly align data to get higher performance. (#1342)
2017
2018 * Support `ld -b binary` (on platforms which support it; i.e. Linux) to provide
2019   large pre-compiled `GResource` resources with a fast compilation time. (#1489)
2020
2021 * Unconditionally install GLib m4 macros, so that projects which depend on GLib
2022   and which still build using autotools can continue to build even once GLib has
2023   ported entirely to Meson. (#1520)
2024
2025 * Various fixes to the Meson build.
2026
2027 * Drop Python 2 support and require Python 3.4+. See discussion on
2028   https://mail.gnome.org/archives/desktop-devel-list/2018-July/msg00004.html.
2029   (!196)
2030
2031 * `GHashTable` performance and memory improvements for common cases. See
2032   https://hpjansson.org/blag/2018/07/24/a-hash-table-re-hash/. (!208)
2033
2034 * Add flags that allow a `GApplication` to signal and replace a currently
2035   running other instance of the same `GApplication`. This will be used for app
2036   upgrades with flatpak. (!250)
2037
2038 * Autostart xdg-desktop-portal when using the network monitor and proxy monitor
2039   portal backends. (!317)
2040
2041 * Add a g_task_set_name() API to allow `GTask`s to be described; useful for
2042   debugging. (!384)
2043
2044 * Enable FreeBSD CI on every commit for upstream GLib. (!387)
2045
2046 * Various GVariant, GMarkup and GDBus fuzzing fixes, including buffer overflow
2047   fixes. (!411)
2048
2049 * Various fixes to eliminate thread races, found by thread sanitizer (tsan).
2050
2051 * Deprecate TLS/DTLS rehandshaking, as it has been removed from the protocol in
2052   TLS 1.3. (!478)
2053
2054 * Support reading arguments from a file with `glib-mkenums`, which is useful
2055   for long argument lists due to having deeply nested build directories, on
2056   systems with a low limit on the command line length. (!489)
2057
2058 * Make `g_environ_*()` case-insensitive on Windows, as the environment itself
2059   is case-insensitive on Windows. (!500)
2060
2061 * Add Application Layer Protocol Negotiation (ALPN) support to `GTlsConnection`
2062   and `GDtlsConnection`, so that higher layer protocols can be negotiated when
2063   setting up a TLS connection, without additional round trips and latency. This
2064   is needed for eventual HTTP/2 support. (!520)
2065
2066 * Add support for TPM keys in PEM files when loading TLS certificates. (!522)
2067
2068 * Add a `GRecMutexLocker` auto-pointer wrapper for `GRecMutex`. (!528)
2069
2070 * Bugs fixed:
2071  - #107 The "g_key_file_get_comment" interface returns comment with unexpected new line symbol at the end
2072  - #179 g_object_unref assert in debug code
2073  - #277 'destroy_data' in g_cclosure_new is registered as finalize notifier instread invalidate.
2074  - #538 Add helpers to redirect XDG_*_HOME to a temp dir for unit tests
2075  - #542 gdbus-codegen does not honor "Property.EmitsChangedSignal" annotations
2076  - #656 check for -Werror=format-security broken
2077  - #734 Provide a way to instantiate a GDBusProxy-derived class from a GDBusConnection and a object path without blocking
2078  - #827 gmain: Clarify that g_source_set_callback() is safe on attached sources
2079  - #1055 Provide alignment macros
2080  - #1119 GVolumeMonitor: Results don't reflect current state but state when application was launched
2081  - #1191 add g_assert_equal_variants
2082  - #1261 Add option to leave <default> in gschema empty
2083  - #1271 fstab binds appear as mounts (x-gvfs-hide is being ignored)
2084  - #1310 gdbusproxy: make g-name-owner property useful with unique names
2085  - #1313 Meson: Rework the config.h generation
2086  - #1342 Automatically realign data passed to g_variant_new_from_bytes() or g_variant_new_from_data()
2087  - #1343 g_date_set_parse: Parses "September" in Polish incorrectly
2088  - #1362 Incorrect documentation about GSettings child add/remove notifications
2089  - #1452 GFileInfo: unable to retrieve correct modification time of links and mounted volumes on Windows
2090  - #1471 Incorporate oss-fuzz fuzz targets into GLib
2091  - #1489 Use `ld -b binary` to speed up GResource generation for linking
2092  - #1498 distcheck fails in distclean
2093  - #1506 error: redefinition of typedef 'GKqueueFileMonitor'
2094  - #1509 test_timeval_to_iso8601_overflow: 'out' should be NULL
2095  - #1513 GIcon regression?
2096  - #1514 gio/appinfo test sometimes fails in CI
2097  - #1518 /network-monitor/create-in-thread fails in (LXC) containers on glib-2-56
2098  - #1520 Change conditions for installing m4 macros
2099  - #1522 Trash not working on NTFS folder accessed from symlink
2100  - #1523 GIO NetworkMonitor doesn't reflect the current network state
2101  - #1525 GTask allows (buggy) application code to cause callback to be called twice, without warning
2102  - #1527 Meson doesn't install data for installed-tests
2103  - #1528 Meson tests are hard to debug in an autobuilder environment
2104  - #1530 tests/mainloop-test appears to be flaky
2105  - #1535 meson: installed-test metadata not run in TAP mode
2106  - #1536 meson: spurious dependencies on convenience libraries in .pc files
2107  - #1537 meson: absolute paths to ${builddir} included in gtk-doc HTML
2108  - #1538 meson: G_HAVE_GROWING_STACK defined differently
2109  - #1539 meson: Some files are unnecessarily installed executable
2110  - #1541 meson: timeloop-closure test not installed
2111  - #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
2112  - #1544 meson: gtester-report #! not replaced with ${PYTHON}
2113  - #1546 Cross-compilation fails in 2.58
2114  - #1556 build: Too long file path issue with meson on Windows
2115  - #1562 GDate test suite fails with latest glibc
2116  - #1570 ghash.c:694:27: left shift of 1 by 31 places cannot be represented in type 'int'
2117  - #1572 Flags validation fails
2118  - #1575 g_date_time_format() should have format attribute
2119  - #1576 Fails to build with Meson on Debian armel (armv5te EABI softfloat little-endian)
2120  - #1580 glib-compile-resources using strings breaks building e.g. GTK+ on MS Visual C, which limits strings to 65535 chars
2121  - #1581 Memory used for reference counted data might be misaligned.
2122  - #1588 Moving a bookmark item to the same URI causes a crash
2123  - #1589 g_log_writer_is_journald memoizes a single result, even though it accepts a parameter
2124  - #1590 tests: g-file-info-filesystem-readonly fails if run more than once with fuse & bindfs installed
2125  - #1594 Return value of g_dbus_connection_get_unique_name not annotated as nullable
2126  - #1600 g_timeout_source_new_seconds overflows when given interval > (G_MAXUINT / 1000)
2127  - #1601 appinfo test fix is defective
2128  - #1605 g_date_time_format fails when used with non ASCII format string on POSIX locale
2129  - #1615 gdbus-codegen not generating nullable annotation
2130  - !196 [RFC] build: Drop Python 2 support and require Python 3.4+
2131  - !200 Add a new GTlsError to indicate protocol downgrade attacks
2132  - !208 GHashTable improvements
2133  - !219 glocalfilemonitor: Fallback to poll file monitor for NFS
2134  - !238 W32 GFileInfo improvements
2135  - !250 Application replace
2136  - !264 glib-compile-resources: encode data as string
2137  - !268 build: simplify alloca checks. See #1313
2138  - !272 dtrace: Add missing const attributes to types in glib_probes.d
2139  - !273 gtlsbackend: add support for setting the default TLS database
2140  - !277 Use "command -v" instead of "which"
2141  - !282 meson: Add macOS libtool versioning for ABI compatibility
2142  - !286 gspawn: Fix build on systems without O_CLOEXEC
2143  - !287 glib-compile-resources: Fix generated code compiling with C++ compilers
2144  - !289 tests: Add more tests to finish branch coverage of GHashTable
2145  - !290 build: fix installation dir of glib-gettextize
2146  - !292 Remove all ChangeLog files
2147  - !293 Document new volume class `loop`
2148  - !294 portal network monitor: Always emit changed signal on changed
2149  - !295 meson: fix typo
2150  - !296 Add G_GNUC_FALLTHROUGH for __attribute__(fallthrough))
2151  - !297 build: Drop AC_C_CONST from configure.ac
2152  - !302 Document that GTimeVal is subject to the year 2038 problem on 32-bit systems
2153  - !303 liststore: Simplify code
2154  - !304 Add more GListStore/GListModel tests
2155  - !309 codegen: Change pointer casting to remove type-punning warnings
2156  - !312 Enable GIO tests on Windows
2157  - !316 gdbus: Improve error when well-known name is unowned
2158  - !317 Autostart xdg-desktop-portal if needed
2159  - !322 gnetworkmonitornm: Set a GError properly on an error handling path
2160  - !332 gmarkup: Make the documentation even more explicit about untrusted input
2161  - !334 gio: automake: Add libgmodule dependency
2162  - !338 gcharset: fix leaking g_get_language_names_with_category
2163  - !339 Add g_desktop_app_info_get_string_list(); fix g_key_file_free()
2164  - !340 tests: Mark two more tests as slow
2165  - !345 Fix build failure on systems without POSIX spawn
2166  - !347 Use Meson 0.48.0 for CI
2167  - !348 Documentation tweaks for g_array_free
2168  - !353 Meson: Do not run tests/refcount with --tap
2169  - !354 Fix spelling mistakes detected by Debian's Lintian tool
2170  - !358 Autotools: Move libmount from Libs.private to Requires.private
2171  - !360 CI: Test static build on installed glib
2172  - !363 Tests: Mark printf wrappers with G_GNUC_PRINTF
2173  - !364 ci: Enable FreeBSD CI
2174  - !366 gunixmounts: Mark mounts as system internal instead of filtering out
2175  - !372 gmacros: Fix G_[UN]LIKELY to not mask -Wparentheses
2176  - !374 gthreadpool: Include prgname in thread name
2177  - !375 m4macros: Allow information from pkg-config to be overridden
2178  - !376 gthread: Clarify priority handling in GRWLock
2179  - !379 Ignore g_return_*if_fail() branches in lcov coverage report
2180  - !381 Add UTF-8 communication tests for GSubprocess
2181  - !384 gtask: Add a g_task_set_name() method
2182  - !387 ci: Enable FreeBSD CI in the official repository
2183  - !396 m4: Fix AM_PATH_GLIB_2_0 macro
2184  - !400 grefcount: add missing gatomic.h
2185  - !403 build-sys: Pass CFLAGS to $(DTRACE)
2186  - !405 ci/msys2: fix path to the lcov config file
2187  - !406 meson: Mark 1bit-emufutex test as slow
2188  - !407 meson: Increase test timeouts
2189  - !410 gfileutils: Add examples to g_path_get_dirname() documentation
2190  - !411 Various GVariant, GMarkup and GDBus fuzzing fixes
2191  - !412 Enable compile time check of g_date_time_format() format
2192  - !413 Add support for g_auto(s)list to G_DECLARE'd types
2193  - !414 gio, tests: ensure objectmanager sources are generated
2194  - !415 gseekable: fix 'attmepting' typo
2195  - !416 gdbus-peer: Make sure to not include objectmanager-gen.c source
2196  - !417 Fix ^*ay handling in g_variant_iter_loop()
2197  - !418 Meson: Cleanup a FIXME now that we have dict addition
2198  - !420 gdbus-codegen: add autocleanup for FooObject
2199  - !422 GMarkup buffer overflow fixes for error handling, round 2
2200  - !423 gutils: Check whether getauxval function exists
2201  - !424 ci: Fix Docker image version
2202  - !425 gdate: Reinitialize using_twodigit_years and locale_era_adjust.
2203  - !435 gdatetime: Fix formatting of time zones offsets in range -01:00 to +00:00
2204  - !436 valgrind: Add glib_init()-related suppressions
2205  - !440 Fix minor memory leaks in tests
2206  - !443 tests: Avoid multithreaded use of g_test_rand_int_range
2207  - !444 gvarianttypeinfo: Consistently use atomics to access ref_count
2208  - !446 gmain: Fix data races in GUnixSignalWatchSource and GChildWatchSource
2209  - !451 closures test: Avoid timeout on ARM64 CPUs
2210  - !452 Atomic reference count in GVariant, ContainerInfo and GDBus introspection
2211  - !453 tests: Fix some data races in tests
2212  - !454 gdbusproxy: make g-name-owner property useful with unique names
2213  - !458 glib-compile-resources: Fix size allocation for compressed streams
2214  - !460 gatomicrefcount: Make g_atomic_ref_count_init non-atomic
2215  - !461 Meson: Fix build error in gdbus-example-objectmanager
2216  - !462 meson: add aarch64 memory barrier handling
2217  - !463 gio, tests: fix leak of dbus connection.
2218  - !467 Update documentation of g_tls_connection_handshake() again
2219  - !469 docs: add index of new symbols for gio > 2.52
2220  - !470 docs: Clarify return/error behaviour of D-Bus signal subscriptions
2221  - !472 gdbusmessage: Gracefully handle message signatures with invalid types
2222  - !477 gthread: Remove unsynchronized access to g_once_init_list from assertion
2223  - !478 Deprecate TLS rehandshaking
2224  - !480 docs: add a missing semicolon
2225  - !482 Check for 'z' library before fallbacking to subproject
2226  - !483 meson: Turn selinux into a meson feature and make it auto by default
2227  - !484 Meson: Add 'nls' option to disable translation
2228  - !485 gdbus-codegen: Tag interfaces and properties so annotated with G_PARAM_DEPRECATED
2229  - !486 Check for zlib header
2230  - !489 glib-mkenums: Support reading @rspfiles for arguments
2231  - !490 gspawn: Fix g_spawn deadlock in a multi-threaded program on Linux
2232  - !491 Meson: Add missing include_directories when using glib as subproject
2233  - !492 g_value_get_variant: return value is transfer-none not transfer-full
2234  - !494 Resolve "Follow-up from "gunixmounts: Stop considering cifs/nfs as system file systems""
2235  - !500 genviron: make g_environ_* case-insensitive on Windows
2236  - !504 tests: Unset LANGUAGE when running gdatetime tests
2237  - !505 Support isolating directories for unit tests
2238  - !508 ci: Install additional locales used during tests
2239  - !510 Add new Linux Testing project version number to configure script
2240  - !511 gvariant: Fix error handling for parsing Unicode escapes
2241  - !514 fix gdbus-codegen --interface-info-{header,body}
2242  - !515 binding: Clarify the use of g_object_unref() to remove a binding
2243  - !517 Meson: Fix deprecation warning with upcoming 0.49.0 release
2244  - !518 Meson: Fix declare_dependency() calls
2245  - !520 GTlsConnection: add ALPN support
2246  - !521 tests: Rename macro to avoid conflict with encoding prefix
2247  - !522 gtlscertificate: Add support for TPM keys in PEM files
2248  - !524 gdatetime: Fix typo in the comment
2249  - !528 Add GRecMutexLocker
2250  - !530 tests: Minor improvements to mkenums.py and taptestrunner.py used by it
2251  - !534 gtlscertificate: Fix bug in PEM private key parser
2252  - !536 Various minor docs fixes
2253  - !541 gtimezone: Fallback to /etc/timezone on Gentoo
2254  - !546 spawn: add shebang line to script
2255  - !547 Do not check for NULL when calling free()
2256  - !549 Improve documentation of g_assert_error()
2257  - !551 Revert "tests: Fix GOptionContext leak in GSubprocess tests"
2258  - !554 Only subscribe to owner-changed signals on message bus connections
2259  - !555 Suppress -Wint-in-bool-context warning with G_DEFINE_INTERFACE and g++
2260
2261 * Translation updates:
2262  - Brazilian Portuguese
2263  - Czech
2264  - Danish
2265  - Greek
2266  - Hungarian
2267  - Lithuanian
2268  - Norwegian bokmål
2269  - Polish
2270  - Slovak
2271  - Slovenian
2272  - Spanish
2273  - Swedish
2274  - Turkish
2275
2276
2277 Overview of changes in GLib 2.58.0
2278 ==================================
2279
2280 * Tarball built with `ninja dist`, so if you want to build this release with
2281   autotools (which is supported), you will need to re-run autogen.sh. This
2282   release, and all micro releases in the 2.58.x series, support being built
2283   with Meson or autotools. See:
2284   https://mail.gnome.org/archives/gtk-devel-list/2018-June/msg00012.html
2285
2286 * Fix cancellation of g_subprocess_communicate_async() calls. See !266.
2287
2288 * Drop support for the __int64 type, which further breaks compilation on old
2289   MSVC versions (before VS2013). See #1313.
2290
2291 * Expose GSettings schema directory in gio-2.0.pc as `schemasdir`. See !274.
2292
2293 * Support v3 of the xdg-desktop-portal network monitor API. See !265, !279.
2294
2295 * Fix G_MODULE_SUFFIX on macOS when GLib is built with Meson — it should be `so`
2296   rather than `dylib`. Projects that use Meson and the `g_module_build_path()`
2297   API such as glib-networking should pass `name_suffix:` to `shared_module()` to
2298   ensure that plugins continue to be called libfoo.so on macOS. See !280.
2299
2300 Bugs fixed:
2301  !280 meson: Always set G_MODULE_SUFFIX to `so` on macOS
2302  !266 subprocess: Fix communicate_cancelled signature
2303  !279 Revert "Add a gnet utility" (see !265)
2304  !265 Network monitor again
2305  !274 gio: Provide schemas directory information in pkg-config file
2306  !239 gvariant: Fix more bounds checking in GVariant text format parser
2307  !195 garray: add overflow checks before expanding array
2308  #1497 g_strdup_printf warns on invalid format specifier with G_GUINT64_FORMAT on Win32
2309  !270 autotools: remove support for the __int64 type. See #1313
2310  !267 ci: Add an autotools job
2311
2312 * Translation updates:
2313  Czech
2314  Galician
2315  Indonesian
2316  Italian
2317  Kazakh
2318  Korean
2319  Turkish
2320
2321
2322 Overview of changes in GLib 2.57.3
2323 ==================================
2324
2325 * G_GNUC_MALLOC’s definition has been tightened up to match an updated
2326   definition from GCC. Many uses of G_GNUC_MALLOC which were previously
2327   appropriate may cause miscompilation with newer GCC versions. Check your uses
2328   of it against the updated documentation. See #1465.
2329
2330 * Many minor documentation fixes.
2331
2332 * Fix for gint64 and int64_t compatibility on macOS and BSD. See #972.
2333
2334 * Fix free space metadata on some file systems (notably FAT). See #328.
2335
2336 * Support installed-tests with our Meson build system. See #1444.
2337
2338 * Forbid @filename@/@basename@ in glib-mkenums templates, which is a change to
2339   its long-standing behaviour (which was long-standing nonsensical). See !241.
2340
2341 * Various stat() fixes on Windows. See #1452, #1476.
2342
2343 * MinGW-w64 ABI warning: In case you build 64 bit glib without LFS support by
2344   passing --disable-largefile (not the default) and use GStatBuf, you need to
2345   rebuild your application as the size of GStatBuf has changed for this case.
2346   See #1476.
2347
2348 * Improve TAP compatibility of g_test_incomplete(). See #1474.
2349
2350 * Change fallback preferences when loading icons. See !72.
2351
2352 Bugs fixed:
2353  !263 build: Clean files left behind after gio/tests/gresource.c test
2354  !262 gmem: Only evaluate pointer argument to g_clear_pointer() once
2355  #1465 Many uses of G_GNUC_MALLOC are incorrect
2356  #1448 g_error does not abort() as documented
2357  #1494 g_clear_pointer may not use the correct calling convention with its callback
2358  #972 Mismatch between gint64 and int64_t on 64-bit macOS/BSD
2359  !251 gtestdbus: Fix watcher crash on FreeBSD
2360  #1492 gcc-8: -Wcast-function-type: new warnings for g_list_copy_deep()
2361  !252 tests: fix gnotification tests broken due to the recent icon name fallback changes
2362  #328 filesystem::{free,size,used} not set for full FAT fs
2363  !248 network monitor portal: update properties initially
2364  #1373 Incorrect transfer annotation for g_binding_unbind.
2365  #1444 the meson build doesn't support installed tests
2366  #1027 Fix trashing on overlayfs
2367  #1454 gvdb does not treat corrupt files as empty as promised; dconf suffers
2368  !243 tests: Explicitly set TZ=UTC for g_time_val_from_iso8601() testing
2369  #1488 ‘O_CLOEXEC’ undeclared (first use in this function)
2370  !241 glib-mkenums: forbid @filename@/@basename@ in fhead and ftail
2371  !240 gtimer: Ensure arithmetic is correctly signed for ISO 8601 parsing
2372  #1452 GFileInfo: unable to retrieve correct modification time of links and mounted volumes on Windows
2373  !234 DOC: Documentation fix in GTask description
2374  #1363 Meson: Review cross compilation properties
2375  !225 gtimer: Add overflow checks to g_time_val_from_iso8601()
2376  !230 gbookmarkfile: Fix some more minor leaks when metadata elements are repeated
2377  !229 Fix up g_bytes_compare() documentation
2378  #1476 g_stat - possbile memory corruption causing SEGFAULT
2379  !199 Update TLS documentation
2380  #1474 g_test_incomplete() makes test_case_run() return FALSE
2381  #1475 glib/tests/atomic.c test_types() trips -Werror=bad-function-cast on Debian armel
2382  #1472 Test for BROKEN_IP_MREQ_SOURCE_STRUCT is broken on Windows / Mingw
2383  !220 date test: Use g_test_skip(), not g_test_incomplete()
2384  #1467 malloc difference causes refstring test to fail on FreeBSD
2385  !230 gbookmarkfile: Fix some more minor leaks when metadata elements are repeated
2386  #1466 Not Able to Build glib 2.57.2 in Mingw-w64 x64 bits
2387  #1433 test_posix_parse: assertion failed (g_time_zone_get_abbreviation (tz, 0) == "UTC"): ("LMT" == "UTC")
2388  #1446 Follow-up from "Document difference between g_assert() and g_assert_*() wrt G_DISABLE_ASSERT"
2389  !206 grefstring: Avoid an unnecessary NUL assignment
2390  #1458 g_volume_get_mount returns NULL value after g_volume_mount_finish is called with no error
2391  !72 gio: icons should fallback to non-preferred style appropriately.
2392
2393 * Translation updates:
2394  Brazilian
2395  Chinese (Taiwan)
2396  French
2397  German
2398  Lithuanian
2399  Polish
2400  Romanian
2401  Turkish
2402
2403
2404 Overview of changes in GLib 2.57.2
2405 ==================================
2406
2407 * Require pcre 8.31
2408 * Require meson 0.47.0
2409
2410 * Bugs fixed:
2411  742456 Add g_steal_pointer() convenience function to mark ownership...
2412  795569 MinGW CI: fix tests
2413  796341 gmem.h: Use typeof() in g_steal_pointer() macro
2414  #1013 Support for per-session overrides
2415  #1360 glib-mkenums breaks if option specified but no nick
2416  #1175 Add names and tags to various GSources and GTasks constructed in GLib
2417  #903 g_main_context_wait() not deprecated in API, but emits a g_critical()...
2418  #786 Fix memory leaks in libgio tests
2419  #927 gio/gresource.c:do_lookup check for terminating "/"
2420  #976 Document difference between g_assert() and g_assert_*()...
2421  #1447 glib 2.57.1: test_month_names: assertion failed...
2422  #1407 Update to Unicode Character Database 11
2423  #1455 glib python tools have full python path in shebang, limits to 128 characters
2424  #1459 Missing g_return_val_if_fail in g_async_queue_timeout_pop
2425
2426 * Translation updates:
2427  Friulian
2428  German
2429  Romanian
2430  Spanish
2431
2432
2433 Overview of changes in GLib 2.57.1
2434 ==================================
2435
2436 * New api:
2437  - g_hash_table_steal_extended
2438  - G_GNUC_NO_INLINE 
2439
2440 * Bug fixes:
2441  668132 Use libmount and expose mount options on GUnixMountEntry type
2442  736741 Update private copy of valgrind.h
2443  748620 g_regex_* utf-8 validity requirements are not stated clearly
2444  784995 meson: some Windows improvements
2445  788771 NODELETE missing when built with meson
2446  788773 meson does not install correct pc files
2447  789968 Add g_autoptr() support for GTypeClass
2448  794325 Various fixes to compile on OSX
2449  795152 gdesktopappinfo: Mark GDesktopAppInfo constructors as nullable.
2450  795165 Add g_date_time_get_timezone() and g_time_zone_get_identifier()
2451  795180 Investigate performance impacts of recent compiler features on hot functions
2452  795302 Add g_hash_table_steal_extended() API
2453  795376 Add g_ptr_array_steal()
2454  795544 Add binary/textfile/zero size detection
2455  795569 MinGW CI: fix tests
2456  795636 gitlab-ci: generate test coverage reports
2457  795735 Fix comparison for GVariant property values
2458  795802 gdbus-codegen doesn't accept --output-directory with --output for --body and --header
2459  795849 gwin32: Fix detection of MinGW32 vs MinGW-w64
2460  795876 meson: Fix checks for posix_memalign and stpcpy
2461  795960 g_format_size_for_display() is deprecated since 2.30
2462  796085 Meson: Many apps breaks on non-glibc because of missing libintl
2463  796138 Fix typo in g_file_info_set_attribute docs
2464  796139 Add g_autoptr() support for GParamSpec
2465  796164 Fix atomic ops check in meson.build
2466  796186 Typo: "instead off" in gsignal.c
2467  796213 Meson: Fail to build on macosx
2468  796220 meson: do not run atomic test with msvc
2469  796264 Add android CI
2470  796325 meson: Add exception for atomic ops test for Android
2471  796328 gengiotypefuncs.py: Read and parse files in binary mode 
2472
2473 * Translation updates:
2474  Czech
2475  Indonesian
2476
2477
2478 Overview of changes in GLib 2.57.0
2479 ==================================
2480
2481 * Bug fixes:
2482  739424 Rewrite kqueue GFileMonitor backend to drop threading
2483  751826 Use g_get_language_names() for other locale categories
2484  788773 meson does not install correct pc files
2485  793400 g_application_id_is_valid() not strict enough
2486  793578 gdatetime tests depend on Japanese translation of month names
2487  793645 test_month_names: Updated translations needed for el_GR, hr_HR, ru_RU
2488  793729 gitlab-ci: Add Windows MinGW support
2489  793994 GUnixVolumeMonitor doesn’t show user mounts when run as root
2490  794170 gdbus: hexdecode() and hexencode() do not return/use decoded/encoded s...
2491  794194 gobject_gdb.py: 'address' is a property of gdb.Value not a function
2492  794207 leak: g_socket_listener_add_inet_port increases ref-count on socket-li...
2493  794284 Support whitespace stripping for JSON resources
2494  794285 glib-compile-resources should not noisily g_printerr() when xmllint is...
2495  794473 Remove duplicated option in gio.xml
2496  794506 glib-mkenums: Enters infinite loop if using typedef enum SomeIdentifier
2497  794528 Fix segfault caused by use-after-free in GPollFileMonitor
2498  794555 glib meson build fails on MinGW due to misdetected functions
2499  794557 gtkdoc-scangobj fails on gio in meson builds
2500  794606 glib-2.56.0 fails to compile when res_nquery is not available
2501  794635 gmacros: Don't define bogus __has_* macros
2502  794636 G_HAVE_GNUC_VISIBILITY is defined in meson MinGW builds
2503  794686 Date (except weekday) displayed in English
2504  794732 Fix various compiler warnings 
2505
2506 * Translation updates
2507  Hungarian
2508  Slowak
2509  Slovenian
2510  Spanish
2511
2512
2513 Overview of changes in GLib 2.56.0
2514 ==================================
2515
2516 * Bugs fixed:
2517  672777 Error in gdummyfile.c
2518  732184 GObject: warn on use of deprecated properties
2519  733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
2520  742124 g_data_input_stream_read_upto()'s documentation should say that the...
2521  749206 GDateTime: month names in the genitive case
2522  768507 simplify qguark functions
2523  791457 Slow transfer rate when writing to smb/cifs
2524  793272 fix GCC 8.0's -Wcast-function-type warnings
2525  793300 g_hash_table_add() return value change in 2.40 not mentioned in docs
2526  793399 Fix some cases of -Wduplicated-branches
2527  793555 -Wimplicit-function-declaration when using g_abort()
2528  793565 GLib does not compile on macOS 10.13 due to .m file naming
2529  793597 gdbus-tool: Make --dest optional for emit again
2530  793635 Enable CI for GLib
2531  793880 gnetworkmonitor: Minor fixes based on code review 
2532  793578 gdatetime tests depend on Japanese translation of month names 
2533  794180 test_month_names fails unless installed
2534
2535 * Translation updates:
2536  Brazilian Portuguese
2537  British English
2538  Catalan
2539  Czech
2540  Danish
2541  Dutch
2542  Finnish
2543  French
2544  Friulian
2545  Galician
2546  German
2547  Hungarian
2548  Indonesian
2549  Italian
2550  Kazakh
2551  Korean
2552  Lithuanian
2553  Polish
2554  Scottish Gaelic
2555  Serbian
2556  Serbian Latin
2557  Spanish
2558  Swedish
2559  Turkish
2560
2561
2562 Overview of changes in GLib 2.55.2
2563 ==================================
2564
2565 * GFile now has API to get the path without copying
2566
2567 * A network monitor implementation for Windows has been added
2568
2569 * Bugs fixed:
2570  520116 g_utf8_strlcpy()
2571  584284 g_data_input_stream_read_until_async behaves confusingly different f...
2572  605700 request for g_key_file_get_locale()
2573  658713 ngettext (plural forms) needed for "Message has %d file descriptors ...
2574  685442 windows GNetworkMonitor implementation
2575  723003 gsettings list-recursively reports some keys multiple times
2576  749583 GSequence performance improvements
2577  757284 Move G_DIR_SEPARATOR* and G_SEARCHPATH_SEPARATOR* into glibconfig.h
2578  760324 [PATCH] gkeyfile.c: find_file_in_data_dirs fails to return the path ...
2579  761102 Increase performance for main loop
2580  767976 GFile: Add g_file_peek_path()
2581  770335 gdbus-codegen: generated getter for 'ao' property is actually (trans...
2582  772989 Totem allows invalid urls that might cause segfault that's irrecover...
2583  790698 convert: test failure on NetBSD
2584  791015 gdbus-codegen: Split generation of header and source
2585  791622 Disable strict-aliasing in GLib
2586  792050 GResolver is not thread-safe
2587  792217 Deprecate GTlsClientConnection:use-ssl3
2588  792338 meson, autotools: figure out if mem barrier is needed for arm64 host...
2589  792351 gbookmarkfile: check length before dereferencing groups
2590  792364 gdbus-threading test method-calls-in-thread: assertion failed (elaps...
2591  792370 GNetworkMonitor: Rename "network-changed" signal argument
2592  792410 GDateTime new_from_iso8601 test broken in 2.55 on i386
2593  792432 flush stdout after logging (debug) messages
2594  792455 Improve docs of GSequence
2595  792499 deadlock on startup with TCP session bus
2596  792516 gconvert: More consistent handling of embedded NUL bytes
2597  792777 g_notification_set_urgent() unconditionally sets G_NOTIFICATION_PRIO...
2598  792780 gbytes should reference toplevel bytes when slicing with g_bytes_new...
2599  792856 off64_t isn't a part of C standard
2600  792862 gpollableoutputstream: document side effects of WOULD_BLOCK on D/TLS
2601  792903 Clarification between g_try_.. functions and their counterparts
2602  793006 High CPU load for GUnixMountsMonitor consumers
2603  793026 possible mem leak in g_mutex_impl_new
2604  793074 g_message() does not get -Wformat warnings when compiling with G_LOG...
2605
2606 * Translation updates:
2607  Hungarian
2608  Indonesian
2609  Polish
2610
2611
2612 Overview of changes in GLib 2.55.1
2613 ==================================
2614
2615 * Build:
2616  - The --enable-rebuilds configure option has been removed
2617  - The --with-charsetalias-dir configure option has been added
2618
2619 * GList and GSList now have autoptr support
2620
2621 * The gsettings list-schemas command has gained a --print-paths option
2622
2623 * Bugs fixed:
2624  346816 Refactor LIBDIR in libcharset Makefile
2625  508976 Does g_slist_sort preserve the order of equal elements?
2626  562334 2.18.2 break libglade on Solaris
2627  662802 systemtap multiarch issue
2628  684282 Add support static link of GIO modules
2629  692034 Install an invalidation notifier for GClosure in g_source_set_closure()
2630  694723 Get rid of REBUILD stuff in configure.ac
2631  697715 floating point precision problem in check test gst/gstvalue
2632  701156 testgobject assumes that the priv data follows the instance data
2633  720380 Segfault when using GDBusMenuModel on a peer-to-peer connection
2634  724383 glib: document restrictions on various foreach() functions
2635  724412 GLib mappedfile.c test uses g_get_user_runtime_dir instead of a tempo...
2636  724794 Fix "on on" typo in tap-driver.sh comment
2637  732003 gnode: Eliminate implicit signed-to-unsigned integer conversion
2638  734479 G_VALUE_HOLDS etc. cause -Wcast-qual warnings for a const GValue *
2639  737677 gmain: Make GSourceCallback thread-safe
2640  741167 gdbus-codegen fix for boxed out parameters
2641  748534 gtest: if a subprocess assertion fails, print its stdout and stderr
2642  749527 add weak pointer helpers similar to g_set_object
2643  749652 compilation errors with gcc 4.8
2644  754634 Update the list of Linux filesystem magic numbers used in get_fs_type
2645  756011 Fix up annotations for GBookmarkFile
2646  761102 Increase performance for main loop
2647  773980 GIR scanner doesn't interpret array type properly
2648  776147 gio/glocalfilemonitor.c doesn't handle case G_FILE_MONITOR_EVENT_MOVE...
2649  776195 -z nodelete configure check does not work on Solaris
2650  777075 Potential leak of memory pointed to by 'list'
2651  779413 Translated X-Geoclue-Reason string not used in a dialog window
2652  780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
2653  780893 Reword licensing header for gdbus-codegen
2654  782057 Unit tests fail in run-assert-msg-test.sh
2655  784995 meson: some Windows improvements
2656  786796 gtk-doc build fails with meson
2657  788806 Impossible to build static glib via meson
2658  788936 Show mime type icons on OS X
2659  790416 g_date_time_format returns empty string on %r with German locale
2660  790588 Generated file missing from .gitignore
2661  790697 g_object_ref API should propagate parameter type
2662  790785 glib-tap: Add missing mkdir for .test generation rule
2663  790829 glib-genmarshal --body must not generate alias implementations
2664  790830 Mismatch between number of interface methods in text and example code
2665  790837 Meson: missing many configure options
2666  790839 GApplication command line: lacks parameter_string, summary and descri...
2667  790877 fix non-portable check in G_GNUC_CHECK_VERSION
2668  790894 Do not connect to the session bus when trying GProxyResolverPortal io...
2669  790896 docs/reference/README has broken link to http://www.gtk.org/rdp/
2670  790914 gdesktopappinfo: Downgrade a warning to a debug message
2671  790934 gtester doesn't handle skipped tests
2672  790948 GSourceFuncs documentation is confusing: when will dispatch be called?
2673  791036 Guard for g_output_stream_vprintf makes no sense
2674  791128 C runtime complains about bad arguments on each g_log() call
2675  791221 po/README.translators has no useful information in 2017
2676  791235 Fix gschema.dtd regarding flags.
2677  791267 Make gschema.dtd usable.
2678  791296 gtester-report: fix range usage when running as python3 app
2679  791318 GBytes: Improve documentation
2680  791325 Gio handling of thumbnail:: attribute namespace causes inconsistent b...
2681  791334 gbinding.c:898: The target object of type GNetworkAddress has no prop...
2682  791337 Crash opening URIs with g_desktop_app_info_launch_uris_with_spawn()
2683  791342 Add autoptr support for lists
2684  791460 meson: fixes for OSX
2685  791532 Implicit declaration of function ‘memcmp’ in gtestutils.h
2686  791622 Disable strict-aliasing in GLib
2687  791720 Criticals in gio/xdp-dbus.h leading to crash under flatpak
2688  791744 gmenumodel test sometimes fails: assertion failed (items_changed_coun...
2689  791745 not immediately clear whether g_test_slow() is in effect by default
2690  791906 GSocketListenerClass.event has wrong signature
2691  792064 gsettings list-schemas --print-paths
2692  792098 Binding: bind_property’s @notify func is nullable
2693  792099 gdbus-test-codegen: Cast to void* to printf "%p"
2694  792129 meson: skip optional linux/unix deps that default to true when buildi...
2695  792322 GLib-GIO:ERROR:gschema-compile.c:51:test_schema: child process (/gsch...
2696  792324 gkeyfile: Document need for KEEP_TRANSLATIONS with get_locale_string()
2697
2698 * Translation updates
2699  Hebrew
2700  Indonesian
2701
2702
2703 Overview of changes in GLib 2.55.0
2704 ==================================
2705
2706 * New API:
2707   - g_clear_handle_id, to simplify removing sources from the default mainloop
2708   - g_file_load_bytes, to make it more convenient to load files into GBytes
2709
2710 * Bugs fixed:
2711  330458 Sample code for the GLib Key-value parser
2712  483341 g_error and friends create warnings when not used in MSVC
2713  569375 g[u]intptr undocumented
2714  573251 documentation for g_seekable_truncate() needs some love
2715  629347 Missing annotations in GFile (was: Perf throws an exception in cur...
2716  630983 [PATCH] Type accuracy for result of strlen() in string utilities.
2717  632953 Clarify documentation of GValueTransform.
2718  636210 Document that pre-unmount is not guaranteed and backend-dependant
2719  656502 type information for GSettings::backend missing from .gir
2720  661442 Nautilus crashes when refreshing home folder after modifying ~/.co...
2721  668035 gtester-report broken with python 2.7.2 and glib 2.30.1
2722  670139 gbytes.c:try_steal_and_unref nit
2723  677233 (transfer full) annotation not correct for g_closure_new_simple re...
2724  679347 glocalfile seems to leak 'fstype'
2725  679467 Mention translation in g_warning() documentation
2726  689323 Variable scoping in gunixmounts.c
2727  691436 glib-mkenums output arch dependent
2728  695681 gsettings bash completion put error messages
2729  705331 AM_PATH_GLIB_2_0 macro fails with -Wstrict-prototypes -Werror
2730  706667 Fix permission denied error when installing from an nfs directory
2731  711809 gdbus-proxy: Fix erroneous timeout during following tests
2732  722256 gslist: Simplified node removal and got rid of some code duplication
2733  723655 Socket source is left in the poll after the socket is closed
2734  723743 g_child_watch_add() doesn't check for non-pids
2735  725014 g_settings_schema_source_ref should check for NULL pointer
2736  727346 docs: Escape some backslashes for markdown
2737  730296 gsignal: Fix a potential NULL pointer dereference
2738  731625 Improve test for darwin printf format-strings
2739  731705 gio/tests/desktop-app-info assumes /bin/true
2740  737278 Clarify relationship of g_application_quit() to hold count
2741  738176 Skip GSpawnChildSetupFunc closures in introspection
2742  740223 source_object for GAsyncResult should be nullable
2743  740791 gio: cannot specify the source when joining a multicast group (IGM...
2744  740826 glib doesn't know fuse filesystems
2745  742548 configure.ac: stay out of autoconf's namespace
2746  742997 Don't skip invalid enum values in schemas
2747  745723 -Wunused-but-set-variable work-around no longer sufficient
2748  749371 Use a GHashTable as a set when possible
2749  751738 Unused-variable warnings in glib/tests/autoptr.c
2750  752239 Missing dependency for python files in build file
2751  752240 Add DTLS support to GIO
2752  753459 GDateTime: Add conversion functions from/to ISO 8601 strings
2753  753521 g_subprocess_launcher_set_environ misses argument annotations
2754  754026 gfileutils: add some sanity checks
2755  756009 'const gchar* const *' gets incorrectly defaulted to utf8
2756  756103 Skip g_base64_decode_step() in introspection
2757  756128 Fix up annotations in gconvert
2758  756430 g_rw_lock_reader_lock() can return without locking, or error
2759  756470 Fix up annotations in gdataset.c
2760  756588 Fix up annotations on data/qdata API of GObject
2761  760022 Memory leak in gvariant-parser.c
2762  760109 [PATCH] Invalid GDate can't be g_boxed_copy()'d
2763  760716 Fix documentation regarding <glib/gprintf.h>
2764  765063 Update annotations for gio
2765  765552 Please set serial in .m4 files to prevent autoreconf failure on up...
2766  767215 GCC version number is interpreted as start of a list in docs for g...
2767  767239 Tautological comparisons in convert tests
2768  769674 some GIO tests' arbitrary timeouts are too short
2769  769846 gmessages: Add timestamp to g_log_writer_format_fields()
2770  770459 Tutorial article is slightly wrong
2771  773355 Incorrect documentation about stopping a signal emission from a hook
2772  774083 spelling mistakes in glib: charater
2773  776562 Add Intel C Compiler support for G_GNUC_BEGIN/END_IGNORE_DEPRECATI...
2774  777308 GModule win32: disable error dialog popup
2775  777310 gio/gasynchelper.c: fix cast from pointer to smaller int type on w...
2776  777956 gmessages: Update advice for G_LOG_DOMAIN
2777  779182 xdg-open fails with gio open for some uris
2778  779501 Type of GIConv given wrongly on web
2779  780202 introspection: Don't expose GValueArray.free
2780  780296 xdg-open/gnome-open doesn't work if service isn't started
2781  781598 gstdio.h should #include what it needs to work
2782  781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/ina...
2783  783210 build: Switch to sassc for generating style
2784  783270 Improve Visual Studio support for Meson builds
2785  783825 Suggest that asynchronous operations should invoke the callback in...
2786  786737 No g_variant_get() example for dicts
2787  786785 Commit #fe2a9887a8 breaks gdbus-codegen, cannot find its module so...
2788  787271 Make GListModel usable from G-I bindings
2789  787485 g_tls_backend_supports_dtls () returns true when the backend doesn't
2790  787551 Factor out some duplicated code in GParamSpec validation
2791  787581 tests: Add tests for g_slist_copy() and g_slist_copy_deep()
2792  787671 meson: Fix permissions of installed scripts
2793  787731 g_file_query_filesystem_info() wrongly reports "filesystem::readon...
2794  788138 glib-compile-resources: Fix leak of a GHashTable
2795  788180 G_FILE_ATTRIBUTE_ID_FILE is useless on W32
2796  788270 gmodule - failed to load symbol on Android 64bit
2797  788368 Race condition in GDbusObjectManagerClient
2798  788384 gtypes: Fix signedness of __builtin_bswap() usage
2799  788385 gtestutils: Explicitly cast args to g_assertion_message_cmpnum()
2800  788401 PATCH: MacOS build cannot detect content type from content - xdgmi...
2801  788467 Fatal errors and warnings should be reported as TAP
2802  788488 GFile-based API for g_build_filename()
2803  788489 gmain: add g_clear_source API
2804  788561 Document how to integrate GTest into your project
2805  788594 gdbus-tool doesn’t handle non-message-bus connections correctly
2806  788705 Allow building GLib on older Linux platforms
2807  788766 fixed a doc-typo in socket_get_remote_address
2808  788772 meson installs gdb scripts incorrectly
2809  788863 Add more filename type annotations for strings which can contain f...
2810  788880 gunixmounts: Update list of virtual file systems to ignore
2811  788927 Expose better API for detecting ‘system’ mounts
2812  788936 Show mime type icons on OS X
2813  788948 Document Autotools best practices for genmarshal/mkenums
2814  788975 Meson + Visual Studio: Can't find zlib.h with subprojects/zlib
2815  788978 Document XML has a syntax error
2816  788989 Use subdir-objects with Autotools
2817  788990 Include licensing information in output from glib-mkenums, glib-ge...
2818  789087 gint and guint misrepresented as functions
2819  789170 GFormatSizeFlags should have a value for bits
2820  789245 g_settings_bind() not conforming to lifecycle specification
2821  789444 Fix handling of length in g_utf8_make_valid
2822  789637 glib-mkenums: Fails when --ouput file does not exist
2823  789681 meson: Libmount support not built
2824  789723 [PATCH] gdbus-codegen: Call abspath() earlier
2825  789755 g_get_host_name: ensure return value is always UTF8 encoded
2826  789820 GPollFileMonitor is not cleaning up correctly
2827  790015 docs: Various linking and syntax fixes
2828  790030 GResource/GVariant fails to load from non-pointer aligned memory
2829  790093 gio-tool: fix inverted logic in monitor tool
2830  790126 gengiotypefuncs.py is missing from tarballs
2831  790147 build: Drop data-to-c.pl in favour of data-to-c.py
2832  790157 gmessages: Give examples of G_DEBUG with gdb in the documentation
2833  790272 file: add g_file_load_bytes()
2834  790275 avoid temporary string allocations in g_resources_enumerate_children
2835  790310 speedup path canonicalization in GResourceFile
2836
2837 * Translation updates:
2838  Catalan (Valencian)
2839  Czech
2840  German
2841  Nepali
2842  Norwegian bokmål
2843  Slovak
2844  Slovenian
2845  Spanish
2846
2847
2848 Overview of changes in GLib 2.54.0
2849 ==================================
2850
2851 * Bugs fixed:
2852  780861 Crash in GnomeWallClock
2853  786983 Please make the output of gio-querymodules deterministic
2854  787109 Valgrind false positive in ioctl() in btrfs file copy
2855  787123 glib: Slighty update GIOChannel documentation
2856  787146 GMainLoop: match of parameter pair of LOCK_CONTEXT/UNLOCK_CONTEXT
2857
2858 * Translation updates:
2859  Basque
2860  Catalan
2861  Romanian
2862  Swedish
2863
2864
2865 Overview of changes in GLib 2.53.7
2866 ==================================
2867
2868 * Bugs fixed:
2869  736710 remove unnecessary executions of libtool from configure
2870  785260 gio/tests/appmonitor fails if local dir not writeable
2871  786456 g_subprocess_wait[_check]_async() breaks when cancelled...
2872  786555 g_array_free() is not thread safe w.r.t. g_array_unref()
2873  786580 gdesktopappinfo.c: Add Tilix as a fallback terminal
2874  786807 g_uuid_string_random undefined when built with meson
2875
2876 * Translation updates:
2877  Brazilian Portuguese
2878  Catalan
2879  Czech
2880  Danish
2881  Finnish
2882  French
2883  Friulian
2884  German
2885  Italian
2886  Kazakh
2887  Korean
2888  Latvian
2889  Nepali
2890  Polish
2891  Spanish
2892  Turkish
2893
2894
2895 Overview of changes in GLib 2.53.6
2896 ==================================
2897
2898 * Bugs fixed:
2899  766358 glib doesn't respect XDG_* envvars on W32, ever
2900  783270 Improve Visual Studio support for Meson builds
2901  785955 pthread_setname_np misdetected with meson
2902  786060 Sequences documentation does not make it clear...
2903  786360 gobject: add autoptr support for GClosure
2904  786452 crash on Linux without stderr stream
2905  786460 gio-tool: Unify buffer sizes
2906  786462 Use g_output_stream_write_all instead of while
2907  786463 gio-tool-save: Prevent overwriting error
2908
2909 * Translation updates:
2910  Catalan
2911  Galician
2912  Hungarian
2913  Indonesian
2914  Lithuanian
2915  Nepali
2916  Serbian
2917
2918
2919 Overview of changes in GLib 2.53.5
2920 ==================================
2921
2922 * Bugs fixed:
2923  695573 Untranslatable strings in glib-compile-schemas
2924  725950 GApplication: call dbus_unregister only once, and before destruction
2925  731703 giomodule test misbuilds its test modules as libraries
2926  769135 External control for g_test_add/g_test_run
2927  779332 Rewrite mkenums in Python
2928  779607 Race between mounts-changed signal and g_unix_mounts_get() function
2929  784000 Improve strerror_r() detection
2930  784815 Map G_NOTIFICATION_PRIORITY_HIGH to NOTIFY_URGENCY_NORMAL
2931  784965 Use the glib preset for i18n in Meson
2932  784995 meson: some Windows improvements
2933  785113 glib-mkenums Python port fixes
2934  785130 G_LOG_DOMAIN shouldn't be left undefined for applications
2935  785438 Spurious -Wmaybe-uninitialized in gdatetime.c
2936  785468 glib/gpoll: Unnecessary if conditional included in the poll_rest() function
2937  785520 Replace advice to use removed gdk_spawn functions
2938  785577 clobbers errno while setting GError
2939
2940 * Translation updates:
2941  Slovenian
2942  Spanish
2943
2944
2945 Overview of changes in GLib 2.53.4
2946 ==================================
2947
2948 * Unicode support has been updated to Unicode 10.0.0
2949
2950 * glib-genmarshal and glib-mkenums have been rewritten in python.
2951   Every effort has been made to keep compatibility. Please report
2952   problems related to these tools
2953
2954 * GLib can now be built with meson. autotools are still supported
2955
2956 * Bugs fixed:
2957  722047 drop makefile.msc?
2958  733821 g_strerror() uses strerror(3) instead of strerror_r(3)
2959  773842 g_utf8_find_next_char() won't signal the end of a NUL-terminated string
2960  779332 Rewrite mkenums in Python
2961  780095 g_utf8_get_char_validated() stopping at nul byte even for length specified...
2962  780634 Remove remaining old codepage ABI comapt code
2963  783841 test_GDateTime_new_from_timeval_overflow fails on 32 bit systems
2964  784000 Improve strerror_r() detection
2965  784020 GKeyFile – Add array length annotations to to_data(), get_keys() and get_g...
2966  784037 gio: Mention the ALL_METADATA flag in g_file_copy()
2967  784433 gdbus-codegen with variant type parameters result in nested variant
2968  784456 Update to Unicode 10.0.0
2969  784528 Rewrite glib-genmarshal in Python
2970  784579 Calling g_dir_open on Missing Directory When Executable File Path Contains...
2971  784581 docs: Fix cut'n'paste error in g_resources_get_info() doc
2972  784739 Minor typo in configure error message
2973  784792 Just fixing a little typo in comments
2974
2975 * Translation updates:
2976  Hebrew
2977
2978
2979 Overview of changes in GLib 2.53.3
2980 ==================================
2981
2982 * Bugs fixed:
2983  658446 Add translation comment for wrong password notice string
2984  661926 Improve the default logging setup in GLib
2985  674885 type initialisation deadlock in GObject
2986  775593 GIO cannot write symlinks on FreeBSD and NetBSD
2987  776169 Various gio-tool fixes
2988  776333 Fix annotation on g_file_copy_async()
2989  776504 Upgrade license from LGPLv2+ to LGPLv2.1+
2990  777307 race condition between gdbus signal callback and g_bus_unwatch_name...
2991  778422 gsubprocesslauncher: Clarify the behavior of set_environ()
2992  781301 Stack pointer corrupted by incorrect call of NtNotifyChangeMultipleKeys
2993  782336 Add additional documentation of the GResource XML format
2994  782996 build: Use AM_TESTS_ENVIRONMENT rather than TESTS_ENVIRONMENT
2995  783061 GApplication: Remove some unused members
2996  783130 Make dbus activation sandbox-aware
2997  783193 Adapt to OpenURI api change
2998  783201 gdbus-codegen: Apply --output-directory to generated docs as well
2999  783340 win32: port monotonic times to use QPC
3000  783350 length parameter can be NULL g_data_input_stream_read_line
3001  783392 incorrect (out) annotation for g_dbus_interface_info_generate_xml
3002  783593 GGtkNotificationBackend should use /org/freedesktop/DBus to call Ge...
3003
3004 * Translation updates:
3005  Esperanto
3006  German
3007  Indonesian
3008  Kazakh
3009  Spanish
3010
3011
3012 Overview of changes in GLib 2.53.2
3013 ==================================
3014
3015 * A few new number parsing functions have been added:
3016   - g_ascii_string_to_signed
3017   - g_ascii_string_to_unsigned
3018   These have better error handling than the existing ones.
3019
3020 * glib-mkenums now supports /*< private >*/ and /*< public >*/
3021
3022 * GSettings now consider XDG_DATA_HOME in addition to XDG_DATA_DIRS.
3023
3024 * Bugs fixed:
3025  674885 type initialisation deadlock in GObject
3026  698064 Add g_ptr_array_contains()
3027  732000 gdatetime: Remove an unnecessary NULL pointer check
3028  734946 Implement GContentType on OSX
3029  741335 Possible differences in use of XDG_DATA_DIRS versus XDG base directory specification
3030  748263 Use-after-free in g_dbus_connection_call_internal()
3031  776876 gmodule – Various Android bug-fixes
3032  777030 build error where minor() and major() cant be resolved in gio/gdbusmessage.c
3033  780300 gio/gosxappinfo.c uses deprecated LSFindApplicationForInfo
3034  780309 gio/tests/appinfo build fails: gdesktopappinfo.c skipped on OS X
3035  781755 Avoid compiler warnings in generated marshallers code
3036  781826 portal support: Read /.flatpak-info
3037  781830 Fix some typos and errors in GVariant documentation
3038  781847 Use-after-free under send_message_with_reply_cleanup():gdbusconnection.c:1792
3039  781867 various gvfsd-* wants to look in /boot/efi, causes unnecessary/inappropriate auto...
3040  782068 doc: Trivial typo fixes
3041  782075 gtimer: Handle gmtime() failure in g_time_val_to_iso8601()
3042  782089 gdatetime: Fix overflow checks when constructing from timestamps
3043  782162 Support public/private trigraph in glib-mkenums
3044  782237 make check error
3045  782311 inode/directory is treated as a subclass of application/octet-stream
3046  782628 libmount build dependency check not requiring the right version?
3047
3048 * Translation updates:
3049  Hungarian
3050  Indonesian
3051  Spanish
3052
3053
3054 Overview of changes in GLib 2.53.1
3055 ==================================
3056
3057 * The gdbus tool gained a wait command
3058
3059 * g_unix_signal_source_new support SIGWINCH now
3060
3061 * There are now g_enum_to_string and g_flags_to_string functions
3062
3063 * A new function to instantiate objects: g_objet_new_with_properties
3064
3065 * GParameter and related APIs have been deprecated
3066
3067 * Bug fixes
3068  447907 enum/flags from string + type transform + tests
3069  668962 GUnixMountPoint/GUnixMountEntry not usable through gobject-introspection
3070  669355 gdbus-codegen output contains stray semicolons at file scope (forbidden in C99)
3071  674885 type initialisation deadlock in GObject
3072  698064 Add g_ptr_array_contains()
3073  709865 Add boxing to GParameter
3074  725894 build: Include gettext libraries for static compilation on Mac OS X
3075  734946 Implement GContentType on OSX
3076  741229 gio: Handle NULL cached properties in NetworkManager monitor
3077  745971 gdbus-tool: Add a command to wait for a well-known name on the bus
3078  755046 gfileutils: Add precondition checks to g_file_test()
3079  761102 Increase performance for main loop
3080  761889 GDateTime: %p does not always print AM/PM string
3081  766660 Please clarify the extent to which GInitable, GAsyncInitable must be idempotent
3082  769534 g_unix_signal_source_new does not support SIGWINCH
3083  772221 Take advantage of Unicode
3084  775879 g_log_default_handler should not check G_MESSAGES_DEBUG
3085  776169 various gio-tool fixes
3086  777961 Documentation for g_app_info_equals() could be clearer
3087  778049 race in gsource detected by TSan
3088  778207 gio-querymodules: fix memory leak
3089  778287 G_MODULE_EXPORT and -fvisibility=hidden
3090  779409 Fix false positive g_warning() in remove_filter()
3091  780066 g_base64_encode_close() in glib/gbase64.c produces invalid base64 encoding
3092  780095 g_utf8_get_char_validated() stopping at nul byte even for length specified buffers
3093  780306 Unused function in gunicollate.c for CARBON
3094  780310 g_tls_database_verify_chain doesn't set the GError for failures other than cancell...
3095  780384 gio/tests/contenttype fails on OS X: "public.directory" != "public.folder"
3096  780441 Make the portal implementation of g_app_info_launch() synchronous
3097  780634 Remove remaining old codepage ABI comapt code
3098  780908 gobject: remove duplicate GType sanity check
3099  780924 Memory leak in gdbusmethodinvocation.c
3100  781125 gio-tool: Fix errors format string
3101  781234 the buffer written to by g_input_stream_read is not marked as an out parameter
3102  781298 gfileutils.c:330:3: error: ISO C90 forbids mixed declarations and code
3103
3104 * Translation updates
3105  Catalan
3106  Friulian
3107  German
3108  Hebrew
3109  Indonesian
3110  Polish
3111  Russian
3112
3113
3114 Overview of changes in GLib 2.52.0
3115 ==================================
3116
3117 * Bug fixes:
3118  779799 gdatetime test fails with tzdata 2017a
3119  780032 Add missing attributes to two functions
3120  780144 gio/fam: Remove leftover debug print
3121
3122 * Translation updates:
3123  French
3124  Friulian
3125  Latvian
3126
3127
3128 Overview of changes in GLib 2.51.5
3129 ==================================
3130
3131 * OS X implementations of GContentType and GAppInfo
3132   have been added
3133
3134 * Bugs fixed:
3135  673047 gunicollate is broken on OS X (patch included!)
3136  734946 Implement GContentType on OSX
3137  747146 Implement GNotification on OSX
3138  769983 glib-mkenums generates non-reproducible Makefile snippets
3139  777203 gnulib license information is not correct in glib2.0
3140  778515 Crash in the gio kqueue backend
3141  779456 Make g_utf8_make_valid optionally take a length
3142
3143 * Translation updates:
3144  Danish
3145  Friulian
3146  German
3147  Hungarian
3148  Korean
3149  Lithuanian
3150
3151
3152 Overview of changes in GLib 2.51.4
3153 ==================================
3154
3155 * Memory leak fixes
3156 * Fix the released tarball
3157
3158
3159 Overview of changes in GLib 2.51.3
3160 ==================================
3161
3162 * Bugs fixed:
3163  771997 gchecksum: Add SHA-384 support
3164  778422 gsubprocesslauncher: Clarify the behavior of set_environ()
3165  778581 gdbus-codegen: Fix -Wconversion warning
3166  778801 gdbus-codegen: Add --outdir flag
3167  778991 Plug a mem leak in gdbusauth
3168  779183 g_io_extension_point_get_extensions should check for NULL pointer
3169
3170 * Translation updates:
3171  Basque
3172  Chinese (Taiwan)
3173  Danish
3174  Indonesian
3175  Italian
3176  Serbian
3177
3178
3179 Overview of changes in GLib 2.51.2
3180 ==================================
3181
3182 * Minimal support for UUIDs has been added
3183
3184 * A new file attribute, G_FILE_ATTRIBUTE_RECENT_MODIFIED has been added
3185   to improve sorting of recent files
3186
3187 * Bugs fixed:
3188  639078 UUID support feature request
3189  777135 gkeyfile: Be more specific about error codes in documentation
3190  777307 race condition between gdbus signal callback and g_bus_unwatch_name...
3191  777481 goutputstream: docs: fix typos
3192  777493 g_mkdtemp() not introspectable
3193  777507 Recent view sorting incorrectly
3194  777592 Add minor examples to GDBus and GVariant documentation
3195  778002 race in gdbusprivate.c detected by the ThreadSanitizer
3196  778096 race in gdbusconnection reported by TSan
3197
3198 * Translation updates:
3199  Norwegian bokmål
3200  Polish
3201  Simplified Chinese
3202  Slovak
3203  Spanish
3204  Swedish
3205
3206
3207 Overview of changes in GLib 2.51.1
3208 ==================================
3209
3210 * glib-compile-resources grew a --generate-phony-targets flag
3211
3212 * GLib now installs a valgrind suppressions file for GLib and GIO
3213
3214 * Bugs fixed:
3215  666114 should have infrastructure to run its tests under valgrind
3216  729730 GDBusMessage: Fix segfault if DEBUG_SERIALIZER is enabled
3217  730932 statically assert that reasonable assumptions about enums are true
3218  735731 gobject: Document behaviour of GType checking macros on NULL
3219  736810 gdbus: Fix leak in g_dbus_message_print()
3220  762283 GSocket – Fix race conditions on Win32 if multiple threads are waiting on cond...
3221  767609 Test suite problems
3222  767952 g_dbus_method_invocation_return_*, g_dbus_method_invocation_take_error: They d...
3223  769672 Assert threads for testcase 642026 are sucessfully created
3224  769745 gtask: Add guards for public functions
3225  770175 Add command line argument to mkenums and genmarshal to write output to a file
3226  770646 glib: Namespace global tapset variables by soname
3227  772160 Add g_unix_mount_for() support
3228  772989 Totem allows invalid urls that might cause segfault that's irrecoverable
3229  773823 gio: Bump copy buffer size to 256k by default
3230  774086 fix g_main_context_check declaration
3231  774368 Dependency file output of resource scanner breaks Ninja
3232  774421 Two minor patches
3233  774520 GSocket allocates and processes control messages even if not requested
3234  775309 Crash in gdbusauth
3235  775468 Improve log write supports color method on windows
3236  775510 testing with -fsanitize=undefined reports various undefined behaviour
3237  775517 Password input is echoed in the terminal
3238  775621 gmessages: Fix compilation on Android
3239  775765 FDO notification withdrawal backend sends wrong ID to the server
3240  775913 subprocesslauncher: potential infinite loop in verify_disposition()
3241  776198 Stray semicolon after g_variant_print() function in gvariant.c
3242  776586 License headers cleanup
3243  777077 Use of memory after it is freed
3244
3245 * Translation updates:
3246  Brazilian Portuguese
3247  Czech
3248  Galician
3249  German
3250  Hebrew
3251  Kazakh
3252  Lithuanian
3253  Spanish
3254  Swedish
3255
3256
3257 Overview of changes in GLib 2.51.0
3258 ==================================
3259
3260 * glib-genmarshal and glib-mkenums have gained --output options
3261   for better build system integration
3262
3263 * New API: g_utf8_make_valid
3264
3265 * Bugs fixed:
3266  591603 Make _g_utf8_make_valid public
3267  610969 Nice to have g_utf8_make_valid as public
3268  767882 Bit shift overflow (-Wshift-overflow) warning in gparam.h
3269  769135 External control for g_test_add/g_test_run
3270  769630 gfile: G_FILE_MONITOR_WATCH_MOVES was actually introduced in 2.46
3271  772160 Add g_unix_mount_for() support
3272  772221 Take advantage of Unicode
3273  773303 GApplication leaks option_strings 
3274
3275 * Translation updates:
3276  French
3277  Galician
3278  German
3279  Hungarian
3280  Lithuanian
3281  Norwegian bokmål
3282  Occitan
3283  Polish
3284  Slovak
3285  Turkish
3286
3287
3288 Overview of changes in GLib 2.50.1
3289 ==================================
3290
3291 * Update Unicode support to Unicode 9.0.0
3292
3293 * Bugs fixed:
3294  662946 gunixmounts monitoring doesn't work correctly with libmount
3295  771591 Update to Unicode 9.0.0
3296  772054 glib/gspawn-win32-helper.c: unexpected behavior re CommandLineToArgvW()
3297  772255 gresolver: Mark GResolver as an abstract class
3298  772269 Add --version options to glib-compile-resources and glib-compile-schemas
3299  772297 completion: Complete gsettings describe
3300  772511 g_log_default_handler crashes windows apps with "Unspecified fatal err...
3301
3302 * Translation updates:
3303  Brazilian Portuguese
3304  Catalan
3305  Croatian
3306  Czech
3307  Danish
3308  Hungarian
3309  Italian
3310  Latvian
3311  Polish
3312  Swedish
3313
3314
3315 Overview of changes in GLib 2.50.0
3316 ==================================
3317
3318 * Bugs fixed:
3319  771438 Turn on libmount by default on linux
3320         Fix the annotation for g_log_variant
3321
3322 * Translation updates:
3323  British English
3324  French
3325
3326
3327 Overview of changes in GLib 2.49.7
3328 ==================================
3329
3330 * Add g_log_variant, binding-friendly api for structured logging
3331
3332 Bugs fixed:
3333  646926 arg_data invalid after g_option_context_parse() fails
3334
3335 * Translation updates:
3336  Danish
3337  Finnish
3338  Galician
3339  German
3340  Hebrew
3341  Kazakh
3342  Korean
3343  Latvian
3344  Lithuanian
3345  Polish
3346  Portuguese
3347  Serbian
3348  Slovak
3349  Spanish
3350  Swedish
3351  Thai
3352
3353
3354 Overview of changes in GLib 2.49.6
3355 ==================================
3356
3357 * The gsettings commandline tool now has a describe command
3358
3359 Bugs fixed:
3360  745754 Add gcc-style dependency output to glib-compile-resources
3361  769076 Fix warning: attempt to override closure->va_marshal with new marshal
3362  770372 gdbus-codegen: Strip @since parameters before comparison
3363
3364 Translation updates:
3365  Brazilian Portuguese
3366  Czech
3367  German
3368  Hungarian
3369  Polish
3370  Portuguese
3371  Spanish
3372
3373
3374 Overview of changes in GLib 2.49.5
3375 ==================================
3376
3377 * Structured logging:
3378  - drop libsystemd dependency
3379  - document that g_test_expect_message does not work with structured logs
3380
3381 * Use libmount for unix mount support
3382
3383 * Add an async variant of g_app_info_launch_default_for_uri
3384
3385 Bugs fixed:
3386  522053 GUnixMountMonitor needs to use /proc/self/mountinfo on recent Linux
3387  682794 Add usage guidance to logging documentation
3388  744456 Structured logging API
3389  766370 Add a macro for initializing g_auto(GVariantBuilder)
3390  767240 Regex failures with pcre 8.38
3391  768198 Can't build glib with systemtap enabled
3392  768453 Gdbus test: compilation fails due to -Werror=format-y2k errors
3393  768752 Add async variant of g_app_info_launch_default_for_uri
3394  769027 Docs misleadingly imply G_CHECKSUM_SHA512 is available since 2.16
3395  769029 gmessage: compiler complains about -Wformat-nonliteral
3396  769042 'O_CLOEXEC' undeclared (first use in this function)
3397  769087 gmessages: support NULL log domain
3398  769089 Fix gsettings uint64 testcase
3399  769104 Build failure when using _GLIB_CHECKED_ADD_U32 with the Intel compiler
3400  769139 g_log_writer_journald uses non-standard 'htole64' function
3401  769238 memory increases every time I umount and mount my secondary hard disk.
3402  769245 is_valid_heap_iter define misses NULL pointer check
3403  769507 gmessages: Don’t require is_journald() call before writer_journald()
3404  769785 gmessages: Expand documentation further for structured logging
3405  769995 gdbus-codegen: Allow '@since: UNRELEASED' in documentation comments
3406
3407 Translation updates:
3408  Catalan
3409  Hebrew
3410  Lithuanian
3411  Slovak
3412  Spanish
3413
3414
3415 Overview of changes in GLib 2.49.4
3416 ==================================
3417
3418 * Change the just-introduced structured logging API. The arguments
3419   of g_log_structured() had to be reordered to enable an implementation
3420   within the limits of what the standards guarantee about var args.
3421
3422 Bugs fixed:
3423  744456 Structured logging API
3424  768936 gio doc build fails because of missing gio.xml in the tarballs
3425  768963 improper va_list use in g_log_structured()
3426  768968 gio/tests/socket-listener hangs since e4ee307
3427
3428 Translation updates:
3429  Spanish
3430
3431
3432 Overview of changes in GLib 2.49.3
3433 ==================================
3434
3435 * GLib has a structured logging API, g_log_structured, with support
3436   for writing to the systemd journal. It also supports colored output
3437   in terminals
3438
3439 * Some new GBytes API has been added:
3440  - g_key_file_load_from_bytes
3441  - g_compute_hmac_for_bytes
3442
3443 * Stack-allocated GVariantBuilder and GVariantDict objects can now be
3444   initialized with G_VARIANT_BUILDER_INIT and G_VARIANT_DICT_INIT
3445
3446 * gio:
3447  - Add a way to register handlers for custom uri schemes
3448  - Add a G_FILE_ATTRIBUTE_FILESYSTEM_REMOTE attribute to
3449    have these heuristics in a single place
3450  - Include a gio tool that makes the functionality of the
3451    various gvfs commandline tools available in a single place
3452  - Add portal support to g_app_info_launch_default_for_uri
3453  - Add portal support to GNetworkMonitor
3454  - Add portal support to GProxyResolver
3455  - Add portal support to g_application_send_notification
3456
3457 Bugs fixed:
3458  547200 g_utf8_find_next_char() issues
3459  662802 systemtap multiarch issue
3460  723506 fork/exec from non-main thread when autolaunching could be avoided...
3461  725902 build: simplify dtrace configuration
3462  728207 gsocketservice: Documentation does not mention that is already act...
3463  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro to supp...
3464  744456 Structured logging API
3465  744678 Unable to delete relocatable schemas
3466  746685 clarify that g_variant_get_data() can be used instead of g_variant...
3467  747134 glib-compile-resources --generate should detect common C++ file ex...
3468  750257 GSettings changed signal should clearly state the order required
3469  753231 Memory is potentially used after free
3470  754012 missing filename in "Error loading css: Failed to import: Error op...
3471  760115 gtestutils: add missing dash in seed argument's --help documentation
3472  760423 gio-querymodules prints error messages as question marks on some l...
3473  761102 Increase performance for main loop
3474  765338 GLib.compute_hmac_for_data throws every time
3475  766370 Add a macro for initializing g_auto(GVariantBuilder)
3476  766899 Superflous HTML/XML comments in GDBusProxyTypeFunc documentation s...
3477  766933 GSocketAddress leaks in gnetworkmonitornetlink.c:read_netlink_mess...
3478  767765 Add names and tags to various GSources and GTasks constructed in GLib
3479  767880 gkeyfile: add g_key_file_load_from_bytes() API
3480  767887 vfs: add g_vfs_register_uri_scheme()
3481  767949 [patch] Typos in glib docs
3482  768029 infinite loop in parse_name_internal()
3483  768119 Fix fallout from get_supported_schemes() changes
3484  768357 Build the gio tool on Windows/MSVC
3485  768498 portal support for glib
3486  768504 keyfile: g_key_file_get_double behavior doesn't follow documentation
3487  768549 Test failure: test_ip_sync_dgram
3488  768551 Test failure: test_socket_address_to_string
3489  768560 gio/tests/gsettings: fix GSettings reference leaks in some tests
3490  768780 O_PATH is a non-standard flag which may be unavailable on non-Lin...
3491  768806 gdbus tool must swallow -- argument
3492
3493 Translation updates:
3494  Chinese (Taiwan)
3495  French
3496  Hebrew
3497  Indonesian
3498  Lithuanian
3499  Portuguese
3500  Spanish
3501
3502
3503 Overview of changes in GLib 2.49.2
3504 ==================================
3505
3506  * GMainContext and GTask have gained more systemtap probes
3507
3508 Bugs fixed:
3509  673101 resource compiler dependency generation not working for gen...
3510  700756 GFile.new_for_path arguments misses (type filename) annotation
3511  730187 glocalfileoutputstream: Fix an FD leak in an error path
3512  755439 Memory leak in gdbusproxy.c
3513  759813 Add more SystemTap/DTrace probes for main context and GTask
3514  761810 gio: Support using GDBusObjectManagerServer at path ‘/’
3515  767172 docs: Move GIO_USE_VFS to "okay for production" section
3516  767218 Remove a UTF-8 ellipsis from gsignal.h
3517  767245 Add filename type annotations
3518  767824 Some UTC timezones incorrectly recognized on Windows 7
3519
3520 Translation updates:
3521  Occitan
3522
3523
3524 Overview of changes in GLib 2.49.1
3525 ==================================
3526
3527  * GDesktopAppInfo now allows bus activation with dashes. This is
3528    not technically allowed per the Desktop Entry specification, but
3529    it happens in the wild. Rather than forcing people to go through
3530    another traumatic desktop file rename, accept it and translate - to _.
3531
3532  * The support for giving names to threads has been improved. Thread names
3533    are now supported on Solaris as well, and the Linux support no longer
3534    uses prctl() but the pthread api.
3535
3536  * GIO resources can now be overridden at runtime, using the G_RESOURCE_OVERLAYS
3537    environment variable.
3538
3539  * gdbus-codegen can now generate autocleanup definitions for the types
3540    it generates. Use the --c-generate-autocleanup option to control this
3541
3542 Bugs fixed:
3543  665446 Use g_abort() instead of abort()
3544  731988 glocalfile: Avoid a potential NULL pointer dereference
3545  742898 g_value_type_transformable() description differs from the code
3546  747107 GVariant varargs documentation: g_variant_get() example
3547  747478 g_system_thread_set_name() is not implemented for gthread-win32
3548  748474 g_get_language_names() is not thread-safe
3549  748530 gthread: W32 implementation of g_get_num_processors() has lame fallback
3550  748806 GVariant: Better introduction to the concepts and its uses
3551  749583 GSequence performance improvements
3552  749606 tests: always remove app.desktop
3553  755898 [PATCH] settings: add get/set uint64
3554  758174 Fix documentation typos
3555  758738 Usage of GType properties causes crashes due to gulong/gpointer mismatch
3556  760186 namespace clash with gdb pretty-printing code
3557  762994 Race condition in GIO/AppFileChooser crashes Firefox/Gtk3
3558  763379 codegen: Add support for g_autoptr to gdbus-codegen–generated objects
3559  763821 build: Also dist Systemtap files always for gobject/
3560  764092 gstrfuncs: Document the behaviour of g_strjoinv()
3561  764163 g_task_had_error doesn't remember the error after g_task_propagate_*
3562  764415 Very High CPU usage in g_poll() Windows implementation
3563  764574 build: Fix all statfs() tests failing
3564  764575 tests: Fix compilation errors due to Y2K format problems
3565  764685 GApplication documentation about handling command-line options is confusing
3566  764754 '-' in application id: unbreak bus activation and notifications
3567  765173 documentation of g_main_context_push_thread_default() regarding GIO...
3568  765668 GResources: add support for resource overlays
3569  765710 gdbus-tool: only print note about expected argument types if that...
3570  765712 tests: Fix compilation
3571  765861 task: avoid context lock when setting source name
3572  765900 Add g_drive_is_removable() support
3573  765924 Improve external drives detection
3574  765959 socket: set fd field to -1 after closing socket
3575  765990 Visual Studio: Define inline only when necessary
3576  765991 Compilation of gresource.c is broken due to S_ISDIR
3577  766092 Incorrect locale handling in g_date_time_format_locale()
3578  766211 Fix the upper bound in g_unichar_iswide_bsearch
3579  766407 Some build-related defects in glib testsuite
3580  766570 build: Fix a misnamed variable in glib-tap.mk
3581
3582 Translation updates:
3583  Basque
3584  Catalan
3585  Chinese
3586  Occitan
3587  Portuguese
3588  Turkish
3589  Vietnamese
3590
3591
3592 Overview of changes in GLib 2.48.0
3593 ==================================
3594
3595  * The system copy of PCRE is now used by default to implement GRegex.
3596    Configure with --with-pcre=internal if a system PCRE version
3597    is unavailable or undesired.
3598
3599  * a minor build fix in the name of determinism
3600
3601  * a few coverity fixes
3602
3603 Bugs fixed:
3604  763617 giotypefuncs.c: Sort _get_type functions in the 'C' locale
3605
3606 Translations updated:
3607  Danish
3608  Italian
3609
3610 Overview of changes in GLib 2.47.92
3611 ===================================
3612
3613  * gdbus-codegen now supports g_autoptr()
3614
3615  * g_get_user_runtime_dir() now reliably returns an existing directory
3616
3617  * g_array_remove_range() can now remove 0 items from the end of an array
3618
3619  * Many fixes for Windows
3620    * build fixes
3621    * file monitoring
3622    * gsettings backend
3623    * streams
3624    * random numbers
3625    * wide character support
3626
3627  * documentation improvements
3628
3629  * other small bugfixes
3630
3631 Bugs fixed:
3632  724847 Segmentation fault on "gsettings list-recursively"
3633  743933 gapplication: add --app-id command line option
3634  756706 [PATCH] gio/gtestdbus.c: don't use non-standard %m printf modifier
3635  757506 gsettings: schema_list should use the passed schema's source
3636  760694 W32: Apps linked with -mwindows make cursor busy sometimes
3637  762202 g_win32_error_message improvements
3638  762637 build: Unconditionally dist tapset files
3639  762748 Undefined behavior
3640  762937 Mention that g_clear_error can be used with an "empty" GError
3641  763339 array: Support clearing an empty array with g_array_remove_range()
3642  763344 g_get_user_runtime_dir(): ensure directory exists
3643  763379 codegen: Add support for g_autoptr to gdbus-codegen–generated objects
3644
3645 Translations updated:
3646  Brazilian Portuguese
3647  Czech
3648  Finnish
3649  French
3650  Galician s
3651  German
3652  Greek
3653  Hebrew
3654  Hungarian
3655  Italian
3656  Kazakh
3657  Korean
3658  Latvian
3659  Lithuanian
3660  Occitan
3661  Polish
3662  Russian
3663  Serbian
3664  Slovak
3665  Slovenian
3666  Spanish
3667  Swedish
3668
3669 Overview of changes in GLib 2.47.6
3670 ==================================
3671
3672 * Windows usupport:
3673  - Fixes and improvements to the GSettings registry backend
3674  - Handle readability and writability of registry keys
3675  - Use Unicode registry APIs
3676
3677 * Bugs fixed:
3678 760852 744772 761126 747927 761337 744570 761504 761550 761843
3679  744570 GString is missing (transfer none) annotations on many of its methods
3680  744772 systemtap and gdb scripts install in wrong place
3681  747927 Documentation: various small improvements
3682  760852 gdbusobjectmanagerserver: Clarify recommended ObjectManager paths
3683  761126 winiconv: update to upstream version
3684  761337 Fix some annotations
3685  761504 W32 registry GSettings backend does not use Unicode
3686  761550 Cannot build with default flags under Fedora rawhide (-Werror=format-...
3687  761843 gmacros.h is testing attributes with __has_feature (when compiling wi...
3688
3689 * Translation updates:
3690  Brazilian Portuguese
3691  Bulagarian
3692  Chinese (Taiwan)
3693  Hungarian
3694  Polish
3695  Slovak
3696  Slovenian
3697  Spanish
3698  Swedish
3699
3700
3701 Overview of changes in GLib 2.47.5
3702 ==================================
3703
3704 * the system copy of PCRE is now used by default to implement GRegex.
3705   Configure with --with-pcre=internal if a system PCRE version
3706   is unavailable or undesired.
3707
3708 * interfaces for DTLS support have been added.  A new version of
3709   glib-networking will also be required.
3710
3711 * GDBusMethodInvocation now drops replies if the sender set the
3712   NO_REPLY_EXPECTED flag
3713
3714 * several GApplication fixes, including fixes for commandline arguments
3715   in interpreted languages on Windows
3716
3717 Bugs fixed:
3718  624186 Deprecate glib-gettext macros
3719  734095 gtk-demo.py of PyGObject fails to run on Windows (and likely other binding scripts using g_application_run())
3720  735754 Implement close on TLS GOutputStream
3721  748064 gnulib vfprintf returns desired (not actual) number of bytes, ignores errors
3722  752240 Add DTLS support to GIO
3723  755421 GDBus ignores NO_REPLY_EXPECTED flag in messages, leading to warnings on system bus
3724  756875 Include ntdef.h for NTSTATUS
3725  759554 g_application_run() calls g_main_context_default() repeatidly
3726  760199 gsettings: Install gettext ITS rules
3727  760215 G_LIKELY/_UNLIKELY macros need more parentheses
3728  760683 regex test: Check the expected PCRE exceptions at runtime
3729
3730 Translations updated:
3731  Brazilian Portuguese
3732  Czech
3733  German
3734  Lithuanian
3735  Swedish
3736
3737 Overview of changes in GLib 2.47.4
3738 ==================================
3739
3740 * The GApplication documentation has been improved in several areas.
3741
3742 * Bugs fixed:
3743  749092 gdb pretty-printers fail on Python 3 with a TypeError...
3744  757374 macros: clean up "inline" mess
3745  758641 Memory leak in g_dbus_proxy_new_for_bus_sync()
3746  759134 Add missing checks for gnulib vasnprintf()
3747  759408 Do not use uninitialized var 
3748  756475 Stop supporting non-POSIX getpwuid_r, getgrgid_r
3749  757372 GApplication: destroy the impl on shutdown
3750  728099 macros: add G_GNUC_CHECK_VERSION() for compiler checks
3751  757299 glib-compile-resources: do not leak c_name
3752  758553 Fix gettext use
3753  758823 file monitors: reorder some code to avoid segfault
3754  756214 gsettings: Don't translate ""
3755  710243 Add GParamSpec object ref management annotations
3756  735696 xdgmime: Finer handling for cases where mmap() is not available
3757  752983 gapplication: Acquire the main context before running
3758
3759 * Translation updates:
3760  Swedish
3761
3762
3763 Overview of changes in GLib 2.47.3
3764 ==================================
3765
3766 The inline cleanup in the last release accidentally removed three
3767 symbols from libglib-2.0.so.  It is unlikely that this will have caused
3768 any problems because these symbols were only backup symbols for
3769 definitions exported as inlines in the header files, but ABI is ABI.
3770
3771 This release corrects only this problem.
3772
3773 Overview of changes in GLib 2.47.2
3774 ==================================
3775
3776 * We have formalised the assumption that all compilers that are
3777   interested in support 'static inline' and simplified the macros around
3778   this considerably.  Please watch for and report unintentional fallout.
3779
3780 * New API: hardware-assisted helpers for overflow-checked integer math.
3781
3782 * other fixes
3783
3784 Bugs fixed:
3785  696324 gtester-report doesn't work with Python 3.x
3786  719966 glib: Add missing (nullable) and (optional) annotations
3787  752837 gobject and glib-compile-resources rely on .CRT$XCU section, no longer works with Win 10 UCRT (VS 2015)
3788  755364 make gtkdoc-check happy again
3789  756134 Segmentation fault on calling g_simple_action_group_add_action with bad action constructor call
3790  756179 gwin32.c: Replace VerifyVersionInfoW() with RtlGetVersion() due to API deprecation
3791  756988 GSequence should document each function's complexity
3792  757294 Move G_POLLFD_FORMAT to glibconfig.h
3793  757374 macros: clean up "inline" mess
3794  757451 doc: fix g_task_attach_source() example
3795  757628 gio tests fail to build when cross compiling 2.46.1
3796  757693 Invalid free in g_local_file_trash()
3797  757742 Fix up annotations in ghash.c
3798  758181 GTask: fix wrong example code
3799
3800 Translations updated:
3801  Greek
3802  Hebrew
3803  Hungarian
3804  Norwegian bokmål
3805  Portuguese
3806  Scottish Gaelic
3807  Simplified Chinese
3808  Spanish
3809
3810 Overview of changes in GLib 2.47.1
3811 ==================================
3812
3813 * The Unicode support has been updated to version 8.0 of the Unicode standard
3814
3815 * GDesktopAppInfo no longer sets the DISPLAY environment variable when
3816   launching apps. This is now done in the GAppLaunchContext implementations
3817   when appropriate
3818
3819 * Bug fixes:
3820  664740 Key-value file parser, space after integer
3821  687223 cleverer GThreadPool management
3822  692085 stderr and stdout are not always file descriptors 1 and 2
3823  697907 Add interface for socket-like things (GSocket, DTLS, etc)
3824  735754 Implement close on TLS GOutputStream
3825  737116 Add functions to print GSocketConnectables and addresses as strings
3826  743011 Minor additions to GError documentation
3827  749161 undefined reference to `__imp__stat32i64'
3828  749314 Cannot restore a just-trashed file
3829  751924 Add recvmmsg()-like API on GSocket
3830  752240 Add DTLS support to GIO
3831  752837 gobject and glib-compile-resources rely on .CRT$XCU section, no longer...
3832  753310 Remove `#pragma GCC system_header` from gmessages.h
3833  753935 Update example namespace and class names in GObject tutorial
3834  754855 Object instantiation documentation refers to example that no longer ex...
3835  754983 Wayland: g_desktop_app_info_launch_uris_with_spawn() forces DISPLAY va...
3836  754994 g_date_time_get_second () sometimes returns an off-by-one result
3837  755083 Clarify in G_ADD_PRIVATE that it is safe to call _get_instance_private...
3838  755351 Example still contains g_autoptr(gchar)
3839  755355 Move GStrv to glib.h so it can be used with g_auto()
3840  755374 g_variant_get_child(): flatten-first logic on '&'
3841  755496 glib 2.46 fails GStreamer test suite
3842  755609 glib 2.46.0 breaks Sun Java JVM 1.8.0.60
3843  755766 gvalue: The g_auto cleanup function assert if value is G_VALUE_INIT
3844  755795 2.46 considers empty files as octet-stream rather than text (leads to...
3845  755961 Fix up annotations in gbytes.c
3846  756053 MSVC doesn't understand the symbol 'msghdr'
3847  756054 MSVC linker error due to 'g_socket_send_message_with_timeout()'
3848  756077 testutils: remove internal ABI comment
3849  756099 g_main_context_query(): Annotate @n_fds as (in) parameter
3850  756139 musl: ctors called in the wrong order
3851  756179 gwin32.c: Replace VerifyVersionInfoW() with RtlGetVersion() due to AP...
3852  756251 The documentation of G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START is confusing
3853  756255 GOutputStream swallowing errors in splice with G_OUTPUT_STREAM_SPLICE...
3854  756316 GSequence should provide fast api to check if empty
3855  756382 snprintf used on Windows with VS2015 doesn't support %n
3856  756477 gio/gthreadedresolver.c has outdated copy of bionic headers (for android)
3857  756550 gtypes.h: Make G_MININTn literals negative
3858  756875 Include ntdef.h for NTSTATUS
3859  756952 giomodule: return a copy of module name
3860
3861 * Translation updates:
3862  Basque
3863  Czech
3864  Serbian
3865  Serbian Latin
3866  Vietnamese
3867
3868
3869 Overview of changes in GLib 2.46.0
3870 ==================================
3871
3872 * GTask no longer imposes a fixed limit on the number of tasks that
3873   can be run_in_thread() simultaneously, since doing this inevitably
3874   results in deadlocks in some use cases. Instead, it now has a base
3875   number of threads that can be used "for free", but will gradually
3876   add more threads to the pool if too much time passes without any
3877   tasks completing.
3878
3879   The exact behavior may continue to change in the future, and it's
3880   possible that some future version of GLib may not do any
3881   rate-limiting at all. As a result, you should no longer assume that
3882   GTask will rate-limit tasks itself (or, by extension, that calls to
3883   certain async gio methods will automatically be rate-limited for
3884   you). If you have a very large number of tasks to run, and don't
3885   want them to all run at once, you should rate-limit them yourself.
3886
3887 * Disable runtime-deprecation warnings
3888
3889 * Fix marshalling of flags on bigendian 64bit architectures
3890
3891 * Translation updates
3892  Brazilian Portuguese
3893  Danish
3894  German
3895  Latvian
3896  Russian
3897  Turkish
3898
3899
3900 Overview of changes in GLib 2.45.8
3901 ==================================
3902
3903 * utf8 validation and utf8-to-ucs4 conversion are faster
3904
3905 * Small speedups to property change notification
3906
3907 * Various other small optimizations for GQuark, GData
3908
3909 * Bugs fixed:
3910  696426 GParamSpecTypeInfo do not need to be static
3911  735429 Cleanup MSVC Project Files Generation
3912  738504 Optimize UTF-8 decoding by unrolling branches and expressions
3913  742903 Add missing (transfer) annotation to GString
3914  748633 g_set_object order of operations
3915  754431 Fix build of glib/gstrfuncs.c on Windows
3916  754560 gioerror: Add more mappings for WinSock error codes
3917  754582 Glib cannot compile
3918  754601 Make g_strerror work with non-glibc POSIX systems
3919  754636 tests/unicode-encoding test fails for glib 2.45.7 on x86-64
3920  754788 more g_strerror stuff
3921  754831 autocleanups: Add GString type
3922  754924 Improve test coverage of g_utf8_validate() by added known-...
3923  754986 Avoid unnecessary signal emission during draw
3924
3925 * Translation updates:
3926  Italian
3927  Kazakh
3928  Korean
3929  Lithuanian
3930  Slovenian
3931  Swedish
3932
3933
3934 Overview of changes in GLib 2.45.7
3935 ==================================
3936
3937 * Add G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE for use by non-POSIX-like
3938   backends (e.g. cloud storage).
3939
3940 * GFileMonitor: Make the inotify backend work with atomic renames again
3941
3942 * GSettings: change notification is again working unconditionally
3943
3944 * GListStore has a sort function now
3945
3946 * Test infrastructure:
3947  - Tests are now required to have unique names
3948  - TAP support has been improved
3949  - A macro for asserting that two memory regions have identical content
3950    has been added
3951
3952 * Bugs fixed:
3953  708525 A "g_file_query_info" on the file path "/sys/kernel/debug/hid"...
3954  742849 inotify: send paired events to both sides
3955  744060 Update GObject tutorial documentation to use G_DECLARE_FINAL_T...
3956  747364 Fix GError leak in g_file_query_writable_namespaces()
3957  749492 Support file creation time on FreeBSD and NetBSD
3958  752769 (g_socket_receive_message | g_socket_send_message) performance
3959  753745 glib-genmarshal still needed for cross-compilation
3960  754152 Add g_list_store_sort
3961  754211 Memory leak in g_file_enumerator_iterate ()
3962  754264 GLib 2.44 certificate chain construction fails if the PEM incl...
3963  754283 gtestutils: add g_assert_cmpmem()
3964  754284 gtestutils: print the TAP test plan first, not last
3965  754286 misc gtestutils fixes
3966  754307 size of array '_GStaticAssertCompileTimeAssertion_3387' is neg...
3967
3968
3969 * Translation updates:
3970  Chinese (Taiwan)
3971  French
3972  Galician
3973  Greek
3974  Hebrew
3975  Hungarian
3976  Indonesian
3977  Polish
3978  Portuguese
3979
3980
3981 Overview of changes in GLib 2.45.6
3982 ==================================
3983
3984 * Fix a test failure and a build failure
3985
3986 Overview of changes in GLib 2.45.5
3987 ==================================
3988
3989 * GNetworkMonitor now provides information about metered networks
3990
3991 * g_mem_set_vtable has been deprecated; it has not been working for
3992   quite a while. The recommendation is to use valgrind, or replace
3993   malloc itself.
3994
3995 * Bugs fixed:
3996  656325 Make GDBusInterfaceVTable binding friendly
3997  741779 Documentation tweaks addressing real-world API misuses
3998  741822 Fails to build with VS 2015
3999  742386 gdbusconnection: Don't g_printerr() when exiting
4000  743018 gobject: Add more cross-links between documentation pages
4001  750282 Add g_network_monitor_get_network_metered() to get if the connection...
4002  751358 GFileMonitor doesn't react to "mv some-file watched-file"
4003  751592 Stop using GMemVtable
4004  751598 Stop 'handle-local-options' propagation when callback reports an err...
4005  751610 g_str_hash produces collisions with strings of length 2
4006  751751 Wrong docs of g_async_queue_remove
4007  752210 gdbus command crashes with SIGSEGV
4008  752656 gdbusconnection: Fix signal subscription documentation
4009  752767 Fix typo in g_hash_table_replace() documentation
4010  753278 gdbus: Don't use g_assert_no_error() GDBusObjectManagerServer
4011  753285 g_menu_item_set_icon fails if called with NULL icon
4012
4013 * Translation updates:
4014  Catalan
4015  Czech
4016  French
4017  Indonesian
4018  Lithuanian
4019  Norwegian bokmål
4020  Slovak
4021  Spanish
4022  Thai
4023  Turkish
4024
4025
4026 Overview of changes in GLib 2.45.4
4027 ==================================
4028
4029 * Bugs fixed:
4030  727829 win32: glibconfig.h.win32 updates
4031  741901 Clang cannot know that g_error don't return
4032  746339 GSocket kills process when fd is not a socket
4033  747676 gio/tests/socket fails: test_fd_roundtrip
4034  748610 Some tests fail with non-English locales
4035  749911 g_inet_address_to_string broken on XP/2003
4036  749912 g_inet_address_new_from_string broken on XP/2003
4037  750625 Should dismiss Software Updates Available notification after...
4038  750807 G_BREAKPOINT doesn't work as intended on Darwin
4039  751160 gtask does unnecessary work
4040  751672 -Wduplicate-decl-specifier in glib/tests/keyfile.c
4041  751731 GFile/DirectoryMonitor emit move events with other_file=NULL
4042  751737 gio/tests/appmonitor test fails in 2.45.3
4043  751798 Wrong enum type used in some test-cases
4044  752089 make gsocketservice::active a property
4045  752293 small cleanup: use list_free_full
4046
4047 * Translation updates:
4048  Greek
4049  Hebrew
4050  Portuguese
4051
4052
4053 Overview of changes in GLib 2.45.3
4054 ==================================
4055
4056 * Improve performance of g_signal_handler_disconnect for signals
4057   with many handlers
4058
4059 * GDBus has gained a new call flag to allow interactive authorization
4060
4061 * GSettings:
4062  - New API: g_settings_schema_list_keys
4063  - Deprecated: g_settings_list_keys
4064
4065 * OS X:
4066  - Implement GNotification
4067  - Bump the OS X requirement to 10.9
4068
4069 * Windows:
4070  - Add registry reading API
4071  - Reimplement GAppInfo using registry information
4072
4073 * Bugs fixed:
4074  666831 Support URI opening on W32
4075  728489 property action with inverted boolean state
4076  730168 Incorrect annotation on g_action_group_get_action_state_type return...
4077  733325 Several regex tests fail with pcre3 8.35
4078  734888 GLib has no helper functions to work with W32 Registry
4079  737009 signal handler lookup doesn't scale
4080  738185 Misleading language about "file name encoding" in the docs on g_env...
4081  738504 Optimize UTF-8 decoding by unrolling branches and expressions
4082  739122 glib not handling -1 return ("no limit") from sysconf (_SC_THREAD_S...
4083  739424 gnome-shell crashes when files are added, deleted, or modified in $...
4084  739616 DBus; Add new call flag to allow interactive authorization
4085  740308 Add g_settings_schema_list_keys() method
4086  740516 RFE: please provide an introspectible version of g_log_set_handler
4087  741788 Document GSettings build system integration
4088  745013 GBinding not thread safe
4089  747146 Implement GNotification on OSX
4090  747941 try XDG_RUNTIME_DIR/bus before falling back to X11 autolaunch (dbus...
4091  748727 Filechooser dialog shows no icons for directories on W32
4092  749693 GActionGroupExporter: flush queue on requests
4093  750203 GNetworkMonitorNetlink hangs in user namespace
4094  750322 gapplication: Make sure --help output is translated
4095  750344 GTlsInteractionClass is missing from doc
4096  750369 Various GBinding cleanups
4097  750386 Race condition in g_io_condition_get_type
4098  750399 Typo "equilalent" in glib documentation's glib-Error-Reporting.html...
4099  750573 GTlsDatabaseClass is not documented
4100  750918 genmarshal: silence register storage class warnings
4101  751122 gsocket: avoid unnecessary g_socket_cond_wait() in _send_messages()
4102  479730 The "g_key_file_set_comment" interface prepends '#' character to...
4103
4104 * Translation updates:
4105  Hungarian
4106  Spanish
4107
4108
4109 Overview of changes in GLib 2.45.2
4110 ==================================
4111
4112 * Improve error reporting in glib-compile-schemas.
4113
4114 * Add introspection annotations to GListStore.
4115
4116 * Bugs fixed:
4117  696749 win32 : failed to compile because of careless mistake in the code
4118  723394 const parameter to GtkPopover gtk_popover_set_pointing_to
4119  724113 gdbus-connection-loss test can fail on slow machines
4120  725981 tap-driver.sh: internal error getting exit status
4121  733325 Several regex tests fail with pcre3 8.35
4122  744895 Unknown or unsupported transport 'this-should-not-be-used-and-will...
4123  747882 gtype: Bump allowed number of children
4124  748534 gtest: if a subprocess assertion fails, print its stdout and stderr
4125  748612 de_DE locale used in option-context test is not supported by FreeBSD
4126  748614 Double unref in g_socket_listener_add_inet_port
4127  748834 glocalfilemonitor: Emit notification on rate limit change
4128  749079 gdbus-peer test: TCP tests can fail with ECONNRESET due to a race...
4129  749080 gdatetime test: fails if close to rollover between seconds
4130  749180 gnetworkaddress: add return type annotation to parse methods
4131  749352 g_binding_unbind() fails when source is also the target
4132  749353 GBinding does not connect to the detailed notify signal
4133
4134 * Translation updates:
4135  Catalan
4136  French
4137  Slovak
4138  Thai
4139
4140
4141 Overview of changes in GLib 2.45.1
4142 ==================================
4143
4144 * The GSettings schema compiler, glib-compile-schemas has been changed
4145   to reject schema xml that has duplicate <summary> or <description>
4146   elements. Such elements typically occur when translations are merged
4147   into the schema, with xml:lang attributes. This is not the correct
4148   way to translate schemas. Instead keep the translations in the .mo
4149   file and set the gettext-domain attribute on the <schemalist> element.
4150
4151 * The file monitoring infrastructure has been rewritten, and all backends
4152   have seen major improvements.
4153
4154   The inotify backend is reporting events with less delay (no event will
4155   be delayed more than 10ms) and wakeups due to file monitoring have been
4156   significantly reduced. A CHANGES_DONE event will also be sent when new
4157   files appear.
4158
4159   The poll implementation is now using the thread default main context.
4160
4161   The fam implmentation is now running in the worker thread.
4162
4163   The fen implementation has been removed, since it was unmaintained.
4164
4165 * The GSettings schema compiler, glib-compile-schemas, is more strict
4166   about rejecting schemas with xml:lang style merged translations.
4167   Schema translations should be done by specifying the gettext domain
4168   in the xml, and keeping the translations in gettext. To avoid breaking
4169   already-installed schemas, this change is only taking effect when
4170   you use the --strict option.
4171
4172 * The hardcoded 10-thread limit of GTask's thread pool has been removed,
4173   since it was prone to causing deadlocks. The thread pool is now allowed
4174   to grow dynamically and will shrink back over time.
4175
4176 * GSimpleAsyncResult has been deprecated in favor of GTask.
4177
4178 * The algorithm used by GAppInfo to find default handlers for mime types
4179   has been tweaked to prefer apps that handle the specific subtype over
4180   default handlers for a generic supertype.
4181
4182 * Bug fixes:
4183  627285 inotify file monitor hardwired delay
4184  631597 Segmentation fault in append_escaped_text
4185  661767 merge/improve various bits of run-in-thread functionality
4186  687223 cleverer GThreadPool management
4187  711547 win32: silence some build warnings
4188  719966 glib: Add missing (nullable) and (optional) annotations
4189  726447 Possibly an error in text string
4190  728663 W32: wrong stat struct is used when built with MinGW-w64
4191  728669 W32: GLocalFile can't measure size of files larger than 2^32...
4192  730188 gsocket: Document FD ownership with g_socket_new_from_fd()
4193  733325 Several regex tests fail with pcre3 8.35
4194  738207 Add a way to set SO_SENDBUF and SO_RECVBUF on listener (and...
4195  739850 GClosure: add valgrind hints
4196  741791 gmain: Save errno when handling unix signals
4197  744282 gvfs-open for application/x-virt-viewer changed behaviour bet...
4198  745255 Add support for copying sessions between GTlsClientConnections
4199  745745 gdbus: fix out-of-bound array access
4200  745821 Don't use __alloc_size__ attribute with clang
4201  746749 GLib-GIO:ERROR:inotify-kernel.c:327:ik_source_dispatch: ass...
4202  746753 Glib-compile-resources --generate-header not using ".h" as ...
4203  747209 glib-compile-schemas ought to reject repeated <summary> and...
4204  747349 Conversion of gdbus to use GTask causes deadlocks
4205  747363 gatomic: Add missing new line in API doc comment
4206  747472 Don't ignore already-installed schemas with multiple <summa...
4207  747541 gdbus segfaults with invalid --dest
4208  747772 Having hardcoded utf8 strings in the source code does not p...
4209  748019 gsocketconnection: Fix copy-pasto in documentation
4210  748177 not all test schemas are distributed, "make distcheck" fails
4211
4212 * Translation updates:
4213  Basque
4214  Czech
4215  Danish
4216  Finnish
4217  German
4218  Hebrew
4219  Icelandic
4220  Norwegian bokmål
4221  Russian
4222  Turkish
4223
4224
4225 Overview of changes in GLib 2.43.92
4226 ===================================
4227
4228 GLib is now considered frozen.  We do not expect any major changes
4229 before the release of 2.44.0.
4230
4231  * GUnixMountMonitor now properly supports multiple main contexts
4232
4233  * many documentation improvements and cleanups.  We are now
4234    approaching a point where the documentation is 100% complete and the
4235    xml will build without warnings.  This will probably be enabled by
4236    default in the next cycle.
4237
4238  * new support for HTTP proxies in GIO
4239
4240  * new GTask:completed property
4241
4242  * use "private" futexes in order to further improve the performance of
4243    the contended case of GMutex and g_bit_lock()
4244
4245 Bugs fixed:
4246  614684 Make various parts of GObject const-correct
4247  730352 Use inet_pton(), if_nametoindex() and if_indextoname() for newer versions of Windows
4248  733876 Proxy protocol 'http' is not supported.
4249  741442 threads: use FUTEX_WAIT_PRIVATE and FUTEX_WAKE_PRIVATE if possible
4250  742599 Clean up GUnixMountMonitor
4251  743636 gtask: Add a GTask:completed property
4252  743661 g_win32_check_windows_version() is missing from doc
4253  744722 docs: Expand introduction to mention using async calls over sync ones
4254  745589 [Patch] gio: add some missing autocleanup
4255  745634 [GNotifications] Use themed icon as icon-name
4256
4257 Translations updated:
4258  Bosnian
4259  Bulgarian
4260  Catalan
4261  Czech
4262  French
4263  German
4264  Greek
4265  Hungarian
4266  Italian
4267  Kazakh
4268  Korean
4269  Latvian
4270  Lithuanian
4271  POTFILESin
4272  Polish
4273  Russian
4274  Serbian
4275  Slovak
4276  Slovenian
4277  Spanish
4278  Swedish
4279  Vietnamese
4280  pa  for Gnome
4281
4282 Overview of changes in GLib 2.43.91
4283 ===================================
4284
4285 We have now added 'g_autofree' as a libgsystem-style autocleanup macro
4286 that calls g_free() on the content of a local variable when it leaves
4287 scope (working only on GCC and clang).
4288
4289 GApplication now has an "is-busy" property, allowing one to query the
4290 effective busy state.
4291
4292 There have been various other bugfixes and cleanups.
4293
4294 Bugs fixed:
4295  661554 GIO's use of GError is wrong
4296  744263 Fix format specifier for __LINE__ in G_OBJECT_WARN_INVALID_PSPEC
4297  744565 gapplication: add bind_busy_property()
4298  744747 Add g_autofree
4299  744756 Can't find out if gapplication is marked as busy
4300  744830 autocleanups: Add GArray and GPtrArray
4301  744876 Unclean exit from from g_application_run
4302  745239 g_property_action_new missing type annotation
4303
4304 Translations updated:
4305  Chinese (Taiwan)
4306  French
4307  Galician
4308  Lithuanian
4309  Slovak
4310
4311 Overview of changes in GLib 2.43.90
4312 ===================================
4313
4314 * new GSimpleIOStream class to construct a GIOStream from an arbitrary
4315   GInputStream and GOutputStream
4316
4317 * GApplication: new API for marking 'busy' state according to the value
4318   of a boolean property on another object
4319
4320 * GOptionGroup: add binding support (boxed type, annotation fixes, etc.)
4321
4322 Bugs fixed:
4323  739724 Test functions should have async scope
4324  741024 glist: Mention that g_list_length() is bad for checking list emptiness
4325  741630 Add GSimpleIOStream class
4326  743349 goption: Add boxed type for GOptionGroup
4327  743990 GDBus connection closing is broken
4328  744565 gapplication: add bind_busy_property()
4329
4330 Translations updated:
4331  Greek
4332  Italian
4333  Norwegian bokmål
4334  Russian
4335  Slovenian
4336  Swedish
4337
4338 Overview of changes in GLib 2.43.4
4339 ==================================
4340
4341 * GType now has type declaration macros G_DECLARE_DERIVABLE_TYPE,
4342   G_DECLARE_FINAL_TYPE and G_DECLARE_INTERFACE, which significantly reduce
4343   the boilerplate needed for GObject types and interfaces.
4344
4345 * g_autoptr and g_auto are macros for declaring variables with automatic
4346   cleanup. They only work with gcc and clang.
4347
4348 * GListModel is a new interface that represents a dynamic list of GObjects.
4349
4350 * GListStore is a GSequence-based implementation of GListModel.
4351
4352 * Support thread names on OS X
4353
4354 * g_simple_action_set_state_hint: New function to set the state hint
4355   of GSimpleActions
4356
4357 * g_win32_check_windows_version: New function to check Windows version
4358
4359 * g_settings_schema_list_children and g_settings_schema_key_get_name
4360   are new functions to complete the GSettingsSchema API.
4361
4362 * Bugs fixed:
4363  389585 G_DEFINE_TYPE hack for header files
4364  729351 Add GListModel
4365  736914 Docs: various fixes and improvements
4366  741807 Add thread name support on OS X and iOS
4367  741895 gwin32: Add Simple API to check whether we are on at least a v...
4368  742456 object: Add g_steal_pointer() convenience function to mark own...
4369  743508 polkitd fails to start: patch for gio/gcredentialsprivate.h
4370  743517 GSettings API is missing some introspection functions
4371  743521 GSimpleAction: add g_simple_action_set_state_hint
4372  743596 G_DECLARE_DERIVABLE_TYPE() should allow additional typedef for...
4373  743640 add __attribute__((cleanup)) support
4374  743827 Fix build of GListModel (on Visual Studio)
4375  743927 GListStore: add sorted insert function
4376  743936 glib: handle unsigned modifier for long long in internal printf
4377  744012 Add GMutexLocker
4378  744190 Fix build on Compilers That Do Not Use inline for Plain C Code
4379
4380
4381 Overview of changes in GLib 2.43.3
4382 ==================================
4383
4384 * add g_set_object() convenience function
4385
4386 * GNetworkMonitor: check if NM is not running and don't crash
4387
4388 * fix some races with g_mkdir_with_parents
4389
4390 * fix some warnings in MSVC
4391
4392 * avoid use of G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC in order to save
4393   on static strings
4394
4395 * fix some content type vs. mime issues
4396
4397 * documentation improvements
4398
4399 * Bugs fixed:
4400  719455  g_file_make_directory_with_parents() can erroneously throw G_IO_ERROR_EXISTS
4401  732439  GSocket: avoid unnecessary g_socket_wait_condition() for blocking sockets
4402  734946  Implement GContentType on OSX
4403  741589  gobject: Add g_set_object() convenience function to set GObject pointers
4404  741653  gnetworkmonitornm: Check if network-manager is running
4405  741654  [patch] gobject: don't use G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC() macro
4406  741707  Gsocket blocks trying to send data
4407  741788  Document GSettings build system integration
4408  742548  configure.ac: stay out of autoconf's namespace
4409  742851  avoid MSVC warnings in G_STMT_END
4410  742972  ggettext: Include an example of setlocale() and friends in the i18n docs
4411  743014  gtestutils: Add an example of using test fixtures 
4412
4413 * Translations updated:
4414  Basque
4415  Brazilian Portuguese
4416  Spanish
4417
4418 Overview of changes in GLib 2.43.2
4419 ==================================
4420
4421 * New function: g_strv_contains
4422
4423 * New function: g_network_address_new_loopback
4424
4425 * New function: g_socket_send_messages
4426
4427 * A new GNetworkMonitor implementation using NetworkManager provides
4428   more detailed connectivity information
4429
4430 * Bugs fixed:
4431   11059 Linux poll issue
4432  664562 captive wifi portal support for GNetworkMonitor
4433  685880 Add g_strv_contains()
4434  712570 Hang in g_threaded_socket_service_func
4435  719646 GSocket: add g_socket_send_messages() to send multiple messages...
4436  728928 Provide separate error code for "Connection reset by peer"
4437  732317 Support GSocketConnectable for loopback addresses
4438  740814 "make check" should ensure that every symbol is documented
4439  740848 Backend subscription fails when connecting to a signal with a d...
4440  741016 gio: add G_IO_ERROR_NOT_CONNECTED
4441  741226 keyfile: Add "in group" to GError message consistently
4442
4443 * Translation updates:
4444  Gujarati
4445  Hebrew
4446  Hungarian
4447  Kannada
4448  Turkish
4449  Vietnamese
4450
4451
4452 Overview of changes in GLib 2.43.1
4453 ==================================
4454
4455 * GQueue now accepts NULL as a sibling in g_queue_insert_before() and
4456   g_queue_insert_after()
4457
4458 * Bugs fixed:
4459   11059 Linux poll issue
4460  726037 Add G_PARAM_READWRITE value to the GParamFlags enumeration
4461  727988 GMemoryOutputStream hangs when writing more than 1GiB
4462  729739 tlscertificate: add support for loading certificate chains
4463  733791 GSettings: delay backend subscription
4464  736286 Clarify g_file_replace behavior with etags
4465  736620 GQueue: accept NULL sibling for insert_before() and insert_after()
4466  737150 GLib-GIO-WARNING **: Failed to parse translated string 'visible-name...
4467  737160 unhelpful error message
4468  738259 GDBusInterfaceVTable: clarify memory handling for the method() virt...
4469  738551 'interface' variable conflicts with Windows defines
4470  738633 Need to disable SSLv3 in glib-networking
4471  740157 <app> --help doesn't work even when options were added
4472  740309 Fix docs in g_strfreev
4473  740413 Fix the GSettings Registry Backend 
4474
4475 * Translation updates:
4476  Norwegian bokmål
4477
4478
4479 Overview of changes in GLib 2.43.0
4480 ==================================
4481
4482 * GObject gained a debug option to provide instance counts. To use it,
4483   set GOBJECT_DEBUG=instance-count and call g_type_get_instance_count().
4484
4485 * GOption now has a strict POSIX mode in which it stops parsing arguments
4486   as soon as a non-option argument is encountered.
4487
4488 * Bugs fixed:
4489  354457 Feature Proposal: Per-Type Statistics for Instantiable GTypes
4490  695082 g_hash_table_remove_all is not save against a call to g_hash_table_remove
4491  723160 GOption: add strict posix mode
4492  728256 gcredentials: add NetBSD support
4493  729739 tlscertificate: add support for loading certificate chains
4494  733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
4495  736273 gdesktopappinfo: Use symbolic names in the code
4496  736284 Keep only one list of signal emissions
4497  736806 gtask: Fix reference count loop causing leaks
4498  736914 Docs: various fixes and improvements
4499  737143 Include <stdint.h> in glib/valgrind.h
4500  737259 gcancellable: Clarify that GSources hold references to GCancellables
4501  737338 gmain: Unref child sources when finalising a GSource
4502  737446 tests: Fix some minor leaks in the unit tests
4503  737451 Provide api to read_all_async
4504  737741 g_datalist_id_get_data assertion fails for non-existant keys
4505  737869 GApplication command line handling breaks --help
4506  738170 g_byte_array_new_take() doesn't initialize array->alloc
4507  738197 g_cond_timed_wait() doesn't time out on Mac OS X
4508  738374 gfile: g_file_equal (x, x) is TRUE
4509  738675 GSubprocessLauncher is missing some data on the docs 
4510
4511 * Translation updates:
4512  Bengali (India)
4513  Bulgarian
4514  Gujarati
4515  Italian
4516  Telugu
4517
4518
4519 Overview of changes in GLib 2.42.0
4520 ===================================
4521
4522 All changes in this release are trivial in nature.
4523
4524  - introspection warning fixes
4525
4526  - g_application_add_main_option now uses an enum instead of an 'int'
4527    for the type of a parameter
4528
4529  - added a G_OPTION_FLAG_NONE so that people don't need to use 0
4530
4531  - gresource: Use GError in more places
4532
4533  - gresource commandline tool: improve extraction from multiple sections
4534
4535  - GSource now takes the context lock (if any) in g_source_set_name()
4536
4537  - new documentation to clarify the use of some APIs related to
4538    GVariant, GSource, GApplication
4539
4540  - other minor updates to docs
4541
4542 * Bugs fixed
4543  736683 Thread safety issues with g_main_context_find_source_by_id
4544  736975 [patch] please document that GVariant serialization needs an
4545         out-of-band length field
4546
4547 * Translation updates
4548  Danish
4549  Hindi
4550  Marathi
4551  Punjabi
4552  Serbian
4553  Simplified Chinese
4554
4555 Overview of changes in GLib 2.41.5
4556 ==================================
4557
4558 * Bug fixes:
4559  735819 single native credential struct used for two purposes
4560  735915 glib-building.html uses --enable-gcov instead of --enable-coverage
4561  736350 GDesktopAppInfo: avoid polling on missing desktop dirs
4562  736351 Don't use issetugid() on Android
4563         Fix the default application logic in GDesktopAppInfo
4564  736458 Only use rand_s() when targetting Visual Studio >= 2005
4565
4566 * Translation updates
4567  Galician
4568  Hungarian
4569  Indonesian
4570  Kannada
4571  Latvian
4572  Polish
4573  Russian
4574  Slovenian
4575  Tamil
4576
4577
4578 Overview of changes in GLib 2.41.4
4579 ==================================
4580
4581 * GApplication now has binding-friendly API to handle
4582   commandline options: g_application_add_main_option
4583
4584 * G_GNUC_BEGIN_IGNORE_DEPRECATIONS works with clang
4585
4586 * Bugs fixed:
4587  583330 poll list of mounted file systems (no mtab support)
4588  727455 Command line option parsing from bindings
4589  734126 add G_GNUC_BEGIN_IGNORE_DEPRECATIONS macro for clang
4590  735179 gsocketclient: Handle cancellation between CONNECTING...
4591  735297 Docs claim that GThread struct is deprecated 
4592
4593 * Translation updates:
4594   Assamese
4595   Catalan
4596   Catalan (Valencian)
4597   Czech
4598   French
4599   German
4600   Greek
4601   Hebrew
4602   Korean
4603   Oriya
4604   Traditional Chinese
4605
4606
4607 Overview of changes in GLib 2.41.3
4608 ==================================
4609
4610 * g_clear_pointer and g_clear_object no longer use atomics
4611
4612 * Bugs fixed:
4613  711547 win32: silence some build warnings
4614  725511 Compiled resource files should have the same /-separators everywhere
4615  725513 Some tests fail to build on W32
4616  725514 W32: gfileutils does not preserve errno correctly
4617  725515 test-printf fails on W32
4618  728730 gsocket: Set SO_NOSIGPIPE on sockets on Darwin
4619  729703 Leaks a GError in g_file_move
4620  730932 statically assert that reasonable assumptions about enums are true
4621  732085 gtype: Fast-path for g_type_is_a
4622  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
4623  733345 ginetaddress: Add a precondition to g_inet_address_new_from_string()
4624  733576 Patches from static analysis run on 2.40
4625  733715 glib's configure.ac makes accidentally use of nested function
4626  733934 win32: improve the package installation dir lookup
4627  733960 W32: spawning a console process creates a new window when stdout...
4628  733969 Remove atomic aspects of g_clear_pointer/object
4629  733982 Do not crash when checking whether an instance type is of a given...
4630  734035 gedit hangs up when there's no GSettings key in the registry 
4631
4632 * Translation updates:
4633  Basque
4634  Brazilian Portuguese
4635  Lithuanian
4636  Slovenian
4637  Spanish
4638
4639
4640 Overview of changes in GLib 2.41.2
4641 ==================================
4642
4643 * The Unicode support has been updated to version 7.0
4644   of the Unicode standard
4645
4646 * GNotification now supports priorities for notifications
4647
4648 * GCredentials has gained NetBSD support
4649
4650 * GMutex now uses a faster, native implementation on Linux
4651
4652 * Bugs fixed:
4653  699132 Pluggable event loop backends
4654  720708 g_assert_warning(): number of arguments doesn't match for...
4655  722092 Add GtkApplication resources support
4656  724986 Change gio/data-to-c.pl to /usr/bin/env perl.
4657  727974 Fix up failure-to-see-expected-message logging
4658  728256 gcredentials: add NetBSD support
4659  728401 GDateTime: Add guards to g_date_time_new()
4660  729825 Formatting of g_alloca documentation
4661  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro...
4662  730293 clang++-3.4: error: 'register' storage class specifier is ...
4663  731339 giochannel: avoid setting uninitialised length
4664  731424 #ifdef spaghetti for load_user_special_dirs() implementations
4665  731623 GNotification: add support for a priority setting
4666  731929 update tables to unicode 7.0.0
4667  731950 gvalue: New g_value_from_instance
4668  731986 GLib: implement GMutex natively on Linux
4669  732184 GObject: warn on use of deprecated properties
4670  732357 Docs: various fixes and improvements
4671  732429 GActionEntry: improve documentation
4672  732465 Fix build on x64 Visual C++ builds
4673  732704 Docs: various fixes and improvements
4674  732739 ginetsocketaddress: Explicitly initialise flags for getaddr...
4675  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
4676  732984 g_object_ref(NULL) in g_dbus_object_manager_client_finalize
4677  733084 Typos in g_bytes_hash() and g_time_zone_find_interval() docs
4678  733146 spawn helper does not use correctly the parameters 
4679
4680 * Translation updates:
4681  Lithuanian
4682
4683
4684 Overview of changes in GLib 2.41.1
4685 ==================================
4686
4687 * Bug fixes:
4688  697229 Custom Interface implementations will be broken with glib 2.37/38
4689  698614 GObject: prevent installing properties after init
4690  729269 gvariant: Fix confusion between type and format strings in the docs
4691  730198 broken valgrind.h leads to crashes in g_type_free_instance on mingw64
4692  730807 GMutex performance regression
4693  730963 gconvert: mention that the g_convert len should be in bytes
4694  730984 Faster instance type check for fundamentals
4695  731050 <structname> tags appear in documentation
4696  731200 unconditional 'notify' during g_object_set() is problematic
4697  731335 gtype: guard uses of new fundamental type check
4698  731341 gparam: change value of G_PARAM_EXPLICIT_NOTIFY
4699  731366 run-assert-msg-test.sh gdb leaves assert-msg-test zombie
4700  731425 giomodule protects function-call with different token than function...
4701  731513 clang: build failure: implicit declaration of function '__atomic_load_4'
4702  731584 gbookmarkfile: Cleaner error handling code to pacify static analysis
4703  731657 Prevent an invalid @CARBON_LIBS@ from appearing in the .pc files
4704  731979 docs: Correct param to interface's default_init()
4705  731996 Return folder as icon for directories
4706  732002 gwakeup: Clarify buffer sizing in g_wakeup_signal()
4707  732005 Remove unused assignments
4708  732019 gtestdbus: Don’t close stdout for dbus-daemon
4709  732068 gsignal: Add an example to the g_signal_connect_swapped() documentation
4710  732081 gsocket: Document that g_socket_create_source() holds a socket ref
4711  732107 gsocketlistener: Reconsider closing sockets on listener finalisation
4712
4713
4714 Overview of changes in GLib 2.41.0
4715 ===================================
4716
4717 * Many bugfixes found by static analysis, including potential fd leaks
4718   and NULL pointer dereferences.
4719
4720 * Increased use of (nullable) attribute on out values and return types
4721   now that it is supported (mostly from porting Vala metadata).
4722
4723 * use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of desktop
4724   files, deprecating g_desktop_app_info_set_desktop_env()
4725
4726 * add support for g_desktop_app_info_get_implementations() to find
4727   desktop files that have an Implements= line for a given interface
4728
4729 * GHmac has gained SHA-512 support
4730
4731 * support the new mimeapps specification (most notably, moving the
4732   assoications/defaults configuration to ~/.config/mimeapps.list).
4733
4734 * libgobject is now linked -Wl,-z,nodelete when possible to avoid errors
4735   when gobject is used from a module for a program that does not itself
4736   use gobject and that module is unloaded/reloaded
4737
4738 * ... and many other bug fixes.
4739
4740  623552 glib warns if backtrace.py is not present
4741  667468 glib-2.30.2: ipv6 tests fail when no ipv6 support is available
4742  668152 -framework Carbon linker flag not passed to pkg-config .pc files
4743  707298 libgobject should be linked with -Wl,-z,nodelete
4744  712391 Add g_desktop_app_info_get_implementors()
4745  722723 Infinite recursion when calling g_io_stream_close_async() from libsoup
4746  724741 hmac: Fix support for SHA-512 in GHmac
4747  726040 networkaddress: fix parsing of uri with @ after authority
4748  726318 gio: Document that GSocket is not thread safe
4749  726611 socketclient: Leak on cancellation
4750  726872 gio: Add names to idles and timeouts
4751  727119 wrong IN6_IS_ADDR_MC_LINKLOCAL usage break android build
4752  727123 GNotification: Some small documentation fixes
4753  727320 docs: Remove escaping '\' from literals
4754  727551 Check use_count of GApplication in g_application_release()
4755  727559 g_file_copy: Don't set GError when we intend to ignore errors
4756  727692 gio/gtlscertificate.c -- broken PEM-file processing (affects local CA root stores, for starters)
4757  727890 soup_content_sniffer_real_sniff segfault
4758  727900 gio: Add newer dbus UnknownXxxx and PropertyReadOnly errors
4759  727928 gapplication-tool fixes
4760  727939 INTLLIBS are always appended in configure checks
4761  727964 g_io_extension_point_get_extension_by_name: Warn, but don't crash, for NULL inputs
4762  728040 Implement new mimeapps spec
4763  728066 Deal with startup notify id being NULL
4764  728280 platform_get_argv0: fix sysctl(3) use on OpenBSD
4765  728285 docs: Use markdown links in .h files, too
4766  728350 gaction: Minor clarifications in the GAction documentation
4767  728380 docs: Remove <!-- --> comment before plural s
4768  728565 gfile: More explicitly document the context for GFileProgressCallback
4769  728983 Docs: various fixes and improvements
4770  729167 gobject: Document that classes/objects/interfaces are zero-filled
4771  729563 GOption: A short option's value is included in G_OPTION_REMAINING
4772  729813 AppInfo: use XDG_CURRENT_DESKTOP for OnlyShowIn
4773  729875 gio: cleanup gdbusmessage.c file
4774  730045 Avoid overeager warning about deprecated properties
4775  730189 gtestutils: Fix a very unlikely FD leak in test fork handling
4776  730190 gsocket: Add missing preconditions to g_socket_send_message()
4777  730277 gthread: Fix use of a local variable after it went out of scope
4778  730278 gsubprocess: Add a missing va_end() call
4779  730295 gdbus-tool: Remove dead variables
4780  730493 Port annotations from Vala metadata
4781
4782 Translations updated:
4783  Basque
4784  Brazilian Portuguese
4785  Catalan
4786  Czech
4787  Danish
4788  Greek
4789  Hebrew
4790  Hungarian
4791  Punjabi
4792  Serbian
4793  Slovenian
4794  Spanish
4795  Ukrainian
4796
4797 Overview of changes from GLib 2.39.91 to GLib 2.39.92
4798 =====================================================
4799
4800 This is a release candidate for 2.40.0.
4801
4802 * g_test_run() no longer runs tests in exactly the order they are
4803   registered; instead, it groups them according to test suites (ie,
4804   path components) like the documentation always claimed it did. In
4805   some cases, this can result in a sub-optimal ordering of tests,
4806   relative to the old behavior. The fix is to change the test paths to
4807   properly group together the tests that should run together. (eg, if
4808   you want to run test_foo_simple(), test_bar_simple(), and
4809   test_foo_using_bar() in that order, they should have test paths like
4810   "/simple/foo", "/simple/bar", "/complex/foo-using-bar", not
4811   "/foo/simple", "/bar/simple", "/foo/using-bar" (which would result
4812   in test_foo_using_bar() running before test_bar_simple()).
4813
4814   (The behavior actually changed in GLib 2.36, but it was not
4815   documented at the time, since we didn't realize it mattered.)
4816
4817 There are no major changes in this release, but a few serious bugs have
4818 been fixed.
4819
4820 * Bugs fixed:
4821  710367 Crash in g_settings_backend_dispatch_signal()
4822  723899 G_DEFINE_TYPE() causes compiler warnings with clang due to foo_get_instance_private
4823  724859 Let the test_wait_until() test also run on non-*nix
4824  724916 gio unmount code makes XFCE's Thunar crash
4825  725651 GSubprocessLauncher: Does not copy the calling process environment.
4826  725656 Unskip GVariantDict
4827  725891 gio tests: add codegen to BUILT_SOURCES
4828  726046 Recent commit created symbolic icons issues
4829
4830 * Translations:
4831  Chinese
4832  French
4833  Korean
4834  Latvian
4835  Norwegian bokmål
4836  Portuguese
4837  Russian
4838  Traditional Chinese
4839
4840 Overview of changes from GLib 2.39.90 to GLib 2.39.91
4841 =====================================================
4842
4843 This release introduces a hard dependency on present and functioning
4844 clock_gettime() and CLOCK_MONOTONIC.  It also introduces a dependency on
4845 pthread_condattr_setclock() unless your system happens to have
4846 pthread_cond_timedwait_relative_np() (as do Mac OS and Android).  This
4847 release is known to be broken with at least GNU/Hurd, pending addition
4848 of working pthread_condattr_setclock(CLOCK_MONOTONIC) there.
4849
4850 New API: g_str_to_ascii()
4851
4852 * Fixed bugs:
4853  670144 unconditional use of CLOCK_MONOTONIC is broken
4854  673607 invalid assumption in g_cond_wait_until() / g_get_monotonic_time() API
4855  710142 Add more impressive transliteration to GLib
4856  722360 make check fails
4857  722604 (partial) Various tests are failing with 2.39.3
4858  723316 g_hash_table_iter_remove() should be explicit whether or not it is safe while iterating the table
4859  724609 Fix build of GIO on Windows
4860  724687 gmain: make monotonic time really monotonic, everywhere
4861  724706 gsource: document priority of child sources
4862  724707 some GSocket source improvements
4863  724839 GMainContext: some source ID cleanups
4864  724858 Dist gtranslit-data.h
4865  724994 Missing icons for bookmarks in file chooser
4866  725023 Can no longer find apps by executable/desktop file name
4867
4868 * Translations:
4869  Lithuanian
4870  Polish
4871  Thai
4872
4873 Overview of changes from GLib 2.39.4 to GLib 2.39.90
4874 ====================================================
4875
4876 * Fixed bugs:
4877  625408 make GVariant dictionaries more useful
4878  660809 document that if you fail a precondition check, documented guarantees do not apply
4879  661576 fix handling of constructors that destroy half-constructed objects
4880  679957 g_inet_address_new_from_string is not able to handle dots and numbers IPv4 addresses
4881  712837 gvariant: Document the need to cast varargs when constructing GVariants
4882  721458 g_simple_async_result_is_valid has a NULL check for the wrong source_tag
4883  721977 improve split handling of command line arguments
4884  722033 win32: fixup lib.exe invocation
4885  723422 Fix g_socket_get_available() with TCP on Windows
4886  723616 gio/tests: fix race when generating code
4887  724001 gsubprocess: Fix a broken link in the documentation
4888  724124 glib/tests/collate.c fails if no en_US locale
4889  724126 intermittent GApplication test failure: /gapplication/local-actions: lines of output permuted
4890  724233 gsocketservice: Note g_socket_listener_close() for closing open sockets
4891  724239 soup_session_queue_message - Connection terminated unexpectedly
4892  724278 gsocketconnection: Document closing connections with g_io_stream_close()
4893  724330 configure.ac: tweak inotify check
4894  724385 gtestutils: make the new assert messages more detailed
4895  724401 gsubprocess: Mutex leak
4896  724417 glib master build broken on OpenBSD
4897  724434 Build failure in gio/gresolver.c
4898
4899 * Updated translations:
4900  Brazilian Portuguese
4901  Galician
4902  Indonesian
4903  Italian
4904  Kannada
4905  Norwegian bokmål
4906  Spanish
4907  Thai
4908
4909 Overview of changes from GLib 2.39.3 to GLib 2.39.4
4910 ===================================================
4911
4912 * Fixed Bugs:
4913  139699 Correction for g_main_context_unref()
4914  583036 g_strchomp and g_strchug are not declared const
4915  683388 improve documentation for application developers
4916  685204 ./configure fails to add the '-g' flag to CFLAGS
4917  688406 GStaticMutex broke ABI on at least ARM EABI during 2.31.x
4918  693299 cannot compile on Solaris: error in gbitlock.c
4919  707111 Clarify type transformability and compatibility
4920  711547 win32: silence some build warnings
4921  719344 Fix the various test programs (or GLib itself) on Windows
4922  722025 cleanup/clarify command line argument encoding on Windows
4923  722323 remove unused include 'gslist.h' in 'gbookmarkfile.c'
4924  722326 gstringchunk: Use g_slist_free_full() where possible
4925  722357 gio: fix small memory leak on local xattr
4926  722436 Adjust doc to Makefile.decl renaming
4927  722503 GSimpleAction: add default activate handler
4928  722526 glib/deprecated/gthread.h error on FreeBSD
4929  722591 [documentation] broken link to GtkAction from GAction.html
4930  722973 Broken example in GApplication reference
4931  723048 'network-access' test can fail to guess interface index
4932  723360 gmain: Note that g_source_destroy() can be called multiple times 
4933
4934 * Updated Translations:
4935  Assamese
4936  Tamil
4937  Traditional Chinese
4938
4939
4940 Overview of changes from GLib 2.39.2 to GLib 2.39.3
4941 ===================================================
4942
4943 No major changes this release -- mostly lots of small fixes and
4944 improvements in test coverage.
4945
4946  * fix a crasher in code from gdbus-codegen
4947
4948  * improvements to gobject gdb helper script
4949
4950  * portability:
4951
4952    - fix a deadlock issue with kqueue on FreeBSD
4953
4954    - work around a quirk in the sunstudio compiler
4955
4956    - rename a variable to avoid clashing with a macro definition of
4957      'environ' on some platforms (like mingw)
4958
4959    - use POSIX-specified <poll.h> over <sys/poll.h>
4960
4961    - many improvements to Visual Studio projects and and some build
4962      fixes for Windows
4963
4964  * tests
4965    - a very large number of improvements in test coverage
4966
4967    - don't report skipped tests as failures
4968
4969    - return 77 if we skip all tests in an executable
4970
4971    - improve gtest documentation and fix some minor issues
4972
4973    - fix g_test_trap_reached_timeout() return value
4974
4975    - remove some dead code uncovered during test coverage expansion
4976
4977    - Use tap mode for installed tests too, when using tap
4978
4979  * fix races in unix signal handling
4980
4981  * make our GVariant-based commandline tools (glib-compile-schemas,
4982    gdbus, gapplication) print out GVariant parse errors in context
4983
4984  * GApplication now has a --gapplication-service command line switch to
4985    turn any GApplication into a service
4986
4987  * improve compatibility of GApplication and GOptionContext
4988
4989  * fix gsettings.m4 wrt. builddir != srcdir with non-recursive make
4990
4991  * use a directory monitor in GKeyfileSettingsBackend
4992
4993  * improve robustness of some GIcon classes
4994
4995 Bugs fixed
4996  141251  poll(2) is in <poll.h>, not <sys/poll.h> per SUS standard
4997  613732  [PATCH] gobject.py: Don't install frame filters when GDB does not support them
4998  708212  g_variant_parser_error_get_quark() has unexpected name.
4999  710965  GApplication: add --gapplication-service switch
5000  711090  periodic failure of spawn-multithreaded async testcase
5001  712171  gsettings.m4: @GSETTINGS_RULES@: Support srcdir != builddir with nonrecursive make
5002  712630  Revert "gsettings m4: check for .xml in src/builddir"
5003  715028  GVariant: add way to print context of parse errors
5004  719344  Fix the various test programs (or GLib itself) on Windows
5005  720263  gtestutils: skipping a test should count as success, not failure
5006  720539  gdbus-codegen: Fix crasher in goa-using apps
5007  720635  Make gdb pretty-printers compatible with Python3
5008  720891  g_settings_get_child does not inherit the backend
5009  721034  glib 2.38.2 cannot be compiled with SunStudio Compiler under Solaris
5010  721059  g_subprocess_launcher_set_environ vs "environ"
5011  721074  kqueue: deadlock
5012  721087  Missing -lselinux in pkg-config --libs --static gio-2.0
5013  721324  Error message is printed to stdout
5014  721624  Regression in GTest framework reorders existing test cases
5015  721625  backwards NEWS entry about g_source_remove change
5016  721796  insufficient escaping in g_dbus_annotation_info_generate_xml()
5017  721947  Improve GApplication ⇔ GOptionContext compatibility 
5018
5019 Translations updated:
5020  Brazilian Portuguese
5021  Galician
5022  Greek
5023  Hebrew
5024
5025 Overview of changes from GLib 2.39.1 to GLib 2.39.2
5026 ===================================================
5027
5028 * Portability
5029
5030   - Remove alleged support for OS/2
5031
5032   - Remove alleged support for BeOS
5033
5034   - Remove alleged support for last-millennium Unixes
5035
5036   - Require C90 compliance
5037
5038   - Require POSIX.1 (1990) compliance on Unix
5039
5040   - Require GNU make
5041
5042 * Bugs fixed:
5043  113075 support "nonnull" attribute
5044  159528 g_ptr_array_remove_range()
5045  307947 The check for growing stack pointer in configure can fail
5046  607016 docs should mention property notification order
5047  671557 Fun with integers and g_key_file_load_from_data()
5048  676761 don't use g_critical for a runtime error
5049  690525 g_file_replace_contents_async doesn't copy its @conten...
5050  691608 Support compilation with clang 3.2
5051  697585 g_variant_builder_add's doc example is leaking
5052  697828 g_hash_table_add() should return a boolean
5053  702862 gdbus-codegen : look for deps in default install path
5054  703522 Reference leak in GvariantBuilder documentation
5055  705902 g_get_current_dir() should check PWD env var and retur...
5056  708274 Added GObject Introspection annotations to genums.c
5057  710519 Portability schmortability
5058  710741 some mainloop instrumentation
5059  710983 Test failures on powerpc
5060  711047 Enable the build of the various test programs on Windo...
5061  711051 Add basic test for the GNotification gtk backend
5062  711088 gbacktrace: Don't close stderr when running gdb
5063  711103 gmessages: Add g_info macro for G_LOG_LEVEL_INFO
5064  711178 appinfo test problems
5065  711546 utf8: report allocation error
5066  711640 gdesktopappinfo: Rank Keywords matches higher than Gen...
5067  711751 Fix memory leaks in libglib tests
5068  711753 gthread-posix: Don't use gslice allocated GRecMutex
5069  711796 glib-tap.mk: fix to actually use the TAP driver
5070  711800 fix g_test_set_nonfatal_assertions()
5071  711801 giomodule: Allow overriding source directory gio modul...
5072  711805 gdbus-connection: Fix race condition in test
5073  711806 gtestdbus: Don't destroy GSource twice
5074  711807 gtestdbus: Properly close server connections
5075  711871 Broken and misleading configure check for growing stack
5076  712136 'O_CLOEXEC' undeclared (first use in this function)
5077  712148 Add system bus support to GTestDBus
5078  712171 gsettings.m4: @GSETTINGS_RULES@: Support srcdir != bui...
5079  712314 AIX port: splice(); major()/minor(); libtool library order
5080  712315 GSettings: More docs for deprecated _list_schemas()
5081  712393 gobject: Box GMappedFile
5082  712547 GSocketClient "event" not useful for determining resol...
5083  715164 Clang static analysis fixes
5084  719395 GPtrArray add g_ptr_array_insert
5085  719402 Crashes when startup
5086  719472 leak in generated proxy-side property-setter
5087  719687 fix or remove g_trap_object_ref
5088  719809 Signal connection ids are always > 0 if successful
5089  719837 gdbus-connection: Work around race in connection tests
5090  719884 Fix documentation typos in GTask and GCancellable examples
5091  719979 g_settings_get: check validity of format string
5092  720080 Truncating a GMemoryOutputStream to a larger size cause...
5093  720210 gdataset: Remove unused define
5094  720236 Allow clean simple use of g_test_trap_subprocess() 
5095
5096 * Translations updates:
5097  Italian
5098  Lithuanian
5099  Simplified Chinese
5100  Spanish
5101
5102
5103 Overview of changes from GLib 2.39.0 to GLib 2.39.1
5104 ====================================================
5105
5106  * GSettings fixes/improvements
5107
5108    - GSettingsSchema API is now more powerful and consistent
5109
5110    - new GSettingsSchemaKey API allows accessing metadata for keys:
5111      type, default value, range and the long-awaited support for summary
5112      and description
5113
5114    - GSettingsSchemaSource gains support for listing schemas within a
5115      source.  Deprecate the global API that did this for the default
5116      source.
5117
5118    - 'gsettings list-schemas' now works properly with --schemadir
5119
5120    - deprecate a bunch of now-redundant functionality on GSettings
5121
5122    - add API to GSettings for getting the default value of a key (as set
5123      by the sysadmin)
5124
5125    - add API to GSettings for determining if the user has assigned a
5126      particular value to a key (ie: we are not just reading the default)
5127
5128    - ignore qualified tags and attributes appearing in schema files
5129
5130  * Applications/Actions
5131
5132    - make GSimpleAction a bit more strict with respect to state changes
5133      that would violate the interface (ie: by changing the state type
5134      after construction)
5135
5136    - throw an error when attempting to 'Describe' a non-existent action
5137      via D-Bus instead of returning a bogus description
5138
5139    - throw an error when attempting to invoke unsupported methods on an
5140      Application (eg: 'Open' on an app that doesn't HANDLES_OPEN)
5141      instead of emitting a g_critical() in context of the app (which is
5142      not itself at fault for the errant call)
5143
5144  * Appinfo
5145
5146    - substantially rework GDesktopAppInfo to reduce the amount of disk
5147      accesses that are performed in common situations
5148
5149    - add a new class: GAppInfoMonitor for discovering when applications
5150      are installed/removed
5151
5152    - add a new g_desktop_app_info_search() API for searching for
5153      installed applications by name, keywords, etc.
5154
5155  * GMarkup: add new G_MARKUP_IGNORE_QUALIFIED flag for skipping over
5156    "qualified" tags and attributes (those with a colon in the name, such
5157    as 'my:tag')
5158
5159  * GDBus
5160
5161    - ignore qualified tags, as above
5162
5163    - GTestDBus: unset all D-Bus addresses (such as STARTER) to ensure
5164      that test programs don't pick them up
5165
5166    - add new session_bus_run() convenience in the tests and use it
5167
5168  * GRand: use real random data as a seed on win32 and use the
5169    timestamp/pid/uid fallback only on UNIX machines where we can't open
5170    '/dev/urandom'.  This may cause issues with older mingw32 releases
5171    due to a missing prototype for the rand_s() API.
5172
5173  * Many win32 (and particularly MSVC) portability fixes.  Many
5174    additional tests are now runnable when building with MSVC.
5175
5176  * Due to early testing of the (soon to land) GCleanup framework, a very
5177    large number of memory errors have been found and fixed (mostly in
5178    the testcases, but some in glib itself).
5179
5180  * GIO:
5181
5182    - some more seeking cleanups: particularly on GLocalFileInputStream
5183
5184    - don't leave a .trashinfo file around if trashing a file fails
5185
5186    - Add a request_certificate virtual method to GTlsInteraction
5187
5188 Translations updated:
5189  Assamese
5190  Galician
5191  Greek
5192  Spanish
5193  Tamil
5194
5195 Bugs fixed:
5196  635641 schema compiler should ignore unknown attributes
5197  637257 g_tls_client_connection_gnutls_retrieve_function needs to be able to block
5198  637956 GKeyfileSettingsBackend should ignore file deletions
5199  645453 keys from base schema missing from extended schema
5200  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes in XML files
5201  668232 Unable to get description and summary for a key
5202  668233 Unable to determine if a key is set to the default / what the default value is
5203  680838 Need g_settings_schema_source_get_schemas()
5204  683017 API for accessing GSettings Schema metadata
5205  687185 org.gtk.Actions.Describe doesn't return an error for non-existing action names
5206  687202 If trashing fails, the ".trashinfo" file is not removed
5207  695558 The --schemadir option has no effect
5208  696424 GSimpleAction.state property is not right
5209  697348 GTestDBus should unset DBUS_STARTER_ADDRESS, DBUS_STARTER_BUS_TYPE
5210  710133 Emit backward compatible code with gdbus-codegen
5211  710691 glib-networking: locking during implicit handshake
5212  710738 GRand has lame fallback for Windows
5213  710859 Typo in gio docs
5214  710885 Two fixes for GApplication
5215  710962 error: 'F_DUPFD_CLOEXEC' undeclared (first use in this function)
5216  710964 Add g_hash_table_get_key_array()
5217  710991 test: g_debug messages shouldn't affect g_assert_expected_messages
5218  711016 g_settings_list_keys () segfaults for empty schemas
5219  711048 glocalfileinputstream.c allows skip past end of file
5220  711049 Fix build of GLib-GIO 2.39.x on Windows/MSVC
5221  711064 Adding child source to blocked source can cause a segfault
5222  711070 Copying a symlink over another one segfaults
5223  711099 gapplication test failure
5224  711520 GDesktopAppInfo: allow more than one level of legacy folder prefixes
5225  711556 Add GAppInfoMonitor
5226  711557 Add g_desktop_app_info_search()
5227  711600 trivial portability fix
5228  711632 The desktop-app-info test fails during make check
5229  711754 gmain: Fix use of uninitialized memory in sigaction structure
5230  711755 private: Use threading primitives correctly in private test
5231  711756 gthreadpool: Don't pass bad data to GThreadPool sorter
5232  711768 Fix memory leaks in libgmodule tests
5233  711775 utils: Don't free memory owned by glib in test
5234  711782 boxed: Fix double free in boxed unit tests
5235  711803 gsubprocess: Fix a number of leaks and a segfault
5236  711808 gtestdbus: Fix leak of GMainLoop 
5237
5238 Overview of changes from GLib 2.38.0 to GLib 2.39.0
5239 ====================================================
5240
5241  * prep for the 2.40 series (version macros, docs index, etc.)
5242
5243  * GNotification
5244
5245    - new API for sending persistent notifications via the desktop shell
5246
5247    - notifications persist when the application has quit and clicking on
5248      them can restart the application with an action (via
5249      DBusActivatable)
5250
5251  * GSubprocess
5252
5253    - new API for launching subprocesses
5254
5255    - nice GIO integration like async functions, cancellability, etc.
5256
5257    - a convenient communicate() API inspired by the same API in Python
5258
5259    - related: the gspawn API now has a CLOEXEC flag for the created
5260      pipes for stdin/stdout/stderr
5261
5262  * New gapplication(1) commandline tool
5263
5264    - intended to be used with DBusActivatable apps
5265
5266    - can be used for launching apps, opening files, invoking application
5267      actions and listing apps and actions
5268
5269    - bash tab completion is supported
5270
5271  * GDesktopAppInfo changes:
5272
5273    - g_file_get_path() can implicitly cause a FUSE mount so don't call
5274      it until we know we need it (for an app that doesn't support URIs)
5275
5276    - don't crash when trying to load from a keyfile with
5277      DBusActivatable=true
5278
5279    - remove some dead code, refactor the search path handling a bit and
5280      do a large-scale whitespace cleanup (prep work for the pending
5281      desktop file index)
5282
5283  * File monitors
5284
5285    - fix broken handling of mount point monitoring
5286
5287    - remove some strange use of GObject::constructor() from the base
5288      class and inotify backend
5289
5290    - fix GFileMonitor to work in the non-default main context even when
5291      the main context is not running (or is blocked)
5292
5293    - add internal private API for easily creating a file monitor in the
5294      GLib worker thread
5295
5296  * GSettings
5297
5298    - g_settings_list_children: only list viable schemas.  This fixes a
5299      longstanding issue where 'gsettings list-recursively' will crash
5300      when there are invalid schemas installed
5301
5302    - don't accept invalid paths on g_settings_new_with_path, etc.
5303
5304  * GIO
5305
5306    - GFile now has a thumbnail::is-valid attribute to check if the
5307      thumbnail in thumbnail::path needs to be regenerated
5308
5309    - GDBusProxy now has a flag to control autostarting of services at
5310      construction time
5311
5312    - for GSeekable, properly introduce the concept of "resizable" vs.
5313      "fixed-sized" streams in the docs, explaining the expected
5314      semantics of the interface in each case
5315
5316    - fix some cases in GMemoryOutputStream that were violating the above
5317      expectations (which may cause a slight API incompatibility)
5318
5319    - clean up GCredentials code and add support for Hurd and Solaris
5320
5321    - improve splicing by using different codepaths for the case where we
5322      have real _read_async() and _write_async() implementations on the
5323      stream vs. the case where they are internally emulated (via
5324      dispatching the sync variant of the call in a thread)
5325
5326  * GKeyFile
5327
5328    - fix a leak in g_key_file_get_(u)int64 when we fail to parse the
5329      value as an integer
5330
5331    - add long-requested API g_key_file_save_to_file()
5332
5333  * Portability improvements
5334
5335    - avoid using O_DIRECTORY on platforms that don't have it
5336
5337    - be careful about systems that define SOCK_CLOEXEC but don't
5338      actually support it (like Hurd)
5339
5340    - only use SA_RESTART if it exists
5341
5342  * Other small API changes/additions
5343
5344    - a pair of functions to support matching strings for the type of
5345      search functionality that you'd expect to have with things like
5346      GtkSearchBar.  This will also be used by the desktop file index.
5347
5348    - g_str_is_ascii() with obvious purpose
5349
5350    - g_test_expect_message() no longer appears to allow you to catch
5351      G_LOG_ERROR messages
5352
5353  * GMainContext/GSource
5354
5355    - fix handling of overflowing the 'next source id' counter
5356
5357    - g_source_remove() will now throw a critical in the case that you
5358      try to remove a non-existent source.  We expect that there is some
5359      code in the wild that will fall afoul of this new critical but
5360      considering that we now reuse source IDs, this code is already
5361      broken and should probably be fixed.
5362
5363    - simplify handling of the 'current dispatching source' to not
5364      require use of a linked list
5365
5366  * GObject
5367
5368    - the long-broken (and leaky) pattern of destroying a just-allocated
5369      object from inside of a custom GObject::constructor is now
5370      officially completely illegal and will abort the program
5371
5372  * Unicode: update to 6.3.0
5373
5374  * Bug fixes
5375
5376    - g_file_copy() now falls back to pathname queryinfo.  This should
5377      clear up the bugs with copying from some GVfs backends (afp,
5378      gphoto, archive, at least).
5379
5380    - fix an out-of-bounds read in the xdgmime code
5381
5382    - fix a typo in the /org/freedesktop/DBus path on the object manager
5383      client
5384
5385    - skip emitting path_namespace='/' in match rules in order to
5386      workaround a bug in the D-Bus daemon and fix our own implementation
5387      (which shared exactly the same bug)
5388
5389    - fix crashes on precondition violations for GParamSpec constructors
5390
5391    - many other small fixups (see bug list)
5392
5393   * Many documentation improvements
5394
5395 Bugs fixed:
5396  309224 g_key_file_save_to_file missing
5397  583321 QNX: no SA_RESTART
5398  661576 fix handling of constructors that destroy half-constructed objects
5399  672102 GSubprocess class
5400  684842 Seeks on GMemoryOutputStream don't have opaque semantics
5401  688492 Add a notification API
5402  691581 g_output_stream_real_splice_async doesn't use overriden read/write_async functions
5403  702516 gfileutils: Make -Werror=format-nonliteral happy
5404  704218 New gapplication(1) tool
5405  704593 g_setenv: on some systems (BSD, OSX…), setting a variable to NULL crashes the system
5406  704882 GLocalDirectoryMonitorClass mount_notify field is useless
5407  704887 file monitoring improvements
5408  705029 Support for Solaris credentials
5409  705688 g_settings_list_children: only list viable schemas
5410  706254 Afp backend cannot copy files
5411  707887 Attempting to create GObject Property with underscore prefix segfaults
5412  708042 gapplication: don't rely on cmdline being finalized immediately
5413  708265 add support for GNU/Hurd in GLib D-Bus Library
5414  708266 fix error code checks when SOCK_CLOEXEC is defined but not supported
5415  708529 xdgmime: valgrind warns about invalid reads
5416  708677 incorrect object path 'deskop' used in gio/gdbusobjectmanagerclient.c
5417  708714 Typo in docs of GLIB_VERSION_2_40 macro.
5418  708753 gdesktopappinfo: Call g_file_get_path() on demand
5419  708793 glib build fails with clang < 3.1: error: expected ';' after top level declarator
5420  708828 GDBusProxy: add the ability to call methods on non autostarted proxies
5421  708860 glib-2.38.0 doesn't build on Solaris 10
5422  708972 gnetworking.h in tarball screws up out-of-source builds
5423  709113 [PATCH] Main loop dispatch path has needless linked list
5424  709227 Update to unicode 6.3.0
5425  709301 goutputstream: Add clear warning about short writes to _write_bytes() and async version
5426  709326 GDesktopAppInfo crashes creating a DBusActivatable app without a filename
5427  709440 Fix overloading of "source" and "target" terminology in GBinding
5428  709615 Cannot use g_test_expect_message with g_error
5429  709753 Add helpers for string matches when using GtkSearchBar-like widget
5430  709898 Expose thumbnail validity in GFile attributes
5431  709966 Remove outdated documentation
5432  709994 Minor fix for HACKERS doc to direct hackers to proper help file
5433  709995 Obsolete makefile rules
5434  710002 G_MAXUINT may be assigned as duplicate source id
5435  710313 Memory leak in g_key_file_get_(u)int64 with invalid integer values
5436  710345 [Patches] Fix some redundant-decls
5437  710496 g_locale_to/from_utf8() doc updated.
5438  710625 g_file_error_from_errno: Remove unneeded breaks
5439  710666 Frame clock related bug fixes
5440  710724 gmain: Warn when g_source_remove() fails
5441  710726 Work around D-Bus bug with path_namespace='/' match rules
5442
5443 Translations:
5444  Assamese
5445  Brazilian Portuguese
5446  Indonesian
5447  Russian
5448  Tamil
5449  Traditional Chinese
5450
5451 What's new in Glib 2.38
5452 ========================
5453
5454  * Application support
5455
5456   - GIO now provides an implementation of Desktop Actions from the
5457     desktop entry specification
5458
5459   - GApplication now implements the org.freedesktop.Application
5460     interface as per the desktop entry specification, allowing for
5461     standards-based D-Bus launching of GLib-based applications
5462
5463   - GDesktopAppInfo now supports DBusActivatable as per the desktop
5464     entry specification, allowing GLib-based applications to use D-Bus
5465     to launch other applications
5466
5467   - GApplication now has a "busy" flag that can be set on an application
5468     to allow the shell to show that it is busy
5469
5470  * GObject
5471
5472   - the private offset for a given class type is now always constant.
5473     This was done by reorganising the memory layout of instances so that
5474     the private data comes before the "official" pointer for the object
5475     (ie: at a negative offset).  Valgrind macros were added to mitigate
5476     any problems that this may have caused.
5477
5478   - a new G_DEFINE_TYPE_WITH_PRIVATE has been added along with a
5479     generated function *_get_instance_private() that can now serve as an
5480     equally-performing alternative to ->priv pointers in instances
5481     (allowing memory savings)
5482
5483   - new G_PRIVATE_FIELD, G_PRIVATE_FIELD_P and G_PRIVATE_OFFSET macros
5484     provide a convenient method of converting between named variables in
5485     private structures and their (now constant) offsets
5486
5487   - installing properties on a GObjectClass must now be done from
5488     class_init.  It is no longer valid to install them after class_init
5489     has returned.
5490
5491   - it is now possible to manually break a GObject property binding
5492     without destroying one of the objects involved
5493
5494  * Icons
5495
5496   - the requirements for implementing the GIcon interface have changed
5497     in order to make it possible to consume all implementations of GIcon
5498     with a finite number of cases
5499
5500   - a new GBytesIcon type was added for an icon represented by an
5501     in-memory binary blob in a known image format (ideally png).
5502
5503   - new APIs g_icon_serialize() and g_icon_deserialize() replace the old
5504     to/from_string APIs and will always work, irrespective of which
5505     types have been initialised in the calling process, allowing for a
5506     serialised GdkPixbuf to be deserialised in a process that doesn't
5507     have GdkPixbuf
5508
5509   - support for icons has been added to GMenuModel using the new APIs
5510
5511  * Actions and menus
5512
5513   - GPropertyAction provides a convenient way of creating a stateful
5514     property corresponding to a property on a GObject, such as the
5515     "visible-child-name" property of a GtkStack
5516
5517   - new API g_menu_remove_all()
5518
5519   - we now have established rules about what is a "valid" action name
5520     and an API to check them
5521
5522   - a new API for converting detailed action names to and from the
5523     split-out name and parameter value (as GVariant)
5524
5525   - for backwards compatibility, invalid action names can still be used
5526     with most functions, but this is not recommended
5527
5528  * Other GIO
5529
5530   - GDBus now supports services that wish to handle some of all
5531     properties on an interface asynchronously, without requiring the
5532     service to reimplement the entire org.freedesktop.DBus.Properties
5533     interface
5534
5535   - GFile now has a new _measure_disk_usage() (and async) API for
5536     recursively determining the amount of disk space used by a
5537     particular directory (akin to 'du').
5538
5539   - asynchronous version of g_file_trash() and g_file_make_directory()
5540     have been added
5541
5542  * Other new API
5543
5544   - GRegex has a new function to query the maximum lookbehind length to
5545     allow for regexp matching on streams
5546
5547   - GVariant has two new APIs for constructing strings that allow
5548     avoiding copies in some cases: g_variant_new_take_string() and
5549     g_variant_new_printf()
5550
5551  * Testing
5552
5553   - we can now generate TAP output
5554
5555   - new support functions for simplifying the process of dealing with
5556     data files for srcdir != builddir and installed test cases
5557
5558   - g_test_trap_subprocess() provides a portable alternative to
5559     g_test_trap_fork()
5560
5561  * Other
5562
5563   - GLib now builds on Android against the bionic C library
5564
5565 Overview of changes from GLib 2.37.93 to 2.38.0
5566 ================================================
5567
5568 * fix the documentation for GSourceFuncs
5569
5570 * fix compilation on OS X/ppc64
5571
5572 Bugs fixed: 708445, 647145
5573
5574 Translations updated:
5575  Danish
5576  French
5577  Portuguese
5578  Punjabi
5579
5580 Overview of changes from GLib 2.37.92 to 2.37.93
5581 ================================================
5582
5583 * a couple of bugfixes in the new g_file_measure_disk_usage() API
5584
5585 * updated Traditional Chinese translation
5586
5587 Overview of changes from GLib 2.37.7 to 2.37.92
5588 ===============================================
5589
5590 * new API g_file_measure_disk_usage() similar to du(1)
5591
5592 * minor fixes
5593
5594 * Translation updates:
5595  Assamese
5596  Belarusian
5597  Brazilian Portuguese
5598  Catalan
5599  Czech
5600  Galician
5601  German
5602  Hungarian
5603  Indonesian
5604  Italian
5605  Korean
5606  Korean
5607  Latvian
5608  Lithuanian
5609  Polish
5610  Serbian
5611  Slovenian
5612  Spanish
5613
5614 Overview of changes from GLib 2.37.6 to 2.37.7
5615 ==============================================
5616
5617 * GDateTime now supports %:z formatting variations
5618   for timezones. This is a GNU date extension.
5619
5620 * Bugs fixed:
5621  685387 Segfault with GObject.signal_handler_is_connected()...
5622  686786 g_socket_get_available_bytes() returns wrong value ...
5623  705027 GSocket GSource not threadsafe on Windows
5624  706469 Fix G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE documentation
5625  706706 Fix Gir annotations on g_loadable_icon_load_finish
5626  706888 gtype: fix a no-op assertion
5627  706958 configure.ac: fix atomic opts detection
5628  707092 "File Utilities" page for GLib documentation doesn'...
5629  707151 gdatetime: Extend the '%z' timezone format
5630
5631 * Translation updates:
5632  Catalan
5633  Hungarian
5634  Japanese
5635  Polish
5636  Slovak
5637  Tamil
5638
5639
5640 Overview of changes from GLib 2.37.5 to 2.37.6
5641 ==============================================
5642
5643 * Tests using the g_test facilities can now generate TAP output
5644
5645 * Bugs fixed:
5646  680926 generic type fallback logic is broken for -symbolic
5647  684327 setting null icon to icon list
5648  689245 GSocket unable to reuse (address,port) on Mac OS X
5649  692125 Support TAP as GTest output format
5650  693335 build: fix dtrace-related warnings
5651  696633 gdbus-codegen trips over unicode chars when using python 3.x
5652  696970 Compiling 2.36.0 for win64 fails
5653  697185 GSocket – Allow specifying the multicast interface from...
5654  700268 Add support for using the clang analyzer
5655  701318 Add G_SPAWN_DEFAULT to GSpawnFlags
5656  701529 glib/tests/gdatetime: use UTC time in test_GDateTime_diff()
5657  701800 a new approach to reporting critical errors
5658  702674 g_date_time_new_utc crash
5659  704165 GLib.IOChannel read_unichar() fails
5660  705075 Simplify g_get_tmp_dir()
5661  705152 Race in glib/task.test
5662  705398 gtype: Fix typo in g_type_class_add_private() error message
5663  705570 Check ref_count in g_object_notify_by_pspec
5664  705600 Deprecate GSimpleActionGroup functions?
5665
5666 * Updated translations:
5667  Assamese
5668  Brazilian Portuguese
5669  Czech
5670  Dutch
5671  Galician
5672  Gujarati
5673  Hebrew
5674  Italian
5675  Lithuanian
5676  Marathi
5677  Norwegian bokmål
5678  Russian
5679  Slovenian
5680  Spanish
5681  Thai
5682  Traditional Chinese
5683
5684
5685 Overview of changes from GLib 2.37.4 to 2.37.5
5686 ==============================================
5687
5688 * Implement the Desktop Action specification: In the case that the
5689   application is a GApplication and DBusActivatable, actions from the
5690   desktop file are translated into GActions that have been added to
5691   the  application with g_action_map_add_action().
5692
5693 * GPropertyAction is a new type of GAction that represents the value
5694   of a property on an object, and allows to change the value when
5695   activated.
5696
5697 * GNetworkMonitorNetlink can now handle default routes via a device.
5698
5699 * The gsettings tool now reports failure to write a key (e.g. because
5700   the key was locked down)
5701
5702 * Miscellaneous new api:
5703  - g_variant_new_printf
5704  - g_action_print_detailed_name
5705  - g_regex_get_max_lookbehind
5706
5707 * Bugs fixed:
5708  664444 Support additional application actions in .desktop files
5709  684123 glib build only tries -D_GNU_SOURCE if glibc is detected
5710  689794 support incremental matching
5711  699259 add org.freedesktop.Application support to GIO
5712  700460 rewrite tests to not rely on precise timing of timeouts
5713  701511 updates to various GSource types
5714  701609 gnetworkmonitornetlink: handle default route via device
5715  703270 add GPropertyAction
5716  704157 GAction: add function for printing detailed names
5717  704250 Doc: various fixes
5718  704267 regression gsourceclosure: segfault in gedit file chooser
5719  704322 glib-unix: fix handling of multiple signal source for the...
5720  704424 No error when failing to override a locked key
5721  704447 Fix build/use of g_child_watch_closure_callback on Windows
5722  704523 g_thread_create_full() can dereference NULL pointer
5723  704543 Add implementations for G_GNUC_*_IGNORE_DEPRECATIONS for ...
5724  704567 gdbusnameowning: Don't spew an error if we're releasing a...
5725  704585 libc printf can give mixed-case strings for NaN and Inf
5726  704587 FTBFS: statfs_result is undeclared for statvfs()
5727  704699 gmain: Reset signal handlers to default when source is
5728  704704 AI_NUMERICSERV cannot be used with ai_socktype = 0
5729  704873 inotify: don't assume mainloop is running
5730  704999 glib/convert.test crashing due to lack of iconv cache
5731  704931 GMenuModel: add annotations to virtual functions
5732
5733 * Translation updates:
5734  Assamese
5735  Czech
5736  German
5737  Gujarati
5738  Spanish
5739  Tamil
5740
5741
5742 Overview of changes from GLib 2.37.3 to 2.37.4
5743 ==============================================
5744
5745 * Bugs fixed:
5746  701283 g_source_add_child_source() segfault
5747  702147 inconsistency of G_STRFUNC
5748  703191 new private macros interact poorly with versioning macros
5749  703254 Doc: various fixes
5750  703407 g_spawn_async() keeps child_pid_report_pipe open in child process
5751  703437 GDBusConnection: be more careful with async GetAll
5752  703478 Missing G_BEGIN/END_DECLS in gsettingsschema.h
5753
5754 * Translation updates:
5755  Catalan
5756
5757 Overview of changes from GLib 2.37.2 to 2.37.3
5758 ==============================================
5759
5760 * add a new API for instance private data: G_DEFINE_TYPE_WITH_PRIVATE
5761
5762 * fix timestamps in tarball to prevent automake from being required to
5763   build the unmodified source
5764
5765 * add new D-Bus API for async property handling
5766
5767 * add back fsync() on ext4 for g_file_set_contents() after it was
5768   discovered that despite statements in the ext4 documentation
5769   suggesting that this is safe, it is not safe.
5770
5771 * Translations:
5772  Italian
5773  Norwegian bokmål
5774
5775 * Bugs fixed:
5776  698375 - D-Bus async properties
5777  700350 - timestamp issue
5778  701560 - fsync issue (fixed again)
5779  700035 - new API for instance private data
5780
5781 Overview of changes from GLib 2.37.1 to 2.37.2
5782 ==============================================
5783
5784 * The GLib test utilities have grown some file-related APIs
5785   to support tests that can be used installed and uninstalled.
5786
5787 * Installing properties after class initialization is deprecated,
5788   and will trigger a warning.
5789
5790 * GApplication:
5791  - Support org.freedesktop.Application, including D-Bus activation
5792    from desktop files
5793  - Set prgname to appid for services
5794
5795 * Bugs fixed:
5796  549783 gtester lacks framework for tests with data files
5797  692848 Fix property example in gobject tutorial
5798  698018 Add an explicit g_binding_release()
5799  698614 GObject: prevent installing properties after init
5800  699259 add org.freedesktop.Application support to GIO
5801  699959 g_file_copy(): Ensure we create private files by default
5802  700123 Test failure: g_inet_socket_address_get_scope_id
5803  700725 GIcon: NULLify the `type' out param in the sync methods too
5804  701401 gtest: add function for testing for WINE
5805  701456 Error in gnome/glib/gio/tests/file.c
5806  701474 Error building glibmm due to extra comma in glib/gtestutils.h
5807  701560 various improvements for g_file_set_contents()
5808  701680 GFileEnumerator: Add some documentation about ordering
5809  701878 Check wakeup() before iteration(TRUE) doesn't block
5810
5811 * Translations:
5812  Assamese
5813  Czech
5814  Galician
5815  Gujarati
5816  Kannada
5817  Marathi
5818  Odia
5819  Polish
5820  Slovenian
5821  Spanish
5822  Telugu
5823
5824
5825 Overview of changes from GLib 2.37.0 to 2.37.1
5826 ==============================================
5827
5828  * add support for installed tests:
5829    https://live.gnome.org/GnomeGoals/InstalledTests
5830
5831  * add a new g_test_trap_subprocess() that works on Windows as a
5832    replacement for the (now deprecated) g_test_trap_fork()
5833
5834  * support for explicitly cancelling a gobject property binding
5835
5836  * performance improvements for signal argument handling
5837
5838  * stop using `quotes' in very many log messages generated by GLib, for
5839    favour of 'this style'.  This may cause testcases in other packages
5840    to fail if they were matching on the previous text.
5841
5842  * improve manpages: add missing arguments and flags
5843
5844 Translations: 
5845  Aragonese
5846  Assamese
5847  Gujarati
5848  Hindi
5849  Kannada
5850  Norwegian bokmål
5851  Odia
5852  Slovenian
5853  Spanish
5854  Tamil
5855  Telugu
5856
5857 Bugs fixed:
5858  679683 replace g_test_trap_fork()
5859  694380 Improve signal argument collection performance
5860  695233 Strings require plural forms
5861  697849 spelling fixes in cross.xml and running.xml
5862  698877 GProxyAddressEnumerator calls g_network_address_parse_uri without port
5863  698981 [PATCH] test /gdbus/connection/large_message could hang forever
5864  699079 Prototype support for installed tests
5865  699485 [PATCH] tests/mappedfile: Also handle ENOMEM
5866  699493 SOCKS5 proxy code crashes if it cannot authenticate
5867  699500 gbitlock: fix this to not unconditionally use futex emulation
5868  699779 [PATCH] G_GNUC_FORMAT: documentation error
5869  700263 m4macros/glib-gettext.m4: Don't use AC_HEADER_STDC
5870  700714 [PATCH] gtestutils: Ensure test subprocesses don't dump core
5871  700746 Use 'dumb quotes' rather than `really dumb quotes'
5872
5873 Overview of changes fron GLib 2.36.0 to 2.37.0
5874 ==============================================
5875
5876 * The syntax for detailed action names has been documented,
5877   and a parser API for them is now provided
5878
5879 * GApplication has gained a busy state. This feature is intended for
5880   clients that want to signal a desktop shell their busy state, for
5881   instance because a long-running operation is pending.
5882
5883 * GLib can now be built with the bionic C library
5884
5885 * GIcon can now be serialized to a GVariant
5886
5887 * Bugs fixed:
5888  548353 Finish implementing GFile interface (mostly asynchron...
5889  645881 Full port of glib-2.28.1 onto Android-ARM
5890  665445 Glib mistakes nl_langinfo() from plibc for the real t...
5891  672018 Need API to set global application state (busy, count...
5892  687659 drop support for adding interfaces after class_init
5893  688820 GIcon is a bad interface
5894  688954 extend 'detailed action' syntax, provide parser
5895  689223 Fix compilation on Android with the bionic C library
5896  695156 Add support for arg0namespace matching in signal_subs...
5897  696108 gdbus-codegen: avoid warnings in generated code
5898  696629 fix sed(1) usage
5899  696652 GTask won't free its error member variable on finalize
5900  696857 GThreadedResolver: set an error if no records could b...
5901  696973 Compiling 2.36.0 for win64 fails in gdbusmessage.c
5902  697131 No --version
5903  697160 [PATCH] gmacros: Mark G_UNAVAILABLE() functions as de...
5904  697229 Custom Interface implementations will be broken with ...
5905  697250 Documentation glitch of G_DEFINE_TYPE_EXTENDED causes...
5906  697365 Fix usage of hasmntopt in gunixmounts.c
5907  697367 Remove warning on gio/gunixmounts.c
5908  697386 Except const argument with atomic is not lock free
5909  697595 g_main_context_unref unlocks a mutex twice
5910  697601 reduce GMenuModel D-Bus traffic
5911  697626 Allow posix threads to be used on w32
5912  697652 Help options generated even when help disabled
5913  697771 fix a typo of "fo" to "of" in building.xml
5914  697887 GVariant: fix transfer annotation
5915  697942 abicheck.sh fails on mips
5916  698056 rewrite g_object_new()
5917  698081 Pidgin hangs in g_spawn_command_line_sync
5918  698455 GVariant: add new g_variant_new_take_string() API
5919  698457 g_variant_get_data_as_bytes() always returns toplevel...
5920  698478 gactionmap: don't require GActionGroup
5921  698595 the valgrind/priv-before-instance bug
5922  698655 desktop-app-info test relies on true being in /usr/bin/
5923  698686 GUnixSocketAddress: fix construct parameter issue
5924  698716 Use of g_mem_set_vtable() breaks after gobject automa...
5925  698999 bytesicon: fix a memory leak
5926  699001 bytesicon: don't use g_object_unref() on GBytes
5927  699361 gio: fix small leak
5928
5929 * Translation updates:
5930  Assamese
5931  Gujarati
5932  Hungarian
5933  Italian
5934  Kannada
5935  Norwegian bokmål
5936  Polish
5937  Spanish
5938  Tamil
5939
5940
5941 Overview of changes fron GLib 2.35.9 to 2.36.0
5942 ==============================================
5943
5944 * It is no longer necessary to call g_type_init().  If you are
5945   loading GLib as a dynamic module, you should be careful to avoid
5946   unloading it, then subsequently loading it again.  This never
5947   really worked before, but it is now explicitly undefined behavior.
5948   Note that if g_type_init() was the only explicit use of a GObject
5949   API and you are using linker flags such as --no-add-needed, then
5950   you may have to artificially use some GObject call to keep the
5951   linker from optimizing away -lgobject. We recommend to use
5952   g_type_ensure (G_TYPE_OBJECT) for this purpose.
5953
5954 * This release contains an incompatible change to the g_get_home_dir()
5955   function.  Previously, this function would effectively ignore the HOME
5956   environment variable and always return the value from /etc/password.
5957   As of this version, the HOME variable is used if it is set and the
5958   value from /etc/passwd is only used as a fallback.
5959
5960 * The 'flowinfo' and 'scope_id' fields of GInetSocketAddress
5961   (introduced in GLib 2.32) have been fixed to be in host byte order
5962   rather than network byte order. This is an incompatible change, but
5963   the previous behavior was clearly broken, so it seems unlikely that
5964   anyone was using it.
5965
5966 This release contains only small bugfixes and translations updates.
5967
5968  - g_file_copy(): fix bug where attributes were not applied properly to
5969    the destination file
5970
5971  - fix some 'available since' annotations
5972
5973  - fix gdbus-codegen to produce more pedantically-correct code
5974
5975 * Bugs fixed:
5976  696108 gdbus-codegen: avoid warnings in generated code
5977  696014 g_file_copy(): Ensure G_FILE_COPY_OVERWRITE preserves permissions
5978
5979 * Translations updated:
5980  Basque
5981  Czech
5982  Gujarati
5983  Hindi
5984  Hungarian
5985  Japanese
5986  Malayalam
5987  Marathi
5988  Odia
5989  Punjabi
5990  Russian
5991  Tadjik
5992  Tamil
5993  Telugu
5994
5995 Overview of changes from GLib 2.35.8 to 2.35.9
5996 ==============================================
5997
5998 This release drops the old codepage ABI from gutils.c. This is a
5999 source-compatible change and only breaks ABI with respect to truly
6000 ancient binaries (and those binaries are already broken for other
6001 reasons).  This change only affects Windows.
6002
6003 * Bugs fixed:
6004  682896 glib doesn't build on mingw32
6005  693204 split up g_get_{hostname,username,realname,home_dir} etc.
6006  694181 Handle GNetworkAddress better in g_network_monitor_base_...
6007  694253 occasional /gdbus/unref-pending test failure
6008  694350 Add type names to gsignal warnings
6009  694757 Use separate GLIB_WARN_CFLAGS that can be overridden ext...
6010  568405 Which is the correct replacement for g_strncasecmp, if...
6011  630284 g_hash_table_get_keys docs
6012  659428 docs: Small clean-up of howto subsection headers
6013  675333 Cannot forget association in Open With dialog: program...
6014  694669 consider unicode corrigendum #9
6015  694843 g_base64_decode_step () produces invalid data
6016  695147 Don't use PATH_MAX as it's not guaranteed to be defined
6017  695191 Commit f641699 broke /appinfo/mime/api test case
6018  695339 Swapped msgid plural forms for translation
6019  695376 GDBusMethodInvocation leak and potential crash
6020  695425 Untranslatable message in gsettings-tool
6021  695887 Improvements to GObject API documentation
6022  695925 GUINT32/64_SWAP_LE_BE macros do not enclose val argume...
6023  696015 PATCH Add doc warning to g_base64_decode()
6024
6025 * Translation updates:
6026  Assamese
6027  Belarusian
6028  Brazilian Portuguese
6029  Catalan
6030  Catalan (Valencian)
6031  Danish
6032  French
6033  Galician
6034  German
6035  Greek
6036  Gujarati
6037  Italian
6038  Korean
6039  Latvian
6040  Lithuanian
6041  Polish
6042  Portuguese
6043  Punjabi
6044  Serbian
6045  Simplified Chinese
6046  Slovak
6047  Slovenian
6048  Spanish
6049  Thai
6050  Traditional Chinese
6051  Uyghur
6052  Vietnamese
6053
6054
6055 Overview of changes from GLib 2.35.7 to 2.35.8
6056 ==============================================
6057
6058 This release contains one major change that may cause problems: type
6059 modules are now never unloaded.  This is implemented by (effectively)
6060 leaking the last reference on dynamic types.  Some testcases that check
6061 for unloading of types have been observed to be broken by this change,
6062 but we know of no actual cases of "real code" breaking.  Please report
6063 any problems.
6064
6065 Other changes:
6066  * A couple of build fixes for Solaris
6067  * Fix signal emission for GDBusObjectManagerClient
6068  * annotations fixes
6069  * new API: g_dbus_address_escape_value()
6070  * GSocketClient: add proxy-resolver property
6071  * GSimpleProxyResolver: new simple GProxyResolver class
6072  * documentation fixes
6073  * gnetworkaddress: preserve IPv6 scope ID in IP literals
6074
6075 Bugs fixed:
6076  691105 Allow GSocketClient to override GProxyResolver for per client proxy settings.
6077  692827 configure test fails for arpa_nameser.h
6078  692829 new Btrfs support causes build failure on Solaris
6079  693285 GDBusObjectManagerClient: won't emit object-added|removed if name-owner arrives later
6080  693502 Cross-compiling documentation: typo (np -> no)
6081  693673 add g_dbus_address_escape_value()
6082  693694 gio: Fix annotations on g_[async_]initable_new() and friends 
6083
6084 Translations:
6085  Dutch
6086  Galician
6087  Polish
6088  Serbian
6089
6090 Overview of changes from GLib 2.35.6 to 2.35.7
6091 ==============================================
6092
6093 This is a quick follow-up release with a few bug fixes.
6094
6095 * Fix the build on systems with strict linkers by adding -pthread back
6096   to the LDFLAGS for a testcase.
6097
6098 * Re-enable native atomic operations on some buggy versions of clang
6099   that ship as part of the MacOS X SDK.
6100
6101 * Make G_IO_FLAG_IS_WRITEABLE an enum again (the #define broke bindings)
6102
6103 * a small docs fix
6104
6105 * Bugs fixed:
6106  657045
6107  636683
6108  682818
6109  693105
6110
6111 * Translations:
6112  Italian
6113
6114 Overview of changes from GLib 2.35.4 to 2.35.6
6115 ==============================================
6116
6117 * GUnixFdSource is a new way to add file descriptors
6118   to the mainloop
6119
6120 * g_source_set_ready_time lets you mark a source to become
6121   ready at a specified monotonic time
6122
6123 * The internal visibility handling of GLib has been reworked
6124
6125 * GFileMonitor will now automatically use fam instead of inotify
6126   if $HOME is on NFS
6127
6128 * The file monitor implementation can now be overridden with
6129   the GIO_USE_FILE_MONITOR environment variable
6130
6131 * Bugs fixed:
6132  570572 2 make check errors on
6133  592211 No monitoring over NFS mounts
6134  625552 wrong behaviour of GVolume GVolumeMonitor related func...
6135  657729 modernise GMainLoop
6136  658020 GSource for a single GPollFD
6137  678223 g_mutex_free
6138  682560 leak fixes
6139  682819 EINTR-harden all the things
6140  684404 When using g_network_address_address_enumerator_next()...
6141  686853 new GSource fd API
6142  688169 G_DISABLE_DEPRECATED doesn't cover deprecated/gthread....
6143  688681 build: Make .symbols file canonical on all platforms
6144  690118 Crash when closing last tab of a window using Ctrl-w
6145  691624 glib/gtester.c: missing include
6146  691812 gioinputstream - give task as callback_data not task_data
6147  691866 fails out of source build directory - gnetwork.h not f...
6148  692029 Add new API checking utility
6149  692034 Install an invalidation notifier for GClosure in g_sou...
6150  692058 Broken makefile for gio tests
6151  692079 build failure in gmarkup.c when using gcc 4.8 and buil...
6152  692201 inotify: fix a memleak
6153  692202 gfile: don't report completion twice on g_file_load_co...
6154  692229 Incorrect string formatters in a translation string
6155  692332 GNetworkMonitorNetlink: make the netlink socket cloexec
6156  692360 possibly non-threadsafe code in g_content_type_guess()?
6157  692404 tester: Use FD_CLOEXEC when creating pipes
6158  692408 nautilus SIGSEGV in g_file_info_get_size()
6159  692544 [PATCH] gfile: Ensure we create internal pipe with FD_C...
6160  692583 atomic get doesn't accept a const argument on architect...
6161  692618 Use g_timeout_add_seconds
6162  692815 Using g_hash_table_insert() when using a hash table as ...
6163  692865 Invalid docbook generated by gdbus-codegen
6164  692928 Document G_MENU_{ATTRIBUTE,LINK}_*
6165
6166 * Translation updates:
6167  Hebrew
6168  Kannada
6169  Lithuanian
6170  Norwegian bokmål
6171  Polish
6172  Serbian
6173  Slovenian
6174  Spanish
6175  Uyghur
6176
6177
6178 Overview of changes from GLib 2.35.3 to 2.35.4
6179 ==============================================
6180
6181 * New features:
6182  - New API: g_get_num_processors
6183  - New API: g_application_command_line_get_stdin
6184  - New GFileMonitor flag: G_FILE_MONITOR_WATCH_HARD_LINKS
6185  - Parse more timezone offset formats
6186  - Better timezone support on Windows
6187  - Make GParamSpec constructors introspectable
6188
6189 * Removed or deprecated features:
6190  - Disallow adding interfaces after class_init
6191
6192 * Bug fixes:
6193  532815 gio + inotify support for hardlinks
6194  614930 add g_get_num_processors (), return the max concurrent...
6195  626497 Btrfs clone/reflink ioctl support in g_local_file_copy
6196  633117 glib fails stests if /etc/localtime is not properly set
6197  661767 merge/improve various bits of run-in-thread functionality
6198  668210 Add g_application_command_line_get_stdin()
6199  675856 Use GDbus via gobject-introspection instead dbus-python
6200  684103 make glib work with python3
6201  684723 run-assert-msg-test.sh fails
6202  686058 OpenBSD: disable ipv6_v4mapped test
6203  686128 GTimeZone should be able to parse POSIX format for...
6204  687223 cleverer GThreadPool management
6205  687659 drop support for adding interfaces after class_init
6206  687920 GCredentials should have an accessor for the process ID
6207  688681 build: Make .symbols file canonical on all platforms
6208  688829 Variable overflow in utils.c test on 32-bit machine
6209  689324 Variable scoping in gunixmounts.c
6210  689810 Include guard optimization
6211  690043 Broken link for gsettings tutorial: gnome-utils in...
6212  690084 gmarkup: Make GMarkupParseContext a boxed type
6213  690388 Check if CMSG_FIRSTHDR() returns NULL when there is...
6214  690538 gschema DTD is invalid
6215  690543 Add test coverage for testing in-tree DBus services...
6216  690670 local_command_line not introspectable/annotated
6217  690902 G_END_DECLS needs to be at the end of gutils.h
6218  690970 Unhelpful deprecation message for g_value_array_get_nth
6219  691001 building docs is broken on master branch
6220  691011 Automake-1.13 errors on obsolete AM_PROG_CC_STDC
6221  691077 gio-querymodules crashes with SIGSEGV
6222  691110 g_cond_wait() docs incomplete
6223  691489 Crash in Oscars 2013 page
6224  691558 Only check for .hidden files if standard::is-hidden...
6225  691608 Support compilation with clang 3.2
6226
6227 * Translation updates:
6228  Assamese
6229  Bulgarian
6230  Estonian
6231  Galician
6232  Greek
6233  Hebrew
6234  Norwegian bokmål
6235  Polish
6236  Slovak
6237  Slovenian
6238  Spanish
6239  Tamil
6240
6241
6242 Overview of changes from GLib 2.35.2 to 2.35.3
6243 ==============================================
6244
6245 * This release contains an incompatible change to the g_get_home_dir()
6246  function. Previously, this function would effectively ignore the HOME
6247  environment variable and always return the value from /etc/password.
6248  As of this version, the HOME variable is used if it is set and the
6249  value from /etc/passwd is only used as a fallback.
6250
6251 * We now install a public "gnetworking.h" header that can be used to
6252  include the relevant OS-dependent networking headers. This does not
6253  really abstract away unix-vs-windows however; error codes, in
6254  particular, are incompatible.
6255
6256 * Bugs fixed in this release:
6257  142568 Allow $HOME to override passwd entry if the user really wants
6258  587806 The file selector should honor .hidden files
6259  602715 [GChecksum] Please add support for SHA512
6260  623187 provide some support for arbitrary setsockopt()s?
6261  629301 .goutputstream files left behind when cancelling I/O
6262  652650 Optimize GDBusMessage serialization
6263  664627 /gapplication/basic test intermittently fails: cmdline re-or...
6264  675516 Win32: Don't start a DBus server when built as static library
6265  679683 replace g_test_trap_fork()
6266  684145 Current Git sources fails to cross-compile for Windows in Li...
6267  686895 file-info: catch thumbnail files in large directory as well
6268  687092 IPv6 <-> IPv4 mismatch when subscribing to multicast (send)
6269  688180 GObject: Minor error in description of floating reference
6270  688319 gthread: add missing AVAILABLE_IN_2_32 annotations
6271  688377 configure: add missing square bracket in AS_IF for memmove
6272  688419 gtask: source_object arguments and return values not annota...
6273  688497 AppInfo: Add sufficient api to port gnome-session from Egg...
6274  688681 build: Make .symbols file canonical on all platforms
6275  688704 Add boxed GType for GThread
6276  688886 Improve the i18n documentation
6277  688931 GMemoryOutputStream: Add new _resizable() constructor usab...
6278  689037 need helper for creating a GFile from a remote commandline...
6279  689377 Fix a compiler warning in GDBus
6280  689538 Source object tag set too late in gsocketlistener
6281  689800 Treat lost+found directory as a hidden file
6282  689847 Add fast repeated typename -> GType resolver
6283  689982 Make GChecksum more fully introspectable
6284  690069 g_unix_open_pipe: Add missing F_SETFD
6285  690083 gfileenumerator: Add a g_file_enumerator_get_child method
6286  690163 Add a pre-configured gio/gnetworking.h for Visual C++ builds
6287  690346 Remove an unneeded escaping in NAMESER_COMPAT_INCLUDE
6288  690348 Fix g_type_add_class_private() name in g_warning
6289
6290 * Translation updates:
6291  Assamese
6292  Galician
6293  Hebrew
6294  Hindi
6295  Kannada
6296  Odia
6297  Polish
6298  Spanish
6299
6300
6301 Overview of changes from GLib 2.35.1 to 2.35.2
6302 ==============================================
6303
6304 Note that the incompatible change to the ->constructed() vfunc that was
6305 made in the last unstable release (2.35.1) has been reverted due to
6306 causing regressions in applications.
6307
6308 A new incompatible change has been introduced in this version: it is no
6309 longer permitted to add interfaces to a class after the first
6310 instantiation (or more strictly: after g_type_class_ref()).  Bug #687659
6311 is tracking this.
6312
6313 Two private symbols (g_menu_{attribute,link}_hash_iter_get_type) which
6314 were accidentally exported have also been properly hidden.  This may
6315 cause some tools to issue warnings about ABI mismatch.
6316
6317 The remaining changes should be relatively harmless: 
6318
6319  * GIO now has kqueue support for GFileMonitor (BSDs, Mac OS)
6320
6321  * New g_variant_new_from_bytes() API
6322
6323  * UNIX signal sources now allow watching SIGUSR1 and SIGUSR2
6324
6325  * Many pedantic cleanups to adhere to a higher level of -W use
6326
6327  * GTask changes to avoid a deadlock
6328
6329  * many cleanups/fixes for Windows
6330
6331  * Boxing for GPollFD, GIOChannel, GBytes, GByteArray
6332
6333  * Fix URL-encoding of trashed files
6334
6335  * Many other docs and annotations fixes
6336
6337 Translations:
6338
6339  Galician
6340  Gujarati
6341  Lithuanian
6342  Serbian
6343  Slovak
6344  Slovenian
6345
6346 Bugs closed:
6347
6348  649302 Add support for GNU/FreeBSD
6349  668842 [GSocket] Add caching for the sender address in g_socket_receive_from()
6350  672924 Add annotations for g_filename_from_uri()
6351  673229 glib: Use Returns:, not @returns
6352  677062 (partial) GVariant: Make g_variant_new_from_bytes() public, add more GBytes API
6353  686185 g_date_time_format Transcoding Fails on OSX      
6354  686191 g_mutex_get_impl() should use g_atomic_pointer_get()
6355  686797 Box GPollFD to make it introspectable
6356  686810 [regression] Infinite wait in g_task_run_in_thread_sync()
6357  686822 possible dlopen()/dlclose() issue with automatic g_type_init()
6358  686839 mkinstalldirs: Move to glib-mkinstalldirs
6359  686895 file-info: catch thumbnail files in large directory as well
6360  686898 g_unix_signal_source_new: Allow SIGUSR1 and SIGUSR2
6361  686920 gdbus: Allow GDBusObjectManagerClient to work on peer connections
6362  686921 Remove some of the repetition from gio/tests/Makefile.am
6363  687075 g_spawn_sync diagnostic incorrectly complains about SIGCHLD
6364  687089 g_dbus_connection_export_menu_model(): fix a crash
6365  687098 Repeated g_timeout_add* use can lead to guint overflow
6366  687385 Add some stricter CFLAGS, fix up the code
6367  687441 ABI break in master: g_menu_attribute_hash_iter_get_type, g_menu_link_hash_iter_get_type removed
6368  687516 typo in string: KB should be kB
6369  687540 In Trash folder, Nautilus misinterprets "\n" in filename as a line break
6370  687541 GSignalQuery param_types field needs array annotation
6371  687600 gfileutils.c performs invalid cast of (varargs) open to non-vararg type
6372  687698 plural forms needed
6373  687700 ending spaces
6374  687742 Add support for internal linkage to glib-compile-resources
6375  687801 tests/buffered-input-stream: Fix size of parameter passed
6376  688109 win32 warning/error fixes
6377  688255 'make check' regressed in 138f4c1 because GMarkup error messages changed
6378  688338 [PATCH] gobject/gtype.c: Fix spelling of »exceed«
6379  688370 GDBusError documentation improvement for client-side
6380  688378 g_socket_join_multicast_group not working
6381  688518 gio-kqueue: use O_EVTONLY on MacOS
6382
6383
6384
6385 Overview of changes from GLib 2.34.0 to 2.35.1
6386 ==============================================
6387
6388 These two changes in particular may be slightly incompatible.  Please
6389 give feedback if they cause trouble:
6390
6391   * Signal handlers connected with g_signal_connect_object() are now
6392     automatically disconnected on target object destruction
6393
6394   * The ->constructed vfunc is now called after all properties are set
6395
6396 The remaining changes should not cause problems.
6397
6398   * g_type_init() is no longer necessary and has been deprecated
6399
6400   * GTask (the new GAsyncResult implementation) has landed 
6401
6402   * GLib version macros updated
6403
6404   * Update to Unicode 6.2
6405
6406   * Thread safety fixes for GFileMonitor in non-default main contexts
6407
6408   * GTimeZone support for old-format zoneinfo database (as on Mac OS)
6409
6410   * g_settings_bind() now works with non-canonical property names
6411
6412   * Fix crashes related to NULL connection passed to
6413     GBusNameVanishedCallback and document this situation
6414
6415 * Bugs fixed:
6416  118536 Make g_signal_connect_object'ed handlers disconnect when the data object is destroyed
6417  661767 merge/improve various bits of run-in-thread functionality
6418  682950 GFileMonitor crashing on high event count when running in different thread
6419  683642 Missing g_content_type_get_symbolic_icon
6420  684882 Gsettings should spaw a warning when binding against a low_underscored_property
6421  684909 codegen: Explicitly close output
6422  684912 Update to Unicode 6.2
6423  685037 g_strcmp0: Returns shall include values less and greater than zero
6424  685069 Leak in glib-compile-resources
6425  685208 missing g_return_if_fail
6426  685608 [Patch] Port gio tests from pygobject to pygi
6427  685697 Documentation typo in g_dbus_interface_skeleton_has_connection()
6428  685733 Call ->constructed() after all properties are set
6429  685787 gtestdbus: correct documentation typos
6430  685995 Crash in g_menu_exporter_name_vanished
6431  686091 Invalid reads in g_bytes_unref_to_data
6432  686119 dtrace, gobject_probes.d, the last three probes - semicolon missing
6433  686161 Deprecate g_type_init()
6434  686231 GBusNameVanishedCallback: document NULL connection
6435  686458 slightly increase poll duration in test_timed_wait 
6436
6437 * Translations updated
6438   Catalan (Valencian)
6439   Czech
6440   Danish
6441   Italian
6442   Lithuanian
6443   Norwegian bokmål
6444   Slovenian
6445
6446 Overview of changes from GLib 2.33.14 to 2.34.0
6447 ===============================================
6448
6449 * GIO now looks for thumbnails in XDG_CACHE_HOME, following a
6450   recent alignment of the thumbnail spec with the basedir spec.
6451
6452 * The default values for GThreadPools max_unused_threads and
6453   max_idle_time settings have been changed to 2 and 15*1000,
6454   respectively.
6455
6456 * Bug fixes:
6457  654239 g_type_init()'s docs have no statement about how to...
6458  674620 Update GSettings migration guide for intltool updates
6459  676034 Fix doc annotation for g_ptr_array_ref()
6460  684278 Fix GIO build on Windows
6461
6462 * Translation updates:
6463  Brazilian Portuguese
6464  British English
6465  Bulgarian
6466  Catalan
6467  Galician
6468  German
6469  Hebrew
6470  Hindi
6471  Hungarian
6472  Kannada
6473  Latvian
6474  Marathi
6475  Spanish
6476  Telugu
6477
6478
6479 Overview of changes from GLib 2.33.12 to 2.33.14
6480 ================================================
6481
6482  * CVE-2012-3524: don't run dbus-launch from setuid binaries
6483
6484  * g_content_type_get_generic_icon_name():
6485      new API for getting the icon name for a mime type
6486
6487  * Introspection fixes:
6488   - GDBusConnection nullability fixes
6489   - give a box type to GTimeZone
6490
6491  * Drop GVFS_INOTIFY_DIAG
6492
6493  * Add a new "Writing GLib Applications" section to the reference
6494    documentation with general info on security, threads, etc.
6495
6496  * gwin32mount.c: Fix syntax error
6497
6498  * gresource tests: srcdir != builddir fixes
6499
6500  * tests/gvariant: Fix test on big endian architectures
6501
6502  * Fix regression in g_shell_parse_argv()
6503
6504 Bugs fixed:
6505  562907 g_shell_parse_argv() mishandles # (hash)
6506  683167 g_time_zone_new not introspectable
6507  683384 /gvariant/checksum-basic failure on big endian machines
6508  683641 Typo in gwin32mount.c
6509  683744 have a way to get the generic icon name for a mime type
6510
6511 Translation updates:
6512  Assamese
6513  Belarusian
6514  British English
6515  Czech
6516  Danish
6517  French
6518  Galician
6519  German
6520  Greek
6521  Hebrew
6522  Indonesian
6523  Indonesian
6524  Korean
6525  Lithuanian
6526  Marathi
6527  Marathi
6528  Polish
6529  Portuguese
6530  Punjabi
6531  Russian
6532  Serbian
6533  Slovenian
6534  Traditional Chinese
6535
6536 Overview of changes from GLib 2.33.10 to 2.33.12
6537 ================================================
6538
6539 * Add a G_DEFINE_QUARK macro
6540
6541 * Add symbolic icon support to drive, volume, and mount, file
6542   and content types
6543
6544 * Add API to allow thread-safe access to the same qdata item
6545
6546 * Bugs fixed:
6547  562907 g_shell_parse_argv() mishandles # (hash)
6548  627240 add G_DEFINE_QUARK
6549  672329 memory leaks in gutils.c and glib tests
6550  673012 Stable byte-level specification for normal form
6551  674805 gdbusproxy async test is broken
6552  679835 gvariant format string parsing (and assertions)...
6553  682075 gdbus: Fix double free and use after free of ob...
6554  682101 Provide a way to get a symbolic icon for a device
6555  682222 test_method_calls_on_proxy: assertion failed (e...
6556  682284 mount-op: use gint64 instead of guint64 for tim...
6557  682386 "make check" fails due to sys/resource.h not be...
6558  682560 leak fixes
6559  682586 gsettings-tool: make list-recursively really re...
6560  682819 EINTR-harden all the things
6561  682833 Handle EINTR for open()
6562  682849 drop the global lock for g_object_weak_ref
6563  682965 gdbus-tool: Check return value of strrchr()
6564  683088 gdbus-codegen: fix error when wrong interface n...
6565         Fix the build with gtk-doc-stub
6566         Don't crash if set_app_info is called before ad...
6567
6568 * Translation updates
6569  Assamese
6570  Galician
6571  Greek
6572  Indonesian
6573  Japanese
6574  Latvian
6575  Lithuanian
6576  Norwegian bokmål
6577  Polish
6578  Portuguese
6579  Punjabi
6580  Russian
6581  Spanish
6582  Traditional Chinese
6583  Vietnamese
6584
6585
6586 Overview of changes from GLib 2.33.8 to 2.33.10
6587 ===============================================
6588
6589 * New GTest API for testcases where log output is expected:
6590   g_test_expect_message()
6591
6592 * GMenuItem now has 'get' accessors and a construct-from-GMenuModel API
6593
6594 * GVariant now has a function to check a format-string for type
6595   compatibility
6596
6597 * win32: We now use overlapped IO to support multiple asynchronous
6598   operations (ie: reading and writing) at the same time.
6599
6600 * GMappedFile: Add g_mapped_file_get_bytes()
6601
6602 * The problems with g_file_make_directory_with_parents() should be
6603   resolved.
6604
6605 * The long-standing issues with placeholder generation of manpages are
6606   now resolved.
6607
6608 * gtlscertificate: Add GBytes based certificate and private-key props
6609
6610 * build: Switch back to using AS_IF for conditionals
6611
6612 * test coverage improvements, documentation improvements, leak fixes
6613
6614 * Bugs fixed
6615  326931 Better docs for G_GNUC_*
6616  550433 g_test_init doesn't recognize --help
6617  600751 GCompletion should better document if and how items memory is managed
6618  628193 Miscellaneous string fixes
6619  637460 man glib-genmarshal is hard to use
6620  674483 broken configure results when cross-compiling with gcc >= 4.5
6621  677065 GMappedFile: Add g_mapped_file_get_bytes()
6622  679288 win32: use overlapped events for streams
6623  679556 it's hard to use gtest when g_warning() is expected
6624  680823 g_file_make_directory_with_parents: Fix error propagation
6625  681319 gtlscertificate: Add certificate-bytes and private-key-bytes props
6626  681336 man pages not built if --enable-gtk-doc not specified
6627  681413 build: Switch back to using AS_IF for conditionals
6628  681501 gmem: array only partially filled with memcpy
6629  681854 Documentation fix for Howto compile a program with glib
6630  682025 Documentation correction
6631  682067 Fix problems with CLEANFILES and automake-1.11.1 
6632
6633 * Translations updated:
6634  Lithuanian
6635  Spanish
6636  Galician
6637  Telugu
6638  Serbian
6639  Assamese
6640  Marathi
6641  Indonesian
6642  Traditional Chinese
6643
6644 Overview of changes from GLib 2.33.6 to 2.33.8
6645 ==============================================
6646
6647 * GIO now has a g_file_delete_async function
6648
6649 * The defaults for GThreadPools max_unused_threads
6650   and max_idle_time values have been changed to
6651   2 and 15*1000, respectively.
6652
6653 * Bugs fixed:
6654  661767 merge/improve various bits of run-in-thread functionality
6655  680074 undefined symbol "get_C_locale"
6656  680121 g_cancellable_source_new: don't use a file descriptor
6657  680148 gthread: check for definition of PR_SET_NAME
6658  680310 Sorting of access points by strengh not working
6659  680704 g_utf8_strup() crash
6660  68076a0 GFile: Add g_file_delete_async()
6661  680787 Add .dir-locals.el to tell Emacs users not to use tabs...
6662  680823 g_file_make_directory_with_parents: Fix error propagation
6663  680994 STATIC_ASSERT in GDBusError docs don't have much utility
6664  681116 gtlscertificate: Add g_tls_certificate_equal() function
6665  681118 gtlsdatabase: Don't complain if no callbacks for async...
6666  669331 try to get gio tests working a little better on win32
6667  674314 Make gtk-doc not a hard dependency of GLib
6668  674800 gclosure: generic marshaller leaks return value
6669  675524 gsocket: FIONREAD undeclared (needs sys/filio.h)
6670  679509 use after free in g_dbus_action_group_describe_all_done()
6671  679996 gobject docs minor cleanup
6672  680459 Extra newline char in local implementation of g_applic...
6673  680505 object_path memory leak in gdbusobjectproxy.c
6674  680831 Deprecate and remove g_slice_[sg]et_config.*
6675  680912 gchecksum: Add g_compute_checksum_for_bytes()
6676  681151 checksum: Use functions instead of macros when buildin...
6677  681158 gtlscertificate: Don't confuse certificate and public ...
6678
6679 * Translation updates:
6680  Galician
6681  German
6682  Gujarati
6683  Hebrew
6684  Norwegian bokmål
6685  Serbian
6686  Slovenian
6687
6688
6689 Overview of changes from GLib 2.33.4 to 2.33.6
6690 ==============================================
6691
6692 * GAsyncInitable: partially revert the init_finish changes,
6693   some applications were found to rely on behaviour that
6694   was broken by these changes
6695
6696 * Bugs fixed:
6697  679617 win32: fix g_get_environ()
6698  679968 Add some annotations to GBytes, GVariantType...
6699  680111 GIOScheduler assumes GCancellable "cancelled...
6700
6701 * Translation updates:
6702  Spanish
6703
6704 Overview of changes from GLib 2.33.3 to 2.33.4
6705 ==============================================
6706
6707 * GMainContext: the source list has been reorganzied to
6708   avoid O(n) behaviour
6709
6710 * GRegex: Update included PCRE to 8.31 and expose new
6711   functionality in 8.x versions of PCRE
6712
6713 * GMountOperation gained a ::show-unmount-progress signal
6714   which provides information about slow unmount operations
6715
6716 * Bugs fixed:
6717  616892 gio: Add a boxed type for GFileAttributeMatcher
6718  619329 g_source_attach() O(n) in number of sources
6719  639771 g_dir_read_name() can also return NULL on error
6720  661767 merge/improve various bits of run-in-thread fun...
6721  667375 GAsyncInitable subclassing (and async subclassi...
6722  671545 Constify collect and lcopy strings in GTypeValu...
6723  674452 SEGFAULT in gio contenttype test
6724  674898 Deal with GLIB_VERSION_MIN_REQUIRED/MAX_ALLOWED...
6725  675504 Fix up GObject interface documentation
6726  677064 GString: Tweak documentation, add g_string_free...
6727  677578 error in PCRE error code conversion
6728  677579 update GRegexError for newer PCRE error codes
6729  678066 gdbus codegen does not work with python3
6730  678273 unicode othercasing is wrong in gregex
6731  678576 GIOScheduler performance enhancements
6732  678758 GTlsInteraction unlocks an unlocked mutex
6733  678808 GTestDBus issues
6734  678881 Test failures in /socket/timed_wait in some cas...
6735  678941 /contenttype/guess test case failure
6736  678944 gio returns the wrong default applications for ...
6737  678949 wrong definition of ulong_bool for 64 bit big e...
6738  678959 /mainloop/timeouts race condition: assertion fa...
6739  679193 update included pcre to 8.31
6740  679258 The 'Since' tag for G_SOURCE_CONTINUE and G_SOU...
6741  679473 Don't generate invalid property names
6742  679691 Add g_spawn_check_exit_status()
6743  679671 GDBusNodeInfo: the XML string must contain exac...
6744  676111 mount-operation: add show-unmount-progress signal
6745  679691 win32: fix build g_spawn_check_exit_status() wi...
6746  679813 Documentation bug on http://developer.gnome.org...
6747
6748 * Translation updates:
6749  Assamese
6750  Belarusian
6751  Bulgarian
6752  Galician
6753  Greek
6754  Norwegian bokmål
6755  Polish
6756  Spanish
6757  Traditional Chinese
6758  Vietnamese
6759
6760
6761 Overview of changes from GLib 2.33.2 to 2.33.3
6762 ==============================================
6763
6764 This release contains mostly bugfixes, cleanups and performance
6765 improvements (including many fixes contributed by Colin on the advice of
6766 Coverity).  There are a few notable externally-visible changes:
6767
6768 * Thumbnails are now in XDG_CACHE_HOME
6769
6770 * new GDBus API: per-thread g_dbus_connection_get_last_serial()
6771
6772 * GUnixOutputStream now has a can_poll() implementation
6773
6774 * New deep copy APIs for G(S)List: g_(s)list_copy_deep
6775
6776 * Bugs fixed:
6777  518309 Incorrect data*dir path in glib-gettextize output
6778  566994 Safer passing of -framework flag
6779  672889 GLib.utf8_validate does segfault
6780  673253 Not strict enough autconf test for libelf
6781  675024 adds g_list_copy_deep() and g_slist_copy_deep
6782  675168 prepare for thumbnails to move to XDG_CACHE_HOME
6783  675966 gresolver: More robust parsing of DNS responses
6784  676594 [Patch] fix g_reload_user_special_dirs_cache
6785  676825 Implement g_dbus_connection_get_last_serial ()
6786  677235 Clarify the comment at the top of gmarshal.list
6787  677527 OS X: gthread/spawn-async selftest failure
6788  677718 GDBusProxy: treat org.freedesktop.systemd1.Masked error as non-fatal
6789  677770 GUnixOutputStream does not implement can_poll
6790  677782 Install bash completion files in /usr/share
6791  677817 g_key_file_to_data adds extra blank lines in some cases
6792  677952 Missing annotation for GDBusConnection signal "closed"
6793  678052 g_wakeup_acknowledge is called too often.
6794  678273 unicode othercasing is wrong in gregex
6795  678333 gdbus-codegen code causes warnings under -Wfloat-equal
6796
6797 * Translations updated:
6798  Arabic
6799  Assamese
6800  Galecian
6801  Greek
6802  Spanish
6803  Telugu
6804
6805 Overview of changes from GLib 2.33.1 to 2.33.2
6806 ==============================================
6807
6808 * GLIB_VERSION_MIN_REQUIRED now defaults to the current stable version
6809
6810 * GIO input and output stream classes have grown GBytes-based methods
6811
6812 * GApplication now has hooks to register D-Bus objects before the bus
6813   name is taken
6814
6815 * Bugs fixed:
6816  605976 add g_type_ensure(), to ensure that a type has...
6817  660851 Breakage of code due to changes in the GThread...
6818  666386 Empathy doesn't open Redirect URI with particu...
6819  671139 need (transfer async) for io stream buffers
6820  672329 memory leaks in gutils.c and glib tests
6821  672548 g_utf8_validate: @str shouldn't end up annotat...
6822  674111 Provide an accessor for MimeType desktop entry...
6823  674483 broken configure results when cross-compiling ...
6824  674634 Add g_clear_pointer()
6825  674777 What's the (transfer) of g_variant_lookup()?
6826  675309 gkeyfile: Fix annotations for g_key_file_load_...
6827  675446 gfile: Plug memory leak in g_file_make_directo...
6828  675509 add extra dbus hooks
6829  675832 Incomplete gsettings bash auto-completion
6830  676208 The tmpl parameter to g_file_new_tmp can be NULL
6831  676265 GNetworkMonitor leaks a lot of memory
6832  676277 Document that g_app_info_create_from_commandli...
6833  676397 g_environ_* should work with NULL envp
6834  676398 g_spawn_* should take PATH from the passed env...
6835  676478 Broken gzip decoding
6836  676594 [Patch] fix g_reload_user_special_dirs_cache
6837  676816 Add more GLIB_AVAILABLE_IN_*
6838  676937 Document notify signal deduplication with free...
6839
6840 * Translation updates:
6841  Czech
6842  French
6843  German
6844  Greek
6845  Japanese
6846  Russian
6847  Slovenian
6848  Spanish
6849
6850
6851 Overview of changes from GLib 2.32.1 to 2.33.1
6852 ==============================================
6853
6854 * GApplication
6855  - can now have a NULL application ID
6856  - add accessors for determining dbus connection and object path
6857
6858 * g_clear_object: fix warnings when using it on C++ (due to lack of
6859   ability to implicitly cast void*)
6860 * add g_clear_pointer as a generic form of g_clear_object
6861
6862 * GDBus:
6863  - add our own implementation of the message bus for use on Windows only
6864  - fix up a few bugs that use of this bus uncovered in GDBus
6865  - escape nonce files in dbus addressess (think 'c:\')
6866  - support initial underscores in dbus codegen namespace (for private)
6867  - add GTestDBus for bringing up a session bus for testing purposes
6868  - gdbus-codegen: Avoid warnings in generated code
6869  - GDBusAuthObserver: Add a way to control what authentication mechanisms to use
6870  - 
6871
6872 * Fix misdetection of GNUstep as Cocoa (for the MacOS GSettings backend)
6873
6874 * make sure configure fails if AC_CHECK_ALIGNOF cannot detect the alignment
6875
6876 * GAppInfo
6877  - overwrite the DISPLAY only if it is set in the launch context
6878  - add accessor for StartupWMClass
6879
6880 * glib/tests/date: force US locale running the GDateTime tests
6881
6882 * Resources:
6883  - fix broken use of GVDB on big endian machines
6884  - set a 'display name' so that pretty file names appear in Gtk CSS
6885    warning messages
6886
6887 * GMainContext:
6888  - block child sources when blocking the parent
6889  - introduce more testcases for child sources
6890
6891 * GResolver: add support for MX, TXT, NS and SOA records
6892
6893 * GSocketControlMessage: Don't warn about unknown messages
6894
6895 * GIO:
6896  - implement GSeekable for the data and buffered stream classes
6897  - implement GPollable for many more classes as well
6898  - fix GConverterInputStream infinite loop when fill_buffer returns an error
6899  - fileinfo: document the correct type for trash::orig-path
6900
6901 * test coverage improvements and general fixes
6902
6903 * new 2.34 stuff: version macros, docs index section, etc.
6904
6905 * Build:
6906  - add --disable-modular-tests build option
6907  - don't require host binaries if tests are not enabled for cross-builds
6908
6909 * Translations updated
6910  Brazilian Portuguese
6911  Bulgarian
6912  Czech
6913  French
6914  Galician
6915  German
6916  Hebrew
6917  Hindi
6918  Italian
6919  Norwegian bokmål
6920  Polish
6921  Russian
6922  Russian
6923  Serbian
6924  Simplified Chinese
6925  Slovenian
6926  Spanish
6927  Telugu
6928
6929 Overview of changes from GLib 2.32.0 to 2.32.1
6930 ==============================================
6931
6932 * Bugs fixed:
6933  670254 glib-2.30.2: Fails /GDateTime/new_from_unix test
6934  672541 glib-compile-resources prepends --sourcedir to absolute paths
6935  673139 URL to mailing lists in README incorrect
6936  673174 g_input_stream_read[_finish]: document returning 0 on EOF
6937  673191 glib/gchecksum.c warning: dereferencing type-punned pointer...
6938  673216 [W32] gtestutils does not use path separators consistently
6939  673439 Properly deprecate g_value_{set,get}_char
6940  673612 Fails to decode dictionaries wrapped in two layers of array
6941  673803 gclosure: Support return values of GVariants
6942  669285 glib/tests/markup-parse fails under non-english locale
6943  673911 gio-2.0.pc lists full path to executables, breaking cross com..
6944  673762 gnextstepsettingsbackend.c:343: error: parse error before 'in'
6945
6946 * Updated translations:
6947  Belarusian
6948  British English
6949  Bulgarian
6950  Catalan
6951  Czech
6952  French
6953  German
6954  Hebrew
6955  Hindi
6956  Hungarian
6957  Italian
6958  Japanese
6959  Kannada
6960  Latvian
6961  Lithuanian
6962  Marathi
6963  Norwegian bokmål
6964  Odia
6965  Polish
6966  Serbian
6967  Slovenian
6968  Spanish
6969  Swedish
6970  Telugu
6971
6972
6973 Overview of changes from GLib 2.31.22 to 2.32.0
6974 ===============================================
6975
6976 * It is no longer necessary to use g_thread_init() or to link against
6977   libgthread.  libglib is now always thread-enabled. Custom thread
6978   system implementations are no longer supported (including errorcheck
6979   mutexes).
6980
6981 * The thread and synchronisation APIs have been updated.
6982   GMutex and GCond can be statically allocated without explicit
6983   initialisation, as can new types GRWLock and GRecMutex.  The
6984   GStatic_______ variants of these types have been deprecated.  GPrivate
6985   can also be statically allocated and has a nicer API (deprecating
6986   GStaticPrivate).  Finally, g_thread_create() has been replaced with a
6987   substantially simplified g_thread_new().
6988
6989 * The g_once_init_enter()/_leave() functions have been replaced with
6990   macros that allow for a pointer to any gsize-sized object, not just a
6991   gsize*.  The assertions to ensure that a pointer to a correctly-sized
6992   object is being used will not work with generic pointers (ie: (void*)
6993   and (gpointer) casts) which would have worked with the old version.
6994
6995 * It is now mandatory to include glib.h instead of individual headers.
6996
6997 * The -uninstalled variants of the pkg-config files have been dropped.
6998
6999 * For a long time, gobject-2.0.pc mistakenly declared a public
7000   dependency on gthread-2.0.pc (when the dependency should have been
7001   private).  This means that programs got away with calling
7002   g_thread_init() without explicitly listing gthread-2.0.pc among their
7003   dependencies.
7004
7005   gthread has now been removed as a gobject dependency, which will cause
7006   such programs to break.
7007
7008   The fix for this problem is either to declare an explicit dependency
7009   on gthread-2.0.pc (if you care about compatibility with older GLib
7010   versions) or to stop calling g_thread_init().
7011
7012 * g_debug() output is no longer enabled by default.  It can be enabled
7013   on a per-domain basis with the G_MESSAGES_DEBUG environment variable
7014   like
7015     G_MESSAGES_DEBUG=domain1,domain2
7016   or
7017     G_MESSAGES_DEBUG=all
7018
7019 * Bugs fixed:
7020  671988 Quickly registering / unregistering objects on bus...
7021  672095 glib needs stable sort function
7022  672406 glib/tests/include.c fails to build on FreeBSD
7023
7024 * Updated translations:
7025  Telugu
7026
7027
7028 Overview of changes from GLib 2.31.20 to 2.31.22
7029 ================================================
7030
7031 * Bugs fixed:
7032  531901 Use __builtin_bswap* for GUINT*_SWAP_LE_BE if building...
7033  653167 Out of tree build is broken on windows
7034  668973 Test /gvariant/parser fails on Solaris 10
7035  669797 gvfs now lists its fuse mounts
7036  670846 deadlock: GStreamer-WARNING **: wrong STREAM_LOCK count 0
7037  671664 gio-querymodules: unlink instead of writing empty cache
7038  671676 Glib can't be cross-compiled any more after merge of...
7039  671918 gnome-shell is inaccessible unless started while an AT...
7040  671942 GSocketMsgFlags: annotate as a flags
7041  671997 Unix signal handling assumes that volatile 1-byte writes...
7042  672013 GSimpleAsyncResult: support reliable cancellation
7043  672026 default log output should include pid and/or prgname
7044  672095 glib needs stable sort function
7045  672201 G_SPAWN_SEARCH_PATH should continue on ENODEV and ETIMEDOUT
7046  672239 request NO_REPLY from g_dbus_connection_call() with no as...
7047  672249 gdbusproxy leaks asyncresult in an error case instead of...
7048
7049 * Translation updates:
7050  Assamese
7051  British English
7052  Catalan
7053  Catalan (Valencian)
7054  Danish
7055  Esperanto
7056  Finnish
7057  French
7058  German
7059  Hungarian
7060  Korean
7061  Lithuanian
7062  Norwegian bokmål
7063  Polish
7064  Portuguese
7065  Russian
7066  Traditional Chinese
7067
7068
7069 Overview of changes from GLib 2.31.18 to 2.31.20
7070 ================================================
7071
7072 * Update to Unicode 6.1
7073
7074 * Update PCRE to 8.30
7075
7076 * Deprecations are now versioned, and new API is
7077   marked with the version it was introduced.
7078   Use these with GLIB_VERSION_{MIN,MAX}_REQUIRED
7079
7080 * The performance of signal emissions has been
7081   improved for simple cases
7082
7083 * Bugs fixed:
7084  529806 Cannot build in 64-bit Mac OS X due to libiconv
7085  580873 Documentation of register type functions incomplete
7086  592666 Document how to unset an attribute
7087  597785 g_type_class_add_private code snippet is a bad example
7088  621368 glib-2.24.1: FAIL: run-assert-msg-test.sh when updating...
7089  622149 --disable-regex breaks glib2 build
7090  639873 GBinding: Crash when binding two properties on the same...
7091  640202 For GLIB v. 2.23.6 and above: impossibility to build mu...
7092  668295 Need a way to classify GVolume instances
7093  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
7094  670542 Add version information for deprecations
7095  670557 gvaluetransform: Fix an infinite loop with GFlagsValue...
7096  670721 global variable for signal ID should be hidden
7097  670751 IceWM build fails due to the G_DEPRECATED_FOR macro
7098  670909 g_dbus_connection_call leaks when it receives an error...
7099  670922 Include path to gdbus-codegen in the pkgconfig file
7100  670969 GSequence lookup may fail if there was no sort prior to...
7101  671025 Constants and identifiers starting with a number are no...
7102  671270 make distclean failures
7103  671281 glib-compile-resources.xml is missing from the dist tar...
7104
7105 * Translation updates:
7106  Basque
7107  Belarusian
7108  Brazilian Portuguese
7109  Bulgarian
7110  Galician
7111  Hebrew
7112  Lithuanian
7113  Persian
7114  Punjabi
7115  Serbian
7116  Simplified Chinese
7117  Slovenian
7118  Telugu
7119  Traditional Chinese
7120  Uyghur
7121  Vietnamese
7122
7123
7124 Overview of changes from GLib 2.31.16 to 2.31.18
7125 ================================================
7126
7127 * GDBusProxy has now a flag, G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
7128   which can be set to make GDBus automatically reload
7129   changed properties even if the propertychanged signal
7130   does not contain the new values.
7131
7132 * GApplication puts non-unique applications on the bus
7133
7134 * GApplication now has g_application_quit()
7135
7136 * g_async_queue_timed_pop has been deprecated in favor of
7137   the new g_async_queue_timeout_pop, which uses relative
7138   delays in microseconds instead of a GTimeVal.
7139
7140 * a huge number of API documentation fixes
7141
7142 * Bugs fixed:
7143  647986 put non-unique apps on D-Bus
7144  658484 vpn connection vs NetworkSecretDialog
7145  664237 GDateTime falls back to UTC if TZ is set
7146  669329 gthread-win32: update for g_get_monotonic_time() changes
7147  669330 glocalfile: fix error code when opening a directory on win32
7148  669372 glib/tests memory leaks.
7149  669412 mem leak in g_environ_unsetenv
7150  669538 Fix compilation of glib-compile-resources.c on Windows
7151  669544 gdbus-codegen example introspection XML is not complete
7152  669595 glib-mkenums: fix handling of forward enum declarations
7153  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
7154  669671 gobject: use #pragmas to avoid deprecated function warnings
7155  669689 Retrieve cwd and environ in local GApplicationCommandLine
7156  669810 socket/win32: flush pending read before signaling HUP
7157  669865 g_regex_fetch()
7158  670085 memory leak in g_output_stream_write_async
7159  670138 gbytes.h is missing the G_BEGIN/END_DECL guards
7160  670485 Simplify session API (shared bug with gtk+)
7161
7162 * Updated translations:
7163  Belarusian
7164  Danish
7165  Galician
7166  Serbian
7167  Telugu
7168  Hebrew
7169
7170
7171 Overview of changes from GLib 2.31.14 to 2.31.16
7172 ================================================
7173
7174 * GResource:
7175  - The resource compiler can now convert pngs into
7176    pixel data that can be used without parsing at runtime
7177    (requires gdk-pixbuf-pixdata to be present)
7178
7179 * Bugs fixed:
7180  669123 resource compiler: failing to-pixdata should...
7181  669173 resource: fix xml preprocess entity handling
7182  669224 Cross-compilation broken by data-to-c
7183  669253 gsettings set buggy on array values
7184  669334 fix memory leak in bookmark file parser
7185
7186 * Translation updates:
7187  Norwegian bokmål
7188  Spanish
7189
7190
7191 Overview of changes from GLib 2.31.12 to 2.31.14
7192 ================================================
7193
7194 * GResource:
7195  - GLib now includes a commandline utility, gresource,
7196    to explore resources in ELF files
7197  - The resource compiler can now optionally strip
7198    ignorable whitespace from XML resources
7199  - The resource compiler can now generate build dependencies
7200  - The resource compiler will now autoselect output formats
7201
7202 * GApplication:
7203  - The menu markup parser API has been dropped, the
7204    menu XML support lives in GTK+ now
7205
7206 * GValueArray has been deprecated
7207
7208 * Bugs fixed:
7209  626258 N-ary Trees - 'nodes' can be inserted before and after...
7210  634232 Core Dump / Aborted using g_key_file_to_data
7211  639099 schema compiler chokes on valid schema
7212  667228 Deprecate GValueArray
7213  667243 Add an element clear function to GArray
7214  667929 glib-compile-resources: xml resources doesn't need to...
7215  668250 g_date_time_format() produces a non-UTF8 string
7216  668468 'IP_ADD_SOURCE_MEMBERSHIP' undeclared
7217  668532 resources: add dependency generator to the resource compiler
7218  668539 resources: compiler should autoselect output format...
7219  668561 gresource-tool not internationalized
7220  668572 glib_cv_g_atomic_lock_free config.cache setting not honored...
7221  668650 GRealArray->clear_func should be initialized
7222  668756 GKeyFile: allow loading from empty strings
7223  668857 fix couple of typos in comments
7224  669024 goption: implement platform_get_argv0() for OpenBSD
7225
7226 * Updated translations:
7227  Galician
7228  Norwegian bokmål
7229  Spanish
7230  Traditional Chinese
7231
7232 Overview of changes from GLib 2.31.10 to 2.31.12
7233 ================================================
7234
7235 * GApplication:
7236  - Drop support for exporting menus - this functionality
7237    will be provided in GtkApplication
7238  - Add a way to create actions that change settings
7239
7240 * Bugs fixed:
7241  629503 Add async versions of g_unix_connection_{receive,send}_credentials
7242  656301 glib-compile-schemas should not create an empty file
7243  668071 mingw-gcc build fails on gio/gsocket.[c|h]
7244  668118 the big appmenu switcheroo
7245  668158 base64 encode and line termination
7246  668163 GDBusConnection: note that exit-on-close is sometimes TRUE
7247  668269 gsignal: add g_signal_handlers_disconnect_by_data
7248  668279 create GAction from GSettings
7249
7250 * Translation updates:
7251  Norwegian bokmål
7252
7253
7254 Overview of changes from GLib 2.31.8 to 2.31.10
7255 ===============================================
7256
7257 * GResource:
7258  - A new facility to allow linking data files into binaries
7259    and make them available as resources
7260  - Resources are compiled using glib-compile-resources
7261  - GIO supports resource:/// uris to access resources
7262
7263 * Bugs fixed:
7264  619126 Missing dependency libs
7265  658315 g_key_file_get_keys() should set length to 0...
7266  660371 is it ever valid to have 0 as a GError domain?
7267  666700 Add some missing (allow-none) annotations
7268  667375 GAsyncInitable subclassing (and async subclassing...
7269  667447 Missing many introspection annotations
7270  667790 Protect call to pthread_condattr_setclock with define
7271  667938 wrong gtypes generated for empty flags enums
7272
7273 * Translation updates:
7274  Hebrew
7275  Spanish
7276
7277
7278 Overview of changes from GLib 2.31.6 to 2.31.8
7279 ==============================================
7280
7281 * GObject:
7282  - The type checks for overriding properties have been loosened.
7283    In particular, it is now possible to add the CONSTRUCT flag
7284    to an overridden property
7285  - GWeakRef is a new API for weak references; unlike g_object_weak_ref
7286    and g_object_add_weak_pointer, it is thread-safe.
7287
7288 * GHashTable has grown new convenience api for use as a set:
7289   g_hash_table_add, g_hash_table_contains
7290
7291 * GSocketConnection has gained API for managing connection status
7292
7293 * GSettings: a native OS X backend has been added, under the
7294   name 'nexstep'
7295
7296 * Bugs fixed
7297  455640 Something fishy with GRegex and unicode
7298  548954 weak references are not threadsafe
7299  625751 Add G_FILE_ATTRIBUTE_FILESYSTEM_USED
7300  658871 gbacktrace: g_get_prgname () isn't called for a NULL argu...
7301  664069 gvariant: Never break out of g_variant_iter_loop
7302  664830 g_strescape doesn't natively handle \v (vertical tab)
7303  665211 GDBusConnection singleton access can race with disposal
7304  665805 Add GSocketClient::action, for tracking socket client status
7305  666116 some tests provoke undefined behaviour, which is undesira...
7306  666422 Unreachable code in gio gnetworkmonitornetlink.c
7307  666551 Crash in g_thread_xp_SleepConditionVariableSRW
7308  666595 menu parser disallows id='' on submenu and section
7309  666615 loosen property override flag restrictions
7310  666616 gobject: fix property override type checks
7311  666803 g_utf8_validate() fails to validate strings with known size
7312  666804 g_ateaxit deprecation warning in devhelp points in wrong ...
7313  666951 g_mkdtemp: Since version incorrect in docs
7314  666978 Fails to compile glib applications with ISO C90 compiler
7315  667098 ginetaddressmask leaks its address property
7316  667225 GSocket: add missing type checks to public methods
7317  667226 GSocket: fix an error return value
7318  667279 Sometimes crashes when launching commandline-crea...
7319  667285 Wrong keyname listed in documentation for g_deskt...
7320  667331 Use g_queue_free_full() convenience function
7321  667420 GHashTable GDB pretty printing is broken
7322
7323 * Updated translations
7324  Belarusian
7325  Bulgarian
7326  Hebrew
7327  Norwegian bokmål
7328  Norwegian Nynorsk
7329  Spanish
7330  Vietnamese
7331
7332
7333 Overview of changes from GLib 2.31.4 to 2.31.6
7334 ==============================================
7335
7336 * GApplication no longer has APIs for setting menus.  Those have been
7337   moved to GtkApplication.
7338
7339 * the GActionGroup import/export functionality has been decoupled from
7340   GApplication by the introduction of a new interface for the purpose of
7341   handling platform data: GRemoteActionGroup.  This allows Gtk to
7342   properly deal with platform data (and gdk threads) on window actions.
7343
7344 * lots of documentation improvements
7345
7346 * bug fixes and a huge number of memory leak fixes
7347
7348 * the test suite now passes on ARM and some of the GDBus testcase hangs
7349   we've been seeing have been resolved (although others could remain)
7350
7351 * g_bytes_get_data() API changed: now includes 'size' out parameter
7352
7353 * new g_queue_free_full() API similar to g_[s]list_free_full()
7354
7355 * desktop files: use standard "Keywords" now, not "X-GNOME-Keywords"
7356
7357 * gsettings commandline tool now has --schemadir option for schemas not
7358   installed in the usual place (ie: as part of plugins)
7359
7360 * Bugs fixed:
7361  643736 GApplication doesn't emit dbus signals on action updates
7362  657433 g_queue_free_full() missing
7363  664699 glib: documentation fixes
7364  665737 acquire/release gdk threads lock on incoming dbus
7365  665879 GBytes: add a size argument to g_bytes_get_data
7366  666113 various leaks in GLib, GIO are visible in the regression tests
7367  666115 various tests leak memory, obscuring real leaks in the library
7368  666145 Doc could be more explicite that g_thread_init calls can be droped
7369  666173 Configure warning - linux/netlink.h usability... no
7370  666296 Race condition in g_thread_xp_get_srwlock
7371  666415 Settings tools should allow specifying a schema directory 
7372
7373 * Translations updated:
7374  French
7375  Spanish
7376
7377 Overview of changes from GLib 2.31.2 to 2.31.4
7378 ==============================================
7379
7380 * EXPERIMENTAL: Menu support has been added to GApplication.  Menus
7381   are exported on the bus, alongside the actions that are already there.
7382   There have also been many related improvements to action group
7383   functionality.
7384
7385   These new APIs are subject to changes in the coming releases.  In
7386   particular, it seems somewhat likely that the APIs for registering
7387   menubars may change in order to accommodate windows with different
7388   types of menubars.
7389
7390 * GDBusConnection previously directly dispatched destroy notifies when
7391   unregistering objects if the current main context was the same context
7392   the object was exported on.  It now unconditionally dispatches these
7393   through an idle on the context.
7394
7395 * Clean up Requires in pc files. Linking against GIO no
7396   longer drags in gmodule. This may require dependency
7397   fixes here and there.
7398
7399 * Introduce GBytes, a data type for immutable, fixed-size
7400   byte sequences. This makes the pre-existing GBuffer
7401   API available outside GLib
7402
7403 * GDBusInterfaceSkeleton can now be exported on multiple
7404   connections
7405
7406 * Bugs fixed:
7407  600161 Do not use static GTypeInfo and GInterfaceInfo
7408  640077 GFileMonitor: Always send CHANGES_DONE_HINT after a move...
7409  641720 Misleading definition for local_command_line() in GApplic...
7410  648516 Little comment error and 2 useless lines of code
7411  651997 Dummy backend for gapplication
7412  652560 Test for g_ascii_strtod is failing
7413  662208 failure to initialize a GInitable should be considered...
7414  662718 GDBusInterfaceSkeleton should be able to export on multi...
7415  663291 GBytes: Immutable, refcounted sequence of bytes
7416  664406 Need context for a proper translation
7417  664455 Build fixes for GLib GIT master (2.31.x)
7418  664558 GDBusWorker.frozen has a value > 1 in a gboolean
7419  664559 sys/wait.h not available on windows
7420  664617 gdbus segfault error 4 in libgio-2.0.so.0.3102.0
7421  664635 GMemory{Out,In}putStream _async functions break sub-class...
7422  664809 Add command line option to gtester to allow skipping tests
7423  665067 cryptic assertion failure if nonsensical flag combinations...
7424  665184 Check ref. count before reffing/unreffing
7425  665298 Add 'Requires.private: libpcre' to glib-2.0.pc
7426  665391 update documentation around mainloops
7427  665607 ./configure is there for fiddling with cross-compile enviro...
7428  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes...
7429  665685 Add a #define for the max length of a Unicode decomposition
7430  665733 GDBusConnection holds lock while calling destroynotify
7431
7432 * Translation updates:
7433  Norwegian bokmål
7434  Spanish
7435
7436
7437 Overview of changes from GLib 2.31.0 to 2.31.2
7438 ==============================================
7439
7440 * Monotonic time is now properly supported on Windows
7441
7442 * glib-mkenums: fix @ENUMPREFIX@ with /*< underscore_name=... >*/
7443
7444 * EXPERIMENTAL: introduce new GSettingsSchema and GSettingsSchemaSource
7445   APIs for the convenience of plugin system authors and those who wish
7446   to introspect the contents of schemas.  This API may change.
7447
7448 * Improve the performance of GObject property notifies.
7449
7450 * GDBus:
7451  - fix a race when unowning a name immediately after owning it
7452  - thread safety improvements on GDBusConnection
7453  - fixes for exit-on-close functionality
7454
7455 * Deprecations:
7456  - add G_SIGNAL_DEPRECATED
7457  - don't use G_DISABLE_DEPRECATED masking for functions anymore
7458
7459 * docs
7460  - tmpl/ is finally dead for glib
7461
7462 * GIO:
7463  - GInetAddressMask: new type for internet address range matching
7464  - various GIO file and stream fixes
7465  - improvements to attribute and fileinfo handling
7466
7467 Overview of changes from GLib 2.29/2.30 to 2.31.0
7468 =================================================
7469
7470 This release contains a huge number of changes (500 commits worth).  The
7471 list below attempts to summarise, but not every change is listed.
7472
7473 * Major changes to threading and synchronisation
7474  - threading is now always enabled in GLib
7475  - support for custom thread implementations (including our own internal
7476    support for errorcheck mutexes) has been removed
7477  - a whole lot of dead code (to deal with the non-threaded case) has
7478    been ripped out.  This includes the racy path of GMainContext that
7479    caused deadlocks with respect to child process exits in
7480    single-threaded programs (such as gtester).
7481  - libgthread is now an empty shell and g_thread_init() is no longer
7482    required (and has been deprecated)
7483  - GMutex and GCond can now be statically allocated without explicit
7484    initialisation.  Dynamic allocation for these types is deprecated.
7485  - new types GRecMutex and GRWLock can also be statically allocated
7486    without explicit initialisation.
7487  - GPrivate can now be statically allocated and has an improved API.
7488    Dynamic allocation of GPrivate is deprecated.
7489  - GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
7490    deprecated.
7491  - GCond now uses monotonic time internally and a new API takes
7492    monotonic time for timed waits, deprecating the wallclock API
7493  - removal of the insane macro indirection used in the previous
7494    implementation of threading and synchronisation APIs
7495  - use SRWLock and CONDITION_VARIABLE APIs when available on Windows
7496    (Vista and later) and emulate them on XP
7497  - leaks of G(Static)Private-allocated data on some cases of thread exit
7498    have been fixed
7499  - simplified new thread creation API with the old API deprecated.  The
7500    concept of joinability has disappeared (all threads are joinable) as
7501    have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
7502    and ability to manipulate the stack size.
7503  - GThread is now a refcounted type
7504  - other implementation details changed
7505
7506 * Move headers for some deprecated functionality to a separate
7507   deprecated/ directory.
7508
7509 * New support for attribute-based deprecations to issue compiler
7510   warnings instead of breaking the build and/or giving warnings about
7511   implicit declarations (and possibly miscompiling).
7512
7513 * GCache has been deprecated (after its last use was removed from our
7514   platform over a year ago).
7515
7516 * It is no longer possible to include individual headers (like
7517   "ghash.h") -- you must #include <glib.h>.
7518
7519 * The misguided experiment of allowing the program to stumble along with
7520   missing GSettings schemas is now over -- the abort is back.
7521
7522 * Clarify that fork() is not valid while using GMainContext.  This is
7523   because the internal resources of the GMainContext end up being shared
7524   by both processes.  We had an assert here but it was breaking existing
7525   (valid) use cases as well, so it has been removed for now.
7526
7527 * GApplication
7528   - add ::shutdown signal as logical dual to ::startup
7529   - don't use a GMainLoop: iterate the GMainContext directly (improves
7530     quit logic)
7531
7532 * Several portability fixes for Windows, OpenBSD, Solaris
7533
7534 * Add new GValue API to specifically deal in signed chars (in case the
7535   platform defines 'char' as unsigned)
7536
7537 * some new API to mitigate the problems associated with calling setenv()
7538   in a multi-threaded program
7539
7540 * Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
7541   time (ie: stop checking for kernel support at runtime).
7542
7543 * pkg-config files:
7544   - drop -uninstalled variants
7545   - remove gobject dependency on gthread
7546
7547 * New macro G_ATOMIC_LOCK_FREE is defined if the atomic operations are
7548   implemented without use of a mutex.  Cleaned up atomic-related
7549   compilation issues with mingw compilers on win32 systems.
7550
7551 * SOCKS proxy and resolver improvements
7552
7553 * Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
7554   introduce a macro for backwards compatibility.
7555
7556 * GDBus:
7557   - many code generation updates and improvements
7558   - some race condition fixes, including testcase hangs
7559
7560 * GVariant:
7561   - new g_variant_new_from_fixed_array() API
7562   - substantial docs improvements/clarifications
7563
7564 * GKeyFile is now refcounted and boxed
7565
7566 * mount monitoring is now based on /proc/mounts (where available)
7567   instead of mtab
7568
7569 * new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for returning from
7570   GSourceFunc (so you don't have to remember what TRUE and FALSE mean)
7571
7572 * use xlocale functions where available to avoid too much heavy lifting
7573   in functions like g_ascii_strtod()
7574
7575 * GMappedFile can now be created from an fd
7576
7577 * error message strings grammar/i18n fixes
7578
7579 * many docs updates
7580
7581 * Partial list of bugs closed:
7582  70598  Unify GStaticMutex and GMutex.
7583  320888 optimization for g_main_context_wakeup
7584  398418 GChildWatch race condition?
7585  527214 g_timer_elapsed() returns random values
7586  580505 add a way to set/get name for a thread
7587  583511 race condition means g_main_loop_quit() does not work
7588  590808 GKeyFile should have a refcount and a boxed type in GObject
7589  592715 Document that g_str_hash() and g_int_hash() are not NULL safe
7590  631413 Add macros for GSourceFunc return values
7591  632049 not immediately clear what g_variant_get_fixed_array expects
7592  640212 "Error stating file" is not a friendly message
7593  640293 Use xlocale functions to implement g_ascii_strtod()
7594  640975 Check that error exists before trying to set it
7595  643934 GApplication lacking a logical dual for the ::startup signal
7596  651268 assertion failed in GDBus worker thread
7597  653987 g_key_file_get_integer cannot interpret trailing spaces
7598  654412 Documentation for g_variant_get_child_value unclear
7599  654563 info capplet: Failed to calculate disk space
7600  655366 missing GSettings schemas lead to obscure crashes
7601  656621 g_spawn_*() calls executables in current directory
7602  656679 [gi] Add two annotations to gio
7603  657992 Add glib__private__() API to share between glib,gio
7604  658188 _set_as_last_used_for_type generates a broken mimeapps.list
7605  658206 gsocks5proxy.c has invalid gettext use
7606  658207 glib-compile-schemas says "can not"
7607  658558 simpleaction: Fix documentation of :enabled
7608  658683 clean up charset/language threading issues
7609  658692 add introspection annotations to g_time_val_from_iso8601()
7610  658715 Duplicite strings
7611  658769 Invalid reuse of GError in GThreadedResolver
7612  658806 sign error in string hash implementation
7613  658976 gdbus-codegen's C namespace option needs to support Ugly_Case
7614  659070 gdbus-codegen generated code segfaults when property changes
7615  659082 gdbus-codegen: Single letter namespaces get dropped from names
7616  659212 GMappedFile should fail on non-regular files
7617  659324 _SPLICE_CLOSE_TARGET doesn't mark the output stream as closed
7618  659423 Use adaptive mutexes when available
7619  659427 Move deprecated code to a separate directory
7620  659646 gdbus-codegen produce code that warnings at build
7621  659690 Possible build warning in code generated by gdbus-codegen
7622  659699 property name collision when generating code for "Connection"
7623  659754 Add API to GMappedFile that allows to pass FD
7624  659838 incorrect types in introspection for g_object_bind_property
7625  659866 pthread_rwlock_t requires defined __USE_UNIX98
7626  659870 gvalue: Fix signedness of g_value_get_char()
7627  659889 glib-2.29.92/gio-2.0.pc.in has a wrong line.
7628  659916 GObject size of 64K is not actively enforced
7629  659920 Missing setter for read/write property 'closed' of GIOStream
7630  659923 Add g_variant_new_fixed_array() function
7631  660013 Remove old g_atomic configure cruft
7632  660096 glib/rwlock tests failure (tests asserted)
7633  660130 Possible loss of user data when updating mimeapps.list
7634  660147 tracker causes g_critical in "gsettings list-recursively"
7635  660413 Make G_ASSERT_STATIC work with clang
7636  660498 Generated test code fails when the codegen changes
7637  660511 Use /proc/mounts for monitoring mounts, not /etc/mtab
7638  660536 Expose options for /etc/fstab entries
7639  660635 Deprecate g_thread_foreach
7640  660637 Pending dbus method calls not canceled on connection loss
7641  660739 kill off g_{mutex,cond}_{new,free}()
7642  660740 make GThread more standard
7643  660741 g_cond_timedwait is a disaster
7644  660743 macro wrappers for g_once_init_enter/leave
7645  660744 finish killing g_thread_init()
7646  660745 GPrivate leaks on Windows
7647  660791 [gio] Improve doc for g_file_make_directory_with_parents()
7648  660843 asyncqueue-test is broken
7649  660849 Remove cruft from g_strerror and g_strsignal
7650  660886 GDBusProxy: don't drop/complain about unknown props/signals
7651  660887 g_slice_set_config() is broken
7652  660994 Add g_main_context_ref_thread_default()
7653  661255 gio: enable test_peer regression test for OpenBSD
7654  661257 giomodules.c uses ":" instead of G_SEARCHPATH_SEPARATOR_S
7655  661318 tests use pthread without appropriate compiler/linker flags
7656  661421 Applications fail to initialize on GNU Hurd - commit
7657  661438 Implement G_GNUC_DEPRECATED/G_GNUC_DEPRECATED_FOR on Visual C++
7658  661711 Sorting keys for GDrive, GVolume and GMount instances
7659  661763 desktop-app-info: Add support for X-GNOME-Keywords
7660  661896 /gdbus/connection/life-cycle is racy
7661  661914 Gstreamer/Totem locks up
7662  662100 regression: g_dbus_connection_close() triggers exit-on-close logic
7663
7664 * Translations updates:
7665  Belarusian 
7666  Brazilian Portuguese
7667  British English 
7668  Bulgarian 
7669  Catalan 
7670  Catalan (Valencian)
7671  Czech 
7672  Danish 
7673  Esperanto
7674  French 
7675  Gujarati
7676  Hebrew 
7677  Hungarian 
7678  Italian 
7679  Japanese
7680  Lithuanian
7681  Norwegian bokmål
7682  Oriya
7683  Polish 
7684  Russian 
7685  Serbian
7686  Simplified Chinese
7687  Slovak 
7688  Slovenian
7689  Spanish 
7690  Tamil
7691  Vietnamese
7692
7693 Overview of changes from GLib 2.29.18 to 2.29.90
7694 ================================================
7695
7696 * GObject includes a generic marshaller, g_cclosure_marshal_generic.
7697   To use it, simply specify NULL as the marshaller in g_signal_new().
7698   The generic marshaller is implemented with libffi, and consequently
7699   GObject depends on libffi now.
7700
7701 * API/ABI changes:
7702  - unix signal watches now match the API of all of the other sources
7703  - revert the addition of g_date_time_source_new () from last release
7704
7705 * networking and other fixes for Solaris
7706  - we no longer support symbolic port names (ie: from /etc/services)
7707  - check if -lsocket is needed
7708  - fix g_socket_details_from_fd()
7709  - avoid getmntinfo
7710  - fix some harmless warnings
7711
7712 * GDateTime improvements:
7713  - generally improved standards compliance (with C99)
7714  - support C99-specified format strings: %g, %G, %V, %c, %C, %w
7715  - consult the locale for the preferred 12-hour time format (%r)
7716  - drop support for non-standard %N and broken %W
7717  - better support for formatting non-POSIX (eg: Arabic) numerals
7718  - locale-related test case fixups, and fix some leaks
7719
7720 * GTlsInteraction: add interaction method invocation guarantees
7721
7722 * gdbus-codegen: post-process all interfaces when parsing >1 file
7723
7724 * make GMainLoop, GMainContext and GSource boxed types
7725
7726 * fix a race condition in the first use of g_get_monotonic_time()
7727
7728 * lots gtk-doc cleanups
7729
7730 * better intltool compatibility when generating pot file
7731
7732 * avoid GCC-specific compiler options when not using GCC
7733
7734 * Translation updates:
7735  Belarusian
7736  Brazilian Portuguese
7737  Canadian English
7738  Galician
7739  Indonesian
7740  Korean
7741  Lithuanian
7742  Norwegian bokmål
7743  Portuguese
7744  Spanish
7745  Swedish
7746
7747 Overview of changes from GLib 2.29.16 to 2.29.18
7748 ================================================
7749
7750 * GDateTime is now respecting LC_TIME when formatting
7751
7752 * GTimeZoneMonitor has been removed again
7753
7754 * A new API for wallclock functionality has been added:
7755   g_date_time_source_new(). This API is still experimental
7756   and may be changed or removed before 2.30.
7757
7758 * Bugs fixed:
7759  628904 Add credential support for FreeBSD and fix a socket issue
7760  650763 gdbus-codegen is broken with python 2.7
7761  655129 GDateTime could provide api for implementing wall clocks
7762  656341 gtlsconsoleinteraction.c uses getpass() which isn't avail...
7763  656387 GCancellable can be used concurrently
7764  656443 Make GTlsInteraction ask_password cancellable
7765  656675 void functions should not return in glib 2.29.16
7766  656772 g_variant_compare for uint64 incorrect
7767  656914 Load GIO_EXTRA_MODULES first, and ignore duplicates
7768  657083 The header langinfo.h is not available on all systems
7769  657084 gfileutils: fix docs/annotations for temp file methods
7770  657138 Some files missing in POTFILES.in
7771  657206 GInputStream leaked in g_file_icon_load_async()
7772  657243 g_cancellable_set_error_if_cancelled() documentation
7773  657274 Use detected PYTHON variable as shebang for gdbus-codegen
7774  657336 Speling fixes for glib found with codespell
7775  657452 plural forms needed
7776  657454 Translation comment needed
7777  657540 Print out file:// URL to coverage HTML report after building
7778  657593 g_test_trap_fork calls close(-1)
7779  646082 Addresses from GSocket should be normalized before returning
7780  657517 fix gio/tests/gdbus-peer on bsd
7781
7782 * Translation updates:
7783  Brazilian Portuguese
7784  Galician
7785  Norwegian bokmål
7786  Punjabi
7787  Russian
7788  Serbian
7789  Spanish
7790  Swedish
7791  Traditional Chinese
7792  Uighur
7793
7794
7795 Overview of changes from GLib 2.29.14 to 2.29.16
7796 ================================================
7797
7798 * GTlsDatabase: an abstract class that provides support
7799   or certificate and key lookup. An implementation will
7800   be provided in glib-networking
7801
7802 * GHmac: Support or HMAC digests
7803
7804 * Misc new API:
7805  - g_ptr_array_add_full: creates a GPtrArray with
7806    a preallocated size and a destroy function
7807  - g_desktop_app_info_get_show_in: checks if a GDesktopAppInfo
7808    should be shown in a given desktop environment
7809  - g_mkdtemp, g_mkdtemp_full, g_dir_make_tmp: create
7810    temporary directories
7811
7812 * Unify thread wakeup implementations of GMainContext
7813   and GCancellable, and use eventfd for it when available
7814
7815 * Show mounts in $XDG_USER_DIR in addition to /media and $HOME
7816
7817 * Bugs fixed:
7818  636572 GTlsCertificateDB
7819  644601 Some tests need a running dbus session
7820  652284 deal with small key lengths
7821  652827 glib-2.29.8 no longer builds with mingw.org's toolchain
7822  653063 PEM parser fails parsing private key when put first
7823  654078 Fail to static linking with Glib library
7824  654450 New functions: g_ptr_array_new_full()
7825  654793 Add G_VALUE_INIT
7826  655044 GDesktopAppInfo: Add g_desktop_app_info_get_show_in()
7827  655148 gdbusconnection is broken when compiling with mingw
7828  655241 glocalfile.c no longer compiles with MinGW GCC
7829  655598 g_cancellable_get_fd: silently return -1 for NULL cancellable
7830  655664 gdbus should not abort if no dbus session is available
7831  655769 Use ZLIB_CFLAGS when compiling gio
7832  656031 Improve GVariant annotations
7833  656048 glib-codegen requires Python >= 2.5
7834  656151 configure test logic inverted, doesn't match comments
7835  656152 GCC only syntax used, yet other compilers allowed by configure.
7836  656162 allow use of lcov 1.9 for coverage
7837  656282 GDBusProxy: uninitialized local variables can be freed
7838  656283 Failing tls connection cause assertion
7839  118563 Add g_mkdtemp in the spirit of g_mkstemp
7840  636405 Add g_return_if_fail() to g_settings_bind_with_mapping()
7841  656039 race condition between GDBusProxy signals and public API
7842  656492 g_io_channel_new_file failure (open(2) behavior wrt POSIX)
7843
7844 * Translation updates:
7845  Bulgarian
7846  Esperanto
7847  French
7848  Galician
7849  German
7850  Hebrew
7851  Indonesian
7852  Italian
7853  Norwegian bokmål
7854  Russian
7855  Spanish
7856  Swedish
7857
7858
7859 Overview of changes from GLib 2.29.12 to 2.29.14
7860 ================================================
7861
7862 * Unicode improvements
7863  - add g_unicode_script_{to,from}_iso15924
7864  - add G_UNICODE_SPACING_MARK define
7865  - more normalisation improvements
7866  - stop using deprecated g_unicode_canonical_decomposition()
7867
7868 * GParamSpec:
7869  - mark the 'name' field as 'const' and add a comment to the header to
7870    help avoid future problems caused by bad hacks
7871
7872 * Merge some (modified) patches from Debian:
7873  - 03_blacklist-directories.patch
7874    - add some blacklisted mount directories
7875  - 60_wait-longer-for-threads-to-die.patch
7876    - sleep longer in a test case, if needed to avoid failing
7877
7878 * Units policy change: prefer use of SI units
7879  - deprecate g_format_size_for_display, add g_format_size(_full)
7880
7881 * GSettings: don't call g_error() when the schema is missing
7882
7883 * GVariant support for arrays of object paths:
7884  - new g_variant_{new,get,dup}_objv API
7885  - support for g_variant_{new,get} '^ao' and '^a&o' similar to '^as'
7886
7887 * GDBus:
7888  - use new improved array-of-objects support and pass 'ao' as char**
7889    instead of GVariant*
7890  - improve handling of 'h' type (Unix file descriptor index)
7891
7892 * GIO:
7893  - fix compilation without USE_STATFS and USE_STATVFS
7894
7895 * Documentation fixes
7896
7897 * Bugs fixed:
7898  622921 Migrate from dbus-glib to glib's GDBus
7899  648271 Add g_unicode_script_to_iso15924()
7900  654948 Stop using deprecated g_unicode_canonical_decomposition()
7901  654988 g_atomic_int_add should document behaviour change
7902  655025 #define G_UNICODE_SPACING_MARK G_UNICODE_COMBINING_MARK
7903  655076 normalization misses some Full_Composition_Exclusion=True. 
7904
7905 * Translations updated:
7906  Spanish
7907
7908 Overview of changes from GLib 2.29.10 to 2.29.12
7909 ================================================
7910
7911 * Add new API to do Unicode (de-)composition in atomic steps,
7912   for use in Harfbuzz.
7913
7914 * Bugs fixed:
7915  615895 (indirectly) support non-NULL-terminated regexes in GRegex
7916  617949 glib trunk fails to compile on Solaris w/ Studio 12...
7917  620423 Document the possibility to unset attributes
7918  627974 Floating reference headaches
7919  644687 Not finding cross-links in current doc set
7920  649246 g_output_stream_splice() cannot be used on 32-bit machines...
7921  653841 a helper script to build glib from git master on win32
7922  653935 g_slist_free_full/g_list_free_full iterates twice in the list
7923  654017 tests: fix glib_translations_work() in gsettings unit test
7924  654085 Don't needlessly use "echo -e" when creating .def files
7925  654195 Add g_unichar_compose() and g_unichar_decompose()
7926  654232 GCancellable eventfd problems
7927  654394 suspicious use of floating references in GDBusInterfaceSkeleton
7928  654536 GSettings: lift key name length restriction to 64
7929  654627 GParamSpec: intern property names
7930  654651 Better g_unicode_canonical_decomposition()
7931  654917 Make g_cclosure_marshal_generic the default signal handler
7932
7933 * Translation updates:
7934  Belarusian
7935  Finnish
7936  Korean
7937  Latvian
7938  Lithuanian
7939  Norwegian bokmål
7940  Turkish
7941
7942
7943 Overview of changes from GLib 2.29.8 to 2.29.10
7944 ===============================================
7945
7946 * New features:
7947  - g_desktop_app_info_get_nodisplay: a function that is required
7948    to port gnome-menus to GDesktopAppInfo
7949  - g_hash_Table_iter_replace: new function to replace a value
7950    while iterating over a hash table
7951  - g_utf8_substring: convenience API to extract substrings from
7952    UTF-8 strings
7953  - g_action_group_add_entries: convenience API for creating lots
7954    of actions quickly
7955  - Use eventfd instead of pipes for waking up main contexts and
7956    for cancellation when available
7957  - GMatchInfo is now a refcounted boxed type
7958
7959 * API changes in GAction:
7960  - the 'set_state' entry in the GActionInterface vtable has been
7961    renamed to 'change_state
7962  - g_action_set_state has been renamed to g_action_change_state
7963  - the 'state' property has been changed to read-only
7964  - GSimpleAction can no longer be subclassed
7965
7966 * Bug fixes
7967  647796 g_variant_new_variant is not marked as constructor
7968  652072 gmain: make use of signalfd()
7969  652168 Crosscompiling Fails if build<=2.24 and host >2.24
7970  652750 make dist fails
7971  652758 GDataInputStream: Clarify g_data_input_stream_read_line docs...
7972  652822 Add a g_hash_table_iter_replace
7973  652897 tiny docs clarification for g_utf8_to_ucs4_fast
7974  653140 gmain: use Linux eventfd() for main context wake up
7975  653429 drop AM_MAINTAINER_MODE or enable it by default
7976  653484 GAsyncCallbacks should default to allow-none
7977         Add missing fundamental types to the generic marshaller
7978
7979 * Translation updates
7980  Belarusian
7981  Galician
7982  Russian
7983
7984 Overview of changes from GLib 2.29.6 to 2.29.8
7985 ==============================================
7986
7987 * Bug fixes
7988  646608 export_symbols variable for gio dynamic library is wrong
7989  646635 Fix introspection of GLib
7990  647930 Documentation: GDataInputStream _read_upto() version
7991  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
7992  651920 Improve qsort_r detection
7993  651959 gbitlock: "asm goto" is not available in gcc < 4.5
7994  651998 gdbus-codegen: Use relative Python imports
7995  652000 Fix for gatomic.c on Windows/MSVC
7996  652002 Proposal to clean up gvaluetransform.c for MSVC
7997  652025 g_dbus_connection_register_object: error is not set...
7998  652081 Typos in a GBinding warning message
7999  652197 Improper handling of double values in GDBusMessage
8000         Fix a deadlock in gobject finalization
8001
8002 * Translation updates:
8003  Czech
8004  Galician
8005  German
8006  Hebrew
8007  Norwegian bokmål
8008  Spanish
8009  Uighur
8010
8011
8012 Overview of changes from GLib 2.29.4 to 2.29.6
8013 ==============================================
8014
8015 * Atomic operations have been rewritten from scratch to make use
8016   of gcc builtins where possible. As a side-effect of this, calls
8017   to g_atomic_ API with explicit casts may now be problematic; if
8018   that happens to you, try first to remove the casts. Another
8019   side-effect of the rewrite is that g_atomic_int_exchange_and_add
8020   has been deprecated in favor of g_atomic_int_add.
8021
8022 * A full set of atomic operations on pointers has been added,
8023   including bit locks in pointer-size locations.
8024
8025 * Access to quarks is now lockless
8026
8027 * GObject data scalability has been greatly improved
8028
8029 * g_data_time_format now supports alternative digits and padding
8030
8031 * Introspection improvements:
8032  - Add a boxed type for GVariantBuilder
8033  - Annotation fixes in GDBus, GVariant, g_base64_
8034
8035 * Bugs fixed:
8036  502560 g_rand_double_range returns 'inf'
8037  612729 g_mkdir_with_parents can fail if the directory already exists
8038  617491 g_once() implementation is inefficient
8039  619418 Add a performance test for UTF-8 decoding functions
8040  619435 Make g_utf8_to_ucs4_fast() yet faster
8041  626549 G_STATIC_ASSERT_EXPR
8042  631231 bitlock: Fix detection and usage of futexes with Bionic
8043  632294 g_queue_remove() should return a boolean
8044  640518 GMainLoop has quadratic complexity when all pollfd's...
8045  642026 Race condition in g_static_private_free
8046  646635 Fix introspection of GLib
8047  648678 g_date_time_format(): support %O flags for localized numbers
8048  649480 Use MSG_CMSG_CLOEXEC in recvmsg in gio/gsocket.c
8049  649506 GTestFunc et al lacking Since tag
8050  649657 Don't return gboolean for functions that throw
8051  649775 glib-gio-gdbuscodegen-Makefile.patch
8052  649915 gsettings accepts unquoted strings longer than two characters
8053  649973 gthread: build unix tests only on unix
8054  649988 gdbus-codegen: Drop dependency on argparse
8055  650078 forkbomb building glib/tests/protocol
8056  650211 Optimization in key file parsing
8057  650236 Application over DBus implements action state incorrectly
8058  650345 g_key_file_has_key_full: New function to fix g_key_file_has_key...
8059  650458 reduce overhead in g_object_set/get_data
8060  650459 hash table consistency while calling destroy notify funcs
8061  650688 enforce rules about hash table modification
8062  650823 expand the set of atomic ops
8063  650874 codegen chokes on docs
8064  650882 use stdout instead of stderr for informational messages
8065  650884 fix compilation with gcc2
8066  650885 implement glib credentials on OpenBSD (hackish)
8067  650935 G_GNUC_MAY_ALIAS and atomic ops
8068  651009 minor documentation fix
8069  651034 Regarding g_cond_wait after g_thread_pool_push in gthreadedresolver
8070  651133 race condition in GDBusConnection's emit_signal_instance_in_idle_cb
8071  651141 hashtable infinite loop
8072  651219 fix path to true(1) on OpenBSD
8073  651223 Fix some compile warnings on OpenBSD
8074  651327 Minor fixes for the gsocket API
8075  651467 Add pointer sized bitlocks
8076  651650 gdbus: Avoid busy wait loop
8077  651725 gmain: Cleanups and a new test case
8078  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
8079
8080 * Updated translations:
8081  Catalan (Valencian)
8082  Esperanto
8083  Hebrew
8084  Hungarian
8085  Russian
8086  Spanish
8087
8088
8089 Overview of changes from GLib 2.29.2 to 2.29.4
8090 ==============================================
8091
8092 * GDBus:
8093  - Includes several new types to support modeling D-Bus
8094    objects and interfaces more fully, and also introduces
8095    an 'object manager' pattern:
8096    GDBusInterface, GDBusObject, GDBusObjectManager
8097    These interfaces have client-side implementations:
8098    GDBusProxy, GDBusObjectProxy, GDBusObjectManagerClient
8099    And server-side implementations:
8100    GDBusInterfaceSkeleton, GDBusObjectSkeleton, GDBusObjectManagerServer
8101  - The new gdbus-codegen utility uses these new classes
8102    to generate C code and documentation from D-Bus interface
8103    descriptions in XML
8104
8105 * GTest:
8106  - There is now a g_test_fail() function to mark
8107    tests as failed
8108
8109 * GDesktopAppInfo
8110  - Now has a binding-friendly filename property
8111  - Other new API to more fully expose desktop file contents:
8112    g_desktop_app_info_get_categories(),
8113    g_desktop_app_info_get_generic_name()
8114
8115 * GHashTable:
8116  - Several optimizations to reduce space consumption of
8117    large hash tables, in particular tables that are used
8118    to store sets.
8119
8120 * Unix-specific APIs:
8121   GLib now installs a separate header, glib-unix.h, that is
8122   meant to collect Unix-specific APIs. For now, it contains
8123   g_unix_open_pipe(), g_unix_set_fd_non_blocking() for dealing
8124   with pipes and fds, as well as APIs to create mainloop
8125   sources which can trigger callbacks on certain Unix
8126   signals (SIGTERM, SIGHUP, SIGINT).
8127
8128 * Bugs fixed:
8129  631379 GDBus nonce-tcp test failing
8130  632631 GLib-CRITICAL **: g_variant_new_string: assertion `g_utf8_validate (string, -1, NULL)' failed
8131  635694 gdbus aborting due to unauthorized socket in DBUS_SESSION_BUS_ADDRESS
8132  637561 Crash when using G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
8133  642935 g_date_time_format() prints wrong value for %z and timezone -0800
8134  643134 g_dbus_message_copy
8135  644941 glib-unix: New Unix-specific API
8136  646013 g_hash_table_remove_all_nodes optimization
8137  646309 glib cannot be cross-compilled for mingw32
8138  646435 GTimeZone doesn't seem to be thread-safe
8139  646957 GIO chained calls don't work with a thread default context
8140  647594 README link to mailing list is broken
8141  647602 Cannot connect to remote message bus via TCP
8142  647746 The GSocketService documentation is incomplete.
8143  647826 API: gtester: Add g_test_fail()
8144  647903 GDesktopAppInfo: Add g_desktop_app_info_get_categories()
8145  648416 g_app_info_create_from_commandline ignores SUPPORTS_STARTUP_NOTIFICATION
8146  648423 Support G_DEBUG=trap-warnings
8147  648425 GDesktopAppInfo: Add "filename" property for bindings
8148  648966 Update g_unichar_iswide and g_unichar_iswide_cjk
8149
8150 * Updated translations
8151  Norwegian bokmål
8152  Spanish
8153  Turkish
8154  Uighur
8155
8156
8157 Overview of Changes from GLib 2.28.0 to 2.29.2
8158 ==============================================
8159
8160 * GApplication
8161  - The documentation has been enhanced and clarified
8162  - An opt-out for uniqueness has been added: G_APPLICATION_NON_UNIQUE
8163  - GApplication now syncs settings before g_application_run() returns
8164
8165 * GDBus
8166  - Interface lookups are now happening in constant time
8167  - Signature checking and handling of various unexpected
8168    situations has been improved
8169
8170 * GVariant
8171  - The format accepted by the GVariant parser has beend documented
8172  - GVariant accepts G_VARIANT_TYPE_VARDICT for a{sv}
8173
8174 * GDateTime:
8175  - The return value of g_datetime_compare() has been fixed to
8176    match strcmp() semantics
8177  - In order to handle problems with changing timezones, a GTimeZoneMonitor
8178    has been added to GIO, and g_time_zone_refresh_local() can be
8179    called to update the cached information about the local timezone
8180
8181 * GOption now uses /proc/self/cmdline to set the program name instead
8182   and only falls back to "<unknown>" if that is unavailable
8183
8184 * GSettings:
8185  - The schema compiler now warns about references to non-existing schemas
8186
8187 * Commandline utilities are now fully translated
8188
8189 * Signals can now indicate that collecting their arguments must
8190   always happen, even in the absence of connected signal handlers,
8191   using the G_SIGNAL_MUST_COLLECT flag.
8192
8193 * Bugs fixed:
8194  635099 Memory leak in gdbus introspection when parsing xml
8195  640489 $ and ^ do not match lines if G_REGEX_MULTILINE|G_R...
8196  642042 Overriding GDBus org.freedesktop.DBus.Properties im...
8197  642052 g_timeout_add(_seconds) cannot handle large intervals
8198  642490 notify_desktop_launch() "g_variant_new_bytestring:...
8199  613269 g_type_get_qdata() doesn't work as I expected on subtypes
8200  624943 G_VALUE_NOCOPY_CONTENTS is undocumented
8201  637738 object_interface_check_properties never actually executes
8202  638185 GIOCondition should be annotated as "flags"
8203  639478 GDBusServer's g_dbus_server_new_sync() function should just...
8204  641755 Add g_settings_get/set_uint() helpers
8205  641768 dconf gsettings backend silently drops writes if it can't...
8206  642797 g_app_info_get_default_for_type() broken for subtypes
8207  642825 Unnecessary assertion failure in g_option_context_parse()
8208  642944 NULL key lookup using g_hash_table_lookup_extended()
8209  643074 Incorrect documentation for g_socket_receive() and g_socket...
8210  643197 g_application_id_is_valid docs imply no valid ids
8211  643468 GApplication docs: Warn that handling "command-line" means...
8212  643478 GApplication::local_command_line vfunc documentation seems wrong
8213  643624 Can g_variant_unref() on an already free'd variant
8214  643649 g_application_run() should say that argc/argv can be NULL
8215  643780 shouldn't need to create an action group to use actions...
8216  643795 g_timeout_add_seconds fires with intervals 1 second longer...
8217  644309 Program name is not set when using GtkApplication
8218  644428 Crash in failure section of g_markup_collect_attributes()
8219  644465 undefined reference to `_usleep'
8220  644552 g_timeout_add_seconds(1, ...) may have a latency of up to 2...
8221  644607 Correct internal definition of C_()
8222  645789 annotations for g_file_*_contents
8223  646039 g_settings_list_children() returns child that cannot be opened
8224  646310 Accept range with only min or max
8225  646420 g_dbus_method_invocation_get_parameters() docs should say...
8226  646843 occasional abort on autologin
8227  646985 add G_APPLICATION_NON_UNIQUE flag
8228  647579 gsettings: Implement reset-recursively
8229  647600 gsettings description has typo
8230
8231 * Translation updates
8232  Afrikaans
8233  Bulgarian
8234  Bengali India
8235  British English
8236  Bulgarian
8237  Catalan
8238  Czech
8239  Danish
8240  French
8241  Galician
8242  German
8243  Greek
8244  Gujarati
8245  Hebrew
8246  Hungarian
8247  Italian
8248  Japanese
8249  Korean
8250  Lithuanian
8251  Polish
8252  Portuguese
8253  Romanian
8254  Serbian
8255  Simplified Chinese
8256  Spanish
8257  Swedish
8258  Traditional Chinese
8259  Uighur
8260  Vietnamese
8261
8262
8263 Overview of Changes from GLib 2.27.93 to 2.28.0
8264 ===============================================
8265
8266 * The GApplication API has changed compared to the version that was
8267   included in the 2.25 development snapshots. Existing users will need
8268   adjustments.
8269
8270 * Bugs fixed:
8271 641363 GInitable documentation isn't clear about that finalize...
8272 641395 Add more data about the origin application to the "Lau...
8273 641411 gdesktopappinfo signals lost if it's the session bus...
8274 641477 glib-mkenums uses unportable #! line
8275 641572 Add @EXEEXT@ to pkgconfig binary name
8276 641688 glib installs GSettings.html and gsettings.html
8277
8278 * Translation updates:
8279  Galician
8280  Italian
8281  Korean
8282  Punjabi
8283
8284
8285 Overview of Changes from GLib 2.27.92 to 2.27.93
8286 ================================================
8287
8288 * Bugs fixed:
8289  637013 gio/gdbusmessage.c fails to compile on Solaris
8290  640192 Error creating a Gio.Settings object through py...
8291  640261 Minimum version for external pcre needs to be..
8292  640262 GActionGroup contains redundant TYPE macros
8293  640436 Make load_user_special_dirs() resistant to non...
8294  640695 g_key_file_load_from_file() mishandles a CR-LF...
8295  640724 can't compile gio due to format string issues
8296  640725 can't compile tests due to format string issue
8297  640807 improve GVariant behaviour with invalid pointers
8298  640823 wrong documentation for g_source_add_child_source
8299
8300 * Translation updates:
8301  Bulgarian
8302  Galician
8303  Hebrew
8304  Norwegian bokmål
8305  Spanish
8306  Traditional Chinese
8307
8308
8309 Overview of Changes from GLib 2.27.91 to 2.27.92
8310 ================================================
8311
8312 * Update to Unicode 6.0
8313
8314 * Update PCRE to 8.12
8315
8316 * Bugs fixed:
8317  637696 g_unix_connection_send_fd() doesn't work
8318  638872 null settings backend bug
8319  640042 GtkApplication's warning about not connecting...
8320
8321 * Translation updates:
8322  Arabic
8323  Basque
8324  Estonian
8325  Greek
8326
8327 Overview of Changes from GLib 2.27.90 to 2.27.91
8328 ================================================
8329
8330 * Bugs fixed:
8331  638838 gdesktopappinfo: Don't crash if we don't have a desktop filename
8332  638894 Splitting on \s* gives no result
8333  639064 Update gschema.dtd
8334  639084 Copy/paste error in GSettings::writable-changed signal
8335  639177 SIGSEGV for GApplications with G_APPLICATION_IS_SERVICE
8336
8337 * Translation updates:
8338  Estonian
8339  Galician
8340  Indonesian
8341
8342
8343 Overview of Changes from GLib 2.27.5 to 2.27.90
8344 ===============================================
8345
8346 * Test reports created by gtester-report can now
8347   include revision information
8348
8349 * The g_desktop_app_info_launch_* family of functions
8350   now emit a DBus signal when an application is launched.
8351   Additionally, there is a new variant
8352   g_desktop_app_info_launch_uris_as_manager(), which
8353   gives more control over the launched process.
8354
8355 * The memory and null GSettings backends are now available
8356   as public API
8357
8358 * g_get_locale_variants() is a new function that returns a
8359   list of variants of a locale identifier
8360
8361 * Bugs fixed:
8362  587898 I/O timeouts for GSocket
8363  606960 gio: Add extension point for informing parties...
8364  631980 Handle an optional <revision> node in the report...
8365  634569 Document that g_variant_builder_add_value consumes...
8366  635998 Make _g_compute_locale_variants public
8367  636806 Add g_{memory,null}_settings_backend_get_default
8368  637262 Need a binary DER version of ::accepted-cas
8369  637544 Skip fsync() on btrfs
8370  637720 void functions should not return a value.
8371  637738 object_interface_check_properties never actually...
8372  637759 GIOChannel: fix a crash in g_io_channel_read_chars()
8373  637852 Updates to glib.vsprops file for MSVC 2008 builds...
8374  637858 Updates to test/testglib.c...
8375  638349 parameter name of g_variant_new_* may conflict...
8376
8377 * Translation updates:
8378  Hebrew
8379  Norwegian bokmål
8380  Simplified Chinese
8381  Spanish
8382  Swedish
8383  Uyghur
8384  Vietnamese
8385
8386
8387 Overview of Changes from GLib 2.27.4 to 2.27.5
8388 ==============================================
8389
8390 * Network support:
8391  - Add g_tls_certificate_verify() to verify a certificate
8392  - Add GTlsConnection:use-system-certdb
8393  - Other TLS api additions
8394
8395 * GIO:
8396  - Add g_io_stream_splice_async()/_finish() to splice two iostreams
8397  - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon derivable
8398  - Remove GPeriodic; it did not receive the necessary review and
8399    integration work to declare it stable
8400
8401 * GSequence:
8402  - New methods g_sequence_lookup() and g_sequence_lookup_iter()
8403
8404 * Bugs fixed:
8405  617254 Missing g_sequence_lookup
8406  632544 g_dbus_connection_send_message can not send a locked message...
8407  633350 g_hostname_to_ascii() ignores non-ascii dots
8408  634583 Better error reporting for g_variant_parse()
8409  635007 gsetting enum rule don't work for out-of-srcdir builds
8410  635626 GDBus message idle can execute while flushes are pending
8411  636100 Can't read GSettings:backend property
8412  636305 Typo on g_queue_remove_all() function description
8413  636311 appinfo: tweak application positioning for content-types
8414  636351 g_simple_async_result_is_valid lacks a version tag
8415  636387 gdb autoload files shadow the "dir" builtin
8416  636673 g_simple_async_report_error_in_idle should allow object...
8417  637147 Add a "delay-apply" property to GSettings
8418  637171 emblemedicon: add g_emblemed_icon_clear_emblems()
8419  637237 gapplication: plug a memory leak
8420
8421 * Translation updates:
8422  Estonian
8423  Galician
8424  Hebrew
8425  Norwegian bokmål
8426  Simplified Chinese
8427  Spanish
8428  Traditional Chinese
8429  Vietnamese
8430
8431
8432 Overview of Changes from GLib 2.27.3 to 2.27.4
8433 ==============================================
8434
8435 * GIO
8436  - Mounts are treated as hidden if they have a path element
8437    that starts with a dot
8438  - GAppInfo gained API to differentiate between recommended
8439    and fallback mime handlers
8440  - g_cancellable_create_source: creates a GSource that triggers
8441    when the GCancellable is canceled
8442  - GPollableInput/OutputStream: Interfaces for pollable streams
8443  - TLS support has landed, with an extension point that is
8444    implemented in glib-networking
8445
8446 * GLib
8447  - Mainloop sources can now have 'child sources'
8448  - g_get_runtime_dir: New function to return the XDG_RUNTIME_DIR
8449
8450 * Bugs fixed:
8451  530786 GFileMonitor "changed" signal underdocumented
8452  588189 TLS support for GSocket*
8453  630357 g_object_new_valist uses uninitialized memory
8454  630559 typo in public string in gsocks: 'The SOCKSv5 require...
8455  632445 Documentation refers to removed GNOME 2.0 porting guide
8456  634239 Child GSources
8457  634241 Add pollable input/output streams
8458  634504 allow passing a NULL emblem to g_emblemed_icon_new()
8459  634613 unsufficient g_get_user_runtime_dir() documentation
8460  635640 schema should inherit gettext-domain from schemalist
8461  635768 Protect g_file_monitor_set_rate_limit() against negative...
8462  635882 Fix the wrong-category schema test
8463  635187 Wrong type of GVariant received in an action...
8464
8465 * Updated translations:
8466  Galician
8467  Italian
8468  Norwegian bokmål
8469  Uyghur
8470
8471
8472 Overview of Changes from GLib 2.27.2 to 2.27.3
8473 ==============================================
8474
8475 * The GTimeSpec type that was introduced in the 2.27.2 has been
8476   dropped again in favour of APIs that return microseconds as
8477   64-bit integer.
8478   Affected functions:
8479   g_source_get_time
8480   g_periodic_unblock
8481   g_get_monotonic_time
8482   g_get_real_time
8483   The similar GTimeVal struct is still around, but its use is
8484   discouraged.
8485
8486 * GTimer is now using monotonic time unconditionally
8487
8488 * There are some new functions to facilitate error reporting
8489   in async GIO APIs:
8490   g_simple_async_result_take_error
8491   g_simple_async_result_new_take_error
8492   g_simple_async_report_take_gerror_in_idle
8493
8494 * There is new convenience API to us GVariant dictionaries:
8495   g_variant_lookup
8496
8497 * It is now possible to delay sending match rules to the
8498   D-Bus daemon in GDBus:
8499   G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE
8500
8501 * Support has been added for XDG_RUNTIME_DIR:
8502   g_get_user_runtime_dir
8503
8504 * Various fixes for Win64/MSVC builds have been committed
8505
8506 * Bugs fixed:
8507  620263 Add g_clear_object, g_clear_pointer, g_clear_boxed
8508  633075 update Project Files and sources for MSVC 2008/C89
8509  633381 gsettings Makefile rules should handle empty list...
8510  633685 Use g_simple_async_result_{new_,}take_error
8511  633686 Add g_simple_async_report_take_gerror_in_idle
8512
8513 * Translation updates:
8514   Belarusian
8515   Galician
8516   Hebrew
8517   Punjabi
8518   Spanish
8519
8520
8521 Overview of Changes from GLib 2.27.1 to 2.27.2
8522 ==============================================
8523
8524 * GApplication
8525  - Export actions over DBus and support activating them from remote instances
8526  - Support environment passing
8527
8528 * GSettings
8529  - The gsettings utility has a list-recursively command
8530  - The gsettings utility has commandline completion for enum values
8531
8532 * GLib is now linked against librt and uses monotonic time for
8533   timeouts and GPeriod sources. GSource has a new g_source_get_time()
8534   which returns monotonic time, and g_source_get_current_time() has
8535   been deprecated
8536
8537 * Bugs fixed:
8538  158725 free linked list with data
8539  626320 GVariant: Avoid locking in g_variant_get_child_value() if possible
8540  629247 add gsimpleasyncresult methods to take over a GError
8541  629274 GNetworkService does not do fallback when there is no SRV record
8542  631264 gsettings-tool choice/range support
8543  631482 g_date_time_from_instant: 1000000000000000000
8544  632169 docs for manual use of gsettings-data-convert
8545  632571 Add equivalent to gconftool-2's -R option
8546  633115 GSettings m4 doesn't fail the build for broken schemas
8547  633206 Default g_application_local_command_line() doesn't set exit_status...
8548  633339 support more complex gapplication setups
8549  633356 Make timeout G_MAXINT mean "no timeout"
8550
8551 * Translation updates:
8552  Catalan (Valencian)
8553  Indonesian
8554  Japanese
8555
8556
8557 Overview of Changes from GLib 2.27.0 to 2.27.1
8558 ==============================================
8559
8560 * GDateTime now has full week number support.
8561   New API: g_date_time_get_week_numbering_year
8562
8563 * The GSettings schema compiler will now skip over
8564   broken .xml schema files instead of aborting altogether
8565
8566 * GSettings now works properly on bigendian systems
8567
8568 * GSettings has more complete support for ranges
8569   New API:
8570     g_settings_get_range
8571     g_settings_range_check
8572   The gsettings commandline tool supports ranges too.
8573
8574 * GApplication has been rewritten; see the API docs for details
8575   and examples. The action support is not complete yet.
8576
8577 * The GLib mainloop has gained 'dispatch to context' functionality,
8578   which can replace manually created idles in many cases.
8579   New API:
8580     g_main_context_invoke
8581     g_main_context_invoke_full
8582
8583 * The gio-desktop-app-info-lookup extension point has been
8584   removed from GIO. GIO now uses x-scheme-handler mimetypes when
8585   looking for default applications.
8586
8587 * On win32, make g_get_user_data_dir() return the CSIDL_LOCAL_APPDATA
8588   folder on Windows, and not CSIDL_PERSONAL. This matches what Qt does,
8589   and has been widely requested. Also make g_get_user_config_dir() return
8590   this and not the (roaming) CSIDL_APPDATA folder.
8591
8592 * A periodic event clock has been added in GIO: GPeriodic. Note that this
8593   API is still experimental and expected to undergo changes before it
8594   will be incorporated into a stable GLib release. Use at your own risk.
8595
8596 Bug fixes:
8597  613822 gobject signal connect/disconnect not thread safe
8598  618737 "dispatch to context" functionality
8599  620710 g_get_user_data_dir() uses CSIDL_PERSONAL and not CSIDL_APPDATA
8600  623400 acquire context before dispatching
8601  627126 gsettings schema files don't get installed on FreeBSD
8602  627171 g_socket_new_from_fd() doesn't set the right protocol
8603  628876 Wrong error description
8604  628937 gracefully handle broken schemas
8605  629274 GNetworkService doesn't fallback when there is no SRV record
8606  629289 g_error() used wrong, produces core dump
8607  629687 leaks class refcount in gsocketcontrolmessage
8608  629849 GLib-CRITICAL **: g_source_get_context: assertion `!SOURCE_...
8609  629945 GDBus deadlock in g_bus_get_sync()
8610  630000 g_date_time_difference
8611  630077 GDateTime week number support
8612  630185 Allow NULL strings in g_quark_try_string()
8613  630797 docs mention non-existent g_object_dispose()
8614  630968 gschema-compile problems on power g5
8615  631263 GSettings needs range/choice APIs
8616  631264 gsettings-tool choice/range support
8617  631379 GDBus nonce-tcp test failing
8618  631410 Port gapplookupgconf.c to using x-scheme-handler/
8619  632884 Possible deadlock in g_object_remove_toggle_ref()
8620
8621 Transation updates:
8622  Basque
8623  Brazilian Portuguese
8624  British English
8625  Bulgarian
8626  Czech
8627  Dutch
8628  Estonian
8629  French
8630  Galician
8631  German
8632  Greek
8633  Hebrew
8634  Hungarian
8635  Japanese
8636  Lithuanian
8637  Polish
8638  Portuguese
8639  Romanian
8640  Simplified Chinese
8641  Slovenian
8642  Spanish
8643
8644
8645 Overview of Changes from GLib 2.25.15 to GLib 2.27.0
8646 ====================================================
8647
8648 Build:
8649   - massive restructuring to reduce #include abuse
8650   - tweaks to silence some harmless compiler warnings
8651   - rename gschema-compile.c to glib-compile-schemas.c
8652   - Windows fixes
8653   - fix building with zlib < 1.2.4 on win32
8654
8655 GDateTime:
8656   - better msgctxt for translating month and weekday names
8657   - API is changed quite a lot, implementation is improved
8658   - GTimeZone is now exposed
8659
8660 GObject:
8661   - make ordering for overridden interface properties consistent
8662   - ->priv structures are limited to 64k but this was not documented,
8663     and exceeding this limit produced bad results.  Add docs and enforce
8664     the limit properly.
8665   - add g_object_class_install_properties() to install multiple
8666     properties in one go
8667   - improve debugging output for GValue containing G_TYPE_STRV
8668
8669 GIO:
8670   - fix priority sorting of GIO extensions
8671   - add GCredentials support on FreeBSD
8672   - fix support for IPv6 addresses in URI parsing functions
8673   - GSocketClient fixes for when g_socket_connect succeeds immediately
8674   - clarify string encoding for GFile constructors in docs
8675   - new functions g_data_input_stream_read_upto{,async,finish}
8676   - tweak confusing documentation for g_output_stream_write()
8677
8678 GDBus:
8679   - GDBusMessage can now be locked and copied (like in libdbus)
8680   - GDBusConnection filter function API has changed again
8681   - GDBusServer: ::new-connection now declares if the connection was claimed
8682   - add a partial workaround for GObject bug 627724.
8683   - very many memory leaks fixed
8684
8685 GVariant:
8686   - check for size == 0 in g_variant_get_bytestring to avoid a crash
8687     when attempting to get_bytestring() from an empty array
8688   - improve gobject-introspection annotations
8689
8690 GSettings:
8691   - add GSettings Windows registry backend
8692   - some internal tweaks to the backend API
8693   - remove g_settings_list_items
8694   - add g_settings_list_children and _list_keys to replace it
8695   - add schema compiler restrictions for dealing with lists
8696   - don't automatically emit value changed signals on writability
8697     changes
8698
8699 Other:
8700   - constify the 'parser' vtable param to g_markup_parse_context_push()
8701   - plug many memory leaks in test cases
8702
8703 Bugs closed:
8704   50076 Time API to go with date API
8705  584284 g_data_input_stream_read_until_async different from sync version
8706  624546 Modification of GDBusMessage in filter function
8707  626919 Let g_object_class_install_property() return the installed GParamSpec*
8708  628029 GDateTime missing get_week_of_year method
8709  628253 Interface properties not listed in a consistent order
8710  628331 Plug lots of mem leaks in gio test suite
8711  628345 Plug a mem leak
8712  628436 Plug a mem leak
8713  628505 Fix building with zlib < 1.2.4 on win32
8714  628839 [PATCH] datetime: Rename shadowing variables
8715  628904 [PATCH] Add credential support for FreeBSD and fix a socket issue
8716  628952 incorrect glib_major_version and other variables on cygwin.
8717  629192 g_strdup_value_contents(): dump GStrv more usefully
8718  629251 g_socket_client_async_connect_complete: assertion failed
8719  629259 Failed to connect to "::1"
8720  629328 g_markup_parse_context_push doesn't respect const structs
8721  629429 month "May" short and full form same with "GDateTime" msgctxt
8722  629689 GDBusConnection leaks its GCredentials
8723  629698 Segfault in g_variant_get_bytestring() 
8724
8725 Updated translations:
8726   Arabic
8727   Armenian
8728   Basque
8729   British English
8730   Czech
8731   Finnish
8732   Galician
8733   German
8734   Hungarian
8735   Indonesian
8736   Japanese
8737   Lithuanian
8738   Norwegian bokmål
8739   Polish
8740   Portuguese
8741   Punjabi
8742   Simplified Chinese
8743   Slovenian
8744   Spanish
8745   Swedish
8746   Swedish
8747   Traditional Chinese
8748
8749 Overview of Changes from GLib 2.25.14 to GLib 2.25.15
8750 =====================================================
8751
8752  * GIO
8753   - Memory leak fixes
8754   - The GZip(De}Compressor can now process header information
8755   - Support for network proxies has been added, with the GProxy
8756     interface and the gio-proxy-resolver extension point. GIO
8757     includes SOCKSv4 and SOCKSv5 implementations, and libproxy
8758     is also going to provide an implementation of this extension
8759     point.
8760   - There are GAction and GActionGroup interfaces now, which will
8761     be used in GApplication in the near future.
8762
8763  * GObject
8764   - There are now convenience macros for defining boxed and
8765     pointer types
8766
8767  * GDBus
8768   - Memory leak fixes
8769   - GDBusProxy for well-known names can now auto-restart
8770     the service if the name owner disapperas
8771   - Filter functions are now allowed to modify messages
8772
8773  * GLib
8774   - GDateTime is a replacement for GDate that supports time
8775     and timezone information.
8776
8777  * Bugs fixed:
8778   50076 Time API to go with date API
8779  449565 Add G_DEFINE_BOXED_TYPE()
8780  617691 Add GZIP header processing to GZlibCompressor/GZlibDecompressor
8781  622184 add g_memory_output_stream_steal_data
8782  624546 Modification of GDBusMessage in filter function
8783  627088 Build failure in gdbus-peer.c on FreeBSD
8784  627181 save a memdup
8785  627182 Plug a mem leak in the gdbus-connection test
8786  627187 Plug some gdbus mem leaks
8787  627188 gdbus-non-socket test occasionally fails
8788  627252 G_OPTION_FLAG_NO_ARG is only for callback options
8789  627392 gdbus commit 8a3a4596 breaks win32 compile
8790  627407 FTBFS on !linux UNIX platforms
8791  627604 String error: 'that' twice in a row
8792  627969 ABR in g_file_open_tmp
8793  628084 gdbus-peer fails with assertion
8794  628193 Miscellaneous string fixes
8795  628296 abort() in gsocketconnection.c
8796  628309 Plug a mem leak in GConverterOutputStream
8797  628317 GEmblemedIcon:equal implementation is buggy
8798  628323 Fix invalid reads
8799  628327 Plug a mem leak
8800  628328 Plug a mem leak
8801  628329 Don't leak the FD list
8802  628324 Invalid reads in gdbus-export test
8803
8804  * Updated translations:
8805   British English
8806   Danish
8807   Galician
8808   Hebrew
8809   Punjabi
8810   Serbian
8811   Spanish
8812   Traditional Chinese
8813
8814
8815 Overview of Changes from GLib 2.25.13 to GLib 2.25.14
8816 =====================================================
8817
8818 * GDBus
8819  - Make the closure variants of GDBus apis work
8820  - Make error unregistration work
8821  - Use async IO in the IO thread (626748)
8822
8823 * GIO
8824  - Make g_simple_async_result_is_valid work without source (626208)
8825  - GSocketClient: add a timeout property
8826  - Fix memory leaks in GSocketClient
8827  - Handle async vs. sync correctly in GSocketConnection stream (616458)
8828  - Declare stream base classes as abstract
8829  - Clarify semantics of g_output_stream_write() (627071)
8830
8831 * Other
8832  - Improve test coverage for GDBus, GRegex, GAsyncResult
8833  - Drop dead code in pcre, xdgmime
8834  - Fix a race condition in gtester (578295)
8835  - Avoid an extra allocation in GAsyncQueue (626704)
8836  - Add test case for non-socket GIOStream (626841)
8837  - More explicit GVariant docs (622770)
8838  - Imroved docs for GAsyncInitable and GSimpleAsyncResult (602417)
8839
8840 * Translation updates:
8841  - Galician
8842  - Norwegian bokmål
8843  - Punjabi
8844  - Simplified Chinese
8845  - Swedish
8846
8847
8848 Overview of Changes from GLib 2.25.12 to GLib 2.25.13
8849 =====================================================
8850
8851 +-------------------------------------------------------------------+
8852 |   WARNING: There have been no breaks in API or ABI.  Weird, eh?   |
8853 +-------------------------------------------------------------------+
8854
8855 The primary purpose of this release is to fix a serious problem with
8856 glib 2.25.12: glibconfig.h (as generated on a Fedora amd64 system) was
8857 being distributed in the tarball.  It was being used to build some parts
8858 of glib on other systems (eg: 32bit ones).  This was causing some very
8859 serious problems.
8860
8861 There have been many other improvements, however:
8862
8863  Build and testing:
8864   - vastly improved test coverage
8865   - old tests moved to the gtester framework
8866   - gtester Makefile modified so that the tests only run once
8867   - cleanup of how we handle includes while building glib
8868
8869  GVariant:
8870   - add a g_return_if_fail (utf8) to g_variant_new_string()
8871
8872  GDBus:
8873   - perform extra sanity checks when serialising messages
8874   - add API to query and set the byteorder of a GDBusMessage
8875   - improve debug output, add some extra options
8876   - if exiting due to the bus disconnecting us, print an error message
8877     explaining why
8878   - sort property names correctly
8879   - don't bother sending RemoveMatch when we will close the connection
8880     anyway
8881   - use effective uid/gid for credential passing
8882
8883  GSettings:
8884   - add G_SETTINGS_BIND_INVERT_BOOLEAN for inverting boolean bindings
8885     without mapping functions
8886   - mark all strings in the schema compiler for translation
8887
8888  Binding:
8889   - improve closure support for bindings
8890   - copy GSettings INVERT_BOOLEAN flag
8891
8892  Other:
8893   - fix another complicated GCancellable deadlock possibility
8894
8895 Bugs closed:
8896  599590 glib build doesn't look for correct pkg-config
8897  619026 avoid warning in gutils.h when using gcc with -Wconversion
8898  624739 Please fix POTFILES.in
8899  625472 Valgrind claims uninitialized bytes used
8900  625500 g_date_set_time_val documentation doesn't mention local time
8901  625628 GDBusProxy: wrong property name sorting
8902  625753 Incorrect flags used in g_dbus_connection_call_sync()
8903  625827 Expand documentation about error quark naming
8904  625988 builddir != srcdir issues
8905  626107 glibconfig.h is being disted
8906
8907 Updated translations:
8908  French
8909  Galician
8910  Hebrew
8911  Norwegian bokmål
8912  Spanish
8913
8914
8915 Overview of Changes from GLib 2.25.11 to GLib 2.25.12
8916 =====================================================
8917
8918 +-------------------------------------------------------------------+
8919 | WARNING: There have been many API changes in GDBus -- sending     |
8920 | messages, subscribing to signals, closing connections and         |
8921 | registering subtrees are affected.  The ABI for GSettingsBackend  |
8922 | has also been changed.  For both reasons, a new dconf release is  |
8923 | required (and will be along soon).                                |
8924 +-------------------------------------------------------------------+
8925
8926 Build:
8927   - cleanup automake setup
8928   - rename configure.in to configure.ac
8929   - various docs fixups
8930   - move glibconfig.h to glib/
8931   - disable dtrace support on Mac OS (which has incompatible 'dtrace')
8932
8933 GSettings:
8934   - add support for vendor override files (to change the default values
8935     in a schema)
8936   - change GSettingsBackend vtable
8937   - add g_settings_reset()
8938   - support binding to G_TYPE_STRV properties
8939
8940 GDBus:
8941   - many bug fixes, including a serialisation fix
8942   - stop handling incoming connections as soon as stop() is called
8943   - proper support for file descriptor passing
8944   - new flags parameter for sending messages
8945   - new flags parameter for subscribing to signals
8946   - always reset the message serial when sending a message unless
8947     G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL is given
8948   - constness fixes for introspection structures
8949   - clean ups to subtree registration API
8950
8951 Other:
8952   - fix divide by zero bug in g_malloc_n functions
8953   - GIO: don't blindly assume that SOCK_CLOEXEC is supported
8954   - make GObject property notify freezes threadsafe
8955   - GIO: clean up credentials passing
8956   - GApplication: make default-quit not apply if register=FALSE
8957   - GIO: add annotations for gobject-introspection
8958
8959 Bugs closed:
8960  166020 use GAtomic for refcounting
8961  617483 Credentials passing
8962  622005 [GApplication] no way to modify the "default-quit" property
8963  623293 vendor override files
8964  623810 Message serialization bug
8965  623815 Don't check sender for GDBusProxy objects where name is not set
8966  624473 GDBusSubtreeIntrospectFunc return type
8967  624483 GDBusSubtreeEnumerateFunc clarification
8968  624484 GDBusSubtreeDispatchFunc clarification
8969  624754 gdbusaddress.c missing sys/wait.h
8970  624968 div by zero in g_malloc_n family
8971  624991 GSettings mapping for G_TYPE_STRV 
8972  625383 Add missing GI annotations
8973
8974 Updated Translations:
8975  Armenian
8976  Galician
8977  German
8978  Hebrew
8979  Kazakh
8980  Romanian
8981  Simplified Chinese
8982  Spanish
8983
8984 Overview of Changes from GLib 2.25.10 to GLib 2.25.11
8985 =====================================================
8986
8987 +-------------------------------------------------------------------+
8988 | WARNING: There have been minor API changes in GDBus and GVariant. |
8989 | These API changes will not affect many users, but they do require |
8990 | a new version of GTK+ to be installed.                            |
8991 +-------------------------------------------------------------------+
8992
8993 Build:
8994   - add a --disable-Bsymbolic configure flag to disable linking with
8995     -Bsymbolic-functions
8996   - this release sees the complete removal of the old 'g*alias' hacks
8997   - honour the NOCONFIGURE environment variable from autogen.sh
8998   - use proper feature test macros for isnan
8999   - use pkg-config to check for zlib
9000   - add ACLOCAL_AMFLAGS to Makefile.am
9001
9002 GDBus:
9003   - hide Class and instance structures for all GDBus types except
9004     GDBusProxy.  This breaks API by preventing subclassing, but probably
9005     nobody was doing that.
9006   - add new GDBusConnection call to support flushing all pending
9007     outgoing messages
9008   - change the register_object API to add a reference to the
9009     GDBusInterfaceInfo object so the caller need not keep it alive
9010     themselves
9011   - don't rewrite the serial number when sending messages that already
9012     have a serial number
9013   - better error checking for DBUS_SESSION_BUS_ADDRESS environment
9014     variable
9015   - switch to g_parse_debug_string for G_DBUS_DEBUG and add a lot of new
9016     flags
9017   - add support for temporarily freezing a freshly created
9018     GDBusConnection.  Do this until after the ::new-connection signal
9019     has finished running on GDBus services.
9020   - never require non-closed connections (the user is incapable of doing
9021     this due to the obvious race)
9022   - remove weird/misleading redundant check on NameOwnerChanged signal
9023   - emit GDBusProxy::g-properties-changed on NameOwnerChanged
9024
9025 GVariant:
9026   - the 'g_variant_{new,get}_byte_array' APIs have been removed
9027   - g_variant_{new,get,dup}_bytestring has been added, with different
9028     arguments and different behaviour
9029   - g_variant_{new,get,dup}_bytestring_array has been added, doing
9030     essentially the same thing as the 'strv' functions, but with byte
9031     strings instead of utf8 strings
9032   - G_VARIANT_TYPE_BYTESTRING ('ay'), BYTESTRING_ARRAY ('aay') and
9033     STRING_ARRAY ('as') constants have been added
9034   - the undocumented behaviour that g_variant_get_strv() deserialised
9035     arrays of object paths or signature strings has been dropped
9036   - additional varargs support for converting bytestrings or bytestring
9037     arrays with ^ay ^aay ^&ay and ^a&ay
9038   - improved gobject-introspection annotation
9039   - fix a problem with GBuffer calling g_slice_free for the wrong type
9040   - fix leaks in the type inferencing code of the parser
9041
9042 GSettings:
9043   - improved documentation
9044   - updated schema XML DTD, now xincluded into the docs
9045   - added support for schemas that extend other schemas (using the
9046     'extends=' attribute).  Values of keys in the base schema can be
9047     overridden using <override>.
9048   - added theoretical support for lists (using the 'list-of=' attribute)
9049   - lots of new tests
9050   - add support for flags (implemented similarly to enums)
9051   - add support for generating .enums.xml files to gsettings.m4:
9052       gsettings_ENUM_NAMESPACE = org.example.myapp
9053       gsettings_ENUM_FILES = ../path/to/*.h
9054     will generate org.example.myapp.enums.xml with mappings for all
9055     enums and flags in the specified .h files.
9056   - warn with g_message() if the 'memory' backend is used by default
9057     (ie: because no other GSettings backends are installed)
9058   - fix get_property() for GSettings::schema
9059   - command line tool: fix a bug that prevented non-basic values from
9060     being set due to a premature free
9061   - command line tool: bash completion support
9062   - chain up in _finalize
9063   - add a new g_settings_get_mapped API to read settings that require
9064     post-processing
9065   - retry with the translated or schema default value if the
9066     GSettingsBindGetMapping function fails
9067   - schema compiler: never fail due to empty schema directories (but
9068     warn)
9069   - peek rather than ref/unref the GEnumClass in the mapping function
9070   - schema compiler: compile *.enums.xml before *.gschemas.xml to ensure
9071     that we have all the enums that the schemas may reference
9072   - schema compiler: improve accuracy of line numbers in error reports
9073   - fix crashes in the keyfile backend caused by invalid group names in
9074     the keyfile
9075
9076 Other:
9077   - always intern GBinding prop names
9078   - base64: remove asserts preventing conversion of empty strings
9079   - document NULL special-cases for GValueArray
9080   - GNode docs improvements
9081   - improve detection of 'system internal' mounts
9082   - fix leaks in the inotify GFileMonitor implementation
9083   - annotate all custom GIO GSources to improve debugging (e.g. using
9084     SystemTap)
9085
9086 Tests:
9087   - Turn on glibc malloc checking features for make check
9088   - improvements for GSettings tests, plus new tests
9089   - improved tests for GKeyfile
9090   - new tests for GDir, GSList, GSList, GAppLaunchContext,
9091     CharsetConverter, GIcon, ...
9092   - move some tests to GTester (tree tests, uri tests)
9093   - generally, really an awful lot of new tests
9094   - don't try to allocate 2gigs of memory anymore for the array test
9095
9096  552363 g_value_array_{insert,prepend,append}'s special cases for NULL
9097  561248 Improve return value description from g_node_prev/next_sibling()
9098  570036 Add ACLOCAL_AMFLAGS to Makefile.am
9099  576833 g_sprintf add a reference to g_strdup_printf
9100  576854 g_strconcat() documentation should provide a hint about bad l10n
9101  582227 reference: add other URI functions to 'URI Functions' section
9102  599223 should provide g_spawn_* variants that take a GAppLaunchContext
9103  610784 array test failing
9104  613057 Leak in inotify GFileMonitor implementation
9105  620536 Annotate all custom GIO GSource using g_source_set_name
9106  620913 More control with G_DBUS_DEBUG
9107  622124 implement flags
9108  622127 GSettings extended key validation
9109  622128 retry with default value for failed mapping
9110  622294 More annotations for GVariant
9111  622565 glib-compile-schemas fails when no schemas
9112  622600 Fix missing prototype warning
9113  622813 gsettings mapping & enum buglet
9114  623142 Ensure ::new-connection runs before processing D-Bus messages
9115  623143 Never require non-closed connections
9116  623319 use g_parse_debug_string for dbus debug flags
9117  623401 process enums first
9118  623402 schema compiler reports wrong line numbers
9119  623407 g_keyfile_settings_backend_new crashes with the key "/"
9120  623473 zlib should be checked with pkg-config
9121  623537 GDBusProxy has weird checking on NameOwnerChanged
9122  623538 GDBusProxy::g-properties-changed emission for corner cases
9123  623692 directory with file at multiple MLS levels may display empty
9124  623720 gschema.dtd does not contain enum definitions
9125  623770 quoting of expand_macro in gdesktopappinfo.c
9126  623772 gdesktopappinfo.c, function child_setup
9127  623780 g_unix_is_mount_path_system_internal
9128  623954 g_settings_finalize
9129  623955 Dubious return values
9130
9131 Updated translations:
9132  Galician
9133  Hebrew
9134  Norwegian bokmål
9135  Spanish
9136
9137 Overview of Changes from GLib 2.25.9 to GLib 2.25.10
9138 ====================================================
9139
9140 +----------------------------------------------------------------+
9141 | WARNING: There have been API changes in GDBus. Users of these  |
9142 | APIs will need to be adapted.  In particular, a new release of |
9143 | dconf is required to go along with this one.  There has also   |
9144 | been a change in the GSettings backend API used for keyfiles.  |
9145 +----------------------------------------------------------------+
9146
9147 * GDBus:
9148  - add direction parameter to filter functions (API change)
9149  - allow calling other interfaces with a GDBusProxy
9150  - padding added to class struct fields (ABI change)
9151  - fixes for closures-based functions
9152
9153 * GVariant:
9154  - new is_floating() call
9155  - add g_value_take_variant() call (required for marshallers)
9156
9157 * GSettings:
9158  - support for binding GParamSpecEnum properties
9159  - ifelse-style condition support for GLIB_GSETTINGS m4 macro
9160  - remove gsettings-schema-convert tool (now in GConf)
9161  - allow introspection of all installed schemas
9162  - allow introspection of the keys in a schema
9163  - rewrite keyfile backend (API change)
9164
9165 * GNIO:
9166  - don't implicitly close GSocket until it is destroyed
9167  - windows fixups
9168
9169 * Other:
9170  - allow GChecksum to take (NULL, 0) for data/length
9171  - GRelation and GCompletion are now deprecated
9172  - introduce G_PARAM_DEPRECATED and G_ENABLE_DIAGNOSTIC
9173  - add working directory to GApplication platform data
9174  - lots of documentation cleanups
9175  - PCRE updated to 8.02
9176
9177 * Build:
9178  - the IA__g_* style symbol aliasing has been disabled and replaced with
9179    the -Bsymbolic-functions linker flag on platforms that support it.
9180    Please be on the watch for portability issues and report them to us.
9181  - many test cases have been moved to the GTester framework
9182  - lcov support has been added for tests
9183  - many windows fixes
9184
9185 * Bugs fixed:
9186  501057  lcov coverage suite and GLib integration
9187  551271  deprecate GRelation
9188  601686  Implement diagnostic mode
9189  603309  GSocketOutputStream broken on Windows (?)
9190  616718  GLIB_GSETTINGS macro can't be used conditionally
9191  616855  GSocketConnection: don't close the socket if it's still reffed
9192  618866  g_ptr_array_remove_index_fast memory leak
9193  619878  keyfile backend calls keys_changed with invalid argument
9194  619879  keyfile backend doesn't make use of expected_type
9195  621092  Add with_closures() variants for bindings
9196  621172  Cross compiling fails
9197  621838  Actually add cwd to platform data
9198  621945  Filter outgoing messages in GDBusConnection
9199  621947  add g_value_take_variant
9200  622038  GSettings: "It is a programmer error" documentation is unclear
9201  622154  [patch] update documentation for g_application_new
9202  622281  binding: Add SYNC_CREATE to the flags
9203  622480  Improve documentation for g_strcmp0()
9204  622554  g_error called if schema not installed
9205  622601  Return interned strings from g_settings_list_keys
9206
9207 * Translation updates:
9208  - Galician
9209
9210 Overview of Changes from GLib 2.25.8 to GLib 2.25.9
9211 ===================================================
9212
9213 +----------------------------------------------------------------+
9214 | WARNING: There have been API changes in GDBus, GSettings and   |
9215 | GApplication. Users of these APIs will need to be adapted. In  |
9216 | particular, a new release of GTK+ is required to go along with |
9217 | this one.                                                      |
9218 +----------------------------------------------------------------+
9219
9220 * GDBus
9221  - Use Gio's default async implementation
9222  - Fix proxy construction for objects with no properties
9223  - Fix error handling in synchronous initialization
9224  - Do not dispatch calls to unregistered objects
9225  - Add _with_closures alternative functions
9226  - Allow constructing GDBusProxy with well-known names
9227  - Remove GType parameters from GDBusProxy constructors
9228  - Nuke g_bus_watch_proxy API
9229  - Add --xml to gdbus-tool to print raw introspected XML
9230
9231 * GSettings
9232  - schema file format change: store (default, options) in gvdb
9233  - Add g_settings_sync()
9234  - Add support for enums and ranges
9235  - 'context' support has been replaced by direct use of
9236    GSettingsBackend
9237
9238 * GApplication
9239  - Switch to using variants for timestamps
9240  - Use GInitable
9241
9242 * GObject
9243  - Introduce g_object_notify_by_pspec
9244  - Add GBinding
9245  - The GVariant gtype G_TYPE_VARIANT was changed from boxed
9246    to fundamental. We believe there were no existing users
9247    of the boxed type, so this should not cause any applications
9248    to break.
9249
9250 * Test framework
9251  - Add package and version to the test report XML
9252  - Use optparse to parse gtester-report commandline
9253  - Add subunit support to gtester-report
9254  - Prevent division by zero if no tests
9255
9256 * Bugs fixed:
9257  621782 Crash using gbinding
9258  619945 GConverterOutputStream triggers assertion and corrupts data
9259  621319 more leaked GVariants in GSettings
9260  621168 GKeyFile memory leak on Windows platform
9261  621002 Switch to using variants for timestamps, split out signals
9262  620953 tiny docs addition
9263  618904 Lies in gunixmounts documentation
9264  621702 Correctly initialize GError
9265  611778 minor cleanup of gtester-report
9266  621213 GDBusProxy and well-known names
9267  621034 Rewrite apps test to ensure children are killed
9268  620954 gapplication gvariant simplifications
9269  611869 add subunit out feature to gtester-report
9270  621119 GDBusProxy and objects with no properties
9271  620990 Use Gio's default async implementation again
9272  620952 g_application_register_with_data is an ugly API
9273  621252 GSettings leaks context
9274  618715 fork() in GSettings test cases is problematic 618715
9275  621905 Assume a ref when doing async work
9276  621266 GSettings "context" clarification
9277
9278 * Translation updates:
9279  Chinese
9280
9281
9282 Overview of Changes from GLib 2.25.7 to GLib 2.25.8
9283 ===================================================
9284
9285 * Initial support for dtrace and systemtap profiling:
9286  - mainloop sources can be named
9287  - probes for memory allocation with g_malloc and gslice
9288  - gquark name tracking
9289  - type creation
9290  - object life-cyle (creation, finalization, ref, unref)
9291  - signal creation and emission
9292
9293 * GVariant
9294  - has been fixed to work with the FreeBSD malloc
9295  - added introspection annotations
9296  - new function: g_variant_builder_add_parsed
9297
9298 * GSettings:
9299  - g_settings_set/get_strv functions have lost their length parameter
9300  - g_settings_set_strv accepts NULL
9301  - added introspection annotiations
9302
9303 * GPermission: an abstract interface for representing permissions,
9304   with a minimal implementation named GSimplePermission
9305
9306 * GApplication: a basic application support class, with a D-Bus based
9307   implementation
9308
9309 * Bugs fixed:
9310  619585 glib-compile-schemas asserts on FreeBSD
9311  620384 Annotate GVariant and GSettings _strv() functions
9312  606044 Add support for dtrace/systemtap static markers
9313  620350 add g_variant_builder_add_parsed() API
9314  620349 utf8ify GVariant printer
9315  620767 Typo in GSettings documentation: "INTLTOOL_NOMERGE_RULE"
9316  620312 Fix g_settings_[gs]et_strv() API
9317  620519 GPermission
9318  620582 GPermission needs a simple implementation
9319  620496 GSettings schema compiler should reject invalid paths
9320  620173 missing single header inclusion guards
9321  620265 g_assertion_message_error should take const GError *
9322
9323 * Translation updates:
9324  Esperanto
9325  Galician
9326  Hebrew
9327  Indonesian
9328  Norwegian bokmål
9329  Slovenian
9330  Spanish
9331
9332
9333 Overview of Changes from GLib 2.25.6 to GLib 2.25.7
9334 ===================================================
9335
9336 * NOTE: API/ABI breaks since 2.25.6 release:
9337   - g_dbus_connection_sync{,_sync} takes a new 'reply_type' argument
9338   - GSettingsBackendClass 'list' virtual function changed
9339
9340   GSettings backends and things using GDBus may need to be rebuilt.
9341
9342 * GDBus: many build-related fixes
9343
9344 * GDBus (service): return a DBus error when receiving a method call for
9345   an unknown interface.
9346
9347 * GSettings: fix 'make install' bug in gsettings.m4 for generated schema
9348   files
9349
9350 * GSettings: avoid non-portable use of LC_MESSAGES
9351
9352 * better approach to handling man pages
9353
9354
9355 * Bugs fixed:
9356  619527 please improve docs on g_file_make_symlink
9357  619391 send-with-reply should have expected result signature
9358  618616 Use stack-allocated GVariantBuilders
9359  617004 Build with "--disable-nls" fails under MinGW/Win32
9360  619142 Build fixes (GDBus)
9361
9362 * Updated translations:
9363  Estonian
9364  Galician
9365  Norwegian bokmål
9366
9367 Overview of Changes from GLib 2.25.5 to GLib 2.25.6
9368 ===================================================
9369
9370 * GDBus: introspection improvements
9371 * GDBus: build fixes
9372
9373 * GSettings: GSettingsBackend ABI changed               **** NOTE ****
9374 * GSettings: --uninstall option for schema compiler
9375 * GSettings: new m4 macro with more power
9376 * GSettings: thread support
9377
9378 * rework of file notification on Solaris
9379 * fixes for gold linker
9380
9381 * Bugs fixed:
9382  619038 increase gsettings.m4 power
9383  619031 method-calls-in-thread test failing
9384  618839 Typo at translation message
9385  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
9386  618730 gunixcredentialsmessage.c doesn't compile on GNU/kfreebsd
9387  616314 Make GSettings (partially) threadsafe
9388
9389 * Updated Translations:
9390  Indonesian
9391  Galician
9392  Spanish
9393
9394 Overview of Changes from GLib 2.25.4 to GLib 2.25.5
9395 ===================================================
9396
9397 * GDBus: Fix serialization of empty arrays
9398
9399 * GDBus: Plug various memory leaks
9400
9401 * GSettings: Fix problems with GSETTINGS_CHECK_RULE
9402
9403 * Bugs fixed:
9404  616731 GSETTINGS_CHECK_RULE doesn't work in non-srcdir builds
9405  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
9406  618615 mem leaks in parse_value_from_blob
9407  618622 Plug some mem leaks in gdbus
9408  618650 Plug a mem leak in gdbusauth
9409  618663 Plug mem leaks in gdbus tests & examples
9410
9411 * Updated translations:
9412  Spanish
9413
9414
9415 Overview of Changes from GLib 2.25.3 to GLib 2.25.4
9416 ===================================================
9417
9418 * GDBus D-Bus support has been merged. This provides an API
9419   to replace dbus-glib
9420
9421 * GVariant no requires strings to be UTF-8. You can use byte
9422   arrays for non-UTF-8 strings.
9423
9424 * GSettings allows to bind string properties to byte arrays
9425
9426 * The schema compiler supports range restrictions
9427
9428 * Bugs fixed:
9429  618051 socket-server|client.c fail to compile under AIX...
9430  616102 GSettings ignores <choice> and <range>
9431  616720 Chunked quark allocation
9432  616877 Several issues with g_socket_receive_message
9433  616892 gio: Add a boxed type for GFileAttributeMatcher
9434  616967 Add g_regex_get_compile_flags() and g_regex_get_match_flags()
9435  617767 g_settings_[gs]et_strv() 'length' argument has missing docs...
9436  617914 gtester-report: cope with binaries with no test cases
9437  617937 output_stream_close vs output_stream_close_async semantics
9438  615494 Connction timeouts produce partially invalid error messages
9439  617823 glib-compile-schemas problems with an out of source build
9440  617947 glib-mkenums: add @valuenum@ support
9441
9442 * Translation updates:
9443  Galicaian
9444  Norwegian bokmål
9445  Shavian
9446  Spanish
9447
9448
9449 Overview of Changes from GLib 2.25.2 to GLib 2.25.3
9450 ===================================================
9451
9452 * New macro: G_GNUC_DEPRECATED_FOR, a variant of G_GNUC_DEPRECATED
9453   that lets you add replacement information (requires gcc 4.5)
9454
9455 * Rename AM_GSETTINGS autoconf macro to GLIB_GSETTINGS
9456
9457 * Rename gschema-compile utility to glib-compile-schemas
9458
9459 * Add support for timeouts in GSocket
9460
9461 * Bugs fixed:
9462  589989 Compilation error on Solaris 9
9463  616648 Change AM_GSETTINGS macro to GLIB_GSETTINGS
9464  587898 I/O timeouts for GSocket
9465  614541 Add G_TYPE_ERROR boxed type for GError
9466
9467
9468 Overview of Changes from GLib 2.25.0 to GLib 2.25.2
9469 ===================================================
9470
9471 * Include a 'gsettings' utility, for commandline access to GSettings
9472
9473 * Install a AM_GSETTINGS autoconf macro similar to AM_GCONF
9474
9475 * GSettings can bind the writability of a key explicitly
9476
9477 * There is now a predefined boxed type for GError
9478
9479 * Bugs fixed:
9480  615379 g_new macros crash if sizeof(struct_type) == 0
9481  616312 Add m4 rule equivalent to GCONF_SCHEMAS_INSTALL
9482  616295 mapping bug for uint64
9483  616216 glib compile from remote directory fails
9484  615960 Fix size passed to connect() for abstract sockets
9485  616432 Crash in gschema-compile
9486  616331 gsettings-schema-convert uses imaginary types
9487  616309 gsettings-schema-convert should output gettext-domain
9488  616384 Add mention of GConfBridge in conversion docs
9489  616311 gschema-compile outputs in current directory
9490  616276 simplify gschema-compile test setup
9491  616156 keys with unnecessary empty options arrays
9492  616405 gsettings missing g_return_if_fail's
9493  616245 Use G_DEFINE_INTERFACE macro
9494  614541 Add G_TYPE_ERROR boxed type for GError
9495
9496 * Updated translations:
9497  Catalan (Valencian)
9498  Galician
9499  Kannada
9500  Spanish
9501
9502
9503 Overview of Changes from GLib 2.24.0 to GLib 2.25.0
9504 ===================================================
9505
9506 * The GSettings framework has been merged. This provides the API to
9507   replace GConf. DConf will provide a backend implementation for it.
9508   GConf will also provide a backend implementation to ease the
9509   transition. We provide utilities to assist with schema conversion
9510   and data migration, as well as a porting guide.
9511
9512 * Translation updates:
9513  Bengali
9514  Catalan
9515  Danish
9516  Gujarati
9517  Marathi
9518  Thai
9519  Traditional Chinese
9520
9521
9522 Overview of Changes from GLib 2.23.6 to GLib 2.24.0
9523 ===================================================
9524
9525 * It is now allowed to call g_thread_init(NULL) multiple times, and
9526   to call glib functions before g_thread_init(NULL) is called
9527   (although the later is mainly a change in docs as this worked before
9528   too). See the GThread reference documentation for the details.
9529
9530 * GObject now links to GThread and threads are enabled automatically
9531   when g_type_init() is called.
9532
9533 * GObject no longer allows to call g_object_set() on construct-only properties
9534   while an object is being initialized. If this behavior is needed, setting a
9535   custom constructor that just chains up will re-enable this functionality.
9536
9537 * GMappedFile on an empty file now returns NULL for the contents instead of
9538   returning an empty string. The documentation specifically states that code
9539   may not rely on nul-termination here so any breakage caused by this change
9540   is a bug in application code.
9541
9542 * Bug fixes:
9543  613601 buglet in dup_close_on_exec_fd
9544  584284 g_data_input_stream_read_until_async behaves confusingly
9545  613748 Write errors in middle of copy cause hang
9546  613923 splice_stream_with_progress: wrong error handling
9547  613667 Typo in GObject documentation
9548  613618 gvariant format string docs unclear
9549
9550 * Translation updates:
9551  Basque
9552  Ukrainian
9553  Vietnamese
9554
9555
9556 Overview of Changes from GLib 2.23.5 to GLib 2.23.6
9557 ===================================================
9558
9559 * Class private data:
9560   - support for private data associated with a GTypeClass
9561
9562 * GVariant merge is now complete:
9563   - loading functions and parser merged
9564
9565 * Windows improvements:
9566   - socket fixes
9567   - various build improvements
9568   - removal of GCC/C99isms in favour of portable code
9569   - drop unmaintained Visual Studio 8 support
9570
9571 * Minor API addition:
9572   - g_desktop_app_info_get_filename()
9573
9574 * Bugs fixed:
9575  521707 Class private data
9576  612502 build fails on glib/tests/gvariant.c
9577  612832 [GDesktopAppInfo] New function g_desktop_app_info_get_filename
9578  612702 [PATCH] Fix GSocket-related crash on Windows
9579  612736 Improve the documentation about single include
9580  610858 gvariant test fails sometimes
9581  612327 uninitialized variable
9582
9583 * New translations:
9584  Afrikaans
9585  LowGerman
9586
9587 * Updated translations:
9588  Czech
9589  Finnish
9590  Galician
9591  Greek
9592  Punjabi
9593  Romanian
9594  Serbian
9595
9596
9597 Overview of Changes from GLib 2.23.4 to GLib 2.23.5
9598 ===================================================
9599
9600 * New API addition: g_malloc_n() and friends used to implement an
9601   overflow-safe family of g_new() macros.
9602
9603 * GVariant:
9604  - GVariantBuilder and GVariantIter are now merged.
9605  - The variable arguments API is now merged.
9606  - The parser will be in a future release.
9607
9608 * GIO:
9609  - Remove GUtf8InputStream (which never appeared in a stable release)
9610    for now since it doesn't satisfy the needs of its main intended use
9611    case.  We hope to reimplement this feature in a better form in a
9612    future release.
9613
9614 * Bugs fixed:
9615  609531 missing licence headers
9616  612107 Missing G_FILE_ATTRIBUTE_TRASH_ORIG_PATH
9617  611897 g_io_modules_scan_all_in_directory leaks
9618  608196 Overflow-safe g_new family
9619  611696 gio uses GetAddrInfo which requires special handing on windows 2k
9620  605667 Don't use G_PARAM_SPEC_VALUE_TYPE when we know the pspec is valid
9621  610860 test_g_file_open_readwrite fails if $HOME is unwritable
9622  552912 glib-2.18 /live-g-file/test_copy_move failed when run as root
9623  609813 Renaming a file discards file notes
9624
9625 * Updated translations:
9626  Basque
9627  Brazilian Portuguese
9628  British English
9629  Bulgarian
9630  Catalan
9631  Danish
9632  Estonian
9633  French
9634  German
9635  Hungarian
9636  Italian
9637  Lithuanian
9638  Norwegian bokmål
9639  Portuguese
9640  Russian
9641  Slovenian
9642  Spanish
9643  Swedish
9644  Traditional Chinese
9645
9646
9647 Overview of Changes from GLib 2.23.3 to GLib 2.23.4
9648 ===================================================
9649
9650 * GVariant: The core of GVariant has been merged now, with some
9651  API still to follow.
9652
9653 * GIO:
9654  - There is a new interface GFileDescriptorBased for file descriptor
9655    based IO. GLocalFile{Input,Output}Stream implement it
9656  - Use splice(2) to transfer data between file descriptors without
9657    extraneous copies
9658  - Add a way to request move events from file monitors
9659
9660 * Bugs fixed:
9661  609143 *result_uncertain is never assigned in g_content_type_guess
9662  604086 Use splice(2) when doing local file copies
9663  547890 No move events for GFileMonitorEvent?
9664  568760 nautilus freezes due to a bug in garray.c:322
9665  609962 Add info about the use of G_DEFINE_INTERFACE
9666  609564 g_base64_encode_close docs should mention outbuf size...
9667  610484 g_variant_equal bug
9668  610131 libasyncns does not compile on Solaris 8
9669  609530 missing single header include guards
9670
9671 * Updated translations:
9672  Czech
9673  Estonian
9674  Galician
9675  German
9676  Korean
9677  Polish
9678  Slovenian
9679  Spanish
9680  Traditional Chinese
9681
9682
9683 Overview of Changes from GLib 2.23.2 to GLib 2.23.3
9684 ===================================================
9685
9686 * GLib now has a facility for locks that consume only one bit of
9687   storage inside an integer: g_bit_lock()
9688
9689 * GVariant: The serializer has been merged, with more API to follow
9690
9691 * Bugs fixed
9692  548967 1 bit mutex lock
9693  604967 2.22.3 libasyncns build fails on HP-UX 11.11
9694  608602 G_VALUE_COLLECT_INIT variables shadow those in G_VALUE_COLLECT
9695  608743 Crash in g_hostname_to_ascii visiting certain website in epiphany
9696  599197 array ref and unref functions crash on NULL array.
9697  608159 mem leak in g_io_modules_scan_all_in_directory
9698
9699 * Translation updates
9700  Brazilian Portuguese
9701  Czech
9702  French
9703  Norwegian bokmål
9704  Slovenian
9705  Spanish
9706  Thai
9707
9708
9709 Overview of Changes from GLib 2.23.1 to GLib 2.23.2
9710 ===================================================
9711
9712 * We are now using gcc builtins for atomic operations when available
9713
9714 * g_assert() grew the ability to store assertions in core dumps
9715
9716 * GIO supports lazy loading of GIO modules, and there is a new
9717   gio-querymodule utility that goes along with this.
9718   Packagers will need to adapt to this.
9719
9720 * Threading changes:
9721  - The requirements for g_thread_init() have been relaxed slightly,
9722    it can be called multiple times, and does not have to be the first
9723    call.
9724  - GObject now links to GThread and threads are enabled automatically
9725    when g_type_init() is called.
9726  - Thread-safety issues with boxed types in GObject have been fixed.
9727
9728 * GObject:
9729  - Another bunch of performance work has landed
9730
9731 * GVariant:
9732  - GVariantType has been merged, with the rest of the GVariant
9733    API to follow.
9734
9735 * Bugs fixed:
9736  568760 nautilus freezes due to a bug in garray.c:322
9737  602417 Document lifecycles of GSimpleAsyncResult and friends
9738  604824 crash in Epiphany: Selecting my Slashdot bo...
9739  448888 don't init g_slice for always-malloc
9740  531902 Use GCC atomic buildins for g_atomic*
9741  554887 boxed type registration is not thread safe
9742  586150 unresolved symbols when building glib 2.21.2 on OS X Tiger
9743  589176 row gvalue transform array exponentially
9744  594872 Support storing assertion messages into core dump
9745  602240 Upgrade libasyncns to 0.8
9746  603590 Speed up G_VALUE_COLLECT
9747  604457 gutf8inputstream.c: increasing unknown size pointer
9748  605686 GCharsetConverter doesn't flush
9749  605733 g_memory_output_stream_new violates GObject standards
9750  605883 g_object_new() processes varargs even when there are none
9751  605977 invalid utf-8 conversion in g_local_file_get_parse_name(...
9752  606775 Enable threads by default in gobject
9753
9754 * Translation updates:
9755  Asturian
9756  Basque
9757  Bengali
9758  Bulgarian
9759  Estonian
9760  Norwegian bokmål
9761  Spanish
9762  Thai
9763  Ukrainian
9764
9765
9766 Overview of Changes from GLib 2.23.0 to GLib 2.23.1
9767 ===================================================
9768
9769 * GObject performance work has landed:
9770  - Construction of simple objects is much faster
9771  - Interface lookup is lock-free and constant-time now
9772  - Reduced locking overhead when dealing with types
9773
9774 * GType now has a G_DEFINE_INTERFACE convenience macro
9775
9776 * GIO gained GUtf8InputStream, an input stream that
9777   performs utf-8 validation
9778
9779 * GLib now has byte-swap macros for gsize and gssize
9780
9781 * Bugs fixed:
9782 557151 Determining the newly_constructed boolean in gobject.c...
9783 557100 Performance improvements for GObjectClasses that don't...
9784 501166 Warning message says IA__g_type_init instead of g_type_init
9785 585375 Performance and Contention problems with g_type_class_ref...
9786 587892 Race in GType when instantiating the same class for the...
9787 603270 Input Stream validating utf8
9788 603476 gioenums.h:62: error: comma at end of enumerator list
9789 603540 g_time_val_from_iso8601 uses uninitialised variable
9790 603982 Stack overflow when reading file async with filter
9791 604645 G_DEFINE_INTERFACE_* documentation is not generated
9792 604875 Use of sa_len conflicts with system header
9793 320482 provide G_DEFINE_TYPE like macros for interfaces
9794
9795 * Updated translations:
9796  Estonian
9797  Hebrew
9798  Norwegian bokmål
9799  Vietnamese
9800  Welsh
9801
9802
9803 Overview of Changes from GLib 2.22.x to GLib 2.23.0
9804 ===================================================
9805
9806 * GIO:
9807  - GConverter: a generic interface for stateful conversions of data,
9808    suitable for charset conversion, compression, decompression, regexp
9809    replacement. Concrete implementations are GCharsetConverter,
9810    GZlibCompressor and GZlibDecompressor. GConverterInputStream,
9811    GConverterOutputStream are stream implementations that convert data
9812    while loading or saving it.
9813  - GMounts can now have a 'default location': a path that reflects
9814    the main entry point for the user (e.g. the home directory).
9815  - As a consequence of the compression support, GIO depends on zlib now.
9816
9817 * GObject:
9818  - G_IMPLEMENT_INTERFACE_DYNAMIC: a convenience macro for adding
9819    interfaces to dynamic types.
9820
9821 * GModule:
9822  - The -pthread flag has been added to all gmodule .pc files, because
9823    it is not generally permissible to load modules that are linked
9824    against libpthread if the program has not been compiled with threading
9825    support.
9826
9827 * Bugs fixed:
9828  601637 GUnixFDMessage should contain a GUnixFDList
9829  585566 GSocketListener API issues
9830  572252 Bug in g_file_test() function.
9831  600550 g_app_info_create_from_commandline doesn't treat arguments properly
9832  541236 not detecting exact content type
9833  350200 [PATCH] GTypeModule derived class unref does not unload plugin
9834  589631 Please enclose literal values with double quotes
9835  577711 cross compile check for g++ broken
9836  600620 Support X-GNOME-FullName in GAppInfo
9837  598899 GWin32DirectoryMonitor is broken
9838  593809 Nautilus does not restore the position of the icons on the desktop...
9839  563627 g_get_prgname() threadsafety
9840  600141 Add -pthread to gmodule pkg-config
9841  593856 file and directory monitors don't work when glib is compiled...
9842  324930 Nautilus should disallow copying of symlink to FAT drive early
9843  587300 Deadlock when calling g_cancellable_disconnect in a...
9844  595138 GFile not robust with invalid input
9845  591216 Warning building resolver.o
9846  590016 Does not compile under MinGW32 + Wine
9847  591214 Warnings building gcancellable.o
9848  561998 Have specific entry points (paths) for mounts...
9849  508157 Add G_IMPLEMENT_INTERFACE_DYNAMIC
9850  535159 g_file_has_parent
9851
9852 * Updated translations:
9853  Brazilian Portuguese
9854  Catalan
9855  Estonian
9856  Galician
9857  Norwegian bokmål
9858  Shavian
9859  Slovenian
9860  Spanish
9861  Swedish
9862
9863
9864 Overview of Changes from GLib 2.22.1 to GLib 2.22.2
9865 ===================================================
9866
9867 * GIO:
9868  - Support case-sensitive globs in the shared mime database,
9869    including support for the newer cache format that allows these.
9870    Case-sensitive globs have been introduced in shared-mime-info
9871    version 0.70
9872
9873 * GObject:
9874  - Speed up creation of simple objects
9875
9876 * Bugs fixed:
9877  597194 Typo in _G_TYPE_CVH macro
9878
9879 * Updated translations:
9880  Russian
9881
9882
9883 Overview of Changes from GLib 2.22.0 to GLib 2.22.1
9884 ===================================================
9885
9886 * Bugs fixed:
9887  596064 Test file marked for translation
9888  595972 possibly invalid search in mime_info_cache_dir_add_...
9889  596561 C99 style of declaration of variable in gmessages.c
9890  596314 g_utf16_to_utf8 returns an invalid UTF8 string
9891  596748 g_async_result_get_source_object returns a new ref
9892  593809 Nautilus does not restore the position of the icons...
9893  593775 uses inotify_init1 unconditionally
9894
9895 * Updated translations:
9896  Bengali
9897  Hebrew
9898
9899
9900 Overview of Changes from GLib 2.21.6 to GLib 2.22.0
9901 ===================================================
9902
9903 * Repeated calls to g_simple_async_result_set_op_res_gpointer used
9904   to leak the data. This has been fixed to always call the provided
9905   destroy notify.
9906
9907 * Add gdb python macros to make gobject debugging more pleasant
9908
9909 * Bugs fixed:
9910  579050 Allow making selected critical and warning messages non-fatal
9911  594759 g_socket_send_message fails due to invalid sendmsg params
9912  593941 GNetworkAddress skipping addresses when enumerating
9913  594597 Fix build with srcdir != builddir
9914  595619 Include gdb pretty printers
9915
9916 * Changes that might affect bindings:
9917  - The error parameter of g_simple_async_result_set_from_error has been
9918    made const.
9919
9920 * Updated translations:
9921  Assamese
9922  Bengali India
9923  British English
9924  Bulgarian
9925  Catalan
9926  Czech
9927  Danish
9928  Finnish
9929  Galician
9930  Greek
9931  Gujarati
9932  Hindi
9933  Japanese
9934  Kannada
9935  Malayalam
9936  Marathi
9937  Norwegian bokmål
9938  Oriya
9939  Polish
9940  Punjabi
9941  Romanian
9942  Serbian
9943  Simplified Chinese
9944  Slovenian
9945  Spanish
9946  Tamil
9947  Telugu
9948  Thai
9949  Traditional Chinese
9950  Ukrainian
9951  Vietnamese
9952
9953
9954 Overview of Changes from GLib 2.21.5 to GLib 2.21.6
9955 ===================================================
9956
9957 * Minor API additions:
9958   g_mkstemp_full is a variant of g_mkstemp that allows to specify flags
9959   and permissions
9960
9961 * Bugs fixed:
9962  593232 g_rand_new: read no more than requested from /dev/urandom
9963  591995 use saved errno
9964  589491 g_time_val_from_iso8601 doesn't handle some cases
9965  593406 Permissions set to 777 after copying via Nautilus
9966  594034 Add g_mkstemp_full()
9967
9968 * Updated translations:
9969  Assamese
9970  Basque
9971  Brazilian Portuguese
9972  Czech
9973  Estonian
9974  French
9975  German
9976  Hungarian
9977  Italian
9978  Kannada
9979  Malayalam
9980  Marathi
9981  Norwegian bokmål
9982  Oriya
9983  Portuguese
9984  Swedish
9985  Tamil
9986  Turkish
9987
9988
9989 Overview of Changes from GLib 2.21.4 to GLib 2.21.5
9990 ===================================================
9991
9992 * A performance problem with trashing of many files has been fixed
9993
9994 * GResolver now invalidates the libc resolv.conf cache as needed
9995
9996 * Minor api additions:
9997  - g_cancellable_make_pollfd returns a boolean now. And there is a
9998    new function g_cancellable_release_fd that can be used to released
9999    the resources used by a GCancellable.
10000
10001 * Bugs fixed:
10002  589988 Compilation error on Solaris 9 (missing stdint.h)
10003  588901 gtcpconnection.c won't compile
10004  584246 GResolver needs to call res_init() when network state changes
10005  591714 Figure out failure handling for g_cancellable_make_pollfd()
10006  591532 redundent '/' returned from g_file_resolve_relative_path
10007  591378 Use MSG_NOSIGNAL in GSocket if it's available
10008  589649 API documentation migration for Base64 Encoding
10009  591840 configure fails with autoconf 2.64
10010
10011 * Updated translations:
10012  Basque
10013  Brazilian Portuguese
10014  Bulgarian
10015  Danish
10016  Estonian
10017  Finnish
10018  Galician
10019  Gujarati
10020  Hndi
10021  Irish
10022  Japanese
10023  Korean
10024  Norwegian bokmål
10025  Polish
10026  Portuguese
10027  Punjabi
10028  Spanish
10029  Swedish
10030  Telugu
10031  Traditional Chinese
10032  Thai
10033
10034
10035 Overview of Changes from GLib 2.21.3 to GLib 2.21.4
10036 ===================================================
10037
10038 * GTree is now refcounted
10039
10040 * Bugs fixed:
10041  587938 Undocumented limitation for g_str_equal
10042  587773 refcounts for GTree
10043
10044 * Updated translations:
10045  French
10046  Hebrew
10047  Norwegian bokmål
10048  Spanish
10049  Swedish
10050  Traditional Chinese
10051  Ukrainian
10052
10053
10054 Overview of Changes from GLib 2.21.2 to GLib 2.21.3
10055 ===================================================
10056
10057 * GMappedFile is refcounted now
10058
10059 * Mainloop: It is now possible to set per-thread default contexts,
10060   with g_main_context_push_thread_default.
10061
10062 * glib-mkenums supports a @basename@ substitution, in addition
10063   to @filename@.
10064
10065 * GIO:
10066  - Vfs implementations can support storing of per-file metadata.
10067  - GCancellable can now be subclassed.
10068  - Unmount and eject methods now optionally allow interaction, via
10069    variants that take a GMountOperation object.
10070
10071 * Bugs fixed:
10072  556706 Inconsistent help arguments -h, -?
10073  579449 FileChoosers no longer work if an idle handler is active
10074  579933 mainloop FD_CLOEXEC has a race condition
10075  579984 alternate GMainContext support
10076  585937 gio/gsocket.c (glib 2.21.2) does not compile (Windows/mingw)
10077  586675 Runtime library location
10078  586797 Add GCancellables to GSocket ops
10079  586868 g_filename_complete_get_completions doesn't always return...
10080  587415 g_resolver_lookup_by_name_finish returns a freed list
10081  587434 regression tests fail, at least on x86_64
10082  586928 Avoid g++ warning in g_error()
10083
10084 * Updated translations:
10085  Estonian
10086  Hebrew
10087
10088
10089 Overview of Changes from GLib 2.21.1 to GLib 2.21.2
10090 ===================================================
10091
10092 * GIO:
10093   - g_socket_speaks_ipv4 is a new function to check if a socket can
10094     speak IPv4.
10095   - g_socket_listener_add_address gained a new effective_address out
10096     parameter.
10097   - GIO now returns special icons for XDG user directories, by the
10098     name folder-music, folder-documents, etc.
10099   - GIO gained support for starting/stopping of drives, which can be used
10100     in connection with external hard disk enclosures, disk arrays, iSCSI
10101     devices, etc. See g_file_start/stop_mountable.
10102
10103 * GLib:
10104  - g_reload_user_special_dirs_cache is a new function to force GLib to
10105    reload the XDG user directory mapping from disk.
10106
10107 * Bug fixes:
10108  584574 glib compile failure on Mac OS X with gunixresolver.c and...
10109  585566 GSocketListener API issues
10110  584255 Incorrect freeing of thread pool in GThreadedSocketService
10111  585088 g_string_chunk_insert_len stops at nul bytes
10112  585360 Monitor fontconfig configuration files using gio causes m...
10113  580103 Terminal starts on Display :0.0 when started on :0.1 in D...
10114  580301 network: a few issues on old darwin
10115  583398 SRV weight sorting is incorrect
10116  584176 build fixes on FreeBSD
10117  585189 g_cancellable_reset() must be called in same thread as g_...
10118  585280 compilation dies on gio/gsocket.c, needs sys/uio.h to con...
10119  585281 gio/gunixfdmessage.c needs sys/types.h for platforms that...
10120  585478 don't leak the inotify fd
10121  585575 g_socket_listener_add_inet_port() doesn't do the right thing
10122  585599 g_socket_listener_add_socket() consumes the socket
10123  585676 GEmblem doesn't reference its 'icon' if that is set as a ...
10124  585717 "bytes" nautilus translation to french is not shown in th...
10125  541276 XDG directories should have their own icons
10126  585726 Grammatical error in GList documentation
10127  585520 Wrong warning option in documentation
10128  585673 GNOME Goal: Remove deprecated glib symbols
10129  585591 Starting/stopping drives
10130
10131 * Updated translations:
10132  Bengali India
10133  Norwegian bokmål
10134
10135
10136 Overview of Changes from GLib 2.21.0 to GLib 2.21.1
10137 ===================================================
10138
10139 * GIO:
10140  - Support for network IO has been added, including a low-level
10141    socket API and a high-level API for network connections and
10142    services.
10143  - Support for read-write access with GIOStream and its subclasses.
10144  - GMount gained a pre-unmount signal.
10145
10146 * Bug fixes:
10147  576104Implement GMount::pre-unmount
10148  578769 implement GWinHttpFileInputStream::close_fn
10149  582856 gsocket.c doesn't compile on Solaris
10150  569375 g[u]intptr undocumented
10151  573246 [FIX] g_desktop_app_info_dup() can access NULL pointer
10152  575013 g_cancellable_push_current() does not allow NULL
10153  577884 live-g-file.c:461: error: format ‘%d’ expects type ...
10154  578499 g_output_stream_splice and stream closing with gnio strea...
10155  579558 Application employing gvfs crashes with only libgvfscommo...
10156  583001 SIGPIPE (grr!)
10157  583061 Please add convenience function to connect to machines by...
10158  583198 typo in error message
10159  583206 use g_set_error_literal where appropriate
10160  583229 void function g_async_initable_init_async returns value
10161  583324 locking problem in g_main_context_iterate()
10162  583408 void function g_socket_control_message_serialize returns ...
10163  578786 wrong and confusing error message
10164  583205 g_inet_address_to_bytes has no length outparam
10165  583196 mem leak in keyfile test
10166  583663 GSocketType enum ends with a comma
10167  569024 Make g_error_new_valist public
10168  569376 missing G_G[U]INTPTR_FORMAT
10169  580347 off-by-1 bug in GWinHttpFile
10170
10171 * Updated translations:
10172  Oriya
10173  Spanish
10174  Valencian-Catalan
10175
10176
10177 Overview of Changes from GLib 2.20.x to GLib 2.21.0
10178 ===================================================
10179
10180 * GIO:
10181  - New helper functions g_cancellable_connect/disconnect to avoid
10182    race conditions when connecting to the "cancelled" signal on
10183    GCancellable.
10184  - New types and methods for dealing with IPv4 and IPv6 addresses (and
10185    UNIX domain socket addresses under UNIX). This does not include code
10186    for actual socket I/O.
10187  - GResolver provides asynchronous and cancellable APIs for resolving
10188    hostnames, reverse lookup of IP addresses and resolving SRV records.
10189
10190 * Glib now provides hash and comparison functions for int64 and double
10191   types, suitable for use with GHashTable.
10192
10193 * GArray, GPtrArray and GByteArray can be ref counted now, and have
10194   boxed types.
10195
10196 * Bugs fixed:
10197  572844 Helper for GCancellable::cancelled connect/disconnect
10198  578363 goption docs should be improved
10199  548466 async/cancellable DNS resolver
10200  579830 param spec strings should use P_()
10201  579862 requesting xattr::foo ends up calling getxattr(..., user...
10202  580453 Hash and equal functions for gint64 and gdouble
10203  580450 Reference counting and boxed types for arrays
10204  580194 gresolver doesn't build on Solaris
10205  580301 network: a few issues on old darwin
10206  580299 network: include sys/types.h before sys/socket.h to insur...
10207  572508 gmarkup speedup
10208  580546 g_strtoull() referenced in documentation...
10209  580656 g_key_file_set_string_list erroneously asserts list != NULL
10210  579272 leaks in g_simple_async_result_set_op_res_gpointer
10211
10212
10213 * Updated translations:
10214  Catalan (ca)
10215  Pashto (ps)
10216  Spanish (es)
10217
10218
10219 Overview of Changes from GLib 2.20.0 to GLib 2.20.1
10220 ===================================================
10221
10222 * Bug fixes:
10223  575555 Use fsync() when replacing files to avoid data loss on
10224  575708 runaway inotify madness
10225  575270 GVolumeMonitor::mount-pre-unmount not being emitted
10226  577128 glib make check Failed to execute child process...
10227  573673 Always show "backup" directories
10228  578369 g_time_val_from_iso8601() parses timezones incorrectly
10229  578002 Fix a small typo in GFile docs
10230  578017 G_DEFINE_TYPE_EXTENDED docs
10231
10232 * Updated translations:
10233  Arabic
10234  Assamese
10235  Basque
10236  Bularian
10237  Brazilian Portuguese
10238  British English
10239  Catalan
10240  Danish
10241  French
10242  Galician
10243  German
10244  Greek
10245  Hungarian
10246  Italian
10247  Japanese
10248  Kannada
10249  Lithuanian
10250  Malayalam
10251  Norwegian bokmål
10252  Oriya
10253  Polish
10254  Punjabi
10255  Russian
10256  Simplified Chinese
10257  Slovenian
10258  Spanish
10259  Swedish
10260  Tamil
10261
10262
10263 Overview of Changes from GLib 2.19.9 to GLib 2.20.0
10264 ===================================================
10265
10266 * The functions for launching applications (e.g. g_app_info_launch() +
10267   friends) now passes a FUSE file:// URI if possible (requires gvfs
10268   with the FUSE daemon to be running and operational). With gvfs 2.26,
10269   FUSE file:// URIs will be mapped back to gio URIs in the GFile
10270   constructors. The intent of this change is to better integrate
10271   POSIX-only applications, see bug #528670 for the rationale.  The
10272   only user-visible change is when an application needs to examine an
10273   URI passed to it (e.g. as a positional parameter). Instead of
10274   looking at the given URI, the application will now need to look at
10275   the result of g_file_get_uri() after having constructed a GFile
10276   object with the given URI.
10277
10278 * Base64 support: Avoid integer overflows. CVE-2008-4316
10279
10280 * Bugs fixed:
10281  574019 GChecksum: document and guarantee hex characters in lower case
10282  573454 Unable copy/move files to directories symlinked to gvfs share
10283  561172 gnome-open fails on local URIs with anchors
10284  573970 crash in gunixvolumemonitor:update_mounts when unmounting
10285  573843 g_get_current_dir returns non-absolute path
10286
10287 * Updated translations:
10288  Assamese (as)
10289  Bengali (bn_IN)
10290  Czech (cs)
10291  Hindi (hi)
10292  Italian (it)
10293  Japanese (ja)
10294  Lithuanian (lt)
10295  Malayalam (ml)
10296  Marathi (mr)
10297  Oriya (or)
10298  Polish (pl)
10299  Romanian (ro)
10300  Telugu (te)
10301
10302
10303 Overview of Changes from GLib 2.19.8 to GLib 2.19.9
10304 ===================================================
10305
10306 * GMarkup:
10307  - Considerable speedup
10308
10309 * GIO
10310  - Add G_FILE_CREATE_REPLACE_DESTINATION flag to allow replacing
10311    the destination of a copying operation as if it did not exit before.
10312  - Be more careful when classifying files as desktop files
10313  - Support desktop file key X-GIO-NoFuse which disables the use
10314    of fuse pathnames for %u and %U arguments
10315
10316 * Bugs fixed:
10317  572672 glib/gthread.c: argument is different type
10318  572464 Doc for g_file_get_contents
10319  572151 “it's” and “its” confused in docs and comments
10320  570501 g_win32_get_system_data_dirs uses invalid conversion...
10321  167569 g_string_append_printf crashes on win32 when used...
10322  572508 gmarkup speedup
10323  560564 Replacing a symlink with its linked file truncates... 
10324  549298 impossible to copy files with p (pipe) flag
10325  543183 Clarify docs for g_file_has_prefix
10326  540461 g_memory_output_stream_get_data_size() doesn't behave...
10327  573462 GEmblemedIcon leak
10328  573421 Clarify message format in GMountOperation
10329  573658 Deadlock in giomodule.c
10330  556706 Inconsistent help arguments -h, -?
10331  573527 Wrong shell to run config.status in Makefile.in.in
10332  573128 A couple of typos in GObject documentation
10333
10334 * Updated translations:
10335  Catalan (ca)
10336  British English (en_GB)
10337  Spanish (es)
10338  Basque (eu)
10339  Finnish (fi)
10340  French (fr)
10341  Gujarati (gu)
10342  Hebrew (he)
10343  Hungarian (hu)
10344  Korean (ko)
10345  Maithili (mai)
10346  Norwegian bokmål (nb)
10347  Dutch (nl)
10348  Portugese (pt)
10349  Swedish (sv)
10350  Thai (th)
10351  Traditional Chinese (zh_HK)
10352  Traditional Chinese (zh_TW)
10353
10354
10355 Overview of Changes from GLib 2.19.7 to GLib 2.19.8
10356 ===================================================
10357
10358 * GIO: Fix missing exports of new API
10359
10360 * Fix strict aliasing warnings and violations to make Glib work
10361   with gcc 4.4
10362
10363
10364 Overview of Changes from GLib 2.19.6 to GLib 2.19.7
10365 ===================================================
10366
10367 * GIO
10368  - GFile gained an attribute for the actual file size in bytes
10369  - GMountOperation gained an "aborted' signal that allows to abort
10370    a mount operation from the backend side
10371
10372 * Bugs fixed:
10373  523742 Use noinst for non-installable libraries
10374  566747 URIs opened with firefox %u load as local files
10375  541225 Can't compile gio on AIX duplicate case value in gioerror.c
10376  571598 GAsyncResult with NULL gobject
10377  505042 add file attribute for actually used file size in bytes
10378
10379 * Updates translations:
10380  Basque (eu)
10381  Gujarati (gu)
10382  Italian (it)
10383  Japanese (ja)
10384  Norwegian bokmål (nb)
10385  Dutch (nl)
10386  Portugese (pt)
10387  Thai (th)
10388  Vietnamese (vi)
10389
10390
10391 Overview of Changes from GLib 2.19.5 to GLib 2.19.6
10392 ===================================================
10393
10394 * New format macro to print goffset data: G_OFFSET_FORMAT
10395
10396 * GIO: 
10397  - Add a GFilter{Input,Output}Stream::close-base-stream properties which
10398    determine whether the base stream will be closed when the filter stream
10399    is finalized.
10400  - g_data_input_stream_read_line and ..._read_until have asynchronous
10401    variants now.
10402
10403 * Bugs fixed:
10404  568294 A wrong reference in the description of g_bookmark_file_...
10405  563141 RFE: define G_OFFSET_FORMAT
10406  569105 g_time_val_to_iso8601() assumes time_t==long
10407  568394 dropping the last reference to a stream filter closes...
10408  568741 g_buffered_input_stream_fill_async doesn't work
10409  568723 g_buffered_input_stream_fill_async doesn't take count == -1
10410  568575 _async functions for GDataInputStream
10411
10412 * Updated translations:
10413  Bulgarian (bg)
10414  Finnish (fi)
10415  Hungarian (hu)
10416  Oriya (or)
10417  Swedish (sv)
10418  Traditional Chinese (zh_HK)
10419  Traditional Chinese (zy_TW)
10420
10421
10422 Overview of Changes from GLib 2.19.4 to GLib 2.19.5
10423 ===================================================
10424
10425 * Update included PCRE to 7.8
10426
10427 * g_base64_decode_inplace: New function to do base64 decoding in place
10428
10429 * Bugs fixed:
10430  567138 get_package_directory_from_module() does not free ...
10431  566569 gregex docs clarification
10432  566573 g_match_info_fetch_pos docs
10433  564728 Add function to decode base64 encoded data in place
10434  567838 G_STRUCT_OFFSETOF fails to compile under icc 9.1
10435  567977 textdomain() macro should not return NULL ...
10436  512779 --disable-regex breaks compilation
10437  566770 error code 0 for Too many open files is useless
10438  565484 g_content_type_guess passes non-UTF8 text to XDG ...
10439
10440 * Updated translations:
10441  Catalan (ca)
10442  Spanish (es)
10443  Italian (it)
10444  Swedish (sv)
10445
10446  
10447 Overview of Changes from GLib 2.19.3 to GLib 2.19.4
10448 ===================================================
10449
10450 * GIO:
10451   - Use O_NOATIME when sniffing mimetypes
10452   - Add a convenience method to check if a GSimpleAsyncResult
10453     is valid
10454
10455 * Bugs fixed:
10456  560676 function access for g_threads_supported
10457  565905 There is no g_context_group_set_translation_domain
10458  564210 SUN Studio 12 has supported visibility attribute
10459  565136 GObject's "notify" signal parameters are wrong in gtk-doc
10460  565831 error in interface creation sample
10461  566348 g_file_open_tmp uses the wrong g_mkstemp on win32
10462  566064 Add NOATIME flag to query_info_flags
10463  566170 g_async_result_verify_source_object
10464
10465 * Updated translations:
10466  Spanish (es)
10467  Norwegian bokmål (nb)
10468  Brazilian Portugese (pt_BR)
10469  Simplified Chinese (zh_CN)
10470
10471
10472 Overview of Changes from GLib 2.19.1 to GLib 2.19.3
10473 ===================================================
10474
10475 * Bugs fixed:
10476  508021 Add support for the CRIS and CRISv32 architectures
10477  526320 should not list mounts that the user doesn't have permission to use
10478  558458 Cannot build gio tests on Solaris using SUN cc
10479  555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property
10480  558298 Hide ecryptfs mounts
10481  515777 incorrect date&time on copy
10482  562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling
10483         g_simple_async_result_run_in_thread
10484  473150 g_type_module_use inconsistently increases the use
10485         counter in case of error
10486  563150 G_GU?INT*_MODIFIER/FORMAT docs
10487  563156 Document printing and scanning gunichar values
10488
10489 * Updated translations:
10490  Hebrew (he)
10491  Italian (it)
10492  
10493
10494 Overview of Changes from GLib 2.19.0 to GLib 2.19.1
10495 ===================================================
10496
10497 * GIO: 
10498   - g_icon_to_string, g_icon_new_for_string: GIcon serialization support
10499   - G_FILE_ATTRIBUTE_PREVIEW_ICON: new file attribute for preview images
10500   - g_app_info_get_commandline: new function to get the full commandline
10501   - g_mount_shadow, g_mount_unshadow, g_mount_is_shadowed: New functions 
10502     to 'shadow' mounts (i.e. hide them from the UI when they already
10503     have a different representation, like a bookmark) 
10504
10505 * Bugs fixed:
10506  556186 gpoll.h breaks gmain.h inclusion
10507  557087 mem leak in g_content_types_get_registered
10508  556921 gpoll.h breaks hal compilation
10509  557210 g_compute_checksum_for_* asserts with less than 2 bytes
10510  558381 Add support for compile time assertions
10511  558185 'parent' variable in g_local_file_get_child_for_display_name()
10512         hits g_object_unref(NULL) assertion
10513  558513 g_warn_if_fail FIXME in gtestutils
10514  558672 NULL key lookup using g_hash_table_lookup_extended() 
10515  555740 gicon serialization
10516  557182 preview functionality
10517  528320 Incorrect icons displayed for files with custom mimetype icons
10518  556910 Memory leak: sub
10519  557592 Missing include in gwinhttpfile.c
10520  556415 Crash on Windows 2000 in g_winhttp_vfs_init()
10521  555935 Clarify the mechanism of overwriting properties
10522  552776 ac_cv_func_posix_getgrgid_r not mentioned
10523  559448 GObject Reference Manual (typo)
10524  561212 GFileReadMoreCallback API doc refers to non-existant function
10525  560569 gkeyfile doesn't use the set list_separator in some cases
10526  560568 gkeyfile docs buglet
10527  559413 g_option_group_set_error_hook docs buglet
10528  562378 callback return value not respected for callback option
10529         with no arg
10530  559110 Do not include libintl.h after glibintl.h
10531  557603 carbon check output misplaced
10532  562544 g_key_file_get_string and g_key_file_get_value
10533         documentation does not explain the difference
10534  547264 Missing "no flags" flag
10535  562638 GDebugKey key member should be const
10536  562639 g_parse_debug_flags() parsing "help"
10537  562549 g_byte_array_free should tell how free data
10538  559452 GObject Reference Manual (typo)
10539  559462 GObject Reference Manual (typo)
10540  559517 GObject Reference Manual (typo)
10541  562538 GObject interface tutorial shouldn't finalise with
10542         "Please forget everything"
10543  561352 Leak of icon description
10544  561375 Leaks mountpoint description
10545  561807 inotify_sub.c: dup_dirname() fails to remove trailing '/'
10546  562393 g_buffered_input_stream_read_byte broken if data available
10547  541715 win32 : patch for warnings and signature problems in recent code
10548  547481 g_data_input_stream_read_line behaves not as stated in the docs
10549  548163 Nautilus displays wrong error message for too long file names
10550  559633 gtk_image_new_from_gicon does not always work for .desktop files
10551  555486 – No way to recover command line from GAppInfo
10552
10553 * Translation updates:
10554  Spanish (es)
10555  Ukrainian (uk)
10556
10557
10558 Overview of Changes from GLib 2.18.1 to GLib 2.19.0
10559 ===================================================
10560
10561 * Rewrite GHashTable to use open addressing with quadratic probing instead 
10562   of chaining. This has the potential to reduce memory fragmentation 
10563   significantly, while being slightly faster due to better locality and 
10564   no need to call alloc/free functions for nodes. Benchmarks suggest it 
10565   also uses less memory overall.
10566
10567 * Make g_poll available as public api
10568
10569 * New macros g_assert_error and g_assert_no_error to assert 
10570   that a GError is set or unset
10571
10572 * g_cancellable_make_pollfd: New method to make a GPollFD for a cancellable
10573
10574 * g_app_info_can_delete, g_app_info_delete, g_app_info_reset_type_associations:
10575   New functions to clean up app infos and content types
10576
10577 * When launching applications, always pass fuse file:// uris when possible,
10578   and let gio convert such uris back to gio uris.
10579
10580 * Bugs fixed:
10581  505361 gunixinputstream.c assumes poll() available
10582  509446 portable blocking gio cancellation
10583  553820 gpoll.c: undeclared identifier
10584  553724 python interpretter path not patched in correctly
10585  553857 gbacktrace.h requires signal.h
10586  553447 g_assert_no_error()
10587  554092 glib doesn't return G_FILE_ERROR_NOENT et al on OS X
10588  528670 Always pass file:/// uri's in GAppLaunchContext
10589  555224 Improve g_format_size_for_display doc
10590  555309 giochannel breaks on error
10591  554790 g_convert() misbehaves with winiconv versions
10592  555314 mem leak in gmarkup
10593  555313 GFileAttribute boxed type get_type function should...
10594  552861 glib-2.0.m4 calls system(3) without storing its result
10595  554557 Patch to fix gcc warnings about missing format specifiers
10596  552107 Small libtool fixes
10597  551355 Make glib build with libtool 2.2
10598  555311 format not a string literal and no format arguments
10599  556101 static mutex yields warnings with g++
10600  556186 gpoll.h breaks gmain.h inclusion
10601  526456 Open addressing in GHashTable
10602  553426 cancellable clarifications
10603  545350 GAppInfo deletion
10604  545351 Reset associations for content type
10605  552168 volume's mount not mounted after g_volume_mount_finish
10606  554970 segfault when update-desktop-database is not available...
10607  554745 GFileAttributeInfoList should be boxed
10608  555121 Improved build-time handling of gio module-dir
10609  555711 Wrong fallback order of mimetype icons
10610  555331 Deprecate adoption of mounts
10611  556335 make check fails in abicheck.sh
10612  556334 Warning when building without selinux support
10613  556422 g_file_enumerator_next_file: unclear...
10614
10615 * Updated translations:
10616  Arabic (ar)
10617  Danish (da)
10618  Polish (pl)
10619  Brazilian Portugese (pt_BR)
10620  Romanian (ro)
10621  Russian (ru)
10622
10623
10624 Overview of Changes from GLib 2.18.0 to GLib 2.18.1
10625 ===================================================
10626
10627 * Bugs fixed:
10628  550433 g_test_init doesn't recognize --help
10629  523463 Core dump in gmain.c:2482:IA__g_main_context_check
10630  551228 G_STRFUNC on recent Sun compiler should be expanded...
10631  551410 gtestutils.c: using printf without prototype
10632  551731 g_date_set_time[_t] docs should mention what timezone
10633  548321 <string.h> is not included in gi18n-lib.h
10634  551149 xdgmime mem leak
10635  550647 synchronous pipe I/O when reading mount reply
10636  551887 Docs for g_desktop_app_info_new_from_filename aren't...
10637  551681 g_content_type_guess() too naive with filenames
10638  552352 g_app_info_launch doesn't work if "Path" key...
10639  551408 gmodule.def generated to builddir...
10640  552359 g_file_info_get_icon should return GThemedIcon, and...
10641
10642 * Updated translations:
10643  Arabic (ar)
10644  Bengali India (bn_IN)
10645  British English (en_GB)
10646  Hindi (hi)
10647  Croatian (hr)
10648  Korean (ko)
10649  Oriya (or)
10650  Turkish (tr)
10651  Telugu (te)
10652
10653
10654 Overview of Changes from GLib 2.17.7 to GLib 2.18.0
10655 ===================================================
10656
10657 * The recommended way of using GLib has always been to only include the
10658   toplevel headers glib.h, glib-object.h and gio.h. GLib enforces this by
10659   generating an error when individual headers are directly included.
10660   To help with the transition, the enforcement is not turned on by
10661   default for GLib headers (it is turned on for GObject and GIO).
10662   To turn it on, define the preprocessor symbol G_DISABLE_SINGLE_INCLUDES.
10663
10664 * Win32:
10665   - rework the g_poll() implementation to match poll() semantics more closely
10666
10667 * Bugs fixed:
10668  324234 Using g_io_add_watch_full() to wait for connect() to return...
10669  548278 Async GETs connections are always terminated unexpectedly...
10670  500246 Bug fixes for giowin32
10671  523939 Example program for GValue
10672  550096 GBookmarkFile parser is not forward compatible
10673  550040 Move GString, rand and printf tests to the unit test framework
10674  550104 trivial documentation fix for g_get_home_dir
10675  548988 g_file_replace fails on Windows when the target file exists
10676  550059 Wrong docs for g_emblemed_icon_add_emblem
10677  548800 Missing a g_object_get_type function
10678  550056 Missing documentation for g_emblemed_icon_get_emblems
10679
10680 * Updated translations:
10681  Bulgarian (bg)
10682  Czech (cs)
10683  German (de)
10684  Estonian (et)
10685  Basque (eu)
10686  French (fr)
10687  Hebrew (he)
10688  Hungarian (hu)
10689  Italian (it)
10690  Japanese (ja)
10691  Lithuanian (lt)
10692  Maithili (mai)
10693  Dutch (nl)
10694  Swedish (sv)
10695  Thai (th)
10696  Ukrainian (uk)
10697  Vietnamese (vi)
10698
10699
10700 Overview of Changes from GLib 2.17.6 to GLib 2.17.7
10701 ===================================================
10702
10703 * More fixes for 64-bit Windows
10704
10705 * GIO
10706  - Add a vfs implementation for HTTP and HTTPS URIs on Windows
10707
10708 * Bugs fixed:
10709  546329 API docs for g_utf8_normalize() are incorrect
10710  546876 Modify GMarkup parser to accept &#x1; .. &#x1f;
10711  547200 g_utf8_find_next_char() issues
10712  547637 unconditional #include of sys/statfs.h in configure
10713  547337 G_DISABLE_DEPRECATED breaks tests build
10714  547832 gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict
10715  502498 Test framework assertion failures should follow gcc
10716  546371 Improve docs re g_file_monitor
10717  546483 GThemedIcon:use-default-fallbacks is not readable without...
10718  546132 GFileIcon is bindings-unfriendly
10719  542156 zfs mount in home directory shown on nautilus desktop 
10720  535124 umask 002 not being applied for new directories...
10721  547080 g_file_copy leaks expected errors
10722  546582 Callbacks from GFileMonitor present a GFile...
10723  547262 Missing link in the docs
10724
10725 * Updated translations:
10726  Arabic (ar)
10727  Catalan (ca)
10728  Spanish (es)
10729  Basque (eu)
10730  Finnish (fi)
10731  Galician (gl)
10732  Hebrew (he)
10733  Marathi (mr)
10734  Norwegian bokmål (nb)
10735  Portugese (pt)
10736  Brazilian Portugese (pt_BR)
10737  Swedish (sv)
10738  Thai (th)
10739
10740
10741 Overview of Changes from GLib 2.17.4 to GLib 2.17.6
10742 ===================================================
10743
10744 * Fix problems on 64-bit Windows
10745
10746 * g_markup_context_get_user_data: New function to access
10747   the user_data outside of callbacks
10748
10749 * GIO
10750  - g_mount_guess_content_type_sync: synchronous version of
10751    g_mount_guess_content_type
10752  - GEmblem: A GIcon implementation that adds emblem-related
10753    metadata to icons
10754  - GEmblemedIcon: A GIcon implementation that can add emblems
10755    to icons
10756
10757 * Bugs fixed:
10758  544088 option_test_LDADD is left in tests/Makefile.am
10759  544465 gmarkup makes it hard to use pre-rolled parsers
10760  545485 Implicit declaration of utime()
10761  545798 "Since: 2.18" mark is missing in g_set_error_literal...
10762  544140 fam-helper 64-bit issue
10763  529694 SELinux context setting support
10764  545157 wrong/no list of "open with" applications for .cc...
10765  545203 gfile.c: argument is different type
10766  545457 gdmsetup crashed with SIGSEGV in g_unix_mount_guess...
10767  544177 Fix trivial cut and paste error in documentation
10768  545395 Language tweak for g_value_set_string* docs
10769  541036 Gnumeric crashes when trying to open Desktop...
10770  546079 leak in xdgmime
10771  545395 Language tweak for g_value_set_string* docs
10772  546017 Don't copy attributes when copying a symlink
10773
10774 * Updated translations:
10775  Arabic (ar)
10776  Estonian (et)
10777  Galician (gl)
10778  Italian (it)
10779  Japanese (ja)
10780  Korean (ko)
10781  Norwegian bokmål (nb)
10782  Pashto (ps)
10783  Portugese (pt)
10784
10785
10786 Overview of Changes from GLib 2.17.3 to GLib 2.17.4
10787 ===================================================
10788
10789 * GIO:
10790  - New API to handle content types: g_mount_guess_content_type,
10791    g_content_type_guess_for_tree.
10792  - Export the eject-button signal on the volume monitor class
10793  - New API to enable out-of-process volume monitors: 
10794    g_volume_get_activation_root
10795
10796 * GObject:
10797  - New API to handle signals without slots in the class structure:
10798    g_signal_new_class_handler, g_signal_override_class_handler   
10799
10800 * Internationalization:
10801  - Add an NC_ macro that is a no-op equivalent of C_
10802
10803 * GMarkup:
10804  - Add two new functions g_markup_parse_context_push,
10805    g_markup_parse_context_pop to support "subparsers"
10806
10807 * Bugs fixed:
10808  541208 Functions to easily install and use signals without...
10809  541507 Ambiguous description of assigned characters in the...
10810  543040 async reading on dummy file will crash on GIO_USE_VFS=local
10811  543560 enable gio-FEN back-end warnings on Solaris will crash...
10812  528317 GRegex does not allow recursion limit
10813  337518 GMarkup: Subparser support
10814  541794 drive-eject-button signal
10815  541793 activation root for volumes
10816  467707 test_iconv_state() in tests/convert-test.c fails on AIX 5.3
10817  428048 2 of 51 tests fail on Solaris
10818  542332 small fix for error message in GMarkup
10819  482413 get_contents_stdio -- overflow and memory corruption
10820  406120 g_ascii_strtod
10821  334234 "printf" format error
10822  536996 Missing noop i18n macro equivalent to C_
10823  540616 mem leak in filechooser button
10824  539229 gobject-query calls itself query
10825  521589 [RFC] gobject documentation should mention Vala
10826  543168 Description of G_SLICE=debug-blocks discourages its use
10827  543220 Case collision on gio-extension-points.html
10828  530759 update the gobject tutorial to the XXI century
10829  535223 gbookmark file inefficiency ...
10830  543504 crash in Epiphany Web Browser: Opening local file
10831
10832 * Updated translation:
10833  German (de)
10834  Estonian (et)
10835  Pashto (ps)
10836  Albanian (sq)
10837  Thai (th)
10838  Traditional Chinese (zh_HK)
10839  Traditional Chinese (zh_TW)
10840
10841
10842 Overview of Changes from GLib 2.17.1 to GLib 2.17.3
10843 ===================================================
10844
10845 * PCRE
10846  - fix for CVE-2008-2371 
10847
10848 * Bugs fixed:
10849  538119 glib's mainloop leaks a pipe to sub-processes
10850  537635 Corrections and improvements to g_time_val_{to,from}_iso8601
10851  539067 The document g_io_channel_win32_new_fd() says...
10852  535949 annotate g_strip_context and g_dpgettext with G_GNUC_FORMAT
10853  539123 annotate g_d[n]gettext with G_GNUC_FORMAT
10854  539074 Cannot get exit status with g_spawn_command_line_sync
10855  316221 G_LOCK warns about breaking strict-aliasing rules
10856  539770 migrate gstrfunc unit tests to gtest
10857  539626 Update docstrings for g_object_freeze_notify and g_object_thaw_notify
10858  538044 unconditional use of LC_MESSAGES
10859  540545 Monotonic time and timer offset
10860  535947 want g_set_error_literal
10861  539999 glibconfig.h: add GLIB_USING_SYSTEM_PRINTF 
10862  536252 GFileEnumerator should allow access to the containing GFile
10863  538362 Get Win32 icons back in the file chooser
10864  540802 g_list_prepend doesn't concat lists
10865  540423 unrecoverable error after g_seekable_truncate
10866  538836 make check failure on PPC and ALPHA: pltcheck.sh on g_atomic_pointer_get
10867  539090 g_content_type_from_mime_type() should unalias
10868  540331 g_file_append_to () documentation: can return NULL
10869  534639 add g_desktop_app_info_new_from_keyfile
10870  536733 gio build failure on Irix
10871  536160 Add g_file_monitor()
10872  538127 FileChooser broken on win32
10873  531476 /live-g-file/test_traverse_structure test fails on Mac HFS+
10874  538564 gio should have gio-types.h
10875  540047 glib-genmarshal.c: '#include <io.h>' is too before
10876
10877 Updated translations:
10878  Korean (ko)
10879  Occitan (oc)
10880
10881
10882 Overview of Changes from GLib 2.17.0 to GLib 2.17.1
10883 ===================================================
10884
10885 * New function: g_utime(), a gstdio wrapper for utime()
10886
10887 * New functions: g_dgettext() and g_dngettext(), wrappers
10888   for corresponding gettext functions with added functionaliy
10889
10890 * Support the latest version of the shared-mime spec, including
10891   icons for mime types 
10892
10893 * New function: g_themed_icon_prepend_name()
10894
10895 * Bugs fixed: 
10896  535418 Please document which glib version defines goffset
10897  528715 Misprint in the description of the interface g_type_class_add_private
10898  528714 Misprint in the description of the interface g_param_spec_flags
10899  537260 Doc bug in G_TYPE_INSTANCE_GET_CLASS()
10900  530527 Misprint in the description of the interface 
10901         g_cclosure_marshal_VOID__FLAGS
10902  530526 Misprint in the description of the fields 'class_init' and 
10903         'class_finalize' of the structure GTypeInfo
10904  528719 Improvement to the documentation of the "g_object_connect" interface
10905  528172 gtk_signal_handlers_unblock_* functions return value
10906         amount of matched signals, not amount of actually unblocked
10907  528717 Misprint in the description of the parameter 'type_id' for 
10908         the interface g_type_register_fundamental
10909  528716 Misprint in the description of the parameter 'iface_data' for 
10910         the callback types GInterfaceInitFunc and GInterfaceFinalizeFunc 
10911  537555 GObject instantiation not thread safe
10912  537546 'desktop' shortcut in file chooser looks like a generic folder
10913  537392 Additional colon in xattr name
10914  536641 Filesystem querying in gio does not list AFS and autofs file systems
10915  528600 g_dummy_file_get_parent("scheme://example.com/")
10916  503071 Application direction changes to right to left even if theres no 
10917         translation
10918  502511 g_assert_cmphex prints invalid message
10919  338162 Use po/LINGUAS
10920  314453 Nautilus crashes in Solaris when browsing the attached file
10921  529321 make check fails in glib/pcre
10922  455215 g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD 
10923         fallback to $HOME/Desktop if xdg-user-dirs is not in use
10924  498732 g_key_file_to_data cannot fail
10925  511367 add g_file_make_directory_with_parents
10926  531900 Use __builtin_offsetof for G_STRUCT_OFFSET if building with 
10927         gcc 4.0 or newer
10928  536158 also bump GHashTable version when a node is removed via
10929         g_hash_table_iter_remove()/g_hash_table_iter_steal()
10930  531403 g_utf8_collate broken on Mac
10931  535628 test/patterntest.c still includes gpattern.h directly
10932  535625 alias.h:2648: error: 'utime' undeclared here (not in a function)
10933
10934 * Translation updates:
10935  Arabic (ar)
10936  German (de)
10937  Italian (it)
10938  Norwegian bokmål (nb)
10939  Thai (th)
10940
10941
10942 Overview of Changes from GLib 2.16.x to GLib 2.17.0
10943 ===================================================
10944
10945 * Update to Unicode 5.1
10946
10947 * Update included libcharset to the one shipped with libiconv 0.12
10948
10949 * Update included PCRE to 7.7
10950
10951 * Enforce that only toplevel headers are directly included.
10952   This is turned on by default for GObject and GIO. To turn
10953   it on for GLib, define G_DISABLE_SINGLE_INCLUDES.
10954
10955 * Fix library version of GIO.  GLib 2.16 shipped with libgio-2.0.so.0.0.0
10956
10957 * On Solaris, use FEN for file monitoring in GIO
10958
10959 * Use the GIO_EXTRA_MODULES environment variable to find
10960   additional GIO modules 
10961
10962 * G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size
10963   function attribute
10964
10965 * g_checksum_reset: New function to reset the state of a GChecksum 
10966
10967 * g_unix_mount_monitor_set_rate_limit: New function to limit the 
10968   rate at which events are reported
10969
10970 * g_file_query_file_type: New utility function to query the type of
10971   a file
10972
10973 * g_memory_output_stream_get_data_size: New function to obtain the
10974   size of the written data.
10975
10976 * Bugs fixed:
10977  522292 Gives warnings in glib/gutils.h with GCC in C99 mode
10978  523298 win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
10979  518160 replace two g_strdup_printf calls in GBookmarkFile
10980  523877 gbookmarkfile: avoid using g_string_append_printf() and
10981         other optimizations 
10982  525192 100% CPU if run main loop with no IO sources
10983  315437 extern inline -> static inline
10984  524314 g_convert() on Win32 implicitly converts full width
10985         alphanumerics into half width
10986  525732 Error in documentation for g_list_first
10987  525674 A typo in gmarkup.c
10988  448943 g_timeout_add_seconds() problems
10989  525972 UCS-4 not in the new win_iconv implementation
10990  526619 make test-report crash
10991  491554 Update to Unicode 5.1.0
10992  519137 g_slice_dup macro needs cast for 64-bit platform
10993  528752 Win32 build and SSL not working
10994  530457 G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
10995  528667 Typos in testing module documentation
10996  459905 Bug in wcwidth data
10997  534085 g_unichar_iswide_cjk() has a totally wrong table
10998  501651 Update glib/libcharset
10999  519026 G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
11000  534319 GLib's .pc files could use Libs.private
11001  534137 Typo in g_spawn_async_with_pipes doc
11002  517419 gio win32 directory monitor
11003  526796 Wrong order of arguments in g_file_copy's fallback
11004  530196 _g_local_file_has_trash_dir() doesn't handle st_dev == 0
11005  532965 Should not return filesystem::free for certain file systems
11006  525553 fix typo and nitpicking in GArray documentation
11007  526572 Missing * in declaration of parent_class in Object
11008         Destruction section of GObject Reference Manual
11009  528648 Extra >s in Object Construction section
11010  535021 g_param_spec_internal documentation should
11011         describe purpose of nick and blurb
11012  521513 Firefox crash when using file picker
11013  528433 gdesktopappinfo snafu ...
11014  533369 API g_file_info_get_attribute_string () unables to get "...
11015  521045 glib f_fstypename miscellany
11016  521672 compile error
11017  521946 control rate limit on GUnixMountMonitor
11018  522335 Fails to build: glib/gtester.c:276: error: 'ARG_MAX' unde...
11019  523015 Implement sliding window based upload operation
11020  523019 Use new GCC 4 feature
11021  523338 list nfs4 as a nfs mount type
11022  524350 Make glib build without NLS again
11023  524579 g_file_copy reports wrong total on progress callback for ...
11024  524742 A typo in gtestutils.c.
11025  524950 Minor documentation typos.
11026  525866 the user directory should not be considered as a mount to...
11027  526320 should not list mounts that the user doesn't have permiss...
11028  527132 nautilus crash when making ftp connection
11029  532852 CRITICAL **: totem_pl_parser_parse_with_base: assertion `...
11030  534759 Build failure in gio
11031  534764 Typo in error produced by g_file_make_directory
11032  521851 Redudant tests in gunixmounts.c
11033  524344 glib/gthread.h still use G_GNUC_PRETTY_FUNCTION
11034  525060 glib fails to build with -DG_DISABLE_ASSERT in CPPFLAGS o...
11035  534177 Invalid description of the interface g_cclosure_marshal_S...
11036  520715 Add GFile method g_file_query_file_type
11037  523039 nautilus can't access to trash/computer/network if gvfs i...
11038  
11039 * Updated translations:
11040  Arabic (ar)
11041  Bulgarian (bg)
11042  Catalan (ca) 
11043  Czech (cs)
11044  Greek (el)
11045  Candian English (en_CA)
11046  British English (en_GB)
11047  Spanish (es)
11048  Estonian (et)
11049  Basque (eu)
11050  Galician (gl)
11051  Hebrew (he)
11052  Hungarian (hu)
11053  Japanese (ja)
11054  Lithuanian (lt)
11055  Norwegian bokmål (nb)
11056  Dutch (nl)
11057  Occitan (oc)
11058  Portugese (pt)
11059  Russian (ru)
11060  Slovak (sk)
11061  Albanian (sq)
11062  Swedish (sv)
11063  Turkish (tr)
11064  Vietnamese (vi)
11065
11066
11067 Overview of Changes from GLib 2.16.0 to GLib 2.16.1
11068 ===================================================
11069
11070 * Fix a crash in g_themed_icon_new
11071
11072 * Update the included PCRE to 7.6
11073
11074
11075 Overview of Changes from GLib 2.15.6 to GLib 2.16.0
11076 ===================================================
11077
11078 * GLib now includes GIO, which adds optional dependencies against libattr
11079   and libselinux for extended attribute and SELinux support. Use
11080   --disable-xattr and --disable-selinux to build without these.
11081
11082 * Fix the definition of G_INLINE_FUNC to work with gcc 4.3.0
11083
11084 * GIO:
11085  - Add missing GMountMountFlags argument to g_unix_volume_mount
11086  - Fix the adopt_orphan_mount vfunc to take a volume monitor 
11087    reference
11088  - Add properties to GThemedIcon for bindings sake
11089
11090 * Bugs fixed:
11091  520484 gvfsd-trash crashed with SIGSEGV in g_path_is_absolute()
11092  510855 g_checksum_update(): Take -1 for length.
11093  517676 g_themed_icon_new*() do more than call g_object_new().
11094  518816 should handle rmdir returning EEXIST correctly
11095  519352 g_[s]list_delete_link() docs
11096  519489 Fixes for sparse warnings in gio
11097  520169 add monitor argument to vfunc for GVolumeMonitor
11098  520700 Add type check in g_file_query_exists
11099  521145 FILE_READ_ONLY_VOLUME not present on Mingw32
11100  518720 No MIME type for empty files
11101  521013 in documentation, goffset doesn't say "Since 2.x"
11102  521028 Missleading error messages from g_io_channel_set_encoding()
11103  517484 GMainLoop could set the thread "Alertable" for APCs to be... 
11104
11105 * Updated translations:
11106  Assamese (as)
11107  Bengali India (bn_IN)
11108  Czech (cs)
11109  German (de)
11110  Spanish (es)
11111  Estonian (et)
11112  Finnish (fi)
11113  French (fr)
11114  Gujarati (gu)
11115  Italian (it)
11116  Lithuanian (lt)
11117  Malayalam (ml)
11118  Marathi (mr)
11119  Norwegian bokmål (nb)
11120  Romanian (ro)
11121  Russian (ru)
11122  Slovak (sk)
11123  Ukrainian (uk)
11124
11125  
11126 Overview of Changes from GLib 2.15.5 to GLib 2.15.6
11127 ===================================================
11128
11129 * GIO:
11130  - New file attributes: trash::item-count, filesystem::use-preview
11131  - Rename g_file_contains_file to g_file_has_prefix
11132  - g_file_query_filesystem_info grew async variants
11133  - g_themed_icon_append_name: new convenience function
11134  - g_content_type_get_icon is implemented now
11135  - Only show mounts in /media and ~
11136  - g_file_contains_file has been renamed to g_file_has_prefix
11137
11138 * Win32:
11139  - g_win32_get_package_installation_directory_of_module: new function
11140    which supersedes g_win32_get_package_installation_directory
11141  - Use alertable wait functions so that I/O completion routines or 
11142    user-mode Asynchronous Procedure Calls can be run
11143  - Fix race conditions in g_spawn implementation on win32
11144
11145 * Other:
11146  - g_uri_get_scheme has been renamed go g_uri_parse_scheme
11147
11148 * Updated translations:
11149  Arabic (ar)
11150  Belarusian Latin (be@latin)
11151  Catalan (ca) 
11152  British English (en_GB)
11153  Finnish (fi)
11154  Galician (gl)
11155  Hebrew (he)
11156  Italian (it)
11157  Kannada (kn)
11158  Norwegian bokmål (nb)
11159  Dutch (nl)
11160  Brazilian Portugese (pt_BR)
11161  Vietnamese (vi)
11162
11163
11164 Overview of Changes from GLib 2.15.4 to GLib 2.15.5
11165 ===================================================
11166
11167 * Update the included PCRE to 7.6
11168
11169 * GIO:
11170  - g_volume_should_automount: new function to determine if a volume
11171    should be mounted automatically
11172  - g_file_query_default_handler: new convenience function to get
11173    the default handler for a file
11174  - g_app_info_launch_default_for_uri new convenience function to
11175    launch the default handler for a URI
11176  - Use mimeapps.list and defaults.list as discussed on xdg list
11177    recently
11178  - g_app_info_get_default_for_uri_scheme has a real implementation
11179    now (gvfs provides a GConf-based implementation)
11180  - There is the beginning of a test suite
11181  - standard::description:  new file attribute
11182  - GMountMountFlags flags argument added to mount calls
11183
11184 * GObject:
11185  - class initialization is now threadsafe
11186
11187 * Updated translations:
11188   Arabic (ar)
11189   Catalan (ca)
11190   Spanish (es)
11191   Basque (eu)
11192   Italian (it)
11193   Japanese (ja)
11194   Kannada (kn)
11195   Korean (ko)
11196   Macedonian (mk)
11197   Occitan (oc)
11198   Portugese (pt)
11199   Brazilian Portugese (pt_BR)
11200   Swedish (sv)
11201   Thai (th)
11202
11203
11204 Overview of Changes from GLib 2.15.3 to GLib 2.15.4
11205 ===================================================
11206
11207 * G_GNUC_PRETTY_FUNCTION has been deprecated
11208
11209 * GIO:
11210  - g_file_copy has an async variant now
11211  - Drives and volumes now have API to get identifiers
11212    like Hal UDIs or UUIDs.
11213  - There is now a registration API to let modules register
11214    extensions they provide, such as volume monitor implementations
11215
11216 * Bugs fixed:
11217   511807 g_time_val_to_iso8601() uses MT-unsafe gmtime() function
11218   316260 [patch] Doc patches for gnode (2.8.1)
11219   385132 solaris gettext support fix
11220   484261 ./configure check for system PCRE unicode support fails w...
11221   510292 GOption main help not shown
11222   511580 Implement g_file_copy_async
11223   511654 Compile errors due to C99 constructs
11224   487909 g_utf8_strreverse and combining marks
11225   512381 unused variable 'is_main_group' 
11226
11227 * Updated translations:
11228   Arabic (ar)
11229   Belarusian (be)
11230   Czech (cz)
11231   Spanish (es)
11232   French (fr)
11233   Galician (gl)
11234   Portugese (pt)
11235   Russian (ru)
11236   Swedish (sv)
11237   Thai (th)
11238
11239
11240 Overview of Changes from GLib 2.15.2 to GLib 2.15.3
11241 ===================================================
11242
11243 * GChecksum:
11244  - g_checksum_update can accept nul-terminated strings
11245  - The MD5 implementation works correctly on buffers 
11246    that are longer than 64 bytes
11247
11248 * GIO:
11249  - Don't include a copy of the inotify headers, rely on system headers
11250  - g_file_find_enclosing_mount has an async variant now
11251  - Reduntant seek API on file streams has been removed
11252
11253 * Bugs fixed:
11254   508602 gmemory{in|out}putstream.c: unknown pointer size
11255   508771 There is no g_file_test/exists() for GFile
11256   508773 g_uri_escape_string() documentation unclear.
11257   509465 AM_PATH_GLIB_2_0 doesn't support gio
11258   509626 async functions: Document allowed NULL callback?
11259   509990 GSeekable documentation unclear
11260   510448 No inotify support on ARM or SH5
11261   510855 g_checksum_update(): Take -1 for length. 
11262
11263 * Updated translations:
11264   Basque (eu)
11265   Marathi (mr)
11266   Swedish (sv)
11267   Ukrainian (uk)
11268
11269
11270 Overview of Changes from GLib 2.15.1 to GLib 2.15.2
11271 ===================================================
11272
11273 * GIO:
11274  - Mount operation API change: unhandled methods get reported via 
11275    the reply, rather than by the signal emission return value
11276  - File monitor API change: Add a GError argument to g_file_monitor_file
11277  - g_unix_mount_guess_should_display(): new function
11278
11279 * Bugs fixed:
11280   508224 [PATCH] FAM backend crashes due to double free
11281   508074 GAsyncResult documentation suggests g_freeing it.
11282   508108 GFile documentation slightly unclear.
11283   508309 rpc_pipefs mount points should be hidden
11284   508378 GFileInfo documentation implies that it changes attribute...
11285   508719 g_file_get_relative_path fails if parent is root
11286   508773 g_uri_escape_string() documentation unclear.
11287
11288 * Updated translations:
11289   Arabic (ar)
11290   Spanish (es)
11291   Hebrew (he)
11292   Italian (it)
11293   Korean (ko)
11294   Turkish (tr)
11295
11296
11297 Overview of Changes from GLib 2.15.0 to GLib 2.15.1
11298 ===================================================
11299
11300  * Portability fixes:
11301  - Assertion functions are marked as noreturn again
11302  - Handling of inline functions has been fixed to work with gcc 4.3
11303  - C99 comments have been removed from headers
11304  - The nonportable sed -i option is no longer used
11305
11306  * GIO:
11307   - Clarified the semantics of g_app_info_get_all()
11308   - API for memory input and output streams has been changed a bit
11309   - GDirectoryMonitor has been removed; GFileMonitor can monitor
11310     files and directories now
11311
11312  * Bugs fixed:
11313    504829 Invalid environment passed to g_spawn_async in g_desktop_...
11314    505258 crash in Users and Groups: Adding a user
11315    505815 g_content_types_get_registered should not g_free keys
11316    491218 g_timer_new() doesn't initialize timer->end
11317    315437 extern inline -> static inline
11318    476856 Inconsistency between standard and implementation of the ...
11319    480122 g_module_open fails to open modules with ".la" extension
11320    495589 gspawn.c failing to set FD_CLOEXEC
11321    500273 doesn't build with --disable-visibility
11322    504142 Do not show empty groups in --help output
11323    504879 giofam incorrectly linked
11324    505042 add file attribute for actually used file size in bytes
11325    505058 xattr namespace docs
11326    505674 Misprint in the definition of the macro G_CCLOSURE_SWAP_DATA
11327    505730 Fails to build on OSX 10.4: _NSGetEnviron not declared
11328    505887 older darwin lacks lchown
11329    506374 gmemoryinputstream api
11330    506461 Conversion of g_assert_not_reached() and friends into fun...
11331    503051 Small bug in glib interface
11332    506395 Updates to GIO documentation
11333    507628 Missing .pc entry for gio linking against glib
11334    505195 [patch] typo in g_try_new0 docs 
11335    507822 g{file,directory}monitor changes signal problem
11336    506377 gmemoryoutputstream write implementation
11337    507835 bug in gunixinputstream 
11338
11339  * Updated translations:
11340    Arabic (ar)
11341    Belarusian Latin (be@latin)
11342    Spanish (es)
11343    Basque (eu)
11344    Irish (ga)
11345    Hebrew (he)
11346    Occitan (oc)
11347    Vietnamese (vi)
11348
11349
11350 Overview of Changes from GLib 2.14.x to GLib 2.15.0
11351 ===================================================
11352
11353 Major new features:
11354
11355  * GIO: a VFS API, designed to replace GnomeVFS. The GIO implementation 
11356    in GLib has support for local filesystems. The new, separate gvfs 
11357    module contains various backend implementations (cifs, ftp, sftp,
11358    http, ...)
11359
11360  * GChecksum: provides various hash algorithms, such as MD5, SHA-1
11361    and SHA-256
11362  
11363  * GTest: a test framework 
11364  
11365 Smaller additions:
11366
11367  * GHash:
11368  - GHash has iterators, as an alternative to g_hash_table_foreach
11369
11370  * GMarkup: 
11371  - g_markup_parse_context_get_element_stack: New function to
11372    get the stack of open elements
11373  - G_MARKUP_PREFIX_ERROR_POSITION: New flag to improve error
11374    reporting
11375  - g_markup_collect_attributes: Convenience function for handling
11376    attributes
11377
11378 * GKeyFile: 
11379  - Functions that take a GError now return a boolean to indicate 
11380    success, instead of void
11381  - Various performance improvements
11382
11383 * GAsyncQueue:
11384  - g_async_queue_new_full: new function that allows to specify
11385    a free function for leftover elements
11386  
11387 * GError:
11388  - g_prefix_error and g_propagate_prefixed_error: New functions
11389    to ease error propagation
11390
11391 * Internationalization:
11392  - C_: A new 2-argument variant of the Q_() macro 
11393  - Use native character set conversion API on Windows
11394
11395 * GLib builds with automake 1.10
11396
11397 * Bugs fixed:
11398  455725 specific combination of g_utf8_strlen and g_pattern_match...
11399  467537 g_convert_with_iconv() not resetting iconv() state correc...
11400  497033 Commandline option parser should warn about missing optio...
11401  504527 gchecksum: Conditional jump or move depends on uninitiali...
11402  445362 Non-numeric local labels in gatomic.c are causing linker ...
11403  482313 gregex: no way to tell why compilation failed
11404  317775 main loops continues to run after g_main_loop_quit() has ...
11405  418778 Insufficient pkg-config version requirement
11406  436293 g_option_context_new() doc should mention that the string...
11407  466557 glib-mkenums shifts ARGV[0] to undefined
11408  468882 GKeyFile doesn't accept "True" as a true boolean value
11409  469551 application --help messages are garbaged on none UTF-8 lo...
11410  479724 Memory leak upon calling "g_main_loop_run" in the seconda...
11411  490061 outptrs uninitialized after g_parse_long_long
11412  490637 gobject documentation patch
11413  495294 glib-genmarshal prints warnings but returns 0
11414  496046 option to prefix location of errors for GMarkup
11415  498113 tests/regex-test fails on 64bit environment
11416  500506 Fails to build on OSX 10.4
11417  500638 gkeyfile speedup ...
11418  500875 Make check fails as there is no "test" target for "build"...
11419  502511 g_assert_cmphex prints invalid message
11420  502927 g_array_index triggers cast aligment warning
11421  503029 g_time_val_from_iso8601 parse non-ISO8601 dates
11422  503222 Need context to translate
11423  503420 gkeyfile leaks a hash table
11424  503470 Fix build when builddir != srcdir
11425  504227 Inverse variant for g_test_trap_assert_stdout, g_test_tra...
11426  71704  file include order
11427  491957 Misprint in the specification of the interface "g_main_co...
11428  491959 Misprint in description of the structure "GThreadPool"
11429  491965 Mistype in the specification of the function "g_hook_list...
11430  491966 Misprint in the specification of the interface "g_main_co...
11431  491968 The documentation does not mention the restriction for th...
11432  491970 The documentation for the interface "g_date_clamp" is inc...
11433  491974 The documentation of the interface "g_main_context_iterat...
11434  491975 The documentation for the interfaces "g_io_channel_read_u...
11435  491979 Misprint in the description of the interfaces g_key_file_...
11436  491982 Misprint in the description of the interface "g_key_file_...
11437  501107 EXTRA_DIST automake warnings
11438  501997 g_utf8_normalize() returns NULL on invalid string
11439  502590 C_/g_dpgettext efficiency
11440  464259 g_set_application_name() docs should say "Since 2.2"
11441  496518 gbase64.c API doc clarification
11442  498728 g_key_file_get_*_list should set length to 0 when returni...
11443  500361 Improve docs for g_array_free() and g_ptr_array_free()
11444  501853 g_checksum_get_digest docs
11445  503862 Allow NULL strings in g_parse_debug_string()
11446  142676 Q_
11447  367550 Add g_async_queue_new_full() with GDestroyNotify function
11448  375651 Minor enhancements to GKeyFile API
11449  443648 MD5 digest support
11450  449937 Upgrade auto* sources to be clean under automake1.9
11451  452887 gmarkup context "get element" function is useless when ca...
11452  491549 [PATCH] Eliminate libiconv dependency on Windows
11453  500507 GHashTableIter API 
11454
11455 * Translation updates
11456  Belarusian Latin (be@latin)
11457  Czech (cs)
11458  German (de)
11459  Spanish (es)
11460  Esperanto (et)
11461  French (fr)
11462  Korean (ko)
11463  Marathi (mr)
11464  Norwegian bokmål (nb)
11465  Brazilian Portugese (pt_BR)
11466  Slovenian (sl)
11467  Swedish (sv)
11468
11469
11470 Overview of Changes from GLib 2.14.2 to GLib 2.14.3
11471 ===================================================
11472
11473 * Update PCRE to 7.4
11474
11475 * Bugs fixed:
11476  487491 Fix some warnings from sparse
11477  488068 Small (one-time) memory leak in glib_gettext initialization
11478  493688 TYPE macro "_get_type ()" is documented wrong
11479
11480 * Updated translations:
11481  Arabic (ar)
11482  Belarusian Latin (be@latin)
11483  Estonian (et)
11484  Irish (ga)
11485  Slovenian (sl)
11486
11487  
11488 Overview of Changes from GLib 2.14.1 to GLib 2.14.2
11489 ===================================================
11490
11491 * Bugs fixed:
11492  476849 Invocation of the interface "g_hook_free" fails in certai...
11493  359165 marshallers can throw warnings with -Wunused
11494  477957 more discussion on g_value_set_object vs. g_value_take_ob...
11495  478459 G_DEFINE_DYNAMIC_TYPE_EXTENDED doesn't work with G_IMPLEM...
11496  483337 inline is disabled for MSVC when compiling C code
11497  478349 Broken link to gettext website
11498  469231 g_spawn optimization for setting all open fds to CLOEXEC 
11499
11500 * Updated translations:
11501 Arabic (ar)
11502 Galician (gl)
11503 Hebrew (he)
11504 Korean (ko)
11505
11506
11507 Overview of Changes from GLib 2.14.0 to GLib 2.14.1
11508 ===================================================
11509
11510 * Bugs fixed:
11511  476840 Invocation of the interface "g_utf8_strreverse" crashes f...
11512  444765 Fix FIXME in gregex.c when new pcre is out
11513  464145 g_markup_escape_text Produces Invalid XML
11514  465625 g_type_default_interface_ref() does not ensure working g_...
11515  466768 Clearify that comments can be put anywhere in a Key-file.
11516  474229 The GError documentation should give convention for the G...
11517  474899 G_BREAKPOINT() docs inaccurate
11518  475854 Overuse of -lpcre when using system pcre
11519  473879 Incorrect includes in gregex.c
11520  468694 Typoes in documentation
11521  469051 g_snprintf () talks about characters where it probably me...
11522  457601 Missing arch specific atomic implementation
11523  475923 Missing pcre flags when static-linking against glib
11524  475619 glibthread-2.0.la does not list -lpthread
11525
11526 * Updated translations:
11527  Bulgarian (bg)
11528  Catalan (ca)
11529  Danish (da)
11530  German (de)
11531  Canadian English (en_CA)
11532  British English (en_GB)
11533  Spanish (es)
11534  Estonian (et)
11535  Finnish (fi)
11536  French (fr)
11537  Gujarati (gu)
11538  Hungarian (hu)
11539  Italian (it)
11540  Georgian (ka)
11541  Kannada (kn)
11542  Lithuanian (lt)
11543  Makedonian (mk)
11544  Norwegian (nb)
11545  Dutch (nl)
11546  Polish (pl)
11547  Portugese (pt)
11548  Brazilian Portugese (pt_BR)
11549  Romanian (ro)
11550  Russian (ru)
11551  Albanian (sq)
11552  Serbian (sr, sr@Latn)
11553  Swedish (sv)
11554  Tamil (ta)
11555  Thai (th)
11556  Ukrainian (uk)
11557  Vietnamese (vi)
11558
11559
11560 Overview of Changes from GLib 2.13.7 to GLib 2.14.0
11561 ===================================================
11562
11563 * Last-minute API additions:
11564  - Make g_unichar_combining_class public
11565  - Add goffset type, add G_MAXSSIZE and G_MINSSIZE
11566
11567 * Update PCRE to 7.2
11568
11569 * Bugs fixed:
11570  453998 Make _g_unichar_combining_class() public
11571  462549 gregex.c: variable is declared at middle of block
11572  417068 g_file_test doc inconsistency
11573
11574 * Updated translations:
11575  Assamese (as)
11576  Basque (eu)
11577  Kannada (kn)
11578  Malayalam (ml)
11579  Dutch (nl)
11580  Polish (pl)
11581  Brazilian Portugese (pt_BR)
11582  Turkish (tr)
11583
11584
11585 Overview of Changes from GLib 2.13.6 to GLib 2.13.7
11586 ===================================================
11587
11588 * The memory corruption warning from the slice allocator that
11589   occurred when threads were initialized after the slice allocator
11590   has been removed, as the slice allocator now works fine
11591   in this scenario.
11592
11593 * New functions g_once_init_enter() and g_once_init_leave() make
11594   it easier to write threadsafe one-time initialization functions 
11595  
11596 * Bugs fixed:
11597  454473 Simple XML Subset Parser terminates on invalid XML
11598  445813 g_module_open error, add file name
11599  453796 errno gets clobbered by g_filename_display_name
11600  341988 don't use "-c" with msgfmt in Makefile.in.in
11601  447048 Please produce slightly more output during long tests
11602  454785 GModule documentation lists same block of code twice.
11603  454786 GModule documentation lists same paragraph twice.
11604  383155 small docs quirks in gobject/closure API documentation
11605  65041  _get_type() functions aren't thread safe
11606
11607 * Updated translations
11608  Assamese (as)
11609  Spanish (es)
11610  Gujarati (gu)
11611  Japanese (ja)
11612  Korean (ko)
11613  Macedonian (mk)
11614
11615
11616 Overview of Changes from GLib 2.13.5 to GLib 2.13.6
11617 ===================================================
11618
11619 * Reintroduce a GType typedef whose removal in 2.13.5
11620   caused trouble for C++ bindings
11621
11622 * Bugs fixed:
11623  450216 docs not explicit enough about g_free()
11624  451459 g_type_register_static_simple calls g_type_register_static
11625
11626 * Updated translations
11627  Norwegian bokmål (nb)
11628  Sinhala (si)
11629
11630
11631 Overview of Changes from GLib 2.13.4 to GLib 2.13.5
11632 ===================================================
11633
11634 * xdg-user-dirs support: 
11635  - the Desktop directory is guaranteed to be defined
11636  - user-dirs.dirs is no longer reloaded on changes
11637
11638 * Slice allocator: 
11639  - new api to duplicate slices
11640
11641 * Regular expression support:
11642  - GRegex is a boxed type now
11643
11644 * Bugs fixed:
11645  44793 make check failing in trunk
11646  354522 Small problem with PLT hiding 6 symbols
11647  363986 glib 2.12.4 does not compile with SGI IDO cc
11648  443869 g_type_class_add_private doesn't warn when adding 0-sized...
11649  446859 Legitimately return 0 for g_quark_from_string(NULL)
11650  447534 Small typo in g_timeout_add_seconds() doc
11651  447583 GStaticRWLock
11652  447935 g_get_current_dir SIGSEGV on long path
11653  448260 CLAMP has surprising result if low > high
11654  57693  g_string_vprintf()
11655  442029 add g_slice_dup()
11656  445065 Add GRegex boxed type
11657  448819 Add full version of g_timeout_add_seconds()
11658
11659 * Updated translations: 
11660  Swedish (sv)
11661  Oriya (or)
11662  Hebrew (he)
11663  Spanish (es)
11664  Estonian (et)
11665
11666  
11667 Overview of Changes from GLib 2.13.3 to GLib 2.13.4
11668 ===================================================
11669
11670 * Bugs fixed:
11671  444121 g_get_user_special_dir deadlocks
11672  444161 invalid UTF8 in key name shows up as valgrind error in g_...
11673  444130 g_option_context_get_help() is broken when there's a desc...
11674
11675
11676 Overview of Changes from GLib 2.13.2 to GLib 2.13.3
11677 ===================================================
11678
11679 * GKeyFile:
11680  - Added defines for easier handling of desktop files
11681
11682 * Unicode support:
11683  - Update g_unichar_iswide_cjk for Unicode 5.0
11684
11685 * Regular expression support:
11686  - GRegex structs can now be ref-counted
11687  - Some new functions for dealing with incremental 
11688    replacement have been added
11689  - The GRegexEvalCallback signature has been changed
11690
11691 * g_get_user_special_dir() has been added to support
11692   xdg-user-dirs
11693
11694 * Bugs fixed:
11695  419376 Functions using named subpatterns behave inconsistently w...
11696  434358 g_regex_fetch_named() and g_regex_fetch_named_pos() are b...
11697  423708 typo in the README.win32 file see patch below
11698  339225 Add new defines for easier handling of .desktop files 
11699  442265 API additions/changes for GRegex
11700  432651 Add a glib-ish xdg_user_dir_lookup
11701
11702 * Updated translations:
11703  Estonian (et)
11704  Norwegian bokmål (nb)
11705
11706
11707 Overview of Changes from GLib 2.13.1 to GLib 2.13.2
11708 ===================================================
11709
11710 * Unicode support:
11711  - Add g_unichar_ismark()
11712
11713 * GOption:
11714  - Allow to use callbacks for remaining args
11715
11716 * Updated translations:
11717   Belarusian Latin (be@latin)
11718   British English (en_GB)
11719   Galician (gl)
11720   Norwegian bokmål (nb)
11721   Oriya (or)
11722   Spanish (es)
11723   Thai (th)
11724
11725
11726 Overview of Changes from GLib 2.13.0 to GLib 2.13.1
11727 ===================================================
11728
11729 * GRegex:
11730  - Portability fixes
11731  - Split into immutable GRegex and GMatchInfo
11732  - Add g_regex_get_max_backref() and g_regex_get_capture_count()
11733    to obtain information about the compiled regex
11734
11735 * GKeyFile:
11736  - Fix roundtrip problems
11737  - Add g_key_file_load_from_dirs()
11738
11739 * Unicode support:
11740  - Fix corner cases in case conversion routines
11741
11742 * GOption:
11743   - Add a function to get the formatted help string
11744
11745 * GHash:
11746  - Add new functions g_hash_table_get_keys() and
11747    g_hash_table_get_values() to retrieve the keys and
11748    values in list form
11749
11750 * Updated transations:
11751   Simplified Chinese (zh_CN)
11752   Arabic (ar)
11753
11754
11755 Overview of Changes from GLib 2.12 to GLib 2.13.0
11756 =================================================
11757
11758 * Add GSequence, a list that is implemented using
11759   a balanced binary tree.
11760
11761 * Add GRegex, an implementation of Perl regular expressions,
11762   based on PCRE.
11763  
11764 * Use Posix monotonic clocks instead of gettimeofday()
11765   for GTimer when available.
11766
11767 * Support static initialization of GQeues with G_QUEUE_INIT,
11768   g_queue_init() and g_queue_clear().
11769
11770 * Add g_string_chunk_clear() for clearing a 
11771   GStringChunk.
11772
11773 * Add g_unichar_get_script() to obtain Unicode
11774   script information.
11775
11776 * Add g_unichar_iszerowidth() to obtain information
11777   about zero-width characters.
11778
11779 * Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias 
11780   type attribute.
11781
11782 * G_GNUC_INTERNAL has a working definition for the
11783   Sun Studio compiler. This requires the macro to
11784   be positioned before the function declaration.
11785
11786 * The slice allocator can produce detailed debugging
11787   information with G_SLICE=debug-blocks.
11788
11789 * Modules support G_DEBUG flags resident-modules and
11790   bind-now-modules.
11791
11792 * Add G_DEFINE_DYNAMIC_TYPE() to make it easier
11793   to define types in modules.
11794
11795 * Bug fixes: too many to list them in detail here.
11796
11797 * New and updated translations (be,bg,bn,ca,cs,de,
11798   en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml,
11799   nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN,
11800   zh_HK,zh_TW)
11801
11802
11803 Overview of Changes from GLib 2.12.1 to GLib 2.12.2
11804 ===================================================
11805
11806 * Unicode updates:
11807  - Normalization is following Unicode TR #29
11808  - g_unichar_isxdigit() only accept characters
11809    for which g_unichar_xdigit_value() returns a value
11810  - g_unichar_toupper and g_unichar_tolower leave
11811    unconvertable characters in place instead of
11812    replacing them by NUL
11813
11814 * Bugs fixed
11815  348491 g_utf8_strup() and g_utf8_strdown() returns 
11816         string with NUL bytes
11817  349825 GKeyFile always inserts a newline before a group
11818  347842 g_unichar_isxdigit() is too general about what 
11819         it considers a digit
11820  348694 g_utf8_normalize() hasn't been updated to PR #29
11821  348785 Hint about G_DEBUG in Message Logging docs
11822  349792 Wrong english string (UI)
11823  349952 gparamspecs.c uses gcc feature
11824
11825 * Translation updates (ca,cs,de,dz,es,eu,fi,gu,ko,
11826   nl,pl,tr,uk,zh_HK,zh_TW)
11827
11828
11829 Overview of Changes from GLib 2.12.0 to GLib 2.12.1
11830 ===================================================
11831
11832 * Update to final Unicode Character Database 5.0.0
11833
11834 * Bugs fixed:
11835  346660 issues with base64 api documentation / g_base64_decode_cl...
11836  348136 Coverity reports allocation of wrong size CID #2839
11837  336281 Update to UCD 5.0
11838  346197 g_date_strftime %F option doesnt work for win32
11839  348011 Small optimization to real_toupper()
11840  246494 prototype mismatch in glib/gconvert.c
11841
11842 * New and updated translations (bg,bn_IN,ca,dz,eu,fi,
11843   fr,he,it,ja,mk,or,pt)
11844
11845
11846 Overview of Changes from GLib 2.11.4 to GLib 2.12
11847 =================================================
11848
11849 * Bugs fixed:
11850  344905 leap-year bug in g_time_val_from_iso8601 w/o HAVE_TIMEGM
11851
11852 * Updated translations (cy,nb,nl)
11853
11854
11855 Overview of Changes from GLib 2.11.3 to GLib 2.11.4
11856 ===================================================
11857
11858 * GBookmarkFile:
11859  - g_bookmark_file_remove_item returns a boolean
11860  
11861 * g_mkstemp accepts the XXXXXX in the middle of
11862   the template
11863  
11864 * Bugs fixed:
11865  344868 g_key_file_to_data should separate groups 
11866
11867 * Updated translations (de,es,fr,gu,hi,ko,th)
11868
11869
11870 Overview of Changes from GLib 2.11.2 to GLib 2.11.3
11871 ===================================================
11872
11873 * GBookmarkFile:
11874   - g_bookmark_file_move_item: Return TRUE in case of
11875     an empty target
11876
11877 * Bugs fixed: 
11878  343919 gunicollate.c: strxfrm bug on VC8
11879
11880 * Updated translations (fi)
11881
11882 Overview of Changes from GLib 2.11.1 to GLib 2.11.2
11883 ===================================================
11884
11885 * Add g_ascii_stroll to parse signed 64bit integers
11886
11887 * GMarkup: add a flag to treat CDATA as text
11888
11889 * GHashTable: add functions to remove all entries
11890
11891 * GMainLoop: add functions to find the currently
11892   running source, and determine if it is destroyed
11893
11894 * Bug fixes:
11895  342563  g_atomic_thread_init() needs to be called before 
11896          other _g_*_thread_init() functions
11897  343548  Potential use after free in callers of g_string_free() 
11898  168538  Wish: Clearing contents of GHashTables
11899  321886  GTK+ cannot be reliably used in multi-threaded 
11900          applications
11901  341826  goption.c: 'strtoll' is C99's function
11902  343899  g_ascii_formatd dosn't work as expected for all 
11903          format strings
11904  317793  Make GEnumValue strings const
11905  337129  Compile warnings in G_IMPLEMENT_INTERFACE
11906  303622  What is G_TYPE_CHAR?
11907
11908 * Updated translations (bg,dz,eu,gl,ja,ko,nl,th,vi)
11909  
11910
11911 Overview of Changes from GLib 2.11.0 to GLib 2.11.1
11912 ===================================================
11913
11914 * GOption  
11915   - Support 64-bit integers 
11916   - Allow optional text before and after the options
11917     in help output
11918
11919 * Bug fixes:
11920  340538 gbase64-test writes OOB 
11921  340816 GKeyFile set_string_list invalid memory reads 
11922  339105 g_key_file_parse_value_as_double
11923  340434 convert-test.c fails (function test_one_half)
11924  311043 Memory leaks (and potential infinite loops) 
11925         when using G_ERRORCHECK_MUTEXES
11926  335198 Error checking mutexes are fubar  
11927  341237 Add a G_OPTION_ARG_INT64
11928  341192 g_io_channel_set_flags not implemented on win32
11929  336120 Allow adding description before/after GOption 
11930         --help output body
11931  341191 misplaced check in g_relation_delete
11932  340530 mismatched calloc / g_free in win32 threads
11933
11934 * Updated translation (es)
11935
11936 Overview of Changes from GLib 2.10.x to GLib 2.11.0
11937 ===================================================
11938
11939 * GBookmarkFile: a parser for files containing bookmarks
11940   stored using the Desktop Bookmark specification.
11941
11942 * Base64 encoding support
11943         
11944 * Unicode 5.0 support
11945
11946 * GOption supports floating point numbers 
11947
11948 * GKeyFile supports floating point numbers
11949
11950 * Bug fixes:
11951  155884 gatomic.c should be based on new SDK
11952  157877 update-desktop-database doesn't handle duplicate entries
11953  164719 keyfile parser doesn't support floats
11954  327662 Import BookmarkFile from libegg
11955  329548 Add G_OPTION_ARG_DOUBLE
11956  329789 option-test.c type confusion
11957  332841 Segmentation Fault when %llu is passed to vasnprintf and 
11958         HAVE_SNPRINTF is not defined
11959  333879 gthread/gthread-win32.c: IsDebuggerPresent needs '#define 
11960         _WIN32_WINDOWS 0x0401'
11961  333916 g_timer_elapsed docs should mention that microseconds 
11962         may be NULL
11963  334440 dlerror() portability issue causes crash on (old) a.out 
11964         NetBSD platform
11965  334646 goption + error out params
11966  334799 g_remove() must check return value of remove()
11967  334943 make check FAIL: threadpool-test
11968  335215 Some breakages with GThreadPool
11969  336085 g_option_context_new parameter lacks better explanation
11970  336677 Documentation for g_object_ref_sink() is incorrect
11971  337027 gbookmarkfile.c: sys/time.h include error
11972  337553 Wrong escaping of URIs
11973  338572 Dereferencing NULL value in g_key_file_get_group_comment
11974  338845 g_completion_complete_utf8 crashes when NULL is passed to it
11975  339337 g_bookmark_file_set_description
11976  339338 gbookmarkfile.c, function expand_exec_line
11977  339340 gbookmarkfile.c, function bookmark_app_info_dump
11978
11979 * Translation updates (bg,en_GB,et,gl,gu,he,hi,ka,nb,nl,nn,
11980                        or,pt_BR,ro,tr,vi,zh_CN)
11981
11982
11983 Overview of Changes from GLib 2.10.0 to GLib 2.10.1
11984 ===================================================
11985
11986 * Bugs fixed:
11987  314794 Broken pthread detection on Darwin [Gregor Riepl]
11988  322476 Missing check for .dylib [Vladimir Panov]
11989  333651 Inconsistent _g_charset_get_aliases prototype [Julio 
11990         M. Merino Vidal]
11991  333761 GInitiallyUnowned breaks application code [Sven Herzberg]
11992
11993 * Win32 changes:
11994  - Fix g_listenv() implementation.
11995  - Allow up to 100 GPrivate structs
11996
11997 * Translation updates (fr,hu,lt,pl,sv)
11998
11999
12000 Overview of Changes from GLib 2.9.6 to GLib 2.10.0
12001 ==================================================
12002
12003 * The functions g_snprintf() and g_vsnprintf() have been removed from
12004   the gprintf.h header, since they are already declared in glib.h. This
12005   doesn't break documented use of gprintf.h, but people have been known
12006   to include gprintf.h without including glib.h.
12007
12008 * The Unicode support has been updated to Unicode 4.1. This adds several
12009   new members to the GUnicodeBreakType enumeration.
12010
12011 * The support for Solaris threads has been retired. Solaris has provided
12012   POSIX threads for long enough now to have them available on every
12013   Solaris platform.
12014
12015 * 'make check' has been changed to validate translations by calling
12016   msgfmt with the -c option. As a result, it may fail on systems with
12017   older gettext implementations (GNU gettext < 0.14.1, or Solaris gettext).
12018   'make check' will also fail on systems where the C compiler does not
12019   support ELF visibility attributes.
12020
12021 * The GMemChunk API has been deprecated in favour of a new 'slice
12022   allocator'. See the g_slice documentation for more details.
12023
12024 * A new type, GInitiallyUnowned, has been introduced, which is
12025   intended to serve as a common implementation of the 'floating reference'
12026   concept that is e.g. used by GtkObject. Note that changing the
12027   inheritance hierarchy of a type can cause problems for language
12028   bindings and other code which needs to work closely with the type
12029   system. Therefore, switching to GInitiallyUnowned should be done
12030   carefully. g_object_compat_control() has been added to GLib 2.8.5
12031   to help with the transition.
12032
12033 * Bugs fixed:
12034  328997 64bit pointer trunction in glib slab-allocator
12035         [Pascal Hofstee]
12036  331110 g_cond_broadcast(inform_cond) without holding 
12037         inform_mutex [Chris Wilson, Sebastian Wilhelmi]
12038  332093 Fix some leaks in the tests [Kjartan Maraas]
12039  332435 g_utf8_strlen returns wrong value if a maximum 
12040         number of bytes to check is specified 
12041         [Matthias Clasen]
12042  331367 gslice requires more POSIX-like semantics for 
12043         GPrivate destructors [Tor Lillqvist]
12044
12045 * Documentation improvements [Matthias, Kang Jeong-Hee,
12046   Tor Lillqvist, Stefan Kost]
12047
12048 * Translation updates (el,eu,ka,uk)
12049
12050 Overview of Changes from GLib 2.9.5 to GLib 2.9.6
12051 =================================================
12052
12053 * Bugs fixed: 
12054  329124 distclean removes README [Kjartan Maraas, Tim Janik]
12055  317679 GRelation field type not documented [Behdad Esfahbod]
12056  329123 Typo in GTime docs [Kjartan Maraas]
12057
12058 * Documentation improvements [Sven Herzberg, David
12059   Schleef, Kjartan Maraas, Behdad Esfahbod]
12060
12061 * Translation updates (cs,cy,it,ko,pt,sq,sr,sr@Latn,ru
12062
12063 Overview of Changes from GLib 2.9.4 to GLib 2.9.5
12064 =================================================
12065
12066 * Memory management: 
12067   Runtime debugging support: The slice allocator
12068   can be turned off by setting G_SLICE=always-malloc
12069   in the environment. Zeroing of freed memory can
12070   now be turned on at runtime by setting
12071   G_DEBUG=gc-friendly in the environment. [Tim Janik]
12072
12073 * Bugs fixed:
12074  328253 HP-UX/IA-64 uses ".so" as default shared library 
12075         extension [Albert Chin]
12076  143380 unicode-encoding test fails converting to UTF-16 
12077         with libiconv [Marc Moorcroft]
12078  328254 Build breakage (GSlice) [Jens Ganseuer]
12079  328705 C99ism in glib/gmem.c [Kazuki Iwamoto]
12080
12081 * Translation updates (da,et,zh_CN)
12082
12083 Overview of Changes from GLib 2.9.3 to GLib 2.9.4
12084 =================================================
12085
12086 * Type system:
12087   Fix a problem with g_object_compat_control() which 
12088   can lead to segfaults in GTK+ applications on 64bit 
12089   platforms. 
12090
12091 * Thread suppport: 
12092   Unused threads now fall back to the global pool after 
12093   500 milliseconds, where they wait for another 
12094   max-idle-time milliseconds. [Sebastian Wilhelmi]
12095
12096 * Fix a memory allocation problem in GKeyFile. [Morten 
12097   Welinder]
12098
12099
12100 Overview of Changes from GLib 2.9.2 to GLib 2.9.3
12101 =================================================
12102
12103 * GTree:
12104  - Replace the simple recursive implementation by
12105    a nonrecursive, threaded one  [Maurizio Monge]
12106
12107 * Change g_filename_display_name and
12108   g_filename_display_basename to use the Unicode
12109   replacement character U+FFFD instead of a question
12110   mark, and don't append "(invalid encoding)"  [Matthias]
12111
12112 * Documentation improvements [Sven Herzberg, Federico
12113   Mena Quintero, Stefan Kost]
12114
12115 * Bugs fixed:
12116  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X 
12117         [Bogdan Nicula]
12118  326558 Some test failures on IRIX 6.5 [Daichi Kawahata]
12119  169285 "threaded" tree implementation for GTree 
12120         [Maurizio Monge]
12121  326747 g_filename_display_basename adds (invalid encoding) 
12122         [Alberto Ruiz]
12123
12124 Other contributors: Christian Kellner, Murray Cumming
12125
12126 New and updated translations (bg,ca,de,es,et,gu,ja,nl,th,vi)
12127
12128
12129 Overview of Changes from GLib 2.9.1 to GLib 2.9.2
12130 =================================================
12131
12132 * Memory management:
12133  - Add tests for cache colorization [Tim Janik]
12134  - Minimize space consumption if small amounts of differently
12135    sized slices are allocated, at a small performance cost.  [Tim]
12136
12137 * Thread support:
12138  - Add g_atomic_pointer_set() and g_atomic_int_set() [Tim Janik,
12139    Sebastian Wilhelmi]
12140  - Add g_thread_pool_set_sort_function() to allow sorting the 
12141    tasks of a threadpool.  [Martyn Russell]
12142  - Add g_thread_pool_set_idle_time() to allow unused threads
12143    to exit after a certain time.  [Martyn]
12144
12145 * Type system:
12146  - introduce a new type GInitiallyUnowned, which has an initial
12147    floating reference. [Tim]
12148  - Add support for GType parameters. [Matthias]
12149
12150 * Main loop:
12151  - Add g_main_context_is_owner() to determine if the current
12152    thread is the owner of the context.  [Michael Meeks]
12153
12154 * Provide g_access(), g_chdir(), g_unlink(), g_rmdir() as 
12155   wrapper functions instead of macros.  [Manish Singh]
12156
12157 * Documentation improvements [Tim, Matthias, Federico Mena Quintero,
12158   Stefan Kasal, Dan Williams]
12159
12160 * New and updated translations (en_CA,fi,fr,gl,ml,nb,no,zh_HK,zh_TW)
12161
12162 * Bugs fixed:
12163  324179 g_allocator_new() returns pointer to const dummy which Gtk+ 2.8 
12164         tries to modify [J. Ali Harlow]
12165  324332 g_option_context_parse() returns false without setting error 
12166         [Tim-Philipp Müller]
12167  324950 GLIB 2.9.1 testcase errors [Dan Yefimov]
12168  325015 gslice.c: process.h is needed on Windows [Kazuki Iwamoto]
12169  321978 G_DATALIST_GET_FLAGS() macro is not casting datalist to 
12170         gpointer [Andrew Paprocki]
12171  316221 G_LOCK warns about breaking strict-aliasing [Michal Benes, 
12172         Stanislav Brabec]
12173  325273 Error in documentation for glib_check_version () [Declan Naughton]
12174  325310 g_spawn_sync hangs when catching both stdout and 
12175         stderr [Tor Lillqvist]
12176  325249 gcc warning when using g_rmdir from <glib/gstdio.h> [Jani Monoses]
12177  325864 glib/gthreadpool.c:"#define debug(...)" is C99 [Kazuki Iwamoto]
12178  325874 Should say somewhere that source IDs are > 0 [Dan Williams]
12179  325438 a typo (compatability) [Stefan Kasal]
12180  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X [Bogdan Nicula]
12181
12182
12183 Overview of Changes from GLib 2.9.0 to GLib 2.9.1
12184 =================================================
12185
12186 * Memory management
12187  - The slice allocator is implemented [Tim Janik]
12188  - g_slice_free_chain() has been renamed to 
12189    g_slice_free_chain_with_offset()  [Tim, Behdad Esfahbod]
12190  - Mem chunks are deprecated [Matthias Clasen]
12191
12192 * Data structures
12193  - Hash tables are refcounted, and have a boxed type [Tim]
12194
12195 * Thread support
12196  - Support for Solaris threads has been removed 
12197    [Sebastian Wilhelmi, Andrew Paprocki]
12198  - g_async_queue_sort(), g_async_queue_push_sorted() have 
12199    been added to allow GAsyncQueue to be used as a priority 
12200    queue, together with the corresponding _unlocked 
12201    variants  [Martyn Russell]
12202
12203 * GObject:
12204  - The concept of a floating initial reference has been
12205    moved from GtkObject to GObject [Tim]
12206
12207 * Win32 changes:
12208  - Make g_rename() replace existing files [Tor Lillqvist]
12209
12210 * Misc new API:
12211  - G_GUINT64_CONSTANT macro to define guint64 
12212    constants [Andrew Paprocki]
12213  - G_GNUC_WARN_UNUSED_RESULT macro to instruct the 
12214    compiler to emit a warning if the value returned
12215    by a function is ignored. [Arjan van de Ven, Alex Larsson]
12216  - GList and GSList now have sort functions which take an
12217    extra user data argument [Martyn Russell]
12218  - g_param_spec_ref_sink() has been added for consistency [Tim]
12219
12220 * $LOGNAME is respected when determining user data. [Laszlo Peter]
12221
12222 * Other changes and bug fixes [Tim, Matthias, Behdad, 
12223   Christian Persch, Benedikt Meurer, Andrew Paprocki, 
12224   Kazuki Iwamoto, Alexis S. L. Carvalho, Stanislav Brabec,
12225   Andreas Schwab, Kalle Vahlman]
12226
12227 * Documentation
12228  - Deprecation warnings carry version information [Matthias]
12229  - The slice allocator has been documented [Matthias, Tim]
12230  - Other improvements [Morten Welinder]
12231
12232 Overview of Changes from GLib 2.8.x to GLib 2.9.0
12233 =================================================
12234 * Unicode support:
12235  - The Unicode tables have been updated to Unicode 4.1, 
12236    adding several new values to the GUnicodeBreakType 
12237    enumeration. This breaks Pango <= 1.10 
12238    [Behdad Esfahbod]
12239  - The various Unicode character predicate functions 
12240    (g_unichar_isalpha, g_unichar_isdigit,...) have
12241    been optimized
12242    [Behdad]
12243  - g_utf8_pointer_to_offset, g_utf8_offset_to_pointer:
12244    These functions handle negative offsets now, and
12245    going backwards in g_utf8_offset_to_pointer uses
12246    "stutter stepping".
12247    [Larry Ewing, Matthias Clasen]
12248
12249 * Memory management:
12250  - Mem chunks are no longer used internally in GLib and
12251    GObject. GMemChunk will be deprecated in GLib 2.10
12252  - All APIs based on GAllocator (g_list_push/pop_allocator,
12253    and similar push/pop_allocator functions for other
12254    data structures) have been deprecated, since they
12255    never worked as intended.
12256  - The g_slice_* functions have been added as a 
12257    new API for fast allocation of small memory blocks. 
12258    The implementation in GLib 2.9.0 is just a simple 
12259    wrapper around malloc. GLib 2.10 will have an
12260    efficient and scalable implementation. 
12261    [Tim Janik, Matthias]
12262
12263 * Pattern matching:
12264  - g_pattern_match has been optimized to avoid
12265    unnecessary recursion.
12266    [Tim, Matthias]
12267
12268 * g_intern_string, g_intern_static_string: 
12269  - New functions to intern strings. These are now used 
12270    by GObject to avoid duplicating static strings 
12271    [Matthias]
12272
12273 * g_thread_foreach: 
12274  - New function to iterate over all GThreads 
12275    [Tim, Matthias]
12276
12277 * g_date_set_time_t, g_date_set_time_val:
12278  - New functions to set a GDate from a time_t or
12279    GTimeVal value. g_date_set_time has been deprecated 
12280    in favor of these.
12281    [Roger Leigh]
12282
12283 * g_snprintf and g_vsnprintf:
12284  - These functions are no longer declared in gprintf.h, 
12285    since they are in glib.h
12286    [Matthias]
12287
12288 Overview of Changes from GLib 2.8.0 to GLib 2.8.1
12289 =================================================
12290 * Optimize single-character insertions in GString [Ross Burton]
12291 * Fix build problems on OS X
12292 * Fix build problems on Win32 [Tor Lillqvist, Hans Breuer]
12293 * Other bug fixes [Matthew F. Barnes, Stepan Kasal] 
12294 * Documentation improvements [Tristan van Berkom, Behnam
12295   Esfahbod, Gustavo Carneiro, Stepan Kasal, Matthias]
12296 * New and updated translations (ca,cy,ko,ro,uk)
12297
12298 Overview of Changes from GLib 2.7.7 to GLib 2.8.0
12299 =================================================
12300 * Make g_value_transform() handle enum values
12301   correctly on ppc64.  [Michael Lorenz]
12302   (Third-party code accessing enumeration values 
12303   in GValues should also be changed to access 
12304   v_long, not v_int, in order to work on bigendian 
12305   64bit machines.)
12306 * Make g_flags_get_first_value() handle a value
12307   of 0 meaningfully. [Tim-Philipp Müller] 
12308
12309 Overview of Changes from GLib 2.7.6 to GLib 2.7.7
12310 =================================================
12311 * Make atomic operations on s390 work [Matthias]
12312 * Fix C++ guards in gstdio.h [Tor Lillqvist]
12313
12314 Overview of Changes from GLib 2.7.5 to GLib 2.7.6
12315 =================================================
12316 * Add native implementations of atomic operations 
12317   on s390 [Matthias]
12318 * Make atomic reference counting of closures
12319   work on s390 [Matthias]
12320 * Avoid an infinite loop in g_convert_with_iconv().
12321   [Sebastian Bacher]
12322 * Documentation improvements [Ross Burton]
12323
12324 Overview of Changes from GLib 2.7.4 to GLib 2.7.5
12325 =================================================
12326 * Thread-related changes
12327  - Fix build issues on HP-UX [Paul Cornett]
12328  - Threadsafe access to flags stored in datasets [Tim Janik]
12329  - Fix several issues with atomic refcounting for 
12330    closures, objects and paramspecs [Tim]
12331  - Improve tests for atomic refcounting changes [Tim]
12332 * Fix handling of stateful encodings in g_convert_* [Matthias]
12333 * Fix translation of GOption help output [Dan Winship]
12334 * Catch format errors in translations. This may cause 
12335   "make check" to fail when using older versions
12336   of gettext [Matthias]
12337 * Win32 bug fixes [Tor Lillqvist]
12338 * Documentation improvements [Ross Burton, Jochen Baier, 
12339   Matthias, Tim]
12340 * New and updated translations (de,fi,gu,pl,pt,tr,zh_TW)
12341
12342 Overview of Changes from GLib 2.7.3 to GLib 2.7.4
12343 =================================================
12344 * Fix g_atomic_pointer_compare_and_exchange 
12345   on Sparc64 [Gert Doering]
12346 * Fix a hang in g_thread_pool_free. [Hong Jen Yee]
12347 * Win32 bug fixes [Tor Lillquist]
12348 * Other bug fixes [Benoit Dejean, Manish Singh]
12349 * Documentation improvements [Bryan Silverthorn,
12350   Callum McKenzie] 
12351 * New and updated translations (de,lt,sq,zh_CN)
12352
12353 Overview of Changes from GLib 2.7.2 to GLib 2.7.3
12354 =================================================
12355 * GOption
12356  - Allow callbacks with optional arguments [Pawel Sliwowski]
12357  - Allow to turn off the automatic long option name
12358    disambiguation  [Adam McLaurin]
12359  - Only allow printable ASCII as short option names [Matthias]
12360 * Win32
12361  - Build fixes [Tor Lillqvist]
12362  - Rewrite iochannel socket implementation [Tor]
12363 * GObject
12364  - Threadsafety improvements; in particular, refcounting
12365    of objects is done atomically now. [Wim Taymans, Tim Janik]
12366 * Bug fixes [Morten Welinder, Matthias, Wim Taymans]
12367 * Documentation improvements [Richard Laager, Matthias]
12368 * New and improved translations (bf,cs,hu,nb,nl,no)
12369
12370 Overview of Changes from GLib 2.7.1 to GLib 2.7.2
12371 =================================================
12372 * Win32 build fixes [Hans Breuer]
12373 * Bug fixes [Mikael Magnusson]
12374 * Documentation improvements [Matthias Clasen]
12375 * New and updated translations (en_CA,es,et,ja,sr,sr@Latn,zh_TW)
12376
12377 Overview of Changes from GLib 2.7.0 to GLib 2.7.1
12378 =================================================
12379 * GOption 
12380  - Allow callback arguments without parameters [Dan Winship]
12381 * GMappedFile: an mmap wrapper [David Schleef, Behdad Esfahbod]
12382 * Misc new functions:
12383  - g_get_host_name [Tor Lillqvist]
12384  - g_mkdir_with_parents [Tor]
12385  - g_build_pathv, g_build_filenamev [Todd A. Fisher, 
12386    Matthias Clasen]
12387 * Bug fixes [Roger Leigh, Masatake YAMATO, Kjartan Maraas,
12388   Manish Singh, Tor, Murray Cumming, Kian Duffy, Morten Welinder]
12389 * Documentation improvements [Hong Gang XU, Dan Winship, Matthias]
12390 * New and updated translations (bg,cs,da,en_CA,es,et,nb,nl,no,
12391   sk,th,zh_TW)
12392
12393 Overview of Changes from GLib 2.6.x to GLib 2.7.0
12394 =================================================
12395 * GKeyFile
12396  - Add unit tests [Matthias Clasen, Suren A. Chilingaryan]
12397  - Accept \r\n as line end [Bastian Nocera]
12398  - Don't interpret leading zeros as octal numbers. [Matthias]
12399  - Make key and group removal work [David Hoover, Matthias Hasselmann]
12400 * GOption
12401  - Improve formatting of --help output [Matthias, Noah Levitt]
12402  - Accept -? [Matthias]
12403  - Warn about duplicate main groups [Jeff Franks]
12404  - Treat '-' as non-option argument [Tim Musson, Thomas Leonard]
12405  - Report missing arguments as errors [Björn Lindqvist]
12406  - Add a boxed type for GDate [Tim-Philipp Müller]
12407 * GTree
12408  - g_tree_remove() and g_tree_steal() return status information [Matthew F. Barnes]
12409 * Stdio wrappers
12410  - Work regardless of large file support [Manish Singh]
12411  - Add g_access(), g_chmod(), g_creat(), g_chdir [Tor Lillqvist]
12412 * GObject
12413  - Implement "toggle references" to help language bindings [Owen Taylor]
12414  - Allow to mark names, nicks and blurbs of pspecs as static [Ben Maurer, Matthias]
12415  - Make pspec lookup a bit faster [Morten Welinder]
12416 * Add g_listenv() to list all set environment variables [Hans Petter Jansson]
12417 * Add g_file_set_contents() to atomically write a file.  [Søren Sandmann,
12418   Sven Neumann, Manish, Alexis S. L. Carvalho]
12419 * Add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew() [Stefan Kost]
12420 * Add g_utf8_collate_key_for_filename() to sort filenames taking
12421   extensions and numeric suffixes into account.  [Ole Laursen, Alex Larsson]
12422 * Add G_GNUC_NULL_TERMINATED to mark varargs function with 
12423   NULL-terminated argument lists. [Marc Meissner]
12424 * Win32 changes
12425  - Improved debugability [Ulf Lamping, Hans Breuer]
12426  - Make filename handling more robust [Tor, Billy Skaggs]
12427  - Improve g_get_system_data_dirs() [Tor]
12428  - Use more precise timers [Tor]
12429  - Build fixes [Kazuki Iwamoto, Hans, Tor, Robert Ögren]
12430 * Other bug fixes [Roger Leigh, Owen, Matthias, Morten, Kjartan Maraas, 
12431   Pawel Sakowski, Tor, Simon Budig, Ed Avis, Manish, Nicolas Laurent, 
12432   Bastien, Fabrício Barros Cabral, Michael Banck, Daniel Atallah, 
12433   J. Ali Harlow, Tim Janik, Hazael Maldonado Torres, Sven, Jon-Kare Hellan,
12434   Dave Benson, Tommi Komulainen, Benjamin Otte, Brian Cameron, Changwoo Ryu, 
12435   Christian Biere, Noah, Benoît Carpentier]
12436 * Documentation improvements [Vincent Untz, Matthias, Tim-Philipp Müller,
12437   Morten, Matthew, Federico Mena Quintero, Sebastian Bacher, Oliver Sessink, 
12438   Stefan, Jared Lash, Tor, Owen, Daniel Vaillard, Mathieu Lacage]
12439 * New and updated translations (ca,cs,da,el,en_CA,en_GB,es,et,eu,fa,fr,gl,
12440   hu,id,it,lt,mn,ne,nl,pl,pt,pt_BR,ro,rw,sk,sq,sr,sr@Latn,tl,uk,xh,zh_CN)
12441
12442 Overview of Changes from GLib 2.6.0 to GLib 2.6.1
12443 =================================================
12444 * GOption
12445  - Make gtk_init(NULL, NULL) work again [Marcin Krzyzanowski]
12446  - Improve handling of -- [Matthias Clasen]
12447  - Don't show G_OPTION_REMAINING in --help output [Matthew F. Barnes]
12448 * g_find_program_in_path() doesn't return directories [Tommi Komulainen]
12449 * Add gmodule-export-2.0.pc [Matthias]
12450 * Win32 changes
12451  - Improve hangling of UNC paths [Tor Lillqvist]
12452  - g_getenv(), g_setenv(), g_unsetenv(), g_find_program_in_path()
12453    take and return UTF-8 now [Tor] 
12454  - Make g_file_test() work more reliably, and use PATHEXT
12455    when check for executables [Tor]
12456  - Build and cross-compilation fixes [J. Ali Harlow]
12457 * Other bug fixes [Jens Hatlak, Morten Welinder, 
12458   Tor, Kalpesh Shah, Adrian Bunk]
12459 * Documentation improvements [Marcin Krzyzanowski, Tor, Crispin
12460   Flowerday, Mariano Suárez-Alvarez, Christian Biere, Danny Milo,
12461   Vincent Untz, Bastien Nocera]
12462 * New and updated translations (cy,de,nl,ru,sq,sv)
12463
12464 Overview of Changes from GLib 2.4.x to GLib 2.6.0
12465 =================================================
12466
12467 * GLib 2.6 introduces the concept of 'GLib filename encoding', which is the
12468   on-disk encoding on Unix, but UTF-8 on Windows. All GLib functions
12469   returning or accepting pathnames have been changed to expect
12470   filenames in this encoding, and the common POSIX functions dealing
12471   with pathnames have been wrapped. These wrappers are declared in the
12472   header <glib/gstdio.h> which must be included explicitly; it is not
12473   included through <glib.h>.
12474
12475   On current (NT-based) Windows versions, where the on-disk file names
12476   are Unicode, these wrappers use the wide-character API in the C
12477   library. Thus applications can handle file names containing any
12478   Unicode characters through GLib's own API and its POSIX wrappers,
12479   not just file names restricted to characters in the system codepage.
12480
12481   To keep binary compatibility with applications compiled against
12482   older versions of GLib, the Windows DLL still provides entry points
12483   with the old semantics using the old names, and applications
12484   compiled against GLib 2.6 will actually use new names for the
12485   functions. This is transparent to the programmer.
12486
12487   When compiling against GLib 2.6, applications intended to be
12488   portable to Windows must take the UTF-8 file name encoding into
12489   consideration, and use the gstdio wrappers to access files whose
12490   names have been constructed from strings returned from GLib.
12491
12492 * Likewise, g_get_user_name() and g_get_real_name() have been changed
12493   to return UTF-8 on Windows, while keeping the old semantics for
12494   applications compiled against older versions of GLib.
12495
12496 * The GLib uses an '_' prefix to indicate private symbols that
12497   must not be used by applications. On some platforms, symbols beginning
12498   with prefixes such as _g will be exported from the library, on others not.
12499   In no case can applications use these private symbols. In addition to that,
12500   GLib+ 2.6 makes several symbols private which were not in any installed
12501   header files and were never intended to be exported.
12502
12503 * To reduce code size and improve efficiency, GLib, when compiled
12504   with the GNU toolchain, has separate internal and external entry
12505   points for exported functions. The internal names, which begin with
12506   IA__, may be seen when debugging a GLib program.
12507
12508 * On Windows, GLib no longer opens a console window when printing
12509   warning messages if stdout or stderr are invalid, as they are in
12510   "Windows subsystem" (GUI) applications. Simply redirect stdout or
12511   stderr if you need to see them.
12512
12513 * The child watch functionality tends to reveal a bug in many
12514   thread implementations (in particular the older LinuxThreads
12515   implementation on Linux) where it's not possible to call waitpid()
12516   for a child created in a different thread. For this reason, for
12517   maximum portability, you should structure your code to fork all
12518   child processes that you want to wait for from the main thread.
12519
12520 * A problem was recently discovered with g_signal_connect_object();
12521   it doesn't actually disconnect the signal handler once the object being
12522   connected to dies, just disables it. See the API docs for the function
12523   for further details and the correct workaround that will continue to
12524   work with future versions of GLib.
12525
12526 * Major new APIs
12527   - GOption, a commandline option parser
12528   - GKeyFile, a parser/editor for the .ini like files 
12529   - Functions to support the XDG basedir specification
12530   - Wrappers for common POSIX pathname functions to handle filename
12531     encodings consistently. On Windows, these use UTF-8.
12532
12533 * Miscellaneous new functions
12534   - g_filename_display_name() converts filenames in displayable UTF-8 strings
12535   - g_uri_list_extract_uris() splits uri lists
12536   - g_date_get_iso8601_week_of_year() gets ISO 8601 week numbers
12537   - g_log_set_default_handler() installs an alternate default log handler
12538   - g_get_language_names() obtains a list of applicable locale names
12539   - g_strv_length() calculates the length of NULL-terminated string arrays
12540   - g_win32_get_windows_version() determines the Windows version 
12541   - G_GNUC_INTERNAL marks functions as non-exported
12542   - glib_check_version() checks the GLib version at runtime
12543   - g_debug() completes the family of logging functions
12544
12545 * Performance improvements
12546   - Optimize g_utf8_validate()
12547   - Optimize g_markup_parse_context_parse()
12548   - Reduce signal connection complexity from O(n) to O(1) 
12549   - Get rid of many PLT entries for internally used exported symbols
12550   - Reduce code size by removing literal strings from g_return_if_fail()
12551
12552 * Other changes
12553   - On Windows, GLib functions that take file name arguments now require
12554     those to be in UTF-8. Functions that return file names return UTF-8.
12555   - Use higher precision for mathematical constants
12556   - Don't convert to/from UTF-8 in g_filename_to_uri/g_filename_from_uri
12557   - Support ll as printf format modifier for long long on all platforms
12558   - Clean up the ABI and enforce the list of exported symbols
12559   - Add a .pc file for using gmodule in libraries
12560   - Require ngettext
12561
12562 Overview of Changes from GLib 2.5.7 to GLib 2.6.0
12563 =================================================
12564 * GOption: Don't list help options if group-specific
12565   options have been requested [Glynn Foster]
12566 * Make g_get_language_names() track locale changes [Christian Persch]
12567 * Win32 bug fixes [Tor Lillqvist]
12568 * Bug fixes [Philippe Blain, Owen Taylor, Sebastian Wilhelmi]
12569 * New and updated translations (da,es,ja,lt,zh_CN)
12570 Bugs fixed: 159530,100697,160271,160645,157255
12571
12572 Overview of Changes from GLib 2.5.6 to GLib 2.5.7
12573 =================================================
12574 * Optimize g_utf8_validate() [Owen Taylor, Matthias Clasen]
12575 * Optimize g_markup_parse_context_parse() [Havoc Pennington, 
12576   Morten Welinder]
12577 * Reduce signal connection complexity from O(n) to O(1) 
12578   [Sven Neumann]
12579 * Add a .pc file for using gmodule in libraries [Owen]
12580 * Add G_GNUC_MALLOC to mark functions returning newly 
12581   allocated memory  [Matthias]
12582 * Win32 bug fixes [Hans Breuer, Tor Lillqvist, Robert Ögren,
12583   Bruce Hochstetler]
12584 * Bug fixes [Kazuki IWAMOTO, Matthias, Manish Singh, Morten,
12585   Frederic Crozat, Tor]
12586 * Documentation improvements [Matthias, Tor, Owen]
12587 * New and updated translations (cs,da,de,en_CA,en_GB,es,nb,nl,sq,zh_CN)
12588
12589 Overview of Changes from GLib 2.5.5 to GLib 2.5.6
12590 =================================================
12591 * GOption
12592   - Add G_OPTION_FLAG_REVERSE to allow options 
12593     which unset a  boolean variable [Tor Lillqvist]
12594 * GChildWatch
12595   - Use sigaction instead of signal [Jonas Jonnson, 
12596   Archana Shah]
12597   - Make the very first SIGCHLD work [Gustavo Carneiro]
12598 * Bug fixes [Morten Welinder, Tor, David MacLachlan,
12599   Manish Singh, J. Ali Harlow]
12600 * Documentation improvements [Matthias Clasen, Tor]
12601 * Updated translations (da,ja,tr,zh_CN)
12602
12603 Overview of Changes from GLib 2.5.4 to GLib 2.5.5
12604 =================================================
12605 * GKeyFile
12606   - Cleanups, add more error checking [Ray Strode]
12607   - Fall back to the untranslated string when getting 
12608     locale strings [Mark McLoughlin]
12609 * GOption
12610   - Document GOption [Matthias Clasen]
12611   - Better support for rest arguments [Owen Taylor, Matthias]
12612   - Handle conflicts between groups [Matthias]
12613 * Add g_lstat() to the stdio wrappers [Tor Lillqvist]
12614 * Add g_filename_display_name() to convert filenames
12615   in displayable UTF-8 strings  [Alex Larsson, Matthias]
12616 * Win32 bug fixes [Kazuki IWAMOTO, Hans Breuer, Tor]
12617 * Bug fixes [Christophe Fergeau, Morten Welinder, 
12618   Owen, Kjartan Maraas, Mark]
12619 * Documentation improvements [Matthias, Tor]
12620
12621 Overview of Changes from GLib 2.5.3 to GLib 2.5.4
12622 =================================================
12623 Add GKeyFile, a parser/editor for the .ini like files used in various
12624    freedesktop.org specifications. [Ray Strode]
12625 Make the handling of filename encodings consistent across all
12626    GLib functions, introduce wrappers for common POSIX 
12627    functions which accept the same filename encoding. [Tor Lillqvist, 
12628    Owen Taylor]
12629 GOption
12630  - Rename g_context_option_error_quark() to a more language-binding
12631    friendly name [Murray Cumming]
12632  - Accept backslashes in filenames on Win32 [Tor Lillqvist]
12633 * Strip the internal aliasing prefix IA__ from function names in 
12634   assertions [Matthias Clasen]
12635 * Add a function to split uri lists. [Matthias]
12636 * Win32 bug fixes 
12637  - Don't open console windows [Tor]
12638 * Other bug fixes [Philippe Blain, Robert Ögren, Hidetaka Iwai, Matthias,
12639  Morten Welinder, Mats-Ola Persson, Tor, Nickolay V. Shmyrev, Kjartan Maraas,
12640   Anders Carlsson, Tim-Philipp Müller, Lucas Rocha, Andrea Campi, Manish
12641   Singh, Thomas Fitzsimmons, Kazuki IWAMOTO]
12642 * Documentation improvements [Matthias, Linus Walleij, Nickolay, Philippe, 
12643  Adam Hooper, Gustavo Carneiro]
12644 * New and updated translations (cs,en_CA,en_GB,ja,nb,nl,or,sr,sr@Latn,sq)
12645
12646 Overview of Changes from GLib 2.5.2 to GLib 2.5.3
12647 =================================================
12648 * GOption
12649  - set the program name from argv[0] [Masatake YAMATO] 
12650  - make contexts work without a main group [Anders Carlsson]
12651 * Performance 
12652  - Get rid of many PLT entries for internally used exported symbols,
12653    and clean up the ABI at the same time and make make check check the
12654    list of exported symbols.  [Matthias Clasen]
12655 * Add API to get ISO 8601 week numbers [Niklas Lundell]
12656 * Add API to install an alternate default log handler [Darin Adler]
12657 * Add API to obtain a list of applicable locale names [Hidetoshi Tajima]
12658 * Reduce code size bloat by removing literal strings from
12659  the g_return_if_fail() macros [Owen Taylor]
12660 * Add g_strv_length [Tim-Philipp Müller]
12661 * Win32 changes
12662  - Add API to determine the Windows version [Tor Lillqvist]
12663 * Other bug fixes [Stepan Kasal, Anders, Tor, Kazuki Iwamoto,
12664   Manish Singh]
12665 * Documentation improvements [Morten Welinder, Matthias]
12666 * New and updated translations (es,nn,ro)
12667
12668 Overview of Changes from GLib 2.5.1 to GLib 2.5.2
12669 =================================================
12670 * Add G_GNUC_INTERNAL macro [Arjan van de Ven]
12671 * Add GOption, a commandline option parser [Anders Carlsson]
12672 * Add glib_check_version [Michael Natterer]
12673 * Add XDG basedir API [Ray Strode]
12674 * Require ngettext [Danilo Segan]
12675 * Bug fixes [Manish Singh, Ray Strode, Vincent Noel, 
12676   Jon-Kare Hellan, Jody Goldberg]
12677 * Win32 bug fixes [Tor Lillqvist, Hans Breuer, Peter Zelezny]
12678 * Documentation improvements [Matthias Clasen, Vincent Untz, Christian Persch]
12679 * New and updated translations (bs,eu,fi,gu,ne,pa)
12680
12681 Overview of Changes from GLib 2.5.0 to GLib 2.5.1
12682 =================================================
12683
12684 * Bug fixes [Oliver Guntermann, Sven Neumann, James 
12685   Henstridge, Hiroyuki Ikezoe, Matthias Clasen, Robert 
12686   Ögren, Tommi Komulainen]
12687 * Documentation improvements [Soeren Sandmann, 
12688   Christophe Fergeau, Danek Duvall]
12689 * New and updated translations (eu,hi)
12690   
12691 Overview of Changes from GLib 2.4.1 to GLib 2.5.0
12692 =================================================
12693
12694 * New functions g_debug [Sven Herzberg]
12695 * Use higher precision for mathematical constants [Morten 
12696  Welinder]
12697 * Don't convert to/from UTF-8 in g_filename_{to,from}_uri 
12698  [Federico Mena Quintero]
12699 * Win32
12700  - Handle empty digit string in printf() functions 
12701    correctly [Tor Lillqvist]
12702  - Support ll as format modifier for long long [Tor]
12703  - Be more careful about HOME [Tor, Ivan Wong]
12704  - Bug fixes [John Ehresman]
12705 * Miscellaneous bug and portability fixes [Danilo Segan, 
12706  Owen Taylor, Nikolai Weibull, Benoît Carpentier, Morten 
12707  Welinder, Manish Singh, Sven Neumann, Julio M. Merino Vidal,
12708  Kaz Sasayama, Murray Cumming, Federico, Mariano Suarez-Alvarez]
12709 * Documentation updates [Matthias Clasen, Crispin Flowerday,
12710  Tommi Komulainen, Federico Mena Quintero, Ed Griffiths]
12711 * New and updated translations (ja,ne,no,wa)
12712  
12713 Overview of Changes from GLib 2.4.0 to GLib 2.4.1
12714 =================================================
12715
12716 * Win32 bug fixes [Tor Lillqvist, Roger Leigh, John Ehresman]
12717 * Miscellaneous bug and portability fixes [Owen Taylor,
12718   Matthias Clasen, Jonas Jonsson, Christian Krause,
12719   Nickolay V. Shmyrev, Christophe Saout, Philippe Blain,
12720   Piotr Klaban]
12721 * Documentation updates [Matthias]
12722 * New and updated translations (ca,cs,cy,el,en_CA,en_GB,es,eu,fi,
12723   fr,gu,he,id,nl,pt,pl,ru,sr,sr@ije,sr@Latn,sv,uk)
12724
12725 Overview of Changes from GLib 2.3.6 to GLib 2.4.0
12726 =================================================
12727
12728 * Handle invalid-UTF-8 in g_log() properly [Matthias Clasen]
12729 * Win32 bug fixes [Tor Lillqvist, Bruce Hochstetler]
12730 * Miscellaneous bug and portability fixes [Olivier Biot, David L. Cooper II, 
12731   Kjartan Maraas, Frédéric L. W. Meunier, Christof Petig, Manish Singh, 
12732   Sebastian Wilhelmi]
12733 * Documentation updates [Owen]
12734 * Updated translations (hr,ro)
12735
12736 Overview of Changes from GLib 2.3.5 to GLib 2.3.6
12737 =================================================
12738
12739 * GAtomic bug fixes [Sebastian Wilhelmi, Mark McLoughlin]
12740 * GMain threading fixes and improvements [Sebastian]
12741 * Win32 [Tor Lillqvist]
12742  - restore some symbols extraneously exported from gobject to maintain ABI compatibility
12743  - Misc build improvements and fixes [Tor, Cedric Gustin, Hans Breuer]
12744 * Documentation updates [Sebastian, Takeshi AIHANA, Matthias, Sven Herzberg]
12745 * New and updated translations (be,es,fi,ga,pa,sr@ije,zh_CN)
12746
12747 Overview of Changes from GLib 2.3.3 to GLib 2.3.5
12748 =================================================
12749
12750 * Make glib-mkenums parse initializers with macros. [Matthias Clasen, muppet]
12751 * Respect locale era in g_date_set_parse(). [Theppitak Karoonboonyanan] 
12752 * Add atomic operations and use it for the async queue and
12753   gonce implementation. [Sebastian Wilhelmi]
12754 * Documentation improvements [Sebastian, Matthias, Sven Herzberg]
12755 * Add g_main_depth() for finding the recursion depth of the main
12756   loop [Owen Taylor, Tim Janik, Stefan Westerfeld]
12757 * Add g_spawn_close_pid(), needed on win32 [J. Ali]
12758 * Win32 fixes. [Hans Breuer, J. Ali Harlow]
12759 * Misc bugfixes [Sebastian, Matthias, Balazs Scheidler, Owen]
12760 * Updated translations (cy,et,ga,sq)
12761
12762 Overview of Changes from GLib 2.3.2 to GLib 2.3.3
12763 =================================================
12764
12765 * Add a native AIX gmodule implementation. [Laurent Vivier]
12766 * Add g_node_copy_deep().  [James M. Cape, Matthias Clasen]
12767 * Extend GQueue API to match the GList API. [Soeren Sandmann]
12768 * Add g_hash_table_find().  [Tim Janik]
12769 * Add a G_MODULE_BIND_LOCAL flag. [David Schleef]
12770 * Inline g_string_append_c() when possible. [Owen Taylor, Tim]
12771 * Wrap waitpid() as a GSource. [Jonathan R. Blandford]
12772 * Add g_completion_complete_utf8(). [Theppitak Karoonboonyanan, 
12773   Matthias]
12774 * Add g_strsplit_set(). [Soeren]
12775 * Documentation improvements. [Vincent Untz, Sebastian Wilhelmi, 
12776   Soeren, Matthias]
12777 * Win32 build fixes. [Tor Lillqvist]
12778 * Misc bugfixes [Manish Singh, Noah Levitt, Simon Josefsson, 
12779   Morten Welinder, Damien Carbery, Julio M. Merino Vidal, Sebastian, 
12780   Matthias]
12781 * Updated translations (nn,cs,it,ko,sq,ms,az,hr,uk,sr,sr@Latn,sq,ta)
12782
12783 Overview of Changes from GLib 2.3.1 to GLib 2.3.2
12784 =================================================
12785
12786 * Add G_MAXSIZE. [Manish Singh]
12787 * Add g_rand_new_with_seed_array(), g_rand_set_seed_array(),
12788   implementing the init-by-array functionality of the 
12789   original mersenne twister. Add g_rand_copy(). Improve seeding. 
12790   [George Lebl]
12791 * Add a lowercase_name option to glib-mkenums. [Murray Cumming]
12792 * Add g_ptr_array_foreach(). [Matthias Clasen]
12793 * Add g_timer_continue(). [Tim-Philipp Müller]
12794 * Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
12795 * Fix g_filename_{to,from}_utf8() on Win32 and improve 
12796   g_file_test() there too [Hans Breuer] 
12797 * Add a boxed type for NULL-terminated string arrays.  [Matthias]
12798 * Add G_DEFINE_TYPE() plus variants to ease the constuction
12799   of GObject boilerplate code.  [Tim Janik]
12800 * Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
12801 * Documentation improvements [Matthias, Manish]
12802 * Win32 build fixes [Hans]
12803 * Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, 
12804   Zack Rusin]
12805 * Updated translations (ar,de,fa,ga,mn,nn,no,sq)
12806
12807 Overview of Changes from GLib 2.3.0 to GLib-2.3.1
12808 =================================================
12809
12810 * Add glib/gi18n.h and glib/gi18n-lib.h for common
12811   gettext support, including a Q_() macro for translation
12812   with context [Matthias Clasen]
12813 * Add a more flexible G_FILENAME_ENCODING variable
12814   as a replacement for G_BROKEN_FILENAMES [Matthias]
12815 * Fix the return value g_main_context_iterate() for
12816   newly ready sources [Padraig O'Briain]
12817 * Handle Hangul composition for normalization [Noah Levitt]
12818 * Add G_{MIN,MAX,MAXU}INT{8,16,32}. [Mark Jones, Matthias]
12819 * Add G_GSIZE_FORMAT/G_SSIZE_FORMAT [Manish Singh]
12820 * Add G_STRFUNC as a portable wrapper for __func__ [Tim Janik]
12821 * Documentation improvements [Matthias]
12822 * GObject [Tim Janik]
12823  - Support '-' in g_signal_connect()/disconnect() names
12824    like 'swapped-signal'.
12825  - Add g_type_class_peek_static() and use to optimize
12826    g_object_new() for static types [Tim]
12827  - Allow setting construct-only properties from within
12828    init() implementations
12829  - Enforce readability/writeability in g_object_set/get()
12830 * Fix bug with g_ascii_strtod and multi-byte separator.
12831   [Behdad Esfahbod, Roozbeh Pournader]  
12832 * Misc bug fixes [Matthias, John Ehresman, Andrew Lanoix,
12833   Tor Lillqvist, Mark McLoughlin, Tim-Philipp Müller, Manish, 
12834   Morten Welinder]
12835 * Updated translations (ca,cs,da,es,fr,ja,nn,no,pt,ru)
12836
12837 Overview of Changes from GLib 2.2.x to GLib-2.3.0
12838 =================================================
12839
12840 * Replace Trio printf by gnulib vasnprintf [Matthias Clasen]
12841 * Update Unicode data to Unicode 4.0 [Noah Levitt]
12842 * Support XML-safe formatted output with 
12843   g_markup_[v]printf_escaped [Owen Taylor]
12844 * Add g_file_read_link to read symbolic links [Matthias]
12845 * Add g_unichar_get_mirror_char to obtain the 
12846   mirrored variant of a character [Noah]
12847 * Support for one-time initialization functions. 
12848   [Sebastian Wilhelmi]
12849 * Miscellaneous API additions: g_vasprintf
12850   g_string_chunk_insert_len, g_setenv, g_unsetenv [Matthias]
12851 * Docs improvements [Matthias]
12852 * Add support instance-private data on classed types
12853   [Mark McLoughlin, Tim Janik, Owen]
12854 * Optimize signal emissions [Soeren Sandmann, Tim]
12855 * Support a "default vtable" per interface [Tim]
12856 * Add support for properties on interfaces [Owen, Tim]
12857 * Miscellaneous API additions: g_value_take_string(),
12858   g_value_take_param(), g_value_take_object(), 
12859   g_value_take_boxed(). [Matthias]
12860 * Win32 build fixes [Tor Lillqvist]
12861
12862 Overview of Changes from GLib 2.1.5 to GLib-2.2.0
12863 =================================================
12864
12865 * Fix a problem with g_thread_init() on 64-bit problems
12866   [Alceste Scalas, Sebastian Wilhelmi]
12867 * Add assembly implementations of byteswap macros
12868   for ia64 and x86_64. [Manish Singh]
12869 * IOChannel fixes for Win32 [Tor Lillqvist, Thorsten Maerz]
12870 * Updated translations (bg,ca,es,da,fi,lv,ru,sk)
12871
12872 Overview of Changes from GLib 2.1.4 to GLib-2.1.5
12873 =================================================
12874
12875 * Win32 bug fixes [Tor Lillqvist]
12876 * Various post-rewrite fixes for glib-gettext.m4 [Owen Taylor,
12877   Jody Goldberg, Kjartan Maraas, Johannes Stezenbach]
12878 * Ensure we have a GUINT64_FORMAT by pulling in Trio
12879   if necessary [Manish Singh]
12880 * Further Trio build fixes [Matthias Clasen, Owen]
12881 * Hack around gcc, libtool issues with -pthread [Owen]
12882 * Docs improvements [Matthias]
12883 * Bug and portability fixes 
12884 * Updated and new translations (bg,de,fi,fr,sq,fr)
12885
12886 Other contributors: Kai Poitschke, Morten Welinder
12887
12888 Overview of Changes from GLib 2.1.3 to GLib-2.1.4
12889 =================================================
12890
12891 * autoconf changes to make it possible to cross compile
12892   GLib. [Owen Taylor, Dan Kegel, Amy Lin, Dimi Shahbaz, 
12893   Johannes Stezenbach]
12894 * Use libintl when it has bind_textdomain_codeset() and
12895   GLib doesn't. [Owen]
12896 * Improve generation of pseudo-random integers [Morten Welinder, 
12897   Sebastian Wilhelmi]
12898 * Avoid literal UTF-8 in favor of octal escapes [Owen, Tomas Ogren]
12899 * Cleanup include order [Sven Neumann]
12900 * autoconf cleanups and bug fixes [Daniel, Matthias Clasen, Owen]
12901 * Doc fixes and additions [Matthias]
12902
12903 Other contributors: James M. Cape, Frederic Crozat, Martin Gansser,
12904   Phuc LeHong, Manish Singh, Joshua Weage, Morten Welinder
12905
12906 Overview of Changes from GLib 2.0.x to GLib-2.1.x
12907 =================================================
12908
12909 * Add copy of the Trio library to build and use for printf() when 
12910   system printf isn't good enough. Add g_printf()/etc. [Matthias Clasen]
12911 * Add g_str_has_suffix()/g_str_has_prefix() [Alex Larsson]
12912 * Add g_markup_parse_context_get_element() [Matthias]
12913 * Add g_utf8_strreverse [Matthias]
12914 * Add g_ascii_strtoull() [Tim Janik]
12915 * Support scanning of 64-bit values with GScanner [Tim]
12916 * Add g_set/get_application_name() [Havoc Pennington]
12917 * Add G_LIKELY()/G_UNLIKELY() macros for hinting branch probabilities. 
12918   Use for g_return_if_fail(). [Matthias Clasen]
12919 * Add G_GNUC_DEPRECATED macro [Tom Tromey]
12920 * Improve the seeding algorithm of GRandom to avoid problems
12921   with certain pathological seeds. Support G_RANDOM_VERSION=2.0
12922   environment variable. [Sebastian Wilhelmi]
12923 * Improve thread configure checks, use -pthread where applicable
12924   [Sebastian]
12925 * Improve handlng of thread priorities [Sebastian]
12926 * Fix up parameter names that might shadow functions from
12927   system headers [Soeren Sandmann]
12928 * Clean up usage of deprecated functions [Manish Singh]
12929 * Docs fixes and improvements. In particular, include "Since" information.
12930   [Matthias, Soeren, Martin Schulze, Daryll Strauss, Bill Janssen, 
12931   Owen Taylor, Morten Welinder]. 
12932
12933 Overview of Changes in GLib 2.0.7
12934 =================================
12935
12936 * Fix C++ warnings in gtype.h [Dom Lachowicz]
12937 * Fix g_type_fundamental_next() [Tim Janik]
12938 * Fix various missing includes of config.h [Morten Welinder]
12939 * Handle main loop initialization before g_thread_init [Sebastian Wilhelmi]
12940 * Various 64-bit fixes [Manish Singh]
12941 * Fix GPoll on Win32 [Tor Lillqvist, Herman Bloggs]
12942 * Fix bug with buffering on UTF-8 IOChannels [Daniel Elstner]
12943 * Misc bug and build fixes [Soren Andersen, Gustavo Carneiro, Tor,
12944      Tim, Havoc Pennington,  Matthias Clasen, Sebastian Rittau,
12945      Masahiro Sakai, Arvind Samptur, HideToshi Tajima, Owen Taylor]
12946 * Updated and new translations (be,cs,de,*fa,it,lv,pt_BR,tr)
12947
12948 Overview of Changes in GLib 2.0.6
12949 =================================
12950
12951 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
12952 * Clean up debug spew from GObject [Anders Carlsson]
12953 * Compiler warning fixes [David L. Cooper II]
12954 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
12955 * Fixes for --disable-debug [Sebastian Wilhelmi]
12956 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
12957   Rajkumar Sivasamy, Laurent Vivier]
12958 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
12959   Sebastian Rittau, Linus Welleij]
12960 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
12961 * Updated translations (bg,ko,vi)
12962
12963 Overview of Changes in GLib 2.0.5
12964 =================================
12965
12966 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
12967 * Clean up debug spew from GObject [Anders Carlsson]
12968 * Compiler warning fixes [David L. Cooper II]
12969 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
12970 * Fixes for --disable-debug [Sebastian Wilhelmi]
12971 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
12972   Rajkumar Sivasamy, Laurent Vivier]
12973 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
12974   Sebastian Rittau, Linus Welleij]
12975 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
12976 * Updated translations (bg,ko,vi)
12977
12978 Overview of Changes in GLib 2.0.4
12979 =================================
12980
12981 * Fix some 64-bit problems. (George Lebl, David L. Cooper II)
12982 * Add note about Tru64 iconv to INSTALL. (Manuel Op de Coul)
12983 * Fix problem with timouts > MAXINT. (Tim Janik, Owen Taylor)
12984 * Updated translations (ca,es,fr,ja,gl,ms,nl,pl,pt,ru)
12985
12986 Overview of Changes in GLib 2.0.3
12987 =================================
12988
12989 * Handle sorting 0-length arrays (Ron Arts)
12990 * Threading fixes (Sebastian Wilhelmi)
12991 * Portability fixes (Miroslaw Dobrzanski-Neumann, Jacob Berkman, Gareth Pierce, 
12992   Sebastian, Qingjiang Yuan)
12993 * Various fixes for glib-2.0.m4. (Jim Gettys, others.)
12994 * Locate right glib-genmarshal when cross-compiling. (Mitch Natterer)
12995 * Win32 fixes (Tor Lillqvist)
12996 * Try to fix g_get_charset() related segfaults. (Owen)
12997 * Fixes for gettext detection. (Dan Winship, HideToshi Tajima, Boyd Lynn Gerber,
12998   Andrew P. Lentvorski, Jr.)
12999 * Fix g_scanner_unexp_token() (Tim Janik, Sven Neumann)
13000 * g_markup fixes. (Matthias Clasen.)
13001 * Bug fixes and cleanups (Daniel Elstner, Matthias, Laszlo Peter, Morten Welinder,
13002   Wayne Schuller)
13003
13004 Overview of Changes in GLib 2.0.1
13005 =================================
13006
13007 * Portability fixes for Sun's Forte compiler [Erwann Chenede]
13008 * Performance improvements for GObject parameter lookup, 
13009   g_filename_to/from_utf8() [Alex Larsson]
13010 * Actually check interface prerequisites [Matthias Clasen,
13011   Miroslaw Dobrzanski-Neumann]
13012 * Fix problem with glib-mkenums taking huge amounts of stack. [Owen Taylor]
13013 * Fix g_signal_handlers_disconnect_by_func() for C++ [Damien Sandras]
13014 * Fixes for g_log() and threading.
13015   [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, Tim Janik]
13016 * Make g_print(), g_printerr(), g_warning(), etc, convert from
13017   UTF-8 to the encoding of the locale [Sebastian Wilhelmi, Tim]
13018 * Fixes for GIOChannel on windows. [Tor Lillqvist]
13019 * Fix gsize/gint mismatches in giochannel.c [Miroslaw Dobrzanski-Neumann]
13020 * Fix file descriptor leak in g_file_get_contents() [Matthias]
13021 * Workaround iconv() problems on older Solaris [Lauri Alanko]
13022 * Fix warnings with gcc-3.1 about asm const [Cody Russel]
13023 * Minor bug fixes.
13024
13025 Other contributors: Hans Breuer, LEE Sau Dan, Sven Neumann, Salmaso Raffaele,
13026   Akira Tagoh, Morten Welinder
13027
13028
13029 Overview of Changes in GLib 2.0.0
13030 =================================
13031
13032 * Thread portability fixes [Sebastian Wilhelmi]
13033 * Documentation updates [Owen Taylor]
13034 * Make g_strerror(), g_strsignal() properly return UTF-8,
13035   call bind_text_domain_codeset() so that error strings
13036   are in UTF-8 as well. [Owen, Tor Lillqvist]
13037
13038 Overview of Changes in GLib 2.0.0 rc1:
13039 ======================================
13040
13041 * Win32 fixes [Tor Lillqvist]
13042 * Portability fixes [Finlay Dobbie, Miroslaw Dobrzanski-Neumann]
13043 * Fix up g_date_strftime [Daniel Elstner]
13044 * Add some structure padding [Tim Janik]
13045 * Make g_get_homedir() prefer the users home directory to $HOME
13046
13047 Other contributors: Matthias Clasen, Paolo Maggi, Christian Rose
13048
13049 Overview of Changes in GLib 1.3.15:
13050 ===================================
13051
13052 * Speed up marshalers by using private access to GValue 
13053   [Anders Carlsson, Tim Janik]
13054 * Reduce GValue to 2 elements [Tim]
13055 * Add G_DEBUG environment variable, G_DEBUG=fatal_warnings [Matthias Clasen]
13056 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
13057 * Add padding to various structures [Owen Taylor, Tim]
13058 * Win32 fixes [Tor Lillqvist]
13059
13060 Other contributors: James Henstridge, Ryan Lovett, Morten Welinder,
13061   Daniel Elstner
13062
13063 Overview of Changes in GLib 1.3.14:
13064 ===================================
13065
13066 * Register value transformations for gint64, guint64 [Andy Wingo]
13067 * Build with large-file support [Sven Neumann, Owen Taylor]
13068 * Fix handling of hostnames in URI's [Darin Adler]
13069 * Main loop bug fixes [Havoc Pennington, Owen]
13070 * Doc fixes and improvements [Manish Singh, Tim Janik]
13071 * Support ' as attribute delimiters in GMarkup [Matthias Clasen]
13072 * Win32 fixes [Hans Breuer, Tor Lillqvist]
13073 * Threading bug and build fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann]
13074 * Miscellaneous bug fixes
13075
13076 Other contributors: Matthias Clasen, James Henstridge, Mitch Natterer, 
13077   Morten Welinder.
13078
13079 Overview of Changes in GLib 1.3.13:
13080 ===================================
13081
13082 * Fix g_filename_to/from_uri for Win32 [Tor Lillqvist, Darin Adler]
13083 * Miscellaneous win32 fixes [Tor, Hans Breuer]
13084 * Fix thread options for gcc on AIX [Jerome Zago, Sebastian Wilhelmi]
13085 * Documentation improvements [Ron Steinke, Matthias, Sebastian]
13086 * Cache iconv converters as used by g_convert() [Jeffrey Stedfast]
13087 * Bug fixes [Sven Neumann, Owen Taylor, Matthias Clasen, Jeffrey,
13088   Laszlo Peter, Havoc Pennington, Tim Janik]
13089
13090 Overview of Changes in GLib 1.3.12:
13091 ===================================
13092
13093 * Implement closure chaining, fixing up API (Tim Janik)
13094 * Closure chaining test case (James Henstridge)
13095 * Make GType long not int where both are equal width (Tim)
13096 * Win32 fixes and improvements (Hans Breuer, Tor Lillqvist)
13097 * Fixes for NetBSD. (Dan Winship)
13098 * Use snprintf() for g_printf_string_upper_bound() where possible. (Matthias Clasen)
13099 * Save space for GBSearchArray (Tim Janik)
13100 * Documentation improvements. (Matthias, Sven Neumann, Havoc Pennington)
13101
13102 Other contributors: Darin Adler, Chris Blizzard, Anders Carlson, Daniel Elstner, Michael Meeks, 
13103   Mark McLoughlin, Dave Neary, Manish Singh, Owen Taylor, HideToshi Tajima, 
13104   Sebastian Wilhelmi.
13105
13106
13107 Overview of Changes in GLib 1.3.11:
13108 ===================================
13109
13110 * Win32 fixes [Hans Breuer, Tor Lillqvist]
13111 * Documentation improvements [Matthias Clasen]
13112 * Portable directory handling API [Hans]
13113 * Threading fixes [Sebastian Wilhelmi, Havoc Pennington]
13114 * Fix excess relocations in Unicode tables [Andrew Taylor]
13115 * Fix gpattern for UTF-8 [Matthias Clasen]
13116 * Support overriding class closures [Tim Janik]
13117 * Support for derivation from G_TYPE_POINTER [Owen Taylor]
13118 * Hide pointers to type information inside GType to reduce locking
13119   [Alex Larsson, Tim]
13120 * Adds check for direct inclusion of gobject/*.h [Owen]
13121 * GObject API cleanups [Tim]
13122
13123 Other contributors: Darin Adler, Jacob Berkman, Daniel Egger, Eric Lemings, 
13124   Michael Meeks, Mark McLoughlin, Arkadiusz Miskiewicz, Dan Winship
13125
13126
13127 Overview of Changes in GLib 1.3.10:
13128 ===================================
13129
13130 * Many Win32 fixes and improvements [Tor Lillqvist]
13131 * Documentation improvements [Matthias Clasen]
13132 * g_string_printfa() renamed to g_string_append_printf()
13133 * Use libcharset from libiconv to implement charset detection
13134   more portably. [Owen Taylor, Hidetoshi Tajima]
13135 * Add 64 bit type support to GObject [Joshua Pritikin, Mathieu Lacage, Owen]
13136 * Make support for 64 bit integers a requirement [Joshua]
13137 * GPattern improvements [Tim Janik, Matthias]
13138 * Locale independent g_ascii_strtod / g_ascii_dtostr [Alex Larsson]
13139 * Many bug fixes and minor tweaks.
13140
13141 Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
13142   Ben Gertzfield, Elliot Lee, Manish Singh, Abel Cheung, Laszlo Peter,
13143   Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
13144   Jacob Berkman
13145
13146
13147 Overview of Changes in GLib 1.3.9:
13148 ==================================
13149
13150 * Fixes for comparison of threads [Sebastian Wilhelmi]
13151 * Use vasprintf() when possible for g_strdup_printf [Matthias Clasen]
13152 * Win32 fixes [Tor Lillqvist, Hans Breuer]
13153 * Add a len argument to g_ascii_strup/strdown
13154 * Bug, portability fixes, cleanups.
13155
13156 Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
13157
13158
13159 Overview of Changes in GLib 1.3.8:
13160 ==================================
13161
13162 * Documentation updates [Owen]
13163 * Made GType interfaces overridable in derived types
13164 * Many win32 fixes [Tor Lillqvist]
13165 * Miscellaneous cleanups and fixes
13166
13167 Other contributors:
13168   Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
13169
13170
13171 Overview of Changes in GLib 1.3.7:
13172 ==================================
13173
13174 * Integrate GClosure support into the main loop [Owen Taylor]
13175 * More GSignal convenience functions (macros) [Sven Neumann, Tim Janik]
13176 * Introduced weak references for GObject [James Henstridge, Sven, Tim] 
13177 * Minor hash table optimizations
13178 * Main loop and threading improvements [Sebastian Wilhelmi]
13179 * Added g_ascii_* functions to be used for locale insensitive UTF-8
13180   compliant code instead of old string functions  [Darin Adler, Alex Larsson]
13181 * Add functions for Unicode case-conversion, normalization, and 
13182   collation [Owen]* GString improvements [Owen]
13183 * Reworked the GIOChannel code [Hidetoshi Tajima, Ron Steinke]
13184 * Removed glib-config-2.0 in favour of pkgconfig [Sebastian]
13185 * Make code 64bit clean [Mark Murnane]
13186 * More G_CONST_RETURN fixes
13187 * Many improvements to the win32 code [Tor Lillqvist, Hans Breuer]
13188 * Miscellaneous bug and API fixes
13189
13190 Other contributors:
13191   Michael Natterer, Christopher James Lahey, Padraig O'Briain,
13192   Matthias Clasen, Josh Pritikin, Steve Baker, Cesar Rincon, Garry R. Osgood,
13193   Michael Meeks, Laszlo Peter,  Martin Baulig, Kjartan Maraas, Andrew Lanoix,
13194   Peter Williams
13195
13196
13197 Overview of Changes in GLib 1.3.6:
13198 ==================================
13199
13200 * Threads have a "return value" from g_thread_join
13201 * Removed ability to adjust thread stack size
13202 * Prefix warnings with progname/PID by default, change toggle for this to 
13203   be an env variable G_MESSAGES_PREFIXED not a compile-time option
13204 * GMarkup speedups
13205 * GDate const, convenience fixups
13206 * Include test cases that headers are compilable by C++ compiler
13207 * Add ability to spawn processes with argv[0] != executable path.
13208 * g_strstr_len, g_strrstr, g_strrstr_len
13209 * Add length argument to g_utf8_strchr and g_utf8_strrchr.
13210 * Misc bug fixes
13211
13212
13213 Overview of Changes in GLib 1.3.5:
13214 ==================================
13215
13216 * Added an installed glib-mkenums Perl program for parsing enumeration
13217   declarations from header files.
13218 * Mark some additional deprecated functions.
13219 * Bug and Portability fixes
13220
13221
13222 Overview of Changes in GLib 1.3.4:
13223 ==================================
13224
13225 * Efficiency improvements for GThreadPool
13226 * A few bug fixes
13227 * Build fixes
13228 * Documentation improvements
13229
13230
13231 Overview of Changes in GLib 1.3.3:
13232 ==================================
13233
13234 GLib:
13235
13236 * More user_data support in various functions.
13237 * Main loop API revamps to support per-thread main loops.
13238 * Unicode handling improvements.
13239 * Implemented debugging traps.
13240 * G_CONST_RETURN specification all over the place.
13241 * Various new small utility functions.
13242 * Random number generator precision improvements.
13243 * New configure option --disable-mem-pools.
13244 * Many Win32 improvements.
13245 * Added g_try_malloc() friends varinats.
13246 * Many documentation improvements.
13247 * Many threading improvements, support for dynamic allocation
13248   of static mutexes.
13249 * GHookLIst API cleanups.
13250 * Improved format support of GDate parser.
13251 * String function speed improvements with new g_stpcpy().
13252 * Hashtable API additions.
13253 * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
13254 * Optimizations, cleanups, bug fixes.
13255
13256 GObject:
13257
13258 * Added many convenience functions.
13259 * GClosure and GParamSpec use float/sink ref-counting scheme now.
13260 * Reworked property change notification.
13261 * Binary searchable array cleanups, so it's widely usable now.
13262 * Added static content keeping for some GValue types.
13263 * Support for statically scoped signal parameters.
13264 * Extinguished property trailer args in set/get interface.
13265 * Added support for abstract types.
13266 * G_CONST_RETURN specification all over the place.
13267 * Split parameter exchange functionality into value transforms
13268   and parameter conversions.
13269 * Added signal emission hooks and signal accumulators.
13270 * Added interface prerequisites to support is_a (interface, object)
13271   relations.
13272 * Implemented GValueArray.
13273 * New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
13274   GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
13275   G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
13276 * Varrags value collection improvements.
13277 * Implemented debugging traps.
13278 * Made things thread-safe.
13279 * Many documentation improvements.
13280 * Many cleanups, optimizations and bug fixes.
13281
13282
13283 Overview of Changes in GLib 1.3.2:
13284 ==================================
13285
13286 GLib:
13287
13288 * Win32 build improvements  [Tor]
13289 * Improvements to error reporting  
13290   (g_critical(), g_return_if_reached()) [Darin]
13291 * Add g_strlcpy/g_strlcat  [David Wheeler]
13292 * New IO channel implementation for Win32  [Tor] 
13293 * Make g_array_free, g_string_free return pointer to memory requested
13294   not to be freed.  [Darin]
13295 * Added GError based error reporting for thread functions.  [Sebastian]
13296 * Moved reference docs into GLib distribution. [Owen]
13297 * Added g_convert() for doing convenient character set conversions based
13298   on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
13299 * Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
13300   g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
13301 * Portability fixes for threading.  [Sebastian]
13302 * Added convenient functions for launching new processes (g_spawn_*),
13303   and shell quoting/unquoting functions.  [Havoc]
13304 * Split glib.h into many headers.  [Sebastian]
13305 * Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
13306 * Fixed confusions between comparison functions that return <0, 0, >0
13307   and equaility functions that return FALSE,TRUE.  [Sebastian]
13308 * Added safe/portable temporary file manipulation functions.  [Tor]
13309 * autoconf improvements.  [Raja]
13310 * Many documentation improvements.
13311 * Bug fixes.
13312
13313 GObject:
13314
13315 * Added boxed and pointer types.  [Tim/Jonathan]
13316 * Added callback abstraction (GClosure)  [Tim]
13317 * Added signal system (GSignal)  [Tim]
13318 * Make GTypePlugin an interface  [Tim]
13319 * Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
13320 * Bug fixes.
13321
13322
13323 What's new in GLib 1.3.1:
13324 =========================
13325
13326 * New GObject library added including object system based on
13327   the GTK+ object system. 
13328 * Functions for getting the properties of Unicode characters, 
13329   computing the canonical decomposition and ordering combining
13330   characters aand manipulating UTF-8 string manipulation based
13331   on libunicode.
13332 * GString now properly handles embedded nuls.
13333 * Multiple fixes from the 1.2.x branch.
13334 * Upgrade to libtool 1.3.3
13335 * Full thread support (thread creation and destruction).
13336 * BeOS port, BeOS dynamic modules.
13337 * Many improvements to the Windows ports.
13338 * Improvements to the OS/2 port, OS/2 module support.
13339 * Double ended queue implementation.
13340 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
13341 * New configure option --enable-msg-prefix to prefix messages, warnings
13342   et ceteri with the program name and the process id.
13343 * New thread-safe random number generator Mersenne Twister.
13344 * g_strcompress() added, g_strescape() had a slight API change, and
13345   more tightly defined semantics.
13346 * the g_string(x) macro has been removed, #x may be used instead.
13347                                 
13348