gmain: improve g_source_set_name thread safety
[platform/upstream/glib.git] / NEWS
1 Overview of changes in GLib 2.41.5
2 ==================================
3
4 * Bug fixes:
5  735819 single native credential struct used for two purposes
6  735915 glib-building.html uses --enable-gcov instead of --enable-coverage
7  736350 GDesktopAppInfo: avoid polling on missing desktop dirs
8  736351 Don't use issetugid() on Android
9         Fix the default application logic in GDesktopAppInfo
10  736458 Only use rand_s() when targetting Visual Studio >= 2005
11
12 * Translation updates
13  Galician
14  Hungarian
15  Indonesian
16  Kannada
17  Latvian
18  Polish
19  Russian
20  Slovenian
21  Tamil
22
23
24 Overview of changes in GLib 2.41.4
25 ==================================
26
27 * GApplication now has binding-friendly API to handle
28   commandline options: g_application_add_main_option
29
30 * G_GNUC_BEGIN_IGNORE_DEPRECATIONS works with clang
31
32 * Bugs fixed:
33  583330 poll list of mounted file systems (no mtab support)
34  727455 Command line option parsing from bindings
35  734126 add G_GNUC_BEGIN_IGNORE_DEPRECATIONS macro for clang
36  735179 gsocketclient: Handle cancellation between CONNECTING...
37  735297 Docs claim that GThread struct is deprecated 
38
39 * Translation updates:
40   Assamese
41   Catalan
42   Catalan (Valencian)
43   Czech
44   French
45   German
46   Greek
47   Hebrew
48   Korean
49   Oriya
50   Traditional Chinese
51
52
53 Overview of changes in GLib 2.41.3
54 ==================================
55
56 * g_clear_pointer and g_clear_object no longer use atomics
57
58 * Bugs fixed:
59  711547 win32: silence some build warnings
60  725511 Compiled resource files should have the same /-separators everywhere
61  725513 Some tests fail to build on W32
62  725514 W32: gfileutils does not preserve errno correctly
63  725515 test-printf fails on W32
64  728730 gsocket: Set SO_NOSIGPIPE on sockets on Darwin
65  729703 Leaks a GError in g_file_move
66  730932 statically assert that reasonable assumptions about enums are true
67  732085 gtype: Fast-path for g_type_is_a
68  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
69  733345 ginetaddress: Add a precondition to g_inet_address_new_from_string()
70  733576 Patches from static analysis run on 2.40
71  733715 glib's configure.ac makes accidentally use of nested function
72  733934 win32: improve the package installation dir lookup
73  733960 W32: spawning a console process creates a new window when stdout...
74  733969 Remove atomic aspects of g_clear_pointer/object
75  733982 Do not crash when checking whether an instance type is of a given...
76  734035 gedit hangs up when there's no GSettings key in the registry 
77
78 * Translation updates:
79  Basque
80  Brazilian Portuguese
81  Lithuanian
82  Slovenian
83  Spanish
84
85
86 Overview of changes in GLib 2.41.2
87 ==================================
88
89 * The Unicode support has been updated to version 7.0
90   of the Unicode standard
91
92 * GNotification now supports priorities for notifications
93
94 * GCredentials has gained NetBSD support
95
96 * GMutex now uses a faster, native implementation on Linux
97
98 * Bugs fixed:
99  699132 Pluggable event loop backends
100  720708 g_assert_warning(): number of arguments doesn't match for...
101  722092 Add GtkApplication resources support
102  724986 Change gio/data-to-c.pl to /usr/bin/env perl.
103  727974 Fix up failure-to-see-expected-message logging
104  728256 gcredentials: add NetBSD support
105  728401 GDateTime: Add guards to g_date_time_new()
106  729825 Formatting of g_alloca documentation
107  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro...
108  730293 clang++-3.4: error: 'register' storage class specifier is ...
109  731339 giochannel: avoid setting uninitialised length
110  731424 #ifdef spaghetti for load_user_special_dirs() implementations
111  731623 GNotification: add support for a priority setting
112  731929 update tables to unicode 7.0.0
113  731950 gvalue: New g_value_from_instance
114  731986 GLib: implement GMutex natively on Linux
115  732184 GObject: warn on use of deprecated properties
116  732357 Docs: various fixes and improvements
117  732429 GActionEntry: improve documentation
118  732465 Fix build on x64 Visual C++ builds
119  732704 Docs: various fixes and improvements
120  732739 ginetsocketaddress: Explicitly initialise flags for getaddr...
121  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
122  732984 g_object_ref(NULL) in g_dbus_object_manager_client_finalize
123  733084 Typos in g_bytes_hash() and g_time_zone_find_interval() docs
124  733146 spawn helper does not use correctly the parameters 
125
126 * Translation updates:
127  Lithuanian
128
129
130 Overview of changes in GLib 2.41.1
131 ==================================
132
133 * Bug fixes:
134  697229 Custom Interface implementations will be broken with glib 2.37/38
135  698614 GObject: prevent installing properties after init
136  729269 gvariant: Fix confusion between type and format strings in the docs
137  730198 broken valgrind.h leads to crashes in g_type_free_instance on mingw64
138  730807 GMutex performance regression
139  730963 gconvert: mention that the g_convert len should be in bytes
140  730984 Faster instance type check for fundamentals
141  731050 <structname> tags appear in documentation
142  731200 unconditional 'notify' during g_object_set() is problematic
143  731335 gtype: guard uses of new fundamental type check
144  731341 gparam: change value of G_PARAM_EXPLICIT_NOTIFY
145  731366 run-assert-msg-test.sh gdb leaves assert-msg-test zombie
146  731425 giomodule protects function-call with different token than function...
147  731513 clang: build failure: implicit declaration of function '__atomic_load_4'
148  731584 gbookmarkfile: Cleaner error handling code to pacify static analysis
149  731657 Prevent an invalid @CARBON_LIBS@ from appearing in the .pc files
150  731979 docs: Correct param to interface's default_init()
151  731996 Return folder as icon for directories
152  732002 gwakeup: Clarify buffer sizing in g_wakeup_signal()
153  732005 Remove unused assignments
154  732019 gtestdbus: Don’t close stdout for dbus-daemon
155  732068 gsignal: Add an example to the g_signal_connect_swapped() documentation
156  732081 gsocket: Document that g_socket_create_source() holds a socket ref
157  732107 gsocketlistener: Reconsider closing sockets on listener finalisation
158
159
160 Overview of changes in GLib 2.41.0
161 ===================================
162
163 * Many bugfixes found by static analysis, including potential fd leaks
164   and NULL pointer dereferences.
165
166 * Increased use of (nullable) attribute on out values and return types
167   now that it is supported (mostly from porting Vala metadata).
168
169 * use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of desktop
170   files, deprecating g_desktop_app_info_set_desktop_env()
171
172 * add support for g_desktop_app_info_get_implementations() to find
173   desktop files that have an Implements= line for a given interface
174
175 * GHmac has gained SHA-512 support
176
177 * support the new mimeapps specification (most notably, moving the
178   assoications/defaults configuration to ~/.config/mimeapps.list).
179
180 * libgobject is now linked -Wl,-z,nodelete when possible to avoid errors
181   when gobject is used from a module for a program that does not itself
182   use gobject and that module is unloaded/reloaded
183
184 * ... and many other bug fixes.
185
186  623552 glib warns if backtrace.py is not present
187  667468 glib-2.30.2: ipv6 tests fail when no ipv6 support is available
188  668152 -framework Carbon linker flag not passed to pkg-config .pc files
189  707298 libgobject should be linked with -Wl,-z,nodelete
190  712391 Add g_desktop_app_info_get_implementors()
191  722723 Infinite recursion when calling g_io_stream_close_async() from libsoup
192  724741 hmac: Fix support for SHA-512 in GHmac
193  726040 networkaddress: fix parsing of uri with @ after authority
194  726318 gio: Document that GSocket is not thread safe
195  726611 socketclient: Leak on cancellation
196  726872 gio: Add names to idles and timeouts
197  727119 wrong IN6_IS_ADDR_MC_LINKLOCAL usage break android build
198  727123 GNotification: Some small documentation fixes
199  727320 docs: Remove escaping '\' from literals
200  727551 Check use_count of GApplication in g_application_release()
201  727559 g_file_copy: Don't set GError when we intend to ignore errors
202  727692 gio/gtlscertificate.c -- broken PEM-file processing (affects local CA root stores, for starters)
203  727890 soup_content_sniffer_real_sniff segfault
204  727900 gio: Add newer dbus UnknownXxxx and PropertyReadOnly errors
205  727928 gapplication-tool fixes
206  727939 INTLLIBS are always appended in configure checks
207  727964 g_io_extension_point_get_extension_by_name: Warn, but don't crash, for NULL inputs
208  728040 Implement new mimeapps spec
209  728066 Deal with startup notify id being NULL
210  728280 platform_get_argv0: fix sysctl(3) use on OpenBSD
211  728285 docs: Use markdown links in .h files, too
212  728350 gaction: Minor clarifications in the GAction documentation
213  728380 docs: Remove <!-- --> comment before plural s
214  728565 gfile: More explicitly document the context for GFileProgressCallback
215  728983 Docs: various fixes and improvements
216  729167 gobject: Document that classes/objects/interfaces are zero-filled
217  729563 GOption: A short option's value is included in G_OPTION_REMAINING
218  729813 AppInfo: use XDG_CURRENT_DESKTOP for OnlyShowIn
219  729875 gio: cleanup gdbusmessage.c file
220  730045 Avoid overeager warning about deprecated properties
221  730189 gtestutils: Fix a very unlikely FD leak in test fork handling
222  730190 gsocket: Add missing preconditions to g_socket_send_message()
223  730277 gthread: Fix use of a local variable after it went out of scope
224  730278 gsubprocess: Add a missing va_end() call
225  730295 gdbus-tool: Remove dead variables
226  730493 Port annotations from Vala metadata
227
228 Translations updated:
229  Basque
230  Brazilian Portuguese
231  Catalan
232  Czech
233  Danish
234  Greek
235  Hebrew
236  Hungarian
237  Punjabi
238  Serbian
239  Slovenian
240  Spanish
241  Ukrainian
242
243 Overview of changes from GLib 2.39.91 to GLib 2.39.92
244 =====================================================
245
246 This is a release candidate for 2.40.0.
247
248 There are no major changes in this release, but a few serious bugs have
249 been fixed.
250
251 * Bugs fixed:
252  710367 Crash in g_settings_backend_dispatch_signal()
253  723899 G_DEFINE_TYPE() causes compiler warnings with clang due to foo_get_instance_private
254  724859 Let the test_wait_until() test also run on non-*nix
255  724916 gio unmount code makes XFCE's Thunar crash
256  725651 GSubprocessLauncher: Does not copy the calling process environment.
257  725656 Unskip GVariantDict
258  725891 gio tests: add codegen to BUILT_SOURCES
259  726046 Recent commit created symbolic icons issues
260
261 * Translations:
262  Chinese
263  French
264  Korean
265  Latvian
266  Norwegian bokmål
267  Portuguese
268  Russian
269  Traditional Chinese
270
271 Overview of changes from GLib 2.39.90 to GLib 2.39.91
272 =====================================================
273
274 This release introduces a hard dependency on present and functioning
275 clock_gettime() and CLOCK_MONOTONIC.  It also introduces a dependency on
276 pthread_condattr_setclock() unless your system happens to have
277 pthread_cond_timedwait_relative_np() (as do Mac OS and Android).  This
278 release is known to be broken with at least GNU/Hurd, pending addition
279 of working pthread_condattr_setclock(CLOCK_MONOTONIC) there.
280
281 New API: g_str_to_ascii()
282
283 * Fixed bugs:
284  670144 unconditional use of CLOCK_MONOTONIC is broken
285  673607 invalid assumption in g_cond_wait_until() / g_get_monotonic_time() API
286  710142 Add more impressive transliteration to GLib
287  722360 make check fails
288  722604 (partial) Various tests are failing with 2.39.3
289  723316 g_hash_table_iter_remove() should be explicit whether or not it is safe while iterating the table
290  724609 Fix build of GIO on Windows
291  724687 gmain: make monotonic time really monotonic, everywhere
292  724706 gsource: document priority of child sources
293  724707 some GSocket source improvements
294  724839 GMainContext: some source ID cleanups
295  724858 Dist gtranslit-data.h
296  724994 Missing icons for bookmarks in file chooser
297  725023 Can no longer find apps by executable/desktop file name
298
299 * Translations:
300  Lithuanian
301  Polish
302  Thai
303
304 Overview of changes from GLib 2.39.4 to GLib 2.39.90
305 ====================================================
306
307 * Fixed bugs:
308  625408 make GVariant dictionaries more useful
309  660809 document that if you fail a precondition check, documented guarantees do not apply
310  661576 fix handling of constructors that destroy half-constructed objects
311  679957 g_inet_address_new_from_string is not able to handle dots and numbers IPv4 addresses
312  712837 gvariant: Document the need to cast varargs when constructing GVariants
313  721458 g_simple_async_result_is_valid has a NULL check for the wrong source_tag
314  721977 improve split handling of command line arguments
315  722033 win32: fixup lib.exe invocation
316  723422 Fix g_socket_get_available() with TCP on Windows
317  723616 gio/tests: fix race when generating code
318  724001 gsubprocess: Fix a broken link in the documentation
319  724124 glib/tests/collate.c fails if no en_US locale
320  724126 intermittent GApplication test failure: /gapplication/local-actions: lines of output permuted
321  724233 gsocketservice: Note g_socket_listener_close() for closing open sockets
322  724239 soup_session_queue_message - Connection terminated unexpectedly
323  724278 gsocketconnection: Document closing connections with g_io_stream_close()
324  724330 configure.ac: tweak inotify check
325  724385 gtestutils: make the new assert messages more detailed
326  724401 gsubprocess: Mutex leak
327  724417 glib master build broken on OpenBSD
328  724434 Build failure in gio/gresolver.c
329
330 * Updated translations:
331  Brazilian Portuguese
332  Galician
333  Indonesian
334  Italian
335  Kannada
336  Norwegian bokmål
337  Spanish
338  Thai
339
340 Overview of changes from GLib 2.39.3 to GLib 2.39.4
341 ===================================================
342
343 * Fixed Bugs:
344  139699 Correction for g_main_context_unref()
345  583036 g_strchomp and g_strchug are not declared const
346  683388 improve documentation for application developers
347  685204 ./configure fails to add the '-g' flag to CFLAGS
348  688406 GStaticMutex broke ABI on at least ARM EABI during 2.31.x
349  693299 cannot compile on Solaris: error in gbitlock.c
350  707111 Clarify type transformability and compatibility
351  711547 win32: silence some build warnings
352  719344 Fix the various test programs (or GLib itself) on Windows
353  722025 cleanup/clarify command line argument encoding on Windows
354  722323 remove unused include 'gslist.h' in 'gbookmarkfile.c'
355  722326 gstringchunk: Use g_slist_free_full() where possible
356  722357 gio: fix small memory leak on local xattr
357  722436 Adjust doc to Makefile.decl renaming
358  722503 GSimpleAction: add default activate handler
359  722526 glib/deprecated/gthread.h error on FreeBSD
360  722591 [documentation] broken link to GtkAction from GAction.html
361  722973 Broken example in GApplication reference
362  723048 'network-access' test can fail to guess interface index
363  723360 gmain: Note that g_source_destroy() can be called multiple times 
364
365 * Updated Translations:
366  Assamese
367  Tamil
368  Traditional Chinese
369
370
371 Overview of changes from GLib 2.39.2 to GLib 2.39.3
372 ===================================================
373
374 No major changes this release -- mostly lots of small fixes and
375 improvements in test coverage.
376
377  * fix a crasher in code from gdbus-codegen
378
379  * improvements to gobject gdb helper script
380
381  * portability:
382
383    - fix a deadlock issue with kqueue on FreeBSD
384
385    - work around a quirk in the sunstudio compiler
386
387    - rename a variable to avoid clashing with a macro definition of
388      'environ' on some platforms (like mingw)
389
390    - use POSIX-specified <poll.h> over <sys/poll.h>
391
392    - many improvements to Visual Studio projects and and some build
393      fixes for Windows
394
395  * tests
396    - a very large number of improvements in test coverage
397
398    - don't report skipped tests as failures
399
400    - return 77 if we skip all tests in an executable
401
402    - improve gtest documentation and fix some minor issues
403
404    - fix g_test_trap_reached_timeout() return value
405
406    - remove some dead code uncovered during test coverage expansion
407
408    - Use tap mode for installed tests too, when using tap
409
410  * fix races in unix signal handling
411
412  * make our GVariant-based commandline tools (glib-compile-schemas,
413    gdbus, gapplication) print out GVariant parse errors in context
414
415  * GApplication now has a --gapplication-service command line switch to
416    turn any GApplication into a service
417
418  * improve compatibility of GApplication and GOptionContext
419
420  * fix gsettings.m4 wrt. builddir != srcdir with non-recursive make
421
422  * use a directory monitor in GKeyfileSettingsBackend
423
424  * improve robustness of some GIcon classes
425
426 Bugs fixed
427  141251  poll(2) is in <poll.h>, not <sys/poll.h> per SUS standard
428  613732  [PATCH] gobject.py: Don't install frame filters when GDB does not support them
429  708212  g_variant_parser_error_get_quark() has unexpected name.
430  710965  GApplication: add --gapplication-service switch
431  711090  periodic failure of spawn-multithreaded async testcase
432  712171  gsettings.m4: @GSETTINGS_RULES@: Support srcdir != builddir with nonrecursive make
433  712630  Revert "gsettings m4: check for .xml in src/builddir"
434  715028  GVariant: add way to print context of parse errors
435  719344  Fix the various test programs (or GLib itself) on Windows
436  720263  gtestutils: skipping a test should count as success, not failure
437  720539  gdbus-codegen: Fix crasher in goa-using apps
438  720635  Make gdb pretty-printers compatible with Python3
439  720891  g_settings_get_child does not inherit the backend
440  721034  glib 2.38.2 cannot be compiled with SunStudio Compiler under Solaris
441  721059  g_subprocess_launcher_set_environ vs "environ"
442  721074  kqueue: deadlock
443  721087  Missing -lselinux in pkg-config --libs --static gio-2.0
444  721324  Error message is printed to stdout
445  721624  Regression in GTest framework reorders existing test cases
446  721625  backwards NEWS entry about g_source_remove change
447  721796  insufficient escaping in g_dbus_annotation_info_generate_xml()
448  721947  Improve GApplication ⇔ GOptionContext compatibility 
449
450 Translations updated:
451  Brazilian Portuguese
452  Galician
453  Greek
454  Hebrew
455
456 Overview of changes from GLib 2.39.1 to GLib 2.39.2
457 ===================================================
458
459 * Portability
460
461   - Remove alleged support for OS/2
462
463   - Remove alleged support for BeOS
464
465   - Remove alleged support for last-millennium Unixes
466
467   - Require C90 compliance
468
469   - Require POSIX.1 (1990) compliance on Unix
470
471   - Require GNU make
472
473 * Bugs fixed:
474  113075 support "nonnull" attribute
475  159528 g_ptr_array_remove_range()
476  307947 The check for growing stack pointer in configure can fail
477  607016 docs should mention property notification order
478  671557 Fun with integers and g_key_file_load_from_data()
479  676761 don't use g_critical for a runtime error
480  690525 g_file_replace_contents_async doesn't copy its @conten...
481  691608 Support compilation with clang 3.2
482  697585 g_variant_builder_add's doc example is leaking
483  697828 g_hash_table_add() should return a boolean
484  702862 gdbus-codegen : look for deps in default install path
485  703522 Reference leak in GvariantBuilder documentation
486  705902 g_get_current_dir() should check PWD env var and retur...
487  708274 Added GObject Introspection annotations to genums.c
488  710519 Portability schmortability
489  710741 some mainloop instrumentation
490  710983 Test failures on powerpc
491  711047 Enable the build of the various test programs on Windo...
492  711051 Add basic test for the GNotification gtk backend
493  711088 gbacktrace: Don't close stderr when running gdb
494  711103 gmessages: Add g_info macro for G_LOG_LEVEL_INFO
495  711178 appinfo test problems
496  711546 utf8: report allocation error
497  711640 gdesktopappinfo: Rank Keywords matches higher than Gen...
498  711751 Fix memory leaks in libglib tests
499  711753 gthread-posix: Don't use gslice allocated GRecMutex
500  711796 glib-tap.mk: fix to actually use the TAP driver
501  711800 fix g_test_set_nonfatal_assertions()
502  711801 giomodule: Allow overriding source directory gio modul...
503  711805 gdbus-connection: Fix race condition in test
504  711806 gtestdbus: Don't destroy GSource twice
505  711807 gtestdbus: Properly close server connections
506  711871 Broken and misleading configure check for growing stack
507  712136 'O_CLOEXEC' undeclared (first use in this function)
508  712148 Add system bus support to GTestDBus
509  712171 gsettings.m4: @GSETTINGS_RULES@: Support srcdir != bui...
510  712314 AIX port: splice(); major()/minor(); libtool library order
511  712315 GSettings: More docs for deprecated _list_schemas()
512  712393 gobject: Box GMappedFile
513  712547 GSocketClient "event" not useful for determining resol...
514  715164 Clang static analysis fixes
515  719395 GPtrArray add g_ptr_array_insert
516  719402 Crashes when startup
517  719472 leak in generated proxy-side property-setter
518  719687 fix or remove g_trap_object_ref
519  719809 Signal connection ids are always > 0 if successful
520  719837 gdbus-connection: Work around race in connection tests
521  719884 Fix documentation typos in GTask and GCancellable examples
522  719979 g_settings_get: check validity of format string
523  720080 Truncating a GMemoryOutputStream to a larger size cause...
524  720210 gdataset: Remove unused define
525  720236 Allow clean simple use of g_test_trap_subprocess() 
526
527 * Translations updates:
528  Italian
529  Lithuanian
530  Simplified Chinese
531  Spanish
532
533
534 Overview of changes from GLib 2.39.0 to GLib 2.39.1
535 ====================================================
536
537  * GSettings fixes/improvements
538
539    - GSettingsSchema API is now more powerful and consistent
540
541    - new GSettingsSchemaKey API allows accessing metadata for keys:
542      type, default value, range and the long-awaited support for summary
543      and description
544
545    - GSettingsSchemaSource gains support for listing schemas within a
546      source.  Deprecate the global API that did this for the default
547      source.
548
549    - 'gsettings list-schemas' now works properly with --schemadir
550
551    - deprecate a bunch of now-redundant functionality on GSettings
552
553    - add API to GSettings for getting the default value of a key (as set
554      by the sysadmin)
555
556    - add API to GSettings for determining if the user has assigned a
557      particular value to a key (ie: we are not just reading the default)
558
559    - ignore qualified tags and attributes appearing in schema files
560
561  * Applications/Actions
562
563    - make GSimpleAction a bit more strict with respect to state changes
564      that would violate the interface (ie: by changing the state type
565      after construction)
566
567    - throw an error when attempting to 'Describe' a non-existent action
568      via D-Bus instead of returning a bogus description
569
570    - throw an error when attempting to invoke unsupported methods on an
571      Application (eg: 'Open' on an app that doesn't HANDLES_OPEN)
572      instead of emitting a g_critical() in context of the app (which is
573      not itself at fault for the errant call)
574
575  * Appinfo
576
577    - substantially rework GDesktopAppInfo to reduce the amount of disk
578      accesses that are performed in common situations
579
580    - add a new class: GAppInfoMonitor for discovering when applications
581      are installed/removed
582
583    - add a new g_desktop_app_info_search() API for searching for
584      installed applications by name, keywords, etc.
585
586  * GMarkup: add new G_MARKUP_IGNORE_QUALIFIED flag for skipping over
587    "qualified" tags and attributes (those with a colon in the name, such
588    as 'my:tag')
589
590  * GDBus
591
592    - ignore qualified tags, as above
593
594    - GTestDBus: unset all D-Bus addresses (such as STARTER) to ensure
595      that test programs don't pick them up
596
597    - add new session_bus_run() convenience in the tests and use it
598
599  * GRand: use real random data as a seed on win32 and use the
600    timestamp/pid/uid fallback only on UNIX machines where we can't open
601    '/dev/urandom'.  This may cause issues with older mingw32 releases
602    due to a missing prototype for the rand_s() API.
603
604  * Many win32 (and particularly MSVC) portability fixes.  Many
605    additional tests are now runnable when building with MSVC.
606
607  * Due to early testing of the (soon to land) GCleanup framework, a very
608    large number of memory errors have been found and fixed (mostly in
609    the testcases, but some in glib itself).
610
611  * GIO:
612
613    - some more seeking cleanups: particularly on GLocalFileInputStream
614
615    - don't leave a .trashinfo file around if trashing a file fails
616
617    - Add a request_certificate virtual method to GTlsInteraction
618
619 Translations updated:
620  Assamese
621  Galician
622  Greek
623  Spanish
624  Tamil
625
626 Bugs fixed:
627  635641 schema compiler should ignore unknown attributes
628  637257 g_tls_client_connection_gnutls_retrieve_function needs to be able to block
629  637956 GKeyfileSettingsBackend should ignore file deletions
630  645453 keys from base schema missing from extended schema
631  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes in XML files
632  668232 Unable to get description and summary for a key
633  668233 Unable to determine if a key is set to the default / what the default value is
634  680838 Need g_settings_schema_source_get_schemas()
635  683017 API for accessing GSettings Schema metadata
636  687185 org.gtk.Actions.Describe doesn't return an error for non-existing action names
637  687202 If trashing fails, the ".trashinfo" file is not removed
638  695558 The --schemadir option has no effect
639  696424 GSimpleAction.state property is not right
640  697348 GTestDBus should unset DBUS_STARTER_ADDRESS, DBUS_STARTER_BUS_TYPE
641  710133 Emit backward compatible code with gdbus-codegen
642  710691 glib-networking: locking during implicit handshake
643  710738 GRand has lame fallback for Windows
644  710859 Typo in gio docs
645  710885 Two fixes for GApplication
646  710962 error: 'F_DUPFD_CLOEXEC' undeclared (first use in this function)
647  710964 Add g_hash_table_get_key_array()
648  710991 test: g_debug messages shouldn't affect g_assert_expected_messages
649  711016 g_settings_list_keys () segfaults for empty schemas
650  711048 glocalfileinputstream.c allows skip past end of file
651  711049 Fix build of GLib-GIO 2.39.x on Windows/MSVC
652  711064 Adding child source to blocked source can cause a segfault
653  711070 Copying a symlink over another one segfaults
654  711099 gapplication test failure
655  711520 GDesktopAppInfo: allow more than one level of legacy folder prefixes
656  711556 Add GAppInfoMonitor
657  711557 Add g_desktop_app_info_search()
658  711600 trivial portability fix
659  711632 The desktop-app-info test fails during make check
660  711754 gmain: Fix use of uninitialized memory in sigaction structure
661  711755 private: Use threading primitives correctly in private test
662  711756 gthreadpool: Don't pass bad data to GThreadPool sorter
663  711768 Fix memory leaks in libgmodule tests
664  711775 utils: Don't free memory owned by glib in test
665  711782 boxed: Fix double free in boxed unit tests
666  711803 gsubprocess: Fix a number of leaks and a segfault
667  711808 gtestdbus: Fix leak of GMainLoop 
668
669 Overview of changes from GLib 2.38.0 to GLib 2.39.0
670 ====================================================
671
672  * prep for the 2.40 series (version macros, docs index, etc.)
673
674  * GNotification
675
676    - new API for sending persistent notifications via the desktop shell
677
678    - notifications persist when the application has quit and clicking on
679      them can restart the application with an action (via
680      DBusActivatable)
681
682  * GSubprocess
683
684    - new API for launching subprocesses
685
686    - nice GIO integration like async functions, cancellability, etc.
687
688    - a convenient communicate() API inspired by the same API in Python
689
690    - related: the gspawn API now has a CLOEXEC flag for the created
691      pipes for stdin/stdout/stderr
692
693  * New gapplication(1) commandline tool
694
695    - intended to be used with DBusActivatable apps
696
697    - can be used for launching apps, opening files, invoking application
698      actions and listing apps and actions
699
700    - bash tab completion is supported
701
702  * GDesktopAppInfo changes:
703
704    - g_file_get_path() can implicitly cause a FUSE mount so don't call
705      it until we know we need it (for an app that doesn't support URIs)
706
707    - don't crash when trying to load from a keyfile with
708      DBusActivatable=true
709
710    - remove some dead code, refactor the search path handling a bit and
711      do a large-scale whitespace cleanup (prep work for the pending
712      desktop file index)
713
714  * File monitors
715
716    - fix broken handling of mount point monitoring
717
718    - remove some strange use of GObject::constructor() from the base
719      class and inotify backend
720
721    - fix GFileMonitor to work in the non-default main context even when
722      the main context is not running (or is blocked)
723
724    - add internal private API for easily creating a file monitor in the
725      GLib worker thread
726
727  * GSettings
728
729    - g_settings_list_children: only list viable schemas.  This fixes a
730      longstanding issue where 'gsettings list-recursively' will crash
731      when there are invalid schemas installed
732
733    - don't accept invalid paths on g_settings_new_with_path, etc.
734
735  * GIO
736
737    - GFile now has a thumbnail::is-valid attribute to check if the
738      thumbnail in thumbnail::path needs to be regenerated
739
740    - GDBusProxy now has a flag to control autostarting of services at
741      construction time
742
743    - for GSeekable, properly introduce the concept of "resizable" vs.
744      "fixed-sized" streams in the docs, explaining the expected
745      semantics of the interface in each case
746
747    - fix some cases in GMemoryOutputStream that were violating the above
748      expectations (which may cause a slight API incompatibility)
749
750    - clean up GCredentials code and add support for Hurd and Solaris
751
752    - improve splicing by using different codepaths for the case where we
753      have real _read_async() and _write_async() implementations on the
754      stream vs. the case where they are internally emulated (via
755      dispatching the sync variant of the call in a thread)
756
757  * GKeyFile
758
759    - fix a leak in g_key_file_get_(u)int64 when we fail to parse the
760      value as an integer
761
762    - add long-requested API g_key_file_save_to_file()
763
764  * Portability improvements
765
766    - avoid using O_DIRECTORY on platforms that don't have it
767
768    - be careful about systems that define SOCK_CLOEXEC but don't
769      actually support it (like Hurd)
770
771    - only use SA_RESTART if it exists
772
773  * Other small API changes/additions
774
775    - a pair of functions to support matching strings for the type of
776      search functionality that you'd expect to have with things like
777      GtkSearchBar.  This will also be used by the desktop file index.
778
779    - g_str_is_ascii() with obvious purpose
780
781    - g_test_expect_message() no longer appears to allow you to catch
782      G_LOG_ERROR messages
783
784  * GMainContext/GSource
785
786    - fix handling of overflowing the 'next source id' counter
787
788    - g_source_remove() will now throw a critical in the case that you
789      try to remove a non-existent source.  We expect that there is some
790      code in the wild that will fall afoul of this new critical but
791      considering that we now reuse source IDs, this code is already
792      broken and should probably be fixed.
793
794    - simplify handling of the 'current dispatching source' to not
795      require use of a linked list
796
797  * GObject
798
799    - the long-broken (and leaky) pattern of destroying a just-allocated
800      object from inside of a custom GObject::constructor is now
801      officially completely illegal and will abort the program
802
803  * Unicode: update to 6.3.0
804
805  * Bug fixes
806
807    - g_file_copy() now falls back to pathname queryinfo.  This should
808      clear up the bugs with copying from some GVfs backends (afp,
809      gphoto, archive, at least).
810
811    - fix an out-of-bounds read in the xdgmime code
812
813    - fix a typo in the /org/freedesktop/DBus path on the object manager
814      client
815
816    - skip emitting path_namespace='/' in match rules in order to
817      workaround a bug in the D-Bus daemon and fix our own implementation
818      (which shared exactly the same bug)
819
820    - fix crashes on precondition violations for GParamSpec constructors
821
822    - many other small fixups (see bug list)
823
824   * Many documentation improvements
825
826 Bugs fixed:
827  309224 g_key_file_save_to_file missing
828  583321 QNX: no SA_RESTART
829  661576 fix handling of constructors that destroy half-constructed objects
830  672102 GSubprocess class
831  684842 Seeks on GMemoryOutputStream don't have opaque semantics
832  688492 Add a notification API
833  691581 g_output_stream_real_splice_async doesn't use overriden read/write_async functions
834  702516 gfileutils: Make -Werror=format-nonliteral happy
835  704218 New gapplication(1) tool
836  704593 g_setenv: on some systems (BSD, OSX…), setting a variable to NULL crashes the system
837  704882 GLocalDirectoryMonitorClass mount_notify field is useless
838  704887 file monitoring improvements
839  705029 Support for Solaris credentials
840  705688 g_settings_list_children: only list viable schemas
841  706254 Afp backend cannot copy files
842  707887 Attempting to create GObject Property with underscore prefix segfaults
843  708042 gapplication: don't rely on cmdline being finalized immediately
844  708265 add support for GNU/Hurd in GLib D-Bus Library
845  708266 fix error code checks when SOCK_CLOEXEC is defined but not supported
846  708529 xdgmime: valgrind warns about invalid reads
847  708677 incorrect object path 'deskop' used in gio/gdbusobjectmanagerclient.c
848  708714 Typo in docs of GLIB_VERSION_2_40 macro.
849  708753 gdesktopappinfo: Call g_file_get_path() on demand
850  708793 glib build fails with clang < 3.1: error: expected ';' after top level declarator
851  708828 GDBusProxy: add the ability to call methods on non autostarted proxies
852  708860 glib-2.38.0 doesn't build on Solaris 10
853  708972 gnetworking.h in tarball screws up out-of-source builds
854  709113 [PATCH] Main loop dispatch path has needless linked list
855  709227 Update to unicode 6.3.0
856  709301 goutputstream: Add clear warning about short writes to _write_bytes() and async version
857  709326 GDesktopAppInfo crashes creating a DBusActivatable app without a filename
858  709440 Fix overloading of "source" and "target" terminology in GBinding
859  709615 Cannot use g_test_expect_message with g_error
860  709753 Add helpers for string matches when using GtkSearchBar-like widget
861  709898 Expose thumbnail validity in GFile attributes
862  709966 Remove outdated documentation
863  709994 Minor fix for HACKERS doc to direct hackers to proper help file
864  709995 Obsolete makefile rules
865  710002 G_MAXUINT may be assigned as duplicate source id
866  710313 Memory leak in g_key_file_get_(u)int64 with invalid integer values
867  710345 [Patches] Fix some redundant-decls
868  710496 g_locale_to/from_utf8() doc updated.
869  710625 g_file_error_from_errno: Remove unneeded breaks
870  710666 Frame clock related bug fixes
871  710724 gmain: Warn when g_source_remove() fails
872  710726 Work around D-Bus bug with path_namespace='/' match rules
873
874 Translations:
875  Assamese
876  Brazilian Portuguese
877  Indonesian
878  Russian
879  Tamil
880  Traditional Chinese
881
882 What's new in Glib 2.38
883 ========================
884
885  * Application support
886
887   - GIO now provides an implementation of Desktop Actions from the
888     desktop entry specification
889
890   - GApplication now implements the org.freedesktop.Application
891     interface as per the desktop entry specification, allowing for
892     standards-based D-Bus launching of GLib-based applications
893
894   - GDesktopAppInfo now supports DBusActivatable as per the desktop
895     entry specification, allowing GLib-based applications to use D-Bus
896     to launch other applications
897
898   - GApplication now has a "busy" flag that can be set on an application
899     to allow the shell to show that it is busy
900
901  * GObject
902
903   - the private offset for a given class type is now always constant.
904     This was done by reorganising the memory layout of instances so that
905     the private data comes before the "official" pointer for the object
906     (ie: at a negative offset).  Valgrind macros were added to mitigate
907     any problems that this may have caused.
908
909   - a new G_DEFINE_TYPE_WITH_PRIVATE has been added along with a
910     generated function *_get_instance_private() that can now serve as an
911     equally-performing alternative to ->priv pointers in instances
912     (allowing memory savings)
913
914   - new G_PRIVATE_FIELD, G_PRIVATE_FIELD_P and G_PRIVATE_OFFSET macros
915     provide a convenient method of converting between named variables in
916     private structures and their (now constant) offsets
917
918   - installing properties on a GObjectClass must now be done from
919     class_init.  It is no longer valid to install them after class_init
920     has returned.
921
922   - it is now possible to manually break a GObject property binding
923     without destroying one of the objects involved
924
925  * Icons
926
927   - the requirements for implementing the GIcon interface have changed
928     in order to make it possible to consume all implementations of GIcon
929     with a finite number of cases
930
931   - a new GBytesIcon type was added for an icon represented by an
932     in-memory binary blob in a known image format (ideally png).
933
934   - new APIs g_icon_serialize() and g_icon_deserialize() replace the old
935     to/from_string APIs and will always work, irrespective of which
936     types have been initialised in the calling process, allowing for a
937     serialised GdkPixbuf to be deserialised in a process that doesn't
938     have GdkPixbuf
939
940   - support for icons has been added to GMenuModel using the new APIs
941
942  * Actions and menus
943
944   - GPropertyAction provides a convenient way of creating a stateful
945     property corresponding to a property on a GObject, such as the
946     "visible-child-name" property of a GtkStack
947
948   - new API g_menu_remove_all()
949
950   - we now have established rules about what is a "valid" action name
951     and an API to check them
952
953   - a new API for converting detailed action names to and from the
954     split-out name and parameter value (as GVariant)
955
956   - for backwards compatibility, invalid action names can still be used
957     with most functions, but this is not recommended
958
959  * Other GIO
960
961   - GDBus now supports services that wish to handle some of all
962     properties on an interface asynchronously, without requiring the
963     service to reimplement the entire org.freedesktop.DBus.Properties
964     interface
965
966   - GFile now has a new _measure_disk_usage() (and async) API for
967     recursively determining the amount of disk space used by a
968     particular directory (akin to 'du').
969
970   - asynchronous version of g_file_trash() and g_file_make_directory()
971     have been added
972
973  * Other new API
974
975   - GRegex has a new function to query the maximum lookbehind length to
976     allow for regexp matching on streams
977
978   - GVariant has two new APIs for constructing strings that allow
979     avoiding copies in some cases: g_variant_new_take_string() and
980     g_variant_new_printf()
981
982  * Testing
983
984   - we can now generate TAP output
985
986   - new support functions for simplifying the process of dealing with
987     data files for srcdir != builddir and installed test cases
988
989   - g_test_trap_subprocess() provides a portable alternative to
990     g_test_trap_fork()
991
992  * Other
993
994   - GLib now builds on Android against the bionic C library
995
996 Overview of changes from GLib 2.37.93 to 2.38.0
997 ================================================
998
999 * fix the documentation for GSourceFuncs
1000
1001 * fix compilation on OS X/ppc64
1002
1003 Bugs fixed: 708445, 647145
1004
1005 Translations updated:
1006  Danish
1007  French
1008  Portuguese
1009  Punjabi
1010
1011 Overview of changes from GLib 2.37.92 to 2.37.93
1012 ================================================
1013
1014 * a couple of bugfixes in the new g_file_measure_disk_usage() API
1015
1016 * updated Traditional Chinese translation
1017
1018 Overview of changes from GLib 2.37.7 to 2.37.92
1019 ===============================================
1020
1021 * new API g_file_measure_disk_usage() similar to du(1)
1022
1023 * minor fixes
1024
1025 * Translation updates:
1026  Assamese
1027  Belarusian
1028  Brazilian Portuguese
1029  Catalan
1030  Czech
1031  Galician
1032  German
1033  Hungarian
1034  Indonesian
1035  Italian
1036  Korean
1037  Korean
1038  Latvian
1039  Lithuanian
1040  Polish
1041  Serbian
1042  Slovenian
1043  Spanish
1044
1045 Overview of changes from GLib 2.37.6 to 2.37.7
1046 ==============================================
1047
1048 * GDateTime now supports %:z formatting variations
1049   for timezones. This is a GNU date extension.
1050
1051 * Bugs fixed:
1052  685387 Segfault with GObject.signal_handler_is_connected()...
1053  686786 g_socket_get_available_bytes() returns wrong value ...
1054  705027 GSocket GSource not threadsafe on Windows
1055  706469 Fix G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE documentation
1056  706706 Fix Gir annotations on g_loadable_icon_load_finish
1057  706888 gtype: fix a no-op assertion
1058  706958 configure.ac: fix atomic opts detection
1059  707092 "File Utilities" page for GLib documentation doesn'...
1060  707151 gdatetime: Extend the '%z' timezone format
1061
1062 * Translation updates:
1063  Catalan
1064  Hungarian
1065  Japanese
1066  Polish
1067  Slovak
1068  Tamil
1069
1070
1071 Overview of changes from GLib 2.37.5 to 2.37.6
1072 ==============================================
1073
1074 * Tests using the g_test facilities can now generate TAP output
1075
1076 * Bugs fixed:
1077  680926 generic type fallback logic is broken for -symbolic
1078  684327 setting null icon to icon list
1079  689245 GSocket unable to reuse (address,port) on Mac OS X
1080  692125 Support TAP as GTest output format
1081  693335 build: fix dtrace-related warnings
1082  696633 gdbus-codegen trips over unicode chars when using python 3.x
1083  696970 Compiling 2.36.0 for win64 fails
1084  697185 GSocket – Allow specifying the multicast interface from...
1085  700268 Add support for using the clang analyzer
1086  701318 Add G_SPAWN_DEFAULT to GSpawnFlags
1087  701529 glib/tests/gdatetime: use UTC time in test_GDateTime_diff()
1088  701800 a new approach to reporting critical errors
1089  702674 g_date_time_new_utc crash
1090  704165 GLib.IOChannel read_unichar() fails
1091  705075 Simplify g_get_tmp_dir()
1092  705152 Race in glib/task.test
1093  705398 gtype: Fix typo in g_type_class_add_private() error message
1094  705570 Check ref_count in g_object_notify_by_pspec
1095  705600 Deprecate GSimpleActionGroup functions?
1096
1097 * Updated translations:
1098  Assamese
1099  Brazilian Portuguese
1100  Czech
1101  Dutch
1102  Galician
1103  Gujarati
1104  Hebrew
1105  Italian
1106  Lithuanian
1107  Marathi
1108  Norwegian bokmål
1109  Russian
1110  Slovenian
1111  Spanish
1112  Thai
1113  Traditional Chinese
1114
1115
1116 Overview of changes from GLib 2.37.4 to 2.37.5
1117 ==============================================
1118
1119 * Implement the Desktop Action specification: In the case that the
1120   application is a GApplication and DBusActivatable, actions from the
1121   desktop file are translated into GActions that have been added to
1122   the  application with g_action_map_add_action().
1123
1124 * GPropertyAction is a new type of GAction that represents the value
1125   of a property on an object, and allows to change the value when
1126   activated.
1127
1128 * GNetworkMonitorNetlink can now handle default routes via a device.
1129
1130 * The gsettings tool now reports failure to write a key (e.g. because
1131   the key was locked down)
1132
1133 * Miscellaneous new api:
1134  - g_variant_new_printf
1135  - g_action_print_detailed_name
1136  - g_regex_get_max_lookbehind
1137
1138 * Bugs fixed:
1139  664444 Support additional application actions in .desktop files
1140  684123 glib build only tries -D_GNU_SOURCE if glibc is detected
1141  689794 support incremental matching
1142  699259 add org.freedesktop.Application support to GIO
1143  700460 rewrite tests to not rely on precise timing of timeouts
1144  701511 updates to various GSource types
1145  701609 gnetworkmonitornetlink: handle default route via device
1146  703270 add GPropertyAction
1147  704157 GAction: add function for printing detailed names
1148  704250 Doc: various fixes
1149  704267 regression gsourceclosure: segfault in gedit file chooser
1150  704322 glib-unix: fix handling of multiple signal source for the...
1151  704424 No error when failing to override a locked key
1152  704447 Fix build/use of g_child_watch_closure_callback on Windows
1153  704523 g_thread_create_full() can dereference NULL pointer
1154  704543 Add implementations for G_GNUC_*_IGNORE_DEPRECATIONS for ...
1155  704567 gdbusnameowning: Don't spew an error if we're releasing a...
1156  704585 libc printf can give mixed-case strings for NaN and Inf
1157  704587 FTBFS: statfs_result is undeclared for statvfs()
1158  704699 gmain: Reset signal handlers to default when source is
1159  704704 AI_NUMERICSERV cannot be used with ai_socktype = 0
1160  704873 inotify: don't assume mainloop is running
1161  704999 glib/convert.test crashing due to lack of iconv cache
1162  704931 GMenuModel: add annotations to virtual functions
1163
1164 * Translation updates:
1165  Assamese
1166  Czech
1167  German
1168  Gujarati
1169  Spanish
1170  Tamil
1171
1172
1173 Overview of changes from GLib 2.37.3 to 2.37.4
1174 ==============================================
1175
1176 * Bugs fixed:
1177  701283 g_source_add_child_source() segfault
1178  702147 inconsistency of G_STRFUNC
1179  703191 new private macros interact poorly with versioning macros
1180  703254 Doc: various fixes
1181  703407 g_spawn_async() keeps child_pid_report_pipe open in child process
1182  703437 GDBusConnection: be more careful with async GetAll
1183  703478 Missing G_BEGIN/END_DECLS in gsettingsschema.h
1184
1185 * Translation updates:
1186  Catalan
1187
1188 Overview of changes from GLib 2.37.2 to 2.37.3
1189 ==============================================
1190
1191 * add a new API for instance private data: G_DEFINE_TYPE_WITH_PRIVATE
1192
1193 * fix timestamps in tarball to prevent automake from being required to
1194   build the unmodified source
1195
1196 * add new D-Bus API for async property handling
1197
1198 * add back fsync() on ext4 for g_file_set_contents() after it was
1199   discovered that despite statements in the ext4 documentation
1200   suggesting that this is safe, it is not safe.
1201
1202 * Translations:
1203  Italian
1204  Norwegian bokmål
1205
1206 * Bugs fixed:
1207  698375 - D-Bus async properties
1208  700350 - timestamp issue
1209  701560 - fsync issue (fixed again)
1210  700035 - new API for instance private data
1211
1212 Overview of changes from GLib 2.37.1 to 2.37.2
1213 ==============================================
1214
1215 * The GLib test utilities have grown some file-related APIs
1216   to support tests that can be used installed and uninstalled.
1217
1218 * Installing properties after class initialization is deprecated,
1219   and will trigger a warning.
1220
1221 * GApplication:
1222  - Support org.freedesktop.Application, including D-Bus activation
1223    from desktop files
1224  - Set prgname to appid for services
1225
1226 * Bugs fixed:
1227  549783 gtester lacks framework for tests with data files
1228  692848 Fix property example in gobject tutorial
1229  698018 Add an explicit g_binding_release()
1230  698614 GObject: prevent installing properties after init
1231  699259 add org.freedesktop.Application support to GIO
1232  699959 g_file_copy(): Ensure we create private files by default
1233  700123 Test failure: g_inet_socket_address_get_scope_id
1234  700725 GIcon: NULLify the `type' out param in the sync methods too
1235  701401 gtest: add function for testing for WINE
1236  701456 Error in gnome/glib/gio/tests/file.c
1237  701474 Error building glibmm due to extra comma in glib/gtestutils.h
1238  701560 various improvements for g_file_set_contents()
1239  701680 GFileEnumerator: Add some documentation about ordering
1240  701878 Check wakeup() before iteration(TRUE) doesn't block
1241
1242 * Translations:
1243  Assamese
1244  Czech
1245  Galician
1246  Gujarati
1247  Kannada
1248  Marathi
1249  Odia
1250  Polish
1251  Slovenian
1252  Spanish
1253  Telugu
1254
1255
1256 Overview of changes from GLib 2.37.0 to 2.37.1
1257 ==============================================
1258
1259  * add support for installed tests:
1260    https://live.gnome.org/GnomeGoals/InstalledTests
1261
1262  * add a new g_test_trap_subprocess() that works on Windows as a
1263    replacement for the (now deprecated) g_test_trap_fork()
1264
1265  * support for explicitly cancelling a gobject property binding
1266
1267  * performance improvements for signal argument handling
1268
1269  * stop using `quotes' in very many log messages generated by GLib, for
1270    favour of 'this style'.  This may cause testcases in other packages
1271    to fail if they were matching on the previous text.
1272
1273  * improve manpages: add missing arguments and flags
1274
1275 Translations: 
1276  Aragonese
1277  Assamese
1278  Gujarati
1279  Hindi
1280  Kannada
1281  Norwegian bokmål
1282  Odia
1283  Slovenian
1284  Spanish
1285  Tamil
1286  Telugu
1287
1288 Bugs fixed:
1289  679683 replace g_test_trap_fork()
1290  694380 Improve signal argument collection performance
1291  695233 Strings require plural forms
1292  697849 spelling fixes in cross.xml and running.xml
1293  698877 GProxyAddressEnumerator calls g_network_address_parse_uri without port
1294  698981 [PATCH] test /gdbus/connection/large_message could hang forever
1295  699079 Prototype support for installed tests
1296  699485 [PATCH] tests/mappedfile: Also handle ENOMEM
1297  699493 SOCKS5 proxy code crashes if it cannot authenticate
1298  699500 gbitlock: fix this to not unconditionally use futex emulation
1299  699779 [PATCH] G_GNUC_FORMAT: documentation error
1300  700263 m4macros/glib-gettext.m4: Don't use AC_HEADER_STDC
1301  700714 [PATCH] gtestutils: Ensure test subprocesses don't dump core
1302  700746 Use 'dumb quotes' rather than `really dumb quotes'
1303
1304 Overview of changes fron GLib 2.36.0 to 2.37.0
1305 ==============================================
1306
1307 * The syntax for detailed action names has been documented,
1308   and a parser API for them is now provided
1309
1310 * GApplication has gained a busy state. This feature is intended for
1311   clients that want to signal a desktop shell their busy state, for
1312   instance because a long-running operation is pending.
1313
1314 * GLib can now be built with the bionic C library
1315
1316 * GIcon can now be serialized to a GVariant
1317
1318 * Bugs fixed:
1319  548353 Finish implementing GFile interface (mostly asynchron...
1320  645881 Full port of glib-2.28.1 onto Android-ARM
1321  665445 Glib mistakes nl_langinfo() from plibc for the real t...
1322  672018 Need API to set global application state (busy, count...
1323  687659 drop support for adding interfaces after class_init
1324  688820 GIcon is a bad interface
1325  688954 extend 'detailed action' syntax, provide parser
1326  689223 Fix compilation on Android with the bionic C library
1327  695156 Add support for arg0namespace matching in signal_subs...
1328  696108 gdbus-codegen: avoid warnings in generated code
1329  696629 fix sed(1) usage
1330  696652 GTask won't free its error member variable on finalize
1331  696857 GThreadedResolver: set an error if no records could b...
1332  696973 Compiling 2.36.0 for win64 fails in gdbusmessage.c
1333  697131 No --version
1334  697160 [PATCH] gmacros: Mark G_UNAVAILABLE() functions as de...
1335  697229 Custom Interface implementations will be broken with ...
1336  697250 Documentation glitch of G_DEFINE_TYPE_EXTENDED causes...
1337  697365 Fix usage of hasmntopt in gunixmounts.c
1338  697367 Remove warning on gio/gunixmounts.c
1339  697386 Except const argument with atomic is not lock free
1340  697595 g_main_context_unref unlocks a mutex twice
1341  697601 reduce GMenuModel D-Bus traffic
1342  697626 Allow posix threads to be used on w32
1343  697652 Help options generated even when help disabled
1344  697771 fix a typo of "fo" to "of" in building.xml
1345  697887 GVariant: fix transfer annotation
1346  697942 abicheck.sh fails on mips
1347  698056 rewrite g_object_new()
1348  698081 Pidgin hangs in g_spawn_command_line_sync
1349  698455 GVariant: add new g_variant_new_take_string() API
1350  698457 g_variant_get_data_as_bytes() always returns toplevel...
1351  698478 gactionmap: don't require GActionGroup
1352  698595 the valgrind/priv-before-instance bug
1353  698655 desktop-app-info test relies on true being in /usr/bin/
1354  698686 GUnixSocketAddress: fix construct parameter issue
1355  698716 Use of g_mem_set_vtable() breaks after gobject automa...
1356  698999 bytesicon: fix a memory leak
1357  699001 bytesicon: don't use g_object_unref() on GBytes
1358  699361 gio: fix small leak
1359
1360 * Translation updates:
1361  Assamese
1362  Gujarati
1363  Hungarian
1364  Italian
1365  Kannada
1366  Norwegian bokmål
1367  Polish
1368  Spanish
1369  Tamil
1370
1371
1372 Overview of changes fron GLib 2.35.9 to 2.36.0
1373 ==============================================
1374
1375 This release contains only small bugfixes and translations updates.
1376
1377  - g_file_copy(): fix bug where attributes were not applied properly to
1378    the destination file
1379
1380  - fix some 'available since' annotations
1381
1382  - fix gdbus-codegen to produce more pedantically-correct code
1383
1384 * Bugs fixed:
1385  696108 gdbus-codegen: avoid warnings in generated code
1386  696014 g_file_copy(): Ensure G_FILE_COPY_OVERWRITE preserves permissions
1387
1388 * Translations updated:
1389  Basque
1390  Czech
1391  Gujarati
1392  Hindi
1393  Hungarian
1394  Japanese
1395  Malayalam
1396  Marathi
1397  Odia
1398  Punjabi
1399  Russian
1400  Tadjik
1401  Tamil
1402  Telugu
1403
1404 Overview of changes from GLib 2.35.8 to 2.35.9
1405 ==============================================
1406
1407 This release drops the old codepage ABI from gutils.c. This is a
1408 source-compatible change and only breaks ABI with respect to truly
1409 ancient binaries (and those binaries are already broken for other
1410 reasons).  This change only affects Windows.
1411
1412 * Bugs fixed:
1413  682896 glib doesn't build on mingw32
1414  693204 split up g_get_{hostname,username,realname,home_dir} etc.
1415  694181 Handle GNetworkAddress better in g_network_monitor_base_...
1416  694253 occasional /gdbus/unref-pending test failure
1417  694350 Add type names to gsignal warnings
1418  694757 Use separate GLIB_WARN_CFLAGS that can be overridden ext...
1419  568405 Which is the correct replacement for g_strncasecmp, if...
1420  630284 g_hash_table_get_keys docs
1421  659428 docs: Small clean-up of howto subsection headers
1422  675333 Cannot forget association in Open With dialog: program...
1423  694669 consider unicode corrigendum #9
1424  694843 g_base64_decode_step () produces invalid data
1425  695147 Don't use PATH_MAX as it's not guaranteed to be defined
1426  695191 Commit f641699 broke /appinfo/mime/api test case
1427  695339 Swapped msgid plural forms for translation
1428  695376 GDBusMethodInvocation leak and potential crash
1429  695425 Untranslatable message in gsettings-tool
1430  695887 Improvements to GObject API documentation
1431  695925 GUINT32/64_SWAP_LE_BE macros do not enclose val argume...
1432  696015 PATCH Add doc warning to g_base64_decode()
1433
1434 * Translation updates:
1435  Assamese
1436  Belarusian
1437  Brazilian Portuguese
1438  Catalan
1439  Catalan (Valencian)
1440  Danish
1441  French
1442  Galician
1443  German
1444  Greek
1445  Gujarati
1446  Italian
1447  Korean
1448  Latvian
1449  Lithuanian
1450  Polish
1451  Portuguese
1452  Punjabi
1453  Serbian
1454  Simplified Chinese
1455  Slovak
1456  Slovenian
1457  Spanish
1458  Thai
1459  Traditional Chinese
1460  Uyghur
1461  Vietnamese
1462
1463
1464 Overview of changes from GLib 2.35.7 to 2.35.8
1465 ==============================================
1466
1467 This release contains one major change that may cause problems: type
1468 modules are now never unloaded.  This is implemented by (effectively)
1469 leaking the last reference on dynamic types.  Some testcases that check
1470 for unloading of types have been observed to be broken by this change,
1471 but we know of no actual cases of "real code" breaking.  Please report
1472 any problems.
1473
1474 Other changes:
1475  * A couple of build fixes for Solaris
1476  * Fix signal emission for GDBusObjectManagerClient
1477  * annotations fixes
1478  * new API: g_dbus_address_escape_value()
1479  * GSocketClient: add proxy-resolver property
1480  * GSimpleProxyResolver: new simple GProxyResolver class
1481  * documentation fixes
1482  * gnetworkaddress: preserve IPv6 scope ID in IP literals
1483
1484 Bugs fixed:
1485  691105 Allow GSocketClient to override GProxyResolver for per client proxy settings.
1486  692827 configure test fails for arpa_nameser.h
1487  692829 new Btrfs support causes build failure on Solaris
1488  693285 GDBusObjectManagerClient: won't emit object-added|removed if name-owner arrives later
1489  693502 Cross-compiling documentation: typo (np -> no)
1490  693673 add g_dbus_address_escape_value()
1491  693694 gio: Fix annotations on g_[async_]initable_new() and friends 
1492
1493 Translations:
1494  Dutch
1495  Galician
1496  Polish
1497  Serbian
1498
1499 Overview of changes from GLib 2.35.6 to 2.35.7
1500 ==============================================
1501
1502 This is a quick follow-up release with a few bug fixes.
1503
1504 * Fix the build on systems with strict linkers by adding -pthread back
1505   to the LDFLAGS for a testcase.
1506
1507 * Re-enable native atomic operations on some buggy versions of clang
1508   that ship as part of the MacOS X SDK.
1509
1510 * Make G_IO_FLAG_IS_WRITEABLE an enum again (the #define broke bindings)
1511
1512 * a small docs fix
1513
1514 * Bugs fixed:
1515  657045
1516  636683
1517  682818
1518  693105
1519
1520 * Translations:
1521  Italian
1522
1523 Overview of changes from GLib 2.35.4 to 2.35.6
1524 ==============================================
1525
1526 * GUnixFdSource is a new way to add file descriptors
1527   to the mainloop
1528
1529 * g_source_set_ready_time lets you mark a source to become
1530   ready at a specified monotonic time
1531
1532 * The internal visibility handling of GLib has been reworked
1533
1534 * GFileMonitor will now automatically use fam instead of inotify
1535   if $HOME is on NFS
1536
1537 * The file monitor implementation can now be overridden with
1538   the GIO_USE_FILE_MONITOR environment variable
1539
1540 * Bugs fixed:
1541  570572 2 make check errors on
1542  592211 No monitoring over NFS mounts
1543  625552 wrong behaviour of GVolume GVolumeMonitor related func...
1544  657729 modernise GMainLoop
1545  658020 GSource for a single GPollFD
1546  678223 g_mutex_free
1547  682560 leak fixes
1548  682819 EINTR-harden all the things
1549  684404 When using g_network_address_address_enumerator_next()...
1550  686853 new GSource fd API
1551  688169 G_DISABLE_DEPRECATED doesn't cover deprecated/gthread....
1552  688681 build: Make .symbols file canonical on all platforms
1553  690118 Crash when closing last tab of a window using Ctrl-w
1554  691624 glib/gtester.c: missing include
1555  691812 gioinputstream - give task as callback_data not task_data
1556  691866 fails out of source build directory - gnetwork.h not f...
1557  692029 Add new API checking utility
1558  692034 Install an invalidation notifier for GClosure in g_sou...
1559  692058 Broken makefile for gio tests
1560  692079 build failure in gmarkup.c when using gcc 4.8 and buil...
1561  692201 inotify: fix a memleak
1562  692202 gfile: don't report completion twice on g_file_load_co...
1563  692229 Incorrect string formatters in a translation string
1564  692332 GNetworkMonitorNetlink: make the netlink socket cloexec
1565  692360 possibly non-threadsafe code in g_content_type_guess()?
1566  692404 tester: Use FD_CLOEXEC when creating pipes
1567  692408 nautilus SIGSEGV in g_file_info_get_size()
1568  692544 [PATCH] gfile: Ensure we create internal pipe with FD_C...
1569  692583 atomic get doesn't accept a const argument on architect...
1570  692618 Use g_timeout_add_seconds
1571  692815 Using g_hash_table_insert() when using a hash table as ...
1572  692865 Invalid docbook generated by gdbus-codegen
1573  692928 Document G_MENU_{ATTRIBUTE,LINK}_*
1574
1575 * Translation updates:
1576  Hebrew
1577  Kannada
1578  Lithuanian
1579  Norwegian bokmål
1580  Polish
1581  Serbian
1582  Slovenian
1583  Spanish
1584  Uyghur
1585
1586
1587 Overview of changes from GLib 2.35.3 to 2.35.4
1588 ==============================================
1589
1590 * New features:
1591  - New API: g_get_num_processors
1592  - New API: g_application_command_line_get_stdin
1593  - New GFileMonitor flag: G_FILE_MONITOR_WATCH_HARD_LINKS
1594  - Parse more timezone offset formats
1595  - Better timezone support on Windows
1596  - Make GParamSpec constructors introspectable
1597
1598 * Removed or deprecated features:
1599  - Disallow adding interfaces after class_init
1600
1601 * Bug fixes:
1602  532815 gio + inotify support for hardlinks
1603  614930 add g_get_num_processors (), return the max concurrent...
1604  626497 Btrfs clone/reflink ioctl support in g_local_file_copy
1605  633117 glib fails stests if /etc/localtime is not properly set
1606  661767 merge/improve various bits of run-in-thread functionality
1607  668210 Add g_application_command_line_get_stdin()
1608  675856 Use GDbus via gobject-introspection instead dbus-python
1609  684103 make glib work with python3
1610  684723 run-assert-msg-test.sh fails
1611  686058 OpenBSD: disable ipv6_v4mapped test
1612  686128 GTimeZone should be able to parse POSIX format for...
1613  687223 cleverer GThreadPool management
1614  687659 drop support for adding interfaces after class_init
1615  687920 GCredentials should have an accessor for the process ID
1616  688681 build: Make .symbols file canonical on all platforms
1617  688829 Variable overflow in utils.c test on 32-bit machine
1618  689324 Variable scoping in gunixmounts.c
1619  689810 Include guard optimization
1620  690043 Broken link for gsettings tutorial: gnome-utils in...
1621  690084 gmarkup: Make GMarkupParseContext a boxed type
1622  690388 Check if CMSG_FIRSTHDR() returns NULL when there is...
1623  690538 gschema DTD is invalid
1624  690543 Add test coverage for testing in-tree DBus services...
1625  690670 local_command_line not introspectable/annotated
1626  690902 G_END_DECLS needs to be at the end of gutils.h
1627  690970 Unhelpful deprecation message for g_value_array_get_nth
1628  691001 building docs is broken on master branch
1629  691011 Automake-1.13 errors on obsolete AM_PROG_CC_STDC
1630  691077 gio-querymodules crashes with SIGSEGV
1631  691110 g_cond_wait() docs incomplete
1632  691489 Crash in Oscars 2013 page
1633  691558 Only check for .hidden files if standard::is-hidden...
1634  691608 Support compilation with clang 3.2
1635
1636 * Translation updates:
1637  Assamese
1638  Bulgarian
1639  Estonian
1640  Galician
1641  Greek
1642  Hebrew
1643  Norwegian bokmål
1644  Polish
1645  Slovak
1646  Slovenian
1647  Spanish
1648  Tamil
1649
1650
1651 Overview of changes from GLib 2.35.2 to 2.35.3
1652 ==============================================
1653
1654 * This release contains an incompatible change to the g_get_home_dir()
1655  function. Previously, this function would effectively ignore the HOME
1656  environment variable and always return the value from /etc/password.
1657  As of this version, the HOME variable is used if it is set and the
1658  value from /etc/passwd is only used as a fallback.
1659
1660 * We now install a public "gnetworking.h" header that can be used to
1661  include the relevant OS-dependent networking headers. This does not
1662  really abstract away unix-vs-windows however; error codes, in
1663  particular, are incompatible.
1664
1665 * Bugs fixed in this release:
1666  142568 Allow $HOME to override passwd entry if the user really wants
1667  587806 The file selector should honor .hidden files
1668  602715 [GChecksum] Please add support for SHA512
1669  623187 provide some support for arbitrary setsockopt()s?
1670  629301 .goutputstream files left behind when cancelling I/O
1671  652650 Optimize GDBusMessage serialization
1672  664627 /gapplication/basic test intermittently fails: cmdline re-or...
1673  675516 Win32: Don't start a DBus server when built as static library
1674  679683 replace g_test_trap_fork()
1675  684145 Current Git sources fails to cross-compile for Windows in Li...
1676  686895 file-info: catch thumbnail files in large directory as well
1677  687092 IPv6 <-> IPv4 mismatch when subscribing to multicast (send)
1678  688180 GObject: Minor error in description of floating reference
1679  688319 gthread: add missing AVAILABLE_IN_2_32 annotations
1680  688377 configure: add missing square bracket in AS_IF for memmove
1681  688419 gtask: source_object arguments and return values not annota...
1682  688497 AppInfo: Add sufficient api to port gnome-session from Egg...
1683  688681 build: Make .symbols file canonical on all platforms
1684  688704 Add boxed GType for GThread
1685  688886 Improve the i18n documentation
1686  688931 GMemoryOutputStream: Add new _resizable() constructor usab...
1687  689037 need helper for creating a GFile from a remote commandline...
1688  689377 Fix a compiler warning in GDBus
1689  689538 Source object tag set too late in gsocketlistener
1690  689800 Treat lost+found directory as a hidden file
1691  689847 Add fast repeated typename -> GType resolver
1692  689982 Make GChecksum more fully introspectable
1693  690069 g_unix_open_pipe: Add missing F_SETFD
1694  690083 gfileenumerator: Add a g_file_enumerator_get_child method
1695  690163 Add a pre-configured gio/gnetworking.h for Visual C++ builds
1696  690346 Remove an unneeded escaping in NAMESER_COMPAT_INCLUDE
1697  690348 Fix g_type_add_class_private() name in g_warning
1698
1699 * Translation updates:
1700  Assamese
1701  Galician
1702  Hebrew
1703  Hindi
1704  Kannada
1705  Odia
1706  Polish
1707  Spanish
1708
1709
1710 Overview of changes from GLib 2.35.1 to 2.35.2
1711 ==============================================
1712
1713 Note that the incompatible change to the ->constructed() vfunc that was
1714 made in the last unstable release (2.35.1) has been reverted due to
1715 causing regressions in applications.
1716
1717 A new incompatible change has been introduced in this version: it is no
1718 longer permitted to add interfaces to a class after the first
1719 instantiation (or more strictly: after g_type_class_ref()).  Bug #687659
1720 is tracking this.
1721
1722 Two private symbols (g_menu_{attribute,link}_hash_iter_get_type) which
1723 were accidentally exported have also been properly hidden.  This may
1724 cause some tools to issue warnings about ABI mismatch.
1725
1726 The remaining changes should be relatively harmless: 
1727
1728  * GIO now has kqueue support for GFileMonitor (BSDs, Mac OS)
1729
1730  * New g_variant_new_from_bytes() API
1731
1732  * UNIX signal sources now allow watching SIGUSR1 and SIGUSR2
1733
1734  * Many pedantic cleanups to adhere to a higher level of -W use
1735
1736  * GTask changes to avoid a deadlock
1737
1738  * many cleanups/fixes for Windows
1739
1740  * Boxing for GPollFD, GIOChannel, GBytes, GByteArray
1741
1742  * Fix URL-encoding of trashed files
1743
1744  * Many other docs and annotations fixes
1745
1746 Translations:
1747
1748  Galician
1749  Gujarati
1750  Lithuanian
1751  Serbian
1752  Slovak
1753  Slovenian
1754
1755 Bugs closed:
1756
1757  649302 Add support for GNU/FreeBSD
1758  668842 [GSocket] Add caching for the sender address in g_socket_receive_from()
1759  672924 Add annotations for g_filename_from_uri()
1760  673229 glib: Use Returns:, not @returns
1761  677062 (partial) GVariant: Make g_variant_new_from_bytes() public, add more GBytes API
1762  686185 g_date_time_format Transcoding Fails on OSX      
1763  686191 g_mutex_get_impl() should use g_atomic_pointer_get()
1764  686797 Box GPollFD to make it introspectable
1765  686810 [regression] Infinite wait in g_task_run_in_thread_sync()
1766  686822 possible dlopen()/dlclose() issue with automatic g_type_init()
1767  686839 mkinstalldirs: Move to glib-mkinstalldirs
1768  686895 file-info: catch thumbnail files in large directory as well
1769  686898 g_unix_signal_source_new: Allow SIGUSR1 and SIGUSR2
1770  686920 gdbus: Allow GDBusObjectManagerClient to work on peer connections
1771  686921 Remove some of the repetition from gio/tests/Makefile.am
1772  687075 g_spawn_sync diagnostic incorrectly complains about SIGCHLD
1773  687089 g_dbus_connection_export_menu_model(): fix a crash
1774  687098 Repeated g_timeout_add* use can lead to guint overflow
1775  687385 Add some stricter CFLAGS, fix up the code
1776  687441 ABI break in master: g_menu_attribute_hash_iter_get_type, g_menu_link_hash_iter_get_type removed
1777  687516 typo in string: KB should be kB
1778  687540 In Trash folder, Nautilus misinterprets "\n" in filename as a line break
1779  687541 GSignalQuery param_types field needs array annotation
1780  687600 gfileutils.c performs invalid cast of (varargs) open to non-vararg type
1781  687698 plural forms needed
1782  687700 ending spaces
1783  687742 Add support for internal linkage to glib-compile-resources
1784  687801 tests/buffered-input-stream: Fix size of parameter passed
1785  688109 win32 warning/error fixes
1786  688255 'make check' regressed in 138f4c1 because GMarkup error messages changed
1787  688338 [PATCH] gobject/gtype.c: Fix spelling of »exceed«
1788  688370 GDBusError documentation improvement for client-side
1789  688378 g_socket_join_multicast_group not working
1790  688518 gio-kqueue: use O_EVTONLY on MacOS
1791
1792
1793
1794 Overview of changes from GLib 2.34.0 to 2.35.1
1795 ==============================================
1796
1797 These two changes in particular may be slightly incompatible.  Please
1798 give feedback if they cause trouble:
1799
1800   * Signal handlers connected with g_signal_connect_object() are now
1801     automatically disconnected on target object destruction
1802
1803   * The ->constructed vfunc is now called after all properties are set
1804
1805 The remaining changes should not cause problems.
1806
1807   * g_type_init() is no longer necessary and has been deprecated
1808
1809   * GTask (the new GAsyncResult implementation) has landed 
1810
1811   * GLib version macros updated
1812
1813   * Update to Unicode 6.2
1814
1815   * Thread safety fixes for GFileMonitor in non-default main contexts
1816
1817   * GTimeZone support for old-format zoneinfo database (as on Mac OS)
1818
1819   * g_settings_bind() now works with non-canonical property names
1820
1821   * Fix crashes related to NULL connection passed to
1822     GBusNameVanishedCallback and document this situation
1823
1824 * Bugs fixed:
1825  118536 Make g_signal_connect_object'ed handlers disconnect when the data object is destroyed
1826  661767 merge/improve various bits of run-in-thread functionality
1827  682950 GFileMonitor crashing on high event count when running in different thread
1828  683642 Missing g_content_type_get_symbolic_icon
1829  684882 Gsettings should spaw a warning when binding against a low_underscored_property
1830  684909 codegen: Explicitly close output
1831  684912 Update to Unicode 6.2
1832  685037 g_strcmp0: Returns shall include values less and greater than zero
1833  685069 Leak in glib-compile-resources
1834  685208 missing g_return_if_fail
1835  685608 [Patch] Port gio tests from pygobject to pygi
1836  685697 Documentation typo in g_dbus_interface_skeleton_has_connection()
1837  685733 Call ->constructed() after all properties are set
1838  685787 gtestdbus: correct documentation typos
1839  685995 Crash in g_menu_exporter_name_vanished
1840  686091 Invalid reads in g_bytes_unref_to_data
1841  686119 dtrace, gobject_probes.d, the last three probes - semicolon missing
1842  686161 Deprecate g_type_init()
1843  686231 GBusNameVanishedCallback: document NULL connection
1844  686458 slightly increase poll duration in test_timed_wait 
1845
1846 * Translations updated
1847   Catalan (Valencian)
1848   Czech
1849   Danish
1850   Italian
1851   Lithuanian
1852   Norwegian bokmål
1853   Slovenian
1854
1855 Overview of changes from GLib 2.33.14 to 2.34.0
1856 ===============================================
1857
1858 * Bug fixes:
1859  654239 g_type_init()'s docs have no statement about how to...
1860  674620 Update GSettings migration guide for intltool updates
1861  676034 Fix doc annotation for g_ptr_array_ref()
1862  684278 Fix GIO build on Windows
1863
1864 * Translation updates:
1865  Brazilian Portuguese
1866  British English
1867  Bulgarian
1868  Catalan
1869  Galician
1870  German
1871  Hebrew
1872  Hindi
1873  Hungarian
1874  Kannada
1875  Latvian
1876  Marathi
1877  Spanish
1878  Telugu
1879
1880
1881 Overview of changes from GLib 2.33.12 to 2.33.14
1882 ================================================
1883
1884  * CVE-2012-3524: don't run dbus-launch from setuid binaries
1885
1886  * g_content_type_get_generic_icon_name():
1887      new API for getting the icon name for a mime type
1888
1889  * Introspection fixes:
1890   - GDBusConnection nullability fixes
1891   - give a box type to GTimeZone
1892
1893  * Drop GVFS_INOTIFY_DIAG
1894
1895  * Add a new "Writing GLib Applications" section to the reference
1896    documentation with general info on security, threads, etc.
1897
1898  * gwin32mount.c: Fix syntax error
1899
1900  * gresource tests: srcdir != builddir fixes
1901
1902  * tests/gvariant: Fix test on big endian architectures
1903
1904  * Fix regression in g_shell_parse_argv()
1905
1906 Bugs fixed:
1907  562907 g_shell_parse_argv() mishandles # (hash)
1908  683167 g_time_zone_new not introspectable
1909  683384 /gvariant/checksum-basic failure on big endian machines
1910  683641 Typo in gwin32mount.c
1911  683744 have a way to get the generic icon name for a mime type
1912
1913 Translation updates:
1914  Assamese
1915  Belarusian
1916  British English
1917  Czech
1918  Danish
1919  French
1920  Galician
1921  German
1922  Greek
1923  Hebrew
1924  Indonesian
1925  Indonesian
1926  Korean
1927  Lithuanian
1928  Marathi
1929  Marathi
1930  Polish
1931  Portuguese
1932  Punjabi
1933  Russian
1934  Serbian
1935  Slovenian
1936  Traditional Chinese
1937
1938 Overview of changes from GLib 2.33.10 to 2.33.12
1939 ================================================
1940
1941 * Add a G_DEFINE_QUARK macro
1942
1943 * Add symbolic icon support to drive, volume, and mount, file
1944   and content types
1945
1946 * Add API to allow thread-safe access to the same qdata item
1947
1948 * Bugs fixed:
1949  562907 g_shell_parse_argv() mishandles # (hash)
1950  627240 add G_DEFINE_QUARK
1951  672329 memory leaks in gutils.c and glib tests
1952  673012 Stable byte-level specification for normal form
1953  674805 gdbusproxy async test is broken
1954  679835 gvariant format string parsing (and assertions)...
1955  682075 gdbus: Fix double free and use after free of ob...
1956  682101 Provide a way to get a symbolic icon for a device
1957  682222 test_method_calls_on_proxy: assertion failed (e...
1958  682284 mount-op: use gint64 instead of guint64 for tim...
1959  682386 "make check" fails due to sys/resource.h not be...
1960  682560 leak fixes
1961  682586 gsettings-tool: make list-recursively really re...
1962  682819 EINTR-harden all the things
1963  682833 Handle EINTR for open()
1964  682849 drop the global lock for g_object_weak_ref
1965  682965 gdbus-tool: Check return value of strrchr()
1966  683088 gdbus-codegen: fix error when wrong interface n...
1967         Fix the build with gtk-doc-stub
1968         Don't crash if set_app_info is called before ad...
1969
1970 * Translation updates
1971  Assamese
1972  Galician
1973  Greek
1974  Indonesian
1975  Japanese
1976  Latvian
1977  Lithuanian
1978  Norwegian bokmål
1979  Polish
1980  Portuguese
1981  Punjabi
1982  Russian
1983  Spanish
1984  Traditional Chinese
1985  Vietnamese
1986
1987
1988 Overview of changes from GLib 2.33.8 to 2.33.10
1989 ===============================================
1990
1991 * New GTest API for testcases where log output is expected:
1992   g_test_expect_message()
1993
1994 * GMenuItem now has 'get' accessors and a construct-from-GMenuModel API
1995
1996 * GVariant now has a function to check a format-string for type
1997   compatibility
1998
1999 * win32: We now use overlapped IO to support multiple asynchronous
2000   operations (ie: reading and writing) at the same time.
2001
2002 * GMappedFile: Add g_mapped_file_get_bytes()
2003
2004 * The problems with g_file_make_directory_with_parents() should be
2005   resolved.
2006
2007 * The long-standing issues with placeholder generation of manpages are
2008   now resolved.
2009
2010 * gtlscertificate: Add GBytes based certificate and private-key props
2011
2012 * build: Switch back to using AS_IF for conditionals
2013
2014 * test coverage improvements, documentation improvements, leak fixes
2015
2016 * Bugs fixed
2017  326931 Better docs for G_GNUC_*
2018  550433 g_test_init doesn't recognize --help
2019  600751 GCompletion should better document if and how items memory is managed
2020  628193 Miscellaneous string fixes
2021  637460 man glib-genmarshal is hard to use
2022  674483 broken configure results when cross-compiling with gcc >= 4.5
2023  677065 GMappedFile: Add g_mapped_file_get_bytes()
2024  679288 win32: use overlapped events for streams
2025  679556 it's hard to use gtest when g_warning() is expected
2026  680823 g_file_make_directory_with_parents: Fix error propagation
2027  681319 gtlscertificate: Add certificate-bytes and private-key-bytes props
2028  681336 man pages not built if --enable-gtk-doc not specified
2029  681413 build: Switch back to using AS_IF for conditionals
2030  681501 gmem: array only partially filled with memcpy
2031  681854 Documentation fix for Howto compile a program with glib
2032  682025 Documentation correction
2033  682067 Fix problems with CLEANFILES and automake-1.11.1 
2034
2035 * Translations updated:
2036  Lithuanian
2037  Spanish
2038  Galician
2039  Telugu
2040  Serbian
2041  Assamese
2042  Marathi
2043  Indonesian
2044  Traditional Chinese
2045
2046 Overview of changes from GLib 2.33.6 to 2.33.8
2047 ==============================================
2048
2049 * GIO now has a g_file_delete_async function
2050
2051 * The defaults for GThreadPools max_unused_threads
2052   and max_idle_time values have been changed to
2053   2 and 15*1000, respectively.
2054
2055 * Bugs fixed:
2056  661767 merge/improve various bits of run-in-thread functionality
2057  680074 undefined symbol "get_C_locale"
2058  680121 g_cancellable_source_new: don't use a file descriptor
2059  680148 gthread: check for definition of PR_SET_NAME
2060  680310 Sorting of access points by strengh not working
2061  680704 g_utf8_strup() crash
2062  68076a0 GFile: Add g_file_delete_async()
2063  680787 Add .dir-locals.el to tell Emacs users not to use tabs...
2064  680823 g_file_make_directory_with_parents: Fix error propagation
2065  680994 STATIC_ASSERT in GDBusError docs don't have much utility
2066  681116 gtlscertificate: Add g_tls_certificate_equal() function
2067  681118 gtlsdatabase: Don't complain if no callbacks for async...
2068  669331 try to get gio tests working a little better on win32
2069  674314 Make gtk-doc not a hard dependency of GLib
2070  674800 gclosure: generic marshaller leaks return value
2071  675524 gsocket: FIONREAD undeclared (needs sys/filio.h)
2072  679509 use after free in g_dbus_action_group_describe_all_done()
2073  679996 gobject docs minor cleanup
2074  680459 Extra newline char in local implementation of g_applic...
2075  680505 object_path memory leak in gdbusobjectproxy.c
2076  680831 Deprecate and remove g_slice_[sg]et_config.*
2077  680912 gchecksum: Add g_compute_checksum_for_bytes()
2078  681151 checksum: Use functions instead of macros when buildin...
2079  681158 gtlscertificate: Don't confuse certificate and public ...
2080
2081 * Translation updates:
2082  Galician
2083  German
2084  Gujarati
2085  Hebrew
2086  Norwegian bokmål
2087  Serbian
2088  Slovenian
2089
2090
2091 Overview of changes from GLib 2.33.4 to 2.33.6
2092 ==============================================
2093
2094 * GAsyncInitable: partially revert the init_finish changes,
2095   some applications were found to rely on behaviour that
2096   was broken by these changes
2097
2098 * Bugs fixed:
2099  679617 win32: fix g_get_environ()
2100  679968 Add some annotations to GBytes, GVariantType...
2101  680111 GIOScheduler assumes GCancellable "cancelled...
2102
2103 * Translation updates:
2104  Spanish
2105
2106 Overview of changes from GLib 2.33.3 to 2.33.4
2107 ==============================================
2108
2109 * GMainContext: the source list has been reorganzied to
2110   avoid O(n) behaviour
2111
2112 * GRegex: Update included PCRE to 8.31 and expose new
2113   functionality in 8.x versions of PCRE
2114
2115 * GMountOperation gained a ::show-unmount-progress signal
2116   which provides information about slow unmount operations
2117
2118 * Bugs fixed:
2119  616892 gio: Add a boxed type for GFileAttributeMatcher
2120  619329 g_source_attach() O(n) in number of sources
2121  639771 g_dir_read_name() can also return NULL on error
2122  661767 merge/improve various bits of run-in-thread fun...
2123  667375 GAsyncInitable subclassing (and async subclassi...
2124  671545 Constify collect and lcopy strings in GTypeValu...
2125  674452 SEGFAULT in gio contenttype test
2126  674898 Deal with GLIB_VERSION_MIN_REQUIRED/MAX_ALLOWED...
2127  675504 Fix up GObject interface documentation
2128  677064 GString: Tweak documentation, add g_string_free...
2129  677578 error in PCRE error code conversion
2130  677579 update GRegexError for newer PCRE error codes
2131  678066 gdbus codegen does not work with python3
2132  678273 unicode othercasing is wrong in gregex
2133  678576 GIOScheduler performance enhancements
2134  678758 GTlsInteraction unlocks an unlocked mutex
2135  678808 GTestDBus issues
2136  678881 Test failures in /socket/timed_wait in some cas...
2137  678941 /contenttype/guess test case failure
2138  678944 gio returns the wrong default applications for ...
2139  678949 wrong definition of ulong_bool for 64 bit big e...
2140  678959 /mainloop/timeouts race condition: assertion fa...
2141  679193 update included pcre to 8.31
2142  679258 The 'Since' tag for G_SOURCE_CONTINUE and G_SOU...
2143  679473 Don't generate invalid property names
2144  679691 Add g_spawn_check_exit_status()
2145  679671 GDBusNodeInfo: the XML string must contain exac...
2146  676111 mount-operation: add show-unmount-progress signal
2147  679691 win32: fix build g_spawn_check_exit_status() wi...
2148  679813 Documentation bug on http://developer.gnome.org...
2149
2150 * Translation updates:
2151  Assamese
2152  Belarusian
2153  Bulgarian
2154  Galician
2155  Greek
2156  Norwegian bokmål
2157  Polish
2158  Spanish
2159  Traditional Chinese
2160  Vietnamese
2161
2162
2163 Overview of changes from GLib 2.33.2 to 2.33.3
2164 ==============================================
2165
2166 This release contains mostly bugfixes, cleanups and performance
2167 improvements (including many fixes contributed by Colin on the advice of
2168 Coverity).  There are a few notable externally-visible changes:
2169
2170 * Thumbnails are now in XDG_CACHE_HOME
2171
2172 * new GDBus API: per-thread g_dbus_connection_get_last_serial()
2173
2174 * GUnixOutputStream now has a can_poll() implementation
2175
2176 * New deep copy APIs for G(S)List: g_(s)list_copy_deep
2177
2178 * Bugs fixed:
2179  518309 Incorrect data*dir path in glib-gettextize output
2180  566994 Safer passing of -framework flag
2181  672889 GLib.utf8_validate does segfault
2182  673253 Not strict enough autconf test for libelf
2183  675024 adds g_list_copy_deep() and g_slist_copy_deep
2184  675168 prepare for thumbnails to move to XDG_CACHE_HOME
2185  675966 gresolver: More robust parsing of DNS responses
2186  676594 [Patch] fix g_reload_user_special_dirs_cache
2187  676825 Implement g_dbus_connection_get_last_serial ()
2188  677235 Clarify the comment at the top of gmarshal.list
2189  677527 OS X: gthread/spawn-async selftest failure
2190  677718 GDBusProxy: treat org.freedesktop.systemd1.Masked error as non-fatal
2191  677770 GUnixOutputStream does not implement can_poll
2192  677782 Install bash completion files in /usr/share
2193  677817 g_key_file_to_data adds extra blank lines in some cases
2194  677952 Missing annotation for GDBusConnection signal "closed"
2195  678052 g_wakeup_acknowledge is called too often.
2196  678273 unicode othercasing is wrong in gregex
2197  678333 gdbus-codegen code causes warnings under -Wfloat-equal
2198
2199 * Translations updated:
2200  Arabic
2201  Assamese
2202  Galecian
2203  Greek
2204  Spanish
2205  Telugu
2206
2207 Overview of changes from GLib 2.33.1 to 2.33.2
2208 ==============================================
2209
2210 * GLIB_VERSION_MIN_REQUIRED now defaults to the current stable version
2211
2212 * GIO input and output stream classes have grown GBytes-based methods
2213
2214 * GApplication now has hooks to register D-Bus objects before the bus
2215   name is taken
2216
2217 * Bugs fixed:
2218  605976 add g_type_ensure(), to ensure that a type has...
2219  660851 Breakage of code due to changes in the GThread...
2220  666386 Empathy doesn't open Redirect URI with particu...
2221  671139 need (transfer async) for io stream buffers
2222  672329 memory leaks in gutils.c and glib tests
2223  672548 g_utf8_validate: @str shouldn't end up annotat...
2224  674111 Provide an accessor for MimeType desktop entry...
2225  674483 broken configure results when cross-compiling ...
2226  674634 Add g_clear_pointer()
2227  674777 What's the (transfer) of g_variant_lookup()?
2228  675309 gkeyfile: Fix annotations for g_key_file_load_...
2229  675446 gfile: Plug memory leak in g_file_make_directo...
2230  675509 add extra dbus hooks
2231  675832 Incomplete gsettings bash auto-completion
2232  676208 The tmpl parameter to g_file_new_tmp can be NULL
2233  676265 GNetworkMonitor leaks a lot of memory
2234  676277 Document that g_app_info_create_from_commandli...
2235  676397 g_environ_* should work with NULL envp
2236  676398 g_spawn_* should take PATH from the passed env...
2237  676478 Broken gzip decoding
2238  676594 [Patch] fix g_reload_user_special_dirs_cache
2239  676816 Add more GLIB_AVAILABLE_IN_*
2240  676937 Document notify signal deduplication with free...
2241
2242 * Translation updates:
2243  Czech
2244  French
2245  German
2246  Greek
2247  Japanese
2248  Russian
2249  Slovenian
2250  Spanish
2251
2252
2253 Overview of changes from GLib 2.32.1 to 2.33.1
2254 ==============================================
2255
2256 * GApplication
2257  - can now have a NULL application ID
2258  - add accessors for determining dbus connection and object path
2259
2260 * g_clear_object: fix warnings when using it on C++ (due to lack of
2261   ability to implicitly cast void*)
2262 * add g_clear_pointer as a generic form of g_clear_object
2263
2264 * GDBus:
2265  - add our own implementation of the message bus for use on Windows only
2266  - fix up a few bugs that use of this bus uncovered in GDBus
2267  - escape nonce files in dbus addressess (think 'c:\')
2268  - support initial underscores in dbus codegen namespace (for private)
2269  - add GTestDBus for bringing up a session bus for testing purposes
2270  - gdbus-codegen: Avoid warnings in generated code
2271  - GDBusAuthObserver: Add a way to control what authentication mechanisms to use
2272  - 
2273
2274 * Fix misdetection of GNUstep as Cocoa (for the MacOS GSettings backend)
2275
2276 * make sure configure fails if AC_CHECK_ALIGNOF cannot detect the alignment
2277
2278 * GAppInfo
2279  - overwrite the DISPLAY only if it is set in the launch context
2280  - add accessor for StartupWMClass
2281
2282 * glib/tests/date: force US locale running the GDateTime tests
2283
2284 * Resources:
2285  - fix broken use of GVDB on big endian machines
2286  - set a 'display name' so that pretty file names appear in Gtk CSS
2287    warning messages
2288
2289 * GMainContext:
2290  - block child sources when blocking the parent
2291  - introduce more testcases for child sources
2292
2293 * GResolver: add support for MX, TXT, NS and SOA records
2294
2295 * GSocketControlMessage: Don't warn about unknown messages
2296
2297 * GIO:
2298  - implement GSeekable for the data and buffered stream classes
2299  - implement GPollable for many more classes as well
2300  - fix GConverterInputStream infinite loop when fill_buffer returns an error
2301  - fileinfo: document the correct type for trash::orig-path
2302
2303 * test coverage improvements and general fixes
2304
2305 * new 2.34 stuff: version macros, docs index section, etc.
2306
2307 * Build:
2308  - add --disable-modular-tests build option
2309  - don't require host binaries if tests are not enabled for cross-builds
2310
2311 * Translations updated
2312  Brazilian Portuguese
2313  Bulgarian
2314  Czech
2315  French
2316  Galician
2317  German
2318  Hebrew
2319  Hindi
2320  Italian
2321  Norwegian bokmål
2322  Polish
2323  Russian
2324  Russian
2325  Serbian
2326  Simplified Chinese
2327  Slovenian
2328  Spanish
2329  Telugu
2330
2331 Overview of changes from GLib 2.32.0 to 2.32.1
2332 ==============================================
2333
2334 * Bugs fixed:
2335  670254 glib-2.30.2: Fails /GDateTime/new_from_unix test
2336  672541 glib-compile-resources prepends --sourcedir to absolute paths
2337  673139 URL to mailing lists in README incorrect
2338  673174 g_input_stream_read[_finish]: document returning 0 on EOF
2339  673191 glib/gchecksum.c warning: dereferencing type-punned pointer...
2340  673216 [W32] gtestutils does not use path separators consistently
2341  673439 Properly deprecate g_value_{set,get}_char
2342  673612 Fails to decode dictionaries wrapped in two layers of array
2343  673803 gclosure: Support return values of GVariants
2344  669285 glib/tests/markup-parse fails under non-english locale
2345  673911 gio-2.0.pc lists full path to executables, breaking cross com..
2346  673762 gnextstepsettingsbackend.c:343: error: parse error before 'in'
2347
2348 * Updated translations:
2349  Belarusian
2350  British English
2351  Bulgarian
2352  Catalan
2353  Czech
2354  French
2355  German
2356  Hebrew
2357  Hindi
2358  Hungarian
2359  Italian
2360  Japanese
2361  Kannada
2362  Latvian
2363  Lithuanian
2364  Marathi
2365  Norwegian bokmål
2366  Odia
2367  Polish
2368  Serbian
2369  Slovenian
2370  Spanish
2371  Swedish
2372  Telugu
2373
2374
2375 Overview of changes from GLib 2.31.22 to 2.32.0
2376 ===============================================
2377
2378 * Bugs fixed:
2379  671988 Quickly registering / unregistering objects on bus...
2380  672095 glib needs stable sort function
2381  672406 glib/tests/include.c fails to build on FreeBSD
2382
2383 * Updated translations:
2384  Telugu
2385
2386
2387 Overview of changes from GLib 2.31.20 to 2.31.22
2388 ================================================
2389
2390 * Bugs fixed:
2391  531901 Use __builtin_bswap* for GUINT*_SWAP_LE_BE if building...
2392  653167 Out of tree build is broken on windows
2393  668973 Test /gvariant/parser fails on Solaris 10
2394  669797 gvfs now lists its fuse mounts
2395  670846 deadlock: GStreamer-WARNING **: wrong STREAM_LOCK count 0
2396  671664 gio-querymodules: unlink instead of writing empty cache
2397  671676 Glib can't be cross-compiled any more after merge of...
2398  671918 gnome-shell is inaccessible unless started while an AT...
2399  671942 GSocketMsgFlags: annotate as a flags
2400  671997 Unix signal handling assumes that volatile 1-byte writes...
2401  672013 GSimpleAsyncResult: support reliable cancellation
2402  672026 default log output should include pid and/or prgname
2403  672095 glib needs stable sort function
2404  672201 G_SPAWN_SEARCH_PATH should continue on ENODEV and ETIMEDOUT
2405  672239 request NO_REPLY from g_dbus_connection_call() with no as...
2406  672249 gdbusproxy leaks asyncresult in an error case instead of...
2407
2408 * Translation updates:
2409  Assamese
2410  British English
2411  Catalan
2412  Catalan (Valencian)
2413  Danish
2414  Esperanto
2415  Finnish
2416  French
2417  German
2418  Hungarian
2419  Korean
2420  Lithuanian
2421  Norwegian bokmål
2422  Polish
2423  Portuguese
2424  Russian
2425  Traditional Chinese
2426
2427
2428 Overview of changes from GLib 2.31.18 to 2.31.20
2429 ================================================
2430
2431 * Update to Unicode 6.1
2432
2433 * Update PCRE to 8.30
2434
2435 * Deprecations are now versioned, and new API is
2436   marked with the version it was introduced.
2437   Use these with GLIB_VERSION_{MIN,MAX}_REQUIRED
2438
2439 * The performance of signal emissions has been
2440   improved for simple cases
2441
2442 * Bugs fixed:
2443  529806 Cannot build in 64-bit Mac OS X due to libiconv
2444  580873 Documentation of register type functions incomplete
2445  592666 Document how to unset an attribute
2446  597785 g_type_class_add_private code snippet is a bad example
2447  621368 glib-2.24.1: FAIL: run-assert-msg-test.sh when updating...
2448  622149 --disable-regex breaks glib2 build
2449  639873 GBinding: Crash when binding two properties on the same...
2450  640202 For GLIB v. 2.23.6 and above: impossibility to build mu...
2451  668295 Need a way to classify GVolume instances
2452  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
2453  670542 Add version information for deprecations
2454  670557 gvaluetransform: Fix an infinite loop with GFlagsValue...
2455  670721 global variable for signal ID should be hidden
2456  670751 IceWM build fails due to the G_DEPRECATED_FOR macro
2457  670909 g_dbus_connection_call leaks when it receives an error...
2458  670922 Include path to gdbus-codegen in the pkgconfig file
2459  670969 GSequence lookup may fail if there was no sort prior to...
2460  671025 Constants and identifiers starting with a number are no...
2461  671270 make distclean failures
2462  671281 glib-compile-resources.xml is missing from the dist tar...
2463
2464 * Translation updates:
2465  Basque
2466  Belarusian
2467  Brazilian Portuguese
2468  Bulgarian
2469  Galician
2470  Hebrew
2471  Lithuanian
2472  Persian
2473  Punjabi
2474  Serbian
2475  Simplified Chinese
2476  Slovenian
2477  Telugu
2478  Traditional Chinese
2479  Uyghur
2480  Vietnamese
2481
2482
2483 Overview of changes from GLib 2.31.16 to 2.31.18
2484 ================================================
2485
2486 * GDBusProxy has now a flag, G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
2487   which can be set to make GDBus automatically reload
2488   changed properties even if the propertychanged signal
2489   does not contain the new values.
2490
2491 * GApplication puts non-unique applications on the bus
2492
2493 * GApplication now has g_application_quit()
2494
2495 * g_async_queue_timed_pop has been deprecated in favor of
2496   the new g_async_queue_timeout_pop, which uses relative
2497   delays in microseconds instead of a GTimeVal.
2498
2499 * a huge number of API documentation fixes
2500
2501 * Bugs fixed:
2502  647986 put non-unique apps on D-Bus
2503  658484 vpn connection vs NetworkSecretDialog
2504  664237 GDateTime falls back to UTC if TZ is set
2505  669329 gthread-win32: update for g_get_monotonic_time() changes
2506  669330 glocalfile: fix error code when opening a directory on win32
2507  669372 glib/tests memory leaks.
2508  669412 mem leak in g_environ_unsetenv
2509  669538 Fix compilation of glib-compile-resources.c on Windows
2510  669544 gdbus-codegen example introspection XML is not complete
2511  669595 glib-mkenums: fix handling of forward enum declarations
2512  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
2513  669671 gobject: use #pragmas to avoid deprecated function warnings
2514  669689 Retrieve cwd and environ in local GApplicationCommandLine
2515  669810 socket/win32: flush pending read before signaling HUP
2516  669865 g_regex_fetch()
2517  670085 memory leak in g_output_stream_write_async
2518  670138 gbytes.h is missing the G_BEGIN/END_DECL guards
2519  670485 Simplify session API (shared bug with gtk+)
2520
2521 * Updated translations:
2522  Belarusian
2523  Danish
2524  Galician
2525  Serbian
2526  Telugu
2527  Hebrew
2528
2529
2530 Overview of changes from GLib 2.31.14 to 2.31.16
2531 ================================================
2532
2533 * GResource:
2534  - The resource compiler can now convert pngs into
2535    pixel data that can be used without parsing at runtime
2536    (requires gdk-pixbuf-pixdata to be present)
2537
2538 * Bugs fixed:
2539  669123 resource compiler: failing to-pixdata should...
2540  669173 resource: fix xml preprocess entity handling
2541  669224 Cross-compilation broken by data-to-c
2542  669253 gsettings set buggy on array values
2543  669334 fix memory leak in bookmark file parser
2544
2545 * Translation updates:
2546  Norwegian bokmål
2547  Spanish
2548
2549
2550 Overview of changes from GLib 2.31.12 to 2.31.14
2551 ================================================
2552
2553 * GResource:
2554  - GLib now includes a commandline utility, gresource,
2555    to explore resources in ELF files
2556  - The resource compiler can now optionally strip
2557    ignorable whitespace from XML resources
2558  - The resource compiler can now generate build dependencies
2559  - The resource compiler will now autoselect output formats
2560
2561 * GApplication:
2562  - The menu markup parser API has been dropped, the
2563    menu XML support lives in GTK+ now
2564
2565 * GValueArray has been deprecated
2566
2567 * Bugs fixed:
2568  626258 N-ary Trees - 'nodes' can be inserted before and after...
2569  634232 Core Dump / Aborted using g_key_file_to_data
2570  639099 schema compiler chokes on valid schema
2571  667228 Deprecate GValueArray
2572  667243 Add an element clear function to GArray
2573  667929 glib-compile-resources: xml resources doesn't need to...
2574  668250 g_date_time_format() produces a non-UTF8 string
2575  668468 'IP_ADD_SOURCE_MEMBERSHIP' undeclared
2576  668532 resources: add dependency generator to the resource compiler
2577  668539 resources: compiler should autoselect output format...
2578  668561 gresource-tool not internationalized
2579  668572 glib_cv_g_atomic_lock_free config.cache setting not honored...
2580  668650 GRealArray->clear_func should be initialized
2581  668756 GKeyFile: allow loading from empty strings
2582  668857 fix couple of typos in comments
2583  669024 goption: implement platform_get_argv0() for OpenBSD
2584
2585 * Updated translations:
2586  Galician
2587  Norwegian bokmål
2588  Spanish
2589  Traditional Chinese
2590
2591 Overview of changes from GLib 2.31.10 to 2.31.12
2592 ================================================
2593
2594 * GApplication:
2595  - Drop support for exporting menus - this functionality
2596    will be provided in GtkApplication
2597  - Add a way to create actions that change settings
2598
2599 * Bugs fixed:
2600  629503 Add async versions of g_unix_connection_{receive,send}_credentials
2601  656301 glib-compile-schemas should not create an empty file
2602  668071 mingw-gcc build fails on gio/gsocket.[c|h]
2603  668118 the big appmenu switcheroo
2604  668158 base64 encode and line termination
2605  668163 GDBusConnection: note that exit-on-close is sometimes TRUE
2606  668269 gsignal: add g_signal_handlers_disconnect_by_data
2607  668279 create GAction from GSettings
2608
2609 * Translation updates:
2610  Norwegian bokmål
2611
2612
2613 Overview of changes from GLib 2.31.8 to 2.31.10
2614 ===============================================
2615
2616 * GResource:
2617  - A new facility to allow linking data files into binaries
2618    and make them available as resources
2619  - Resources are compiled using glib-compile-resources
2620  - GIO supports resource:/// uris to access resources
2621
2622 * Bugs fixed:
2623  619126 Missing dependency libs
2624  658315 g_key_file_get_keys() should set length to 0...
2625  660371 is it ever valid to have 0 as a GError domain?
2626  666700 Add some missing (allow-none) annotations
2627  667375 GAsyncInitable subclassing (and async subclassing...
2628  667447 Missing many introspection annotations
2629  667790 Protect call to pthread_condattr_setclock with define
2630  667938 wrong gtypes generated for empty flags enums
2631
2632 * Translation updates:
2633  Hebrew
2634  Spanish
2635
2636
2637 Overview of changes from GLib 2.31.6 to 2.31.8
2638 ==============================================
2639
2640 * GObject:
2641  - The type checks for overriding properties have been loosened.
2642    In particular, it is now possible to add the CONSTRUCT flag
2643    to an overridden property
2644  - GWeakRef is a new API for weak references; unlike g_object_weak_ref
2645    and g_object_add_weak_pointer, it is thread-safe.
2646
2647 * GHashTable has grown new convenience api for use as a set:
2648   g_hash_table_add, g_hash_table_contains
2649
2650 * GSocketConnection has gained API for managing connection status
2651
2652 * GSettings: a native OS X backend has been added, under the
2653   name 'nexstep'
2654
2655 * Bugs fixed
2656  455640 Something fishy with GRegex and unicode
2657  548954 weak references are not threadsafe
2658  625751 Add G_FILE_ATTRIBUTE_FILESYSTEM_USED
2659  658871 gbacktrace: g_get_prgname () isn't called for a NULL argu...
2660  664069 gvariant: Never break out of g_variant_iter_loop
2661  664830 g_strescape doesn't natively handle \v (vertical tab)
2662  665211 GDBusConnection singleton access can race with disposal
2663  665805 Add GSocketClient::action, for tracking socket client status
2664  666116 some tests provoke undefined behaviour, which is undesira...
2665  666422 Unreachable code in gio gnetworkmonitornetlink.c
2666  666551 Crash in g_thread_xp_SleepConditionVariableSRW
2667  666595 menu parser disallows id='' on submenu and section
2668  666615 loosen property override flag restrictions
2669  666616 gobject: fix property override type checks
2670  666803 g_utf8_validate() fails to validate strings with known size
2671  666804 g_ateaxit deprecation warning in devhelp points in wrong ...
2672  666951 g_mkdtemp: Since version incorrect in docs
2673  666978 Fails to compile glib applications with ISO C90 compiler
2674  667098 ginetaddressmask leaks its address property
2675  667225 GSocket: add missing type checks to public methods
2676  667226 GSocket: fix an error return value
2677  667279 Sometimes crashes when launching commandline-crea...
2678  667285 Wrong keyname listed in documentation for g_deskt...
2679  667331 Use g_queue_free_full() convenience function
2680  667420 GHashTable GDB pretty printing is broken
2681
2682 * Updated translations
2683  Belarusian
2684  Bulgarian
2685  Hebrew
2686  Norwegian bokmål
2687  Norwegian Nynorsk
2688  Spanish
2689  Vietnamese
2690
2691
2692 Overview of changes from GLib 2.31.4 to 2.31.6
2693 ==============================================
2694
2695 * GApplication no longer has APIs for setting menus.  Those have been
2696   moved to GtkApplication.
2697
2698 * the GActionGroup import/export functionality has been decoupled from
2699   GApplication by the introduction of a new interface for the purpose of
2700   handling platform data: GRemoteActionGroup.  This allows Gtk to
2701   properly deal with platform data (and gdk threads) on window actions.
2702
2703 * lots of documentation improvements
2704
2705 * bug fixes and a huge number of memory leak fixes
2706
2707 * the test suite now passes on ARM and some of the GDBus testcase hangs
2708   we've been seeing have been resolved (although others could remain)
2709
2710 * g_bytes_get_data() API changed: now includes 'size' out parameter
2711
2712 * new g_queue_free_full() API similar to g_[s]list_free_full()
2713
2714 * desktop files: use standard "Keywords" now, not "X-GNOME-Keywords"
2715
2716 * gsettings commandline tool now has --schemadir option for schemas not
2717   installed in the usual place (ie: as part of plugins)
2718
2719 * Bugs fixed:
2720  643736 GApplication doesn't emit dbus signals on action updates
2721  657433 g_queue_free_full() missing
2722  664699 glib: documentation fixes
2723  665737 acquire/release gdk threads lock on incoming dbus
2724  665879 GBytes: add a size argument to g_bytes_get_data
2725  666113 various leaks in GLib, GIO are visible in the regression tests
2726  666115 various tests leak memory, obscuring real leaks in the library
2727  666145 Doc could be more explicite that g_thread_init calls can be droped
2728  666173 Configure warning - linux/netlink.h usability... no
2729  666296 Race condition in g_thread_xp_get_srwlock
2730  666415 Settings tools should allow specifying a schema directory 
2731
2732 * Translations updated:
2733  French
2734  Spanish
2735
2736 Overview of changes from GLib 2.31.2 to 2.31.4
2737 ==============================================
2738
2739 * EXPERIMENTAL: Menu support has been added to GApplication.  Menus
2740   are exported on the bus, alongside the actions that are already there.
2741   There have also been many related improvements to action group
2742   functionality.
2743
2744   These new APIs are subject to changes in the coming releases.  In
2745   particular, it seems somewhat likely that the APIs for registering
2746   menubars may change in order to accommodate windows with different
2747   types of menubars.
2748
2749 * GDBusConnection previously directly dispatched destroy notifies when
2750   unregistering objects if the current main context was the same context
2751   the object was exported on.  It now unconditionally dispatches these
2752   through an idle on the context.
2753
2754 * Clean up Requires in pc files. Linking against GIO no
2755   longer drags in gmodule. This may require dependency
2756   fixes here and there.
2757
2758 * Introduce GBytes, a data type for immutable, fixed-size
2759   byte sequences. This makes the pre-existing GBuffer
2760   API available outside GLib
2761
2762 * GDBusInterfaceSkeleton can now be exported on multiple
2763   connections
2764
2765 * Bugs fixed:
2766  600161 Do not use static GTypeInfo and GInterfaceInfo
2767  640077 GFileMonitor: Always send CHANGES_DONE_HINT after a move...
2768  641720 Misleading definition for local_command_line() in GApplic...
2769  648516 Little comment error and 2 useless lines of code
2770  651997 Dummy backend for gapplication
2771  652560 Test for g_ascii_strtod is failing
2772  662208 failure to initialize a GInitable should be considered...
2773  662718 GDBusInterfaceSkeleton should be able to export on multi...
2774  663291 GBytes: Immutable, refcounted sequence of bytes
2775  664406 Need context for a proper translation
2776  664455 Build fixes for GLib GIT master (2.31.x)
2777  664558 GDBusWorker.frozen has a value > 1 in a gboolean
2778  664559 sys/wait.h not available on windows
2779  664617 gdbus segfault error 4 in libgio-2.0.so.0.3102.0
2780  664635 GMemory{Out,In}putStream _async functions break sub-class...
2781  664809 Add command line option to gtester to allow skipping tests
2782  665067 cryptic assertion failure if nonsensical flag combinations...
2783  665184 Check ref. count before reffing/unreffing
2784  665298 Add 'Requires.private: libpcre' to glib-2.0.pc
2785  665391 update documentation around mainloops
2786  665607 ./configure is there for fiddling with cross-compile enviro...
2787  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes...
2788  665685 Add a #define for the max length of a Unicode decomposition
2789  665733 GDBusConnection holds lock while calling destroynotify
2790
2791 * Translation updates:
2792  Norwegian bokmål
2793  Spanish
2794
2795
2796 Overview of changes from GLib 2.31.0 to 2.31.2
2797 ==============================================
2798
2799 * Monotonic time is now properly supported on Windows
2800
2801 * glib-mkenums: fix @ENUMPREFIX@ with /*< underscore_name=... >*/
2802
2803 * EXPERIMENTAL: introduce new GSettingsSchema and GSettingsSchemaSource
2804   APIs for the convenience of plugin system authors and those who wish
2805   to introspect the contents of schemas.  This API may change.
2806
2807 * Improve the performance of GObject property notifies.
2808
2809 * GDBus:
2810  - fix a race when unowning a name immediately after owning it
2811  - thread safety improvements on GDBusConnection
2812  - fixes for exit-on-close functionality
2813
2814 * Deprecations:
2815  - add G_SIGNAL_DEPRECATED
2816  - don't use G_DISABLE_DEPRECATED masking for functions anymore
2817
2818 * docs
2819  - tmpl/ is finally dead for glib
2820
2821 * GIO:
2822  - GInetAddressMask: new type for internet address range matching
2823  - various GIO file and stream fixes
2824  - improvements to attribute and fileinfo handling
2825
2826 Overview of changes from GLib 2.29/2.30 to 2.31.0
2827 =================================================
2828
2829 This release contains a huge number of changes (500 commits worth).  The
2830 list below attempts to summarise, but not every change is listed.
2831
2832 * Major changes to threading and synchronisation
2833  - threading is now always enabled in GLib
2834  - support for custom thread implementations (including our own internal
2835    support for errorcheck mutexes) has been removed
2836  - a whole lot of dead code (to deal with the non-threaded case) has
2837    been ripped out.  This includes the racy path of GMainContext that
2838    caused deadlocks with respect to child process exits in
2839    single-threaded programs (such as gtester).
2840  - libgthread is now an empty shell and g_thread_init() is no longer
2841    required (and has been deprecated)
2842  - GMutex and GCond can now be statically allocated without explicit
2843    initialisation.  Dynamic allocation for these types is deprecated.
2844  - new types GRecMutex and GRWLock can also be statically allocated
2845    without explicit initialisation.
2846  - GPrivate can now be statically allocated and has an improved API.
2847    Dynamic allocation of GPrivate is deprecated.
2848  - GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
2849    deprecated.
2850  - GCond now uses monotonic time internally and a new API takes
2851    monotonic time for timed waits, deprecating the wallclock API
2852  - removal of the insane macro indirection used in the previous
2853    implementation of threading and synchronisation APIs
2854  - use SRWLock and CONDITION_VARIABLE APIs when available on Windows
2855    (Vista and later) and emulate them on XP
2856  - leaks of G(Static)Private-allocated data on some cases of thread exit
2857    have been fixed
2858  - simplified new thread creation API with the old API deprecated.  The
2859    concept of joinability has disappeared (all threads are joinable) as
2860    have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
2861    and ability to manipulate the stack size.
2862  - GThread is now a refcounted type
2863  - other implementation details changed
2864
2865 * Move headers for some deprecated functionality to a separate
2866   deprecated/ directory.
2867
2868 * New support for attribute-based deprecations to issue compiler
2869   warnings instead of breaking the build and/or giving warnings about
2870   implicit declarations (and possibly miscompiling).
2871
2872 * GCache has been deprecated (after its last use was removed from our
2873   platform over a year ago).
2874
2875 * It is no longer possible to include individual headers (like
2876   "ghash.h") -- you must #include <glib.h>.
2877
2878 * The misguided experiment of allowing the program to stumble along with
2879   missing GSettings schemas is now over -- the abort is back.
2880
2881 * Clarify that fork() is not valid while using GMainContext.  This is
2882   because the internal resources of the GMainContext end up being shared
2883   by both processes.  We had an assert here but it was breaking existing
2884   (valid) use cases as well, so it has been removed for now.
2885
2886 * GApplication
2887   - add ::shutdown signal as logical dual to ::startup
2888   - don't use a GMainLoop: iterate the GMainContext directly (improves
2889     quit logic)
2890
2891 * Several portability fixes for Windows, OpenBSD, Solaris
2892
2893 * Add new GValue API to specifically deal in signed chars (in case the
2894   platform defines 'char' as unsigned)
2895
2896 * some new API to mitigate the problems associated with calling setenv()
2897   in a multi-threaded program
2898
2899 * Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
2900   time (ie: stop checking for kernel support at runtime).
2901
2902 * pkg-config files:
2903   - drop -uninstalled variants
2904   - remove gobject dependency on gthread
2905
2906 * New macro G_ATOMIC_LOCK_FREE is defined if the atomic operations are
2907   implemented without use of a mutex.  Cleaned up atomic-related
2908   compilation issues with mingw compilers on win32 systems.
2909
2910 * SOCKS proxy and resolver improvements
2911
2912 * Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
2913   introduce a macro for backwards compatibility.
2914
2915 * GDBus:
2916   - many code generation updates and improvements
2917   - some race condition fixes, including testcase hangs
2918
2919 * GVariant:
2920   - new g_variant_new_from_fixed_array() API
2921   - substantial docs improvements/clarifications
2922
2923 * GKeyFile is now refcounted and boxed
2924
2925 * mount monitoring is now based on /proc/mounts (where available)
2926   instead of mtab
2927
2928 * new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for returning from
2929   GSourceFunc (so you don't have to remember what TRUE and FALSE mean)
2930
2931 * use xlocale functions where available to avoid too much heavy lifting
2932   in functions like g_ascii_strtod()
2933
2934 * GMappedFile can now be created from an fd
2935
2936 * error message strings grammar/i18n fixes
2937
2938 * many docs updates
2939
2940 * Partial list of bugs closed:
2941  70598  Unify GStaticMutex and GMutex.
2942  320888 optimization for g_main_context_wakeup
2943  398418 GChildWatch race condition?
2944  527214 g_timer_elapsed() returns random values
2945  580505 add a way to set/get name for a thread
2946  583511 race condition means g_main_loop_quit() does not work
2947  590808 GKeyFile should have a refcount and a boxed type in GObject
2948  592715 Document that g_str_hash() and g_int_hash() are not NULL safe
2949  631413 Add macros for GSourceFunc return values
2950  632049 not immediately clear what g_variant_get_fixed_array expects
2951  640212 "Error stating file" is not a friendly message
2952  640293 Use xlocale functions to implement g_ascii_strtod()
2953  640975 Check that error exists before trying to set it
2954  643934 GApplication lacking a logical dual for the ::startup signal
2955  651268 assertion failed in GDBus worker thread
2956  653987 g_key_file_get_integer cannot interpret trailing spaces
2957  654412 Documentation for g_variant_get_child_value unclear
2958  654563 info capplet: Failed to calculate disk space
2959  655366 missing GSettings schemas lead to obscure crashes
2960  656621 g_spawn_*() calls executables in current directory
2961  656679 [gi] Add two annotations to gio
2962  657992 Add glib__private__() API to share between glib,gio
2963  658188 _set_as_last_used_for_type generates a broken mimeapps.list
2964  658206 gsocks5proxy.c has invalid gettext use
2965  658207 glib-compile-schemas says "can not"
2966  658558 simpleaction: Fix documentation of :enabled
2967  658683 clean up charset/language threading issues
2968  658692 add introspection annotations to g_time_val_from_iso8601()
2969  658715 Duplicite strings
2970  658769 Invalid reuse of GError in GThreadedResolver
2971  658806 sign error in string hash implementation
2972  658976 gdbus-codegen's C namespace option needs to support Ugly_Case
2973  659070 gdbus-codegen generated code segfaults when property changes
2974  659082 gdbus-codegen: Single letter namespaces get dropped from names
2975  659212 GMappedFile should fail on non-regular files
2976  659324 _SPLICE_CLOSE_TARGET doesn't mark the output stream as closed
2977  659423 Use adaptive mutexes when available
2978  659427 Move deprecated code to a separate directory
2979  659646 gdbus-codegen produce code that warnings at build
2980  659690 Possible build warning in code generated by gdbus-codegen
2981  659699 property name collision when generating code for "Connection"
2982  659754 Add API to GMappedFile that allows to pass FD
2983  659838 incorrect types in introspection for g_object_bind_property
2984  659866 pthread_rwlock_t requires defined __USE_UNIX98
2985  659870 gvalue: Fix signedness of g_value_get_char()
2986  659889 glib-2.29.92/gio-2.0.pc.in has a wrong line.
2987  659916 GObject size of 64K is not actively enforced
2988  659920 Missing setter for read/write property 'closed' of GIOStream
2989  659923 Add g_variant_new_fixed_array() function
2990  660013 Remove old g_atomic configure cruft
2991  660096 glib/rwlock tests failure (tests asserted)
2992  660130 Possible loss of user data when updating mimeapps.list
2993  660147 tracker causes g_critical in "gsettings list-recursively"
2994  660413 Make G_ASSERT_STATIC work with clang
2995  660498 Generated test code fails when the codegen changes
2996  660511 Use /proc/mounts for monitoring mounts, not /etc/mtab
2997  660536 Expose options for /etc/fstab entries
2998  660635 Deprecate g_thread_foreach
2999  660637 Pending dbus method calls not canceled on connection loss
3000  660739 kill off g_{mutex,cond}_{new,free}()
3001  660740 make GThread more standard
3002  660741 g_cond_timedwait is a disaster
3003  660743 macro wrappers for g_once_init_enter/leave
3004  660744 finish killing g_thread_init()
3005  660745 GPrivate leaks on Windows
3006  660791 [gio] Improve doc for g_file_make_directory_with_parents()
3007  660843 asyncqueue-test is broken
3008  660849 Remove cruft from g_strerror and g_strsignal
3009  660886 GDBusProxy: don't drop/complain about unknown props/signals
3010  660887 g_slice_set_config() is broken
3011  660994 Add g_main_context_ref_thread_default()
3012  661255 gio: enable test_peer regression test for OpenBSD
3013  661257 giomodules.c uses ":" instead of G_SEARCHPATH_SEPARATOR_S
3014  661318 tests use pthread without appropriate compiler/linker flags
3015  661421 Applications fail to initialize on GNU Hurd - commit
3016  661438 Implement G_GNUC_DEPRECATED/G_GNUC_DEPRECATED_FOR on Visual C++
3017  661711 Sorting keys for GDrive, GVolume and GMount instances
3018  661763 desktop-app-info: Add support for X-GNOME-Keywords
3019  661896 /gdbus/connection/life-cycle is racy
3020  661914 Gstreamer/Totem locks up
3021  662100 regression: g_dbus_connection_close() triggers exit-on-close logic
3022
3023 * Translations updates:
3024  Belarusian 
3025  Brazilian Portuguese
3026  British English 
3027  Bulgarian 
3028  Catalan 
3029  Catalan (Valencian)
3030  Czech 
3031  Danish 
3032  Esperanto
3033  French 
3034  Gujarati
3035  Hebrew 
3036  Hungarian 
3037  Italian 
3038  Japanese
3039  Lithuanian
3040  Norwegian bokmål
3041  Oriya
3042  Polish 
3043  Russian 
3044  Serbian
3045  Simplified Chinese
3046  Slovak 
3047  Slovenian
3048  Spanish 
3049  Tamil
3050  Vietnamese
3051
3052 Overview of changes from GLib 2.29.18 to 2.29.90
3053 ================================================
3054
3055 * API/ABI changes:
3056  - unix signal watches now match the API of all of the other sources
3057  - revert the addition of g_date_time_source_new () from last release
3058
3059 * networking and other fixes for Solaris
3060  - we no longer support symbolic port names (ie: from /etc/services)
3061  - check if -lsocket is needed
3062  - fix g_socket_details_from_fd()
3063  - avoid getmntinfo
3064  - fix some harmless warnings
3065
3066 * GDateTime improvements:
3067  - generally improved standards compliance (with C99)
3068  - support C99-specified format strings: %g, %G, %V, %c, %C, %w
3069  - consult the locale for the preferred 12-hour time format (%r)
3070  - drop support for non-standard %N and broken %W
3071  - better support for formatting non-POSIX (eg: Arabic) numerals
3072  - locale-related test case fixups, and fix some leaks
3073
3074 * GTlsInteraction: add interaction method invocation guarantees
3075
3076 * gdbus-codegen: post-process all interfaces when parsing >1 file
3077
3078 * make GMainLoop, GMainContext and GSource boxed types
3079
3080 * fix a race condition in the first use of g_get_monotonic_time()
3081
3082 * lots gtk-doc cleanups
3083
3084 * better intltool compatibility when generating pot file
3085
3086 * avoid GCC-specific compiler options when not using GCC
3087
3088 * Translation updates:
3089  Belarusian
3090  Brazilian Portuguese
3091  Canadian English
3092  Galician
3093  Indonesian
3094  Korean
3095  Lithuanian
3096  Norwegian bokmål
3097  Portuguese
3098  Spanish
3099  Swedish
3100
3101 Overview of changes from GLib 2.29.16 to 2.29.18
3102 ================================================
3103
3104 * GDateTime is now respecting LC_TIME when formatting
3105
3106 * GTimeZoneMonitor has been removed again
3107
3108 * A new API for wallclock functionality has been added:
3109   g_date_time_source_new(). This API is still experimental
3110   and may be changed or removed before 2.30.
3111
3112 * Bugs fixed:
3113  628904 Add credential support for FreeBSD and fix a socket issue
3114  650763 gdbus-codegen is broken with python 2.7
3115  655129 GDateTime could provide api for implementing wall clocks
3116  656341 gtlsconsoleinteraction.c uses getpass() which isn't avail...
3117  656387 GCancellable can be used concurrently
3118  656443 Make GTlsInteraction ask_password cancellable
3119  656675 void functions should not return in glib 2.29.16
3120  656772 g_variant_compare for uint64 incorrect
3121  656914 Load GIO_EXTRA_MODULES first, and ignore duplicates
3122  657083 The header langinfo.h is not available on all systems
3123  657084 gfileutils: fix docs/annotations for temp file methods
3124  657138 Some files missing in POTFILES.in
3125  657206 GInputStream leaked in g_file_icon_load_async()
3126  657243 g_cancellable_set_error_if_cancelled() documentation
3127  657274 Use detected PYTHON variable as shebang for gdbus-codegen
3128  657336 Speling fixes for glib found with codespell
3129  657452 plural forms needed
3130  657454 Translation comment needed
3131  657540 Print out file:// URL to coverage HTML report after building
3132  657593 g_test_trap_fork calls close(-1)
3133  646082 Addresses from GSocket should be normalized before returning
3134  657517 fix gio/tests/gdbus-peer on bsd
3135
3136 * Translation updates:
3137  Brazilian Portuguese
3138  Galician
3139  Norwegian bokmål
3140  Punjabi
3141  Russian
3142  Serbian
3143  Spanish
3144  Swedish
3145  Traditional Chinese
3146  Uighur
3147
3148
3149 Overview of changes from GLib 2.29.14 to 2.29.16
3150 ================================================
3151
3152 * GTlsDatabase: an abstract class that provides support
3153   or certificate and key lookup. An implementation will
3154   be provided in glib-networking
3155
3156 * GHmac: Support or HMAC digests
3157
3158 * Misc new API:
3159  - g_ptr_array_add_full: creates a GPtrArray with
3160    a preallocated size and a destroy function
3161  - g_desktop_app_info_get_show_in: checks if a GDesktopAppInfo
3162    should be shown in a given desktop environment
3163  - g_mkdtemp, g_mkdtemp_full, g_dir_make_tmp: create
3164    temporary directories
3165
3166 * Unify thread wakeup implementations of GMainContext
3167   and GCancellable, and use eventfd for it when available
3168
3169 * Show mounts in $XDG_USER_DIR in addition to /media and $HOME
3170
3171 * Bugs fixed:
3172  636572 GTlsCertificateDB
3173  644601 Some tests need a running dbus session
3174  652284 deal with small key lengths
3175  652827 glib-2.29.8 no longer builds with mingw.org's toolchain
3176  653063 PEM parser fails parsing private key when put first
3177  654078 Fail to static linking with Glib library
3178  654450 New functions: g_ptr_array_new_full()
3179  654793 Add G_VALUE_INIT
3180  655044 GDesktopAppInfo: Add g_desktop_app_info_get_show_in()
3181  655148 gdbusconnection is broken when compiling with mingw
3182  655241 glocalfile.c no longer compiles with MinGW GCC
3183  655598 g_cancellable_get_fd: silently return -1 for NULL cancellable
3184  655664 gdbus should not abort if no dbus session is available
3185  655769 Use ZLIB_CFLAGS when compiling gio
3186  656031 Improve GVariant annotations
3187  656048 glib-codegen requires Python >= 2.5
3188  656151 configure test logic inverted, doesn't match comments
3189  656152 GCC only syntax used, yet other compilers allowed by configure.
3190  656162 allow use of lcov 1.9 for coverage
3191  656282 GDBusProxy: uninitialized local variables can be freed
3192  656283 Failing tls connection cause assertion
3193  118563 Add g_mkdtemp in the spirit of g_mkstemp
3194  636405 Add g_return_if_fail() to g_settings_bind_with_mapping()
3195  656039 race condition between GDBusProxy signals and public API
3196  656492 g_io_channel_new_file failure (open(2) behavior wrt POSIX)
3197
3198 * Translation updates:
3199  Bulgarian
3200  Esperanto
3201  French
3202  Galician
3203  German
3204  Hebrew
3205  Indonesian
3206  Italian
3207  Norwegian bokmål
3208  Russian
3209  Spanish
3210  Swedish
3211
3212
3213 Overview of changes from GLib 2.29.12 to 2.29.14
3214 ================================================
3215
3216 * Unicode improvements
3217  - add g_unicode_script_{to,from}_iso15924
3218  - add G_UNICODE_SPACING_MARK define
3219  - more normalisation improvements
3220  - stop using deprecated g_unicode_canonical_decomposition()
3221
3222 * GParamSpec:
3223  - mark the 'name' field as 'const' and add a comment to the header to
3224    help avoid future problems caused by bad hacks
3225
3226 * Merge some (modified) patches from Debian:
3227  - 03_blacklist-directories.patch
3228    - add some blacklisted mount directories
3229  - 60_wait-longer-for-threads-to-die.patch
3230    - sleep longer in a test case, if needed to avoid failing
3231
3232 * Units policy change: prefer use of SI units
3233  - deprecate g_format_size_for_display, add g_format_size(_full)
3234
3235 * GSettings: don't call g_error() when the schema is missing
3236
3237 * GVariant support for arrays of object paths:
3238  - new g_variant_{new,get,dup}_objv API
3239  - support for g_variant_{new,get} '^ao' and '^a&o' similar to '^as'
3240
3241 * GDBus:
3242  - use new improved array-of-objects support and pass 'ao' as char**
3243    instead of GVariant*
3244  - improve handling of 'h' type (Unix file descriptor index)
3245
3246 * GIO:
3247  - fix compilation without USE_STATFS and USE_STATVFS
3248
3249 * Documentation fixes
3250
3251 * Bugs fixed:
3252  622921 Migrate from dbus-glib to glib's GDBus
3253  648271 Add g_unicode_script_to_iso15924()
3254  654948 Stop using deprecated g_unicode_canonical_decomposition()
3255  654988 g_atomic_int_add should document behaviour change
3256  655025 #define G_UNICODE_SPACING_MARK G_UNICODE_COMBINING_MARK
3257  655076 normalization misses some Full_Composition_Exclusion=True. 
3258
3259 * Translations updated:
3260  Spanish
3261
3262 Overview of changes from GLib 2.29.10 to 2.29.12
3263 ================================================
3264
3265 * Add new API to do Unicode (de-)composition in atomic steps,
3266   for use in Harfbuzz.
3267
3268 * Bugs fixed:
3269  615895 (indirectly) support non-NULL-terminated regexes in GRegex
3270  617949 glib trunk fails to compile on Solaris w/ Studio 12...
3271  620423 Document the possibility to unset attributes
3272  627974 Floating reference headaches
3273  644687 Not finding cross-links in current doc set
3274  649246 g_output_stream_splice() cannot be used on 32-bit machines...
3275  653841 a helper script to build glib from git master on win32
3276  653935 g_slist_free_full/g_list_free_full iterates twice in the list
3277  654017 tests: fix glib_translations_work() in gsettings unit test
3278  654085 Don't needlessly use "echo -e" when creating .def files
3279  654195 Add g_unichar_compose() and g_unichar_decompose()
3280  654232 GCancellable eventfd problems
3281  654394 suspicious use of floating references in GDBusInterfaceSkeleton
3282  654536 GSettings: lift key name length restriction to 64
3283  654627 GParamSpec: intern property names
3284  654651 Better g_unicode_canonical_decomposition()
3285  654917 Make g_cclosure_marshal_generic the default signal handler
3286
3287 * Translation updates:
3288  Belarusian
3289  Finnish
3290  Korean
3291  Latvian
3292  Lithuanian
3293  Norwegian bokmål
3294  Turkish
3295
3296
3297 Overview of changes from GLib 2.29.8 to 2.29.10
3298 ===============================================
3299
3300 * New features:
3301  - g_desktop_app_info_get_nodisplay: a function that is required
3302    to port gnome-menus to GDesktopAppInfo
3303  - g_hash_Table_iter_replace: new function to replace a value
3304    while iterating over a hash table
3305  - g_utf8_substring: convenience API to extract substrings from
3306    UTF-8 strings
3307  - g_action_group_add_entries: convenience API for creating lots
3308    of actions quickly
3309  - Use eventfd instead of pipes for waking up main contexts and
3310    for cancellation when available
3311  - GMatchInfo is now a refcounted boxed type
3312
3313 * API changes in GAction:
3314  - the 'set_state' entry in the GActionInterface vtable has been
3315    renamed to 'change_state
3316  - g_action_set_state has been renamed to g_action_change_state
3317  - the 'state' property has been changed to read-only
3318  - GSimpleAction can no longer be subclassed
3319
3320 * Bug fixes
3321  647796 g_variant_new_variant is not marked as constructor
3322  652072 gmain: make use of signalfd()
3323  652168 Crosscompiling Fails if build<=2.24 and host >2.24
3324  652750 make dist fails
3325  652758 GDataInputStream: Clarify g_data_input_stream_read_line docs...
3326  652822 Add a g_hash_table_iter_replace
3327  652897 tiny docs clarification for g_utf8_to_ucs4_fast
3328  653140 gmain: use Linux eventfd() for main context wake up
3329  653429 drop AM_MAINTAINER_MODE or enable it by default
3330  653484 GAsyncCallbacks should default to allow-none
3331         Add missing fundamental types to the generic marshaller
3332
3333 * Translation updates
3334  Belarusian
3335  Galician
3336  Russian
3337
3338 Overview of changes from GLib 2.29.6 to 2.29.8
3339 ==============================================
3340
3341 * Bug fixes
3342  646608 export_symbols variable for gio dynamic library is wrong
3343  646635 Fix introspection of GLib
3344  647930 Documentation: GDataInputStream _read_upto() version
3345  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
3346  651920 Improve qsort_r detection
3347  651959 gbitlock: "asm goto" is not available in gcc < 4.5
3348  651998 gdbus-codegen: Use relative Python imports
3349  652000 Fix for gatomic.c on Windows/MSVC
3350  652002 Proposal to clean up gvaluetransform.c for MSVC
3351  652025 g_dbus_connection_register_object: error is not set...
3352  652081 Typos in a GBinding warning message
3353  652197 Improper handling of double values in GDBusMessage
3354         Fix a deadlock in gobject finalization
3355
3356 * Translation updates:
3357  Czech
3358  Galician
3359  German
3360  Hebrew
3361  Norwegian bokmål
3362  Spanish
3363  Uighur
3364
3365
3366 Overview of changes from GLib 2.29.4 to 2.29.6
3367 ==============================================
3368
3369 * Atomic operations have been rewritten from scratch to make use
3370   of gcc builtins where possible. As a side-effect of this, calls
3371   to g_atomic_ API with explicit casts may now be problematic; if
3372   that happens to you, try first to remove the casts. Another
3373   side-effect of the rewrite is that g_atomic_int_exchange_and_add
3374   has been deprecated in favor of g_atomic_int_add.
3375
3376 * A full set of atomic operations on pointers has been added,
3377   including bit locks in pointer-size locations.
3378
3379 * Access to quarks is now lockless
3380
3381 * GObject data scalability has been greatly improved
3382
3383 * g_data_time_format now supports alternative digits and padding
3384
3385 * Introspection improvements:
3386  - Add a boxed type for GVariantBuilder
3387  - Annotation fixes in GDBus, GVariant, g_base64_
3388
3389 * Bugs fixed:
3390  502560 g_rand_double_range returns 'inf'
3391  612729 g_mkdir_with_parents can fail if the directory already exists
3392  617491 g_once() implementation is inefficient
3393  619418 Add a performance test for UTF-8 decoding functions
3394  619435 Make g_utf8_to_ucs4_fast() yet faster
3395  626549 G_STATIC_ASSERT_EXPR
3396  631231 bitlock: Fix detection and usage of futexes with Bionic
3397  632294 g_queue_remove() should return a boolean
3398  640518 GMainLoop has quadratic complexity when all pollfd's...
3399  642026 Race condition in g_static_private_free
3400  646635 Fix introspection of GLib
3401  648678 g_date_time_format(): support %O flags for localized numbers
3402  649480 Use MSG_CMSG_CLOEXEC in recvmsg in gio/gsocket.c
3403  649506 GTestFunc et al lacking Since tag
3404  649657 Don't return gboolean for functions that throw
3405  649775 glib-gio-gdbuscodegen-Makefile.patch
3406  649915 gsettings accepts unquoted strings longer than two characters
3407  649973 gthread: build unix tests only on unix
3408  649988 gdbus-codegen: Drop dependency on argparse
3409  650078 forkbomb building glib/tests/protocol
3410  650211 Optimization in key file parsing
3411  650236 Application over DBus implements action state incorrectly
3412  650345 g_key_file_has_key_full: New function to fix g_key_file_has_key...
3413  650458 reduce overhead in g_object_set/get_data
3414  650459 hash table consistency while calling destroy notify funcs
3415  650688 enforce rules about hash table modification
3416  650823 expand the set of atomic ops
3417  650874 codegen chokes on docs
3418  650882 use stdout instead of stderr for informational messages
3419  650884 fix compilation with gcc2
3420  650885 implement glib credentials on OpenBSD (hackish)
3421  650935 G_GNUC_MAY_ALIAS and atomic ops
3422  651009 minor documentation fix
3423  651034 Regarding g_cond_wait after g_thread_pool_push in gthreadedresolver
3424  651133 race condition in GDBusConnection's emit_signal_instance_in_idle_cb
3425  651141 hashtable infinite loop
3426  651219 fix path to true(1) on OpenBSD
3427  651223 Fix some compile warnings on OpenBSD
3428  651327 Minor fixes for the gsocket API
3429  651467 Add pointer sized bitlocks
3430  651650 gdbus: Avoid busy wait loop
3431  651725 gmain: Cleanups and a new test case
3432  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
3433
3434 * Updated translations:
3435  Catalan (Valencian)
3436  Esperanto
3437  Hebrew
3438  Hungarian
3439  Russian
3440  Spanish
3441
3442
3443 Overview of changes from GLib 2.29.2 to 2.29.4
3444 ==============================================
3445
3446 * GDBus:
3447  - Includes several new types to support modeling D-Bus
3448    objects and interfaces more fully, and also introduces
3449    an 'object manager' pattern:
3450    GDBusInterface, GDBusObject, GDBusObjectManager
3451    These interfaces have client-side implementations:
3452    GDBusProxy, GDBusObjectProxy, GDBusObjectManagerClient
3453    And server-side implementations:
3454    GDBusInterfaceSkeleton, GDBusObjectSkeleton, GDBusObjectManagerServer
3455  - The new gdbus-codegen utility uses these new classes
3456    to generate C code and documentation from D-Bus interface
3457    descriptions in XML
3458
3459 * GTest:
3460  - There is now a g_test_fail() function to mark
3461    tests as failed
3462
3463 * GDesktopAppInfo
3464  - Now has a binding-friendly filename property
3465  - Other new API to more fully expose desktop file contents:
3466    g_desktop_app_info_get_categories(),
3467    g_desktop_app_info_get_generic_name()
3468
3469 * GHashTable:
3470  - Several optimizations to reduce space consumption of
3471    large hash tables, in particular tables that are used
3472    to store sets.
3473
3474 * Unix-specific APIs:
3475   GLib now installs a separate header, glib-unix.h, that is
3476   meant to collect Unix-specific APIs. For now, it contains
3477   g_unix_open_pipe(), g_unix_set_fd_non_blocking() for dealing
3478   with pipes and fds, as well as APIs to create mainloop
3479   sources which can trigger callbacks on certain Unix
3480   signals (SIGTERM, SIGHUP, SIGINT).
3481
3482 * Bugs fixed:
3483  631379 GDBus nonce-tcp test failing
3484  632631 GLib-CRITICAL **: g_variant_new_string: assertion `g_utf8_validate (string, -1, NULL)' failed
3485  635694 gdbus aborting due to unauthorized socket in DBUS_SESSION_BUS_ADDRESS
3486  637561 Crash when using G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
3487  642935 g_date_time_format() prints wrong value for %z and timezone -0800
3488  643134 g_dbus_message_copy
3489  644941 glib-unix: New Unix-specific API
3490  646013 g_hash_table_remove_all_nodes optimization
3491  646309 glib cannot be cross-compilled for mingw32
3492  646435 GTimeZone doesn't seem to be thread-safe
3493  646957 GIO chained calls don't work with a thread default context
3494  647594 README link to mailing list is broken
3495  647602 Cannot connect to remote message bus via TCP
3496  647746 The GSocketService documentation is incomplete.
3497  647826 API: gtester: Add g_test_fail()
3498  647903 GDesktopAppInfo: Add g_desktop_app_info_get_categories()
3499  648416 g_app_info_create_from_commandline ignores SUPPORTS_STARTUP_NOTIFICATION
3500  648423 Support G_DEBUG=trap-warnings
3501  648425 GDesktopAppInfo: Add "filename" property for bindings
3502  648966 Update g_unichar_iswide and g_unichar_iswide_cjk
3503
3504 * Updated translations
3505  Norwegian bokmål
3506  Spanish
3507  Turkish
3508  Uighur
3509
3510
3511 Overview of Changes from GLib 2.28.0 to 2.29.2
3512 ==============================================
3513
3514 * GApplication
3515  - The documentation has been enhanced and clarified
3516  - An opt-out for uniqueness has been added: G_APPLICATION_NON_UNIQUE
3517  - GApplication now syncs settings before g_application_run() returns
3518
3519 * GDBus
3520  - Interface lookups are now happening in constant time
3521  - Signature checking and handling of various unexpected
3522    situations has been improved
3523
3524 * GVariant
3525  - The format accepted by the GVariant parser has beend documented
3526  - GVariant accepts G_VARIANT_TYPE_VARDICT for a{sv}
3527
3528 * GDateTime:
3529  - The return value of g_datetime_compare() has been fixed to
3530    match strcmp() semantics
3531  - In order to handle problems with changing timezones, a GTimeZoneMonitor
3532    has been added to GIO, and g_time_zone_refresh_local() can be
3533    called to update the cached information about the local timezone
3534
3535 * GOption now uses /proc/self/cmdline to set the program name instead
3536   and only falls back to "<unknown>" if that is unavailable
3537
3538 * GSettings:
3539  - The schema compiler now warns about references to non-existing schemas
3540
3541 * Commandline utilities are now fully translated
3542
3543 * Signals can now indicate that collecting their arguments must
3544   always happen, even in the absence of connected signal handlers,
3545   using the G_SIGNAL_MUST_COLLECT flag.
3546
3547 * Bugs fixed:
3548  635099 Memory leak in gdbus introspection when parsing xml
3549  640489 $ and ^ do not match lines if G_REGEX_MULTILINE|G_R...
3550  642042 Overriding GDBus org.freedesktop.DBus.Properties im...
3551  642052 g_timeout_add(_seconds) cannot handle large intervals
3552  642490 notify_desktop_launch() "g_variant_new_bytestring:...
3553  613269 g_type_get_qdata() doesn't work as I expected on subtypes
3554  624943 G_VALUE_NOCOPY_CONTENTS is undocumented
3555  637738 object_interface_check_properties never actually executes
3556  638185 GIOCondition should be annotated as "flags"
3557  639478 GDBusServer's g_dbus_server_new_sync() function should just...
3558  641755 Add g_settings_get/set_uint() helpers
3559  641768 dconf gsettings backend silently drops writes if it can't...
3560  642797 g_app_info_get_default_for_type() broken for subtypes
3561  642825 Unnecessary assertion failure in g_option_context_parse()
3562  642944 NULL key lookup using g_hash_table_lookup_extended()
3563  643074 Incorrect documentation for g_socket_receive() and g_socket...
3564  643197 g_application_id_is_valid docs imply no valid ids
3565  643468 GApplication docs: Warn that handling "command-line" means...
3566  643478 GApplication::local_command_line vfunc documentation seems wrong
3567  643624 Can g_variant_unref() on an already free'd variant
3568  643649 g_application_run() should say that argc/argv can be NULL
3569  643780 shouldn't need to create an action group to use actions...
3570  643795 g_timeout_add_seconds fires with intervals 1 second longer...
3571  644309 Program name is not set when using GtkApplication
3572  644428 Crash in failure section of g_markup_collect_attributes()
3573  644465 undefined reference to `_usleep'
3574  644552 g_timeout_add_seconds(1, ...) may have a latency of up to 2...
3575  644607 Correct internal definition of C_()
3576  645789 annotations for g_file_*_contents
3577  646039 g_settings_list_children() returns child that cannot be opened
3578  646310 Accept range with only min or max
3579  646420 g_dbus_method_invocation_get_parameters() docs should say...
3580  646843 occasional abort on autologin
3581  646985 add G_APPLICATION_NON_UNIQUE flag
3582  647579 gsettings: Implement reset-recursively
3583  647600 gsettings description has typo
3584
3585 * Translation updates
3586  Afrikaans
3587  Bulgarian
3588  Bengali India
3589  British English
3590  Bulgarian
3591  Catalan
3592  Czech
3593  Danish
3594  French
3595  Galician
3596  German
3597  Greek
3598  Gujarati
3599  Hebrew
3600  Hungarian
3601  Italian
3602  Japanese
3603  Korean
3604  Lithuanian
3605  Polish
3606  Portuguese
3607  Romanian
3608  Serbian
3609  Simplified Chinese
3610  Spanish
3611  Swedish
3612  Traditional Chinese
3613  Uighur
3614  Vietnamese
3615
3616
3617 Overview of Changes from GLib 2.27.93 to 2.28.0
3618 ===============================================
3619
3620 * Bugs fixed:
3621 641363 GInitable documentation isn't clear about that finalize...
3622 641395 Add more data about the origin application to the "Lau...
3623 641411 gdesktopappinfo signals lost if it's the session bus...
3624 641477 glib-mkenums uses unportable #! line
3625 641572 Add @EXEEXT@ to pkgconfig binary name
3626 641688 glib installs GSettings.html and gsettings.html
3627
3628 * Translation updates:
3629  Galician
3630  Italian
3631  Korean
3632  Punjabi
3633
3634
3635 Overview of Changes from GLib 2.27.92 to 2.27.93
3636 ================================================
3637
3638 * Bugs fixed:
3639  637013 gio/gdbusmessage.c fails to compile on Solaris
3640  640192 Error creating a Gio.Settings object through py...
3641  640261 Minimum version for external pcre needs to be..
3642  640262 GActionGroup contains redundant TYPE macros
3643  640436 Make load_user_special_dirs() resistant to non...
3644  640695 g_key_file_load_from_file() mishandles a CR-LF...
3645  640724 can't compile gio due to format string issues
3646  640725 can't compile tests due to format string issue
3647  640807 improve GVariant behaviour with invalid pointers
3648  640823 wrong documentation for g_source_add_child_source
3649
3650 * Translation updates:
3651  Bulgarian
3652  Galician
3653  Hebrew
3654  Norwegian bokmål
3655  Spanish
3656  Traditional Chinese
3657
3658
3659 Overview of Changes from GLib 2.27.91 to 2.27.92
3660 ================================================
3661
3662 * Update to Unicode 6.0
3663
3664 * Update PCRE to 8.12
3665
3666 * Bugs fixed:
3667  637696 g_unix_connection_send_fd() doesn't work
3668  638872 null settings backend bug
3669  640042 GtkApplication's warning about not connecting...
3670
3671 * Translation updates:
3672  Arabic
3673  Basque
3674  Estonian
3675  Greek
3676
3677 Overview of Changes from GLib 2.27.90 to 2.27.91
3678 ================================================
3679
3680 * Bugs fixed:
3681  638838 gdesktopappinfo: Don't crash if we don't have a desktop filename
3682  638894 Splitting on \s* gives no result
3683  639064 Update gschema.dtd
3684  639084 Copy/paste error in GSettings::writable-changed signal
3685  639177 SIGSEGV for GApplications with G_APPLICATION_IS_SERVICE
3686
3687 * Translation updates:
3688  Estonian
3689  Galician
3690  Indonesian
3691
3692
3693 Overview of Changes from GLib 2.27.5 to 2.27.90
3694 ===============================================
3695
3696 * Test reports created by gtester-report can now
3697   include revision information
3698
3699 * The g_desktop_app_info_launch_* family of functions
3700   now emit a DBus signal when an application is launched.
3701   Additionally, there is a new variant
3702   g_desktop_app_info_launch_uris_as_manager(), which
3703   gives more control over the launched process.
3704
3705 * The memory and null GSettings backends are now available
3706   as public API
3707
3708 * g_get_locale_variants() is a new function that returns a
3709   list of variants of a locale identifier
3710
3711 * Bugs fixed:
3712  587898 I/O timeouts for GSocket
3713  606960 gio: Add extension point for informing parties...
3714  631980 Handle an optional <revision> node in the report...
3715  634569 Document that g_variant_builder_add_value consumes...
3716  635998 Make _g_compute_locale_variants public
3717  636806 Add g_{memory,null}_settings_backend_get_default
3718  637262 Need a binary DER version of ::accepted-cas
3719  637544 Skip fsync() on btrfs
3720  637720 void functions should not return a value.
3721  637738 object_interface_check_properties never actually...
3722  637759 GIOChannel: fix a crash in g_io_channel_read_chars()
3723  637852 Updates to glib.vsprops file for MSVC 2008 builds...
3724  637858 Updates to test/testglib.c...
3725  638349 parameter name of g_variant_new_* may conflict...
3726
3727 * Translation updates:
3728  Hebrew
3729  Norwegian bokmål
3730  Simplified Chinese
3731  Spanish
3732  Swedish
3733  Uyghur
3734  Vietnamese
3735
3736
3737 Overview of Changes from GLib 2.27.4 to 2.27.5
3738 ==============================================
3739
3740 * Network support:
3741  - Add g_tls_certificate_verify() to verify a certificate
3742  - Add GTlsConnection:use-system-certdb
3743  - Other TLS api additions
3744
3745 * GIO:
3746  - Add g_io_stream_splice_async()/_finish() to splice two iostreams
3747  - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon derivable
3748  - Remove GPeriodic; it did not receive the necessary review and
3749    integration work to declare it stable
3750
3751 * GSequence:
3752  - New methods g_sequence_lookup() and g_sequence_lookup_iter()
3753
3754 * Bugs fixed:
3755  617254 Missing g_sequence_lookup
3756  632544 g_dbus_connection_send_message can not send a locked message...
3757  633350 g_hostname_to_ascii() ignores non-ascii dots
3758  634583 Better error reporting for g_variant_parse()
3759  635007 gsetting enum rule don't work for out-of-srcdir builds
3760  635626 GDBus message idle can execute while flushes are pending
3761  636100 Can't read GSettings:backend property
3762  636305 Typo on g_queue_remove_all() function description
3763  636311 appinfo: tweak application positioning for content-types
3764  636351 g_simple_async_result_is_valid lacks a version tag
3765  636387 gdb autoload files shadow the "dir" builtin
3766  636673 g_simple_async_report_error_in_idle should allow object...
3767  637147 Add a "delay-apply" property to GSettings
3768  637171 emblemedicon: add g_emblemed_icon_clear_emblems()
3769  637237 gapplication: plug a memory leak
3770
3771 * Translation updates:
3772  Estonian
3773  Galician
3774  Hebrew
3775  Norwegian bokmål
3776  Simplified Chinese
3777  Spanish
3778  Traditional Chinese
3779  Vietnamese
3780
3781
3782 Overview of Changes from GLib 2.27.3 to 2.27.4
3783 ==============================================
3784
3785 * GIO
3786  - Mounts are treated as hidden if they have a path element
3787    that starts with a dot
3788  - GAppInfo gained API to differentiate between recommended
3789    and fallback mime handlers
3790  - g_cancellable_create_source: creates a GSource that triggers
3791    when the GCancellable is canceled
3792  - GPollableInput/OutputStream: Interfaces for pollable streams
3793  - TLS support has landed, with an extension point that is
3794    implemented in glib-networking
3795
3796 * GLib
3797  - Mainloop sources can now have 'child sources'
3798  - g_get_runtime_dir: New function to return the XDG_RUNTIME_DIR
3799
3800 * Bugs fixed:
3801  530786 GFileMonitor "changed" signal underdocumented
3802  588189 TLS support for GSocket*
3803  630357 g_object_new_valist uses uninitialized memory
3804  630559 typo in public string in gsocks: 'The SOCKSv5 require...
3805  632445 Documentation refers to removed GNOME 2.0 porting guide
3806  634239 Child GSources
3807  634241 Add pollable input/output streams
3808  634504 allow passing a NULL emblem to g_emblemed_icon_new()
3809  634613 unsufficient g_get_user_runtime_dir() documentation
3810  635640 schema should inherit gettext-domain from schemalist
3811  635768 Protect g_file_monitor_set_rate_limit() against negative...
3812  635882 Fix the wrong-category schema test
3813  635187 Wrong type of GVariant received in an action...
3814
3815 * Updated translations:
3816  Galician
3817  Italian
3818  Norwegian bokmål
3819  Uyghur
3820
3821
3822 Overview of Changes from GLib 2.27.2 to 2.27.3
3823 ==============================================
3824
3825 * The GTimeSpec type that was introduced in the 2.27.2 has been
3826   dropped again in favour of APIs that return microseconds as
3827   64-bit integer.
3828   Affected functions:
3829   g_source_get_time
3830   g_periodic_unblock
3831   g_get_monotonic_time
3832   g_get_real_time
3833   The similar GTimeVal struct is still around, but its use is
3834   discouraged.
3835
3836 * GTimer is now using monotonic time unconditionally
3837
3838 * There are some new functions to facilitate error reporting
3839   in async GIO APIs:
3840   g_simple_async_result_take_error
3841   g_simple_async_result_new_take_error
3842   g_simple_async_report_take_gerror_in_idle
3843
3844 * There is new convenience API to us GVariant dictionaries:
3845   g_variant_lookup
3846
3847 * It is now possible to delay sending match rules to the
3848   D-Bus daemon in GDBus:
3849   G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE
3850
3851 * Support has been added for XDG_RUNTIME_DIR:
3852   g_get_user_runtime_dir
3853
3854 * Various fixes for Win64/MSVC builds have been committed
3855
3856 * Bugs fixed:
3857  620263 Add g_clear_object, g_clear_pointer, g_clear_boxed
3858  633075 update Project Files and sources for MSVC 2008/C89
3859  633381 gsettings Makefile rules should handle empty list...
3860  633685 Use g_simple_async_result_{new_,}take_error
3861  633686 Add g_simple_async_report_take_gerror_in_idle
3862
3863 * Translation updates:
3864   Belarusian
3865   Galician
3866   Hebrew
3867   Punjabi
3868   Spanish
3869
3870
3871 Overview of Changes from GLib 2.27.1 to 2.27.2
3872 ==============================================
3873
3874 * GApplication
3875  - Export actions over DBus and support activating them from remote instances
3876  - Support environment passing
3877
3878 * GSettings
3879  - The gsettings utility has a list-recursively command
3880  - The gsettings utility has commandline completion for enum values
3881
3882 * GLib is now linked against librt and uses monotonic time for
3883   timeouts and GPeriod sources. GSource has a new g_source_get_time()
3884   which returns monotonic time, and g_source_get_current_time() has
3885   been deprecated
3886
3887 * Bugs fixed:
3888  158725 free linked list with data
3889  626320 GVariant: Avoid locking in g_variant_get_child_value() if possible
3890  629247 add gsimpleasyncresult methods to take over a GError
3891  629274 GNetworkService does not do fallback when there is no SRV record
3892  631264 gsettings-tool choice/range support
3893  631482 g_date_time_from_instant: 1000000000000000000
3894  632169 docs for manual use of gsettings-data-convert
3895  632571 Add equivalent to gconftool-2's -R option
3896  633115 GSettings m4 doesn't fail the build for broken schemas
3897  633206 Default g_application_local_command_line() doesn't set exit_status...
3898  633339 support more complex gapplication setups
3899  633356 Make timeout G_MAXINT mean "no timeout"
3900
3901 * Translation updates:
3902  Catalan (Valencian)
3903  Indonesian
3904  Japanese
3905
3906
3907 Overview of Changes from GLib 2.27.0 to 2.27.1
3908 ==============================================
3909
3910 * GDateTime now has full week number support.
3911   New API: g_date_time_get_week_numbering_year
3912
3913 * The GSettings schema compiler will now skip over
3914   broken .xml schema files instead of aborting altogether
3915
3916 * GSettings now works properly on bigendian systems
3917
3918 * GSettings has more complete support for ranges
3919   New API:
3920     g_settings_get_range
3921     g_settings_range_check
3922   The gsettings commandline tool supports ranges too.
3923
3924 * GApplication has been rewritten; see the API docs for details
3925   and examples. The action support is not complete yet.
3926
3927 * The GLib mainloop has gained 'dispatch to context' functionality,
3928   which can replace manually created idles in many cases.
3929   New API:
3930     g_main_context_invoke
3931     g_main_context_invoke_full
3932
3933 * The gio-desktop-app-info-lookup extension point has been
3934   removed from GIO. GIO now uses x-scheme-handler mimetypes when
3935   looking for default applications.
3936
3937 * On win32, make g_get_user_data_dir() return the CSIDL_LOCAL_APPDATA
3938   folder on Windows, and not CSIDL_PERSONAL. This matches what Qt does,
3939   and has been widely requested. Also make g_get_user_config_dir() return
3940   this and not the (roaming) CSIDL_APPDATA folder.
3941
3942 * A periodic event clock has been added in GIO: GPeriodic. Note that this
3943   API is still experimental and expected to undergo changes before it
3944   will be incorporated into a stable GLib release. Use at your own risk.
3945
3946 Bug fixes:
3947  613822 gobject signal connect/disconnect not thread safe
3948  618737 "dispatch to context" functionality
3949  620710 g_get_user_data_dir() uses CSIDL_PERSONAL and not CSIDL_APPDATA
3950  623400 acquire context before dispatching
3951  627126 gsettings schema files don't get installed on FreeBSD
3952  627171 g_socket_new_from_fd() doesn't set the right protocol
3953  628876 Wrong error description
3954  628937 gracefully handle broken schemas
3955  629274 GNetworkService doesn't fallback when there is no SRV record
3956  629289 g_error() used wrong, produces core dump
3957  629687 leaks class refcount in gsocketcontrolmessage
3958  629849 GLib-CRITICAL **: g_source_get_context: assertion `!SOURCE_...
3959  629945 GDBus deadlock in g_bus_get_sync()
3960  630000 g_date_time_difference
3961  630077 GDateTime week number support
3962  630185 Allow NULL strings in g_quark_try_string()
3963  630797 docs mention non-existent g_object_dispose()
3964  630968 gschema-compile problems on power g5
3965  631263 GSettings needs range/choice APIs
3966  631264 gsettings-tool choice/range support
3967  631379 GDBus nonce-tcp test failing
3968  631410 Port gapplookupgconf.c to using x-scheme-handler/
3969  632884 Possible deadlock in g_object_remove_toggle_ref()
3970
3971 Transation updates:
3972  Basque
3973  Brazilian Portuguese
3974  British English
3975  Bulgarian
3976  Czech
3977  Dutch
3978  Estonian
3979  French
3980  Galician
3981  German
3982  Greek
3983  Hebrew
3984  Hungarian
3985  Japanese
3986  Lithuanian
3987  Polish
3988  Portuguese
3989  Romanian
3990  Simplified Chinese
3991  Slovenian
3992  Spanish
3993
3994
3995 Overview of Changes from GLib 2.25.15 to GLib 2.27.0
3996 ====================================================
3997
3998 Build:
3999   - massive restructuring to reduce #include abuse
4000   - tweaks to silence some harmless compiler warnings
4001   - rename gschema-compile.c to glib-compile-schemas.c
4002   - Windows fixes
4003   - fix building with zlib < 1.2.4 on win32
4004
4005 GDateTime:
4006   - better msgctxt for translating month and weekday names
4007   - API is changed quite a lot, implementation is improved
4008   - GTimeZone is now exposed
4009
4010 GObject:
4011   - make ordering for overridden interface properties consistent
4012   - ->priv structures are limited to 64k but this was not documented,
4013     and exceeding this limit produced bad results.  Add docs and enforce
4014     the limit properly.
4015   - add g_object_class_install_properties() to install multiple
4016     properties in one go
4017   - improve debugging output for GValue containing G_TYPE_STRV
4018
4019 GIO:
4020   - fix priority sorting of GIO extensions
4021   - add GCredentials support on FreeBSD
4022   - fix support for IPv6 addresses in URI parsing functions
4023   - GSocketClient fixes for when g_socket_connect succeeds immediately
4024   - clarify string encoding for GFile constructors in docs
4025   - new functions g_data_input_stream_read_upto{,async,finish}
4026   - tweak confusing documentation for g_output_stream_write()
4027
4028 GDBus:
4029   - GDBusMessage can now be locked and copied (like in libdbus)
4030   - GDBusConnection filter function API has changed again
4031   - GDBusServer: ::new-connection now declares if the connection was claimed
4032   - add a partial workaround for GObject bug 627724.
4033   - very many memory leaks fixed
4034
4035 GVariant:
4036   - check for size == 0 in g_variant_get_bytestring to avoid a crash
4037     when attempting to get_bytestring() from an empty array
4038   - improve gobject-introspection annotations
4039
4040 GSettings:
4041   - add GSettings Windows registry backend
4042   - some internal tweaks to the backend API
4043   - remove g_settings_list_items
4044   - add g_settings_list_children and _list_keys to replace it
4045   - add schema compiler restrictions for dealing with lists
4046   - don't automatically emit value changed signals on writability
4047     changes
4048
4049 Other:
4050   - constify the 'parser' vtable param to g_markup_parse_context_push()
4051   - plug many memory leaks in test cases
4052
4053 Bugs closed:
4054   50076 Time API to go with date API
4055  584284 g_data_input_stream_read_until_async different from sync version
4056  624546 Modification of GDBusMessage in filter function
4057  626919 Let g_object_class_install_property() return the installed GParamSpec*
4058  628029 GDateTime missing get_week_of_year method
4059  628253 Interface properties not listed in a consistent order
4060  628331 Plug lots of mem leaks in gio test suite
4061  628345 Plug a mem leak
4062  628436 Plug a mem leak
4063  628505 Fix building with zlib < 1.2.4 on win32
4064  628839 [PATCH] datetime: Rename shadowing variables
4065  628904 [PATCH] Add credential support for FreeBSD and fix a socket issue
4066  628952 incorrect glib_major_version and other variables on cygwin.
4067  629192 g_strdup_value_contents(): dump GStrv more usefully
4068  629251 g_socket_client_async_connect_complete: assertion failed
4069  629259 Failed to connect to "::1"
4070  629328 g_markup_parse_context_push doesn't respect const structs
4071  629429 month "May" short and full form same with "GDateTime" msgctxt
4072  629689 GDBusConnection leaks its GCredentials
4073  629698 Segfault in g_variant_get_bytestring() 
4074
4075 Updated translations:
4076   Arabic
4077   Armenian
4078   Basque
4079   British English
4080   Czech
4081   Finnish
4082   Galician
4083   German
4084   Hungarian
4085   Indonesian
4086   Japanese
4087   Lithuanian
4088   Norwegian bokmål
4089   Polish
4090   Portuguese
4091   Punjabi
4092   Simplified Chinese
4093   Slovenian
4094   Spanish
4095   Swedish
4096   Swedish
4097   Traditional Chinese
4098
4099 Overview of Changes from GLib 2.25.14 to GLib 2.25.15
4100 =====================================================
4101
4102  * GIO
4103   - Memory leak fixes
4104   - The GZip(De}Compressor can now process header information
4105   - Support for network proxies has been added, with the GProxy
4106     interface and the gio-proxy-resolver extension point. GIO
4107     includes SOCKSv4 and SOCKSv5 implementations, and libproxy
4108     is also going to provide an implementation of this extension
4109     point.
4110   - There are GAction and GActionGroup interfaces now, which will
4111     be used in GApplication in the near future.
4112
4113  * GObject
4114   - There are now convenience macros for defining boxed and
4115     pointer types
4116
4117  * GDBus
4118   - Memory leak fixes
4119   - GDBusProxy for well-known names can now auto-restart
4120     the service if the name owner disapperas
4121   - Filter functions are now allowed to modify messages
4122
4123  * GLib
4124   - GDateTime is a replacement for GDate that supports time
4125     and timezone information.
4126
4127  * Bugs fixed:
4128   50076 Time API to go with date API
4129  449565 Add G_DEFINE_BOXED_TYPE()
4130  617691 Add GZIP header processing to GZlibCompressor/GZlibDecompressor
4131  622184 add g_memory_output_stream_steal_data
4132  624546 Modification of GDBusMessage in filter function
4133  627088 Build failure in gdbus-peer.c on FreeBSD
4134  627181 save a memdup
4135  627182 Plug a mem leak in the gdbus-connection test
4136  627187 Plug some gdbus mem leaks
4137  627188 gdbus-non-socket test occasionally fails
4138  627252 G_OPTION_FLAG_NO_ARG is only for callback options
4139  627392 gdbus commit 8a3a4596 breaks win32 compile
4140  627407 FTBFS on !linux UNIX platforms
4141  627604 String error: 'that' twice in a row
4142  627969 ABR in g_file_open_tmp
4143  628084 gdbus-peer fails with assertion
4144  628193 Miscellaneous string fixes
4145  628296 abort() in gsocketconnection.c
4146  628309 Plug a mem leak in GConverterOutputStream
4147  628317 GEmblemedIcon:equal implementation is buggy
4148  628323 Fix invalid reads
4149  628327 Plug a mem leak
4150  628328 Plug a mem leak
4151  628329 Don't leak the FD list
4152  628324 Invalid reads in gdbus-export test
4153
4154  * Updated translations:
4155   British English
4156   Danish
4157   Galician
4158   Hebrew
4159   Punjabi
4160   Serbian
4161   Spanish
4162   Traditional Chinese
4163
4164
4165 Overview of Changes from GLib 2.25.13 to GLib 2.25.14
4166 =====================================================
4167
4168 * GDBus
4169  - Make the closure variants of GDBus apis work
4170  - Make error unregistration work
4171  - Use async IO in the IO thread (626748)
4172
4173 * GIO
4174  - Make g_simple_async_result_is_valid work without source (626208)
4175  - GSocketClient: add a timeout property
4176  - Fix memory leaks in GSocketClient
4177  - Handle async vs. sync correctly in GSocketConnection stream (616458)
4178  - Declare stream base classes as abstract
4179  - Clarify semantics of g_output_stream_write() (627071)
4180
4181 * Other
4182  - Improve test coverage for GDBus, GRegex, GAsyncResult
4183  - Drop dead code in pcre, xdgmime
4184  - Fix a race condition in gtester (578295)
4185  - Avoid an extra allocation in GAsyncQueue (626704)
4186  - Add test case for non-socket GIOStream (626841)
4187  - More explicit GVariant docs (622770)
4188  - Imroved docs for GAsyncInitable and GSimpleAsyncResult (602417)
4189
4190 * Translation updates:
4191  - Galician
4192  - Norwegian bokmål
4193  - Punjabi
4194  - Simplified Chinese
4195  - Swedish
4196
4197
4198 Overview of Changes from GLib 2.25.12 to GLib 2.25.13
4199 =====================================================
4200
4201 +-------------------------------------------------------------------+
4202 |   WARNING: There have been no breaks in API or ABI.  Weird, eh?   |
4203 +-------------------------------------------------------------------+
4204
4205 The primary purpose of this release is to fix a serious problem with
4206 glib 2.25.12: glibconfig.h (as generated on a Fedora amd64 system) was
4207 being distributed in the tarball.  It was being used to build some parts
4208 of glib on other systems (eg: 32bit ones).  This was causing some very
4209 serious problems.
4210
4211 There have been many other improvements, however:
4212
4213  Build and testing:
4214   - vastly improved test coverage
4215   - old tests moved to the gtester framework
4216   - gtester Makefile modified so that the tests only run once
4217   - cleanup of how we handle includes while building glib
4218
4219  GVariant:
4220   - add a g_return_if_fail (utf8) to g_variant_new_string()
4221
4222  GDBus:
4223   - perform extra sanity checks when serialising messages
4224   - add API to query and set the byteorder of a GDBusMessage
4225   - improve debug output, add some extra options
4226   - if exiting due to the bus disconnecting us, print an error message
4227     explaining why
4228   - sort property names correctly
4229   - don't bother sending RemoveMatch when we will close the connection
4230     anyway
4231   - use effective uid/gid for credential passing
4232
4233  GSettings:
4234   - add G_SETTINGS_BIND_INVERT_BOOLEAN for inverting boolean bindings
4235     without mapping functions
4236   - mark all strings in the schema compiler for translation
4237
4238  Binding:
4239   - improve closure support for bindings
4240   - copy GSettings INVERT_BOOLEAN flag
4241
4242  Other:
4243   - fix another complicated GCancellable deadlock possibility
4244
4245 Bugs closed:
4246  599590 glib build doesn't look for correct pkg-config
4247  619026 avoid warning in gutils.h when using gcc with -Wconversion
4248  624739 Please fix POTFILES.in
4249  625472 Valgrind claims uninitialized bytes used
4250  625500 g_date_set_time_val documentation doesn't mention local time
4251  625628 GDBusProxy: wrong property name sorting
4252  625753 Incorrect flags used in g_dbus_connection_call_sync()
4253  625827 Expand documentation about error quark naming
4254  625988 builddir != srcdir issues
4255  626107 glibconfig.h is being disted
4256
4257 Updated translations:
4258  French
4259  Galician
4260  Hebrew
4261  Norwegian bokmål
4262  Spanish
4263
4264
4265 Overview of Changes from GLib 2.25.11 to GLib 2.25.12
4266 =====================================================
4267
4268 +-------------------------------------------------------------------+
4269 | WARNING: There have been many API changes in GDBus -- sending     |
4270 | messages, subscribing to signals, closing connections and         |
4271 | registering subtrees are affected.  The ABI for GSettingsBackend  |
4272 | has also been changed.  For both reasons, a new dconf release is  |
4273 | required (and will be along soon).                                |
4274 +-------------------------------------------------------------------+
4275
4276 Build:
4277   - cleanup automake setup
4278   - rename configure.in to configure.ac
4279   - various docs fixups
4280   - move glibconfig.h to glib/
4281   - disable dtrace support on Mac OS (which has incompatible 'dtrace')
4282
4283 GSettings:
4284   - add support for vendor override files (to change the default values
4285     in a schema)
4286   - change GSettingsBackend vtable
4287   - add g_settings_reset()
4288   - support binding to G_TYPE_STRV properties
4289
4290 GDBus:
4291   - many bug fixes, including a serialisation fix
4292   - stop handling incoming connections as soon as stop() is called
4293   - proper support for file descriptor passing
4294   - new flags parameter for sending messages
4295   - new flags parameter for subscribing to signals
4296   - always reset the message serial when sending a message unless
4297     G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL is given
4298   - constness fixes for introspection structures
4299   - clean ups to subtree registration API
4300
4301 Other:
4302   - fix divide by zero bug in g_malloc_n functions
4303   - GIO: don't blindly assume that SOCK_CLOEXEC is supported
4304   - make GObject property notify freezes threadsafe
4305   - GIO: clean up credentials passing
4306   - GApplication: make default-quit not apply if register=FALSE
4307   - GIO: add annotations for gobject-introspection
4308
4309 Bugs closed:
4310  166020 use GAtomic for refcounting
4311  617483 Credentials passing
4312  622005 [GApplication] no way to modify the "default-quit" property
4313  623293 vendor override files
4314  623810 Message serialization bug
4315  623815 Don't check sender for GDBusProxy objects where name is not set
4316  624473 GDBusSubtreeIntrospectFunc return type
4317  624483 GDBusSubtreeEnumerateFunc clarification
4318  624484 GDBusSubtreeDispatchFunc clarification
4319  624754 gdbusaddress.c missing sys/wait.h
4320  624968 div by zero in g_malloc_n family
4321  624991 GSettings mapping for G_TYPE_STRV 
4322  625383 Add missing GI annotations
4323
4324 Updated Translations:
4325  Armenian
4326  Galician
4327  German
4328  Hebrew
4329  Kazakh
4330  Romanian
4331  Simplified Chinese
4332  Spanish
4333
4334 Overview of Changes from GLib 2.25.10 to GLib 2.25.11
4335 =====================================================
4336
4337 +-------------------------------------------------------------------+
4338 | WARNING: There have been minor API changes in GDBus and GVariant. |
4339 | These API changes will not affect many users, but they do require |
4340 | a new version of GTK+ to be installed.                            |
4341 +-------------------------------------------------------------------+
4342
4343 Build:
4344   - add a --disable-Bsymbolic configure flag to disable linking with
4345     -Bsymbolic-functions
4346   - this release sees the complete removal of the old 'g*alias' hacks
4347   - honour the NOCONFIGURE environment variable from autogen.sh
4348   - use proper feature test macros for isnan
4349   - use pkg-config to check for zlib
4350   - add ACLOCAL_AMFLAGS to Makefile.am
4351
4352 GDBus:
4353   - hide Class and instance structures for all GDBus types except
4354     GDBusProxy.  This breaks API by preventing subclassing, but probably
4355     nobody was doing that.
4356   - add new GDBusConnection call to support flushing all pending
4357     outgoing messages
4358   - change the register_object API to add a reference to the
4359     GDBusInterfaceInfo object so the caller need not keep it alive
4360     themselves
4361   - don't rewrite the serial number when sending messages that already
4362     have a serial number
4363   - better error checking for DBUS_SESSION_BUS_ADDRESS environment
4364     variable
4365   - switch to g_parse_debug_string for G_DBUS_DEBUG and add a lot of new
4366     flags
4367   - add support for temporarily freezing a freshly created
4368     GDBusConnection.  Do this until after the ::new-connection signal
4369     has finished running on GDBus services.
4370   - never require non-closed connections (the user is incapable of doing
4371     this due to the obvious race)
4372   - remove weird/misleading redundant check on NameOwnerChanged signal
4373   - emit GDBusProxy::g-properties-changed on NameOwnerChanged
4374
4375 GVariant:
4376   - the 'g_variant_{new,get}_byte_array' APIs have been removed
4377   - g_variant_{new,get,dup}_bytestring has been added, with different
4378     arguments and different behaviour
4379   - g_variant_{new,get,dup}_bytestring_array has been added, doing
4380     essentially the same thing as the 'strv' functions, but with byte
4381     strings instead of utf8 strings
4382   - G_VARIANT_TYPE_BYTESTRING ('ay'), BYTESTRING_ARRAY ('aay') and
4383     STRING_ARRAY ('as') constants have been added
4384   - the undocumented behaviour that g_variant_get_strv() deserialised
4385     arrays of object paths or signature strings has been dropped
4386   - additional varargs support for converting bytestrings or bytestring
4387     arrays with ^ay ^aay ^&ay and ^a&ay
4388   - improved gobject-introspection annotation
4389   - fix a problem with GBuffer calling g_slice_free for the wrong type
4390   - fix leaks in the type inferencing code of the parser
4391
4392 GSettings:
4393   - improved documentation
4394   - updated schema XML DTD, now xincluded into the docs
4395   - added support for schemas that extend other schemas (using the
4396     'extends=' attribute).  Values of keys in the base schema can be
4397     overridden using <override>.
4398   - added theoretical support for lists (using the 'list-of=' attribute)
4399   - lots of new tests
4400   - add support for flags (implemented similarly to enums)
4401   - add support for generating .enums.xml files to gsettings.m4:
4402       gsettings_ENUM_NAMESPACE = org.example.myapp
4403       gsettings_ENUM_FILES = ../path/to/*.h
4404     will generate org.example.myapp.enums.xml with mappings for all
4405     enums and flags in the specified .h files.
4406   - warn with g_message() if the 'memory' backend is used by default
4407     (ie: because no other GSettings backends are installed)
4408   - fix get_property() for GSettings::schema
4409   - command line tool: fix a bug that prevented non-basic values from
4410     being set due to a premature free
4411   - command line tool: bash completion support
4412   - chain up in _finalize
4413   - add a new g_settings_get_mapped API to read settings that require
4414     post-processing
4415   - retry with the translated or schema default value if the
4416     GSettingsBindGetMapping function fails
4417   - schema compiler: never fail due to empty schema directories (but
4418     warn)
4419   - peek rather than ref/unref the GEnumClass in the mapping function
4420   - schema compiler: compile *.enums.xml before *.gschemas.xml to ensure
4421     that we have all the enums that the schemas may reference
4422   - schema compiler: improve accuracy of line numbers in error reports
4423   - fix crashes in the keyfile backend caused by invalid group names in
4424     the keyfile
4425
4426 Other:
4427   - always intern GBinding prop names
4428   - base64: remove asserts preventing conversion of empty strings
4429   - document NULL special-cases for GValueArray
4430   - GNode docs improvements
4431   - improve detection of 'system internal' mounts
4432   - fix leaks in the inotify GFileMonitor implementation
4433   - annotate all custom GIO GSources to improve debugging (e.g. using
4434     SystemTap)
4435
4436 Tests:
4437   - Turn on glibc malloc checking features for make check
4438   - improvements for GSettings tests, plus new tests
4439   - improved tests for GKeyfile
4440   - new tests for GDir, GSList, GSList, GAppLaunchContext,
4441     CharsetConverter, GIcon, ...
4442   - move some tests to GTester (tree tests, uri tests)
4443   - generally, really an awful lot of new tests
4444   - don't try to allocate 2gigs of memory anymore for the array test
4445
4446  552363 g_value_array_{insert,prepend,append}'s special cases for NULL
4447  561248 Improve return value description from g_node_prev/next_sibling()
4448  570036 Add ACLOCAL_AMFLAGS to Makefile.am
4449  576833 g_sprintf add a reference to g_strdup_printf
4450  576854 g_strconcat() documentation should provide a hint about bad l10n
4451  582227 reference: add other URI functions to 'URI Functions' section
4452  599223 should provide g_spawn_* variants that take a GAppLaunchContext
4453  610784 array test failing
4454  613057 Leak in inotify GFileMonitor implementation
4455  620536 Annotate all custom GIO GSource using g_source_set_name
4456  620913 More control with G_DBUS_DEBUG
4457  622124 implement flags
4458  622127 GSettings extended key validation
4459  622128 retry with default value for failed mapping
4460  622294 More annotations for GVariant
4461  622565 glib-compile-schemas fails when no schemas
4462  622600 Fix missing prototype warning
4463  622813 gsettings mapping & enum buglet
4464  623142 Ensure ::new-connection runs before processing D-Bus messages
4465  623143 Never require non-closed connections
4466  623319 use g_parse_debug_string for dbus debug flags
4467  623401 process enums first
4468  623402 schema compiler reports wrong line numbers
4469  623407 g_keyfile_settings_backend_new crashes with the key "/"
4470  623473 zlib should be checked with pkg-config
4471  623537 GDBusProxy has weird checking on NameOwnerChanged
4472  623538 GDBusProxy::g-properties-changed emission for corner cases
4473  623692 directory with file at multiple MLS levels may display empty
4474  623720 gschema.dtd does not contain enum definitions
4475  623770 quoting of expand_macro in gdesktopappinfo.c
4476  623772 gdesktopappinfo.c, function child_setup
4477  623780 g_unix_is_mount_path_system_internal
4478  623954 g_settings_finalize
4479  623955 Dubious return values
4480
4481 Updated translations:
4482  Galician
4483  Hebrew
4484  Norwegian bokmål
4485  Spanish
4486
4487 Overview of Changes from GLib 2.25.9 to GLib 2.25.10
4488 ====================================================
4489
4490 +----------------------------------------------------------------+
4491 | WARNING: There have been API changes in GDBus. Users of these  |
4492 | APIs will need to be adapted.  In particular, a new release of |
4493 | dconf is required to go along with this one.  There has also   |
4494 | been a change in the GSettings backend API used for keyfiles.  |
4495 +----------------------------------------------------------------+
4496
4497 * GDBus:
4498  - add direction parameter to filter functions (API change)
4499  - allow calling other interfaces with a GDBusProxy
4500  - padding added to class struct fields (ABI change)
4501  - fixes for closures-based functions
4502
4503 * GVariant:
4504  - new is_floating() call
4505  - add g_value_take_variant() call (required for marshallers)
4506
4507 * GSettings:
4508  - support for binding GParamSpecEnum properties
4509  - ifelse-style condition support for GLIB_GSETTINGS m4 macro
4510  - remove gsettings-schema-convert tool (now in GConf)
4511  - allow introspection of all installed schemas
4512  - allow introspection of the keys in a schema
4513  - rewrite keyfile backend (API change)
4514
4515 * GNIO:
4516  - don't implicitly close GSocket until it is destroyed
4517  - windows fixups
4518
4519 * Other:
4520  - allow GChecksum to take (NULL, 0) for data/length
4521  - GRelation and GCompletion are now deprecated
4522  - introduce G_PARAM_DEPRECATED and G_ENABLE_DIAGNOSTIC
4523  - add working directory to GApplication platform data
4524  - lots of documentation cleanups
4525  - PCRE updated to 8.02
4526
4527 * Build:
4528  - the IA__g_* style symbol aliasing has been disabled and replaced with
4529    the -Bsymbolic-functions linker flag on platforms that support it.
4530    Please be on the watch for portability issues and report them to us.
4531  - many test cases have been moved to the GTester framework
4532  - lcov support has been added for tests
4533  - many windows fixes
4534
4535 * Bugs fixed:
4536  501057  lcov coverage suite and GLib integration
4537  551271  deprecate GRelation
4538  601686  Implement diagnostic mode
4539  603309  GSocketOutputStream broken on Windows (?)
4540  616718  GLIB_GSETTINGS macro can't be used conditionally
4541  616855  GSocketConnection: don't close the socket if it's still reffed
4542  618866  g_ptr_array_remove_index_fast memory leak
4543  619878  keyfile backend calls keys_changed with invalid argument
4544  619879  keyfile backend doesn't make use of expected_type
4545  621092  Add with_closures() variants for bindings
4546  621172  Cross compiling fails
4547  621838  Actually add cwd to platform data
4548  621945  Filter outgoing messages in GDBusConnection
4549  621947  add g_value_take_variant
4550  622038  GSettings: "It is a programmer error" documentation is unclear
4551  622154  [patch] update documentation for g_application_new
4552  622281  binding: Add SYNC_CREATE to the flags
4553  622480  Improve documentation for g_strcmp0()
4554  622554  g_error called if schema not installed
4555  622601  Return interned strings from g_settings_list_keys
4556
4557 * Translation updates:
4558  - Galician
4559
4560 Overview of Changes from GLib 2.25.8 to GLib 2.25.9
4561 ===================================================
4562
4563 +----------------------------------------------------------------+
4564 | WARNING: There have been API changes in GDBus, GSettings and   |
4565 | GApplication. Users of these APIs will need to be adapted. In  |
4566 | particular, a new release of GTK+ is required to go along with |
4567 | this one.                                                      |
4568 +----------------------------------------------------------------+
4569
4570 * GDBus
4571  - Use Gio's default async implementation
4572  - Fix proxy construction for objects with no properties
4573  - Fix error handling in synchronous initialization
4574  - Do not dispatch calls to unregistered objects
4575  - Add _with_closures alternative functions
4576  - Allow constructing GDBusProxy with well-known names
4577  - Remove GType parameters from GDBusProxy constructors
4578  - Nuke g_bus_watch_proxy API
4579  - Add --xml to gdbus-tool to print raw introspected XML
4580
4581 * GSettings
4582  - schema file format change: store (default, options) in gvdb
4583  - Add g_settings_sync()
4584  - Add support for enums and ranges
4585  - 'context' support has been replaced by direct use of
4586    GSettingsBackend
4587
4588 * GApplication
4589  - Switch to using variants for timestamps
4590  - Use GInitable
4591
4592 * GObject
4593  - Introduce g_object_notify_by_pspec
4594  - Add GBinding
4595  - The GVariant gtype G_TYPE_VARIANT was changed from boxed
4596    to fundamental. We believe there were no existing users
4597    of the boxed type, so this should not cause any applications
4598    to break.
4599
4600 * Test framework
4601  - Add package and version to the test report XML
4602  - Use optparse to parse gtester-report commandline
4603  - Add subunit support to gtester-report
4604  - Prevent division by zero if no tests
4605
4606 * Bugs fixed:
4607  621782 Crash using gbinding
4608  619945 GConverterOutputStream triggers assertion and corrupts data
4609  621319 more leaked GVariants in GSettings
4610  621168 GKeyFile memory leak on Windows platform
4611  621002 Switch to using variants for timestamps, split out signals
4612  620953 tiny docs addition
4613  618904 Lies in gunixmounts documentation
4614  621702 Correctly initialize GError
4615  611778 minor cleanup of gtester-report
4616  621213 GDBusProxy and well-known names
4617  621034 Rewrite apps test to ensure children are killed
4618  620954 gapplication gvariant simplifications
4619  611869 add subunit out feature to gtester-report
4620  621119 GDBusProxy and objects with no properties
4621  620990 Use Gio's default async implementation again
4622  620952 g_application_register_with_data is an ugly API
4623  621252 GSettings leaks context
4624  618715 fork() in GSettings test cases is problematic 618715
4625  621905 Assume a ref when doing async work
4626  621266 GSettings "context" clarification
4627
4628 * Translation updates:
4629  Chinese
4630
4631
4632 Overview of Changes from GLib 2.25.7 to GLib 2.25.8
4633 ===================================================
4634
4635 * Initial support for dtrace and systemtap profiling:
4636  - mainloop sources can be named
4637  - probes for memory allocation with g_malloc and gslice
4638  - gquark name tracking
4639  - type creation
4640  - object life-cyle (creation, finalization, ref, unref)
4641  - signal creation and emission
4642
4643 * GVariant
4644  - has been fixed to work with the FreeBSD malloc
4645  - added introspection annotations
4646  - new function: g_variant_builder_add_parsed
4647
4648 * GSettings:
4649  - g_settings_set/get_strv functions have lost their length parameter
4650  - g_settings_set_strv accepts NULL
4651  - added introspection annotiations
4652
4653 * GPermission: an abstract interface for representing permissions,
4654   with a minimal implementation named GSimplePermission
4655
4656 * GApplication: a basic application support class, with a D-Bus based
4657   implementation
4658
4659 * Bugs fixed:
4660  619585 glib-compile-schemas asserts on FreeBSD
4661  620384 Annotate GVariant and GSettings _strv() functions
4662  606044 Add support for dtrace/systemtap static markers
4663  620350 add g_variant_builder_add_parsed() API
4664  620349 utf8ify GVariant printer
4665  620767 Typo in GSettings documentation: "INTLTOOL_NOMERGE_RULE"
4666  620312 Fix g_settings_[gs]et_strv() API
4667  620519 GPermission
4668  620582 GPermission needs a simple implementation
4669  620496 GSettings schema compiler should reject invalid paths
4670  620173 missing single header inclusion guards
4671  620265 g_assertion_message_error should take const GError *
4672
4673 * Translation updates:
4674  Esperanto
4675  Galician
4676  Hebrew
4677  Indonesian
4678  Norwegian bokmål
4679  Slovenian
4680  Spanish
4681
4682
4683 Overview of Changes from GLib 2.25.6 to GLib 2.25.7
4684 ===================================================
4685
4686 * NOTE: API/ABI breaks since 2.25.6 release:
4687   - g_dbus_connection_sync{,_sync} takes a new 'reply_type' argument
4688   - GSettingsBackendClass 'list' virtual function changed
4689
4690   GSettings backends and things using GDBus may need to be rebuilt.
4691
4692 * GDBus: many build-related fixes
4693
4694 * GDBus (service): return a DBus error when receiving a method call for
4695   an unknown interface.
4696
4697 * GSettings: fix 'make install' bug in gsettings.m4 for generated schema
4698   files
4699
4700 * GSettings: avoid non-portable use of LC_MESSAGES
4701
4702 * better approach to handling man pages
4703
4704
4705 * Bugs fixed:
4706  619527 please improve docs on g_file_make_symlink
4707  619391 send-with-reply should have expected result signature
4708  618616 Use stack-allocated GVariantBuilders
4709  617004 Build with "--disable-nls" fails under MinGW/Win32
4710  619142 Build fixes (GDBus)
4711
4712 * Updated translations:
4713  Estonian
4714  Galician
4715  Norwegian bokmål
4716
4717 Overview of Changes from GLib 2.25.5 to GLib 2.25.6
4718 ===================================================
4719
4720 * GDBus: introspection improvements
4721 * GDBus: build fixes
4722
4723 * GSettings: GSettingsBackend ABI changed               **** NOTE ****
4724 * GSettings: --uninstall option for schema compiler
4725 * GSettings: new m4 macro with more power
4726 * GSettings: thread support
4727
4728 * rework of file notification on Solaris
4729 * fixes for gold linker
4730
4731 * Bugs fixed:
4732  619038 increase gsettings.m4 power
4733  619031 method-calls-in-thread test failing
4734  618839 Typo at translation message
4735  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
4736  618730 gunixcredentialsmessage.c doesn't compile on GNU/kfreebsd
4737  616314 Make GSettings (partially) threadsafe
4738
4739 * Updated Translations:
4740  Indonesian
4741  Galician
4742  Spanish
4743
4744 Overview of Changes from GLib 2.25.4 to GLib 2.25.5
4745 ===================================================
4746
4747 * GDBus: Fix serialization of empty arrays
4748
4749 * GDBus: Plug various memory leaks
4750
4751 * GSettings: Fix problems with GSETTINGS_CHECK_RULE
4752
4753 * Bugs fixed:
4754  616731 GSETTINGS_CHECK_RULE doesn't work in non-srcdir builds
4755  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
4756  618615 mem leaks in parse_value_from_blob
4757  618622 Plug some mem leaks in gdbus
4758  618650 Plug a mem leak in gdbusauth
4759  618663 Plug mem leaks in gdbus tests & examples
4760
4761 * Updated translations:
4762  Spanish
4763
4764
4765 Overview of Changes from GLib 2.25.3 to GLib 2.25.4
4766 ===================================================
4767
4768 * GDBus D-Bus support has been merged. This provides an API
4769   to replace dbus-glib
4770
4771 * GVariant no requires strings to be UTF-8. You can use byte
4772   arrays for non-UTF-8 strings.
4773
4774 * GSettings allows to bind string properties to byte arrays
4775
4776 * The schema compiler supports range restrictions
4777
4778 * Bugs fixed:
4779  618051 socket-server|client.c fail to compile under AIX...
4780  616102 GSettings ignores <choice> and <range>
4781  616720 Chunked quark allocation
4782  616877 Several issues with g_socket_receive_message
4783  616892 gio: Add a boxed type for GFileAttributeMatcher
4784  616967 Add g_regex_get_compile_flags() and g_regex_get_match_flags()
4785  617767 g_settings_[gs]et_strv() 'length' argument has missing docs...
4786  617914 gtester-report: cope with binaries with no test cases
4787  617937 output_stream_close vs output_stream_close_async semantics
4788  615494 Connction timeouts produce partially invalid error messages
4789  617823 glib-compile-schemas problems with an out of source build
4790  617947 glib-mkenums: add @valuenum@ support
4791
4792 * Translation updates:
4793  Galicaian
4794  Norwegian bokmål
4795  Shavian
4796  Spanish
4797
4798
4799 Overview of Changes from GLib 2.25.2 to GLib 2.25.3
4800 ===================================================
4801
4802 * New macro: G_GNUC_DEPRECATED_FOR, a variant of G_GNUC_DEPRECATED
4803   that lets you add replacement information (requires gcc 4.5)
4804
4805 * Rename AM_GSETTINGS autoconf macro to GLIB_GSETTINGS
4806
4807 * Rename gschema-compile utility to glib-compile-schemas
4808
4809 * Add support for timeouts in GSocket
4810
4811 * Bugs fixed:
4812  589989 Compilation error on Solaris 9
4813  616648 Change AM_GSETTINGS macro to GLIB_GSETTINGS
4814  587898 I/O timeouts for GSocket
4815  614541 Add G_TYPE_ERROR boxed type for GError
4816
4817
4818 Overview of Changes from GLib 2.25.0 to GLib 2.25.2
4819 ===================================================
4820
4821 * Include a 'gsettings' utility, for commandline access to GSettings
4822
4823 * Install a AM_GSETTINGS autoconf macro similar to AM_GCONF
4824
4825 * GSettings can bind the writability of a key explicitly
4826
4827 * There is now a predefined boxed type for GError
4828
4829 * Bugs fixed:
4830  615379 g_new macros crash if sizeof(struct_type) == 0
4831  616312 Add m4 rule equivalent to GCONF_SCHEMAS_INSTALL
4832  616295 mapping bug for uint64
4833  616216 glib compile from remote directory fails
4834  615960 Fix size passed to connect() for abstract sockets
4835  616432 Crash in gschema-compile
4836  616331 gsettings-schema-convert uses imaginary types
4837  616309 gsettings-schema-convert should output gettext-domain
4838  616384 Add mention of GConfBridge in conversion docs
4839  616311 gschema-compile outputs in current directory
4840  616276 simplify gschema-compile test setup
4841  616156 keys with unnecessary empty options arrays
4842  616405 gsettings missing g_return_if_fail's
4843  616245 Use G_DEFINE_INTERFACE macro
4844  614541 Add G_TYPE_ERROR boxed type for GError
4845
4846 * Updated translations:
4847  Catalan (Valencian)
4848  Galician
4849  Kannada
4850  Spanish
4851
4852
4853 Overview of Changes from GLib 2.24.0 to GLib 2.25.0
4854 ===================================================
4855
4856 * The GSettings framework has been merged. This provides the API to
4857   replace GConf. DConf will provide a backend implementation for it.
4858   GConf will also provide a backend implementation to ease the
4859   transition. We provide utilities to assist with schema conversion
4860   and data migration, as well as a porting guide.
4861
4862 * Translation updates:
4863  Bengali
4864  Catalan
4865  Danish
4866  Gujarati
4867  Marathi
4868  Thai
4869  Traditional Chinese
4870
4871
4872 Overview of Changes from GLib 2.23.6 to GLib 2.24.0
4873 ===================================================
4874
4875 * Bug fixes:
4876  613601 buglet in dup_close_on_exec_fd
4877  584284 g_data_input_stream_read_until_async behaves confusingly
4878  613748 Write errors in middle of copy cause hang
4879  613923 splice_stream_with_progress: wrong error handling
4880  613667 Typo in GObject documentation
4881  613618 gvariant format string docs unclear
4882
4883 * Translation updates:
4884  Basque
4885  Ukrainian
4886  Vietnamese
4887
4888
4889 Overview of Changes from GLib 2.23.5 to GLib 2.23.6
4890 ===================================================
4891
4892 * Class private data:
4893   - support for private data associated with a GTypeClass
4894
4895 * GVariant merge is now complete:
4896   - loading functions and parser merged
4897
4898 * Windows improvements:
4899   - socket fixes
4900   - various build improvements
4901   - removal of GCC/C99isms in favour of portable code
4902   - drop unmaintained Visual Studio 8 support
4903
4904 * Minor API addition:
4905   - g_desktop_app_info_get_filename()
4906
4907 * Bugs fixed:
4908  521707 Class private data
4909  612502 build fails on glib/tests/gvariant.c
4910  612832 [GDesktopAppInfo] New function g_desktop_app_info_get_filename
4911  612702 [PATCH] Fix GSocket-related crash on Windows
4912  612736 Improve the documentation about single include
4913  610858 gvariant test fails sometimes
4914  612327 uninitialized variable
4915
4916 * New translations:
4917  Afrikaans
4918  LowGerman
4919
4920 * Updated translations:
4921  Czech
4922  Finnish
4923  Galician
4924  Greek
4925  Punjabi
4926  Romanian
4927  Serbian
4928
4929
4930 Overview of Changes from GLib 2.23.4 to GLib 2.23.5
4931 ===================================================
4932
4933 * New API addition: g_malloc_n() and friends used to implement an
4934   overflow-safe family of g_new() macros.
4935
4936 * GVariant:
4937  - GVariantBuilder and GVariantIter are now merged.
4938  - The variable arguments API is now merged.
4939  - The parser will be in a future release.
4940
4941 * GIO:
4942  - Remove GUtf8InputStream (which never appeared in a stable release)
4943    for now since it doesn't satisfy the needs of its main intended use
4944    case.  We hope to reimplement this feature in a better form in a
4945    future release.
4946
4947 * Bugs fixed:
4948  609531 missing licence headers
4949  612107 Missing G_FILE_ATTRIBUTE_TRASH_ORIG_PATH
4950  611897 g_io_modules_scan_all_in_directory leaks
4951  608196 Overflow-safe g_new family
4952  611696 gio uses GetAddrInfo which requires special handing on windows 2k
4953  605667 Don't use G_PARAM_SPEC_VALUE_TYPE when we know the pspec is valid
4954  610860 test_g_file_open_readwrite fails if $HOME is unwritable
4955  552912 glib-2.18 /live-g-file/test_copy_move failed when run as root
4956  609813 Renaming a file discards file notes
4957
4958 * Updated translations:
4959  Basque
4960  Brazilian Portuguese
4961  British English
4962  Bulgarian
4963  Catalan
4964  Danish
4965  Estonian
4966  French
4967  German
4968  Hungarian
4969  Italian
4970  Lithuanian
4971  Norwegian bokmål
4972  Portuguese
4973  Russian
4974  Slovenian
4975  Spanish
4976  Swedish
4977  Traditional Chinese
4978
4979
4980 Overview of Changes from GLib 2.23.3 to GLib 2.23.4
4981 ===================================================
4982
4983 * GVariant: The core of GVariant has been merged now, with some
4984  API still to follow.
4985
4986 * GIO:
4987  - There is a new interface GFileDescriptorBased for file descriptor
4988    based IO. GLocalFile{Input,Output}Stream implement it
4989  - Use splice(2) to transfer data between file descriptors without
4990    extraneous copies
4991  - Add a way to request move events from file monitors
4992
4993 * Bugs fixed:
4994  609143 *result_uncertain is never assigned in g_content_type_guess
4995  604086 Use splice(2) when doing local file copies
4996  547890 No move events for GFileMonitorEvent?
4997  568760 nautilus freezes due to a bug in garray.c:322
4998  609962 Add info about the use of G_DEFINE_INTERFACE
4999  609564 g_base64_encode_close docs should mention outbuf size...
5000  610484 g_variant_equal bug
5001  610131 libasyncns does not compile on Solaris 8
5002  609530 missing single header include guards
5003
5004 * Updated translations:
5005  Czech
5006  Estonian
5007  Galician
5008  German
5009  Korean
5010  Polish
5011  Slovenian
5012  Spanish
5013  Traditional Chinese
5014
5015
5016 Overview of Changes from GLib 2.23.2 to GLib 2.23.3
5017 ===================================================
5018
5019 * GLib now has a facility for locks that consume only one bit of
5020   storage inside an integer: g_bit_lock()
5021
5022 * GVariant: The serializer has been merged, with more API to follow
5023
5024 * Bugs fixed
5025  548967 1 bit mutex lock
5026  604967 2.22.3 libasyncns build fails on HP-UX 11.11
5027  608602 G_VALUE_COLLECT_INIT variables shadow those in G_VALUE_COLLECT
5028  608743 Crash in g_hostname_to_ascii visiting certain website in epiphany
5029  599197 array ref and unref functions crash on NULL array.
5030  608159 mem leak in g_io_modules_scan_all_in_directory
5031
5032 * Translation updates
5033  Brazilian Portuguese
5034  Czech
5035  French
5036  Norwegian bokmål
5037  Slovenian
5038  Spanish
5039  Thai
5040
5041
5042 Overview of Changes from GLib 2.23.1 to GLib 2.23.2
5043 ===================================================
5044
5045 * We are now using gcc builtins for atomic operations when available
5046
5047 * g_assert() grew the ability to store assertions in core dumps
5048
5049 * GIO supports lazy loading of GIO modules, and there is a new
5050   gio-querymodule utility that goes along with this.
5051   Packagers will need to adapt to this.
5052
5053 * Threading changes:
5054  - The requirements for g_thread_init() have been relaxed slightly,
5055    it can be called multiple times, and does not have to be the first
5056    call.
5057  - GObject now links to GThread and threads are enabled automatically
5058    when g_type_init() is called.
5059  - Thread-safety issues with boxed types in GObject have been fixed.
5060
5061 * GObject:
5062  - Another bunch of performance work has landed
5063
5064 * GVariant:
5065  - GVariantType has been merged, with the rest of the GVariant
5066    API to follow.
5067
5068 * Bugs fixed:
5069  568760 nautilus freezes due to a bug in garray.c:322
5070  602417 Document lifecycles of GSimpleAsyncResult and friends
5071  604824 crash in Epiphany: Selecting my Slashdot bo...
5072  448888 don't init g_slice for always-malloc
5073  531902 Use GCC atomic buildins for g_atomic*
5074  554887 boxed type registration is not thread safe
5075  586150 unresolved symbols when building glib 2.21.2 on OS X Tiger
5076  589176 row gvalue transform array exponentially
5077  594872 Support storing assertion messages into core dump
5078  602240 Upgrade libasyncns to 0.8
5079  603590 Speed up G_VALUE_COLLECT
5080  604457 gutf8inputstream.c: increasing unknown size pointer
5081  605686 GCharsetConverter doesn't flush
5082  605733 g_memory_output_stream_new violates GObject standards
5083  605883 g_object_new() processes varargs even when there are none
5084  605977 invalid utf-8 conversion in g_local_file_get_parse_name(...
5085  606775 Enable threads by default in gobject
5086
5087 * Translation updates:
5088  Asturian
5089  Basque
5090  Bengali
5091  Bulgarian
5092  Estonian
5093  Norwegian bokmål
5094  Spanish
5095  Thai
5096  Ukrainian
5097
5098
5099 Overview of Changes from GLib 2.23.0 to GLib 2.23.1
5100 ===================================================
5101
5102 * GObject performance work has landed:
5103  - Construction of simple objects is much faster
5104  - Interface lookup is lock-free and constant-time now
5105  - Reduced locking overhead when dealing with types
5106
5107 * GType now has a G_DEFINE_INTERFACE convenience macro
5108
5109 * GIO gained GUtf8InputStream, an input stream that
5110   performs utf-8 validation
5111
5112 * GLib now has byte-swap macros for gsize and gssize
5113
5114 * Bugs fixed:
5115 557151 Determining the newly_constructed boolean in gobject.c...
5116 557100 Performance improvements for GObjectClasses that don't...
5117 501166 Warning message says IA__g_type_init instead of g_type_init
5118 585375 Performance and Contention problems with g_type_class_ref...
5119 587892 Race in GType when instantiating the same class for the...
5120 603270 Input Stream validating utf8
5121 603476 gioenums.h:62: error: comma at end of enumerator list
5122 603540 g_time_val_from_iso8601 uses uninitialised variable
5123 603982 Stack overflow when reading file async with filter
5124 604645 G_DEFINE_INTERFACE_* documentation is not generated
5125 604875 Use of sa_len conflicts with system header
5126 320482 provide G_DEFINE_TYPE like macros for interfaces
5127
5128 * Updated translations:
5129  Estonian
5130  Hebrew
5131  Norwegian bokmål
5132  Vietnamese
5133  Welsh
5134
5135
5136 Overview of Changes from GLib 2.22.x to GLib 2.23.0
5137 ===================================================
5138
5139 * GIO:
5140  - GConverter: a generic interface for stateful conversions of data,
5141    suitable for charset conversion, compression, decompression, regexp
5142    replacement. Concrete implementations are GCharsetConverter,
5143    GZlibCompressor and GZlibDecompressor. GConverterInputStream,
5144    GConverterOutputStream are stream implementations that convert data
5145    while loading or saving it.
5146  - GMounts can now have a 'default location': a path that reflects
5147    the main entry point for the user (e.g. the home directory).
5148  - As a consequence of the compression support, GIO depends on zlib now.
5149
5150 * GObject:
5151  - G_IMPLEMENT_INTERFACE_DYNAMIC: a convenience macro for adding
5152    interfaces to dynamic types.
5153
5154 * GModule:
5155  - The -pthread flag has been added to all gmodule .pc files, because
5156    it is not generally permissible to load modules that are linked
5157    against libpthread if the program has not been compiled with threading
5158    support.
5159
5160 * Bugs fixed:
5161  601637 GUnixFDMessage should contain a GUnixFDList
5162  585566 GSocketListener API issues
5163  572252 Bug in g_file_test() function.
5164  600550 g_app_info_create_from_commandline doesn't treat arguments properly
5165  541236 not detecting exact content type
5166  350200 [PATCH] GTypeModule derived class unref does not unload plugin
5167  589631 Please enclose literal values with double quotes
5168  577711 cross compile check for g++ broken
5169  600620 Support X-GNOME-FullName in GAppInfo
5170  598899 GWin32DirectoryMonitor is broken
5171  593809 Nautilus does not restore the position of the icons on the desktop...
5172  563627 g_get_prgname() threadsafety
5173  600141 Add -pthread to gmodule pkg-config
5174  593856 file and directory monitors don't work when glib is compiled...
5175  324930 Nautilus should disallow copying of symlink to FAT drive early
5176  587300 Deadlock when calling g_cancellable_disconnect in a...
5177  595138 GFile not robust with invalid input
5178  591216 Warning building resolver.o
5179  590016 Does not compile under MinGW32 + Wine
5180  591214 Warnings building gcancellable.o
5181  561998 Have specific entry points (paths) for mounts...
5182  508157 Add G_IMPLEMENT_INTERFACE_DYNAMIC
5183  535159 g_file_has_parent
5184
5185 * Updated translations:
5186  Brazilian Portuguese
5187  Catalan
5188  Estonian
5189  Galician
5190  Norwegian bokmål
5191  Shavian
5192  Slovenian
5193  Spanish
5194  Swedish
5195
5196
5197 Overview of Changes from GLib 2.22.1 to GLib 2.22.2
5198 ===================================================
5199
5200 * GIO:
5201  - Support case-sensitive globs in the shared mime database,
5202    including support for the newer cache format that allows these.
5203    Case-sensitive globs have been introduced in shared-mime-info
5204    version 0.70
5205
5206 * GObject:
5207  - Speed up creation of simple objects
5208
5209 * Bugs fixed:
5210  597194 Typo in _G_TYPE_CVH macro
5211
5212 * Updated translations:
5213  Russian
5214
5215
5216 Overview of Changes from GLib 2.22.0 to GLib 2.22.1
5217 ===================================================
5218
5219 * Bugs fixed:
5220  596064 Test file marked for translation
5221  595972 possibly invalid search in mime_info_cache_dir_add_...
5222  596561 C99 style of declaration of variable in gmessages.c
5223  596314 g_utf16_to_utf8 returns an invalid UTF8 string
5224  596748 g_async_result_get_source_object returns a new ref
5225  593809 Nautilus does not restore the position of the icons...
5226  593775 uses inotify_init1 unconditionally
5227
5228 * Updated translations:
5229  Bengali
5230  Hebrew
5231
5232
5233 Overview of Changes from GLib 2.21.6 to GLib 2.22.0
5234 ===================================================
5235
5236 * Add gdb python macros to make gobject debugging more pleasant
5237
5238 * Bugs fixed:
5239  579050 Allow making selected critical and warning messages non-fatal
5240  594759 g_socket_send_message fails due to invalid sendmsg params
5241  593941 GNetworkAddress skipping addresses when enumerating
5242  594597 Fix build with srcdir != builddir
5243  595619 Include gdb pretty printers
5244
5245 * Changes that might affect bindings:
5246  - The error parameter of g_simple_async_result_set_from_error has been
5247    made const.
5248
5249 * Updated translations:
5250  Assamese
5251  Bengali India
5252  British English
5253  Bulgarian
5254  Catalan
5255  Czech
5256  Danish
5257  Finnish
5258  Galician
5259  Greek
5260  Gujarati
5261  Hindi
5262  Japanese
5263  Kannada
5264  Malayalam
5265  Marathi
5266  Norwegian bokmål
5267  Oriya
5268  Polish
5269  Punjabi
5270  Romanian
5271  Serbian
5272  Simplified Chinese
5273  Slovenian
5274  Spanish
5275  Tamil
5276  Telugu
5277  Thai
5278  Traditional Chinese
5279  Ukrainian
5280  Vietnamese
5281
5282
5283 Overview of Changes from GLib 2.21.5 to GLib 2.21.6
5284 ===================================================
5285
5286 * Minor API additions:
5287   g_mkstemp_full is a variant of g_mkstemp that allows to specify flags
5288   and permissions
5289
5290 * Bugs fixed:
5291  593232 g_rand_new: read no more than requested from /dev/urandom
5292  591995 use saved errno
5293  589491 g_time_val_from_iso8601 doesn't handle some cases
5294  593406 Permissions set to 777 after copying via Nautilus
5295  594034 Add g_mkstemp_full()
5296
5297 * Updated translations:
5298  Assamese
5299  Basque
5300  Brazilian Portuguese
5301  Czech
5302  Estonian
5303  French
5304  German
5305  Hungarian
5306  Italian
5307  Kannada
5308  Malayalam
5309  Marathi
5310  Norwegian bokmål
5311  Oriya
5312  Portuguese
5313  Swedish
5314  Tamil
5315  Turkish
5316
5317
5318 Overview of Changes from GLib 2.21.4 to GLib 2.21.5
5319 ===================================================
5320
5321 * A performance problem with trashing of many files has been fixed
5322
5323 * GResolver now invalidates the libc resolv.conf cache as needed
5324
5325 * Minor api additions:
5326  - g_cancellable_make_pollfd returns a boolean now. And there is a
5327    new function g_cancellable_release_fd that can be used to released
5328    the resources used by a GCancellable.
5329
5330 * Bugs fixed:
5331  589988 Compilation error on Solaris 9 (missing stdint.h)
5332  588901 gtcpconnection.c won't compile
5333  584246 GResolver needs to call res_init() when network state changes
5334  591714 Figure out failure handling for g_cancellable_make_pollfd()
5335  591532 redundent '/' returned from g_file_resolve_relative_path
5336  591378 Use MSG_NOSIGNAL in GSocket if it's available
5337  589649 API documentation migration for Base64 Encoding
5338  591840 configure fails with autoconf 2.64
5339
5340 * Updated translations:
5341  Basque
5342  Brazilian Portuguese
5343  Bulgarian
5344  Danish
5345  Estonian
5346  Finnish
5347  Galician
5348  Gujarati
5349  Hndi
5350  Irish
5351  Japanese
5352  Korean
5353  Norwegian bokmål
5354  Polish
5355  Portuguese
5356  Punjabi
5357  Spanish
5358  Swedish
5359  Telugu
5360  Traditional Chinese
5361  Thai
5362
5363
5364 Overview of Changes from GLib 2.21.3 to GLib 2.21.4
5365 ===================================================
5366
5367 * GTree is now refcounted
5368
5369 * Bugs fixed:
5370  587938 Undocumented limitation for g_str_equal
5371  587773 refcounts for GTree
5372
5373 * Updated translations:
5374  French
5375  Hebrew
5376  Norwegian bokmål
5377  Spanish
5378  Swedish
5379  Traditional Chinese
5380  Ukrainian
5381
5382
5383 Overview of Changes from GLib 2.21.2 to GLib 2.21.3
5384 ===================================================
5385
5386 * GMappedFile is refcounted now
5387
5388 * Mainloop: It is now possible to set per-thread default contexts,
5389   with g_main_context_push_thread_default.
5390
5391 * glib-mkenums supports a @basename@ substitution, in addition
5392   to @filename@.
5393
5394 * GIO:
5395  - Vfs implementations can support storing of per-file metadata.
5396  - GCancellable can now be subclassed.
5397  - Unmount and eject methods now optionally allow interaction, via
5398    variants that take a GMountOperation object.
5399
5400 * Bugs fixed:
5401  556706 Inconsistent help arguments -h, -?
5402  579449 FileChoosers no longer work if an idle handler is active
5403  579933 mainloop FD_CLOEXEC has a race condition
5404  579984 alternate GMainContext support
5405  585937 gio/gsocket.c (glib 2.21.2) does not compile (Windows/mingw)
5406  586675 Runtime library location
5407  586797 Add GCancellables to GSocket ops
5408  586868 g_filename_complete_get_completions doesn't always return...
5409  587415 g_resolver_lookup_by_name_finish returns a freed list
5410  587434 regression tests fail, at least on x86_64
5411  586928 Avoid g++ warning in g_error()
5412
5413 * Updated translations:
5414  Estonian
5415  Hebrew
5416
5417
5418 Overview of Changes from GLib 2.21.1 to GLib 2.21.2
5419 ===================================================
5420
5421 * GIO:
5422   - g_socket_speaks_ipv4 is a new function to check if a socket can
5423     speak IPv4.
5424   - g_socket_listener_add_address gained a new effective_address out
5425     parameter.
5426   - GIO now returns special icons for XDG user directories, by the
5427     name folder-music, folder-documents, etc.
5428   - GIO gained support for starting/stopping of drives, which can be used
5429     in connection with external hard disk enclosures, disk arrays, iSCSI
5430     devices, etc. See g_file_start/stop_mountable.
5431
5432 * GLib:
5433  - g_reload_user_special_dirs_cache is a new function to force GLib to
5434    reload the XDG user directory mapping from disk.
5435
5436 * Bug fixes:
5437  584574 glib compile failure on Mac OS X with gunixresolver.c and...
5438  585566 GSocketListener API issues
5439  584255 Incorrect freeing of thread pool in GThreadedSocketService
5440  585088 g_string_chunk_insert_len stops at nul bytes
5441  585360 Monitor fontconfig configuration files using gio causes m...
5442  580103 Terminal starts on Display :0.0 when started on :0.1 in D...
5443  580301 network: a few issues on old darwin
5444  583398 SRV weight sorting is incorrect
5445  584176 build fixes on FreeBSD
5446  585189 g_cancellable_reset() must be called in same thread as g_...
5447  585280 compilation dies on gio/gsocket.c, needs sys/uio.h to con...
5448  585281 gio/gunixfdmessage.c needs sys/types.h for platforms that...
5449  585478 don't leak the inotify fd
5450  585575 g_socket_listener_add_inet_port() doesn't do the right thing
5451  585599 g_socket_listener_add_socket() consumes the socket
5452  585676 GEmblem doesn't reference its 'icon' if that is set as a ...
5453  585717 "bytes" nautilus translation to french is not shown in th...
5454  541276 XDG directories should have their own icons
5455  585726 Grammatical error in GList documentation
5456  585520 Wrong warning option in documentation
5457  585673 GNOME Goal: Remove deprecated glib symbols
5458  585591 Starting/stopping drives
5459
5460 * Updated translations:
5461  Bengali India
5462  Norwegian bokmål
5463
5464
5465 Overview of Changes from GLib 2.21.0 to GLib 2.21.1
5466 ===================================================
5467
5468 * GIO:
5469  - Support for network IO has been added, including a low-level
5470    socket API and a high-level API for network connections and
5471    services.
5472  - Support for read-write access with GIOStream and its subclasses.
5473  - GMount gained a pre-unmount signal.
5474
5475 * Bug fixes:
5476  576104Implement GMount::pre-unmount
5477  578769 implement GWinHttpFileInputStream::close_fn
5478  582856 gsocket.c doesn't compile on Solaris
5479  569375 g[u]intptr undocumented
5480  573246 [FIX] g_desktop_app_info_dup() can access NULL pointer
5481  575013 g_cancellable_push_current() does not allow NULL
5482  577884 live-g-file.c:461: error: format ‘%d’ expects type ...
5483  578499 g_output_stream_splice and stream closing with gnio strea...
5484  579558 Application employing gvfs crashes with only libgvfscommo...
5485  583001 SIGPIPE (grr!)
5486  583061 Please add convenience function to connect to machines by...
5487  583198 typo in error message
5488  583206 use g_set_error_literal where appropriate
5489  583229 void function g_async_initable_init_async returns value
5490  583324 locking problem in g_main_context_iterate()
5491  583408 void function g_socket_control_message_serialize returns ...
5492  578786 wrong and confusing error message
5493  583205 g_inet_address_to_bytes has no length outparam
5494  583196 mem leak in keyfile test
5495  583663 GSocketType enum ends with a comma
5496  569024 Make g_error_new_valist public
5497  569376 missing G_G[U]INTPTR_FORMAT
5498  580347 off-by-1 bug in GWinHttpFile
5499
5500 * Updated translations:
5501  Oriya
5502  Spanish
5503  Valencian-Catalan
5504
5505
5506 Overview of Changes from GLib 2.20.x to GLib 2.21.0
5507 ===================================================
5508
5509 * GIO:
5510  - New helper functions g_cancellable_connect/disconnect to avoid
5511    race conditions when connecting to the "cancelled" signal on
5512    GCancellable.
5513  - New types and methods for dealing with IPv4 and IPv6 addresses (and
5514    UNIX domain socket addresses under UNIX). This does not include code
5515    for actual socket I/O.
5516  - GResolver provides asynchronous and cancellable APIs for resolving
5517    hostnames, reverse lookup of IP addresses and resolving SRV records.
5518
5519 * Glib now provides hash and comparison functions for int64 and double
5520   types, suitable for use with GHashTable.
5521
5522 * GArray, GPtrArray and GByteArray can be ref counted now, and have
5523   boxed types.
5524
5525 * Bugs fixed:
5526  572844 Helper for GCancellable::cancelled connect/disconnect
5527  578363 goption docs should be improved
5528  548466 async/cancellable DNS resolver
5529  579830 param spec strings should use P_()
5530  579862 requesting xattr::foo ends up calling getxattr(..., user...
5531  580453 Hash and equal functions for gint64 and gdouble
5532  580450 Reference counting and boxed types for arrays
5533  580194 gresolver doesn't build on Solaris
5534  580301 network: a few issues on old darwin
5535  580299 network: include sys/types.h before sys/socket.h to insur...
5536  572508 gmarkup speedup
5537  580546 g_strtoull() referenced in documentation...
5538  580656 g_key_file_set_string_list erroneously asserts list != NULL
5539  579272 leaks in g_simple_async_result_set_op_res_gpointer
5540
5541
5542 * Updated translations:
5543  Catalan (ca)
5544  Pashto (ps)
5545  Spanish (es)
5546
5547
5548 Overview of Changes from GLib 2.20.0 to GLib 2.20.1
5549 ===================================================
5550
5551 * Bug fixes:
5552  575555 Use fsync() when replacing files to avoid data loss on
5553  575708 runaway inotify madness
5554  575270 GVolumeMonitor::mount-pre-unmount not being emitted
5555  577128 glib make check Failed to execute child process...
5556  573673 Always show "backup" directories
5557  578369 g_time_val_from_iso8601() parses timezones incorrectly
5558  578002 Fix a small typo in GFile docs
5559  578017 G_DEFINE_TYPE_EXTENDED docs
5560
5561 * Updated translations:
5562  Arabic
5563  Assamese
5564  Basque
5565  Bularian
5566  Brazilian Portuguese
5567  British English
5568  Catalan
5569  Danish
5570  French
5571  Galician
5572  German
5573  Greek
5574  Hungarian
5575  Italian
5576  Japanese
5577  Kannada
5578  Lithuanian
5579  Malayalam
5580  Norwegian bokmål
5581  Oriya
5582  Polish
5583  Punjabi
5584  Russian
5585  Simplified Chinese
5586  Slovenian
5587  Spanish
5588  Swedish
5589  Tamil
5590
5591
5592 Overview of Changes from GLib 2.19.9 to GLib 2.20.0
5593 ===================================================
5594
5595 * Base64 support: Avoid integer overflows. CVE-2008-4316
5596
5597 * Bugs fixed:
5598  574019 GChecksum: document and guarantee hex characters in lower case
5599  573454 Unable copy/move files to directories symlinked to gvfs share
5600  561172 gnome-open fails on local URIs with anchors
5601  573970 crash in gunixvolumemonitor:update_mounts when unmounting
5602  573843 g_get_current_dir returns non-absolute path
5603
5604 * Updated translations:
5605  Assamese (as)
5606  Bengali (bn_IN)
5607  Czech (cs)
5608  Hindi (hi)
5609  Italian (it)
5610  Japanese (ja)
5611  Lithuanian (lt)
5612  Malayalam (ml)
5613  Marathi (mr)
5614  Oriya (or)
5615  Polish (pl)
5616  Romanian (ro)
5617  Telugu (te)
5618
5619
5620 Overview of Changes from GLib 2.19.8 to GLib 2.19.9
5621 ===================================================
5622
5623 * GMarkup:
5624  - Considerable speedup
5625
5626 * GIO
5627  - Add G_FILE_CREATE_REPLACE_DESTINATION flag to allow replacing
5628    the destination of a copying operation as if it did not exit before.
5629  - Be more careful when classifying files as desktop files
5630  - Support desktop file key X-GIO-NoFuse which disables the use
5631    of fuse pathnames for %u and %U arguments
5632
5633 * Bugs fixed:
5634  572672 glib/gthread.c: argument is different type
5635  572464 Doc for g_file_get_contents
5636  572151 “it's” and “its” confused in docs and comments
5637  570501 g_win32_get_system_data_dirs uses invalid conversion...
5638  167569 g_string_append_printf crashes on win32 when used...
5639  572508 gmarkup speedup
5640  560564 Replacing a symlink with its linked file truncates... 
5641  549298 impossible to copy files with p (pipe) flag
5642  543183 Clarify docs for g_file_has_prefix
5643  540461 g_memory_output_stream_get_data_size() doesn't behave...
5644  573462 GEmblemedIcon leak
5645  573421 Clarify message format in GMountOperation
5646  573658 Deadlock in giomodule.c
5647  556706 Inconsistent help arguments -h, -?
5648  573527 Wrong shell to run config.status in Makefile.in.in
5649  573128 A couple of typos in GObject documentation
5650
5651 * Updated translations:
5652  Catalan (ca)
5653  British English (en_GB)
5654  Spanish (es)
5655  Basque (eu)
5656  Finnish (fi)
5657  French (fr)
5658  Gujarati (gu)
5659  Hebrew (he)
5660  Hungarian (hu)
5661  Korean (ko)
5662  Maithili (mai)
5663  Norwegian bokmål (nb)
5664  Dutch (nl)
5665  Portugese (pt)
5666  Swedish (sv)
5667  Thai (th)
5668  Traditional Chinese (zh_HK)
5669  Traditional Chinese (zh_TW)
5670
5671
5672 Overview of Changes from GLib 2.19.7 to GLib 2.19.8
5673 ===================================================
5674
5675 * GIO: Fix missing exports of new API
5676
5677 * Fix strict aliasing warnings and violations to make Glib work
5678   with gcc 4.4
5679
5680
5681 Overview of Changes from GLib 2.19.6 to GLib 2.19.7
5682 ===================================================
5683
5684 * GIO
5685  - GFile gained an attribute for the actual file size in bytes
5686  - GMountOperation gained an "aborted' signal that allows to abort
5687    a mount operation from the backend side
5688
5689 * Bugs fixed:
5690  523742 Use noinst for non-installable libraries
5691  566747 URIs opened with firefox %u load as local files
5692  541225 Can't compile gio on AIX duplicate case value in gioerror.c
5693  571598 GAsyncResult with NULL gobject
5694  505042 add file attribute for actually used file size in bytes
5695
5696 * Updates translations:
5697  Basque (eu)
5698  Gujarati (gu)
5699  Italian (it)
5700  Japanese (ja)
5701  Norwegian bokmål (nb)
5702  Dutch (nl)
5703  Portugese (pt)
5704  Thai (th)
5705  Vietnamese (vi)
5706
5707
5708 Overview of Changes from GLib 2.19.5 to GLib 2.19.6
5709 ===================================================
5710
5711 * New format macro to print goffset data: G_OFFSET_FORMAT
5712
5713 * GIO: 
5714  - Add a GFilter{Input,Output}Stream::close-base-stream properties which
5715    determine whether the base stream will be closed when the filter stream
5716    is finalized.
5717  - g_data_input_stream_read_line and ..._read_until have asynchronous
5718    variants now.
5719
5720 * Bugs fixed:
5721  568294 A wrong reference in the description of g_bookmark_file_...
5722  563141 RFE: define G_OFFSET_FORMAT
5723  569105 g_time_val_to_iso8601() assumes time_t==long
5724  568394 dropping the last reference to a stream filter closes...
5725  568741 g_buffered_input_stream_fill_async doesn't work
5726  568723 g_buffered_input_stream_fill_async doesn't take count == -1
5727  568575 _async functions for GDataInputStream
5728
5729 * Updated translations:
5730  Bulgarian (bg)
5731  Finnish (fi)
5732  Hungarian (hu)
5733  Oriya (or)
5734  Swedish (sv)
5735  Traditional Chinese (zh_HK)
5736  Traditional Chinese (zy_TW)
5737
5738
5739 Overview of Changes from GLib 2.19.4 to GLib 2.19.5
5740 ===================================================
5741
5742 * Update included PCRE to 7.8
5743
5744 * g_base64_decode_inplace: New function to do base64 decoding in place
5745
5746 * Bugs fixed:
5747  567138 get_package_directory_from_module() does not free ...
5748  566569 gregex docs clarification
5749  566573 g_match_info_fetch_pos docs
5750  564728 Add function to decode base64 encoded data in place
5751  567838 G_STRUCT_OFFSETOF fails to compile under icc 9.1
5752  567977 textdomain() macro should not return NULL ...
5753  512779 --disable-regex breaks compilation
5754  566770 error code 0 for Too many open files is useless
5755  565484 g_content_type_guess passes non-UTF8 text to XDG ...
5756
5757 * Updated translations:
5758  Catalan (ca)
5759  Spanish (es)
5760  Italian (it)
5761  Swedish (sv)
5762
5763  
5764 Overview of Changes from GLib 2.19.3 to GLib 2.19.4
5765 ===================================================
5766
5767 * GIO:
5768   - Use O_NOATIME when sniffing mimetypes
5769   - Add a convenience method to check if a GSimpleAsyncResult
5770     is valid
5771
5772 * Bugs fixed:
5773  560676 function access for g_threads_supported
5774  565905 There is no g_context_group_set_translation_domain
5775  564210 SUN Studio 12 has supported visibility attribute
5776  565136 GObject's "notify" signal parameters are wrong in gtk-doc
5777  565831 error in interface creation sample
5778  566348 g_file_open_tmp uses the wrong g_mkstemp on win32
5779  566064 Add NOATIME flag to query_info_flags
5780  566170 g_async_result_verify_source_object
5781
5782 * Updated translations:
5783  Spanish (es)
5784  Norwegian bokmål (nb)
5785  Brazilian Portugese (pt_BR)
5786  Simplified Chinese (zh_CN)
5787
5788
5789 Overview of Changes from GLib 2.19.1 to GLib 2.19.3
5790 ===================================================
5791
5792 * Bugs fixed:
5793  508021 Add support for the CRIS and CRISv32 architectures
5794  526320 should not list mounts that the user doesn't have permission to use
5795  558458 Cannot build gio tests on Solaris using SUN cc
5796  555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property
5797  558298 Hide ecryptfs mounts
5798  515777 incorrect date&time on copy
5799  562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling
5800         g_simple_async_result_run_in_thread
5801  473150 g_type_module_use inconsistently increases the use
5802         counter in case of error
5803  563150 G_GU?INT*_MODIFIER/FORMAT docs
5804  563156 Document printing and scanning gunichar values
5805
5806 * Updated translations:
5807  Hebrew (he)
5808  Italian (it)
5809  
5810
5811 Overview of Changes from GLib 2.19.0 to GLib 2.19.1
5812 ===================================================
5813
5814 * GIO: 
5815   - g_icon_to_string, g_icon_new_for_string: GIcon serialization support
5816   - G_FILE_ATTRIBUTE_PREVIEW_ICON: new file attribute for preview images
5817   - g_app_info_get_commandline: new function to get the full commandline
5818   - g_mount_shadow, g_mount_unshadow, g_mount_is_shadowed: New functions 
5819     to 'shadow' mounts (i.e. hide them from the UI when they already
5820     have a different representation, like a bookmark) 
5821
5822 * Bugs fixed:
5823  556186 gpoll.h breaks gmain.h inclusion
5824  557087 mem leak in g_content_types_get_registered
5825  556921 gpoll.h breaks hal compilation
5826  557210 g_compute_checksum_for_* asserts with less than 2 bytes
5827  558381 Add support for compile time assertions
5828  558185 'parent' variable in g_local_file_get_child_for_display_name()
5829         hits g_object_unref(NULL) assertion
5830  558513 g_warn_if_fail FIXME in gtestutils
5831  558672 NULL key lookup using g_hash_table_lookup_extended() 
5832  555740 gicon serialization
5833  557182 preview functionality
5834  528320 Incorrect icons displayed for files with custom mimetype icons
5835  556910 Memory leak: sub
5836  557592 Missing include in gwinhttpfile.c
5837  556415 Crash on Windows 2000 in g_winhttp_vfs_init()
5838  555935 Clarify the mechanism of overwriting properties
5839  552776 ac_cv_func_posix_getgrgid_r not mentioned
5840  559448 GObject Reference Manual (typo)
5841  561212 GFileReadMoreCallback API doc refers to non-existant function
5842  560569 gkeyfile doesn't use the set list_separator in some cases
5843  560568 gkeyfile docs buglet
5844  559413 g_option_group_set_error_hook docs buglet
5845  562378 callback return value not respected for callback option
5846         with no arg
5847  559110 Do not include libintl.h after glibintl.h
5848  557603 carbon check output misplaced
5849  562544 g_key_file_get_string and g_key_file_get_value
5850         documentation does not explain the difference
5851  547264 Missing "no flags" flag
5852  562638 GDebugKey key member should be const
5853  562639 g_parse_debug_flags() parsing "help"
5854  562549 g_byte_array_free should tell how free data
5855  559452 GObject Reference Manual (typo)
5856  559462 GObject Reference Manual (typo)
5857  559517 GObject Reference Manual (typo)
5858  562538 GObject interface tutorial shouldn't finalise with
5859         "Please forget everything"
5860  561352 Leak of icon description
5861  561375 Leaks mountpoint description
5862  561807 inotify_sub.c: dup_dirname() fails to remove trailing '/'
5863  562393 g_buffered_input_stream_read_byte broken if data available
5864  541715 win32 : patch for warnings and signature problems in recent code
5865  547481 g_data_input_stream_read_line behaves not as stated in the docs
5866  548163 Nautilus displays wrong error message for too long file names
5867  559633 gtk_image_new_from_gicon does not always work for .desktop files
5868  555486 – No way to recover command line from GAppInfo
5869
5870 * Translation updates:
5871  Spanish (es)
5872  Ukrainian (uk)
5873
5874
5875 Overview of Changes from GLib 2.18.1 to GLib 2.19.0
5876 ===================================================
5877
5878 * Rewrite GHashTable to use open addressing with quadratic probing instead 
5879   of chaining. This has the potential to reduce memory fragmentation 
5880   significantly, while being slightly faster due to better locality and 
5881   no need to call alloc/free functions for nodes. Benchmarks suggest it 
5882   also uses less memory overall.
5883
5884 * Make g_poll available as public api
5885
5886 * New macros g_assert_error and g_assert_no_error to assert 
5887   that a GError is set or unset
5888
5889 * g_cancellable_make_pollfd: New method to make a GPollFD for a cancellable
5890
5891 * g_app_info_can_delete, g_app_info_delete, g_app_info_reset_type_associations:
5892   New functions to clean up app infos and content types
5893
5894 * When launching applications, always pass fuse file:// uris when possible,
5895   and let gio convert such uris back to gio uris.
5896
5897 * Bugs fixed:
5898  505361 gunixinputstream.c assumes poll() available
5899  509446 portable blocking gio cancellation
5900  553820 gpoll.c: undeclared identifier
5901  553724 python interpretter path not patched in correctly
5902  553857 gbacktrace.h requires signal.h
5903  553447 g_assert_no_error()
5904  554092 glib doesn't return G_FILE_ERROR_NOENT et al on OS X
5905  528670 Always pass file:/// uri's in GAppLaunchContext
5906  555224 Improve g_format_size_for_display doc
5907  555309 giochannel breaks on error
5908  554790 g_convert() misbehaves with winiconv versions
5909  555314 mem leak in gmarkup
5910  555313 GFileAttribute boxed type get_type function should...
5911  552861 glib-2.0.m4 calls system(3) without storing its result
5912  554557 Patch to fix gcc warnings about missing format specifiers
5913  552107 Small libtool fixes
5914  551355 Make glib build with libtool 2.2
5915  555311 format not a string literal and no format arguments
5916  556101 static mutex yields warnings with g++
5917  556186 gpoll.h breaks gmain.h inclusion
5918  526456 Open addressing in GHashTable
5919  553426 cancellable clarifications
5920  545350 GAppInfo deletion
5921  545351 Reset associations for content type
5922  552168 volume's mount not mounted after g_volume_mount_finish
5923  554970 segfault when update-desktop-database is not available...
5924  554745 GFileAttributeInfoList should be boxed
5925  555121 Improved build-time handling of gio module-dir
5926  555711 Wrong fallback order of mimetype icons
5927  555331 Deprecate adoption of mounts
5928  556335 make check fails in abicheck.sh
5929  556334 Warning when building without selinux support
5930  556422 g_file_enumerator_next_file: unclear...
5931
5932 * Updated translations:
5933  Arabic (ar)
5934  Danish (da)
5935  Polish (pl)
5936  Brazilian Portugese (pt_BR)
5937  Romanian (ro)
5938  Russian (ru)
5939
5940
5941 Overview of Changes from GLib 2.18.0 to GLib 2.18.1
5942 ===================================================
5943
5944 * Bugs fixed:
5945  550433 g_test_init doesn't recognize --help
5946  523463 Core dump in gmain.c:2482:IA__g_main_context_check
5947  551228 G_STRFUNC on recent Sun compiler should be expanded...
5948  551410 gtestutils.c: using printf without prototype
5949  551731 g_date_set_time[_t] docs should mention what timezone
5950  548321 <string.h> is not included in gi18n-lib.h
5951  551149 xdgmime mem leak
5952  550647 synchronous pipe I/O when reading mount reply
5953  551887 Docs for g_desktop_app_info_new_from_filename aren't...
5954  551681 g_content_type_guess() too naive with filenames
5955  552352 g_app_info_launch doesn't work if "Path" key...
5956  551408 gmodule.def generated to builddir...
5957  552359 g_file_info_get_icon should return GThemedIcon, and...
5958
5959 * Updated translations:
5960  Arabic (ar)
5961  Bengali India (bn_IN)
5962  British English (en_GB)
5963  Hindi (hi)
5964  Croatian (hr)
5965  Korean (ko)
5966  Oriya (or)
5967  Turkish (tr)
5968  Telugu (te)
5969
5970
5971 Overview of Changes from GLib 2.17.7 to GLib 2.18.0
5972 ===================================================
5973
5974 * Win32:
5975   - rework the g_poll() implementation to match poll() semantics more closely
5976
5977 * Bugs fixed:
5978  324234 Using g_io_add_watch_full() to wait for connect() to return...
5979  548278 Async GETs connections are always terminated unexpectedly...
5980  500246 Bug fixes for giowin32
5981  523939 Example program for GValue
5982  550096 GBookmarkFile parser is not forward compatible
5983  550040 Move GString, rand and printf tests to the unit test framework
5984  550104 trivial documentation fix for g_get_home_dir
5985  548988 g_file_replace fails on Windows when the target file exists
5986  550059 Wrong docs for g_emblemed_icon_add_emblem
5987  548800 Missing a g_object_get_type function
5988  550056 Missing documentation for g_emblemed_icon_get_emblems
5989
5990 * Updated translations:
5991  Bulgarian (bg)
5992  Czech (cs)
5993  German (de)
5994  Estonian (et)
5995  Basque (eu)
5996  French (fr)
5997  Hebrew (he)
5998  Hungarian (hu)
5999  Italian (it)
6000  Japanese (ja)
6001  Lithuanian (lt)
6002  Maithili (mai)
6003  Dutch (nl)
6004  Swedish (sv)
6005  Thai (th)
6006  Ukrainian (uk)
6007  Vietnamese (vi)
6008
6009
6010 Overview of Changes from GLib 2.17.6 to GLib 2.17.7
6011 ===================================================
6012
6013 * More fixes for 64-bit Windows
6014
6015 * GIO
6016  - Add a vfs implementation for HTTP and HTTPS URIs on Windows
6017
6018 * Bugs fixed:
6019  546329 API docs for g_utf8_normalize() are incorrect
6020  546876 Modify GMarkup parser to accept &#x1; .. &#x1f;
6021  547200 g_utf8_find_next_char() issues
6022  547637 unconditional #include of sys/statfs.h in configure
6023  547337 G_DISABLE_DEPRECATED breaks tests build
6024  547832 gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict
6025  502498 Test framework assertion failures should follow gcc
6026  546371 Improve docs re g_file_monitor
6027  546483 GThemedIcon:use-default-fallbacks is not readable without...
6028  546132 GFileIcon is bindings-unfriendly
6029  542156 zfs mount in home directory shown on nautilus desktop 
6030  535124 umask 002 not being applied for new directories...
6031  547080 g_file_copy leaks expected errors
6032  546582 Callbacks from GFileMonitor present a GFile...
6033  547262 Missing link in the docs
6034
6035 * Updated translations:
6036  Arabic (ar)
6037  Catalan (ca)
6038  Spanish (es)
6039  Basque (eu)
6040  Finnish (fi)
6041  Galician (gl)
6042  Hebrew (he)
6043  Marathi (mr)
6044  Norwegian bokmål (nb)
6045  Portugese (pt)
6046  Brazilian Portugese (pt_BR)
6047  Swedish (sv)
6048  Thai (th)
6049
6050
6051 Overview of Changes from GLib 2.17.4 to GLib 2.17.6
6052 ===================================================
6053
6054 * Fix problems on 64-bit Windows
6055
6056 * g_markup_context_get_user_data: New function to access
6057   the user_data outside of callbacks
6058
6059 * GIO
6060  - g_mount_guess_content_type_sync: synchronous version of
6061    g_mount_guess_content_type
6062  - GEmblem: A GIcon implementation that adds emblem-related
6063    metadata to icons
6064  - GEmblemedIcon: A GIcon implementation that can add emblems
6065    to icons
6066
6067 * Bugs fixed:
6068  544088 option_test_LDADD is left in tests/Makefile.am
6069  544465 gmarkup makes it hard to use pre-rolled parsers
6070  545485 Implicit declaration of utime()
6071  545798 "Since: 2.18" mark is missing in g_set_error_literal...
6072  544140 fam-helper 64-bit issue
6073  529694 SELinux context setting support
6074  545157 wrong/no list of "open with" applications for .cc...
6075  545203 gfile.c: argument is different type
6076  545457 gdmsetup crashed with SIGSEGV in g_unix_mount_guess...
6077  544177 Fix trivial cut and paste error in documentation
6078  545395 Language tweak for g_value_set_string* docs
6079  541036 Gnumeric crashes when trying to open Desktop...
6080  546079 leak in xdgmime
6081  545395 Language tweak for g_value_set_string* docs
6082  546017 Don't copy attributes when copying a symlink
6083
6084 * Updated translations:
6085  Arabic (ar)
6086  Estonian (et)
6087  Galician (gl)
6088  Italian (it)
6089  Japanese (ja)
6090  Korean (ko)
6091  Norwegian bokmål (nb)
6092  Pashto (ps)
6093  Portugese (pt)
6094
6095
6096 Overview of Changes from GLib 2.17.3 to GLib 2.17.4
6097 ===================================================
6098
6099 * GIO:
6100  - New API to handle content types: g_mount_guess_content_type,
6101    g_content_type_guess_for_tree.
6102  - Export the eject-button signal on the volume monitor class
6103  - New API to enable out-of-process volume monitors: 
6104    g_volume_get_activation_root
6105
6106 * GObject:
6107  - New API to handle signals without slots in the class structure:
6108    g_signal_new_class_handler, g_signal_override_class_handler   
6109
6110 * Internationalization:
6111  - Add an NC_ macro that is a no-op equivalent of C_
6112
6113 * GMarkup:
6114  - Add two new functions g_markup_parse_context_push,
6115    g_markup_parse_context_pop to support "subparsers"
6116
6117 * Bugs fixed:
6118  541208 Functions to easily install and use signals without...
6119  541507 Ambiguous description of assigned characters in the...
6120  543040 async reading on dummy file will crash on GIO_USE_VFS=local
6121  543560 enable gio-FEN back-end warnings on Solaris will crash...
6122  528317 GRegex does not allow recursion limit
6123  337518 GMarkup: Subparser support
6124  541794 drive-eject-button signal
6125  541793 activation root for volumes
6126  467707 test_iconv_state() in tests/convert-test.c fails on AIX 5.3
6127  428048 2 of 51 tests fail on Solaris
6128  542332 small fix for error message in GMarkup
6129  482413 get_contents_stdio -- overflow and memory corruption
6130  406120 g_ascii_strtod
6131  334234 "printf" format error
6132  536996 Missing noop i18n macro equivalent to C_
6133  540616 mem leak in filechooser button
6134  539229 gobject-query calls itself query
6135  521589 [RFC] gobject documentation should mention Vala
6136  543168 Description of G_SLICE=debug-blocks discourages its use
6137  543220 Case collision on gio-extension-points.html
6138  530759 update the gobject tutorial to the XXI century
6139  535223 gbookmark file inefficiency ...
6140  543504 crash in Epiphany Web Browser: Opening local file
6141
6142 * Updated translation:
6143  German (de)
6144  Estonian (et)
6145  Pashto (ps)
6146  Albanian (sq)
6147  Thai (th)
6148  Traditional Chinese (zh_HK)
6149  Traditional Chinese (zh_TW)
6150
6151
6152 Overview of Changes from GLib 2.17.1 to GLib 2.17.3
6153 ===================================================
6154
6155 * PCRE
6156  - fix for CVE-2008-2371 
6157
6158 * Bugs fixed:
6159  538119 glib's mainloop leaks a pipe to sub-processes
6160  537635 Corrections and improvements to g_time_val_{to,from}_iso8601
6161  539067 The document g_io_channel_win32_new_fd() says...
6162  535949 annotate g_strip_context and g_dpgettext with G_GNUC_FORMAT
6163  539123 annotate g_d[n]gettext with G_GNUC_FORMAT
6164  539074 Cannot get exit status with g_spawn_command_line_sync
6165  316221 G_LOCK warns about breaking strict-aliasing rules
6166  539770 migrate gstrfunc unit tests to gtest
6167  539626 Update docstrings for g_object_freeze_notify and g_object_thaw_notify
6168  538044 unconditional use of LC_MESSAGES
6169  540545 Monotonic time and timer offset
6170  535947 want g_set_error_literal
6171  539999 glibconfig.h: add GLIB_USING_SYSTEM_PRINTF 
6172  536252 GFileEnumerator should allow access to the containing GFile
6173  538362 Get Win32 icons back in the file chooser
6174  540802 g_list_prepend doesn't concat lists
6175  540423 unrecoverable error after g_seekable_truncate
6176  538836 make check failure on PPC and ALPHA: pltcheck.sh on g_atomic_pointer_get
6177  539090 g_content_type_from_mime_type() should unalias
6178  540331 g_file_append_to () documentation: can return NULL
6179  534639 add g_desktop_app_info_new_from_keyfile
6180  536733 gio build failure on Irix
6181  536160 Add g_file_monitor()
6182  538127 FileChooser broken on win32
6183  531476 /live-g-file/test_traverse_structure test fails on Mac HFS+
6184  538564 gio should have gio-types.h
6185  540047 glib-genmarshal.c: '#include <io.h>' is too before
6186
6187 Updated translations:
6188  Korean (ko)
6189  Occitan (oc)
6190
6191
6192 Overview of Changes from GLib 2.17.0 to GLib 2.17.1
6193 ===================================================
6194
6195 * New function: g_utime(), a gstdio wrapper for utime()
6196
6197 * New functions: g_dgettext() and g_dngettext(), wrappers
6198   for corresponding gettext functions with added functionaliy
6199
6200 * Support the latest version of the shared-mime spec, including
6201   icons for mime types 
6202
6203 * New function: g_themed_icon_prepend_name()
6204
6205 * Bugs fixed: 
6206  535418 Please document which glib version defines goffset
6207  528715 Misprint in the description of the interface g_type_class_add_private
6208  528714 Misprint in the description of the interface g_param_spec_flags
6209  537260 Doc bug in G_TYPE_INSTANCE_GET_CLASS()
6210  530527 Misprint in the description of the interface 
6211         g_cclosure_marshal_VOID__FLAGS
6212  530526 Misprint in the description of the fields 'class_init' and 
6213         'class_finalize' of the structure GTypeInfo
6214  528719 Improvement to the documentation of the "g_object_connect" interface
6215  528172 gtk_signal_handlers_unblock_* functions return value
6216         amount of matched signals, not amount of actually unblocked
6217  528717 Misprint in the description of the parameter 'type_id' for 
6218         the interface g_type_register_fundamental
6219  528716 Misprint in the description of the parameter 'iface_data' for 
6220         the callback types GInterfaceInitFunc and GInterfaceFinalizeFunc 
6221  537555 GObject instantiation not thread safe
6222  537546 'desktop' shortcut in file chooser looks like a generic folder
6223  537392 Additional colon in xattr name
6224  536641 Filesystem querying in gio does not list AFS and autofs file systems
6225  528600 g_dummy_file_get_parent("scheme://example.com/")
6226  503071 Application direction changes to right to left even if theres no 
6227         translation
6228  502511 g_assert_cmphex prints invalid message
6229  338162 Use po/LINGUAS
6230  314453 Nautilus crashes in Solaris when browsing the attached file
6231  529321 make check fails in glib/pcre
6232  455215 g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD 
6233         fallback to $HOME/Desktop if xdg-user-dirs is not in use
6234  498732 g_key_file_to_data cannot fail
6235  511367 add g_file_make_directory_with_parents
6236  531900 Use __builtin_offsetof for G_STRUCT_OFFSET if building with 
6237         gcc 4.0 or newer
6238  536158 also bump GHashTable version when a node is removed via
6239         g_hash_table_iter_remove()/g_hash_table_iter_steal()
6240  531403 g_utf8_collate broken on Mac
6241  535628 test/patterntest.c still includes gpattern.h directly
6242  535625 alias.h:2648: error: 'utime' undeclared here (not in a function)
6243
6244 * Translation updates:
6245  Arabic (ar)
6246  German (de)
6247  Italian (it)
6248  Norwegian bokmål (nb)
6249  Thai (th)
6250
6251
6252 Overview of Changes from GLib 2.16.x to GLib 2.17.0
6253 ===================================================
6254
6255 * Update to Unicode 5.1
6256
6257 * Update included libcharset to the one shipped with libiconv 0.12
6258
6259 * Update included PCRE to 7.7
6260
6261 * Enforce that only toplevel headers are directly included.
6262   This is turned on by default for GObject and GIO. To turn
6263   it on for GLib, define G_DISABLE_SINGLE_INCLUDES.
6264
6265 * Fix library version of GIO.  GLib 2.16 shipped with libgio-2.0.so.0.0.0
6266
6267 * On Solaris, use FEN for file monitoring in GIO
6268
6269 * Use the GIO_EXTRA_MODULES environment variable to find
6270   additional GIO modules 
6271
6272 * G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size
6273   function attribute
6274
6275 * g_checksum_reset: New function to reset the state of a GChecksum 
6276
6277 * g_unix_mount_monitor_set_rate_limit: New function to limit the 
6278   rate at which events are reported
6279
6280 * g_file_query_file_type: New utility function to query the type of
6281   a file
6282
6283 * g_memory_output_stream_get_data_size: New function to obtain the
6284   size of the written data.
6285
6286 * Bugs fixed:
6287  522292 Gives warnings in glib/gutils.h with GCC in C99 mode
6288  523298 win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
6289  518160 replace two g_strdup_printf calls in GBookmarkFile
6290  523877 gbookmarkfile: avoid using g_string_append_printf() and
6291         other optimizations 
6292  525192 100% CPU if run main loop with no IO sources
6293  315437 extern inline -> static inline
6294  524314 g_convert() on Win32 implicitly converts full width
6295         alphanumerics into half width
6296  525732 Error in documentation for g_list_first
6297  525674 A typo in gmarkup.c
6298  448943 g_timeout_add_seconds() problems
6299  525972 UCS-4 not in the new win_iconv implementation
6300  526619 make test-report crash
6301  491554 Update to Unicode 5.1.0
6302  519137 g_slice_dup macro needs cast for 64-bit platform
6303  528752 Win32 build and SSL not working
6304  530457 G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
6305  528667 Typos in testing module documentation
6306  459905 Bug in wcwidth data
6307  534085 g_unichar_iswide_cjk() has a totally wrong table
6308  501651 Update glib/libcharset
6309  519026 G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
6310  534319 GLib's .pc files could use Libs.private
6311  534137 Typo in g_spawn_async_with_pipes doc
6312  517419 gio win32 directory monitor
6313  526796 Wrong order of arguments in g_file_copy's fallback
6314  530196 _g_local_file_has_trash_dir() doesn't handle st_dev == 0
6315  532965 Should not return filesystem::free for certain file systems
6316  525553 fix typo and nitpicking in GArray documentation
6317  526572 Missing * in declaration of parent_class in Object
6318         Destruction section of GObject Reference Manual
6319  528648 Extra >s in Object Construction section
6320  535021 g_param_spec_internal documentation should
6321         describe purpose of nick and blurb
6322  521513 Firefox crash when using file picker
6323  528433 gdesktopappinfo snafu ...
6324  533369 API g_file_info_get_attribute_string () unables to get "...
6325  521045 glib f_fstypename miscellany
6326  521672 compile error
6327  521946 control rate limit on GUnixMountMonitor
6328  522335 Fails to build: glib/gtester.c:276: error: 'ARG_MAX' unde...
6329  523015 Implement sliding window based upload operation
6330  523019 Use new GCC 4 feature
6331  523338 list nfs4 as a nfs mount type
6332  524350 Make glib build without NLS again
6333  524579 g_file_copy reports wrong total on progress callback for ...
6334  524742 A typo in gtestutils.c.
6335  524950 Minor documentation typos.
6336  525866 the user directory should not be considered as a mount to...
6337  526320 should not list mounts that the user doesn't have permiss...
6338  527132 nautilus crash when making ftp connection
6339  532852 CRITICAL **: totem_pl_parser_parse_with_base: assertion `...
6340  534759 Build failure in gio
6341  534764 Typo in error produced by g_file_make_directory
6342  521851 Redudant tests in gunixmounts.c
6343  524344 glib/gthread.h still use G_GNUC_PRETTY_FUNCTION
6344  525060 glib fails to build with -DG_DISABLE_ASSERT in CPPFLAGS o...
6345  534177 Invalid description of the interface g_cclosure_marshal_S...
6346  520715 Add GFile method g_file_query_file_type
6347  523039 nautilus can't access to trash/computer/network if gvfs i...
6348  
6349 * Updated translations:
6350  Arabic (ar)
6351  Bulgarian (bg)
6352  Catalan (ca) 
6353  Czech (cs)
6354  Greek (el)
6355  Candian English (en_CA)
6356  British English (en_GB)
6357  Spanish (es)
6358  Estonian (et)
6359  Basque (eu)
6360  Galician (gl)
6361  Hebrew (he)
6362  Hungarian (hu)
6363  Japanese (ja)
6364  Lithuanian (lt)
6365  Norwegian bokmål (nb)
6366  Dutch (nl)
6367  Occitan (oc)
6368  Portugese (pt)
6369  Russian (ru)
6370  Slovak (sk)
6371  Albanian (sq)
6372  Swedish (sv)
6373  Turkish (tr)
6374  Vietnamese (vi)
6375
6376
6377 Overview of Changes from GLib 2.16.0 to GLib 2.16.1
6378 ===================================================
6379
6380 * Fix a crash in g_themed_icon_new
6381
6382 * Update the included PCRE to 7.6
6383
6384
6385 Overview of Changes from GLib 2.15.6 to GLib 2.16.0
6386 ===================================================
6387
6388 * Fix the definition of G_INLINE_FUNC to work with gcc 4.3.0
6389
6390 * GIO:
6391  - Add missing GMountMountFlags argument to g_unix_volume_mount
6392  - Fix the adopt_orphan_mount vfunc to take a volume monitor 
6393    reference
6394  - Add properties to GThemedIcon for bindings sake
6395
6396 * Bugs fixed:
6397  520484 gvfsd-trash crashed with SIGSEGV in g_path_is_absolute()
6398  510855 g_checksum_update(): Take -1 for length.
6399  517676 g_themed_icon_new*() do more than call g_object_new().
6400  518816 should handle rmdir returning EEXIST correctly
6401  519352 g_[s]list_delete_link() docs
6402  519489 Fixes for sparse warnings in gio
6403  520169 add monitor argument to vfunc for GVolumeMonitor
6404  520700 Add type check in g_file_query_exists
6405  521145 FILE_READ_ONLY_VOLUME not present on Mingw32
6406  518720 No MIME type for empty files
6407  521013 in documentation, goffset doesn't say "Since 2.x"
6408  521028 Missleading error messages from g_io_channel_set_encoding()
6409  517484 GMainLoop could set the thread "Alertable" for APCs to be... 
6410
6411 * Updated translations:
6412  Assamese (as)
6413  Bengali India (bn_IN)
6414  Czech (cs)
6415  German (de)
6416  Spanish (es)
6417  Estonian (et)
6418  Finnish (fi)
6419  French (fr)
6420  Gujarati (gu)
6421  Italian (it)
6422  Lithuanian (lt)
6423  Malayalam (ml)
6424  Marathi (mr)
6425  Norwegian bokmål (nb)
6426  Romanian (ro)
6427  Russian (ru)
6428  Slovak (sk)
6429  Ukrainian (uk)
6430
6431  
6432 Overview of Changes from GLib 2.15.5 to GLib 2.15.6
6433 ===================================================
6434
6435 * GIO:
6436  - New file attributes: trash::item-count, filesystem::use-preview
6437  - Rename g_file_contains_file to g_file_has_prefix
6438  - g_file_query_filesystem_info grew async variants
6439  - g_themed_icon_append_name: new convenience function
6440  - g_content_type_get_icon is implemented now
6441  - Only show mounts in /media and ~
6442  - g_file_contains_file has been renamed to g_file_has_prefix
6443
6444 * Win32:
6445  - g_win32_get_package_installation_directory_of_module: new function
6446    which supersedes g_win32_get_package_installation_directory
6447  - Use alertable wait functions so that I/O completion routines or 
6448    user-mode Asynchronous Procedure Calls can be run
6449  - Fix race conditions in g_spawn implementation on win32
6450
6451 * Other:
6452  - g_uri_get_scheme has been renamed go g_uri_parse_scheme
6453
6454 * Updated translations:
6455  Arabic (ar)
6456  Belarusian Latin (be@latin)
6457  Catalan (ca) 
6458  British English (en_GB)
6459  Finnish (fi)
6460  Galician (gl)
6461  Hebrew (he)
6462  Italian (it)
6463  Kannada (kn)
6464  Norwegian bokmål (nb)
6465  Dutch (nl)
6466  Brazilian Portugese (pt_BR)
6467  Vietnamese (vi)
6468
6469
6470 Overview of Changes from GLib 2.15.4 to GLib 2.15.5
6471 ===================================================
6472
6473 * Update the included PCRE to 7.6
6474
6475 * GIO:
6476  - g_volume_should_automount: new function to determine if a volume
6477    should be mounted automatically
6478  - g_file_query_default_handler: new convenience function to get
6479    the default handler for a file
6480  - g_app_info_launch_default_for_uri new convenience function to
6481    launch the default handler for a URI
6482  - Use mimeapps.list and defaults.list as discussed on xdg list
6483    recently
6484  - g_app_info_get_default_for_uri_scheme has a real implementation
6485    now (gvfs provides a GConf-based implementation)
6486  - There is the beginning of a test suite
6487  - standard::description:  new file attribute
6488  - GMountMountFlags flags argument added to mount calls
6489
6490 * GObject:
6491  - class initialization is now threadsafe
6492
6493 * Updated translations:
6494   Arabic (ar)
6495   Catalan (ca)
6496   Spanish (es)
6497   Basque (eu)
6498   Italian (it)
6499   Japanese (ja)
6500   Kannada (kn)
6501   Korean (ko)
6502   Macedonian (mk)
6503   Occitan (oc)
6504   Portugese (pt)
6505   Brazilian Portugese (pt_BR)
6506   Swedish (sv)
6507   Thai (th)
6508
6509
6510 Overview of Changes from GLib 2.15.3 to GLib 2.15.4
6511 ===================================================
6512
6513 * G_GNUC_PRETTY_FUNCTION has been deprecated
6514
6515 * GIO:
6516  - g_file_copy has an async variant now
6517  - Drives and volumes now have API to get identifiers
6518    like Hal UDIs or UUIDs.
6519  - There is now a registration API to let modules register
6520    extensions they provide, such as volume monitor implementations
6521
6522 * Bugs fixed:
6523   511807 g_time_val_to_iso8601() uses MT-unsafe gmtime() function
6524   316260 [patch] Doc patches for gnode (2.8.1)
6525   385132 solaris gettext support fix
6526   484261 ./configure check for system PCRE unicode support fails w...
6527   510292 GOption main help not shown
6528   511580 Implement g_file_copy_async
6529   511654 Compile errors due to C99 constructs
6530   487909 g_utf8_strreverse and combining marks
6531   512381 unused variable 'is_main_group' 
6532
6533 * Updated translations:
6534   Arabic (ar)
6535   Belarusian (be)
6536   Czech (cz)
6537   Spanish (es)
6538   French (fr)
6539   Galician (gl)
6540   Portugese (pt)
6541   Russian (ru)
6542   Swedish (sv)
6543   Thai (th)
6544
6545
6546 Overview of Changes from GLib 2.15.2 to GLib 2.15.3
6547 ===================================================
6548
6549 * GChecksum:
6550  - g_checksum_update can accept nul-terminated strings
6551  - The MD5 implementation works correctly on buffers 
6552    that are longer than 64 bytes
6553
6554 * GIO:
6555  - Don't include a copy of the inotify headers, rely on system headers
6556  - g_file_find_enclosing_mount has an async variant now
6557  - Reduntant seek API on file streams has been removed
6558
6559 * Bugs fixed:
6560   508602 gmemory{in|out}putstream.c: unknown pointer size
6561   508771 There is no g_file_test/exists() for GFile
6562   508773 g_uri_escape_string() documentation unclear.
6563   509465 AM_PATH_GLIB_2_0 doesn't support gio
6564   509626 async functions: Document allowed NULL callback?
6565   509990 GSeekable documentation unclear
6566   510448 No inotify support on ARM or SH5
6567   510855 g_checksum_update(): Take -1 for length. 
6568
6569 * Updated translations:
6570   Basque (eu)
6571   Marathi (mr)
6572   Swedish (sv)
6573   Ukrainian (uk)
6574
6575
6576 Overview of Changes from GLib 2.15.1 to GLib 2.15.2
6577 ===================================================
6578
6579 * GIO:
6580  - Mount operation API change: unhandled methods get reported via 
6581    the reply, rather than by the signal emission return value
6582  - File monitor API change: Add a GError argument to g_file_monitor_file
6583  - g_unix_mount_guess_should_display(): new function
6584
6585 * Bugs fixed:
6586   508224 [PATCH] FAM backend crashes due to double free
6587   508074 GAsyncResult documentation suggests g_freeing it.
6588   508108 GFile documentation slightly unclear.
6589   508309 rpc_pipefs mount points should be hidden
6590   508378 GFileInfo documentation implies that it changes attribute...
6591   508719 g_file_get_relative_path fails if parent is root
6592   508773 g_uri_escape_string() documentation unclear.
6593
6594 * Updated translations:
6595   Arabic (ar)
6596   Spanish (es)
6597   Hebrew (he)
6598   Italian (it)
6599   Korean (ko)
6600   Turkish (tr)
6601
6602
6603 Overview of Changes from GLib 2.15.0 to GLib 2.15.1
6604 ===================================================
6605
6606  * Portability fixes:
6607  - Assertion functions are marked as noreturn again
6608  - Handling of inline functions has been fixed to work with gcc 4.3
6609  - C99 comments have been removed from headers
6610  - The nonportable sed -i option is no longer used
6611
6612  * GIO:
6613   - Clarified the semantics of g_app_info_get_all()
6614   - API for memory input and output streams has been changed a bit
6615   - GDirectoryMonitor has been removed; GFileMonitor can monitor
6616     files and directories now
6617
6618  * Bugs fixed:
6619    504829 Invalid environment passed to g_spawn_async in g_desktop_...
6620    505258 crash in Users and Groups: Adding a user
6621    505815 g_content_types_get_registered should not g_free keys
6622    491218 g_timer_new() doesn't initialize timer->end
6623    315437 extern inline -> static inline
6624    476856 Inconsistency between standard and implementation of the ...
6625    480122 g_module_open fails to open modules with ".la" extension
6626    495589 gspawn.c failing to set FD_CLOEXEC
6627    500273 doesn't build with --disable-visibility
6628    504142 Do not show empty groups in --help output
6629    504879 giofam incorrectly linked
6630    505042 add file attribute for actually used file size in bytes
6631    505058 xattr namespace docs
6632    505674 Misprint in the definition of the macro G_CCLOSURE_SWAP_DATA
6633    505730 Fails to build on OSX 10.4: _NSGetEnviron not declared
6634    505887 older darwin lacks lchown
6635    506374 gmemoryinputstream api
6636    506461 Conversion of g_assert_not_reached() and friends into fun...
6637    503051 Small bug in glib interface
6638    506395 Updates to GIO documentation
6639    507628 Missing .pc entry for gio linking against glib
6640    505195 [patch] typo in g_try_new0 docs 
6641    507822 g{file,directory}monitor changes signal problem
6642    506377 gmemoryoutputstream write implementation
6643    507835 bug in gunixinputstream 
6644
6645  * Updated translations:
6646    Arabic (ar)
6647    Belarusian Latin (be@latin)
6648    Spanish (es)
6649    Basque (eu)
6650    Irish (ga)
6651    Hebrew (he)
6652    Occitan (oc)
6653    Vietnamese (vi)
6654
6655
6656 Overview of Changes from GLib 2.14.x to GLib 2.15.0
6657 ===================================================
6658
6659 Major new features:
6660
6661  * GIO: a VFS API, designed to replace GnomeVFS. The GIO implementation 
6662    in GLib has support for local filesystems. The new, separate gvfs 
6663    module contains various backend implementations (cifs, ftp, sftp,
6664    http, ...)
6665
6666  * GChecksum: provides various hash algorithms, such as MD5, SHA-1
6667    and SHA-256
6668  
6669  * GTest: a test framework 
6670  
6671 Smaller additions:
6672
6673  * GHash:
6674  - GHash has iterators, as an alternative to g_hash_table_foreach
6675
6676  * GMarkup: 
6677  - g_markup_parse_context_get_element_stack: New function to
6678    get the stack of open elements
6679  - G_MARKUP_PREFIX_ERROR_POSITION: New flag to improve error
6680    reporting
6681  - g_markup_collect_attributes: Convenience function for handling
6682    attributes
6683
6684 * GKeyFile: 
6685  - Functions that take a GError now return a boolean to indicate 
6686    success, instead of void
6687  - Various performance improvements
6688
6689 * GAsyncQueue:
6690  - g_async_queue_new_full: new function that allows to specify
6691    a free function for leftover elements
6692  
6693 * GError:
6694  - g_prefix_error and g_propagate_prefixed_error: New functions
6695    to ease error propagation
6696
6697 * Internationalization:
6698  - C_: A new 2-argument variant of the Q_() macro 
6699  - Use native character set conversion API on Windows
6700
6701 * GLib builds with automake 1.10
6702
6703 * Bugs fixed:
6704  455725 specific combination of g_utf8_strlen and g_pattern_match...
6705  467537 g_convert_with_iconv() not resetting iconv() state correc...
6706  497033 Commandline option parser should warn about missing optio...
6707  504527 gchecksum: Conditional jump or move depends on uninitiali...
6708  445362 Non-numeric local labels in gatomic.c are causing linker ...
6709  482313 gregex: no way to tell why compilation failed
6710  317775 main loops continues to run after g_main_loop_quit() has ...
6711  418778 Insufficient pkg-config version requirement
6712  436293 g_option_context_new() doc should mention that the string...
6713  466557 glib-mkenums shifts ARGV[0] to undefined
6714  468882 GKeyFile doesn't accept "True" as a true boolean value
6715  469551 application --help messages are garbaged on none UTF-8 lo...
6716  479724 Memory leak upon calling "g_main_loop_run" in the seconda...
6717  490061 outptrs uninitialized after g_parse_long_long
6718  490637 gobject documentation patch
6719  495294 glib-genmarshal prints warnings but returns 0
6720  496046 option to prefix location of errors for GMarkup
6721  498113 tests/regex-test fails on 64bit environment
6722  500506 Fails to build on OSX 10.4
6723  500638 gkeyfile speedup ...
6724  500875 Make check fails as there is no "test" target for "build"...
6725  502511 g_assert_cmphex prints invalid message
6726  502927 g_array_index triggers cast aligment warning
6727  503029 g_time_val_from_iso8601 parse non-ISO8601 dates
6728  503222 Need context to translate
6729  503420 gkeyfile leaks a hash table
6730  503470 Fix build when builddir != srcdir
6731  504227 Inverse variant for g_test_trap_assert_stdout, g_test_tra...
6732  71704  file include order
6733  491957 Misprint in the specification of the interface "g_main_co...
6734  491959 Misprint in description of the structure "GThreadPool"
6735  491965 Mistype in the specification of the function "g_hook_list...
6736  491966 Misprint in the specification of the interface "g_main_co...
6737  491968 The documentation does not mention the restriction for th...
6738  491970 The documentation for the interface "g_date_clamp" is inc...
6739  491974 The documentation of the interface "g_main_context_iterat...
6740  491975 The documentation for the interfaces "g_io_channel_read_u...
6741  491979 Misprint in the description of the interfaces g_key_file_...
6742  491982 Misprint in the description of the interface "g_key_file_...
6743  501107 EXTRA_DIST automake warnings
6744  501997 g_utf8_normalize() returns NULL on invalid string
6745  502590 C_/g_dpgettext efficiency
6746  464259 g_set_application_name() docs should say "Since 2.2"
6747  496518 gbase64.c API doc clarification
6748  498728 g_key_file_get_*_list should set length to 0 when returni...
6749  500361 Improve docs for g_array_free() and g_ptr_array_free()
6750  501853 g_checksum_get_digest docs
6751  503862 Allow NULL strings in g_parse_debug_string()
6752  142676 Q_
6753  367550 Add g_async_queue_new_full() with GDestroyNotify function
6754  375651 Minor enhancements to GKeyFile API
6755  443648 MD5 digest support
6756  449937 Upgrade auto* sources to be clean under automake1.9
6757  452887 gmarkup context "get element" function is useless when ca...
6758  491549 [PATCH] Eliminate libiconv dependency on Windows
6759  500507 GHashTableIter API 
6760
6761 * Translation updates
6762  Belarusian Latin (be@latin)
6763  Czech (cs)
6764  German (de)
6765  Spanish (es)
6766  Esperanto (et)
6767  French (fr)
6768  Korean (ko)
6769  Marathi (mr)
6770  Norwegian bokmål (nb)
6771  Brazilian Portugese (pt_BR)
6772  Slovenian (sl)
6773  Swedish (sv)
6774
6775
6776 Overview of Changes from GLib 2.14.2 to GLib 2.14.3
6777 ===================================================
6778
6779 * Update PCRE to 7.4
6780
6781 * Bugs fixed:
6782  487491 Fix some warnings from sparse
6783  488068 Small (one-time) memory leak in glib_gettext initialization
6784  493688 TYPE macro "_get_type ()" is documented wrong
6785
6786 * Updated translations:
6787  Arabic (ar)
6788  Belarusian Latin (be@latin)
6789  Estonian (et)
6790  Irish (ga)
6791  Slovenian (sl)
6792
6793  
6794 Overview of Changes from GLib 2.14.1 to GLib 2.14.2
6795 ===================================================
6796
6797 * Bugs fixed:
6798  476849 Invocation of the interface "g_hook_free" fails in certai...
6799  359165 marshallers can throw warnings with -Wunused
6800  477957 more discussion on g_value_set_object vs. g_value_take_ob...
6801  478459 G_DEFINE_DYNAMIC_TYPE_EXTENDED doesn't work with G_IMPLEM...
6802  483337 inline is disabled for MSVC when compiling C code
6803  478349 Broken link to gettext website
6804  469231 g_spawn optimization for setting all open fds to CLOEXEC 
6805
6806 * Updated translations:
6807 Arabic (ar)
6808 Galician (gl)
6809 Hebrew (he)
6810 Korean (ko)
6811
6812
6813 Overview of Changes from GLib 2.14.0 to GLib 2.14.1
6814 ===================================================
6815
6816 * Bugs fixed:
6817  476840 Invocation of the interface "g_utf8_strreverse" crashes f...
6818  444765 Fix FIXME in gregex.c when new pcre is out
6819  464145 g_markup_escape_text Produces Invalid XML
6820  465625 g_type_default_interface_ref() does not ensure working g_...
6821  466768 Clearify that comments can be put anywhere in a Key-file.
6822  474229 The GError documentation should give convention for the G...
6823  474899 G_BREAKPOINT() docs inaccurate
6824  475854 Overuse of -lpcre when using system pcre
6825  473879 Incorrect includes in gregex.c
6826  468694 Typoes in documentation
6827  469051 g_snprintf () talks about characters where it probably me...
6828  457601 Missing arch specific atomic implementation
6829  475923 Missing pcre flags when static-linking against glib
6830  475619 glibthread-2.0.la does not list -lpthread
6831
6832 * Updated translations:
6833  Bulgarian (bg)
6834  Catalan (ca)
6835  Danish (da)
6836  German (de)
6837  Canadian English (en_CA)
6838  British English (en_GB)
6839  Spanish (es)
6840  Estonian (et)
6841  Finnish (fi)
6842  French (fr)
6843  Gujarati (gu)
6844  Hungarian (hu)
6845  Italian (it)
6846  Georgian (ka)
6847  Kannada (kn)
6848  Lithuanian (lt)
6849  Makedonian (mk)
6850  Norwegian (nb)
6851  Dutch (nl)
6852  Polish (pl)
6853  Portugese (pt)
6854  Brazilian Portugese (pt_BR)
6855  Romanian (ro)
6856  Russian (ru)
6857  Albanian (sq)
6858  Serbian (sr, sr@Latn)
6859  Swedish (sv)
6860  Tamil (ta)
6861  Thai (th)
6862  Ukrainian (uk)
6863  Vietnamese (vi)
6864
6865
6866 Overview of Changes from GLib 2.13.7 to GLib 2.14.0
6867 ===================================================
6868
6869 * Last-minute API additions:
6870  - Make g_unichar_combining_class public
6871  - Add goffset type, add G_MAXSSIZE and G_MINSSIZE
6872
6873 * Update PCRE to 7.2
6874
6875 * Bugs fixed:
6876  453998 Make _g_unichar_combining_class() public
6877  462549 gregex.c: variable is declared at middle of block
6878  417068 g_file_test doc inconsistency
6879
6880 * Updated translations:
6881  Assamese (as)
6882  Basque (eu)
6883  Kannada (kn)
6884  Malayalam (ml)
6885  Dutch (nl)
6886  Polish (pl)
6887  Brazilian Portugese (pt_BR)
6888  Turkish (tr)
6889
6890
6891 Overview of Changes from GLib 2.13.6 to GLib 2.13.7
6892 ===================================================
6893
6894 * The memory corruption warning from the slice allocator that
6895   occurred when threads were initialized after the slice allocator
6896   has been removed, as the slice allocator now works fine
6897   in this scenario.
6898
6899 * New functions g_once_init_enter() and g_once_init_leave() make
6900   it easier to write threadsafe one-time initialization functions 
6901  
6902 * Bugs fixed:
6903  454473 Simple XML Subset Parser terminates on invalid XML
6904  445813 g_module_open error, add file name
6905  453796 errno gets clobbered by g_filename_display_name
6906  341988 don't use "-c" with msgfmt in Makefile.in.in
6907  447048 Please produce slightly more output during long tests
6908  454785 GModule documentation lists same block of code twice.
6909  454786 GModule documentation lists same paragraph twice.
6910  383155 small docs quirks in gobject/closure API documentation
6911  65041  _get_type() functions aren't thread safe
6912
6913 * Updated translations
6914  Assamese (as)
6915  Spanish (es)
6916  Gujarati (gu)
6917  Japanese (ja)
6918  Korean (ko)
6919  Macedonian (mk)
6920
6921
6922 Overview of Changes from GLib 2.13.5 to GLib 2.13.6
6923 ===================================================
6924
6925 * Reintroduce a GType typedef whose removal in 2.13.5
6926   caused trouble for C++ bindings
6927
6928 * Bugs fixed:
6929  450216 docs not explicit enough about g_free()
6930  451459 g_type_register_static_simple calls g_type_register_static
6931
6932 * Updated translations
6933  Norwegian bokmål (nb)
6934  Sinhala (si)
6935
6936
6937 Overview of Changes from GLib 2.13.4 to GLib 2.13.5
6938 ===================================================
6939
6940 * xdg-user-dirs support: 
6941  - the Desktop directory is guaranteed to be defined
6942  - user-dirs.dirs is no longer reloaded on changes
6943
6944 * Slice allocator: 
6945  - new api to duplicate slices
6946
6947 * Regular expression support:
6948  - GRegex is a boxed type now
6949
6950 * Bugs fixed:
6951  44793 make check failing in trunk
6952  354522 Small problem with PLT hiding 6 symbols
6953  363986 glib 2.12.4 does not compile with SGI IDO cc
6954  443869 g_type_class_add_private doesn't warn when adding 0-sized...
6955  446859 Legitimately return 0 for g_quark_from_string(NULL)
6956  447534 Small typo in g_timeout_add_seconds() doc
6957  447583 GStaticRWLock
6958  447935 g_get_current_dir SIGSEGV on long path
6959  448260 CLAMP has surprising result if low > high
6960  57693  g_string_vprintf()
6961  442029 add g_slice_dup()
6962  445065 Add GRegex boxed type
6963  448819 Add full version of g_timeout_add_seconds()
6964
6965 * Updated translations: 
6966  Swedish (sv)
6967  Oriya (or)
6968  Hebrew (he)
6969  Spanish (es)
6970  Estonian (et)
6971
6972  
6973 Overview of Changes from GLib 2.13.3 to GLib 2.13.4
6974 ===================================================
6975
6976 * Bugs fixed:
6977  444121 g_get_user_special_dir deadlocks
6978  444161 invalid UTF8 in key name shows up as valgrind error in g_...
6979  444130 g_option_context_get_help() is broken when there's a desc...
6980
6981
6982 Overview of Changes from GLib 2.13.2 to GLib 2.13.3
6983 ===================================================
6984
6985 * GKeyFile:
6986  - Added defines for easier handling of desktop files
6987
6988 * Unicode support:
6989  - Update g_unichar_iswide_cjk for Unicode 5.0
6990
6991 * Regular expression support:
6992  - GRegex structs can now be ref-counted
6993  - Some new functions for dealing with incremental 
6994    replacement have been added
6995  - The GRegexEvalCallback signature has been changed
6996
6997 * g_get_user_special_dir() has been added to support
6998   xdg-user-dirs
6999
7000 * Bugs fixed:
7001  419376 Functions using named subpatterns behave inconsistently w...
7002  434358 g_regex_fetch_named() and g_regex_fetch_named_pos() are b...
7003  423708 typo in the README.win32 file see patch below
7004  339225 Add new defines for easier handling of .desktop files 
7005  442265 API additions/changes for GRegex
7006  432651 Add a glib-ish xdg_user_dir_lookup
7007
7008 * Updated translations:
7009  Estonian (et)
7010  Norwegian bokmål (nb)
7011
7012
7013 Overview of Changes from GLib 2.13.1 to GLib 2.13.2
7014 ===================================================
7015
7016 * Unicode support:
7017  - Add g_unichar_ismark()
7018
7019 * GOption:
7020  - Allow to use callbacks for remaining args
7021
7022 * Updated translations:
7023   Belarusian Latin (be@latin)
7024   British English (en_GB)
7025   Galician (gl)
7026   Norwegian bokmål (nb)
7027   Oriya (or)
7028   Spanish (es)
7029   Thai (th)
7030
7031
7032 Overview of Changes from GLib 2.13.0 to GLib 2.13.1
7033 ===================================================
7034
7035 * GRegex:
7036  - Portability fixes
7037  - Split into immutable GRegex and GMatchInfo
7038  - Add g_regex_get_max_backref() and g_regex_get_capture_count()
7039    to obtain information about the compiled regex
7040
7041 * GKeyFile:
7042  - Fix roundtrip problems
7043  - Add g_key_file_load_from_dirs()
7044
7045 * Unicode support:
7046  - Fix corner cases in case conversion routines
7047
7048 * GOption:
7049   - Add a function to get the formatted help string
7050
7051 * GHash:
7052  - Add new functions g_hash_table_get_keys() and
7053    g_hash_table_get_values() to retrieve the keys and
7054    values in list form
7055
7056 * Updated transations:
7057   Simplified Chinese (zh_CN)
7058   Arabic (ar)
7059
7060
7061 Overview of Changes from GLib 2.12 to GLib 2.13.0
7062 =================================================
7063
7064 * Add GSequence, a list that is implemented using
7065   a balanced binary tree.
7066
7067 * Add GRegex, an implementation of Perl regular expressions,
7068   based on PCRE.
7069  
7070 * Use Posix monotonic clocks instead of gettimeofday()
7071   for GTimer when available.
7072
7073 * Support static initialization of GQeues with G_QUEUE_INIT,
7074   g_queue_init() and g_queue_clear().
7075
7076 * Add g_string_chunk_clear() for clearing a 
7077   GStringChunk.
7078
7079 * Add g_unichar_get_script() to obtain Unicode
7080   script information.
7081
7082 * Add g_unichar_iszerowidth() to obtain information
7083   about zero-width characters.
7084
7085 * Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias 
7086   type attribute.
7087
7088 * G_GNUC_INTERNAL has a working definition for the
7089   Sun Studio compiler. This requires the macro to
7090   be positioned before the function declaration.
7091
7092 * The slice allocator can produce detailed debugging
7093   information with G_SLICE=debug-blocks.
7094
7095 * Modules support G_DEBUG flags resident-modules and
7096   bind-now-modules.
7097
7098 * Add G_DEFINE_DYNAMIC_TYPE() to make it easier
7099   to define types in modules.
7100
7101 * Bug fixes: too many to list them in detail here.
7102
7103 * New and updated translations (be,bg,bn,ca,cs,de,
7104   en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml,
7105   nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN,
7106   zh_HK,zh_TW)
7107
7108
7109 Overview of Changes from GLib 2.12.1 to GLib 2.12.2
7110 ===================================================
7111
7112 * Unicode updates:
7113  - Normalization is following Unicode TR #29
7114  - g_unichar_isxdigit() only accept characters
7115    for which g_unichar_xdigit_value() returns a value
7116  - g_unichar_toupper and g_unichar_tolower leave
7117    unconvertable characters in place instead of
7118    replacing them by NUL
7119
7120 * Bugs fixed
7121  348491 g_utf8_strup() and g_utf8_strdown() returns 
7122         string with NUL bytes
7123  349825 GKeyFile always inserts a newline before a group
7124  347842 g_unichar_isxdigit() is too general about what 
7125         it considers a digit
7126  348694 g_utf8_normalize() hasn't been updated to PR #29
7127  348785 Hint about G_DEBUG in Message Logging docs
7128  349792 Wrong english string (UI)
7129  349952 gparamspecs.c uses gcc feature
7130
7131 * Translation updates (ca,cs,de,dz,es,eu,fi,gu,ko,
7132   nl,pl,tr,uk,zh_HK,zh_TW)
7133
7134
7135 Overview of Changes from GLib 2.12.0 to GLib 2.12.1
7136 ===================================================
7137
7138 * Update to final Unicode Character Database 5.0.0
7139
7140 * Bugs fixed:
7141  346660 issues with base64 api documentation / g_base64_decode_cl...
7142  348136 Coverity reports allocation of wrong size CID #2839
7143  336281 Update to UCD 5.0
7144  346197 g_date_strftime %F option doesnt work for win32
7145  348011 Small optimization to real_toupper()
7146  246494 prototype mismatch in glib/gconvert.c
7147
7148 * New and updated translations (bg,bn_IN,ca,dz,eu,fi,
7149   fr,he,it,ja,mk,or,pt)
7150
7151
7152 Overview of Changes from GLib 2.11.4 to GLib 2.12
7153 =================================================
7154
7155 * Bugs fixed:
7156  344905 leap-year bug in g_time_val_from_iso8601 w/o HAVE_TIMEGM
7157
7158 * Updated translations (cy,nb,nl)
7159
7160
7161 Overview of Changes from GLib 2.11.3 to GLib 2.11.4
7162 ===================================================
7163
7164 * GBookmarkFile:
7165  - g_bookmark_file_remove_item returns a boolean
7166  
7167 * g_mkstemp accepts the XXXXXX in the middle of
7168   the template
7169  
7170 * Bugs fixed:
7171  344868 g_key_file_to_data should separate groups 
7172
7173 * Updated translations (de,es,fr,gu,hi,ko,th)
7174
7175
7176 Overview of Changes from GLib 2.11.2 to GLib 2.11.3
7177 ===================================================
7178
7179 * GBookmarkFile:
7180   - g_bookmark_file_move_item: Return TRUE in case of
7181     an empty target
7182
7183 * Bugs fixed: 
7184  343919 gunicollate.c: strxfrm bug on VC8
7185
7186 * Updated translations (fi)
7187
7188 Overview of Changes from GLib 2.11.1 to GLib 2.11.2
7189 ===================================================
7190
7191 * Add g_ascii_stroll to parse signed 64bit integers
7192
7193 * GMarkup: add a flag to treat CDATA as text
7194
7195 * GHashTable: add functions to remove all entries
7196
7197 * GMainLoop: add functions to find the currently
7198   running source, and determine if it is destroyed
7199
7200 * Bug fixes:
7201  342563  g_atomic_thread_init() needs to be called before 
7202          other _g_*_thread_init() functions
7203  343548  Potential use after free in callers of g_string_free() 
7204  168538  Wish: Clearing contents of GHashTables
7205  321886  GTK+ cannot be reliably used in multi-threaded 
7206          applications
7207  341826  goption.c: 'strtoll' is C99's function
7208  343899  g_ascii_formatd dosn't work as expected for all 
7209          format strings
7210  317793  Make GEnumValue strings const
7211  337129  Compile warnings in G_IMPLEMENT_INTERFACE
7212  303622  What is G_TYPE_CHAR?
7213
7214 * Updated translations (bg,dz,eu,gl,ja,ko,nl,th,vi)
7215  
7216
7217 Overview of Changes from GLib 2.11.0 to GLib 2.11.1
7218 ===================================================
7219
7220 * GOption  
7221   - Support 64-bit integers 
7222   - Allow optional text before and after the options
7223     in help output
7224
7225 * Bug fixes:
7226  340538 gbase64-test writes OOB 
7227  340816 GKeyFile set_string_list invalid memory reads 
7228  339105 g_key_file_parse_value_as_double
7229  340434 convert-test.c fails (function test_one_half)
7230  311043 Memory leaks (and potential infinite loops) 
7231         when using G_ERRORCHECK_MUTEXES
7232  335198 Error checking mutexes are fubar  
7233  341237 Add a G_OPTION_ARG_INT64
7234  341192 g_io_channel_set_flags not implemented on win32
7235  336120 Allow adding description before/after GOption 
7236         --help output body
7237  341191 misplaced check in g_relation_delete
7238  340530 mismatched calloc / g_free in win32 threads
7239
7240 * Updated translation (es)
7241
7242 Overview of Changes from GLib 2.10.x to GLib 2.11.0
7243 ===================================================
7244
7245 * GBookmarkFile: a parser for files containing bookmarks
7246   stored using the Desktop Bookmark specification.
7247
7248 * Base64 encoding support
7249         
7250 * Unicode 5.0 support
7251
7252 * GOption supports floating point numbers 
7253
7254 * GKeyFile supports floating point numbers
7255
7256 * Bug fixes:
7257  155884 gatomic.c should be based on new SDK
7258  157877 update-desktop-database doesn't handle duplicate entries
7259  164719 keyfile parser doesn't support floats
7260  327662 Import BookmarkFile from libegg
7261  329548 Add G_OPTION_ARG_DOUBLE
7262  329789 option-test.c type confusion
7263  332841 Segmentation Fault when %llu is passed to vasnprintf and 
7264         HAVE_SNPRINTF is not defined
7265  333879 gthread/gthread-win32.c: IsDebuggerPresent needs '#define 
7266         _WIN32_WINDOWS 0x0401'
7267  333916 g_timer_elapsed docs should mention that microseconds 
7268         may be NULL
7269  334440 dlerror() portability issue causes crash on (old) a.out 
7270         NetBSD platform
7271  334646 goption + error out params
7272  334799 g_remove() must check return value of remove()
7273  334943 make check FAIL: threadpool-test
7274  335215 Some breakages with GThreadPool
7275  336085 g_option_context_new parameter lacks better explanation
7276  336677 Documentation for g_object_ref_sink() is incorrect
7277  337027 gbookmarkfile.c: sys/time.h include error
7278  337553 Wrong escaping of URIs
7279  338572 Dereferencing NULL value in g_key_file_get_group_comment
7280  338845 g_completion_complete_utf8 crashes when NULL is passed to it
7281  339337 g_bookmark_file_set_description
7282  339338 gbookmarkfile.c, function expand_exec_line
7283  339340 gbookmarkfile.c, function bookmark_app_info_dump
7284
7285 * Translation updates (bg,en_GB,et,gl,gu,he,hi,ka,nb,nl,nn,
7286                        or,pt_BR,ro,tr,vi,zh_CN)
7287
7288
7289 Overview of Changes from GLib 2.10.0 to GLib 2.10.1
7290 ===================================================
7291
7292 * Bugs fixed:
7293  314794 Broken pthread detection on Darwin [Gregor Riepl]
7294  322476 Missing check for .dylib [Vladimir Panov]
7295  333651 Inconsistent _g_charset_get_aliases prototype [Julio 
7296         M. Merino Vidal]
7297  333761 GInitiallyUnowned breaks application code [Sven Herzberg]
7298
7299 * Win32 changes:
7300  - Fix g_listenv() implementation.
7301  - Allow up to 100 GPrivate structs
7302
7303 * Translation updates (fr,hu,lt,pl,sv)
7304
7305
7306 Overview of Changes from GLib 2.9.6 to GLib 2.10.0
7307 ==================================================
7308
7309 * Bugs fixed:
7310  328997 64bit pointer trunction in glib slab-allocator
7311         [Pascal Hofstee]
7312  331110 g_cond_broadcast(inform_cond) without holding 
7313         inform_mutex [Chris Wilson, Sebastian Wilhelmi]
7314  332093 Fix some leaks in the tests [Kjartan Maraas]
7315  332435 g_utf8_strlen returns wrong value if a maximum 
7316         number of bytes to check is specified 
7317         [Matthias Clasen]
7318  331367 gslice requires more POSIX-like semantics for 
7319         GPrivate destructors [Tor Lillqvist]
7320
7321 * Documentation improvements [Matthias, Kang Jeong-Hee,
7322   Tor Lillqvist, Stefan Kost]
7323
7324 * Translation updates (el,eu,ka,uk)
7325
7326 Overview of Changes from GLib 2.9.5 to GLib 2.9.6
7327 =================================================
7328
7329 * Bugs fixed: 
7330  329124 distclean removes README [Kjartan Maraas, Tim Janik]
7331  317679 GRelation field type not documented [Behdad Esfahbod]
7332  329123 Typo in GTime docs [Kjartan Maraas]
7333
7334 * Documentation improvements [Sven Herzberg, David
7335   Schleef, Kjartan Maraas, Behdad Esfahbod]
7336
7337 * Translation updates (cs,cy,it,ko,pt,sq,sr,sr@Latn,ru
7338
7339 Overview of Changes from GLib 2.9.4 to GLib 2.9.5
7340 =================================================
7341
7342 * Memory management: 
7343   Runtime debugging support: The slice allocator
7344   can be turned off by setting G_SLICE=always-malloc
7345   in the environment. Zeroing of freed memory can
7346   now be turned on at runtime by setting
7347   G_DEBUG=gc-friendly in the environment. [Tim Janik]
7348
7349 * Bugs fixed:
7350  328253 HP-UX/IA-64 uses ".so" as default shared library 
7351         extension [Albert Chin]
7352  143380 unicode-encoding test fails converting to UTF-16 
7353         with libiconv [Marc Moorcroft]
7354  328254 Build breakage (GSlice) [Jens Ganseuer]
7355  328705 C99ism in glib/gmem.c [Kazuki Iwamoto]
7356
7357 * Translation updates (da,et,zh_CN)
7358
7359 Overview of Changes from GLib 2.9.3 to GLib 2.9.4
7360 =================================================
7361
7362 * Type system:
7363   Fix a problem with g_object_compat_control() which 
7364   can lead to segfaults in GTK+ applications on 64bit 
7365   platforms. 
7366
7367 * Thread suppport: 
7368   Unused threads now fall back to the global pool after 
7369   500 milliseconds, where they wait for another 
7370   max-idle-time milliseconds. [Sebastian Wilhelmi]
7371
7372 * Fix a memory allocation problem in GKeyFile. [Morten 
7373   Welinder]
7374
7375
7376 Overview of Changes from GLib 2.9.2 to GLib 2.9.3
7377 =================================================
7378
7379 * GTree:
7380  - Replace the simple recursive implementation by
7381    a nonrecursive, threaded one  [Maurizio Monge]
7382
7383 * Change g_filename_display_name and
7384   g_filename_display_basename to use the Unicode
7385   replacement character U+FFFD instead of a question
7386   mark, and don't append "(invalid encoding)"  [Matthias]
7387
7388 * Documentation improvements [Sven Herzberg, Federico
7389   Mena Quintero, Stefan Kost]
7390
7391 * Bugs fixed:
7392  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X 
7393         [Bogdan Nicula]
7394  326558 Some test failures on IRIX 6.5 [Daichi Kawahata]
7395  169285 "threaded" tree implementation for GTree 
7396         [Maurizio Monge]
7397  326747 g_filename_display_basename adds (invalid encoding) 
7398         [Alberto Ruiz]
7399
7400 Other contributors: Christian Kellner, Murray Cumming
7401
7402 New and updated translations (bg,ca,de,es,et,gu,ja,nl,th,vi)
7403
7404
7405 Overview of Changes from GLib 2.9.1 to GLib 2.9.2
7406 =================================================
7407
7408 * Memory management:
7409  - Add tests for cache colorization [Tim Janik]
7410  - Minimize space consumption if small amounts of differently
7411    sized slices are allocated, at a small performance cost.  [Tim]
7412
7413 * Thread support:
7414  - Add g_atomic_pointer_set() and g_atomic_int_set() [Tim Janik,
7415    Sebastian Wilhelmi]
7416  - Add g_thread_pool_set_sort_function() to allow sorting the 
7417    tasks of a threadpool.  [Martyn Russell]
7418  - Add g_thread_pool_set_idle_time() to allow unused threads
7419    to exit after a certain time.  [Martyn]
7420
7421 * Type system:
7422  - introduce a new type GInitiallyUnowned, which has an initial
7423    floating reference. [Tim]
7424  - Add support for GType parameters. [Matthias]
7425
7426 * Main loop:
7427  - Add g_main_context_is_owner() to determine if the current
7428    thread is the owner of the context.  [Michael Meeks]
7429
7430 * Provide g_access(), g_chdir(), g_unlink(), g_rmdir() as 
7431   wrapper functions instead of macros.  [Manish Singh]
7432
7433 * Documentation improvements [Tim, Matthias, Federico Mena Quintero,
7434   Stefan Kasal, Dan Williams]
7435
7436 * New and updated translations (en_CA,fi,fr,gl,ml,nb,no,zh_HK,zh_TW)
7437
7438 * Bugs fixed:
7439  324179 g_allocator_new() returns pointer to const dummy which Gtk+ 2.8 
7440         tries to modify [J. Ali Harlow]
7441  324332 g_option_context_parse() returns false without setting error 
7442         [Tim-Philipp Müller]
7443  324950 GLIB 2.9.1 testcase errors [Dan Yefimov]
7444  325015 gslice.c: process.h is needed on Windows [Kazuki Iwamoto]
7445  321978 G_DATALIST_GET_FLAGS() macro is not casting datalist to 
7446         gpointer [Andrew Paprocki]
7447  316221 G_LOCK warns about breaking strict-aliasing [Michal Benes, 
7448         Stanislav Brabec]
7449  325273 Error in documentation for glib_check_version () [Declan Naughton]
7450  325310 g_spawn_sync hangs when catching both stdout and 
7451         stderr [Tor Lillqvist]
7452  325249 gcc warning when using g_rmdir from <glib/gstdio.h> [Jani Monoses]
7453  325864 glib/gthreadpool.c:"#define debug(...)" is C99 [Kazuki Iwamoto]
7454  325874 Should say somewhere that source IDs are > 0 [Dan Williams]
7455  325438 a typo (compatability) [Stefan Kasal]
7456  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X [Bogdan Nicula]
7457
7458
7459 Overview of Changes from GLib 2.9.0 to GLib 2.9.1
7460 =================================================
7461
7462 * Memory management
7463  - The slice allocator is implemented [Tim Janik]
7464  - g_slice_free_chain() has been renamed to 
7465    g_slice_free_chain_with_offset()  [Tim, Behdad Esfahbod]
7466  - Mem chunks are deprecated [Matthias Clasen]
7467
7468 * Data structures
7469  - Hash tables are refcounted, and have a boxed type [Tim]
7470
7471 * Thread support
7472  - Support for Solaris threads has been removed 
7473    [Sebastian Wilhelmi, Andrew Paprocki]
7474  - g_async_queue_sort(), g_async_queue_push_sorted() have 
7475    been added to allow GAsyncQueue to be used as a priority 
7476    queue, together with the corresponding _unlocked 
7477    variants  [Martyn Russell]
7478
7479 * GObject:
7480  - The concept of a floating initial reference has been
7481    moved from GtkObject to GObject [Tim]
7482
7483 * Win32 changes:
7484  - Make g_rename() replace existing files [Tor Lillqvist]
7485
7486 * Misc new API:
7487  - G_GUINT64_CONSTANT macro to define guint64 
7488    constants [Andrew Paprocki]
7489  - G_GNUC_WARN_UNUSED_RESULT macro to instruct the 
7490    compiler to emit a warning if the value returned
7491    by a function is ignored. [Arjan van de Ven, Alex Larsson]
7492  - GList and GSList now have sort functions which take an
7493    extra user data argument [Martyn Russell]
7494  - g_param_spec_ref_sink() has been added for consistency [Tim]
7495
7496 * $LOGNAME is respected when determining user data. [Laszlo Peter]
7497
7498 * Other changes and bug fixes [Tim, Matthias, Behdad, 
7499   Christian Persch, Benedikt Meurer, Andrew Paprocki, 
7500   Kazuki Iwamoto, Alexis S. L. Carvalho, Stanislav Brabec,
7501   Andreas Schwab, Kalle Vahlman]
7502
7503 * Documentation
7504  - Deprecation warnings carry version information [Matthias]
7505  - The slice allocator has been documented [Matthias, Tim]
7506  - Other improvements [Morten Welinder]
7507
7508 Overview of Changes from GLib 2.8.x to GLib 2.9.0
7509 =================================================
7510 * Unicode support:
7511  - The Unicode tables have been updated to Unicode 4.1, 
7512    adding several new values to the GUnicodeBreakType 
7513    enumeration. This breaks Pango <= 1.10 
7514    [Behdad Esfahbod]
7515  - The various Unicode character predicate functions 
7516    (g_unichar_isalpha, g_unichar_isdigit,...) have
7517    been optimized
7518    [Behdad]
7519  - g_utf8_pointer_to_offset, g_utf8_offset_to_pointer:
7520    These functions handle negative offsets now, and
7521    going backwards in g_utf8_offset_to_pointer uses
7522    "stutter stepping".
7523    [Larry Ewing, Matthias Clasen]
7524
7525 * Memory management:
7526  - Mem chunks are no longer used internally in GLib and
7527    GObject. GMemChunk will be deprecated in GLib 2.10
7528  - All APIs based on GAllocator (g_list_push/pop_allocator,
7529    and similar push/pop_allocator functions for other
7530    data structures) have been deprecated, since they
7531    never worked as intended.
7532  - The g_slice_* functions have been added as a 
7533    new API for fast allocation of small memory blocks. 
7534    The implementation in GLib 2.9.0 is just a simple 
7535    wrapper around malloc. GLib 2.10 will have an
7536    efficient and scalable implementation. 
7537    [Tim Janik, Matthias]
7538
7539 * Pattern matching:
7540  - g_pattern_match has been optimized to avoid
7541    unnecessary recursion.
7542    [Tim, Matthias]
7543
7544 * g_intern_string, g_intern_static_string: 
7545  - New functions to intern strings. These are now used 
7546    by GObject to avoid duplicating static strings 
7547    [Matthias]
7548
7549 * g_thread_foreach: 
7550  - New function to iterate over all GThreads 
7551    [Tim, Matthias]
7552
7553 * g_date_set_time_t, g_date_set_time_val:
7554  - New functions to set a GDate from a time_t or
7555    GTimeVal value. g_date_set_time has been deprecated 
7556    in favor of these.
7557    [Roger Leigh]
7558
7559 * g_snprintf and g_vsnprintf:
7560  - These functions are no longer declared in gprintf.h, 
7561    since they are in glib.h
7562    [Matthias]
7563
7564 Overview of Changes from GLib 2.8.0 to GLib 2.8.1
7565 =================================================
7566 * Optimize single-character insertions in GString [Ross Burton]
7567 * Fix build problems on OS X
7568 * Fix build problems on Win32 [Tor Lillqvist, Hans Breuer]
7569 * Other bug fixes [Matthew F. Barnes, Stepan Kasal] 
7570 * Documentation improvements [Tristan van Berkom, Behnam
7571   Esfahbod, Gustavo Carneiro, Stepan Kasal, Matthias]
7572 * New and updated translations (ca,cy,ko,ro,uk)
7573
7574 Overview of Changes from GLib 2.7.7 to GLib 2.8.0
7575 =================================================
7576 * Make g_value_transform() handle enum values
7577   correctly on ppc64.  [Michael Lorenz]
7578   (Third-party code accessing enumeration values 
7579   in GValues should also be changed to access 
7580   v_long, not v_int, in order to work on bigendian 
7581   64bit machines.)
7582 * Make g_flags_get_first_value() handle a value
7583   of 0 meaningfully. [Tim-Philipp Müller] 
7584
7585 Overview of Changes from GLib 2.7.6 to GLib 2.7.7
7586 =================================================
7587 * Make atomic operations on s390 work [Matthias]
7588 * Fix C++ guards in gstdio.h [Tor Lillqvist]
7589
7590 Overview of Changes from GLib 2.7.5 to GLib 2.7.6
7591 =================================================
7592 * Add native implementations of atomic operations 
7593   on s390 [Matthias]
7594 * Make atomic reference counting of closures
7595   work on s390 [Matthias]
7596 * Avoid an infinite loop in g_convert_with_iconv().
7597   [Sebastian Bacher]
7598 * Documentation improvements [Ross Burton]
7599
7600 Overview of Changes from GLib 2.7.4 to GLib 2.7.5
7601 =================================================
7602 * Thread-related changes
7603  - Fix build issues on HP-UX [Paul Cornett]
7604  - Threadsafe access to flags stored in datasets [Tim Janik]
7605  - Fix several issues with atomic refcounting for 
7606    closures, objects and paramspecs [Tim]
7607  - Improve tests for atomic refcounting changes [Tim]
7608 * Fix handling of stateful encodings in g_convert_* [Matthias]
7609 * Fix translation of GOption help output [Dan Winship]
7610 * Catch format errors in translations. This may cause 
7611   "make check" to fail when using older versions
7612   of gettext [Matthias]
7613 * Win32 bug fixes [Tor Lillqvist]
7614 * Documentation improvements [Ross Burton, Jochen Baier, 
7615   Matthias, Tim]
7616 * New and updated translations (de,fi,gu,pl,pt,tr,zh_TW)
7617
7618 Overview of Changes from GLib 2.7.3 to GLib 2.7.4
7619 =================================================
7620 * Fix g_atomic_pointer_compare_and_exchange 
7621   on Sparc64 [Gert Doering]
7622 * Fix a hang in g_thread_pool_free. [Hong Jen Yee]
7623 * Win32 bug fixes [Tor Lillquist]
7624 * Other bug fixes [Benoit Dejean, Manish Singh]
7625 * Documentation improvements [Bryan Silverthorn,
7626   Callum McKenzie] 
7627 * New and updated translations (de,lt,sq,zh_CN)
7628
7629 Overview of Changes from GLib 2.7.2 to GLib 2.7.3
7630 =================================================
7631 * GOption
7632  - Allow callbacks with optional arguments [Pawel Sliwowski]
7633  - Allow to turn off the automatic long option name
7634    disambiguation  [Adam McLaurin]
7635  - Only allow printable ASCII as short option names [Matthias]
7636 * Win32
7637  - Build fixes [Tor Lillqvist]
7638  - Rewrite iochannel socket implementation [Tor]
7639 * GObject
7640  - Threadsafety improvements; in particular, refcounting
7641    of objects is done atomically now. [Wim Taymans, Tim Janik]
7642 * Bug fixes [Morten Welinder, Matthias, Wim Taymans]
7643 * Documentation improvements [Richard Laager, Matthias]
7644 * New and improved translations (bf,cs,hu,nb,nl,no)
7645
7646 Overview of Changes from GLib 2.7.1 to GLib 2.7.2
7647 =================================================
7648 * Win32 build fixes [Hans Breuer]
7649 * Bug fixes [Mikael Magnusson]
7650 * Documentation improvements [Matthias Clasen]
7651 * New and updated translations (en_CA,es,et,ja,sr,sr@Latn,zh_TW)
7652
7653 Overview of Changes from GLib 2.7.0 to GLib 2.7.1
7654 =================================================
7655 * GOption 
7656  - Allow callback arguments without parameters [Dan Winship]
7657 * GMappedFile: an mmap wrapper [David Schleef, Behdad Esfahbod]
7658 * Misc new functions:
7659  - g_get_host_name [Tor Lillqvist]
7660  - g_mkdir_with_parents [Tor]
7661  - g_build_pathv, g_build_filenamev [Todd A. Fisher, 
7662    Matthias Clasen]
7663 * Bug fixes [Roger Leigh, Masatake YAMATO, Kjartan Maraas,
7664   Manish Singh, Tor, Murray Cumming, Kian Duffy, Morten Welinder]
7665 * Documentation improvements [Hong Gang XU, Dan Winship, Matthias]
7666 * New and updated translations (bg,cs,da,en_CA,es,et,nb,nl,no,
7667   sk,th,zh_TW)
7668
7669 Overview of Changes from GLib 2.6.x to GLib 2.7.0
7670 =================================================
7671 * GKeyFile
7672  - Add unit tests [Matthias Clasen, Suren A. Chilingaryan]
7673  - Accept \r\n as line end [Bastian Nocera]
7674  - Don't interpret leading zeros as octal numbers. [Matthias]
7675  - Make key and group removal work [David Hoover, Matthias Hasselmann]
7676 * GOption
7677  - Improve formatting of --help output [Matthias, Noah Levitt]
7678  - Accept -? [Matthias]
7679  - Warn about duplicate main groups [Jeff Franks]
7680  - Treat '-' as non-option argument [Tim Musson, Thomas Leonard]
7681  - Report missing arguments as errors [Björn Lindqvist]
7682  - Add a boxed type for GDate [Tim-Philipp Müller]
7683 * GTree
7684  - g_tree_remove() and g_tree_steal() return status information [Matthew F. Barnes]
7685 * Stdio wrappers
7686  - Work regardless of large file support [Manish Singh]
7687  - Add g_access(), g_chmod(), g_creat(), g_chdir [Tor Lillqvist]
7688 * GObject
7689  - Implement "toggle references" to help language bindings [Owen Taylor]
7690  - Allow to mark names, nicks and blurbs of pspecs as static [Ben Maurer, Matthias]
7691  - Make pspec lookup a bit faster [Morten Welinder]
7692 * Add g_listenv() to list all set environment variables [Hans Petter Jansson]
7693 * Add g_file_set_contents() to atomically write a file.  [Søren Sandmann,
7694   Sven Neumann, Manish, Alexis S. L. Carvalho]
7695 * Add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew() [Stefan Kost]
7696 * Add g_utf8_collate_key_for_filename() to sort filenames taking
7697   extensions and numeric suffixes into account.  [Ole Laursen, Alex Larsson]
7698 * Add G_GNUC_NULL_TERMINATED to mark varargs function with 
7699   NULL-terminated argument lists. [Marc Meissner]
7700 * Win32 changes
7701  - Improved debugability [Ulf Lamping, Hans Breuer]
7702  - Make filename handling more robust [Tor, Billy Skaggs]
7703  - Improve g_get_system_data_dirs() [Tor]
7704  - Use more precise timers [Tor]
7705  - Build fixes [Kazuki Iwamoto, Hans, Tor, Robert Ögren]
7706 * Other bug fixes [Roger Leigh, Owen, Matthias, Morten, Kjartan Maraas, 
7707   Pawel Sakowski, Tor, Simon Budig, Ed Avis, Manish, Nicolas Laurent, 
7708   Bastien, Fabrício Barros Cabral, Michael Banck, Daniel Atallah, 
7709   J. Ali Harlow, Tim Janik, Hazael Maldonado Torres, Sven, Jon-Kare Hellan,
7710   Dave Benson, Tommi Komulainen, Benjamin Otte, Brian Cameron, Changwoo Ryu, 
7711   Christian Biere, Noah, Benoît Carpentier]
7712 * Documentation improvements [Vincent Untz, Matthias, Tim-Philipp Müller,
7713   Morten, Matthew, Federico Mena Quintero, Sebastian Bacher, Oliver Sessink, 
7714   Stefan, Jared Lash, Tor, Owen, Daniel Vaillard, Mathieu Lacage]
7715 * New and updated translations (ca,cs,da,el,en_CA,en_GB,es,et,eu,fa,fr,gl,
7716   hu,id,it,lt,mn,ne,nl,pl,pt,pt_BR,ro,rw,sk,sq,sr,sr@Latn,tl,uk,xh,zh_CN)
7717
7718 Overview of Changes from GLib 2.6.0 to GLib 2.6.1
7719 =================================================
7720 * GOption
7721  - Make gtk_init(NULL, NULL) work again [Marcin Krzyzanowski]
7722  - Improve handling of -- [Matthias Clasen]
7723  - Don't show G_OPTION_REMAINING in --help output [Matthew F. Barnes]
7724 * g_find_program_in_path() doesn't return directories [Tommi Komulainen]
7725 * Add gmodule-export-2.0.pc [Matthias]
7726 * Win32 changes
7727  - Improve hangling of UNC paths [Tor Lillqvist]
7728  - g_getenv(), g_setenv(), g_unsetenv(), g_find_program_in_path()
7729    take and return UTF-8 now [Tor] 
7730  - Make g_file_test() work more reliably, and use PATHEXT
7731    when check for executables [Tor]
7732  - Build and cross-compilation fixes [J. Ali Harlow]
7733 * Other bug fixes [Jens Hatlak, Morten Welinder, 
7734   Tor, Kalpesh Shah, Adrian Bunk]
7735 * Documentation improvements [Marcin Krzyzanowski, Tor, Crispin
7736   Flowerday, Mariano Suárez-Alvarez, Christian Biere, Danny Milo,
7737   Vincent Untz, Bastien Nocera]
7738 * New and updated translations (cy,de,nl,ru,sq,sv)
7739
7740 Overview of Changes from GLib 2.4.x to GLib 2.6.0
7741 =================================================
7742
7743 * Major new APIs
7744   - GOption, a commandline option parser
7745   - GKeyFile, a parser/editor for the .ini like files 
7746   - Functions to support the XDG basedir specification
7747   - Wrappers for common POSIX pathname functions to handle filename
7748     encodings consistently. On Windows, these use UTF-8.
7749
7750 * Miscellaneous new functions
7751   - g_filename_display_name() converts filenames in displayable UTF-8 strings
7752   - g_uri_list_extract_uris() splits uri lists
7753   - g_date_get_iso8601_week_of_year() gets ISO 8601 week numbers
7754   - g_log_set_default_handler() installs an alternate default log handler
7755   - g_get_language_names() obtains a list of applicable locale names
7756   - g_strv_length() calculates the length of NULL-terminated string arrays
7757   - g_win32_get_windows_version() determines the Windows version 
7758   - G_GNUC_INTERNAL marks functions as non-exported
7759   - glib_check_version() checks the GLib version at runtime
7760   - g_debug() completes the family of logging functions
7761
7762 * Performance improvements
7763   - Optimize g_utf8_validate()
7764   - Optimize g_markup_parse_context_parse()
7765   - Reduce signal connection complexity from O(n) to O(1) 
7766   - Get rid of many PLT entries for internally used exported symbols
7767   - Reduce code size by removing literal strings from g_return_if_fail()
7768
7769 * Other changes
7770   - On Windows, GLib functions that take file name arguments now require
7771     those to be in UTF-8. Functions that return file names return UTF-8.
7772   - Use higher precision for mathematical constants
7773   - Don't convert to/from UTF-8 in g_filename_to_uri/g_filename_from_uri
7774   - Support ll as printf format modifier for long long on all platforms
7775   - Clean up the ABI and enforce the list of exported symbols
7776   - Add a .pc file for using gmodule in libraries
7777   - Require ngettext
7778
7779 Overview of Changes from GLib 2.5.7 to GLib 2.6.0
7780 =================================================
7781 * GOption: Don't list help options if group-specific
7782   options have been requested [Glynn Foster]
7783 * Make g_get_language_names() track locale changes [Christian Persch]
7784 * Win32 bug fixes [Tor Lillqvist]
7785 * Bug fixes [Philippe Blain, Owen Taylor, Sebastian Wilhelmi]
7786 * New and updated translations (da,es,ja,lt,zh_CN)
7787 Bugs fixed: 159530,100697,160271,160645,157255
7788
7789 Overview of Changes from GLib 2.5.6 to GLib 2.5.7
7790 =================================================
7791 * Optimize g_utf8_validate() [Owen Taylor, Matthias Clasen]
7792 * Optimize g_markup_parse_context_parse() [Havoc Pennington, 
7793   Morten Welinder]
7794 * Reduce signal connection complexity from O(n) to O(1) 
7795   [Sven Neumann]
7796 * Add a .pc file for using gmodule in libraries [Owen]
7797 * Add G_GNUC_MALLOC to mark functions returning newly 
7798   allocated memory  [Matthias]
7799 * Win32 bug fixes [Hans Breuer, Tor Lillqvist, Robert Ögren,
7800   Bruce Hochstetler]
7801 * Bug fixes [Kazuki IWAMOTO, Matthias, Manish Singh, Morten,
7802   Frederic Crozat, Tor]
7803 * Documentation improvements [Matthias, Tor, Owen]
7804 * New and updated translations (cs,da,de,en_CA,en_GB,es,nb,nl,sq,zh_CN)
7805
7806 Overview of Changes from GLib 2.5.5 to GLib 2.5.6
7807 =================================================
7808 * GOption
7809   - Add G_OPTION_FLAG_REVERSE to allow options 
7810     which unset a  boolean variable [Tor Lillqvist]
7811 * GChildWatch
7812   - Use sigaction instead of signal [Jonas Jonnson, 
7813   Archana Shah]
7814   - Make the very first SIGCHLD work [Gustavo Carneiro]
7815 * Bug fixes [Morten Welinder, Tor, David MacLachlan,
7816   Manish Singh, J. Ali Harlow]
7817 * Documentation improvements [Matthias Clasen, Tor]
7818 * Updated translations (da,ja,tr,zh_CN)
7819
7820 Overview of Changes from GLib 2.5.4 to GLib 2.5.5
7821 =================================================
7822 * GKeyFile
7823   - Cleanups, add more error checking [Ray Strode]
7824   - Fall back to the untranslated string when getting 
7825     locale strings [Mark McLoughlin]
7826 * GOption
7827   - Document GOption [Matthias Clasen]
7828   - Better support for rest arguments [Owen Taylor, Matthias]
7829   - Handle conflicts between groups [Matthias]
7830 * Add g_lstat() to the stdio wrappers [Tor Lillqvist]
7831 * Add g_filename_display_name() to convert filenames
7832   in displayable UTF-8 strings  [Alex Larsson, Matthias]
7833 * Win32 bug fixes [Kazuki IWAMOTO, Hans Breuer, Tor]
7834 * Bug fixes [Christophe Fergeau, Morten Welinder, 
7835   Owen, Kjartan Maraas, Mark]
7836 * Documentation improvements [Matthias, Tor]
7837
7838 Overview of Changes from GLib 2.5.3 to GLib 2.5.4
7839 =================================================
7840 Add GKeyFile, a parser/editor for the .ini like files used in various
7841    freedesktop.org specifications. [Ray Strode]
7842 Make the handling of filename encodings consistent across all
7843    GLib functions, introduce wrappers for common POSIX 
7844    functions which accept the same filename encoding. [Tor Lillqvist, 
7845    Owen Taylor]
7846 GOption
7847  - Rename g_context_option_error_quark() to a more language-binding
7848    friendly name [Murray Cumming]
7849  - Accept backslashes in filenames on Win32 [Tor Lillqvist]
7850 * Strip the internal aliasing prefix IA__ from function names in 
7851   assertions [Matthias Clasen]
7852 * Add a function to split uri lists. [Matthias]
7853 * Win32 bug fixes 
7854  - Don't open console windows [Tor]
7855 * Other bug fixes [Philippe Blain, Robert Ögren, Hidetaka Iwai, Matthias,
7856  Morten Welinder, Mats-Ola Persson, Tor, Nickolay V. Shmyrev, Kjartan Maraas,
7857   Anders Carlsson, Tim-Philipp Müller, Lucas Rocha, Andrea Campi, Manish
7858   Singh, Thomas Fitzsimmons, Kazuki IWAMOTO]
7859 * Documentation improvements [Matthias, Linus Walleij, Nickolay, Philippe, 
7860  Adam Hooper, Gustavo Carneiro]
7861 * New and updated translations (cs,en_CA,en_GB,ja,nb,nl,or,sr,sr@Latn,sq)
7862
7863 Overview of Changes from GLib 2.5.2 to GLib 2.5.3
7864 =================================================
7865 * GOption
7866  - set the program name from argv[0] [Masatake YAMATO] 
7867  - make contexts work without a main group [Anders Carlsson]
7868 * Performance 
7869  - Get rid of many PLT entries for internally used exported symbols,
7870    and clean up the ABI at the same time and make make check check the
7871    list of exported symbols.  [Matthias Clasen]
7872 * Add API to get ISO 8601 week numbers [Niklas Lundell]
7873 * Add API to install an alternate default log handler [Darin Adler]
7874 * Add API to obtain a list of applicable locale names [Hidetoshi Tajima]
7875 * Reduce code size bloat by removing literal strings from
7876  the g_return_if_fail() macros [Owen Taylor]
7877 * Add g_strv_length [Tim-Philipp Müller]
7878 * Win32 changes
7879  - Add API to determine the Windows version [Tor Lillqvist]
7880 * Other bug fixes [Stepan Kasal, Anders, Tor, Kazuki Iwamoto,
7881   Manish Singh]
7882 * Documentation improvements [Morten Welinder, Matthias]
7883 * New and updated translations (es,nn,ro)
7884
7885 Overview of Changes from GLib 2.5.1 to GLib 2.5.2
7886 =================================================
7887 * Add G_GNUC_INTERNAL macro [Arjan van de Ven]
7888 * Add GOption, a commandline option parser [Anders Carlsson]
7889 * Add glib_check_version [Michael Natterer]
7890 * Add XDG basedir API [Ray Strode]
7891 * Require ngettext [Danilo Segan]
7892 * Bug fixes [Manish Singh, Ray Strode, Vincent Noel, 
7893   Jon-Kare Hellan, Jody Goldberg]
7894 * Win32 bug fixes [Tor Lillqvist, Hans Breuer, Peter Zelezny]
7895 * Documentation improvements [Matthias Clasen, Vincent Untz, Christian Persch]
7896 * New and updated translations (bs,eu,fi,gu,ne,pa)
7897
7898 Overview of Changes from GLib 2.5.0 to GLib 2.5.1
7899 =================================================
7900
7901 * Bug fixes [Oliver Guntermann, Sven Neumann, James 
7902   Henstridge, Hiroyuki Ikezoe, Matthias Clasen, Robert 
7903   Ögren, Tommi Komulainen]
7904 * Documentation improvements [Soeren Sandmann, 
7905   Christophe Fergeau, Danek Duvall]
7906 * New and updated translations (eu,hi)
7907   
7908 Overview of Changes from GLib 2.4.1 to GLib 2.5.0
7909 =================================================
7910
7911 * New functions g_debug [Sven Herzberg]
7912 * Use higher precision for mathematical constants [Morten 
7913  Welinder]
7914 * Don't convert to/from UTF-8 in g_filename_{to,from}_uri 
7915  [Federico Mena Quintero]
7916 * Win32
7917  - Handle empty digit string in printf() functions 
7918    correctly [Tor Lillqvist]
7919  - Support ll as format modifier for long long [Tor]
7920  - Be more careful about HOME [Tor, Ivan Wong]
7921  - Bug fixes [John Ehresman]
7922 * Miscellaneous bug and portability fixes [Danilo Segan, 
7923  Owen Taylor, Nikolai Weibull, Benoît Carpentier, Morten 
7924  Welinder, Manish Singh, Sven Neumann, Julio M. Merino Vidal,
7925  Kaz Sasayama, Murray Cumming, Federico, Mariano Suarez-Alvarez]
7926 * Documentation updates [Matthias Clasen, Crispin Flowerday,
7927  Tommi Komulainen, Federico Mena Quintero, Ed Griffiths]
7928 * New and updated translations (ja,ne,no,wa)
7929  
7930 Overview of Changes from GLib 2.4.0 to GLib 2.4.1
7931 =================================================
7932
7933 * Win32 bug fixes [Tor Lillqvist, Roger Leigh, John Ehresman]
7934 * Miscellaneous bug and portability fixes [Owen Taylor,
7935   Matthias Clasen, Jonas Jonsson, Christian Krause,
7936   Nickolay V. Shmyrev, Christophe Saout, Philippe Blain,
7937   Piotr Klaban]
7938 * Documentation updates [Matthias]
7939 * New and updated translations (ca,cs,cy,el,en_CA,en_GB,es,eu,fi,
7940   fr,gu,he,id,nl,pt,pl,ru,sr,sr@ije,sr@Latn,sv,uk)
7941
7942 Overview of Changes from GLib 2.3.6 to GLib 2.4.0
7943 =================================================
7944
7945 * Handle invalid-UTF-8 in g_log() properly [Matthias Clasen]
7946 * Win32 bug fixes [Tor Lillqvist, Bruce Hochstetler]
7947 * Miscellaneous bug and portability fixes [Olivier Biot, David L. Cooper II, 
7948   Kjartan Maraas, Frédéric L. W. Meunier, Christof Petig, Manish Singh, 
7949   Sebastian Wilhelmi]
7950 * Documentation updates [Owen]
7951 * Updated translations (hr,ro)
7952
7953 Overview of Changes from GLib 2.3.5 to GLib 2.3.6
7954 =================================================
7955
7956 * GAtomic bug fixes [Sebastian Wilhelmi, Mark McLoughlin]
7957 * GMain threading fixes and improvements [Sebastian]
7958 * Win32 [Tor Lillqvist]
7959  - restore some symbols extraneously exported from gobject to maintain ABI compatibility
7960  - Misc build improvements and fixes [Tor, Cedric Gustin, Hans Breuer]
7961 * Documentation updates [Sebastian, Takeshi AIHANA, Matthias, Sven Herzberg]
7962 * New and updated translations (be,es,fi,ga,pa,sr@ije,zh_CN)
7963
7964 Overview of Changes from GLib 2.3.3 to GLib 2.3.5
7965 =================================================
7966
7967 * Make glib-mkenums parse initializers with macros. [Matthias Clasen, muppet]
7968 * Respect locale era in g_date_set_parse(). [Theppitak Karoonboonyanan] 
7969 * Add atomic operations and use it for the async queue and
7970   gonce implementation. [Sebastian Wilhelmi]
7971 * Documentation improvements [Sebastian, Matthias, Sven Herzberg]
7972 * Add g_main_depth() for finding the recursion depth of the main
7973   loop [Owen Taylor, Tim Janik, Stefan Westerfeld]
7974 * Add g_spawn_close_pid(), needed on win32 [J. Ali]
7975 * Win32 fixes. [Hans Breuer, J. Ali Harlow]
7976 * Misc bugfixes [Sebastian, Matthias, Balazs Scheidler, Owen]
7977 * Updated translations (cy,et,ga,sq)
7978
7979 Overview of Changes from GLib 2.3.2 to GLib 2.3.3
7980 =================================================
7981
7982 * Add a native AIX gmodule implementation. [Laurent Vivier]
7983 * Add g_node_copy_deep().  [James M. Cape, Matthias Clasen]
7984 * Extend GQueue API to match the GList API. [Soeren Sandmann]
7985 * Add g_hash_table_find().  [Tim Janik]
7986 * Add a G_MODULE_BIND_LOCAL flag. [David Schleef]
7987 * Inline g_string_append_c() when possible. [Owen Taylor, Tim]
7988 * Wrap waitpid() as a GSource. [Jonathan R. Blandford]
7989 * Add g_completion_complete_utf8(). [Theppitak Karoonboonyanan, 
7990   Matthias]
7991 * Add g_strsplit_set(). [Soeren]
7992 * Documentation improvements. [Vincent Untz, Sebastian Wilhelmi, 
7993   Soeren, Matthias]
7994 * Win32 build fixes. [Tor Lillqvist]
7995 * Misc bugfixes [Manish Singh, Noah Levitt, Simon Josefsson, 
7996   Morten Welinder, Damien Carbery, Julio M. Merino Vidal, Sebastian, 
7997   Matthias]
7998 * Updated translations (nn,cs,it,ko,sq,ms,az,hr,uk,sr,sr@Latn,sq,ta)
7999
8000 Overview of Changes from GLib 2.3.1 to GLib 2.3.2
8001 =================================================
8002
8003 * Add G_MAXSIZE. [Manish Singh]
8004 * Add g_rand_new_with_seed_array(), g_rand_set_seed_array(),
8005   implementing the init-by-array functionality of the 
8006   original mersenne twister. Add g_rand_copy(). Improve seeding. 
8007   [George Lebl]
8008 * Add a lowercase_name option to glib-mkenums. [Murray Cumming]
8009 * Add g_ptr_array_foreach(). [Matthias Clasen]
8010 * Add g_timer_continue(). [Tim-Philipp Müller]
8011 * Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
8012 * Fix g_filename_{to,from}_utf8() on Win32 and improve 
8013   g_file_test() there too [Hans Breuer] 
8014 * Add a boxed type for NULL-terminated string arrays.  [Matthias]
8015 * Add G_DEFINE_TYPE() plus variants to ease the constuction
8016   of GObject boilerplate code.  [Tim Janik]
8017 * Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
8018 * Documentation improvements [Matthias, Manish]
8019 * Win32 build fixes [Hans]
8020 * Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, 
8021   Zack Rusin]
8022 * Updated translations (ar,de,fa,ga,mn,nn,no,sq)
8023
8024 Overview of Changes from GLib 2.3.0 to GLib-2.3.1
8025 =================================================
8026
8027 * Add glib/gi18n.h and glib/gi18n-lib.h for common
8028   gettext support, including a Q_() macro for translation
8029   with context [Matthias Clasen]
8030 * Add a more flexible G_FILENAME_ENCODING variable
8031   as a replacement for G_BROKEN_FILENAMES [Matthias]
8032 * Fix the return value g_main_context_iterate() for
8033   newly ready sources [Padraig O'Briain]
8034 * Handle Hangul composition for normalization [Noah Levitt]
8035 * Add G_{MIN,MAX,MAXU}INT{8,16,32}. [Mark Jones, Matthias]
8036 * Add G_GSIZE_FORMAT/G_SSIZE_FORMAT [Manish Singh]
8037 * Add G_STRFUNC as a portable wrapper for __func__ [Tim Janik]
8038 * Documentation improvements [Matthias]
8039 * GObject [Tim Janik]
8040  - Support '-' in g_signal_connect()/disconnect() names
8041    like 'swapped-signal'.
8042  - Add g_type_class_peek_static() and use to optimize
8043    g_object_new() for static types [Tim]
8044  - Allow setting construct-only properties from within
8045    init() implementations
8046  - Enforce readability/writeability in g_object_set/get()
8047 * Fix bug with g_ascii_strtod and multi-byte separator.
8048   [Behdad Esfahbod, Roozbeh Pournader]  
8049 * Misc bug fixes [Matthias, John Ehresman, Andrew Lanoix,
8050   Tor Lillqvist, Mark McLoughlin, Tim-Philipp Müller, Manish, 
8051   Morten Welinder]
8052 * Updated translations (ca,cs,da,es,fr,ja,nn,no,pt,ru)
8053
8054 Overview of Changes from GLib 2.2.x to GLib-2.3.0
8055 =================================================
8056
8057 * Replace Trio printf by gnulib vasnprintf [Matthias Clasen]
8058 * Update Unicode data to Unicode 4.0 [Noah Levitt]
8059 * Support XML-safe formatted output with 
8060   g_markup_[v]printf_escaped [Owen Taylor]
8061 * Add g_file_read_link to read symbolic links [Matthias]
8062 * Add g_unichar_get_mirror_char to obtain the 
8063   mirrored variant of a character [Noah]
8064 * Support for one-time initialization functions. 
8065   [Sebastian Wilhelmi]
8066 * Miscellaneous API additions: g_vasprintf
8067   g_string_chunk_insert_len, g_setenv, g_unsetenv [Matthias]
8068 * Docs improvements [Matthias]
8069 * Add support instance-private data on classed types
8070   [Mark McLoughlin, Tim Janik, Owen]
8071 * Optimize signal emissions [Soeren Sandmann, Tim]
8072 * Support a "default vtable" per interface [Tim]
8073 * Add support for properties on interfaces [Owen, Tim]
8074 * Miscellaneous API additions: g_value_take_string(),
8075   g_value_take_param(), g_value_take_object(), 
8076   g_value_take_boxed(). [Matthias]
8077 * Win32 build fixes [Tor Lillqvist]
8078
8079 Overview of Changes from GLib 2.1.5 to GLib-2.2.0
8080 =================================================
8081
8082 * Fix a problem with g_thread_init() on 64-bit problems
8083   [Alceste Scalas, Sebastian Wilhelmi]
8084 * Add assembly implementations of byteswap macros
8085   for ia64 and x86_64. [Manish Singh]
8086 * IOChannel fixes for Win32 [Tor Lillqvist, Thorsten Maerz]
8087 * Updated translations (bg,ca,es,da,fi,lv,ru,sk)
8088
8089 Overview of Changes from GLib 2.1.4 to GLib-2.1.5
8090 =================================================
8091
8092 * Win32 bug fixes [Tor Lillqvist]
8093 * Various post-rewrite fixes for glib-gettext.m4 [Owen Taylor,
8094   Jody Goldberg, Kjartan Maraas, Johannes Stezenbach]
8095 * Ensure we have a GUINT64_FORMAT by pulling in Trio
8096   if necessary [Manish Singh]
8097 * Further Trio build fixes [Matthias Clasen, Owen]
8098 * Hack around gcc, libtool issues with -pthread [Owen]
8099 * Docs improvements [Matthias]
8100 * Bug and portability fixes 
8101 * Updated and new translations (bg,de,fi,fr,sq,fr)
8102
8103 Other contributors: Kai Poitschke, Morten Welinder
8104
8105 Overview of Changes from GLib 2.1.3 to GLib-2.1.4
8106 =================================================
8107
8108 * autoconf changes to make it possible to cross compile
8109   GLib. [Owen Taylor, Dan Kegel, Amy Lin, Dimi Shahbaz, 
8110   Johannes Stezenbach]
8111 * Use libintl when it has bind_textdomain_codeset() and
8112   GLib doesn't. [Owen]
8113 * Improve generation of pseudo-random integers [Morten Welinder, 
8114   Sebastian Wilhelmi]
8115 * Avoid literal UTF-8 in favor of octal escapes [Owen, Tomas Ogren]
8116 * Cleanup include order [Sven Neumann]
8117 * autoconf cleanups and bug fixes [Daniel, Matthias Clasen, Owen]
8118 * Doc fixes and additions [Matthias]
8119
8120 Other contributors: James M. Cape, Frederic Crozat, Martin Gansser,
8121   Phuc LeHong, Manish Singh, Joshua Weage, Morten Welinder
8122
8123 Overview of Changes from GLib 2.0.x to GLib-2.1.x
8124 =================================================
8125
8126 * Add copy of the Trio library to build and use for printf() when 
8127   system printf isn't good enough. Add g_printf()/etc. [Matthias Clasen]
8128 * Add g_str_has_suffix()/g_str_has_prefix() [Alex Larsson]
8129 * Add g_markup_parse_context_get_element() [Matthias]
8130 * Add g_utf8_strreverse [Matthias]
8131 * Add g_ascii_strtoull() [Tim Janik]
8132 * Support scanning of 64-bit values with GScanner [Tim]
8133 * Add g_set/get_application_name() [Havoc Pennington]
8134 * Add G_LIKELY()/G_UNLIKELY() macros for hinting branch probabilities. 
8135   Use for g_return_if_fail(). [Matthias Clasen]
8136 * Add G_GNUC_DEPRECATED macro [Tom Tromey]
8137 * Improve the seeding algorithm of GRandom to avoid problems
8138   with certain pathological seeds. Support G_RANDOM_VERSION=2.0
8139   environment variable. [Sebastian Wilhelmi]
8140 * Improve thread configure checks, use -pthread where applicable
8141   [Sebastian]
8142 * Improve handlng of thread priorities [Sebastian]
8143 * Fix up parameter names that might shadow functions from
8144   system headers [Soeren Sandmann]
8145 * Clean up usage of deprecated functions [Manish Singh]
8146 * Docs fixes and improvements. In particular, include "Since" information.
8147   [Matthias, Soeren, Martin Schulze, Daryll Strauss, Bill Janssen, 
8148   Owen Taylor, Morten Welinder]. 
8149
8150 Overview of Changes in GLib 2.0.7
8151 =================================
8152
8153 * Fix C++ warnings in gtype.h [Dom Lachowicz]
8154 * Fix g_type_fundamental_next() [Tim Janik]
8155 * Fix various missing includes of config.h [Morten Welinder]
8156 * Handle main loop initialization before g_thread_init [Sebastian Wilhelmi]
8157 * Various 64-bit fixes [Manish Singh]
8158 * Fix GPoll on Win32 [Tor Lillqvist, Herman Bloggs]
8159 * Fix bug with buffering on UTF-8 IOChannels [Daniel Elstner]
8160 * Misc bug and build fixes [Soren Andersen, Gustavo Carneiro, Tor,
8161      Tim, Havoc Pennington,  Matthias Clasen, Sebastian Rittau,
8162      Masahiro Sakai, Arvind Samptur, HideToshi Tajima, Owen Taylor]
8163 * Updated and new translations (be,cs,de,*fa,it,lv,pt_BR,tr)
8164
8165 Overview of Changes in GLib 2.0.6
8166 =================================
8167
8168 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
8169 * Clean up debug spew from GObject [Anders Carlsson]
8170 * Compiler warning fixes [David L. Cooper II]
8171 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
8172 * Fixes for --disable-debug [Sebastian Wilhelmi]
8173 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
8174   Rajkumar Sivasamy, Laurent Vivier]
8175 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
8176   Sebastian Rittau, Linus Welleij]
8177 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
8178 * Updated translations (bg,ko,vi)
8179
8180 Overview of Changes in GLib 2.0.5
8181 =================================
8182
8183 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
8184 * Clean up debug spew from GObject [Anders Carlsson]
8185 * Compiler warning fixes [David L. Cooper II]
8186 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
8187 * Fixes for --disable-debug [Sebastian Wilhelmi]
8188 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
8189   Rajkumar Sivasamy, Laurent Vivier]
8190 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
8191   Sebastian Rittau, Linus Welleij]
8192 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
8193 * Updated translations (bg,ko,vi)
8194
8195 Overview of Changes in GLib 2.0.4
8196 =================================
8197
8198 * Fix some 64-bit problems. (George Lebl, David L. Cooper II)
8199 * Add note about Tru64 iconv to INSTALL. (Manuel Op de Coul)
8200 * Fix problem with timouts > MAXINT. (Tim Janik, Owen Taylor)
8201 * Updated translations (ca,es,fr,ja,gl,ms,nl,pl,pt,ru)
8202
8203 Overview of Changes in GLib 2.0.3
8204 =================================
8205
8206 * Handle sorting 0-length arrays (Ron Arts)
8207 * Threading fixes (Sebastian Wilhelmi)
8208 * Portability fixes (Miroslaw Dobrzanski-Neumann, Jacob Berkman, Gareth Pierce, 
8209   Sebastian, Qingjiang Yuan)
8210 * Various fixes for glib-2.0.m4. (Jim Gettys, others.)
8211 * Locate right glib-genmarshal when cross-compiling. (Mitch Natterer)
8212 * Win32 fixes (Tor Lillqvist)
8213 * Try to fix g_get_charset() related segfaults. (Owen)
8214 * Fixes for gettext detection. (Dan Winship, HideToshi Tajima, Boyd Lynn Gerber,
8215   Andrew P. Lentvorski, Jr.)
8216 * Fix g_scanner_unexp_token() (Tim Janik, Sven Neumann)
8217 * g_markup fixes. (Matthias Clasen.)
8218 * Bug fixes and cleanups (Daniel Elstner, Matthias, Laszlo Peter, Morten Welinder,
8219   Wayne Schuller)
8220
8221 Overview of Changes in GLib 2.0.1
8222 =================================
8223
8224 * Portability fixes for Sun's Forte compiler [Erwann Chenede]
8225 * Performance improvements for GObject parameter lookup, 
8226   g_filename_to/from_utf8() [Alex Larsson]
8227 * Actually check interface prerequisites [Matthias Clasen,
8228   Miroslaw Dobrzanski-Neumann]
8229 * Fix problem with glib-mkenums taking huge amounts of stack. [Owen Taylor]
8230 * Fix g_signal_handlers_disconnect_by_func() for C++ [Damien Sandras]
8231 * Fixes for g_log() and threading.
8232   [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, Tim Janik]
8233 * Make g_print(), g_printerr(), g_warning(), etc, convert from
8234   UTF-8 to the encoding of the locale [Sebastian Wilhelmi, Tim]
8235 * Fixes for GIOChannel on windows. [Tor Lillqvist]
8236 * Fix gsize/gint mismatches in giochannel.c [Miroslaw Dobrzanski-Neumann]
8237 * Fix file descriptor leak in g_file_get_contents() [Matthias]
8238 * Workaround iconv() problems on older Solaris [Lauri Alanko]
8239 * Fix warnings with gcc-3.1 about asm const [Cody Russel]
8240 * Minor bug fixes.
8241
8242 Other contributors: Hans Breuer, LEE Sau Dan, Sven Neumann, Salmaso Raffaele,
8243   Akira Tagoh, Morten Welinder
8244
8245
8246 Overview of Changes in GLib 2.0.0
8247 =================================
8248
8249 * Thread portability fixes [Sebastian Wilhelmi]
8250 * Documentation updates [Owen Taylor]
8251 * Make g_strerror(), g_strsignal() properly return UTF-8,
8252   call bind_text_domain_codeset() so that error strings
8253   are in UTF-8 as well. [Owen, Tor Lillqvist]
8254
8255 Overview of Changes in GLib 2.0.0 rc1:
8256 ======================================
8257
8258 * Win32 fixes [Tor Lillqvist]
8259 * Portability fixes [Finlay Dobbie, Miroslaw Dobrzanski-Neumann]
8260 * Fix up g_date_strftime [Daniel Elstner]
8261 * Add some structure padding [Tim Janik]
8262 * Make g_get_homedir() prefer the users home directory to $HOME
8263
8264 Other contributors: Matthias Clasen, Paolo Maggi, Christian Rose
8265
8266 Overview of Changes in GLib 1.3.15:
8267 ===================================
8268
8269 * Speed up marshalers by using private access to GValue 
8270   [Anders Carlsson, Tim Janik]
8271 * Reduce GValue to 2 elements [Tim]
8272 * Add G_DEBUG environment variable, G_DEBUG=fatal_warnings [Matthias Clasen]
8273 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
8274 * Add padding to various structures [Owen Taylor, Tim]
8275 * Win32 fixes [Tor Lillqvist]
8276
8277 Other contributors: James Henstridge, Ryan Lovett, Morten Welinder,
8278   Daniel Elstner
8279
8280 Overview of Changes in GLib 1.3.14:
8281 ===================================
8282
8283 * Register value transformations for gint64, guint64 [Andy Wingo]
8284 * Build with large-file support [Sven Neumann, Owen Taylor]
8285 * Fix handling of hostnames in URI's [Darin Adler]
8286 * Main loop bug fixes [Havoc Pennington, Owen]
8287 * Doc fixes and improvements [Manish Singh, Tim Janik]
8288 * Support ' as attribute delimiters in GMarkup [Matthias Clasen]
8289 * Win32 fixes [Hans Breuer, Tor Lillqvist]
8290 * Threading bug and build fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann]
8291 * Miscellaneous bug fixes
8292
8293 Other contributors: Matthias Clasen, James Henstridge, Mitch Natterer, 
8294   Morten Welinder.
8295
8296 Overview of Changes in GLib 1.3.13:
8297 ===================================
8298
8299 * Fix g_filename_to/from_uri for Win32 [Tor Lillqvist, Darin Adler]
8300 * Miscellaneous win32 fixes [Tor, Hans Breuer]
8301 * Fix thread options for gcc on AIX [Jerome Zago, Sebastian Wilhelmi]
8302 * Documentation improvements [Ron Steinke, Matthias, Sebastian]
8303 * Cache iconv converters as used by g_convert() [Jeffrey Stedfast]
8304 * Bug fixes [Sven Neumann, Owen Taylor, Matthias Clasen, Jeffrey,
8305   Laszlo Peter, Havoc Pennington, Tim Janik]
8306
8307 Overview of Changes in GLib 1.3.12:
8308 ===================================
8309
8310 * Implement closure chaining, fixing up API (Tim Janik)
8311 * Closure chaining test case (James Henstridge)
8312 * Make GType long not int where both are equal width (Tim)
8313 * Win32 fixes and improvements (Hans Breuer, Tor Lillqvist)
8314 * Fixes for NetBSD. (Dan Winship)
8315 * Use snprintf() for g_printf_string_upper_bound() where possible. (Matthias Clasen)
8316 * Save space for GBSearchArray (Tim Janik)
8317 * Documentation improvements. (Matthias, Sven Neumann, Havoc Pennington)
8318
8319 Other contributors: Darin Adler, Chris Blizzard, Anders Carlson, Daniel Elstner, Michael Meeks, 
8320   Mark McLoughlin, Dave Neary, Manish Singh, Owen Taylor, HideToshi Tajima, 
8321   Sebastian Wilhelmi.
8322
8323
8324 Overview of Changes in GLib 1.3.11:
8325 ===================================
8326
8327 * Win32 fixes [Hans Breuer, Tor Lillqvist]
8328 * Documentation improvements [Matthias Clasen]
8329 * Portable directory handling API [Hans]
8330 * Threading fixes [Sebastian Wilhelmi, Havoc Pennington]
8331 * Fix excess relocations in Unicode tables [Andrew Taylor]
8332 * Fix gpattern for UTF-8 [Matthias Clasen]
8333 * Support overriding class closures [Tim Janik]
8334 * Support for derivation from G_TYPE_POINTER [Owen Taylor]
8335 * Hide pointers to type information inside GType to reduce locking
8336   [Alex Larsson, Tim]
8337 * Adds check for direct inclusion of gobject/*.h [Owen]
8338 * GObject API cleanups [Tim]
8339
8340 Other contributors: Darin Adler, Jacob Berkman, Daniel Egger, Eric Lemings, 
8341   Michael Meeks, Mark McLoughlin, Arkadiusz Miskiewicz, Dan Winship
8342
8343
8344 Overview of Changes in GLib 1.3.10:
8345 ===================================
8346
8347 * Many Win32 fixes and improvements [Tor Lillqvist]
8348 * Documentation improvements [Matthias Clasen]
8349 * g_string_printfa() renamed to g_string_append_printf()
8350 * Use libcharset from libiconv to implement charset detection
8351   more portably. [Owen Taylor, Hidetoshi Tajima]
8352 * Add 64 bit type support to GObject [Joshua Pritikin, Mathieu Lacage, Owen]
8353 * Make support for 64 bit integers a requirement [Joshua]
8354 * GPattern improvements [Tim Janik, Matthias]
8355 * Locale independent g_ascii_strtod / g_ascii_dtostr [Alex Larsson]
8356 * Many bug fixes and minor tweaks.
8357
8358 Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
8359   Ben Gertzfield, Elliot Lee, Manish Singh, Abel Cheung, Laszlo Peter,
8360   Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
8361   Jacob Berkman
8362
8363
8364 Overview of Changes in GLib 1.3.9:
8365 ==================================
8366
8367 * Fixes for comparison of threads [Sebastian Wilhelmi]
8368 * Use vasprintf() when possible for g_strdup_printf [Matthias Clasen]
8369 * Win32 fixes [Tor Lillqvist, Hans Breuer]
8370 * Add a len argument to g_ascii_strup/strdown
8371 * Bug, portability fixes, cleanups.
8372
8373 Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
8374
8375
8376 Overview of Changes in GLib 1.3.8:
8377 ==================================
8378
8379 * Documentation updates [Owen]
8380 * Made GType interfaces overridable in derived types
8381 * Many win32 fixes [Tor Lillqvist]
8382 * Miscellaneous cleanups and fixes
8383
8384 Other contributors:
8385   Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
8386
8387
8388 Overview of Changes in GLib 1.3.7:
8389 ==================================
8390
8391 * Integrate GClosure support into the main loop [Owen Taylor]
8392 * More GSignal convenience functions (macros) [Sven Neumann, Tim Janik]
8393 * Introduced weak references for GObject [James Henstridge, Sven, Tim] 
8394 * Minor hash table optimizations
8395 * Main loop and threading improvements [Sebastian Wilhelmi]
8396 * Added g_ascii_* functions to be used for locale insensitive UTF-8
8397   compliant code instead of old string functions  [Darin Adler, Alex Larsson]
8398 * Add functions for Unicode case-conversion, normalization, and 
8399   collation [Owen]* GString improvements [Owen]
8400 * Reworked the GIOChannel code [Hidetoshi Tajima, Ron Steinke]
8401 * Removed glib-config-2.0 in favour of pkgconfig [Sebastian]
8402 * Make code 64bit clean [Mark Murnane]
8403 * More G_CONST_RETURN fixes
8404 * Many improvements to the win32 code [Tor Lillqvist, Hans Breuer]
8405 * Miscellaneous bug and API fixes
8406
8407 Other contributors:
8408   Michael Natterer, Christopher James Lahey, Padraig O'Briain,
8409   Matthias Clasen, Josh Pritikin, Steve Baker, Cesar Rincon, Garry R. Osgood,
8410   Michael Meeks, Laszlo Peter,  Martin Baulig, Kjartan Maraas, Andrew Lanoix,
8411   Peter Williams
8412
8413
8414 Overview of Changes in GLib 1.3.6:
8415 ==================================
8416
8417 * Threads have a "return value" from g_thread_join
8418 * Removed ability to adjust thread stack size
8419 * Prefix warnings with progname/PID by default, change toggle for this to 
8420   be an env variable G_MESSAGES_PREFIXED not a compile-time option
8421 * GMarkup speedups
8422 * GDate const, convenience fixups
8423 * Include test cases that headers are compilable by C++ compiler
8424 * Add ability to spawn processes with argv[0] != executable path.
8425 * g_strstr_len, g_strrstr, g_strrstr_len
8426 * Add length argument to g_utf8_strchr and g_utf8_strrchr.
8427 * Misc bug fixes
8428
8429
8430 Overview of Changes in GLib 1.3.5:
8431 ==================================
8432
8433 * Added an installed glib-mkenums Perl program for parsing enumeration
8434   declarations from header files.
8435 * Mark some additional deprecated functions.
8436 * Bug and Portability fixes
8437
8438
8439 Overview of Changes in GLib 1.3.4:
8440 ==================================
8441
8442 * Efficiency improvements for GThreadPool
8443 * A few bug fixes
8444 * Build fixes
8445 * Documentation improvements
8446
8447
8448 Overview of Changes in GLib 1.3.3:
8449 ==================================
8450
8451 GLib:
8452
8453 * More user_data support in various functions.
8454 * Main loop API revamps to support per-thread main loops.
8455 * Unicode handling improvements.
8456 * Implemented debugging traps.
8457 * G_CONST_RETURN specification all over the place.
8458 * Various new small utility functions.
8459 * Random number generator precision improvements.
8460 * New configure option --disable-mem-pools.
8461 * Many Win32 improvements.
8462 * Added g_try_malloc() friends varinats.
8463 * Many documentation improvements.
8464 * Many threading improvements, support for dynamic allocation
8465   of static mutexes.
8466 * GHookLIst API cleanups.
8467 * Improved format support of GDate parser.
8468 * String function speed improvements with new g_stpcpy().
8469 * Hashtable API additions.
8470 * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
8471 * Optimizations, cleanups, bug fixes.
8472
8473 GObject:
8474
8475 * Added many convenience functions.
8476 * GClosure and GParamSpec use float/sink ref-counting scheme now.
8477 * Reworked property change notification.
8478 * Binary searchable array cleanups, so it's widely usable now.
8479 * Added static content keeping for some GValue types.
8480 * Support for statically scoped signal parameters.
8481 * Extinguished property trailer args in set/get interface.
8482 * Added support for abstract types.
8483 * G_CONST_RETURN specification all over the place.
8484 * Split parameter exchange functionality into value transforms
8485   and parameter conversions.
8486 * Added signal emission hooks and signal accumulators.
8487 * Added interface prerequisites to support is_a (interface, object)
8488   relations.
8489 * Implemented GValueArray.
8490 * New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
8491   GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
8492   G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
8493 * Varrags value collection improvements.
8494 * Implemented debugging traps.
8495 * Made things thread-safe.
8496 * Many documentation improvements.
8497 * Many cleanups, optimizations and bug fixes.
8498
8499
8500 Overview of Changes in GLib 1.3.2:
8501 ==================================
8502
8503 GLib:
8504
8505 * Win32 build improvements  [Tor]
8506 * Improvements to error reporting  
8507   (g_critical(), g_return_if_reached()) [Darin]
8508 * Add g_strlcpy/g_strlcat  [David Wheeler]
8509 * New IO channel implementation for Win32  [Tor] 
8510 * Make g_array_free, g_string_free return pointer to memory requested
8511   not to be freed.  [Darin]
8512 * Added GError based error reporting for thread functions.  [Sebastian]
8513 * Moved reference docs into GLib distribution. [Owen]
8514 * Added g_convert() for doing convenient character set conversions based
8515   on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
8516 * Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
8517   g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
8518 * Portability fixes for threading.  [Sebastian]
8519 * Added convenient functions for launching new processes (g_spawn_*),
8520   and shell quoting/unquoting functions.  [Havoc]
8521 * Split glib.h into many headers.  [Sebastian]
8522 * Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
8523 * Fixed confusions between comparison functions that return <0, 0, >0
8524   and equaility functions that return FALSE,TRUE.  [Sebastian]
8525 * Added safe/portable temporary file manipulation functions.  [Tor]
8526 * autoconf improvements.  [Raja]
8527 * Many documentation improvements.
8528 * Bug fixes.
8529
8530 GObject:
8531
8532 * Added boxed and pointer types.  [Tim/Jonathan]
8533 * Added callback abstraction (GClosure)  [Tim]
8534 * Added signal system (GSignal)  [Tim]
8535 * Make GTypePlugin an interface  [Tim]
8536 * Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
8537 * Bug fixes.
8538
8539
8540 What's new in GLib 1.3.1:
8541 =========================
8542
8543 * New GObject library added including object system based on
8544   the GTK+ object system. 
8545 * Functions for getting the properties of Unicode characters, 
8546   computing the canonical decomposition and ordering combining
8547   characters aand manipulating UTF-8 string manipulation based
8548   on libunicode.
8549 * GString now properly handles embedded nuls.
8550 * Multiple fixes from the 1.2.x branch.
8551 * Upgrade to libtool 1.3.3
8552 * Full thread support (thread creation and destruction).
8553 * BeOS port, BeOS dynamic modules.
8554 * Many improvements to the Windows ports.
8555 * Improvements to the OS/2 port, OS/2 module support.
8556 * Double ended queue implementation.
8557 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
8558 * New configure option --enable-msg-prefix to prefix messages, warnings
8559   et ceteri with the program name and the process id.
8560 * New thread-safe random number generator Mersenne Twister.
8561 * g_strcompress() added, g_strescape() had a slight API change, and
8562   more tightly defined semantics.
8563 * the g_string(x) macro has been removed, #x may be used instead.
8564                                 
8565