NEWS updates for 2.33.8
[platform/upstream/glib.git] / NEWS
1 Overview of changes from GLib 2.33.6 to 2.33.8
2 ==============================================
3
4 * GIO now has a g_file_delete_async function
5
6 * The defaults for GThreadPools max_unused_threads
7   and max_idle_time values have been changed to
8   2 and 15*1000, respectively.
9
10 * Bugs fixed:
11  661767 merge/improve various bits of run-in-thread functionality
12  680074 undefined symbol "get_C_locale"
13  680121 g_cancellable_source_new: don't use a file descriptor
14  680148 gthread: check for definition of PR_SET_NAME
15  680310 Sorting of access points by strengh not working
16  680704 g_utf8_strup() crash
17  680760 GFile: Add g_file_delete_async()
18  680787 Add .dir-locals.el to tell Emacs users not to use tabs...
19  680823 g_file_make_directory_with_parents: Fix error propagation
20  680994 STATIC_ASSERT in GDBusError docs don't have much utility
21  681116 gtlscertificate: Add g_tls_certificate_equal() function
22  681118 gtlsdatabase: Don't complain if no callbacks for async...
23
24 * Translation updates:
25  Galician
26  German
27  Gujarati
28  Hebrew
29  Norwegian bokmål
30  Serbian
31  Slovenian
32
33
34 Overview of changes from GLib 2.33.4 to 2.33.6
35 ==============================================
36
37 * GAsyncInitable: partially revert the init_finish changes,
38   some applications were found to rely on behaviour that
39   was broken by these changes
40
41 * Bugs fixed:
42  679617 win32: fix g_get_environ()
43  679968 Add some annotations to GBytes, GVariantType...
44  680111 GIOScheduler assumes GCancellable "cancelled...
45
46 * Translation updates:
47  Spanish
48
49 Overview of changes from GLib 2.33.3 to 2.33.4
50 ==============================================
51
52 * GMainContext: the source list has been reorganzied to
53   avoid O(n) behaviour
54
55 * GRegex: Update included PCRE to 8.31 and expose new
56   functionality in 8.x versions of PCRE
57
58 * GMountOperation gained a ::show-unmount-progress signal
59   which provides information about slow unmount operations
60
61 * Bugs fixed:
62  616892 gio: Add a boxed type for GFileAttributeMatcher
63  619329 g_source_attach() O(n) in number of sources
64  639771 g_dir_read_name() can also return NULL on error
65  661767 merge/improve various bits of run-in-thread fun...
66  667375 GAsyncInitable subclassing (and async subclassi...
67  671545 Constify collect and lcopy strings in GTypeValu...
68  674452 SEGFAULT in gio contenttype test
69  674898 Deal with GLIB_VERSION_MIN_REQUIRED/MAX_ALLOWED...
70  675504 Fix up GObject interface documentation
71  677064 GString: Tweak documentation, add g_string_free...
72  677578 error in PCRE error code conversion
73  677579 update GRegexError for newer PCRE error codes
74  678066 gdbus codegen does not work with python3
75  678273 unicode othercasing is wrong in gregex
76  678576 GIOScheduler performance enhancements
77  678758 GTlsInteraction unlocks an unlocked mutex
78  678808 GTestDBus issues
79  678881 Test failures in /socket/timed_wait in some cas...
80  678941 /contenttype/guess test case failure
81  678944 gio returns the wrong default applications for ...
82  678949 wrong definition of ulong_bool for 64 bit big e...
83  678959 /mainloop/timeouts race condition: assertion fa...
84  679193 update included pcre to 8.31
85  679258 The 'Since' tag for G_SOURCE_CONTINUE and G_SOU...
86  679473 Don't generate invalid property names
87  679691 Add g_spawn_check_exit_status()
88  679671 GDBusNodeInfo: the XML string must contain exac...
89  676111 mount-operation: add show-unmount-progress signal
90  679691 win32: fix build g_spawn_check_exit_status() wi...
91  679813 Documentation bug on http://developer.gnome.org...
92
93 * Translation updates:
94  Assamese
95  Belarusian
96  Bulgarian
97  Galician
98  Greek
99  Norwegian bokmål
100  Polish
101  Spanish
102  Traditional Chinese
103  Vietnamese
104
105
106 Overview of changes from GLib 2.33.2 to 2.33.3
107 ==============================================
108
109 This release contains mostly bugfixes, cleanups and performance
110 improvements (including many fixes contributed by Colin on the advice of
111 Coverity).  There are a few notable externally-visible changes:
112
113 * Thumbnails are now in XDG_CACHE_HOME
114
115 * new GDBus API: per-thread g_dbus_connection_get_last_serial()
116
117 * GUnixOutputStream now has a can_poll() implementation
118
119 * New deep copy APIs for G(S)List: g_(s)list_copy_deep
120
121 * Bugs fixed:
122  518309 Incorrect data*dir path in glib-gettextize output
123  566994 Safer passing of -framework flag
124  672889 GLib.utf8_validate does segfault
125  673253 Not strict enough autconf test for libelf
126  675024 adds g_list_copy_deep() and g_slist_copy_deep
127  675168 prepare for thumbnails to move to XDG_CACHE_HOME
128  675966 gresolver: More robust parsing of DNS responses
129  676594 [Patch] fix g_reload_user_special_dirs_cache
130  676825 Implement g_dbus_connection_get_last_serial ()
131  677235 Clarify the comment at the top of gmarshal.list
132  677527 OS X: gthread/spawn-async selftest failure
133  677718 GDBusProxy: treat org.freedesktop.systemd1.Masked error as non-fatal
134  677770 GUnixOutputStream does not implement can_poll
135  677782 Install bash completion files in /usr/share
136  677817 g_key_file_to_data adds extra blank lines in some cases
137  677952 Missing annotation for GDBusConnection signal "closed"
138  678052 g_wakeup_acknowledge is called too often.
139  678273 unicode othercasing is wrong in gregex
140  678333 gdbus-codegen code causes warnings under -Wfloat-equal
141
142 * Translations updated:
143  Arabic
144  Assamese
145  Galecian
146  Greek
147  Spanish
148  Telugu
149
150 Overview of changes from GLib 2.33.1 to 2.33.2
151 ==============================================
152
153 * GLIB_VERSION_MIN_REQUIRED now defaults to the current stable version
154
155 * GIO input and output stream classes have grown GBytes-based methods
156
157 * GApplication now has hooks to register D-Bus objects before the bus
158   name is taken
159
160 * Bugs fixed:
161  605976 add g_type_ensure(), to ensure that a type has...
162  660851 Breakage of code due to changes in the GThread...
163  666386 Empathy doesn't open Redirect URI with particu...
164  671139 need (transfer async) for io stream buffers
165  672329 memory leaks in gutils.c and glib tests
166  672548 g_utf8_validate: @str shouldn't end up annotat...
167  674111 Provide an accessor for MimeType desktop entry...
168  674483 broken configure results when cross-compiling ...
169  674634 Add g_clear_pointer()
170  674777 What's the (transfer) of g_variant_lookup()?
171  675309 gkeyfile: Fix annotations for g_key_file_load_...
172  675446 gfile: Plug memory leak in g_file_make_directo...
173  675509 add extra dbus hooks
174  675832 Incomplete gsettings bash auto-completion
175  676208 The tmpl parameter to g_file_new_tmp can be NULL
176  676265 GNetworkMonitor leaks a lot of memory
177  676277 Document that g_app_info_create_from_commandli...
178  676397 g_environ_* should work with NULL envp
179  676398 g_spawn_* should take PATH from the passed env...
180  676478 Broken gzip decoding
181  676594 [Patch] fix g_reload_user_special_dirs_cache
182  676816 Add more GLIB_AVAILABLE_IN_*
183  676937 Document notify signal deduplication with free...
184
185 * Translation updates:
186  Czech
187  French
188  German
189  Greek
190  Japanese
191  Russian
192  Slovenian
193  Spanish
194
195
196 Overview of changes from GLib 2.32.1 to 2.33.1
197 ==============================================
198
199 * GApplication
200  - can now have a NULL application ID
201  - add accessors for determining dbus connection and object path
202
203 * g_clear_object: fix warnings when using it on C++ (due to lack of
204   ability to implicitly cast void*)
205 * add g_clear_pointer as a generic form of g_clear_object
206
207 * GDBus:
208  - add our own implementation of the message bus for use on Windows only
209  - fix up a few bugs that use of this bus uncovered in GDBus
210  - escape nonce files in dbus addressess (think 'c:\')
211  - support initial underscores in dbus codegen namespace (for private)
212  - add GTestDBus for bringing up a session bus for testing purposes
213  - gdbus-codegen: Avoid warnings in generated code
214  - GDBusAuthObserver: Add a way to control what authentication mechanisms to use
215  - 
216
217 * Fix misdetection of GNUstep as Cocoa (for the MacOS GSettings backend)
218
219 * make sure configure fails if AC_CHECK_ALIGNOF cannot detect the alignment
220
221 * GAppInfo
222  - overwrite the DISPLAY only if it is set in the launch context
223  - add accessor for StartupWMClass
224
225 * glib/tests/date: force US locale running the GDateTime tests
226
227 * Resources:
228  - fix broken use of GVDB on big endian machines
229  - set a 'display name' so that pretty file names appear in Gtk CSS
230    warning messages
231
232 * GMainContext:
233  - block child sources when blocking the parent
234  - introduce more testcases for child sources
235
236 * GResolver: add support for MX, TXT, NS and SOA records
237
238 * GSocketControlMessage: Don't warn about unknown messages
239
240 * GIO:
241  - implement GSeekable for the data and buffered stream classes
242  - implement GPollable for many more classes as well
243  - fix GConverterInputStream infinite loop when fill_buffer returns an error
244  - fileinfo: document the correct type for trash::orig-path
245
246 * test coverage improvements and general fixes
247
248 * new 2.34 stuff: version macros, docs index section, etc.
249
250 * Build:
251  - add --disable-modular-tests build option
252  - don't require host binaries if tests are not enabled for cross-builds
253
254 * Translations updated
255  Brazilian Portuguese
256  Bulgarian
257  Czech
258  French
259  Galician
260  German
261  Hebrew
262  Hindi
263  Italian
264  Norwegian bokmål
265  Polish
266  Russian
267  Russian
268  Serbian
269  Simplified Chinese
270  Slovenian
271  Spanish
272  Telugu
273
274 Overview of changes from GLib 2.32.0 to 2.32.1
275 ==============================================
276
277 * Bugs fixed:
278  670254 glib-2.30.2: Fails /GDateTime/new_from_unix test
279  672541 glib-compile-resources prepends --sourcedir to absolute paths
280  673139 URL to mailing lists in README incorrect
281  673174 g_input_stream_read[_finish]: document returning 0 on EOF
282  673191 glib/gchecksum.c warning: dereferencing type-punned pointer...
283  673216 [W32] gtestutils does not use path separators consistently
284  673439 Properly deprecate g_value_{set,get}_char
285  673612 Fails to decode dictionaries wrapped in two layers of array
286  673803 gclosure: Support return values of GVariants
287  669285 glib/tests/markup-parse fails under non-english locale
288  673911 gio-2.0.pc lists full path to executables, breaking cross com..
289  673762 gnextstepsettingsbackend.c:343: error: parse error before 'in'
290
291 * Updated translations:
292  Belarusian
293  British English
294  Bulgarian
295  Catalan
296  Czech
297  French
298  German
299  Hebrew
300  Hindi
301  Hungarian
302  Italian
303  Japanese
304  Kannada
305  Latvian
306  Lithuanian
307  Marathi
308  Norwegian bokmål
309  Odia
310  Polish
311  Serbian
312  Slovenian
313  Spanish
314  Swedish
315  Telugu
316
317
318 Overview of changes from GLib 2.31.22 to 2.32.0
319 ===============================================
320
321 * Bugs fixed:
322  671988 Quickly registering / unregistering objects on bus...
323  672095 glib needs stable sort function
324  672406 glib/tests/include.c fails to build on FreeBSD
325
326 * Updated translations:
327  Telugu
328
329
330 Overview of changes from GLib 2.31.20 to 2.31.22
331 ================================================
332
333 * Bugs fixed:
334  531901 Use __builtin_bswap* for GUINT*_SWAP_LE_BE if building...
335  653167 Out of tree build is broken on windows
336  668973 Test /gvariant/parser fails on Solaris 10
337  669797 gvfs now lists its fuse mounts
338  670846 deadlock: GStreamer-WARNING **: wrong STREAM_LOCK count 0
339  671664 gio-querymodules: unlink instead of writing empty cache
340  671676 Glib can't be cross-compiled any more after merge of...
341  671918 gnome-shell is inaccessible unless started while an AT...
342  671942 GSocketMsgFlags: annotate as a flags
343  671997 Unix signal handling assumes that volatile 1-byte writes...
344  672013 GSimpleAsyncResult: support reliable cancellation
345  672026 default log output should include pid and/or prgname
346  672095 glib needs stable sort function
347  672201 G_SPAWN_SEARCH_PATH should continue on ENODEV and ETIMEDOUT
348  672239 request NO_REPLY from g_dbus_connection_call() with no as...
349  672249 gdbusproxy leaks asyncresult in an error case instead of...
350
351 * Translation updates:
352  Assamese
353  British English
354  Catalan
355  Catalan (Valencian)
356  Danish
357  Esperanto
358  Finnish
359  French
360  German
361  Hungarian
362  Korean
363  Lithuanian
364  Norwegian bokmål
365  Polish
366  Portuguese
367  Russian
368  Traditional Chinese
369
370
371 Overview of changes from GLib 2.31.18 to 2.31.20
372 ================================================
373
374 * Update to Unicode 6.1
375
376 * Update PCRE to 8.30
377
378 * Deprecations are now versioned, and new API is
379   marked with the version it was introduced.
380   Use these with GLIB_VERSION_{MIN,MAX}_REQUIRED
381
382 * The performance of signal emissions has been
383   improved for simple cases
384
385 * Bugs fixed:
386  529806 Cannot build in 64-bit Mac OS X due to libiconv
387  580873 Documentation of register type functions incomplete
388  592666 Document how to unset an attribute
389  597785 g_type_class_add_private code snippet is a bad example
390  621368 glib-2.24.1: FAIL: run-assert-msg-test.sh when updating...
391  622149 --disable-regex breaks glib2 build
392  639873 GBinding: Crash when binding two properties on the same...
393  640202 For GLIB v. 2.23.6 and above: impossibility to build mu...
394  668295 Need a way to classify GVolume instances
395  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
396  670542 Add version information for deprecations
397  670557 gvaluetransform: Fix an infinite loop with GFlagsValue...
398  670721 global variable for signal ID should be hidden
399  670751 IceWM build fails due to the G_DEPRECATED_FOR macro
400  670909 g_dbus_connection_call leaks when it receives an error...
401  670922 Include path to gdbus-codegen in the pkgconfig file
402  670969 GSequence lookup may fail if there was no sort prior to...
403  671025 Constants and identifiers starting with a number are no...
404  671270 make distclean failures
405  671281 glib-compile-resources.xml is missing from the dist tar...
406
407 * Translation updates:
408  Basque
409  Belarusian
410  Brazilian Portuguese
411  Bulgarian
412  Galician
413  Hebrew
414  Lithuanian
415  Persian
416  Punjabi
417  Serbian
418  Simplified Chinese
419  Slovenian
420  Telugu
421  Traditional Chinese
422  Uyghur
423  Vietnamese
424
425
426 Overview of changes from GLib 2.31.16 to 2.31.18
427 ================================================
428
429 * GDBusProxy has now a flag, G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
430   which can be set to make GDBus automatically reload
431   changed properties even if the propertychanged signal
432   does not contain the new values.
433
434 * GApplication puts non-unique applications on the bus
435
436 * GApplication now has g_application_quit()
437
438 * g_async_queue_timed_pop has been deprecated in favor of
439   the new g_async_queue_timeout_pop, which uses relative
440   delays in microseconds instead of a GTimeVal.
441
442 * a huge number of API documentation fixes
443
444 * Bugs fixed:
445  647986 put non-unique apps on D-Bus
446  658484 vpn connection vs NetworkSecretDialog
447  664237 GDateTime falls back to UTC if TZ is set
448  669329 gthread-win32: update for g_get_monotonic_time() changes
449  669330 glocalfile: fix error code when opening a directory on win32
450  669372 glib/tests memory leaks.
451  669412 mem leak in g_environ_unsetenv
452  669538 Fix compilation of glib-compile-resources.c on Windows
453  669544 gdbus-codegen example introspection XML is not complete
454  669595 glib-mkenums: fix handling of forward enum declarations
455  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
456  669671 gobject: use #pragmas to avoid deprecated function warnings
457  669689 Retrieve cwd and environ in local GApplicationCommandLine
458  669810 socket/win32: flush pending read before signaling HUP
459  669865 g_regex_fetch()
460  670085 memory leak in g_output_stream_write_async
461  670138 gbytes.h is missing the G_BEGIN/END_DECL guards
462  670485 Simplify session API (shared bug with gtk+)
463
464 * Updated translations:
465  Belarusian
466  Danish
467  Galician
468  Serbian
469  Telugu
470  Hebrew
471
472
473 Overview of changes from GLib 2.31.14 to 2.31.16
474 ================================================
475
476 * GResource:
477  - The resource compiler can now convert pngs into
478    pixel data that can be used without parsing at runtime
479    (requires gdk-pixbuf-pixdata to be present)
480
481 * Bugs fixed:
482  669123 resource compiler: failing to-pixdata should...
483  669173 resource: fix xml preprocess entity handling
484  669224 Cross-compilation broken by data-to-c
485  669253 gsettings set buggy on array values
486  669334 fix memory leak in bookmark file parser
487
488 * Translation updates:
489  Norwegian bokmål
490  Spanish
491
492
493 Overview of changes from GLib 2.31.12 to 2.31.14
494 ================================================
495
496 * GResource:
497  - GLib now includes a commandline utility, gresource,
498    to explore resources in ELF files
499  - The resource compiler can now optionally strip
500    ignorable whitespace from XML resources
501  - The resource compiler can now generate build dependencies
502  - The resource compiler will now autoselect output formats
503
504 * GApplication:
505  - The menu markup parser API has been dropped, the
506    menu XML support lives in GTK+ now
507
508 * GValueArray has been deprecated
509
510 * Bugs fixed:
511  626258 N-ary Trees - 'nodes' can be inserted before and after...
512  634232 Core Dump / Aborted using g_key_file_to_data
513  639099 schema compiler chokes on valid schema
514  667228 Deprecate GValueArray
515  667243 Add an element clear function to GArray
516  667929 glib-compile-resources: xml resources doesn't need to...
517  668250 g_date_time_format() produces a non-UTF8 string
518  668468 'IP_ADD_SOURCE_MEMBERSHIP' undeclared
519  668532 resources: add dependency generator to the resource compiler
520  668539 resources: compiler should autoselect output format...
521  668561 gresource-tool not internationalized
522  668572 glib_cv_g_atomic_lock_free config.cache setting not honored...
523  668650 GRealArray->clear_func should be initialized
524  668756 GKeyFile: allow loading from empty strings
525  668857 fix couple of typos in comments
526  669024 goption: implement platform_get_argv0() for OpenBSD
527
528 * Updated translations:
529  Galician
530  Norwegian bokmål
531  Spanish
532  Traditional Chinese
533
534 Overview of changes from GLib 2.31.10 to 2.31.12
535 ================================================
536
537 * GApplication:
538  - Drop support for exporting menus - this functionality
539    will be provided in GtkApplication
540  - Add a way to create actions that change settings
541
542 * Bugs fixed:
543  629503 Add async versions of g_unix_connection_{receive,send}_credentials
544  656301 glib-compile-schemas should not create an empty file
545  668071 mingw-gcc build fails on gio/gsocket.[c|h]
546  668118 the big appmenu switcheroo
547  668158 base64 encode and line termination
548  668163 GDBusConnection: note that exit-on-close is sometimes TRUE
549  668269 gsignal: add g_signal_handlers_disconnect_by_data
550  668279 create GAction from GSettings
551
552 * Translation updates:
553  Norwegian bokmål
554
555
556 Overview of changes from GLib 2.31.8 to 2.31.10
557 ===============================================
558
559 * GResource:
560  - A new facility to allow linking data files into binaries
561    and make them available as resources
562  - Resources are compiled using glib-compile-resources
563  - GIO supports resource:/// uris to access resources
564
565 * Bugs fixed:
566  619126 Missing dependency libs
567  658315 g_key_file_get_keys() should set length to 0...
568  660371 is it ever valid to have 0 as a GError domain?
569  666700 Add some missing (allow-none) annotations
570  667375 GAsyncInitable subclassing (and async subclassing...
571  667447 Missing many introspection annotations
572  667790 Protect call to pthread_condattr_setclock with define
573  667938 wrong gtypes generated for empty flags enums
574
575 * Translation updates:
576  Hebrew
577  Spanish
578
579
580 Overview of changes from GLib 2.31.6 to 2.31.8
581 ==============================================
582
583 * GObject:
584  - The type checks for overriding properties have been loosened.
585    In particular, it is now possible to add the CONSTRUCT flag
586    to an overridden property
587  - GWeakRef is a new API for weak references; unlike g_object_weak_ref
588    and g_object_add_weak_pointer, it is thread-safe.
589
590 * GHashTable has grown new convenience api for use as a set:
591   g_hash_table_add, g_hash_table_contains
592
593 * GSocketConnection has gained API for managing connection status
594
595 * GSettings: a native OS X backend has been added, under the
596   name 'nexstep'
597
598 * Bugs fixed
599  455640 Something fishy with GRegex and unicode
600  548954 weak references are not threadsafe
601  625751 Add G_FILE_ATTRIBUTE_FILESYSTEM_USED
602  658871 gbacktrace: g_get_prgname () isn't called for a NULL argu...
603  664069 gvariant: Never break out of g_variant_iter_loop
604  664830 g_strescape doesn't natively handle \v (vertical tab)
605  665211 GDBusConnection singleton access can race with disposal
606  665805 Add GSocketClient::action, for tracking socket client status
607  666116 some tests provoke undefined behaviour, which is undesira...
608  666422 Unreachable code in gio gnetworkmonitornetlink.c
609  666551 Crash in g_thread_xp_SleepConditionVariableSRW
610  666595 menu parser disallows id='' on submenu and section
611  666615 loosen property override flag restrictions
612  666616 gobject: fix property override type checks
613  666803 g_utf8_validate() fails to validate strings with known size
614  666804 g_ateaxit deprecation warning in devhelp points in wrong ...
615  666951 g_mkdtemp: Since version incorrect in docs
616  666978 Fails to compile glib applications with ISO C90 compiler
617  667098 ginetaddressmask leaks its address property
618  667225 GSocket: add missing type checks to public methods
619  667226 GSocket: fix an error return value
620  667279 Sometimes crashes when launching commandline-crea...
621  667285 Wrong keyname listed in documentation for g_deskt...
622  667331 Use g_queue_free_full() convenience function
623  667420 GHashTable GDB pretty printing is broken
624
625 * Updated translations
626  Belarusian
627  Bulgarian
628  Hebrew
629  Norwegian bokmål
630  Norwegian Nynorsk
631  Spanish
632  Vietnamese
633
634
635 Overview of changes from GLib 2.31.4 to 2.31.6
636 ==============================================
637
638 * GApplication no longer has APIs for setting menus.  Those have been
639   moved to GtkApplication.
640
641 * the GActionGroup import/export functionality has been decoupled from
642   GApplication by the introduction of a new interface for the purpose of
643   handling platform data: GRemoteActionGroup.  This allows Gtk to
644   properly deal with platform data (and gdk threads) on window actions.
645
646 * lots of documentation improvements
647
648 * bug fixes and a huge number of memory leak fixes
649
650 * the test suite now passes on ARM and some of the GDBus testcase hangs
651   we've been seeing have been resolved (although others could remain)
652
653 * g_bytes_get_data() API changed: now includes 'size' out parameter
654
655 * new g_queue_free_full() API similar to g_[s]list_free_full()
656
657 * desktop files: use standard "Keywords" now, not "X-GNOME-Keywords"
658
659 * gsettings commandline tool now has --schemadir option for schemas not
660   installed in the usual place (ie: as part of plugins)
661
662 * Bugs fixed:
663  643736 GApplication doesn't emit dbus signals on action updates
664  657433 g_queue_free_full() missing
665  664699 glib: documentation fixes
666  665737 acquire/release gdk threads lock on incoming dbus
667  665879 GBytes: add a size argument to g_bytes_get_data
668  666113 various leaks in GLib, GIO are visible in the regression tests
669  666115 various tests leak memory, obscuring real leaks in the library
670  666145 Doc could be more explicite that g_thread_init calls can be droped
671  666173 Configure warning - linux/netlink.h usability... no
672  666296 Race condition in g_thread_xp_get_srwlock
673  666415 Settings tools should allow specifying a schema directory 
674
675 * Translations updated:
676  French
677  Spanish
678
679 Overview of changes from GLib 2.31.2 to 2.31.4
680 ==============================================
681
682 * EXPERIMENTAL: Menu support has been added to GApplication.  Menus
683   are exported on the bus, alongside the actions that are already there.
684   There have also been many related improvements to action group
685   functionality.
686
687   These new APIs are subject to changes in the coming releases.  In
688   particular, it seems somewhat likely that the APIs for registering
689   menubars may change in order to accommodate windows with different
690   types of menubars.
691
692 * GDBusConnection previously directly dispatched destroy notifies when
693   unregistering objects if the current main context was the same context
694   the object was exported on.  It now unconditionally dispatches these
695   through an idle on the context.
696
697 * Clean up Requires in pc files. Linking against GIO no
698   longer drags in gmodule. This may require dependency
699   fixes here and there.
700
701 * Introduce GBytes, a data type for immutable, fixed-size
702   byte sequences. This makes the pre-existing GBuffer
703   API available outside GLib
704
705 * GDBusInterfaceSkeleton can now be exported on multiple
706   connections
707
708 * Bugs fixed:
709  600161 Do not use static GTypeInfo and GInterfaceInfo
710  640077 GFileMonitor: Always send CHANGES_DONE_HINT after a move...
711  641720 Misleading definition for local_command_line() in GApplic...
712  648516 Little comment error and 2 useless lines of code
713  651997 Dummy backend for gapplication
714  652560 Test for g_ascii_strtod is failing
715  662208 failure to initialize a GInitable should be considered...
716  662718 GDBusInterfaceSkeleton should be able to export on multi...
717  663291 GBytes: Immutable, refcounted sequence of bytes
718  664406 Need context for a proper translation
719  664455 Build fixes for GLib GIT master (2.31.x)
720  664558 GDBusWorker.frozen has a value > 1 in a gboolean
721  664559 sys/wait.h not available on windows
722  664617 gdbus segfault error 4 in libgio-2.0.so.0.3102.0
723  664635 GMemory{Out,In}putStream _async functions break sub-class...
724  664809 Add command line option to gtester to allow skipping tests
725  665067 cryptic assertion failure if nonsensical flag combinations...
726  665184 Check ref. count before reffing/unreffing
727  665298 Add 'Requires.private: libpcre' to glib-2.0.pc
728  665391 update documentation around mainloops
729  665607 ./configure is there for fiddling with cross-compile enviro...
730  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes...
731  665685 Add a #define for the max length of a Unicode decomposition
732  665733 GDBusConnection holds lock while calling destroynotify
733
734 * Translation updates:
735  Norwegian bokmål
736  Spanish
737
738
739 Overview of changes from GLib 2.31.0 to 2.31.2
740 ==============================================
741
742 * Monotonic time is now properly supported on Windows
743
744 * glib-mkenums: fix @ENUMPREFIX@ with /*< underscore_name=... >*/
745
746 * EXPERIMENTAL: introduce new GSettingsSchema and GSettingsSchemaSource
747   APIs for the convenience of plugin system authors and those who wish
748   to introspect the contents of schemas.  This API may change.
749
750 * Improve the performance of GObject property notifies.
751
752 * GDBus:
753  - fix a race when unowning a name immediately after owning it
754  - thread safety improvements on GDBusConnection
755  - fixes for exit-on-close functionality
756
757 * Deprecations:
758  - add G_SIGNAL_DEPRECATED
759  - don't use G_DISABLE_DEPRECATED masking for functions anymore
760
761 * docs
762  - tmpl/ is finally dead for glib
763
764 * GIO:
765  - GInetAddressMask: new type for internet address range matching
766  - various GIO file and stream fixes
767  - improvements to attribute and fileinfo handling
768
769 Overview of changes from GLib 2.29/2.30 to 2.31.0
770 =================================================
771
772 This release contains a huge number of changes (500 commits worth).  The
773 list below attempts to summarise, but not every change is listed.
774
775 * Major changes to threading and synchronisation
776  - threading is now always enabled in GLib
777  - support for custom thread implementations (including our own internal
778    support for errorcheck mutexes) has been removed
779  - a whole lot of dead code (to deal with the non-threaded case) has
780    been ripped out.  This includes the racy path of GMainContext that
781    caused deadlocks with respect to child process exits in
782    single-threaded programs (such as gtester).
783  - libgthread is now an empty shell and g_thread_init() is no longer
784    required (and has been deprecated)
785  - GMutex and GCond can now be statically allocated without explicit
786    initialisation.  Dynamic allocation for these types is deprecated.
787  - new types GRecMutex and GRWLock can also be statically allocated
788    without explicit initialisation.
789  - GPrivate can now be statically allocated and has an improved API.
790    Dynamic allocation of GPrivate is deprecated.
791  - GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
792    deprecated.
793  - GCond now uses monotonic time internally and a new API takes
794    monotonic time for timed waits, deprecating the wallclock API
795  - removal of the insane macro indirection used in the previous
796    implementation of threading and synchronisation APIs
797  - use SRWLock and CONDITION_VARIABLE APIs when available on Windows
798    (Vista and later) and emulate them on XP
799  - leaks of G(Static)Private-allocated data on some cases of thread exit
800    have been fixed
801  - simplified new thread creation API with the old API deprecated.  The
802    concept of joinability has disappeared (all threads are joinable) as
803    have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
804    and ability to manipulate the stack size.
805  - GThread is now a refcounted type
806  - other implementation details changed
807
808 * Move headers for some deprecated functionality to a separate
809   deprecated/ directory.
810
811 * New support for attribute-based deprecations to issue compiler
812   warnings instead of breaking the build and/or giving warnings about
813   implicit declarations (and possibly miscompiling).
814
815 * GCache has been deprecated (after its last use was removed from our
816   platform over a year ago).
817
818 * It is no longer possible to include individual headers (like
819   "ghash.h") -- you must #include <glib.h>.
820
821 * The misguided experiment of allowing the program to stumble along with
822   missing GSettings schemas is now over -- the abort is back.
823
824 * Clarify that fork() is not valid while using GMainContext.  This is
825   because the internal resources of the GMainContext end up being shared
826   by both processes.  We had an assert here but it was breaking existing
827   (valid) use cases as well, so it has been removed for now.
828
829 * GApplication
830   - add ::shutdown signal as logical dual to ::startup
831   - don't use a GMainLoop: iterate the GMainContext directly (improves
832     quit logic)
833
834 * Several portability fixes for Windows, OpenBSD, Solaris
835
836 * Add new GValue API to specifically deal in signed chars (in case the
837   platform defines 'char' as unsigned)
838
839 * some new API to mitigate the problems associated with calling setenv()
840   in a multi-threaded program
841
842 * Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
843   time (ie: stop checking for kernel support at runtime).
844
845 * pkg-config files:
846   - drop -uninstalled variants
847   - remove gobject dependency on gthread
848
849 * New macro G_ATOMIC_LOCK_FREE is defined if the atomic operations are
850   implemented without use of a mutex.  Cleaned up atomic-related
851   compilation issues with mingw compilers on win32 systems.
852
853 * SOCKS proxy and resolver improvements
854
855 * Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
856   introduce a macro for backwards compatibility.
857
858 * GDBus:
859   - many code generation updates and improvements
860   - some race condition fixes, including testcase hangs
861
862 * GVariant:
863   - new g_variant_new_from_fixed_array() API
864   - substantial docs improvements/clarifications
865
866 * GKeyFile is now refcounted and boxed
867
868 * mount monitoring is now based on /proc/mounts (where available)
869   instead of mtab
870
871 * new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for returning from
872   GSourceFunc (so you don't have to remember what TRUE and FALSE mean)
873
874 * use xlocale functions where available to avoid too much heavy lifting
875   in functions like g_ascii_strtod()
876
877 * GMappedFile can now be created from an fd
878
879 * error message strings grammar/i18n fixes
880
881 * many docs updates
882
883 * Partial list of bugs closed:
884  70598  Unify GStaticMutex and GMutex.
885  320888 optimization for g_main_context_wakeup
886  398418 GChildWatch race condition?
887  527214 g_timer_elapsed() returns random values
888  580505 add a way to set/get name for a thread
889  583511 race condition means g_main_loop_quit() does not work
890  590808 GKeyFile should have a refcount and a boxed type in GObject
891  592715 Document that g_str_hash() and g_int_hash() are not NULL safe
892  631413 Add macros for GSourceFunc return values
893  632049 not immediately clear what g_variant_get_fixed_array expects
894  640212 "Error stating file" is not a friendly message
895  640293 Use xlocale functions to implement g_ascii_strtod()
896  640975 Check that error exists before trying to set it
897  643934 GApplication lacking a logical dual for the ::startup signal
898  651268 assertion failed in GDBus worker thread
899  653987 g_key_file_get_integer cannot interpret trailing spaces
900  654412 Documentation for g_variant_get_child_value unclear
901  654563 info capplet: Failed to calculate disk space
902  655366 missing GSettings schemas lead to obscure crashes
903  656621 g_spawn_*() calls executables in current directory
904  656679 [gi] Add two annotations to gio
905  657992 Add glib__private__() API to share between glib,gio
906  658188 _set_as_last_used_for_type generates a broken mimeapps.list
907  658206 gsocks5proxy.c has invalid gettext use
908  658207 glib-compile-schemas says "can not"
909  658558 simpleaction: Fix documentation of :enabled
910  658683 clean up charset/language threading issues
911  658692 add introspection annotations to g_time_val_from_iso8601()
912  658715 Duplicite strings
913  658769 Invalid reuse of GError in GThreadedResolver
914  658806 sign error in string hash implementation
915  658976 gdbus-codegen's C namespace option needs to support Ugly_Case
916  659070 gdbus-codegen generated code segfaults when property changes
917  659082 gdbus-codegen: Single letter namespaces get dropped from names
918  659212 GMappedFile should fail on non-regular files
919  659324 _SPLICE_CLOSE_TARGET doesn't mark the output stream as closed
920  659423 Use adaptive mutexes when available
921  659427 Move deprecated code to a separate directory
922  659646 gdbus-codegen produce code that warnings at build
923  659690 Possible build warning in code generated by gdbus-codegen
924  659699 property name collision when generating code for "Connection"
925  659754 Add API to GMappedFile that allows to pass FD
926  659838 incorrect types in introspection for g_object_bind_property
927  659866 pthread_rwlock_t requires defined __USE_UNIX98
928  659870 gvalue: Fix signedness of g_value_get_char()
929  659889 glib-2.29.92/gio-2.0.pc.in has a wrong line.
930  659916 GObject size of 64K is not actively enforced
931  659920 Missing setter for read/write property 'closed' of GIOStream
932  659923 Add g_variant_new_fixed_array() function
933  660013 Remove old g_atomic configure cruft
934  660096 glib/rwlock tests failure (tests asserted)
935  660130 Possible loss of user data when updating mimeapps.list
936  660147 tracker causes g_critical in "gsettings list-recursively"
937  660413 Make G_ASSERT_STATIC work with clang
938  660498 Generated test code fails when the codegen changes
939  660511 Use /proc/mounts for monitoring mounts, not /etc/mtab
940  660536 Expose options for /etc/fstab entries
941  660635 Deprecate g_thread_foreach
942  660637 Pending dbus method calls not canceled on connection loss
943  660739 kill off g_{mutex,cond}_{new,free}()
944  660740 make GThread more standard
945  660741 g_cond_timedwait is a disaster
946  660743 macro wrappers for g_once_init_enter/leave
947  660744 finish killing g_thread_init()
948  660745 GPrivate leaks on Windows
949  660791 [gio] Improve doc for g_file_make_directory_with_parents()
950  660843 asyncqueue-test is broken
951  660849 Remove cruft from g_strerror and g_strsignal
952  660886 GDBusProxy: don't drop/complain about unknown props/signals
953  660887 g_slice_set_config() is broken
954  660994 Add g_main_context_ref_thread_default()
955  661255 gio: enable test_peer regression test for OpenBSD
956  661257 giomodules.c uses ":" instead of G_SEARCHPATH_SEPARATOR_S
957  661318 tests use pthread without appropriate compiler/linker flags
958  661421 Applications fail to initialize on GNU Hurd - commit
959  661438 Implement G_GNUC_DEPRECATED/G_GNUC_DEPRECATED_FOR on Visual C++
960  661711 Sorting keys for GDrive, GVolume and GMount instances
961  661763 desktop-app-info: Add support for X-GNOME-Keywords
962  661896 /gdbus/connection/life-cycle is racy
963  661914 Gstreamer/Totem locks up
964  662100 regression: g_dbus_connection_close() triggers exit-on-close logic
965
966 * Translations updates:
967  Belarusian 
968  Brazilian Portuguese
969  British English 
970  Bulgarian 
971  Catalan 
972  Catalan (Valencian)
973  Czech 
974  Danish 
975  Esperanto
976  French 
977  Gujarati
978  Hebrew 
979  Hungarian 
980  Italian 
981  Japanese
982  Lithuanian
983  Norwegian bokmål
984  Oriya
985  Polish 
986  Russian 
987  Serbian
988  Simplified Chinese
989  Slovak 
990  Slovenian
991  Spanish 
992  Tamil
993  Vietnamese
994
995 Overview of changes from GLib 2.29.18 to 2.29.90
996 ================================================
997
998 * API/ABI changes:
999  - unix signal watches now match the API of all of the other sources
1000  - revert the addition of g_date_time_source_new () from last release
1001
1002 * networking and other fixes for Solaris
1003  - we no longer support symbolic port names (ie: from /etc/services)
1004  - check if -lsocket is needed
1005  - fix g_socket_details_from_fd()
1006  - avoid getmntinfo
1007  - fix some harmless warnings
1008
1009 * GDateTime improvements:
1010  - generally improved standards compliance (with C99)
1011  - support C99-specified format strings: %g, %G, %V, %c, %C, %w
1012  - consult the locale for the preferred 12-hour time format (%r)
1013  - drop support for non-standard %N and broken %W
1014  - better support for formatting non-POSIX (eg: Arabic) numerals
1015  - locale-related test case fixups, and fix some leaks
1016
1017 * GTlsInteraction: add interaction method invocation guarantees
1018
1019 * gdbus-codegen: post-process all interfaces when parsing >1 file
1020
1021 * make GMainLoop, GMainContext and GSource boxed types
1022
1023 * fix a race condition in the first use of g_get_monotonic_time()
1024
1025 * lots gtk-doc cleanups
1026
1027 * better intltool compatibility when generating pot file
1028
1029 * avoid GCC-specific compiler options when not using GCC
1030
1031 * Translation updates:
1032  Belarusian
1033  Brazilian Portuguese
1034  Canadian English
1035  Galician
1036  Indonesian
1037  Korean
1038  Lithuanian
1039  Norwegian bokmål
1040  Portuguese
1041  Spanish
1042  Swedish
1043
1044 Overview of changes from GLib 2.29.16 to 2.29.18
1045 ================================================
1046
1047 * GDateTime is now respecting LC_TIME when formatting
1048
1049 * GTimeZoneMonitor has been removed again
1050
1051 * A new API for wallclock functionality has been added:
1052   g_date_time_source_new(). This API is still experimental
1053   and may be changed or removed before 2.30.
1054
1055 * Bugs fixed:
1056  628904 Add credential support for FreeBSD and fix a socket issue
1057  650763 gdbus-codegen is broken with python 2.7
1058  655129 GDateTime could provide api for implementing wall clocks
1059  656341 gtlsconsoleinteraction.c uses getpass() which isn't avail...
1060  656387 GCancellable can be used concurrently
1061  656443 Make GTlsInteraction ask_password cancellable
1062  656675 void functions should not return in glib 2.29.16
1063  656772 g_variant_compare for uint64 incorrect
1064  656914 Load GIO_EXTRA_MODULES first, and ignore duplicates
1065  657083 The header langinfo.h is not available on all systems
1066  657084 gfileutils: fix docs/annotations for temp file methods
1067  657138 Some files missing in POTFILES.in
1068  657206 GInputStream leaked in g_file_icon_load_async()
1069  657243 g_cancellable_set_error_if_cancelled() documentation
1070  657274 Use detected PYTHON variable as shebang for gdbus-codegen
1071  657336 Speling fixes for glib found with codespell
1072  657452 plural forms needed
1073  657454 Translation comment needed
1074  657540 Print out file:// URL to coverage HTML report after building
1075  657593 g_test_trap_fork calls close(-1)
1076  646082 Addresses from GSocket should be normalized before returning
1077  657517 fix gio/tests/gdbus-peer on bsd
1078
1079 * Translation updates:
1080  Brazilian Portuguese
1081  Galician
1082  Norwegian bokmål
1083  Punjabi
1084  Russian
1085  Serbian
1086  Spanish
1087  Swedish
1088  Traditional Chinese
1089  Uighur
1090
1091
1092 Overview of changes from GLib 2.29.14 to 2.29.16
1093 ================================================
1094
1095 * GTlsDatabase: an abstract class that provides support
1096   or certificate and key lookup. An implementation will
1097   be provided in glib-networking
1098
1099 * GHmac: Support or HMAC digests
1100
1101 * Misc new API:
1102  - g_ptr_array_add_full: creates a GPtrArray with
1103    a preallocated size and a destroy function
1104  - g_desktop_app_info_get_show_in: checks if a GDesktopAppInfo
1105    should be shown in a given desktop environment
1106  - g_mkdtemp, g_mkdtemp_full, g_dir_make_tmp: create
1107    temporary directories
1108
1109 * Unify thread wakeup implementations of GMainContext
1110   and GCancellable, and use eventfd for it when available
1111
1112 * Show mounts in $XDG_USER_DIR in addition to /media and $HOME
1113
1114 * Bugs fixed:
1115  636572 GTlsCertificateDB
1116  644601 Some tests need a running dbus session
1117  652284 deal with small key lengths
1118  652827 glib-2.29.8 no longer builds with mingw.org's toolchain
1119  653063 PEM parser fails parsing private key when put first
1120  654078 Fail to static linking with Glib library
1121  654450 New functions: g_ptr_array_new_full()
1122  654793 Add G_VALUE_INIT
1123  655044 GDesktopAppInfo: Add g_desktop_app_info_get_show_in()
1124  655148 gdbusconnection is broken when compiling with mingw
1125  655241 glocalfile.c no longer compiles with MinGW GCC
1126  655598 g_cancellable_get_fd: silently return -1 for NULL cancellable
1127  655664 gdbus should not abort if no dbus session is available
1128  655769 Use ZLIB_CFLAGS when compiling gio
1129  656031 Improve GVariant annotations
1130  656048 glib-codegen requires Python >= 2.5
1131  656151 configure test logic inverted, doesn't match comments
1132  656152 GCC only syntax used, yet other compilers allowed by configure.
1133  656162 allow use of lcov 1.9 for coverage
1134  656282 GDBusProxy: uninitialized local variables can be freed
1135  656283 Failing tls connection cause assertion
1136  118563 Add g_mkdtemp in the spirit of g_mkstemp
1137  636405 Add g_return_if_fail() to g_settings_bind_with_mapping()
1138  656039 race condition between GDBusProxy signals and public API
1139  656492 g_io_channel_new_file failure (open(2) behavior wrt POSIX)
1140
1141 * Translation updates:
1142  Bulgarian
1143  Esperanto
1144  French
1145  Galician
1146  German
1147  Hebrew
1148  Indonesian
1149  Italian
1150  Norwegian bokmål
1151  Russian
1152  Spanish
1153  Swedish
1154
1155
1156 Overview of changes from GLib 2.29.12 to 2.29.14
1157 ================================================
1158
1159 * Unicode improvements
1160  - add g_unicode_script_{to,from}_iso15924
1161  - add G_UNICODE_SPACING_MARK define
1162  - more normalisation improvements
1163  - stop using deprecated g_unicode_canonical_decomposition()
1164
1165 * GParamSpec:
1166  - mark the 'name' field as 'const' and add a comment to the header to
1167    help avoid future problems caused by bad hacks
1168
1169 * Merge some (modified) patches from Debian:
1170  - 03_blacklist-directories.patch
1171    - add some blacklisted mount directories
1172  - 60_wait-longer-for-threads-to-die.patch
1173    - sleep longer in a test case, if needed to avoid failing
1174
1175 * Units policy change: prefer use of SI units
1176  - deprecate g_format_size_for_display, add g_format_size(_full)
1177
1178 * GSettings: don't call g_error() when the schema is missing
1179
1180 * GVariant support for arrays of object paths:
1181  - new g_variant_{new,get,dup}_objv API
1182  - support for g_variant_{new,get} '^ao' and '^a&o' similar to '^as'
1183
1184 * GDBus:
1185  - use new improved array-of-objects support and pass 'ao' as char**
1186    instead of GVariant*
1187  - improve handling of 'h' type (Unix file descriptor index)
1188
1189 * GIO:
1190  - fix compilation without USE_STATFS and USE_STATVFS
1191
1192 * Documentation fixes
1193
1194 * Bugs fixed:
1195  622921 Migrate from dbus-glib to glib's GDBus
1196  648271 Add g_unicode_script_to_iso15924()
1197  654948 Stop using deprecated g_unicode_canonical_decomposition()
1198  654988 g_atomic_int_add should document behaviour change
1199  655025 #define G_UNICODE_SPACING_MARK G_UNICODE_COMBINING_MARK
1200  655076 normalization misses some Full_Composition_Exclusion=True. 
1201
1202 * Translations updated:
1203  Spanish
1204
1205 Overview of changes from GLib 2.29.10 to 2.29.12
1206 ================================================
1207
1208 * Add new API to do Unicode (de-)composition in atomic steps,
1209   for use in Harfbuzz.
1210
1211 * Bugs fixed:
1212  615895 (indirectly) support non-NULL-terminated regexes in GRegex
1213  617949 glib trunk fails to compile on Solaris w/ Studio 12...
1214  620423 Document the possibility to unset attributes
1215  627974 Floating reference headaches
1216  644687 Not finding cross-links in current doc set
1217  649246 g_output_stream_splice() cannot be used on 32-bit machines...
1218  653841 a helper script to build glib from git master on win32
1219  653935 g_slist_free_full/g_list_free_full iterates twice in the list
1220  654017 tests: fix glib_translations_work() in gsettings unit test
1221  654085 Don't needlessly use "echo -e" when creating .def files
1222  654195 Add g_unichar_compose() and g_unichar_decompose()
1223  654232 GCancellable eventfd problems
1224  654394 suspicious use of floating references in GDBusInterfaceSkeleton
1225  654536 GSettings: lift key name length restriction to 64
1226  654627 GParamSpec: intern property names
1227  654651 Better g_unicode_canonical_decomposition()
1228  654917 Make g_cclosure_marshal_generic the default signal handler
1229
1230 * Translation updates:
1231  Belarusian
1232  Finnish
1233  Korean
1234  Latvian
1235  Lithuanian
1236  Norwegian bokmål
1237  Turkish
1238
1239
1240 Overview of changes from GLib 2.29.8 to 2.29.10
1241 ===============================================
1242
1243 * New features:
1244  - g_desktop_app_info_get_nodisplay: a function that is required
1245    to port gnome-menus to GDesktopAppInfo
1246  - g_hash_Table_iter_replace: new function to replace a value
1247    while iterating over a hash table
1248  - g_utf8_substring: convenience API to extract substrings from
1249    UTF-8 strings
1250  - g_action_group_add_entries: convenience API for creating lots
1251    of actions quickly
1252  - Use eventfd instead of pipes for waking up main contexts and
1253    for cancellation when available
1254  - GMatchInfo is now a refcounted boxed type
1255
1256 * API changes in GAction:
1257  - the 'set_state' entry in the GActionInterface vtable has been
1258    renamed to 'change_state
1259  - g_action_set_state has been renamed to g_action_change_state
1260  - the 'state' property has been changed to read-only
1261  - GSimpleAction can no longer be subclassed
1262
1263 * Bug fixes
1264  647796 g_variant_new_variant is not marked as constructor
1265  652072 gmain: make use of signalfd()
1266  652168 Crosscompiling Fails if build<=2.24 and host >2.24
1267  652750 make dist fails
1268  652758 GDataInputStream: Clarify g_data_input_stream_read_line docs...
1269  652822 Add a g_hash_table_iter_replace
1270  652897 tiny docs clarification for g_utf8_to_ucs4_fast
1271  653140 gmain: use Linux eventfd() for main context wake up
1272  653429 drop AM_MAINTAINER_MODE or enable it by default
1273  653484 GAsyncCallbacks should default to allow-none
1274         Add missing fundamental types to the generic marshaller
1275
1276 * Translation updates
1277  Belarusian
1278  Galician
1279  Russian
1280
1281 Overview of changes from GLib 2.29.6 to 2.29.8
1282 ==============================================
1283
1284 * Bug fixes
1285  646608 export_symbols variable for gio dynamic library is wrong
1286  646635 Fix introspection of GLib
1287  647930 Documentation: GDataInputStream _read_upto() version
1288  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
1289  651920 Improve qsort_r detection
1290  651959 gbitlock: "asm goto" is not available in gcc < 4.5
1291  651998 gdbus-codegen: Use relative Python imports
1292  652000 Fix for gatomic.c on Windows/MSVC
1293  652002 Proposal to clean up gvaluetransform.c for MSVC
1294  652025 g_dbus_connection_register_object: error is not set...
1295  652081 Typos in a GBinding warning message
1296  652197 Improper handling of double values in GDBusMessage
1297         Fix a deadlock in gobject finalization
1298
1299 * Translation updates:
1300  Czech
1301  Galician
1302  German
1303  Hebrew
1304  Norwegian bokmål
1305  Spanish
1306  Uighur
1307
1308
1309 Overview of changes from GLib 2.29.4 to 2.29.6
1310 ==============================================
1311
1312 * Atomic operations have been rewritten from scratch to make use
1313   of gcc builtins where possible. As a side-effect of this, calls
1314   to g_atomic_ API with explicit casts may now be problematic; if
1315   that happens to you, try first to remove the casts. Another
1316   side-effect of the rewrite is that g_atomic_int_exchange_and_add
1317   has been deprecated in favor of g_atomic_int_add.
1318
1319 * A full set of atomic operations on pointers has been added,
1320   including bit locks in pointer-size locations.
1321
1322 * Access to quarks is now lockless
1323
1324 * GObject data scalability has been greatly improved
1325
1326 * g_data_time_format now supports alternative digits and padding
1327
1328 * Introspection improvements:
1329  - Add a boxed type for GVariantBuilder
1330  - Annotation fixes in GDBus, GVariant, g_base64_
1331
1332 * Bugs fixed:
1333  502560 g_rand_double_range returns 'inf'
1334  612729 g_mkdir_with_parents can fail if the directory already exists
1335  617491 g_once() implementation is inefficient
1336  619418 Add a performance test for UTF-8 decoding functions
1337  619435 Make g_utf8_to_ucs4_fast() yet faster
1338  626549 G_STATIC_ASSERT_EXPR
1339  631231 bitlock: Fix detection and usage of futexes with Bionic
1340  632294 g_queue_remove() should return a boolean
1341  640518 GMainLoop has quadratic complexity when all pollfd's...
1342  642026 Race condition in g_static_private_free
1343  646635 Fix introspection of GLib
1344  648678 g_date_time_format(): support %O flags for localized numbers
1345  649480 Use MSG_CMSG_CLOEXEC in recvmsg in gio/gsocket.c
1346  649506 GTestFunc et al lacking Since tag
1347  649657 Don't return gboolean for functions that throw
1348  649775 glib-gio-gdbuscodegen-Makefile.patch
1349  649915 gsettings accepts unquoted strings longer than two characters
1350  649973 gthread: build unix tests only on unix
1351  649988 gdbus-codegen: Drop dependency on argparse
1352  650078 forkbomb building glib/tests/protocol
1353  650211 Optimization in key file parsing
1354  650236 Application over DBus implements action state incorrectly
1355  650345 g_key_file_has_key_full: New function to fix g_key_file_has_key...
1356  650458 reduce overhead in g_object_set/get_data
1357  650459 hash table consistency while calling destroy notify funcs
1358  650688 enforce rules about hash table modification
1359  650823 expand the set of atomic ops
1360  650874 codegen chokes on docs
1361  650882 use stdout instead of stderr for informational messages
1362  650884 fix compilation with gcc2
1363  650885 implement glib credentials on OpenBSD (hackish)
1364  650935 G_GNUC_MAY_ALIAS and atomic ops
1365  651009 minor documentation fix
1366  651034 Regarding g_cond_wait after g_thread_pool_push in gthreadedresolver
1367  651133 race condition in GDBusConnection's emit_signal_instance_in_idle_cb
1368  651141 hashtable infinite loop
1369  651219 fix path to true(1) on OpenBSD
1370  651223 Fix some compile warnings on OpenBSD
1371  651327 Minor fixes for the gsocket API
1372  651467 Add pointer sized bitlocks
1373  651650 gdbus: Avoid busy wait loop
1374  651725 gmain: Cleanups and a new test case
1375  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
1376
1377 * Updated translations:
1378  Catalan (Valencian)
1379  Esperanto
1380  Hebrew
1381  Hungarian
1382  Russian
1383  Spanish
1384
1385
1386 Overview of changes from GLib 2.29.2 to 2.29.4
1387 ==============================================
1388
1389 * GDBus:
1390  - Includes several new types to support modeling D-Bus
1391    objects and interfaces more fully, and also introduces
1392    an 'object manager' pattern:
1393    GDBusInterface, GDBusObject, GDBusObjectManager
1394    These interfaces have client-side implementations:
1395    GDBusProxy, GDBusObjectProxy, GDBusObjectManagerClient
1396    And server-side implementations:
1397    GDBusInterfaceSkeleton, GDBusObjectSkeleton, GDBusObjectManagerServer
1398  - The new gdbus-codegen utility uses these new classes
1399    to generate C code and documentation from D-Bus interface
1400    descriptions in XML
1401
1402 * GTest:
1403  - There is now a g_test_fail() function to mark
1404    tests as failed
1405
1406 * GDesktopAppInfo
1407  - Now has a binding-friendly filename property
1408  - Other new API to more fully expose desktop file contents:
1409    g_desktop_app_info_get_categories(),
1410    g_desktop_app_info_get_generic_name()
1411
1412 * GHashTable:
1413  - Several optimizations to reduce space consumption of
1414    large hash tables, in particular tables that are used
1415    to store sets.
1416
1417 * Unix-specific APIs:
1418   GLib now installs a separate header, glib-unix.h, that is
1419   meant to collect Unix-specific APIs. For now, it contains
1420   g_unix_open_pipe(), g_unix_set_fd_non_blocking() for dealing
1421   with pipes and fds, as well as APIs to create mainloop
1422   sources which can trigger callbacks on certain Unix
1423   signals (SIGTERM, SIGHUP, SIGINT).
1424
1425 * Bugs fixed:
1426  631379 GDBus nonce-tcp test failing
1427  632631 GLib-CRITICAL **: g_variant_new_string: assertion `g_utf8_validate (string, -1, NULL)' failed
1428  635694 gdbus aborting due to unauthorized socket in DBUS_SESSION_BUS_ADDRESS
1429  637561 Crash when using G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
1430  642935 g_date_time_format() prints wrong value for %z and timezone -0800
1431  643134 g_dbus_message_copy
1432  644941 glib-unix: New Unix-specific API
1433  646013 g_hash_table_remove_all_nodes optimization
1434  646309 glib cannot be cross-compilled for mingw32
1435  646435 GTimeZone doesn't seem to be thread-safe
1436  646957 GIO chained calls don't work with a thread default context
1437  647594 README link to mailing list is broken
1438  647602 Cannot connect to remote message bus via TCP
1439  647746 The GSocketService documentation is incomplete.
1440  647826 API: gtester: Add g_test_fail()
1441  647903 GDesktopAppInfo: Add g_desktop_app_info_get_categories()
1442  648416 g_app_info_create_from_commandline ignores SUPPORTS_STARTUP_NOTIFICATION
1443  648423 Support G_DEBUG=trap-warnings
1444  648425 GDesktopAppInfo: Add "filename" property for bindings
1445  648966 Update g_unichar_iswide and g_unichar_iswide_cjk
1446
1447 * Updated translations
1448  Norwegian bokmål
1449  Spanish
1450  Turkish
1451  Uighur
1452
1453
1454 Overview of Changes from GLib 2.28.0 to 2.29.2
1455 ==============================================
1456
1457 * GApplication
1458  - The documentation has been enhanced and clarified
1459  - An opt-out for uniqueness has been added: G_APPLICATION_NON_UNIQUE
1460  - GApplication now syncs settings before g_application_run() returns
1461
1462 * GDBus
1463  - Interface lookups are now happening in constant time
1464  - Signature checking and handling of various unexpected
1465    situations has been improved
1466
1467 * GVariant
1468  - The format accepted by the GVariant parser has beend documented
1469  - GVariant accepts G_VARIANT_TYPE_VARDICT for a{sv}
1470
1471 * GDateTime:
1472  - The return value of g_datetime_compare() has been fixed to
1473    match strcmp() semantics
1474  - In order to handle problems with changing timezones, a GTimeZoneMonitor
1475    has been added to GIO, and g_time_zone_refresh_local() can be
1476    called to update the cached information about the local timezone
1477
1478 * GOption now uses /proc/self/cmdline to set the program name instead
1479   and only falls back to "<unknown>" if that is unavailable
1480
1481 * GSettings:
1482  - The schema compiler now warns about references to non-existing schemas
1483
1484 * Commandline utilities are now fully translated
1485
1486 * Signals can now indicate that collecting their arguments must
1487   always happen, even in the absence of connected signal handlers,
1488   using the G_SIGNAL_MUST_COLLECT flag.
1489
1490 * Bugs fixed:
1491  635099 Memory leak in gdbus introspection when parsing xml
1492  640489 $ and ^ do not match lines if G_REGEX_MULTILINE|G_R...
1493  642042 Overriding GDBus org.freedesktop.DBus.Properties im...
1494  642052 g_timeout_add(_seconds) cannot handle large intervals
1495  642490 notify_desktop_launch() "g_variant_new_bytestring:...
1496  613269 g_type_get_qdata() doesn't work as I expected on subtypes
1497  624943 G_VALUE_NOCOPY_CONTENTS is undocumented
1498  637738 object_interface_check_properties never actually executes
1499  638185 GIOCondition should be annotated as "flags"
1500  639478 GDBusServer's g_dbus_server_new_sync() function should just...
1501  641755 Add g_settings_get/set_uint() helpers
1502  641768 dconf gsettings backend silently drops writes if it can't...
1503  642797 g_app_info_get_default_for_type() broken for subtypes
1504  642825 Unnecessary assertion failure in g_option_context_parse()
1505  642944 NULL key lookup using g_hash_table_lookup_extended()
1506  643074 Incorrect documentation for g_socket_receive() and g_socket...
1507  643197 g_application_id_is_valid docs imply no valid ids
1508  643468 GApplication docs: Warn that handling "command-line" means...
1509  643478 GApplication::local_command_line vfunc documentation seems wrong
1510  643624 Can g_variant_unref() on an already free'd variant
1511  643649 g_application_run() should say that argc/argv can be NULL
1512  643780 shouldn't need to create an action group to use actions...
1513  643795 g_timeout_add_seconds fires with intervals 1 second longer...
1514  644309 Program name is not set when using GtkApplication
1515  644428 Crash in failure section of g_markup_collect_attributes()
1516  644465 undefined reference to `_usleep'
1517  644552 g_timeout_add_seconds(1, ...) may have a latency of up to 2...
1518  644607 Correct internal definition of C_()
1519  645789 annotations for g_file_*_contents
1520  646039 g_settings_list_children() returns child that cannot be opened
1521  646310 Accept range with only min or max
1522  646420 g_dbus_method_invocation_get_parameters() docs should say...
1523  646843 occasional abort on autologin
1524  646985 add G_APPLICATION_NON_UNIQUE flag
1525  647579 gsettings: Implement reset-recursively
1526  647600 gsettings description has typo
1527
1528 * Translation updates
1529  Afrikaans
1530  Bulgarian
1531  Bengali India
1532  British English
1533  Bulgarian
1534  Catalan
1535  Czech
1536  Danish
1537  French
1538  Galician
1539  German
1540  Greek
1541  Gujarati
1542  Hebrew
1543  Hungarian
1544  Italian
1545  Japanese
1546  Korean
1547  Lithuanian
1548  Polish
1549  Portuguese
1550  Romanian
1551  Serbian
1552  Simplified Chinese
1553  Spanish
1554  Swedish
1555  Traditional Chinese
1556  Uighur
1557  Vietnamese
1558
1559
1560 Overview of Changes from GLib 2.27.93 to 2.28.0
1561 ===============================================
1562
1563 * Bugs fixed:
1564 641363 GInitable documentation isn't clear about that finalize...
1565 641395 Add more data about the origin application to the "Lau...
1566 641411 gdesktopappinfo signals lost if it's the session bus...
1567 641477 glib-mkenums uses unportable #! line
1568 641572 Add @EXEEXT@ to pkgconfig binary name
1569 641688 glib installs GSettings.html and gsettings.html
1570
1571 * Translation updates:
1572  Galician
1573  Italian
1574  Korean
1575  Punjabi
1576
1577
1578 Overview of Changes from GLib 2.27.92 to 2.27.93
1579 ================================================
1580
1581 * Bugs fixed:
1582  637013 gio/gdbusmessage.c fails to compile on Solaris
1583  640192 Error creating a Gio.Settings object through py...
1584  640261 Minimum version for external pcre needs to be..
1585  640262 GActionGroup contains redundant TYPE macros
1586  640436 Make load_user_special_dirs() resistant to non...
1587  640695 g_key_file_load_from_file() mishandles a CR-LF...
1588  640724 can't compile gio due to format string issues
1589  640725 can't compile tests due to format string issue
1590  640807 improve GVariant behaviour with invalid pointers
1591  640823 wrong documentation for g_source_add_child_source
1592
1593 * Translation updates:
1594  Bulgarian
1595  Galician
1596  Hebrew
1597  Norwegian bokmål
1598  Spanish
1599  Traditional Chinese
1600
1601
1602 Overview of Changes from GLib 2.27.91 to 2.27.92
1603 ================================================
1604
1605 * Update to Unicode 6.0
1606
1607 * Update PCRE to 8.12
1608
1609 * Bugs fixed:
1610  637696 g_unix_connection_send_fd() doesn't work
1611  638872 null settings backend bug
1612  640042 GtkApplication's warning about not connecting...
1613
1614 * Translation updates:
1615  Arabic
1616  Basque
1617  Estonian
1618  Greek
1619
1620 Overview of Changes from GLib 2.27.90 to 2.27.91
1621 ================================================
1622
1623 * Bugs fixed:
1624  638838 gdesktopappinfo: Don't crash if we don't have a desktop filename
1625  638894 Splitting on \s* gives no result
1626  639064 Update gschema.dtd
1627  639084 Copy/paste error in GSettings::writable-changed signal
1628  639177 SIGSEGV for GApplications with G_APPLICATION_IS_SERVICE
1629
1630 * Translation updates:
1631  Estonian
1632  Galician
1633  Indonesian
1634
1635
1636 Overview of Changes from GLib 2.27.5 to 2.27.90
1637 ===============================================
1638
1639 * Test reports created by gtester-report can now
1640   include revision information
1641
1642 * The g_desktop_app_info_launch_* family of functions
1643   now emit a DBus signal when an application is launched.
1644   Additionally, there is a new variant
1645   g_desktop_app_info_launch_uris_as_manager(), which
1646   gives more control over the launched process.
1647
1648 * The memory and null GSettings backends are now available
1649   as public API
1650
1651 * g_get_locale_variants() is a new function that returns a
1652   list of variants of a locale identifier
1653
1654 * Bugs fixed:
1655  587898 I/O timeouts for GSocket
1656  606960 gio: Add extension point for informing parties...
1657  631980 Handle an optional <revision> node in the report...
1658  634569 Document that g_variant_builder_add_value consumes...
1659  635998 Make _g_compute_locale_variants public
1660  636806 Add g_{memory,null}_settings_backend_get_default
1661  637262 Need a binary DER version of ::accepted-cas
1662  637544 Skip fsync() on btrfs
1663  637720 void functions should not return a value.
1664  637738 object_interface_check_properties never actually...
1665  637759 GIOChannel: fix a crash in g_io_channel_read_chars()
1666  637852 Updates to glib.vsprops file for MSVC 2008 builds...
1667  637858 Updates to test/testglib.c...
1668  638349 parameter name of g_variant_new_* may conflict...
1669
1670 * Translation updates:
1671  Hebrew
1672  Norwegian bokmål
1673  Simplified Chinese
1674  Spanish
1675  Swedish
1676  Uyghur
1677  Vietnamese
1678
1679
1680 Overview of Changes from GLib 2.27.4 to 2.27.5
1681 ==============================================
1682
1683 * Network support:
1684  - Add g_tls_certificate_verify() to verify a certificate
1685  - Add GTlsConnection:use-system-certdb
1686  - Other TLS api additions
1687
1688 * GIO:
1689  - Add g_io_stream_splice_async()/_finish() to splice two iostreams
1690  - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon derivable
1691  - Remove GPeriodic; it did not receive the necessary review and
1692    integration work to declare it stable
1693
1694 * GSequence:
1695  - New methods g_sequence_lookup() and g_sequence_lookup_iter()
1696
1697 * Bugs fixed:
1698  617254 Missing g_sequence_lookup
1699  632544 g_dbus_connection_send_message can not send a locked message...
1700  633350 g_hostname_to_ascii() ignores non-ascii dots
1701  634583 Better error reporting for g_variant_parse()
1702  635007 gsetting enum rule don't work for out-of-srcdir builds
1703  635626 GDBus message idle can execute while flushes are pending
1704  636100 Can't read GSettings:backend property
1705  636305 Typo on g_queue_remove_all() function description
1706  636311 appinfo: tweak application positioning for content-types
1707  636351 g_simple_async_result_is_valid lacks a version tag
1708  636387 gdb autoload files shadow the "dir" builtin
1709  636673 g_simple_async_report_error_in_idle should allow object...
1710  637147 Add a "delay-apply" property to GSettings
1711  637171 emblemedicon: add g_emblemed_icon_clear_emblems()
1712  637237 gapplication: plug a memory leak
1713
1714 * Translation updates:
1715  Estonian
1716  Galician
1717  Hebrew
1718  Norwegian bokmål
1719  Simplified Chinese
1720  Spanish
1721  Traditional Chinese
1722  Vietnamese
1723
1724
1725 Overview of Changes from GLib 2.27.3 to 2.27.4
1726 ==============================================
1727
1728 * GIO
1729  - Mounts are treated as hidden if they have a path element
1730    that starts with a dot
1731  - GAppInfo gained API to differentiate between recommended
1732    and fallback mime handlers
1733  - g_cancellable_create_source: creates a GSource that triggers
1734    when the GCancellable is canceled
1735  - GPollableInput/OutputStream: Interfaces for pollable streams
1736  - TLS support has landed, with an extension point that is
1737    implemented in glib-networking
1738
1739 * GLib
1740  - Mainloop sources can now have 'child sources'
1741  - g_get_runtime_dir: New function to return the XDG_RUNTIME_DIR
1742
1743 * Bugs fixed:
1744  530786 GFileMonitor "changed" signal underdocumented
1745  588189 TLS support for GSocket*
1746  630357 g_object_new_valist uses uninitialized memory
1747  630559 typo in public string in gsocks: 'The SOCKSv5 require...
1748  632445 Documentation refers to removed GNOME 2.0 porting guide
1749  634239 Child GSources
1750  634241 Add pollable input/output streams
1751  634504 allow passing a NULL emblem to g_emblemed_icon_new()
1752  634613 unsufficient g_get_user_runtime_dir() documentation
1753  635640 schema should inherit gettext-domain from schemalist
1754  635768 Protect g_file_monitor_set_rate_limit() against negative...
1755  635882 Fix the wrong-category schema test
1756  635187 Wrong type of GVariant received in an action...
1757
1758 * Updated translations:
1759  Galician
1760  Italian
1761  Norwegian bokmål
1762  Uyghur
1763
1764
1765 Overview of Changes from GLib 2.27.2 to 2.27.3
1766 ==============================================
1767
1768 * The GTimeSpec type that was introduced in the 2.27.2 has been
1769   dropped again in favour of APIs that return microseconds as
1770   64-bit integer.
1771   Affected functions:
1772   g_source_get_time
1773   g_periodic_unblock
1774   g_get_monotonic_time
1775   g_get_real_time
1776   The similar GTimeVal struct is still around, but its use is
1777   discouraged.
1778
1779 * GTimer is now using monotonic time unconditionally
1780
1781 * There are some new functions to facilitate error reporting
1782   in async GIO APIs:
1783   g_simple_async_result_take_error
1784   g_simple_async_result_new_take_error
1785   g_simple_async_report_take_gerror_in_idle
1786
1787 * There is new convenience API to us GVariant dictionaries:
1788   g_variant_lookup
1789
1790 * It is now possible to delay sending match rules to the
1791   D-Bus daemon in GDBus:
1792   G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE
1793
1794 * Support has been added for XDG_RUNTIME_DIR:
1795   g_get_user_runtime_dir
1796
1797 * Various fixes for Win64/MSVC builds have been committed
1798
1799 * Bugs fixed:
1800  620263 Add g_clear_object, g_clear_pointer, g_clear_boxed
1801  633075 update Project Files and sources for MSVC 2008/C89
1802  633381 gsettings Makefile rules should handle empty list...
1803  633685 Use g_simple_async_result_{new_,}take_error
1804  633686 Add g_simple_async_report_take_gerror_in_idle
1805
1806 * Translation updates:
1807   Belarusian
1808   Galician
1809   Hebrew
1810   Punjabi
1811   Spanish
1812
1813
1814 Overview of Changes from GLib 2.27.1 to 2.27.2
1815 ==============================================
1816
1817 * GApplication
1818  - Export actions over DBus and support activating them from remote instances
1819  - Support environment passing
1820
1821 * GSettings
1822  - The gsettings utility has a list-recursively command
1823  - The gsettings utility has commandline completion for enum values
1824
1825 * GLib is now linked against librt and uses monotonic time for
1826   timeouts and GPeriod sources. GSource has a new g_source_get_time()
1827   which returns monotonic time, and g_source_get_current_time() has
1828   been deprecated
1829
1830 * Bugs fixed:
1831  158725 free linked list with data
1832  626320 GVariant: Avoid locking in g_variant_get_child_value() if possible
1833  629247 add gsimpleasyncresult methods to take over a GError
1834  629274 GNetworkService does not do fallback when there is no SRV record
1835  631264 gsettings-tool choice/range support
1836  631482 g_date_time_from_instant: 1000000000000000000
1837  632169 docs for manual use of gsettings-data-convert
1838  632571 Add equivalent to gconftool-2's -R option
1839  633115 GSettings m4 doesn't fail the build for broken schemas
1840  633206 Default g_application_local_command_line() doesn't set exit_status...
1841  633339 support more complex gapplication setups
1842  633356 Make timeout G_MAXINT mean "no timeout"
1843
1844 * Translation updates:
1845  Catalan (Valencian)
1846  Indonesian
1847  Japanese
1848
1849
1850 Overview of Changes from GLib 2.27.0 to 2.27.1
1851 ==============================================
1852
1853 * GDateTime now has full week number support.
1854   New API: g_date_time_get_week_numbering_year
1855
1856 * The GSettings schema compiler will now skip over
1857   broken .xml schema files instead of aborting altogether
1858
1859 * GSettings now works properly on bigendian systems
1860
1861 * GSettings has more complete support for ranges
1862   New API:
1863     g_settings_get_range
1864     g_settings_range_check
1865   The gsettings commandline tool supports ranges too.
1866
1867 * GApplication has been rewritten; see the API docs for details
1868   and examples. The action support is not complete yet.
1869
1870 * The GLib mainloop has gained 'dispatch to context' functionality,
1871   which can replace manually created idles in many cases.
1872   New API:
1873     g_main_context_invoke
1874     g_main_context_invoke_full
1875
1876 * The gio-desktop-app-info-lookup extension point has been
1877   removed from GIO. GIO now uses x-scheme-handler mimetypes when
1878   looking for default applications.
1879
1880 * On win32, make g_get_user_data_dir() return the CSIDL_LOCAL_APPDATA
1881   folder on Windows, and not CSIDL_PERSONAL. This matches what Qt does,
1882   and has been widely requested. Also make g_get_user_config_dir() return
1883   this and not the (roaming) CSIDL_APPDATA folder.
1884
1885 * A periodic event clock has been added in GIO: GPeriodic. Note that this
1886   API is still experimental and expected to undergo changes before it
1887   will be incorporated into a stable GLib release. Use at your own risk.
1888
1889 Bug fixes:
1890  613822 gobject signal connect/disconnect not thread safe
1891  618737 "dispatch to context" functionality
1892  620710 g_get_user_data_dir() uses CSIDL_PERSONAL and not CSIDL_APPDATA
1893  623400 acquire context before dispatching
1894  627126 gsettings schema files don't get installed on FreeBSD
1895  627171 g_socket_new_from_fd() doesn't set the right protocol
1896  628876 Wrong error description
1897  628937 gracefully handle broken schemas
1898  629274 GNetworkService doesn't fallback when there is no SRV record
1899  629289 g_error() used wrong, produces core dump
1900  629687 leaks class refcount in gsocketcontrolmessage
1901  629849 GLib-CRITICAL **: g_source_get_context: assertion `!SOURCE_...
1902  629945 GDBus deadlock in g_bus_get_sync()
1903  630000 g_date_time_difference
1904  630077 GDateTime week number support
1905  630185 Allow NULL strings in g_quark_try_string()
1906  630797 docs mention non-existent g_object_dispose()
1907  630968 gschema-compile problems on power g5
1908  631263 GSettings needs range/choice APIs
1909  631264 gsettings-tool choice/range support
1910  631379 GDBus nonce-tcp test failing
1911  631410 Port gapplookupgconf.c to using x-scheme-handler/
1912  632884 Possible deadlock in g_object_remove_toggle_ref()
1913
1914 Transation updates:
1915  Basque
1916  Brazilian Portuguese
1917  British English
1918  Bulgarian
1919  Czech
1920  Dutch
1921  Estonian
1922  French
1923  Galician
1924  German
1925  Greek
1926  Hebrew
1927  Hungarian
1928  Japanese
1929  Lithuanian
1930  Polish
1931  Portuguese
1932  Romanian
1933  Simplified Chinese
1934  Slovenian
1935  Spanish
1936
1937
1938 Overview of Changes from GLib 2.25.15 to GLib 2.27.0
1939 ====================================================
1940
1941 Build:
1942   - massive restructuring to reduce #include abuse
1943   - tweaks to silence some harmless compiler warnings
1944   - rename gschema-compile.c to glib-compile-schemas.c
1945   - Windows fixes
1946   - fix building with zlib < 1.2.4 on win32
1947
1948 GDateTime:
1949   - better msgctxt for translating month and weekday names
1950   - API is changed quite a lot, implementation is improved
1951   - GTimeZone is now exposed
1952
1953 GObject:
1954   - make ordering for overridden interface properties consistent
1955   - ->priv structures are limited to 64k but this was not documented,
1956     and exceeding this limit produced bad results.  Add docs and enforce
1957     the limit properly.
1958   - add g_object_class_install_properties() to install multiple
1959     properties in one go
1960   - improve debugging output for GValue containing G_TYPE_STRV
1961
1962 GIO:
1963   - fix priority sorting of GIO extensions
1964   - add GCredentials support on FreeBSD
1965   - fix support for IPv6 addresses in URI parsing functions
1966   - GSocketClient fixes for when g_socket_connect succeeds immediately
1967   - clarify string encoding for GFile constructors in docs
1968   - new functions g_data_input_stream_read_upto{,async,finish}
1969   - tweak confusing documentation for g_output_stream_write()
1970
1971 GDBus:
1972   - GDBusMessage can now be locked and copied (like in libdbus)
1973   - GDBusConnection filter function API has changed again
1974   - GDBusServer: ::new-connection now declares if the connection was claimed
1975   - add a partial workaround for GObject bug 627724.
1976   - very many memory leaks fixed
1977
1978 GVariant:
1979   - check for size == 0 in g_variant_get_bytestring to avoid a crash
1980     when attempting to get_bytestring() from an empty array
1981   - improve gobject-introspection annotations
1982
1983 GSettings:
1984   - add GSettings Windows registry backend
1985   - some internal tweaks to the backend API
1986   - remove g_settings_list_items
1987   - add g_settings_list_children and _list_keys to replace it
1988   - add schema compiler restrictions for dealing with lists
1989   - don't automatically emit value changed signals on writability
1990     changes
1991
1992 Other:
1993   - constify the 'parser' vtable param to g_markup_parse_context_push()
1994   - plug many memory leaks in test cases
1995
1996 Bugs closed:
1997   50076 Time API to go with date API
1998  584284 g_data_input_stream_read_until_async different from sync version
1999  624546 Modification of GDBusMessage in filter function
2000  626919 Let g_object_class_install_property() return the installed GParamSpec*
2001  628029 GDateTime missing get_week_of_year method
2002  628253 Interface properties not listed in a consistent order
2003  628331 Plug lots of mem leaks in gio test suite
2004  628345 Plug a mem leak
2005  628436 Plug a mem leak
2006  628505 Fix building with zlib < 1.2.4 on win32
2007  628839 [PATCH] datetime: Rename shadowing variables
2008  628904 [PATCH] Add credential support for FreeBSD and fix a socket issue
2009  628952 incorrect glib_major_version and other variables on cygwin.
2010  629192 g_strdup_value_contents(): dump GStrv more usefully
2011  629251 g_socket_client_async_connect_complete: assertion failed
2012  629259 Failed to connect to "::1"
2013  629328 g_markup_parse_context_push doesn't respect const structs
2014  629429 month "May" short and full form same with "GDateTime" msgctxt
2015  629689 GDBusConnection leaks its GCredentials
2016  629698 Segfault in g_variant_get_bytestring() 
2017
2018 Updated translations:
2019   Arabic
2020   Armenian
2021   Basque
2022   British English
2023   Czech
2024   Finnish
2025   Galician
2026   German
2027   Hungarian
2028   Indonesian
2029   Japanese
2030   Lithuanian
2031   Norwegian bokmål
2032   Polish
2033   Portuguese
2034   Punjabi
2035   Simplified Chinese
2036   Slovenian
2037   Spanish
2038   Swedish
2039   Swedish
2040   Traditional Chinese
2041
2042 Overview of Changes from GLib 2.25.14 to GLib 2.25.15
2043 =====================================================
2044
2045  * GIO
2046   - Memory leak fixes
2047   - The GZip(De}Compressor can now process header information
2048   - Support for network proxies has been added, with the GProxy
2049     interface and the gio-proxy-resolver extension point. GIO
2050     includes SOCKSv4 and SOCKSv5 implementations, and libproxy
2051     is also going to provide an implementation of this extension
2052     point.
2053   - There are GAction and GActionGroup interfaces now, which will
2054     be used in GApplication in the near future.
2055
2056  * GObject
2057   - There are now convenience macros for defining boxed and
2058     pointer types
2059
2060  * GDBus
2061   - Memory leak fixes
2062   - GDBusProxy for well-known names can now auto-restart
2063     the service if the name owner disapperas
2064   - Filter functions are now allowed to modify messages
2065
2066  * GLib
2067   - GDateTime is a replacement for GDate that supports time
2068     and timezone information.
2069
2070  * Bugs fixed:
2071   50076 Time API to go with date API
2072  449565 Add G_DEFINE_BOXED_TYPE()
2073  617691 Add GZIP header processing to GZlibCompressor/GZlibDecompressor
2074  622184 add g_memory_output_stream_steal_data
2075  624546 Modification of GDBusMessage in filter function
2076  627088 Build failure in gdbus-peer.c on FreeBSD
2077  627181 save a memdup
2078  627182 Plug a mem leak in the gdbus-connection test
2079  627187 Plug some gdbus mem leaks
2080  627188 gdbus-non-socket test occasionally fails
2081  627252 G_OPTION_FLAG_NO_ARG is only for callback options
2082  627392 gdbus commit 8a3a4596 breaks win32 compile
2083  627407 FTBFS on !linux UNIX platforms
2084  627604 String error: 'that' twice in a row
2085  627969 ABR in g_file_open_tmp
2086  628084 gdbus-peer fails with assertion
2087  628193 Miscellaneous string fixes
2088  628296 abort() in gsocketconnection.c
2089  628309 Plug a mem leak in GConverterOutputStream
2090  628317 GEmblemedIcon:equal implementation is buggy
2091  628323 Fix invalid reads
2092  628327 Plug a mem leak
2093  628328 Plug a mem leak
2094  628329 Don't leak the FD list
2095  628324 Invalid reads in gdbus-export test
2096
2097  * Updated translations:
2098   British English
2099   Danish
2100   Galician
2101   Hebrew
2102   Punjabi
2103   Serbian
2104   Spanish
2105   Traditional Chinese
2106
2107
2108 Overview of Changes from GLib 2.25.13 to GLib 2.25.14
2109 =====================================================
2110
2111 * GDBus
2112  - Make the closure variants of GDBus apis work
2113  - Make error unregistration work
2114  - Use async IO in the IO thread (626748)
2115
2116 * GIO
2117  - Make g_simple_async_result_is_valid work without source (626208)
2118  - GSocketClient: add a timeout property
2119  - Fix memory leaks in GSocketClient
2120  - Handle async vs. sync correctly in GSocketConnection stream (616458)
2121  - Declare stream base classes as abstract
2122  - Clarify semantics of g_output_stream_write() (627071)
2123
2124 * Other
2125  - Improve test coverage for GDBus, GRegex, GAsyncResult
2126  - Drop dead code in pcre, xdgmime
2127  - Fix a race condition in gtester (578295)
2128  - Avoid an extra allocation in GAsyncQueue (626704)
2129  - Add test case for non-socket GIOStream (626841)
2130  - More explicit GVariant docs (622770)
2131  - Imroved docs for GAsyncInitable and GSimpleAsyncResult (602417)
2132
2133 * Translation updates:
2134  - Galician
2135  - Norwegian bokmål
2136  - Punjabi
2137  - Simplified Chinese
2138  - Swedish
2139
2140
2141 Overview of Changes from GLib 2.25.12 to GLib 2.25.13
2142 =====================================================
2143
2144 +-------------------------------------------------------------------+
2145 |   WARNING: There have been no breaks in API or ABI.  Weird, eh?   |
2146 +-------------------------------------------------------------------+
2147
2148 The primary purpose of this release is to fix a serious problem with
2149 glib 2.25.12: glibconfig.h (as generated on a Fedora amd64 system) was
2150 being distributed in the tarball.  It was being used to build some parts
2151 of glib on other systems (eg: 32bit ones).  This was causing some very
2152 serious problems.
2153
2154 There have been many other improvements, however:
2155
2156  Build and testing:
2157   - vastly improved test coverage
2158   - old tests moved to the gtester framework
2159   - gtester Makefile modified so that the tests only run once
2160   - cleanup of how we handle includes while building glib
2161
2162  GVariant:
2163   - add a g_return_if_fail (utf8) to g_variant_new_string()
2164
2165  GDBus:
2166   - perform extra sanity checks when serialising messages
2167   - add API to query and set the byteorder of a GDBusMessage
2168   - improve debug output, add some extra options
2169   - if exiting due to the bus disconnecting us, print an error message
2170     explaining why
2171   - sort property names correctly
2172   - don't bother sending RemoveMatch when we will close the connection
2173     anyway
2174   - use effective uid/gid for credential passing
2175
2176  GSettings:
2177   - add G_SETTINGS_BIND_INVERT_BOOLEAN for inverting boolean bindings
2178     without mapping functions
2179   - mark all strings in the schema compiler for translation
2180
2181  Binding:
2182   - improve closure support for bindings
2183   - copy GSettings INVERT_BOOLEAN flag
2184
2185  Other:
2186   - fix another complicated GCancellable deadlock possibility
2187
2188 Bugs closed:
2189  599590 glib build doesn't look for correct pkg-config
2190  619026 avoid warning in gutils.h when using gcc with -Wconversion
2191  624739 Please fix POTFILES.in
2192  625472 Valgrind claims uninitialized bytes used
2193  625500 g_date_set_time_val documentation doesn't mention local time
2194  625628 GDBusProxy: wrong property name sorting
2195  625753 Incorrect flags used in g_dbus_connection_call_sync()
2196  625827 Expand documentation about error quark naming
2197  625988 builddir != srcdir issues
2198  626107 glibconfig.h is being disted
2199
2200 Updated translations:
2201  French
2202  Galician
2203  Hebrew
2204  Norwegian bokmål
2205  Spanish
2206
2207
2208 Overview of Changes from GLib 2.25.11 to GLib 2.25.12
2209 =====================================================
2210
2211 +-------------------------------------------------------------------+
2212 | WARNING: There have been many API changes in GDBus -- sending     |
2213 | messages, subscribing to signals, closing connections and         |
2214 | registering subtrees are affected.  The ABI for GSettingsBackend  |
2215 | has also been changed.  For both reasons, a new dconf release is  |
2216 | required (and will be along soon).                                |
2217 +-------------------------------------------------------------------+
2218
2219 Build:
2220   - cleanup automake setup
2221   - rename configure.in to configure.ac
2222   - various docs fixups
2223   - move glibconfig.h to glib/
2224   - disable dtrace support on Mac OS (which has incompatible 'dtrace')
2225
2226 GSettings:
2227   - add support for vendor override files (to change the default values
2228     in a schema)
2229   - change GSettingsBackend vtable
2230   - add g_settings_reset()
2231   - support binding to G_TYPE_STRV properties
2232
2233 GDBus:
2234   - many bug fixes, including a serialisation fix
2235   - stop handling incoming connections as soon as stop() is called
2236   - proper support for file descriptor passing
2237   - new flags parameter for sending messages
2238   - new flags parameter for subscribing to signals
2239   - always reset the message serial when sending a message unless
2240     G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL is given
2241   - constness fixes for introspection structures
2242   - clean ups to subtree registration API
2243
2244 Other:
2245   - fix divide by zero bug in g_malloc_n functions
2246   - GIO: don't blindly assume that SOCK_CLOEXEC is supported
2247   - make GObject property notify freezes threadsafe
2248   - GIO: clean up credentials passing
2249   - GApplication: make default-quit not apply if register=FALSE
2250   - GIO: add annotations for gobject-introspection
2251
2252 Bugs closed:
2253  166020 use GAtomic for refcounting
2254  617483 Credentials passing
2255  622005 [GApplication] no way to modify the "default-quit" property
2256  623293 vendor override files
2257  623810 Message serialization bug
2258  623815 Don't check sender for GDBusProxy objects where name is not set
2259  624473 GDBusSubtreeIntrospectFunc return type
2260  624483 GDBusSubtreeEnumerateFunc clarification
2261  624484 GDBusSubtreeDispatchFunc clarification
2262  624754 gdbusaddress.c missing sys/wait.h
2263  624968 div by zero in g_malloc_n family
2264  624991 GSettings mapping for G_TYPE_STRV 
2265  625383 Add missing GI annotations
2266
2267 Updated Translations:
2268  Armenian
2269  Galician
2270  German
2271  Hebrew
2272  Kazakh
2273  Romanian
2274  Simplified Chinese
2275  Spanish
2276
2277 Overview of Changes from GLib 2.25.10 to GLib 2.25.11
2278 =====================================================
2279
2280 +-------------------------------------------------------------------+
2281 | WARNING: There have been minor API changes in GDBus and GVariant. |
2282 | These API changes will not affect many users, but they do require |
2283 | a new version of GTK+ to be installed.                            |
2284 +-------------------------------------------------------------------+
2285
2286 Build:
2287   - add a --disable-Bsymbolic configure flag to disable linking with
2288     -Bsymbolic-functions
2289   - this release sees the complete removal of the old 'g*alias' hacks
2290   - honour the NOCONFIGURE environment variable from autogen.sh
2291   - use proper feature test macros for isnan
2292   - use pkg-config to check for zlib
2293   - add ACLOCAL_AMFLAGS to Makefile.am
2294
2295 GDBus:
2296   - hide Class and instance structures for all GDBus types except
2297     GDBusProxy.  This breaks API by preventing subclassing, but probably
2298     nobody was doing that.
2299   - add new GDBusConnection call to support flushing all pending
2300     outgoing messages
2301   - change the register_object API to add a reference to the
2302     GDBusInterfaceInfo object so the caller need not keep it alive
2303     themselves
2304   - don't rewrite the serial number when sending messages that already
2305     have a serial number
2306   - better error checking for DBUS_SESSION_BUS_ADDRESS environment
2307     variable
2308   - switch to g_parse_debug_string for G_DBUS_DEBUG and add a lot of new
2309     flags
2310   - add support for temporarily freezing a freshly created
2311     GDBusConnection.  Do this until after the ::new-connection signal
2312     has finished running on GDBus services.
2313   - never require non-closed connections (the user is incapable of doing
2314     this due to the obvious race)
2315   - remove weird/misleading redundant check on NameOwnerChanged signal
2316   - emit GDBusProxy::g-properties-changed on NameOwnerChanged
2317
2318 GVariant:
2319   - the 'g_variant_{new,get}_byte_array' APIs have been removed
2320   - g_variant_{new,get,dup}_bytestring has been added, with different
2321     arguments and different behaviour
2322   - g_variant_{new,get,dup}_bytestring_array has been added, doing
2323     essentially the same thing as the 'strv' functions, but with byte
2324     strings instead of utf8 strings
2325   - G_VARIANT_TYPE_BYTESTRING ('ay'), BYTESTRING_ARRAY ('aay') and
2326     STRING_ARRAY ('as') constants have been added
2327   - the undocumented behaviour that g_variant_get_strv() deserialised
2328     arrays of object paths or signature strings has been dropped
2329   - additional varargs support for converting bytestrings or bytestring
2330     arrays with ^ay ^aay ^&ay and ^a&ay
2331   - improved gobject-introspection annotation
2332   - fix a problem with GBuffer calling g_slice_free for the wrong type
2333   - fix leaks in the type inferencing code of the parser
2334
2335 GSettings:
2336   - improved documentation
2337   - updated schema XML DTD, now xincluded into the docs
2338   - added support for schemas that extend other schemas (using the
2339     'extends=' attribute).  Values of keys in the base schema can be
2340     overridden using <override>.
2341   - added theoretical support for lists (using the 'list-of=' attribute)
2342   - lots of new tests
2343   - add support for flags (implemented similarly to enums)
2344   - add support for generating .enums.xml files to gsettings.m4:
2345       gsettings_ENUM_NAMESPACE = org.example.myapp
2346       gsettings_ENUM_FILES = ../path/to/*.h
2347     will generate org.example.myapp.enums.xml with mappings for all
2348     enums and flags in the specified .h files.
2349   - warn with g_message() if the 'memory' backend is used by default
2350     (ie: because no other GSettings backends are installed)
2351   - fix get_property() for GSettings::schema
2352   - command line tool: fix a bug that prevented non-basic values from
2353     being set due to a premature free
2354   - command line tool: bash completion support
2355   - chain up in _finalize
2356   - add a new g_settings_get_mapped API to read settings that require
2357     post-processing
2358   - retry with the translated or schema default value if the
2359     GSettingsBindGetMapping function fails
2360   - schema compiler: never fail due to empty schema directories (but
2361     warn)
2362   - peek rather than ref/unref the GEnumClass in the mapping function
2363   - schema compiler: compile *.enums.xml before *.gschemas.xml to ensure
2364     that we have all the enums that the schemas may reference
2365   - schema compiler: improve accuracy of line numbers in error reports
2366   - fix crashes in the keyfile backend caused by invalid group names in
2367     the keyfile
2368
2369 Other:
2370   - always intern GBinding prop names
2371   - base64: remove asserts preventing conversion of empty strings
2372   - document NULL special-cases for GValueArray
2373   - GNode docs improvements
2374   - improve detection of 'system internal' mounts
2375   - fix leaks in the inotify GFileMonitor implementation
2376   - annotate all custom GIO GSources to improve debugging (e.g. using
2377     SystemTap)
2378
2379 Tests:
2380   - Turn on glibc malloc checking features for make check
2381   - improvements for GSettings tests, plus new tests
2382   - improved tests for GKeyfile
2383   - new tests for GDir, GSList, GSList, GAppLaunchContext,
2384     CharsetConverter, GIcon, ...
2385   - move some tests to GTester (tree tests, uri tests)
2386   - generally, really an awful lot of new tests
2387   - don't try to allocate 2gigs of memory anymore for the array test
2388
2389  552363 g_value_array_{insert,prepend,append}'s special cases for NULL
2390  561248 Improve return value description from g_node_prev/next_sibling()
2391  570036 Add ACLOCAL_AMFLAGS to Makefile.am
2392  576833 g_sprintf add a reference to g_strdup_printf
2393  576854 g_strconcat() documentation should provide a hint about bad l10n
2394  582227 reference: add other URI functions to 'URI Functions' section
2395  599223 should provide g_spawn_* variants that take a GAppLaunchContext
2396  610784 array test failing
2397  613057 Leak in inotify GFileMonitor implementation
2398  620536 Annotate all custom GIO GSource using g_source_set_name
2399  620913 More control with G_DBUS_DEBUG
2400  622124 implement flags
2401  622127 GSettings extended key validation
2402  622128 retry with default value for failed mapping
2403  622294 More annotations for GVariant
2404  622565 glib-compile-schemas fails when no schemas
2405  622600 Fix missing prototype warning
2406  622813 gsettings mapping & enum buglet
2407  623142 Ensure ::new-connection runs before processing D-Bus messages
2408  623143 Never require non-closed connections
2409  623319 use g_parse_debug_string for dbus debug flags
2410  623401 process enums first
2411  623402 schema compiler reports wrong line numbers
2412  623407 g_keyfile_settings_backend_new crashes with the key "/"
2413  623473 zlib should be checked with pkg-config
2414  623537 GDBusProxy has weird checking on NameOwnerChanged
2415  623538 GDBusProxy::g-properties-changed emission for corner cases
2416  623692 directory with file at multiple MLS levels may display empty
2417  623720 gschema.dtd does not contain enum definitions
2418  623770 quoting of expand_macro in gdesktopappinfo.c
2419  623772 gdesktopappinfo.c, function child_setup
2420  623780 g_unix_is_mount_path_system_internal
2421  623954 g_settings_finalize
2422  623955 Dubious return values
2423
2424 Updated translations:
2425  Galician
2426  Hebrew
2427  Norwegian bokmål
2428  Spanish
2429
2430 Overview of Changes from GLib 2.25.9 to GLib 2.25.10
2431 ====================================================
2432
2433 +----------------------------------------------------------------+
2434 | WARNING: There have been API changes in GDBus. Users of these  |
2435 | APIs will need to be adapted.  In particular, a new release of |
2436 | dconf is required to go along with this one.  There has also   |
2437 | been a change in the GSettings backend API used for keyfiles.  |
2438 +----------------------------------------------------------------+
2439
2440 * GDBus:
2441  - add direction parameter to filter functions (API change)
2442  - allow calling other interfaces with a GDBusProxy
2443  - padding added to class struct fields (ABI change)
2444  - fixes for closures-based functions
2445
2446 * GVariant:
2447  - new is_floating() call
2448  - add g_value_take_variant() call (required for marshallers)
2449
2450 * GSettings:
2451  - support for binding GParamSpecEnum properties
2452  - ifelse-style condition support for GLIB_GSETTINGS m4 macro
2453  - remove gsettings-schema-convert tool (now in GConf)
2454  - allow introspection of all installed schemas
2455  - allow introspection of the keys in a schema
2456  - rewrite keyfile backend (API change)
2457
2458 * GNIO:
2459  - don't implicitly close GSocket until it is destroyed
2460  - windows fixups
2461
2462 * Other:
2463  - allow GChecksum to take (NULL, 0) for data/length
2464  - GRelation and GCompletion are now deprecated
2465  - introduce G_PARAM_DEPRECATED and G_ENABLE_DIAGNOSTIC
2466  - add working directory to GApplication platform data
2467  - lots of documentation cleanups
2468  - PCRE updated to 8.02
2469
2470 * Build:
2471  - the IA__g_* style symbol aliasing has been disabled and replaced with
2472    the -Bsymbolic-functions linker flag on platforms that support it.
2473    Please be on the watch for portability issues and report them to us.
2474  - many test cases have been moved to the GTester framework
2475  - lcov support has been added for tests
2476  - many windows fixes
2477
2478 * Bugs fixed:
2479  501057  lcov coverage suite and GLib integration
2480  551271  deprecate GRelation
2481  601686  Implement diagnostic mode
2482  603309  GSocketOutputStream broken on Windows (?)
2483  616718  GLIB_GSETTINGS macro can't be used conditionally
2484  616855  GSocketConnection: don't close the socket if it's still reffed
2485  618866  g_ptr_array_remove_index_fast memory leak
2486  619878  keyfile backend calls keys_changed with invalid argument
2487  619879  keyfile backend doesn't make use of expected_type
2488  621092  Add with_closures() variants for bindings
2489  621172  Cross compiling fails
2490  621838  Actually add cwd to platform data
2491  621945  Filter outgoing messages in GDBusConnection
2492  621947  add g_value_take_variant
2493  622038  GSettings: "It is a programmer error" documentation is unclear
2494  622154  [patch] update documentation for g_application_new
2495  622281  binding: Add SYNC_CREATE to the flags
2496  622480  Improve documentation for g_strcmp0()
2497  622554  g_error called if schema not installed
2498  622601  Return interned strings from g_settings_list_keys
2499
2500 * Translation updates:
2501  - Galician
2502
2503 Overview of Changes from GLib 2.25.8 to GLib 2.25.9
2504 ===================================================
2505
2506 +----------------------------------------------------------------+
2507 | WARNING: There have been API changes in GDBus, GSettings and   |
2508 | GApplication. Users of these APIs will need to be adapted. In  |
2509 | particular, a new release of GTK+ is required to go along with |
2510 | this one.                                                      |
2511 +----------------------------------------------------------------+
2512
2513 * GDBus
2514  - Use Gio's default async implementation
2515  - Fix proxy construction for objects with no properties
2516  - Fix error handling in synchronous initialization
2517  - Do not dispatch calls to unregistered objects
2518  - Add _with_closures alternative functions
2519  - Allow constructing GDBusProxy with well-known names
2520  - Remove GType parameters from GDBusProxy constructors
2521  - Nuke g_bus_watch_proxy API
2522  - Add --xml to gdbus-tool to print raw introspected XML
2523
2524 * GSettings
2525  - schema file format change: store (default, options) in gvdb
2526  - Add g_settings_sync()
2527  - Add support for enums and ranges
2528  - 'context' support has been replaced by direct use of
2529    GSettingsBackend
2530
2531 * GApplication
2532  - Switch to using variants for timestamps
2533  - Use GInitable
2534
2535 * GObject
2536  - Introduce g_object_notify_by_pspec
2537  - Add GBinding
2538  - The GVariant gtype G_TYPE_VARIANT was changed from boxed
2539    to fundamental. We believe there were no existing users
2540    of the boxed type, so this should not cause any applications
2541    to break.
2542
2543 * Test framework
2544  - Add package and version to the test report XML
2545  - Use optparse to parse gtester-report commandline
2546  - Add subunit support to gtester-report
2547  - Prevent division by zero if no tests
2548
2549 * Bugs fixed:
2550  621782 Crash using gbinding
2551  619945 GConverterOutputStream triggers assertion and corrupts data
2552  621319 more leaked GVariants in GSettings
2553  621168 GKeyFile memory leak on Windows platform
2554  621002 Switch to using variants for timestamps, split out signals
2555  620953 tiny docs addition
2556  618904 Lies in gunixmounts documentation
2557  621702 Correctly initialize GError
2558  611778 minor cleanup of gtester-report
2559  621213 GDBusProxy and well-known names
2560  621034 Rewrite apps test to ensure children are killed
2561  620954 gapplication gvariant simplifications
2562  611869 add subunit out feature to gtester-report
2563  621119 GDBusProxy and objects with no properties
2564  620990 Use Gio's default async implementation again
2565  620952 g_application_register_with_data is an ugly API
2566  621252 GSettings leaks context
2567  618715 fork() in GSettings test cases is problematic 618715
2568  621905 Assume a ref when doing async work
2569  621266 GSettings "context" clarification
2570
2571 * Translation updates:
2572  Chinese
2573
2574
2575 Overview of Changes from GLib 2.25.7 to GLib 2.25.8
2576 ===================================================
2577
2578 * Initial support for dtrace and systemtap profiling:
2579  - mainloop sources can be named
2580  - probes for memory allocation with g_malloc and gslice
2581  - gquark name tracking
2582  - type creation
2583  - object life-cyle (creation, finalization, ref, unref)
2584  - signal creation and emission
2585
2586 * GVariant
2587  - has been fixed to work with the FreeBSD malloc
2588  - added introspection annotations
2589  - new function: g_variant_builder_add_parsed
2590
2591 * GSettings:
2592  - g_settings_set/get_strv functions have lost their length parameter
2593  - g_settings_set_strv accepts NULL
2594  - added introspection annotiations
2595
2596 * GPermission: an abstract interface for representing permissions,
2597   with a minimal implementation named GSimplePermission
2598
2599 * GApplication: a basic application support class, with a D-Bus based
2600   implementation
2601
2602 * Bugs fixed:
2603  619585 glib-compile-schemas asserts on FreeBSD
2604  620384 Annotate GVariant and GSettings _strv() functions
2605  606044 Add support for dtrace/systemtap static markers
2606  620350 add g_variant_builder_add_parsed() API
2607  620349 utf8ify GVariant printer
2608  620767 Typo in GSettings documentation: "INTLTOOL_NOMERGE_RULE"
2609  620312 Fix g_settings_[gs]et_strv() API
2610  620519 GPermission
2611  620582 GPermission needs a simple implementation
2612  620496 GSettings schema compiler should reject invalid paths
2613  620173 missing single header inclusion guards
2614  620265 g_assertion_message_error should take const GError *
2615
2616 * Translation updates:
2617  Esperanto
2618  Galician
2619  Hebrew
2620  Indonesian
2621  Norwegian bokmål
2622  Slovenian
2623  Spanish
2624
2625
2626 Overview of Changes from GLib 2.25.6 to GLib 2.25.7
2627 ===================================================
2628
2629 * NOTE: API/ABI breaks since 2.25.6 release:
2630   - g_dbus_connection_sync{,_sync} takes a new 'reply_type' argument
2631   - GSettingsBackendClass 'list' virtual function changed
2632
2633   GSettings backends and things using GDBus may need to be rebuilt.
2634
2635 * GDBus: many build-related fixes
2636
2637 * GDBus (service): return a DBus error when receiving a method call for
2638   an unknown interface.
2639
2640 * GSettings: fix 'make install' bug in gsettings.m4 for generated schema
2641   files
2642
2643 * GSettings: avoid non-portable use of LC_MESSAGES
2644
2645 * better approach to handling man pages
2646
2647
2648 * Bugs fixed:
2649  619527 please improve docs on g_file_make_symlink
2650  619391 send-with-reply should have expected result signature
2651  618616 Use stack-allocated GVariantBuilders
2652  617004 Build with "--disable-nls" fails under MinGW/Win32
2653  619142 Build fixes (GDBus)
2654
2655 * Updated translations:
2656  Estonian
2657  Galician
2658  Norwegian bokmål
2659
2660 Overview of Changes from GLib 2.25.5 to GLib 2.25.6
2661 ===================================================
2662
2663 * GDBus: introspection improvements
2664 * GDBus: build fixes
2665
2666 * GSettings: GSettingsBackend ABI changed               **** NOTE ****
2667 * GSettings: --uninstall option for schema compiler
2668 * GSettings: new m4 macro with more power
2669 * GSettings: thread support
2670
2671 * rework of file notification on Solaris
2672 * fixes for gold linker
2673
2674 * Bugs fixed:
2675  619038 increase gsettings.m4 power
2676  619031 method-calls-in-thread test failing
2677  618839 Typo at translation message
2678  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
2679  618730 gunixcredentialsmessage.c doesn't compile on GNU/kfreebsd
2680  616314 Make GSettings (partially) threadsafe
2681
2682 * Updated Translations:
2683  Indonesian
2684  Galician
2685  Spanish
2686
2687 Overview of Changes from GLib 2.25.4 to GLib 2.25.5
2688 ===================================================
2689
2690 * GDBus: Fix serialization of empty arrays
2691
2692 * GDBus: Plug various memory leaks
2693
2694 * GSettings: Fix problems with GSETTINGS_CHECK_RULE
2695
2696 * Bugs fixed:
2697  616731 GSETTINGS_CHECK_RULE doesn't work in non-srcdir builds
2698  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
2699  618615 mem leaks in parse_value_from_blob
2700  618622 Plug some mem leaks in gdbus
2701  618650 Plug a mem leak in gdbusauth
2702  618663 Plug mem leaks in gdbus tests & examples
2703
2704 * Updated translations:
2705  Spanish
2706
2707
2708 Overview of Changes from GLib 2.25.3 to GLib 2.25.4
2709 ===================================================
2710
2711 * GDBus D-Bus support has been merged. This provides an API
2712   to replace dbus-glib
2713
2714 * GVariant no requires strings to be UTF-8. You can use byte
2715   arrays for non-UTF-8 strings.
2716
2717 * GSettings allows to bind string properties to byte arrays
2718
2719 * The schema compiler supports range restrictions
2720
2721 * Bugs fixed:
2722  618051 socket-server|client.c fail to compile under AIX...
2723  616102 GSettings ignores <choice> and <range>
2724  616720 Chunked quark allocation
2725  616877 Several issues with g_socket_receive_message
2726  616892 gio: Add a boxed type for GFileAttributeMatcher
2727  616967 Add g_regex_get_compile_flags() and g_regex_get_match_flags()
2728  617767 g_settings_[gs]et_strv() 'length' argument has missing docs...
2729  617914 gtester-report: cope with binaries with no test cases
2730  617937 output_stream_close vs output_stream_close_async semantics
2731  615494 Connction timeouts produce partially invalid error messages
2732  617823 glib-compile-schemas problems with an out of source build
2733  617947 glib-mkenums: add @valuenum@ support
2734
2735 * Translation updates:
2736  Galicaian
2737  Norwegian bokmål
2738  Shavian
2739  Spanish
2740
2741
2742 Overview of Changes from GLib 2.25.2 to GLib 2.25.3
2743 ===================================================
2744
2745 * New macro: G_GNUC_DEPRECATED_FOR, a variant of G_GNUC_DEPRECATED
2746   that lets you add replacement information (requires gcc 4.5)
2747
2748 * Rename AM_GSETTINGS autoconf macro to GLIB_GSETTINGS
2749
2750 * Rename gschema-compile utility to glib-compile-schemas
2751
2752 * Add support for timeouts in GSocket
2753
2754 * Bugs fixed:
2755  589989 Compilation error on Solaris 9
2756  616648 Change AM_GSETTINGS macro to GLIB_GSETTINGS
2757  587898 I/O timeouts for GSocket
2758  614541 Add G_TYPE_ERROR boxed type for GError
2759
2760
2761 Overview of Changes from GLib 2.25.0 to GLib 2.25.2
2762 ===================================================
2763
2764 * Include a 'gsettings' utility, for commandline access to GSettings
2765
2766 * Install a AM_GSETTINGS autoconf macro similar to AM_GCONF
2767
2768 * GSettings can bind the writability of a key explicitly
2769
2770 * There is now a predefined boxed type for GError
2771
2772 * Bugs fixed:
2773  615379 g_new macros crash if sizeof(struct_type) == 0
2774  616312 Add m4 rule equivalent to GCONF_SCHEMAS_INSTALL
2775  616295 mapping bug for uint64
2776  616216 glib compile from remote directory fails
2777  615960 Fix size passed to connect() for abstract sockets
2778  616432 Crash in gschema-compile
2779  616331 gsettings-schema-convert uses imaginary types
2780  616309 gsettings-schema-convert should output gettext-domain
2781  616384 Add mention of GConfBridge in conversion docs
2782  616311 gschema-compile outputs in current directory
2783  616276 simplify gschema-compile test setup
2784  616156 keys with unnecessary empty options arrays
2785  616405 gsettings missing g_return_if_fail's
2786  616245 Use G_DEFINE_INTERFACE macro
2787  614541 Add G_TYPE_ERROR boxed type for GError
2788
2789 * Updated translations:
2790  Catalan (Valencian)
2791  Galician
2792  Kannada
2793  Spanish
2794
2795
2796 Overview of Changes from GLib 2.24.0 to GLib 2.25.0
2797 ===================================================
2798
2799 * The GSettings framework has been merged. This provides the API to
2800   replace GConf. DConf will provide a backend implementation for it.
2801   GConf will also provide a backend implementation to ease the
2802   transition. We provide utilities to assist with schema conversion
2803   and data migration, as well as a porting guide.
2804
2805 * Translation updates:
2806  Bengali
2807  Catalan
2808  Danish
2809  Gujarati
2810  Marathi
2811  Thai
2812  Traditional Chinese
2813
2814
2815 Overview of Changes from GLib 2.23.6 to GLib 2.24.0
2816 ===================================================
2817
2818 * Bug fixes:
2819  613601 buglet in dup_close_on_exec_fd
2820  584284 g_data_input_stream_read_until_async behaves confusingly
2821  613748 Write errors in middle of copy cause hang
2822  613923 splice_stream_with_progress: wrong error handling
2823  613667 Typo in GObject documentation
2824  613618 gvariant format string docs unclear
2825
2826 * Translation updates:
2827  Basque
2828  Ukrainian
2829  Vietnamese
2830
2831
2832 Overview of Changes from GLib 2.23.5 to GLib 2.23.6
2833 ===================================================
2834
2835 * Class private data:
2836   - support for private data associated with a GTypeClass
2837
2838 * GVariant merge is now complete:
2839   - loading functions and parser merged
2840
2841 * Windows improvements:
2842   - socket fixes
2843   - various build improvements
2844   - removal of GCC/C99isms in favour of portable code
2845   - drop unmaintained Visual Studio 8 support
2846
2847 * Minor API addition:
2848   - g_desktop_app_info_get_filename()
2849
2850 * Bugs fixed:
2851  521707 Class private data
2852  612502 build fails on glib/tests/gvariant.c
2853  612832 [GDesktopAppInfo] New function g_desktop_app_info_get_filename
2854  612702 [PATCH] Fix GSocket-related crash on Windows
2855  612736 Improve the documentation about single include
2856  610858 gvariant test fails sometimes
2857  612327 uninitialized variable
2858
2859 * New translations:
2860  Afrikaans
2861  LowGerman
2862
2863 * Updated translations:
2864  Czech
2865  Finnish
2866  Galician
2867  Greek
2868  Punjabi
2869  Romanian
2870  Serbian
2871
2872
2873 Overview of Changes from GLib 2.23.4 to GLib 2.23.5
2874 ===================================================
2875
2876 * New API addition: g_malloc_n() and friends used to implement an
2877   overflow-safe family of g_new() macros.
2878
2879 * GVariant:
2880  - GVariantBuilder and GVariantIter are now merged.
2881  - The variable arguments API is now merged.
2882  - The parser will be in a future release.
2883
2884 * GIO:
2885  - Remove GUtf8InputStream (which never appeared in a stable release)
2886    for now since it doesn't satisfy the needs of its main intended use
2887    case.  We hope to reimplement this feature in a better form in a
2888    future release.
2889
2890 * Bugs fixed:
2891  609531 missing licence headers
2892  612107 Missing G_FILE_ATTRIBUTE_TRASH_ORIG_PATH
2893  611897 g_io_modules_scan_all_in_directory leaks
2894  608196 Overflow-safe g_new family
2895  611696 gio uses GetAddrInfo which requires special handing on windows 2k
2896  605667 Don't use G_PARAM_SPEC_VALUE_TYPE when we know the pspec is valid
2897  610860 test_g_file_open_readwrite fails if $HOME is unwritable
2898  552912 glib-2.18 /live-g-file/test_copy_move failed when run as root
2899  609813 Renaming a file discards file notes
2900
2901 * Updated translations:
2902  Basque
2903  Brazilian Portuguese
2904  British English
2905  Bulgarian
2906  Catalan
2907  Danish
2908  Estonian
2909  French
2910  German
2911  Hungarian
2912  Italian
2913  Lithuanian
2914  Norwegian bokmål
2915  Portuguese
2916  Russian
2917  Slovenian
2918  Spanish
2919  Swedish
2920  Traditional Chinese
2921
2922
2923 Overview of Changes from GLib 2.23.3 to GLib 2.23.4
2924 ===================================================
2925
2926 * GVariant: The core of GVariant has been merged now, with some
2927  API still to follow.
2928
2929 * GIO:
2930  - There is a new interface GFileDescriptorBased for file descriptor
2931    based IO. GLocalFile{Input,Output}Stream implement it
2932  - Use splice(2) to transfer data between file descriptors without
2933    extraneous copies
2934  - Add a way to request move events from file monitors
2935
2936 * Bugs fixed:
2937  609143 *result_uncertain is never assigned in g_content_type_guess
2938  604086 Use splice(2) when doing local file copies
2939  547890 No move events for GFileMonitorEvent?
2940  568760 nautilus freezes due to a bug in garray.c:322
2941  609962 Add info about the use of G_DEFINE_INTERFACE
2942  609564 g_base64_encode_close docs should mention outbuf size...
2943  610484 g_variant_equal bug
2944  610131 libasyncns does not compile on Solaris 8
2945  609530 missing single header include guards
2946
2947 * Updated translations:
2948  Czech
2949  Estonian
2950  Galician
2951  German
2952  Korean
2953  Polish
2954  Slovenian
2955  Spanish
2956  Traditional Chinese
2957
2958
2959 Overview of Changes from GLib 2.23.2 to GLib 2.23.3
2960 ===================================================
2961
2962 * GLib now has a facility for locks that consume only one bit of
2963   storage inside an integer: g_bit_lock()
2964
2965 * GVariant: The serializer has been merged, with more API to follow
2966
2967 * Bugs fixed
2968  548967 1 bit mutex lock
2969  604967 2.22.3 libasyncns build fails on HP-UX 11.11
2970  608602 G_VALUE_COLLECT_INIT variables shadow those in G_VALUE_COLLECT
2971  608743 Crash in g_hostname_to_ascii visiting certain website in epiphany
2972  599197 array ref and unref functions crash on NULL array.
2973  608159 mem leak in g_io_modules_scan_all_in_directory
2974
2975 * Translation updates
2976  Brazilian Portuguese
2977  Czech
2978  French
2979  Norwegian bokmål
2980  Slovenian
2981  Spanish
2982  Thai
2983
2984
2985 Overview of Changes from GLib 2.23.1 to GLib 2.23.2
2986 ===================================================
2987
2988 * We are now using gcc builtins for atomic operations when available
2989
2990 * g_assert() grew the ability to store assertions in core dumps
2991
2992 * GIO supports lazy loading of GIO modules, and there is a new
2993   gio-querymodule utility that goes along with this.
2994   Packagers will need to adapt to this.
2995
2996 * Threading changes:
2997  - The requirements for g_thread_init() have been relaxed slightly,
2998    it can be called multiple times, and does not have to be the first
2999    call.
3000  - GObject now links to GThread and threads are enabled automatically
3001    when g_type_init() is called.
3002  - Thread-safety issues with boxed types in GObject have been fixed.
3003
3004 * GObject:
3005  - Another bunch of performance work has landed
3006
3007 * GVariant:
3008  - GVariantType has been merged, with the rest of the GVariant
3009    API to follow.
3010
3011 * Bugs fixed:
3012  568760 nautilus freezes due to a bug in garray.c:322
3013  602417 Document lifecycles of GSimpleAsyncResult and friends
3014  604824 crash in Epiphany: Selecting my Slashdot bo...
3015  448888 don't init g_slice for always-malloc
3016  531902 Use GCC atomic buildins for g_atomic*
3017  554887 boxed type registration is not thread safe
3018  586150 unresolved symbols when building glib 2.21.2 on OS X Tiger
3019  589176 row gvalue transform array exponentially
3020  594872 Support storing assertion messages into core dump
3021  602240 Upgrade libasyncns to 0.8
3022  603590 Speed up G_VALUE_COLLECT
3023  604457 gutf8inputstream.c: increasing unknown size pointer
3024  605686 GCharsetConverter doesn't flush
3025  605733 g_memory_output_stream_new violates GObject standards
3026  605883 g_object_new() processes varargs even when there are none
3027  605977 invalid utf-8 conversion in g_local_file_get_parse_name(...
3028  606775 Enable threads by default in gobject
3029
3030 * Translation updates:
3031  Asturian
3032  Basque
3033  Bengali
3034  Bulgarian
3035  Estonian
3036  Norwegian bokmål
3037  Spanish
3038  Thai
3039  Ukrainian
3040
3041
3042 Overview of Changes from GLib 2.23.0 to GLib 2.23.1
3043 ===================================================
3044
3045 * GObject performance work has landed:
3046  - Construction of simple objects is much faster
3047  - Interface lookup is lock-free and constant-time now
3048  - Reduced locking overhead when dealing with types
3049
3050 * GType now has a G_DEFINE_INTERFACE convenience macro
3051
3052 * GIO gained GUtf8InputStream, an input stream that
3053   performs utf-8 validation
3054
3055 * GLib now has byte-swap macros for gsize and gssize
3056
3057 * Bugs fixed:
3058 557151 Determining the newly_constructed boolean in gobject.c...
3059 557100 Performance improvements for GObjectClasses that don't...
3060 501166 Warning message says IA__g_type_init instead of g_type_init
3061 585375 Performance and Contention problems with g_type_class_ref...
3062 587892 Race in GType when instantiating the same class for the...
3063 603270 Input Stream validating utf8
3064 603476 gioenums.h:62: error: comma at end of enumerator list
3065 603540 g_time_val_from_iso8601 uses uninitialised variable
3066 603982 Stack overflow when reading file async with filter
3067 604645 G_DEFINE_INTERFACE_* documentation is not generated
3068 604875 Use of sa_len conflicts with system header
3069 320482 provide G_DEFINE_TYPE like macros for interfaces
3070
3071 * Updated translations:
3072  Estonian
3073  Hebrew
3074  Norwegian bokmål
3075  Vietnamese
3076  Welsh
3077
3078
3079 Overview of Changes from GLib 2.22.x to GLib 2.23.0
3080 ===================================================
3081
3082 * GIO:
3083  - GConverter: a generic interface for stateful conversions of data,
3084    suitable for charset conversion, compression, decompression, regexp
3085    replacement. Concrete implementations are GCharsetConverter,
3086    GZlibCompressor and GZlibDecompressor. GConverterInputStream,
3087    GConverterOutputStream are stream implementations that convert data
3088    while loading or saving it.
3089  - GMounts can now have a 'default location': a path that reflects
3090    the main entry point for the user (e.g. the home directory).
3091  - As a consequence of the compression support, GIO depends on zlib now.
3092
3093 * GObject:
3094  - G_IMPLEMENT_INTERFACE_DYNAMIC: a convenience macro for adding
3095    interfaces to dynamic types.
3096
3097 * GModule:
3098  - The -pthread flag has been added to all gmodule .pc files, because
3099    it is not generally permissible to load modules that are linked
3100    against libpthread if the program has not been compiled with threading
3101    support.
3102
3103 * Bugs fixed:
3104  601637 GUnixFDMessage should contain a GUnixFDList
3105  585566 GSocketListener API issues
3106  572252 Bug in g_file_test() function.
3107  600550 g_app_info_create_from_commandline doesn't treat arguments properly
3108  541236 not detecting exact content type
3109  350200 [PATCH] GTypeModule derived class unref does not unload plugin
3110  589631 Please enclose literal values with double quotes
3111  577711 cross compile check for g++ broken
3112  600620 Support X-GNOME-FullName in GAppInfo
3113  598899 GWin32DirectoryMonitor is broken
3114  593809 Nautilus does not restore the position of the icons on the desktop...
3115  563627 g_get_prgname() threadsafety
3116  600141 Add -pthread to gmodule pkg-config
3117  593856 file and directory monitors don't work when glib is compiled...
3118  324930 Nautilus should disallow copying of symlink to FAT drive early
3119  587300 Deadlock when calling g_cancellable_disconnect in a...
3120  595138 GFile not robust with invalid input
3121  591216 Warning building resolver.o
3122  590016 Does not compile under MinGW32 + Wine
3123  591214 Warnings building gcancellable.o
3124  561998 Have specific entry points (paths) for mounts...
3125  508157 Add G_IMPLEMENT_INTERFACE_DYNAMIC
3126  535159 g_file_has_parent
3127
3128 * Updated translations:
3129  Brazilian Portuguese
3130  Catalan
3131  Estonian
3132  Galician
3133  Norwegian bokmål
3134  Shavian
3135  Slovenian
3136  Spanish
3137  Swedish
3138
3139
3140 Overview of Changes from GLib 2.22.1 to GLib 2.22.2
3141 ===================================================
3142
3143 * GIO:
3144  - Support case-sensitive globs in the shared mime database,
3145    including support for the newer cache format that allows these.
3146    Case-sensitive globs have been introduced in shared-mime-info
3147    version 0.70
3148
3149 * GObject:
3150  - Speed up creation of simple objects
3151
3152 * Bugs fixed:
3153  597194 Typo in _G_TYPE_CVH macro
3154
3155 * Updated translations:
3156  Russian
3157
3158
3159 Overview of Changes from GLib 2.22.0 to GLib 2.22.1
3160 ===================================================
3161
3162 * Bugs fixed:
3163  596064 Test file marked for translation
3164  595972 possibly invalid search in mime_info_cache_dir_add_...
3165  596561 C99 style of declaration of variable in gmessages.c
3166  596314 g_utf16_to_utf8 returns an invalid UTF8 string
3167  596748 g_async_result_get_source_object returns a new ref
3168  593809 Nautilus does not restore the position of the icons...
3169  593775 uses inotify_init1 unconditionally
3170
3171 * Updated translations:
3172  Bengali
3173  Hebrew
3174
3175
3176 Overview of Changes from GLib 2.21.6 to GLib 2.22.0
3177 ===================================================
3178
3179 * Add gdb python macros to make gobject debugging more pleasant
3180
3181 * Bugs fixed:
3182  579050 Allow making selected critical and warning messages non-fatal
3183  594759 g_socket_send_message fails due to invalid sendmsg params
3184  593941 GNetworkAddress skipping addresses when enumerating
3185  594597 Fix build with srcdir != builddir
3186  595619 Include gdb pretty printers
3187
3188 * Changes that might affect bindings:
3189  - The error parameter of g_simple_async_result_set_from_error has been
3190    made const.
3191
3192 * Updated translations:
3193  Assamese
3194  Bengali India
3195  British English
3196  Bulgarian
3197  Catalan
3198  Czech
3199  Danish
3200  Finnish
3201  Galician
3202  Greek
3203  Gujarati
3204  Hindi
3205  Japanese
3206  Kannada
3207  Malayalam
3208  Marathi
3209  Norwegian bokmål
3210  Oriya
3211  Polish
3212  Punjabi
3213  Romanian
3214  Serbian
3215  Simplified Chinese
3216  Slovenian
3217  Spanish
3218  Tamil
3219  Telugu
3220  Thai
3221  Traditional Chinese
3222  Ukrainian
3223  Vietnamese
3224
3225
3226 Overview of Changes from GLib 2.21.5 to GLib 2.21.6
3227 ===================================================
3228
3229 * Minor API additions:
3230   g_mkstemp_full is a variant of g_mkstemp that allows to specify flags
3231   and permissions
3232
3233 * Bugs fixed:
3234  593232 g_rand_new: read no more than requested from /dev/urandom
3235  591995 use saved errno
3236  589491 g_time_val_from_iso8601 doesn't handle some cases
3237  593406 Permissions set to 777 after copying via Nautilus
3238  594034 Add g_mkstemp_full()
3239
3240 * Updated translations:
3241  Assamese
3242  Basque
3243  Brazilian Portuguese
3244  Czech
3245  Estonian
3246  French
3247  German
3248  Hungarian
3249  Italian
3250  Kannada
3251  Malayalam
3252  Marathi
3253  Norwegian bokmål
3254  Oriya
3255  Portuguese
3256  Swedish
3257  Tamil
3258  Turkish
3259
3260
3261 Overview of Changes from GLib 2.21.4 to GLib 2.21.5
3262 ===================================================
3263
3264 * A performance problem with trashing of many files has been fixed
3265
3266 * GResolver now invalidates the libc resolv.conf cache as needed
3267
3268 * Minor api additions:
3269  - g_cancellable_make_pollfd returns a boolean now. And there is a
3270    new function g_cancellable_release_fd that can be used to released
3271    the resources used by a GCancellable.
3272
3273 * Bugs fixed:
3274  589988 Compilation error on Solaris 9 (missing stdint.h)
3275  588901 gtcpconnection.c won't compile
3276  584246 GResolver needs to call res_init() when network state changes
3277  591714 Figure out failure handling for g_cancellable_make_pollfd()
3278  591532 redundent '/' returned from g_file_resolve_relative_path
3279  591378 Use MSG_NOSIGNAL in GSocket if it's available
3280  589649 API documentation migration for Base64 Encoding
3281  591840 configure fails with autoconf 2.64
3282
3283 * Updated translations:
3284  Basque
3285  Brazilian Portuguese
3286  Bulgarian
3287  Danish
3288  Estonian
3289  Finnish
3290  Galician
3291  Gujarati
3292  Hndi
3293  Irish
3294  Japanese
3295  Korean
3296  Norwegian bokmål
3297  Polish
3298  Portuguese
3299  Punjabi
3300  Spanish
3301  Swedish
3302  Telugu
3303  Traditional Chinese
3304  Thai
3305
3306
3307 Overview of Changes from GLib 2.21.3 to GLib 2.21.4
3308 ===================================================
3309
3310 * GTree is now refcounted
3311
3312 * Bugs fixed:
3313  587938 Undocumented limitation for g_str_equal
3314  587773 refcounts for GTree
3315
3316 * Updated translations:
3317  French
3318  Hebrew
3319  Norwegian bokmål
3320  Spanish
3321  Swedish
3322  Traditional Chinese
3323  Ukrainian
3324
3325
3326 Overview of Changes from GLib 2.21.2 to GLib 2.21.3
3327 ===================================================
3328
3329 * GMappedFile is refcounted now
3330
3331 * Mainloop: It is now possible to set per-thread default contexts,
3332   with g_main_context_push_thread_default.
3333
3334 * glib-mkenums supports a @basename@ substitution, in addition
3335   to @filename@.
3336
3337 * GIO:
3338  - Vfs implementations can support storing of per-file metadata.
3339  - GCancellable can now be subclassed.
3340  - Unmount and eject methods now optionally allow interaction, via
3341    variants that take a GMountOperation object.
3342
3343 * Bugs fixed:
3344  556706 Inconsistent help arguments -h, -?
3345  579449 FileChoosers no longer work if an idle handler is active
3346  579933 mainloop FD_CLOEXEC has a race condition
3347  579984 alternate GMainContext support
3348  585937 gio/gsocket.c (glib 2.21.2) does not compile (Windows/mingw)
3349  586675 Runtime library location
3350  586797 Add GCancellables to GSocket ops
3351  586868 g_filename_complete_get_completions doesn't always return...
3352  587415 g_resolver_lookup_by_name_finish returns a freed list
3353  587434 regression tests fail, at least on x86_64
3354  586928 Avoid g++ warning in g_error()
3355
3356 * Updated translations:
3357  Estonian
3358  Hebrew
3359
3360
3361 Overview of Changes from GLib 2.21.1 to GLib 2.21.2
3362 ===================================================
3363
3364 * GIO:
3365   - g_socket_speaks_ipv4 is a new function to check if a socket can
3366     speak IPv4.
3367   - g_socket_listener_add_address gained a new effective_address out
3368     parameter.
3369   - GIO now returns special icons for XDG user directories, by the
3370     name folder-music, folder-documents, etc.
3371   - GIO gained support for starting/stopping of drives, which can be used
3372     in connection with external hard disk enclosures, disk arrays, iSCSI
3373     devices, etc. See g_file_start/stop_mountable.
3374
3375 * GLib:
3376  - g_reload_user_special_dirs_cache is a new function to force GLib to
3377    reload the XDG user directory mapping from disk.
3378
3379 * Bug fixes:
3380  584574 glib compile failure on Mac OS X with gunixresolver.c and...
3381  585566 GSocketListener API issues
3382  584255 Incorrect freeing of thread pool in GThreadedSocketService
3383  585088 g_string_chunk_insert_len stops at nul bytes
3384  585360 Monitor fontconfig configuration files using gio causes m...
3385  580103 Terminal starts on Display :0.0 when started on :0.1 in D...
3386  580301 network: a few issues on old darwin
3387  583398 SRV weight sorting is incorrect
3388  584176 build fixes on FreeBSD
3389  585189 g_cancellable_reset() must be called in same thread as g_...
3390  585280 compilation dies on gio/gsocket.c, needs sys/uio.h to con...
3391  585281 gio/gunixfdmessage.c needs sys/types.h for platforms that...
3392  585478 don't leak the inotify fd
3393  585575 g_socket_listener_add_inet_port() doesn't do the right thing
3394  585599 g_socket_listener_add_socket() consumes the socket
3395  585676 GEmblem doesn't reference its 'icon' if that is set as a ...
3396  585717 "bytes" nautilus translation to french is not shown in th...
3397  541276 XDG directories should have their own icons
3398  585726 Grammatical error in GList documentation
3399  585520 Wrong warning option in documentation
3400  585673 GNOME Goal: Remove deprecated glib symbols
3401  585591 Starting/stopping drives
3402
3403 * Updated translations:
3404  Bengali India
3405  Norwegian bokmål
3406
3407
3408 Overview of Changes from GLib 2.21.0 to GLib 2.21.1
3409 ===================================================
3410
3411 * GIO:
3412  - Support for network IO has been added, including a low-level
3413    socket API and a high-level API for network connections and
3414    services.
3415  - Support for read-write access with GIOStream and its subclasses.
3416  - GMount gained a pre-unmount signal.
3417
3418 * Bug fixes:
3419  576104Implement GMount::pre-unmount
3420  578769 implement GWinHttpFileInputStream::close_fn
3421  582856 gsocket.c doesn't compile on Solaris
3422  569375 g[u]intptr undocumented
3423  573246 [FIX] g_desktop_app_info_dup() can access NULL pointer
3424  575013 g_cancellable_push_current() does not allow NULL
3425  577884 live-g-file.c:461: error: format ‘%d’ expects type ...
3426  578499 g_output_stream_splice and stream closing with gnio strea...
3427  579558 Application employing gvfs crashes with only libgvfscommo...
3428  583001 SIGPIPE (grr!)
3429  583061 Please add convenience function to connect to machines by...
3430  583198 typo in error message
3431  583206 use g_set_error_literal where appropriate
3432  583229 void function g_async_initable_init_async returns value
3433  583324 locking problem in g_main_context_iterate()
3434  583408 void function g_socket_control_message_serialize returns ...
3435  578786 wrong and confusing error message
3436  583205 g_inet_address_to_bytes has no length outparam
3437  583196 mem leak in keyfile test
3438  583663 GSocketType enum ends with a comma
3439  569024 Make g_error_new_valist public
3440  569376 missing G_G[U]INTPTR_FORMAT
3441  580347 off-by-1 bug in GWinHttpFile
3442
3443 * Updated translations:
3444  Oriya
3445  Spanish
3446  Valencian-Catalan
3447
3448
3449 Overview of Changes from GLib 2.20.x to GLib 2.21.0
3450 ===================================================
3451
3452 * GIO:
3453  - New helper functions g_cancellable_connect/disconnect to avoid
3454    race conditions when connecting to the "cancelled" signal on
3455    GCancellable.
3456  - New types and methods for dealing with IPv4 and IPv6 addresses (and
3457    UNIX domain socket addresses under UNIX). This does not include code
3458    for actual socket I/O.
3459  - GResolver provides asynchronous and cancellable APIs for resolving
3460    hostnames, reverse lookup of IP addresses and resolving SRV records.
3461
3462 * Glib now provides hash and comparison functions for int64 and double
3463   types, suitable for use with GHashTable.
3464
3465 * GArray, GPtrArray and GByteArray can be ref counted now, and have
3466   boxed types.
3467
3468 * Bugs fixed:
3469  572844 Helper for GCancellable::cancelled connect/disconnect
3470  578363 goption docs should be improved
3471  548466 async/cancellable DNS resolver
3472  579830 param spec strings should use P_()
3473  579862 requesting xattr::foo ends up calling getxattr(..., user...
3474  580453 Hash and equal functions for gint64 and gdouble
3475  580450 Reference counting and boxed types for arrays
3476  580194 gresolver doesn't build on Solaris
3477  580301 network: a few issues on old darwin
3478  580299 network: include sys/types.h before sys/socket.h to insur...
3479  572508 gmarkup speedup
3480  580546 g_strtoull() referenced in documentation...
3481  580656 g_key_file_set_string_list erroneously asserts list != NULL
3482  579272 leaks in g_simple_async_result_set_op_res_gpointer
3483
3484
3485 * Updated translations:
3486  Catalan (ca)
3487  Pashto (ps)
3488  Spanish (es)
3489
3490
3491 Overview of Changes from GLib 2.20.0 to GLib 2.20.1
3492 ===================================================
3493
3494 * Bug fixes:
3495  575555 Use fsync() when replacing files to avoid data loss on
3496  575708 runaway inotify madness
3497  575270 GVolumeMonitor::mount-pre-unmount not being emitted
3498  577128 glib make check Failed to execute child process...
3499  573673 Always show "backup" directories
3500  578369 g_time_val_from_iso8601() parses timezones incorrectly
3501  578002 Fix a small typo in GFile docs
3502  578017 G_DEFINE_TYPE_EXTENDED docs
3503
3504 * Updated translations:
3505  Arabic
3506  Assamese
3507  Basque
3508  Bularian
3509  Brazilian Portuguese
3510  British English
3511  Catalan
3512  Danish
3513  French
3514  Galician
3515  German
3516  Greek
3517  Hungarian
3518  Italian
3519  Japanese
3520  Kannada
3521  Lithuanian
3522  Malayalam
3523  Norwegian bokmål
3524  Oriya
3525  Polish
3526  Punjabi
3527  Russian
3528  Simplified Chinese
3529  Slovenian
3530  Spanish
3531  Swedish
3532  Tamil
3533
3534
3535 Overview of Changes from GLib 2.19.9 to GLib 2.20.0
3536 ===================================================
3537
3538 * Base64 support: Avoid integer overflows. CVE-2008-4316
3539
3540 * Bugs fixed:
3541  574019 GChecksum: document and guarantee hex characters in lower case
3542  573454 Unable copy/move files to directories symlinked to gvfs share
3543  561172 gnome-open fails on local URIs with anchors
3544  573970 crash in gunixvolumemonitor:update_mounts when unmounting
3545  573843 g_get_current_dir returns non-absolute path
3546
3547 * Updated translations:
3548  Assamese (as)
3549  Bengali (bn_IN)
3550  Czech (cs)
3551  Hindi (hi)
3552  Italian (it)
3553  Japanese (ja)
3554  Lithuanian (lt)
3555  Malayalam (ml)
3556  Marathi (mr)
3557  Oriya (or)
3558  Polish (pl)
3559  Romanian (ro)
3560  Telugu (te)
3561
3562
3563 Overview of Changes from GLib 2.19.8 to GLib 2.19.9
3564 ===================================================
3565
3566 * GMarkup:
3567  - Considerable speedup
3568
3569 * GIO
3570  - Add G_FILE_CREATE_REPLACE_DESTINATION flag to allow replacing
3571    the destination of a copying operation as if it did not exit before.
3572  - Be more careful when classifying files as desktop files
3573  - Support desktop file key X-GIO-NoFuse which disables the use
3574    of fuse pathnames for %u and %U arguments
3575
3576 * Bugs fixed:
3577  572672 glib/gthread.c: argument is different type
3578  572464 Doc for g_file_get_contents
3579  572151 “it's” and “its” confused in docs and comments
3580  570501 g_win32_get_system_data_dirs uses invalid conversion...
3581  167569 g_string_append_printf crashes on win32 when used...
3582  572508 gmarkup speedup
3583  560564 Replacing a symlink with its linked file truncates... 
3584  549298 impossible to copy files with p (pipe) flag
3585  543183 Clarify docs for g_file_has_prefix
3586  540461 g_memory_output_stream_get_data_size() doesn't behave...
3587  573462 GEmblemedIcon leak
3588  573421 Clarify message format in GMountOperation
3589  573658 Deadlock in giomodule.c
3590  556706 Inconsistent help arguments -h, -?
3591  573527 Wrong shell to run config.status in Makefile.in.in
3592  573128 A couple of typos in GObject documentation
3593
3594 * Updated translations:
3595  Catalan (ca)
3596  British English (en_GB)
3597  Spanish (es)
3598  Basque (eu)
3599  Finnish (fi)
3600  French (fr)
3601  Gujarati (gu)
3602  Hebrew (he)
3603  Hungarian (hu)
3604  Korean (ko)
3605  Maithili (mai)
3606  Norwegian bokmål (nb)
3607  Dutch (nl)
3608  Portugese (pt)
3609  Swedish (sv)
3610  Thai (th)
3611  Traditional Chinese (zh_HK)
3612  Traditional Chinese (zh_TW)
3613
3614
3615 Overview of Changes from GLib 2.19.7 to GLib 2.19.8
3616 ===================================================
3617
3618 * GIO: Fix missing exports of new API
3619
3620 * Fix strict aliasing warnings and violations to make Glib work
3621   with gcc 4.4
3622
3623
3624 Overview of Changes from GLib 2.19.6 to GLib 2.19.7
3625 ===================================================
3626
3627 * GIO
3628  - GFile gained an attribute for the actual file size in bytes
3629  - GMountOperation gained an "aborted' signal that allows to abort
3630    a mount operation from the backend side
3631
3632 * Bugs fixed:
3633  523742 Use noinst for non-installable libraries
3634  566747 URIs opened with firefox %u load as local files
3635  541225 Can't compile gio on AIX duplicate case value in gioerror.c
3636  571598 GAsyncResult with NULL gobject
3637  505042 add file attribute for actually used file size in bytes
3638
3639 * Updates translations:
3640  Basque (eu)
3641  Gujarati (gu)
3642  Italian (it)
3643  Japanese (ja)
3644  Norwegian bokmål (nb)
3645  Dutch (nl)
3646  Portugese (pt)
3647  Thai (th)
3648  Vietnamese (vi)
3649
3650
3651 Overview of Changes from GLib 2.19.5 to GLib 2.19.6
3652 ===================================================
3653
3654 * New format macro to print goffset data: G_OFFSET_FORMAT
3655
3656 * GIO: 
3657  - Add a GFilter{Input,Output}Stream::close-base-stream properties which
3658    determine whether the base stream will be closed when the filter stream
3659    is finalized.
3660  - g_data_input_stream_read_line and ..._read_until have asynchronous
3661    variants now.
3662
3663 * Bugs fixed:
3664  568294 A wrong reference in the description of g_bookmark_file_...
3665  563141 RFE: define G_OFFSET_FORMAT
3666  569105 g_time_val_to_iso8601() assumes time_t==long
3667  568394 dropping the last reference to a stream filter closes...
3668  568741 g_buffered_input_stream_fill_async doesn't work
3669  568723 g_buffered_input_stream_fill_async doesn't take count == -1
3670  568575 _async functions for GDataInputStream
3671
3672 * Updated translations:
3673  Bulgarian (bg)
3674  Finnish (fi)
3675  Hungarian (hu)
3676  Oriya (or)
3677  Swedish (sv)
3678  Traditional Chinese (zh_HK)
3679  Traditional Chinese (zy_TW)
3680
3681
3682 Overview of Changes from GLib 2.19.4 to GLib 2.19.5
3683 ===================================================
3684
3685 * Update included PCRE to 7.8
3686
3687 * g_base64_decode_inplace: New function to do base64 decoding in place
3688
3689 * Bugs fixed:
3690  567138 get_package_directory_from_module() does not free ...
3691  566569 gregex docs clarification
3692  566573 g_match_info_fetch_pos docs
3693  564728 Add function to decode base64 encoded data in place
3694  567838 G_STRUCT_OFFSETOF fails to compile under icc 9.1
3695  567977 textdomain() macro should not return NULL ...
3696  512779 --disable-regex breaks compilation
3697  566770 error code 0 for Too many open files is useless
3698  565484 g_content_type_guess passes non-UTF8 text to XDG ...
3699
3700 * Updated translations:
3701  Catalan (ca)
3702  Spanish (es)
3703  Italian (it)
3704  Swedish (sv)
3705
3706  
3707 Overview of Changes from GLib 2.19.3 to GLib 2.19.4
3708 ===================================================
3709
3710 * GIO:
3711   - Use O_NOATIME when sniffing mimetypes
3712   - Add a convenience method to check if a GSimpleAsyncResult
3713     is valid
3714
3715 * Bugs fixed:
3716  560676 function access for g_threads_supported
3717  565905 There is no g_context_group_set_translation_domain
3718  564210 SUN Studio 12 has supported visibility attribute
3719  565136 GObject's "notify" signal parameters are wrong in gtk-doc
3720  565831 error in interface creation sample
3721  566348 g_file_open_tmp uses the wrong g_mkstemp on win32
3722  566064 Add NOATIME flag to query_info_flags
3723  566170 g_async_result_verify_source_object
3724
3725 * Updated translations:
3726  Spanish (es)
3727  Norwegian bokmål (nb)
3728  Brazilian Portugese (pt_BR)
3729  Simplified Chinese (zh_CN)
3730
3731
3732 Overview of Changes from GLib 2.19.1 to GLib 2.19.3
3733 ===================================================
3734
3735 * Bugs fixed:
3736  508021 Add support for the CRIS and CRISv32 architectures
3737  526320 should not list mounts that the user doesn't have permission to use
3738  558458 Cannot build gio tests on Solaris using SUN cc
3739  555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property
3740  558298 Hide ecryptfs mounts
3741  515777 incorrect date&time on copy
3742  562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling
3743         g_simple_async_result_run_in_thread
3744  473150 g_type_module_use inconsistently increases the use
3745         counter in case of error
3746  563150 G_GU?INT*_MODIFIER/FORMAT docs
3747  563156 Document printing and scanning gunichar values
3748
3749 * Updated translations:
3750  Hebrew (he)
3751  Italian (it)
3752  
3753
3754 Overview of Changes from GLib 2.19.0 to GLib 2.19.1
3755 ===================================================
3756
3757 * GIO: 
3758   - g_icon_to_string, g_icon_new_for_string: GIcon serialization support
3759   - G_FILE_ATTRIBUTE_PREVIEW_ICON: new file attribute for preview images
3760   - g_app_info_get_commandline: new function to get the full commandline
3761   - g_mount_shadow, g_mount_unshadow, g_mount_is_shadowed: New functions 
3762     to 'shadow' mounts (i.e. hide them from the UI when they already
3763     have a different representation, like a bookmark) 
3764
3765 * Bugs fixed:
3766  556186 gpoll.h breaks gmain.h inclusion
3767  557087 mem leak in g_content_types_get_registered
3768  556921 gpoll.h breaks hal compilation
3769  557210 g_compute_checksum_for_* asserts with less than 2 bytes
3770  558381 Add support for compile time assertions
3771  558185 'parent' variable in g_local_file_get_child_for_display_name()
3772         hits g_object_unref(NULL) assertion
3773  558513 g_warn_if_fail FIXME in gtestutils
3774  558672 NULL key lookup using g_hash_table_lookup_extended() 
3775  555740 gicon serialization
3776  557182 preview functionality
3777  528320 Incorrect icons displayed for files with custom mimetype icons
3778  556910 Memory leak: sub
3779  557592 Missing include in gwinhttpfile.c
3780  556415 Crash on Windows 2000 in g_winhttp_vfs_init()
3781  555935 Clarify the mechanism of overwriting properties
3782  552776 ac_cv_func_posix_getgrgid_r not mentioned
3783  559448 GObject Reference Manual (typo)
3784  561212 GFileReadMoreCallback API doc refers to non-existant function
3785  560569 gkeyfile doesn't use the set list_separator in some cases
3786  560568 gkeyfile docs buglet
3787  559413 g_option_group_set_error_hook docs buglet
3788  562378 callback return value not respected for callback option
3789         with no arg
3790  559110 Do not include libintl.h after glibintl.h
3791  557603 carbon check output misplaced
3792  562544 g_key_file_get_string and g_key_file_get_value
3793         documentation does not explain the difference
3794  547264 Missing "no flags" flag
3795  562638 GDebugKey key member should be const
3796  562639 g_parse_debug_flags() parsing "help"
3797  562549 g_byte_array_free should tell how free data
3798  559452 GObject Reference Manual (typo)
3799  559462 GObject Reference Manual (typo)
3800  559517 GObject Reference Manual (typo)
3801  562538 GObject interface tutorial shouldn't finalise with
3802         "Please forget everything"
3803  561352 Leak of icon description
3804  561375 Leaks mountpoint description
3805  561807 inotify_sub.c: dup_dirname() fails to remove trailing '/'
3806  562393 g_buffered_input_stream_read_byte broken if data available
3807  541715 win32 : patch for warnings and signature problems in recent code
3808  547481 g_data_input_stream_read_line behaves not as stated in the docs
3809  548163 Nautilus displays wrong error message for too long file names
3810  559633 gtk_image_new_from_gicon does not always work for .desktop files
3811  555486 – No way to recover command line from GAppInfo
3812
3813 * Translation updates:
3814  Spanish (es)
3815  Ukrainian (uk)
3816
3817
3818 Overview of Changes from GLib 2.18.1 to GLib 2.19.0
3819 ===================================================
3820
3821 * Rewrite GHashTable to use open addressing with quadratic probing instead 
3822   of chaining. This has the potential to reduce memory fragmentation 
3823   significantly, while being slightly faster due to better locality and 
3824   no need to call alloc/free functions for nodes. Benchmarks suggest it 
3825   also uses less memory overall.
3826
3827 * Make g_poll available as public api
3828
3829 * New macros g_assert_error and g_assert_no_error to assert 
3830   that a GError is set or unset
3831
3832 * g_cancellable_make_pollfd: New method to make a GPollFD for a cancellable
3833
3834 * g_app_info_can_delete, g_app_info_delete, g_app_info_reset_type_associations:
3835   New functions to clean up app infos and content types
3836
3837 * When launching applications, always pass fuse file:// uris when possible,
3838   and let gio convert such uris back to gio uris.
3839
3840 * Bugs fixed:
3841  505361 gunixinputstream.c assumes poll() available
3842  509446 portable blocking gio cancellation
3843  553820 gpoll.c: undeclared identifier
3844  553724 python interpretter path not patched in correctly
3845  553857 gbacktrace.h requires signal.h
3846  553447 g_assert_no_error()
3847  554092 glib doesn't return G_FILE_ERROR_NOENT et al on OS X
3848  528670 Always pass file:/// uri's in GAppLaunchContext
3849  555224 Improve g_format_size_for_display doc
3850  555309 giochannel breaks on error
3851  554790 g_convert() misbehaves with winiconv versions
3852  555314 mem leak in gmarkup
3853  555313 GFileAttribute boxed type get_type function should...
3854  552861 glib-2.0.m4 calls system(3) without storing its result
3855  554557 Patch to fix gcc warnings about missing format specifiers
3856  552107 Small libtool fixes
3857  551355 Make glib build with libtool 2.2
3858  555311 format not a string literal and no format arguments
3859  556101 static mutex yields warnings with g++
3860  556186 gpoll.h breaks gmain.h inclusion
3861  526456 Open addressing in GHashTable
3862  553426 cancellable clarifications
3863  545350 GAppInfo deletion
3864  545351 Reset associations for content type
3865  552168 volume's mount not mounted after g_volume_mount_finish
3866  554970 segfault when update-desktop-database is not available...
3867  554745 GFileAttributeInfoList should be boxed
3868  555121 Improved build-time handling of gio module-dir
3869  555711 Wrong fallback order of mimetype icons
3870  555331 Deprecate adoption of mounts
3871  556335 make check fails in abicheck.sh
3872  556334 Warning when building without selinux support
3873  556422 g_file_enumerator_next_file: unclear...
3874
3875 * Updated translations:
3876  Arabic (ar)
3877  Danish (da)
3878  Polish (pl)
3879  Brazilian Portugese (pt_BR)
3880  Romanian (ro)
3881  Russian (ru)
3882
3883
3884 Overview of Changes from GLib 2.18.0 to GLib 2.18.1
3885 ===================================================
3886
3887 * Bugs fixed:
3888  550433 g_test_init doesn't recognize --help
3889  523463 Core dump in gmain.c:2482:IA__g_main_context_check
3890  551228 G_STRFUNC on recent Sun compiler should be expanded...
3891  551410 gtestutils.c: using printf without prototype
3892  551731 g_date_set_time[_t] docs should mention what timezone
3893  548321 <string.h> is not included in gi18n-lib.h
3894  551149 xdgmime mem leak
3895  550647 synchronous pipe I/O when reading mount reply
3896  551887 Docs for g_desktop_app_info_new_from_filename aren't...
3897  551681 g_content_type_guess() too naive with filenames
3898  552352 g_app_info_launch doesn't work if "Path" key...
3899  551408 gmodule.def generated to builddir...
3900  552359 g_file_info_get_icon should return GThemedIcon, and...
3901
3902 * Updated translations:
3903  Arabic (ar)
3904  Bengali India (bn_IN)
3905  British English (en_GB)
3906  Hindi (hi)
3907  Croatian (hr)
3908  Korean (ko)
3909  Oriya (or)
3910  Turkish (tr)
3911  Telugu (te)
3912
3913
3914 Overview of Changes from GLib 2.17.7 to GLib 2.18.0
3915 ===================================================
3916
3917 * Win32:
3918   - rework the g_poll() implementation to match poll() semantics more closely
3919
3920 * Bugs fixed:
3921  324234 Using g_io_add_watch_full() to wait for connect() to return...
3922  548278 Async GETs connections are always terminated unexpectedly...
3923  500246 Bug fixes for giowin32
3924  523939 Example program for GValue
3925  550096 GBookmarkFile parser is not forward compatible
3926  550040 Move GString, rand and printf tests to the unit test framework
3927  550104 trivial documentation fix for g_get_home_dir
3928  548988 g_file_replace fails on Windows when the target file exists
3929  550059 Wrong docs for g_emblemed_icon_add_emblem
3930  548800 Missing a g_object_get_type function
3931  550056 Missing documentation for g_emblemed_icon_get_emblems
3932
3933 * Updated translations:
3934  Bulgarian (bg)
3935  Czech (cs)
3936  German (de)
3937  Estonian (et)
3938  Basque (eu)
3939  French (fr)
3940  Hebrew (he)
3941  Hungarian (hu)
3942  Italian (it)
3943  Japanese (ja)
3944  Lithuanian (lt)
3945  Maithili (mai)
3946  Dutch (nl)
3947  Swedish (sv)
3948  Thai (th)
3949  Ukrainian (uk)
3950  Vietnamese (vi)
3951
3952
3953 Overview of Changes from GLib 2.17.6 to GLib 2.17.7
3954 ===================================================
3955
3956 * More fixes for 64-bit Windows
3957
3958 * GIO
3959  - Add a vfs implementation for HTTP and HTTPS URIs on Windows
3960
3961 * Bugs fixed:
3962  546329 API docs for g_utf8_normalize() are incorrect
3963  546876 Modify GMarkup parser to accept &#x1; .. &#x1f;
3964  547200 g_utf8_find_next_char() issues
3965  547637 unconditional #include of sys/statfs.h in configure
3966  547337 G_DISABLE_DEPRECATED breaks tests build
3967  547832 gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict
3968  502498 Test framework assertion failures should follow gcc
3969  546371 Improve docs re g_file_monitor
3970  546483 GThemedIcon:use-default-fallbacks is not readable without...
3971  546132 GFileIcon is bindings-unfriendly
3972  542156 zfs mount in home directory shown on nautilus desktop 
3973  535124 umask 002 not being applied for new directories...
3974  547080 g_file_copy leaks expected errors
3975  546582 Callbacks from GFileMonitor present a GFile...
3976  547262 Missing link in the docs
3977
3978 * Updated translations:
3979  Arabic (ar)
3980  Catalan (ca)
3981  Spanish (es)
3982  Basque (eu)
3983  Finnish (fi)
3984  Galician (gl)
3985  Hebrew (he)
3986  Marathi (mr)
3987  Norwegian bokmål (nb)
3988  Portugese (pt)
3989  Brazilian Portugese (pt_BR)
3990  Swedish (sv)
3991  Thai (th)
3992
3993
3994 Overview of Changes from GLib 2.17.4 to GLib 2.17.6
3995 ===================================================
3996
3997 * Fix problems on 64-bit Windows
3998
3999 * g_markup_context_get_user_data: New function to access
4000   the user_data outside of callbacks
4001
4002 * GIO
4003  - g_mount_guess_content_type_sync: synchronous version of
4004    g_mount_guess_content_type
4005  - GEmblem: A GIcon implementation that adds emblem-related
4006    metadata to icons
4007  - GEmblemedIcon: A GIcon implementation that can add emblems
4008    to icons
4009
4010 * Bugs fixed:
4011  544088 option_test_LDADD is left in tests/Makefile.am
4012  544465 gmarkup makes it hard to use pre-rolled parsers
4013  545485 Implicit declaration of utime()
4014  545798 "Since: 2.18" mark is missing in g_set_error_literal...
4015  544140 fam-helper 64-bit issue
4016  529694 SELinux context setting support
4017  545157 wrong/no list of "open with" applications for .cc...
4018  545203 gfile.c: argument is different type
4019  545457 gdmsetup crashed with SIGSEGV in g_unix_mount_guess...
4020  544177 Fix trivial cut and paste error in documentation
4021  545395 Language tweak for g_value_set_string* docs
4022  541036 Gnumeric crashes when trying to open Desktop...
4023  546079 leak in xdgmime
4024  545395 Language tweak for g_value_set_string* docs
4025  546017 Don't copy attributes when copying a symlink
4026
4027 * Updated translations:
4028  Arabic (ar)
4029  Estonian (et)
4030  Galician (gl)
4031  Italian (it)
4032  Japanese (ja)
4033  Korean (ko)
4034  Norwegian bokmål (nb)
4035  Pashto (ps)
4036  Portugese (pt)
4037
4038
4039 Overview of Changes from GLib 2.17.3 to GLib 2.17.4
4040 ===================================================
4041
4042 * GIO:
4043  - New API to handle content types: g_mount_guess_content_type,
4044    g_content_type_guess_for_tree.
4045  - Export the eject-button signal on the volume monitor class
4046  - New API to enable out-of-process volume monitors: 
4047    g_volume_get_activation_root
4048
4049 * GObject:
4050  - New API to handle signals without slots in the class structure:
4051    g_signal_new_class_handler, g_signal_override_class_handler   
4052
4053 * Internationalization:
4054  - Add an NC_ macro that is a no-op equivalent of C_
4055
4056 * GMarkup:
4057  - Add two new functions g_markup_parse_context_push,
4058    g_markup_parse_context_pop to support "subparsers"
4059
4060 * Bugs fixed:
4061  541208 Functions to easily install and use signals without...
4062  541507 Ambiguous description of assigned characters in the...
4063  543040 async reading on dummy file will crash on GIO_USE_VFS=local
4064  543560 enable gio-FEN back-end warnings on Solaris will crash...
4065  528317 GRegex does not allow recursion limit
4066  337518 GMarkup: Subparser support
4067  541794 drive-eject-button signal
4068  541793 activation root for volumes
4069  467707 test_iconv_state() in tests/convert-test.c fails on AIX 5.3
4070  428048 2 of 51 tests fail on Solaris
4071  542332 small fix for error message in GMarkup
4072  482413 get_contents_stdio -- overflow and memory corruption
4073  406120 g_ascii_strtod
4074  334234 "printf" format error
4075  536996 Missing noop i18n macro equivalent to C_
4076  540616 mem leak in filechooser button
4077  539229 gobject-query calls itself query
4078  521589 [RFC] gobject documentation should mention Vala
4079  543168 Description of G_SLICE=debug-blocks discourages its use
4080  543220 Case collision on gio-extension-points.html
4081  530759 update the gobject tutorial to the XXI century
4082  535223 gbookmark file inefficiency ...
4083  543504 crash in Epiphany Web Browser: Opening local file
4084
4085 * Updated translation:
4086  German (de)
4087  Estonian (et)
4088  Pashto (ps)
4089  Albanian (sq)
4090  Thai (th)
4091  Traditional Chinese (zh_HK)
4092  Traditional Chinese (zh_TW)
4093
4094
4095 Overview of Changes from GLib 2.17.1 to GLib 2.17.3
4096 ===================================================
4097
4098 * PCRE
4099  - fix for CVE-2008-2371 
4100
4101 * Bugs fixed:
4102  538119 glib's mainloop leaks a pipe to sub-processes
4103  537635 Corrections and improvements to g_time_val_{to,from}_iso8601
4104  539067 The document g_io_channel_win32_new_fd() says...
4105  535949 annotate g_strip_context and g_dpgettext with G_GNUC_FORMAT
4106  539123 annotate g_d[n]gettext with G_GNUC_FORMAT
4107  539074 Cannot get exit status with g_spawn_command_line_sync
4108  316221 G_LOCK warns about breaking strict-aliasing rules
4109  539770 migrate gstrfunc unit tests to gtest
4110  539626 Update docstrings for g_object_freeze_notify and g_object_thaw_notify
4111  538044 unconditional use of LC_MESSAGES
4112  540545 Monotonic time and timer offset
4113  535947 want g_set_error_literal
4114  539999 glibconfig.h: add GLIB_USING_SYSTEM_PRINTF 
4115  536252 GFileEnumerator should allow access to the containing GFile
4116  538362 Get Win32 icons back in the file chooser
4117  540802 g_list_prepend doesn't concat lists
4118  540423 unrecoverable error after g_seekable_truncate
4119  538836 make check failure on PPC and ALPHA: pltcheck.sh on g_atomic_pointer_get
4120  539090 g_content_type_from_mime_type() should unalias
4121  540331 g_file_append_to () documentation: can return NULL
4122  534639 add g_desktop_app_info_new_from_keyfile
4123  536733 gio build failure on Irix
4124  536160 Add g_file_monitor()
4125  538127 FileChooser broken on win32
4126  531476 /live-g-file/test_traverse_structure test fails on Mac HFS+
4127  538564 gio should have gio-types.h
4128  540047 glib-genmarshal.c: '#include <io.h>' is too before
4129
4130 Updated translations:
4131  Korean (ko)
4132  Occitan (oc)
4133
4134
4135 Overview of Changes from GLib 2.17.0 to GLib 2.17.1
4136 ===================================================
4137
4138 * New function: g_utime(), a gstdio wrapper for utime()
4139
4140 * New functions: g_dgettext() and g_dngettext(), wrappers
4141   for corresponding gettext functions with added functionaliy
4142
4143 * Support the latest version of the shared-mime spec, including
4144   icons for mime types 
4145
4146 * New function: g_themed_icon_prepend_name()
4147
4148 * Bugs fixed: 
4149  535418 Please document which glib version defines goffset
4150  528715 Misprint in the description of the interface g_type_class_add_private
4151  528714 Misprint in the description of the interface g_param_spec_flags
4152  537260 Doc bug in G_TYPE_INSTANCE_GET_CLASS()
4153  530527 Misprint in the description of the interface 
4154         g_cclosure_marshal_VOID__FLAGS
4155  530526 Misprint in the description of the fields 'class_init' and 
4156         'class_finalize' of the structure GTypeInfo
4157  528719 Improvement to the documentation of the "g_object_connect" interface
4158  528172 gtk_signal_handlers_unblock_* functions return value
4159         amount of matched signals, not amount of actually unblocked
4160  528717 Misprint in the description of the parameter 'type_id' for 
4161         the interface g_type_register_fundamental
4162  528716 Misprint in the description of the parameter 'iface_data' for 
4163         the callback types GInterfaceInitFunc and GInterfaceFinalizeFunc 
4164  537555 GObject instantiation not thread safe
4165  537546 'desktop' shortcut in file chooser looks like a generic folder
4166  537392 Additional colon in xattr name
4167  536641 Filesystem querying in gio does not list AFS and autofs file systems
4168  528600 g_dummy_file_get_parent("scheme://example.com/")
4169  503071 Application direction changes to right to left even if theres no 
4170         translation
4171  502511 g_assert_cmphex prints invalid message
4172  338162 Use po/LINGUAS
4173  314453 Nautilus crashes in Solaris when browsing the attached file
4174  529321 make check fails in glib/pcre
4175  455215 g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD 
4176         fallback to $HOME/Desktop if xdg-user-dirs is not in use
4177  498732 g_key_file_to_data cannot fail
4178  511367 add g_file_make_directory_with_parents
4179  531900 Use __builtin_offsetof for G_STRUCT_OFFSET if building with 
4180         gcc 4.0 or newer
4181  536158 also bump GHashTable version when a node is removed via
4182         g_hash_table_iter_remove()/g_hash_table_iter_steal()
4183  531403 g_utf8_collate broken on Mac
4184  535628 test/patterntest.c still includes gpattern.h directly
4185  535625 alias.h:2648: error: 'utime' undeclared here (not in a function)
4186
4187 * Translation updates:
4188  Arabic (ar)
4189  German (de)
4190  Italian (it)
4191  Norwegian bokmål (nb)
4192  Thai (th)
4193
4194
4195 Overview of Changes from GLib 2.16.x to GLib 2.17.0
4196 ===================================================
4197
4198 * Update to Unicode 5.1
4199
4200 * Update included libcharset to the one shipped with libiconv 0.12
4201
4202 * Update included PCRE to 7.7
4203
4204 * Enforce that only toplevel headers are directly included.
4205   This is turned on by default for GObject and GIO. To turn
4206   it on for GLib, define G_DISABLE_SINGLE_INCLUDES.
4207
4208 * Fix library version of GIO.  GLib 2.16 shipped with libgio-2.0.so.0.0.0
4209
4210 * On Solaris, use FEN for file monitoring in GIO
4211
4212 * Use the GIO_EXTRA_MODULES environment variable to find
4213   additional GIO modules 
4214
4215 * G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size
4216   function attribute
4217
4218 * g_checksum_reset: New function to reset the state of a GChecksum 
4219
4220 * g_unix_mount_monitor_set_rate_limit: New function to limit the 
4221   rate at which events are reported
4222
4223 * g_file_query_file_type: New utility function to query the type of
4224   a file
4225
4226 * g_memory_output_stream_get_data_size: New function to obtain the
4227   size of the written data.
4228
4229 * Bugs fixed:
4230  522292 Gives warnings in glib/gutils.h with GCC in C99 mode
4231  523298 win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
4232  518160 replace two g_strdup_printf calls in GBookmarkFile
4233  523877 gbookmarkfile: avoid using g_string_append_printf() and
4234         other optimizations 
4235  525192 100% CPU if run main loop with no IO sources
4236  315437 extern inline -> static inline
4237  524314 g_convert() on Win32 implicitly converts full width
4238         alphanumerics into half width
4239  525732 Error in documentation for g_list_first
4240  525674 A typo in gmarkup.c
4241  448943 g_timeout_add_seconds() problems
4242  525972 UCS-4 not in the new win_iconv implementation
4243  526619 make test-report crash
4244  491554 Update to Unicode 5.1.0
4245  519137 g_slice_dup macro needs cast for 64-bit platform
4246  528752 Win32 build and SSL not working
4247  530457 G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
4248  528667 Typos in testing module documentation
4249  459905 Bug in wcwidth data
4250  534085 g_unichar_iswide_cjk() has a totally wrong table
4251  501651 Update glib/libcharset
4252  519026 G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
4253  534319 GLib's .pc files could use Libs.private
4254  534137 Typo in g_spawn_async_with_pipes doc
4255  517419 gio win32 directory monitor
4256  526796 Wrong order of arguments in g_file_copy's fallback
4257  530196 _g_local_file_has_trash_dir() doesn't handle st_dev == 0
4258  532965 Should not return filesystem::free for certain file systems
4259  525553 fix typo and nitpicking in GArray documentation
4260  526572 Missing * in declaration of parent_class in Object
4261         Destruction section of GObject Reference Manual
4262  528648 Extra >s in Object Construction section
4263  535021 g_param_spec_internal documentation should
4264         describe purpose of nick and blurb
4265  521513 Firefox crash when using file picker
4266  528433 gdesktopappinfo snafu ...
4267  533369 API g_file_info_get_attribute_string () unables to get "...
4268  521045 glib f_fstypename miscellany
4269  521672 compile error
4270  521946 control rate limit on GUnixMountMonitor
4271  522335 Fails to build: glib/gtester.c:276: error: 'ARG_MAX' unde...
4272  523015 Implement sliding window based upload operation
4273  523019 Use new GCC 4 feature
4274  523338 list nfs4 as a nfs mount type
4275  524350 Make glib build without NLS again
4276  524579 g_file_copy reports wrong total on progress callback for ...
4277  524742 A typo in gtestutils.c.
4278  524950 Minor documentation typos.
4279  525866 the user directory should not be considered as a mount to...
4280  526320 should not list mounts that the user doesn't have permiss...
4281  527132 nautilus crash when making ftp connection
4282  532852 CRITICAL **: totem_pl_parser_parse_with_base: assertion `...
4283  534759 Build failure in gio
4284  534764 Typo in error produced by g_file_make_directory
4285  521851 Redudant tests in gunixmounts.c
4286  524344 glib/gthread.h still use G_GNUC_PRETTY_FUNCTION
4287  525060 glib fails to build with -DG_DISABLE_ASSERT in CPPFLAGS o...
4288  534177 Invalid description of the interface g_cclosure_marshal_S...
4289  520715 Add GFile method g_file_query_file_type
4290  523039 nautilus can't access to trash/computer/network if gvfs i...
4291  
4292 * Updated translations:
4293  Arabic (ar)
4294  Bulgarian (bg)
4295  Catalan (ca) 
4296  Czech (cs)
4297  Greek (el)
4298  Candian English (en_CA)
4299  British English (en_GB)
4300  Spanish (es)
4301  Estonian (et)
4302  Basque (eu)
4303  Galician (gl)
4304  Hebrew (he)
4305  Hungarian (hu)
4306  Japanese (ja)
4307  Lithuanian (lt)
4308  Norwegian bokmål (nb)
4309  Dutch (nl)
4310  Occitan (oc)
4311  Portugese (pt)
4312  Russian (ru)
4313  Slovak (sk)
4314  Albanian (sq)
4315  Swedish (sv)
4316  Turkish (tr)
4317  Vietnamese (vi)
4318
4319
4320 Overview of Changes from GLib 2.16.0 to GLib 2.16.1
4321 ===================================================
4322
4323 * Fix a crash in g_themed_icon_new
4324
4325 * Update the included PCRE to 7.6
4326
4327
4328 Overview of Changes from GLib 2.15.6 to GLib 2.16.0
4329 ===================================================
4330
4331 * Fix the definition of G_INLINE_FUNC to work with gcc 4.3.0
4332
4333 * GIO:
4334  - Add missing GMountMountFlags argument to g_unix_volume_mount
4335  - Fix the adopt_orphan_mount vfunc to take a volume monitor 
4336    reference
4337  - Add properties to GThemedIcon for bindings sake
4338
4339 * Bugs fixed:
4340  520484 gvfsd-trash crashed with SIGSEGV in g_path_is_absolute()
4341  510855 g_checksum_update(): Take -1 for length.
4342  517676 g_themed_icon_new*() do more than call g_object_new().
4343  518816 should handle rmdir returning EEXIST correctly
4344  519352 g_[s]list_delete_link() docs
4345  519489 Fixes for sparse warnings in gio
4346  520169 add monitor argument to vfunc for GVolumeMonitor
4347  520700 Add type check in g_file_query_exists
4348  521145 FILE_READ_ONLY_VOLUME not present on Mingw32
4349  518720 No MIME type for empty files
4350  521013 in documentation, goffset doesn't say "Since 2.x"
4351  521028 Missleading error messages from g_io_channel_set_encoding()
4352  517484 GMainLoop could set the thread "Alertable" for APCs to be... 
4353
4354 * Updated translations:
4355  Assamese (as)
4356  Bengali India (bn_IN)
4357  Czech (cs)
4358  German (de)
4359  Spanish (es)
4360  Estonian (et)
4361  Finnish (fi)
4362  French (fr)
4363  Gujarati (gu)
4364  Italian (it)
4365  Lithuanian (lt)
4366  Malayalam (ml)
4367  Marathi (mr)
4368  Norwegian bokmål (nb)
4369  Romanian (ro)
4370  Russian (ru)
4371  Slovak (sk)
4372  Ukrainian (uk)
4373
4374  
4375 Overview of Changes from GLib 2.15.5 to GLib 2.15.6
4376 ===================================================
4377
4378 * GIO:
4379  - New file attributes: trash::item-count, filesystem::use-preview
4380  - Rename g_file_contains_file to g_file_has_prefix
4381  - g_file_query_filesystem_info grew async variants
4382  - g_themed_icon_append_name: new convenience function
4383  - g_content_type_get_icon is implemented now
4384  - Only show mounts in /media and ~
4385  - g_file_contains_file has been renamed to g_file_has_prefix
4386
4387 * Win32:
4388  - g_win32_get_package_installation_directory_of_module: new function
4389    which supersedes g_win32_get_package_installation_directory
4390  - Use alertable wait functions so that I/O completion routines or 
4391    user-mode Asynchronous Procedure Calls can be run
4392  - Fix race conditions in g_spawn implementation on win32
4393
4394 * Other:
4395  - g_uri_get_scheme has been renamed go g_uri_parse_scheme
4396
4397 * Updated translations:
4398  Arabic (ar)
4399  Belarusian Latin (be@latin)
4400  Catalan (ca) 
4401  British English (en_GB)
4402  Finnish (fi)
4403  Galician (gl)
4404  Hebrew (he)
4405  Italian (it)
4406  Kannada (kn)
4407  Norwegian bokmål (nb)
4408  Dutch (nl)
4409  Brazilian Portugese (pt_BR)
4410  Vietnamese (vi)
4411
4412
4413 Overview of Changes from GLib 2.15.4 to GLib 2.15.5
4414 ===================================================
4415
4416 * Update the included PCRE to 7.6
4417
4418 * GIO:
4419  - g_volume_should_automount: new function to determine if a volume
4420    should be mounted automatically
4421  - g_file_query_default_handler: new convenience function to get
4422    the default handler for a file
4423  - g_app_info_launch_default_for_uri new convenience function to
4424    launch the default handler for a URI
4425  - Use mimeapps.list and defaults.list as discussed on xdg list
4426    recently
4427  - g_app_info_get_default_for_uri_scheme has a real implementation
4428    now (gvfs provides a GConf-based implementation)
4429  - There is the beginning of a test suite
4430  - standard::description:  new file attribute
4431  - GMountMountFlags flags argument added to mount calls
4432
4433 * GObject:
4434  - class initialization is now threadsafe
4435
4436 * Updated translations:
4437   Arabic (ar)
4438   Catalan (ca)
4439   Spanish (es)
4440   Basque (eu)
4441   Italian (it)
4442   Japanese (ja)
4443   Kannada (kn)
4444   Korean (ko)
4445   Macedonian (mk)
4446   Occitan (oc)
4447   Portugese (pt)
4448   Brazilian Portugese (pt_BR)
4449   Swedish (sv)
4450   Thai (th)
4451
4452
4453 Overview of Changes from GLib 2.15.3 to GLib 2.15.4
4454 ===================================================
4455
4456 * G_GNUC_PRETTY_FUNCTION has been deprecated
4457
4458 * GIO:
4459  - g_file_copy has an async variant now
4460  - Drives and volumes now have API to get identifiers
4461    like Hal UDIs or UUIDs.
4462  - There is now a registration API to let modules register
4463    extensions they provide, such as volume monitor implementations
4464
4465 * Bugs fixed:
4466   511807 g_time_val_to_iso8601() uses MT-unsafe gmtime() function
4467   316260 [patch] Doc patches for gnode (2.8.1)
4468   385132 solaris gettext support fix
4469   484261 ./configure check for system PCRE unicode support fails w...
4470   510292 GOption main help not shown
4471   511580 Implement g_file_copy_async
4472   511654 Compile errors due to C99 constructs
4473   487909 g_utf8_strreverse and combining marks
4474   512381 unused variable 'is_main_group' 
4475
4476 * Updated translations:
4477   Arabic (ar)
4478   Belarusian (be)
4479   Czech (cz)
4480   Spanish (es)
4481   French (fr)
4482   Galician (gl)
4483   Portugese (pt)
4484   Russian (ru)
4485   Swedish (sv)
4486   Thai (th)
4487
4488
4489 Overview of Changes from GLib 2.15.2 to GLib 2.15.3
4490 ===================================================
4491
4492 * GChecksum:
4493  - g_checksum_update can accept nul-terminated strings
4494  - The MD5 implementation works correctly on buffers 
4495    that are longer than 64 bytes
4496
4497 * GIO:
4498  - Don't include a copy of the inotify headers, rely on system headers
4499  - g_file_find_enclosing_mount has an async variant now
4500  - Reduntant seek API on file streams has been removed
4501
4502 * Bugs fixed:
4503   508602 gmemory{in|out}putstream.c: unknown pointer size
4504   508771 There is no g_file_test/exists() for GFile
4505   508773 g_uri_escape_string() documentation unclear.
4506   509465 AM_PATH_GLIB_2_0 doesn't support gio
4507   509626 async functions: Document allowed NULL callback?
4508   509990 GSeekable documentation unclear
4509   510448 No inotify support on ARM or SH5
4510   510855 g_checksum_update(): Take -1 for length. 
4511
4512 * Updated translations:
4513   Basque (eu)
4514   Marathi (mr)
4515   Swedish (sv)
4516   Ukrainian (uk)
4517
4518
4519 Overview of Changes from GLib 2.15.1 to GLib 2.15.2
4520 ===================================================
4521
4522 * GIO:
4523  - Mount operation API change: unhandled methods get reported via 
4524    the reply, rather than by the signal emission return value
4525  - File monitor API change: Add a GError argument to g_file_monitor_file
4526  - g_unix_mount_guess_should_display(): new function
4527
4528 * Bugs fixed:
4529   508224 [PATCH] FAM backend crashes due to double free
4530   508074 GAsyncResult documentation suggests g_freeing it.
4531   508108 GFile documentation slightly unclear.
4532   508309 rpc_pipefs mount points should be hidden
4533   508378 GFileInfo documentation implies that it changes attribute...
4534   508719 g_file_get_relative_path fails if parent is root
4535   508773 g_uri_escape_string() documentation unclear.
4536
4537 * Updated translations:
4538   Arabic (ar)
4539   Spanish (es)
4540   Hebrew (he)
4541   Italian (it)
4542   Korean (ko)
4543   Turkish (tr)
4544
4545
4546 Overview of Changes from GLib 2.15.0 to GLib 2.15.1
4547 ===================================================
4548
4549  * Portability fixes:
4550  - Assertion functions are marked as noreturn again
4551  - Handling of inline functions has been fixed to work with gcc 4.3
4552  - C99 comments have been removed from headers
4553  - The nonportable sed -i option is no longer used
4554
4555  * GIO:
4556   - Clarified the semantics of g_app_info_get_all()
4557   - API for memory input and output streams has been changed a bit
4558   - GDirectoryMonitor has been removed; GFileMonitor can monitor
4559     files and directories now
4560
4561  * Bugs fixed:
4562    504829 Invalid environment passed to g_spawn_async in g_desktop_...
4563    505258 crash in Users and Groups: Adding a user
4564    505815 g_content_types_get_registered should not g_free keys
4565    491218 g_timer_new() doesn't initialize timer->end
4566    315437 extern inline -> static inline
4567    476856 Inconsistency between standard and implementation of the ...
4568    480122 g_module_open fails to open modules with ".la" extension
4569    495589 gspawn.c failing to set FD_CLOEXEC
4570    500273 doesn't build with --disable-visibility
4571    504142 Do not show empty groups in --help output
4572    504879 giofam incorrectly linked
4573    505042 add file attribute for actually used file size in bytes
4574    505058 xattr namespace docs
4575    505674 Misprint in the definition of the macro G_CCLOSURE_SWAP_DATA
4576    505730 Fails to build on OSX 10.4: _NSGetEnviron not declared
4577    505887 older darwin lacks lchown
4578    506374 gmemoryinputstream api
4579    506461 Conversion of g_assert_not_reached() and friends into fun...
4580    503051 Small bug in glib interface
4581    506395 Updates to GIO documentation
4582    507628 Missing .pc entry for gio linking against glib
4583    505195 [patch] typo in g_try_new0 docs 
4584    507822 g{file,directory}monitor changes signal problem
4585    506377 gmemoryoutputstream write implementation
4586    507835 bug in gunixinputstream 
4587
4588  * Updated translations:
4589    Arabic (ar)
4590    Belarusian Latin (be@latin)
4591    Spanish (es)
4592    Basque (eu)
4593    Irish (ga)
4594    Hebrew (he)
4595    Occitan (oc)
4596    Vietnamese (vi)
4597
4598
4599 Overview of Changes from GLib 2.14.x to GLib 2.15.0
4600 ===================================================
4601
4602 Major new features:
4603
4604  * GIO: a VFS API, designed to replace GnomeVFS. The GIO implementation 
4605    in GLib has support for local filesystems. The new, separate gvfs 
4606    module contains various backend implementations (cifs, ftp, sftp,
4607    http, ...)
4608
4609  * GChecksum: provides various hash algorithms, such as MD5, SHA-1
4610    and SHA-256
4611  
4612  * GTest: a test framework 
4613  
4614 Smaller additions:
4615
4616  * GHash:
4617  - GHash has iterators, as an alternative to g_hash_table_foreach
4618
4619  * GMarkup: 
4620  - g_markup_parse_context_get_element_stack: New function to
4621    get the stack of open elements
4622  - G_MARKUP_PREFIX_ERROR_POSITION: New flag to improve error
4623    reporting
4624  - g_markup_collect_attributes: Convenience function for handling
4625    attributes
4626
4627 * GKeyFile: 
4628  - Functions that take a GError now return a boolean to indicate 
4629    success, instead of void
4630  - Various performance improvements
4631
4632 * GAsyncQueue:
4633  - g_async_queue_new_full: new function that allows to specify
4634    a free function for leftover elements
4635  
4636 * GError:
4637  - g_prefix_error and g_propagate_prefixed_error: New functions
4638    to ease error propagation
4639
4640 * Internationalization:
4641  - C_: A new 2-argument variant of the Q_() macro 
4642  - Use native character set conversion API on Windows
4643
4644 * GLib builds with automake 1.10
4645
4646 * Bugs fixed:
4647  455725 specific combination of g_utf8_strlen and g_pattern_match...
4648  467537 g_convert_with_iconv() not resetting iconv() state correc...
4649  497033 Commandline option parser should warn about missing optio...
4650  504527 gchecksum: Conditional jump or move depends on uninitiali...
4651  445362 Non-numeric local labels in gatomic.c are causing linker ...
4652  482313 gregex: no way to tell why compilation failed
4653  317775 main loops continues to run after g_main_loop_quit() has ...
4654  418778 Insufficient pkg-config version requirement
4655  436293 g_option_context_new() doc should mention that the string...
4656  466557 glib-mkenums shifts ARGV[0] to undefined
4657  468882 GKeyFile doesn't accept "True" as a true boolean value
4658  469551 application --help messages are garbaged on none UTF-8 lo...
4659  479724 Memory leak upon calling "g_main_loop_run" in the seconda...
4660  490061 outptrs uninitialized after g_parse_long_long
4661  490637 gobject documentation patch
4662  495294 glib-genmarshal prints warnings but returns 0
4663  496046 option to prefix location of errors for GMarkup
4664  498113 tests/regex-test fails on 64bit environment
4665  500506 Fails to build on OSX 10.4
4666  500638 gkeyfile speedup ...
4667  500875 Make check fails as there is no "test" target for "build"...
4668  502511 g_assert_cmphex prints invalid message
4669  502927 g_array_index triggers cast aligment warning
4670  503029 g_time_val_from_iso8601 parse non-ISO8601 dates
4671  503222 Need context to translate
4672  503420 gkeyfile leaks a hash table
4673  503470 Fix build when builddir != srcdir
4674  504227 Inverse variant for g_test_trap_assert_stdout, g_test_tra...
4675  71704  file include order
4676  491957 Misprint in the specification of the interface "g_main_co...
4677  491959 Misprint in description of the structure "GThreadPool"
4678  491965 Mistype in the specification of the function "g_hook_list...
4679  491966 Misprint in the specification of the interface "g_main_co...
4680  491968 The documentation does not mention the restriction for th...
4681  491970 The documentation for the interface "g_date_clamp" is inc...
4682  491974 The documentation of the interface "g_main_context_iterat...
4683  491975 The documentation for the interfaces "g_io_channel_read_u...
4684  491979 Misprint in the description of the interfaces g_key_file_...
4685  491982 Misprint in the description of the interface "g_key_file_...
4686  501107 EXTRA_DIST automake warnings
4687  501997 g_utf8_normalize() returns NULL on invalid string
4688  502590 C_/g_dpgettext efficiency
4689  464259 g_set_application_name() docs should say "Since 2.2"
4690  496518 gbase64.c API doc clarification
4691  498728 g_key_file_get_*_list should set length to 0 when returni...
4692  500361 Improve docs for g_array_free() and g_ptr_array_free()
4693  501853 g_checksum_get_digest docs
4694  503862 Allow NULL strings in g_parse_debug_string()
4695  142676 Q_
4696  367550 Add g_async_queue_new_full() with GDestroyNotify function
4697  375651 Minor enhancements to GKeyFile API
4698  443648 MD5 digest support
4699  449937 Upgrade auto* sources to be clean under automake1.9
4700  452887 gmarkup context "get element" function is useless when ca...
4701  491549 [PATCH] Eliminate libiconv dependency on Windows
4702  500507 GHashTableIter API 
4703
4704 * Translation updates
4705  Belarusian Latin (be@latin)
4706  Czech (cs)
4707  German (de)
4708  Spanish (es)
4709  Esperanto (et)
4710  French (fr)
4711  Korean (ko)
4712  Marathi (mr)
4713  Norwegian bokmål (nb)
4714  Brazilian Portugese (pt_BR)
4715  Slovenian (sl)
4716  Swedish (sv)
4717
4718
4719 Overview of Changes from GLib 2.14.2 to GLib 2.14.3
4720 ===================================================
4721
4722 * Update PCRE to 7.4
4723
4724 * Bugs fixed:
4725  487491 Fix some warnings from sparse
4726  488068 Small (one-time) memory leak in glib_gettext initialization
4727  493688 TYPE macro "_get_type ()" is documented wrong
4728
4729 * Updated translations:
4730  Arabic (ar)
4731  Belarusian Latin (be@latin)
4732  Estonian (et)
4733  Irish (ga)
4734  Slovenian (sl)
4735
4736  
4737 Overview of Changes from GLib 2.14.1 to GLib 2.14.2
4738 ===================================================
4739
4740 * Bugs fixed:
4741  476849 Invocation of the interface "g_hook_free" fails in certai...
4742  359165 marshallers can throw warnings with -Wunused
4743  477957 more discussion on g_value_set_object vs. g_value_take_ob...
4744  478459 G_DEFINE_DYNAMIC_TYPE_EXTENDED doesn't work with G_IMPLEM...
4745  483337 inline is disabled for MSVC when compiling C code
4746  478349 Broken link to gettext website
4747  469231 g_spawn optimization for setting all open fds to CLOEXEC 
4748
4749 * Updated translations:
4750 Arabic (ar)
4751 Galician (gl)
4752 Hebrew (he)
4753 Korean (ko)
4754
4755
4756 Overview of Changes from GLib 2.14.0 to GLib 2.14.1
4757 ===================================================
4758
4759 * Bugs fixed:
4760  476840 Invocation of the interface "g_utf8_strreverse" crashes f...
4761  444765 Fix FIXME in gregex.c when new pcre is out
4762  464145 g_markup_escape_text Produces Invalid XML
4763  465625 g_type_default_interface_ref() does not ensure working g_...
4764  466768 Clearify that comments can be put anywhere in a Key-file.
4765  474229 The GError documentation should give convention for the G...
4766  474899 G_BREAKPOINT() docs inaccurate
4767  475854 Overuse of -lpcre when using system pcre
4768  473879 Incorrect includes in gregex.c
4769  468694 Typoes in documentation
4770  469051 g_snprintf () talks about characters where it probably me...
4771  457601 Missing arch specific atomic implementation
4772  475923 Missing pcre flags when static-linking against glib
4773  475619 glibthread-2.0.la does not list -lpthread
4774
4775 * Updated translations:
4776  Bulgarian (bg)
4777  Catalan (ca)
4778  Danish (da)
4779  German (de)
4780  Canadian English (en_CA)
4781  British English (en_GB)
4782  Spanish (es)
4783  Estonian (et)
4784  Finnish (fi)
4785  French (fr)
4786  Gujarati (gu)
4787  Hungarian (hu)
4788  Italian (it)
4789  Georgian (ka)
4790  Kannada (kn)
4791  Lithuanian (lt)
4792  Makedonian (mk)
4793  Norwegian (nb)
4794  Dutch (nl)
4795  Polish (pl)
4796  Portugese (pt)
4797  Brazilian Portugese (pt_BR)
4798  Romanian (ro)
4799  Russian (ru)
4800  Albanian (sq)
4801  Serbian (sr, sr@Latn)
4802  Swedish (sv)
4803  Tamil (ta)
4804  Thai (th)
4805  Ukrainian (uk)
4806  Vietnamese (vi)
4807
4808
4809 Overview of Changes from GLib 2.13.7 to GLib 2.14.0
4810 ===================================================
4811
4812 * Last-minute API additions:
4813  - Make g_unichar_combining_class public
4814  - Add goffset type, add G_MAXSSIZE and G_MINSSIZE
4815
4816 * Update PCRE to 7.2
4817
4818 * Bugs fixed:
4819  453998 Make _g_unichar_combining_class() public
4820  462549 gregex.c: variable is declared at middle of block
4821  417068 g_file_test doc inconsistency
4822
4823 * Updated translations:
4824  Assamese (as)
4825  Basque (eu)
4826  Kannada (kn)
4827  Malayalam (ml)
4828  Dutch (nl)
4829  Polish (pl)
4830  Brazilian Portugese (pt_BR)
4831  Turkish (tr)
4832
4833
4834 Overview of Changes from GLib 2.13.6 to GLib 2.13.7
4835 ===================================================
4836
4837 * The memory corruption warning from the slice allocator that
4838   occurred when threads were initialized after the slice allocator
4839   has been removed, as the slice allocator now works fine
4840   in this scenario.
4841
4842 * New functions g_once_init_enter() and g_once_init_leave() make
4843   it easier to write threadsafe one-time initialization functions 
4844  
4845 * Bugs fixed:
4846  454473 Simple XML Subset Parser terminates on invalid XML
4847  445813 g_module_open error, add file name
4848  453796 errno gets clobbered by g_filename_display_name
4849  341988 don't use "-c" with msgfmt in Makefile.in.in
4850  447048 Please produce slightly more output during long tests
4851  454785 GModule documentation lists same block of code twice.
4852  454786 GModule documentation lists same paragraph twice.
4853  383155 small docs quirks in gobject/closure API documentation
4854  65041  _get_type() functions aren't thread safe
4855
4856 * Updated translations
4857  Assamese (as)
4858  Spanish (es)
4859  Gujarati (gu)
4860  Japanese (ja)
4861  Korean (ko)
4862  Macedonian (mk)
4863
4864
4865 Overview of Changes from GLib 2.13.5 to GLib 2.13.6
4866 ===================================================
4867
4868 * Reintroduce a GType typedef whose removal in 2.13.5
4869   caused trouble for C++ bindings
4870
4871 * Bugs fixed:
4872  450216 docs not explicit enough about g_free()
4873  451459 g_type_register_static_simple calls g_type_register_static
4874
4875 * Updated translations
4876  Norwegian bokmål (nb)
4877  Sinhala (si)
4878
4879
4880 Overview of Changes from GLib 2.13.4 to GLib 2.13.5
4881 ===================================================
4882
4883 * xdg-user-dirs support: 
4884  - the Desktop directory is guaranteed to be defined
4885  - user-dirs.dirs is no longer reloaded on changes
4886
4887 * Slice allocator: 
4888  - new api to duplicate slices
4889
4890 * Regular expression support:
4891  - GRegex is a boxed type now
4892
4893 * Bugs fixed:
4894  44793 make check failing in trunk
4895  354522 Small problem with PLT hiding 6 symbols
4896  363986 glib 2.12.4 does not compile with SGI IDO cc
4897  443869 g_type_class_add_private doesn't warn when adding 0-sized...
4898  446859 Legitimately return 0 for g_quark_from_string(NULL)
4899  447534 Small typo in g_timeout_add_seconds() doc
4900  447583 GStaticRWLock
4901  447935 g_get_current_dir SIGSEGV on long path
4902  448260 CLAMP has surprising result if low > high
4903  57693  g_string_vprintf()
4904  442029 add g_slice_dup()
4905  445065 Add GRegex boxed type
4906  448819 Add full version of g_timeout_add_seconds()
4907
4908 * Updated translations: 
4909  Swedish (sv)
4910  Oriya (or)
4911  Hebrew (he)
4912  Spanish (es)
4913  Estonian (et)
4914
4915  
4916 Overview of Changes from GLib 2.13.3 to GLib 2.13.4
4917 ===================================================
4918
4919 * Bugs fixed:
4920  444121 g_get_user_special_dir deadlocks
4921  444161 invalid UTF8 in key name shows up as valgrind error in g_...
4922  444130 g_option_context_get_help() is broken when there's a desc...
4923
4924
4925 Overview of Changes from GLib 2.13.2 to GLib 2.13.3
4926 ===================================================
4927
4928 * GKeyFile:
4929  - Added defines for easier handling of desktop files
4930
4931 * Unicode support:
4932  - Update g_unichar_iswide_cjk for Unicode 5.0
4933
4934 * Regular expression support:
4935  - GRegex structs can now be ref-counted
4936  - Some new functions for dealing with incremental 
4937    replacement have been added
4938  - The GRegexEvalCallback signature has been changed
4939
4940 * g_get_user_special_dir() has been added to support
4941   xdg-user-dirs
4942
4943 * Bugs fixed:
4944  419376 Functions using named subpatterns behave inconsistently w...
4945  434358 g_regex_fetch_named() and g_regex_fetch_named_pos() are b...
4946  423708 typo in the README.win32 file see patch below
4947  339225 Add new defines for easier handling of .desktop files 
4948  442265 API additions/changes for GRegex
4949  432651 Add a glib-ish xdg_user_dir_lookup
4950
4951 * Updated translations:
4952  Estonian (et)
4953  Norwegian bokmål (nb)
4954
4955
4956 Overview of Changes from GLib 2.13.1 to GLib 2.13.2
4957 ===================================================
4958
4959 * Unicode support:
4960  - Add g_unichar_ismark()
4961
4962 * GOption:
4963  - Allow to use callbacks for remaining args
4964
4965 * Updated translations:
4966   Belarusian Latin (be@latin)
4967   British English (en_GB)
4968   Galician (gl)
4969   Norwegian bokmål (nb)
4970   Oriya (or)
4971   Spanish (es)
4972   Thai (th)
4973
4974
4975 Overview of Changes from GLib 2.13.0 to GLib 2.13.1
4976 ===================================================
4977
4978 * GRegex:
4979  - Portability fixes
4980  - Split into immutable GRegex and GMatchInfo
4981  - Add g_regex_get_max_backref() and g_regex_get_capture_count()
4982    to obtain information about the compiled regex
4983
4984 * GKeyFile:
4985  - Fix roundtrip problems
4986  - Add g_key_file_load_from_dirs()
4987
4988 * Unicode support:
4989  - Fix corner cases in case conversion routines
4990
4991 * GOption:
4992   - Add a function to get the formatted help string
4993
4994 * GHash:
4995  - Add new functions g_hash_table_get_keys() and
4996    g_hash_table_get_values() to retrieve the keys and
4997    values in list form
4998
4999 * Updated transations:
5000   Simplified Chinese (zh_CN)
5001   Arabic (ar)
5002
5003
5004 Overview of Changes from GLib 2.12 to GLib 2.13.0
5005 =================================================
5006
5007 * Add GSequence, a list that is implemented using
5008   a balanced binary tree.
5009
5010 * Add GRegex, an implementation of Perl regular expressions,
5011   based on PCRE.
5012  
5013 * Use Posix monotonic clocks instead of gettimeofday()
5014   for GTimer when available.
5015
5016 * Support static initialization of GQeues with G_QUEUE_INIT,
5017   g_queue_init() and g_queue_clear().
5018
5019 * Add g_string_chunk_clear() for clearing a 
5020   GStringChunk.
5021
5022 * Add g_unichar_get_script() to obtain Unicode
5023   script information.
5024
5025 * Add g_unichar_iszerowidth() to obtain information
5026   about zero-width characters.
5027
5028 * Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias 
5029   type attribute.
5030
5031 * G_GNUC_INTERNAL has a working definition for the
5032   Sun Studio compiler. This requires the macro to
5033   be positioned before the function declaration.
5034
5035 * The slice allocator can produce detailed debugging
5036   information with G_SLICE=debug-blocks.
5037
5038 * Modules support G_DEBUG flags resident-modules and
5039   bind-now-modules.
5040
5041 * Add G_DEFINE_DYNAMIC_TYPE() to make it easier
5042   to define types in modules.
5043
5044 * Bug fixes: too many to list them in detail here.
5045
5046 * New and updated translations (be,bg,bn,ca,cs,de,
5047   en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml,
5048   nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN,
5049   zh_HK,zh_TW)
5050
5051
5052 Overview of Changes from GLib 2.12.1 to GLib 2.12.2
5053 ===================================================
5054
5055 * Unicode updates:
5056  - Normalization is following Unicode TR #29
5057  - g_unichar_isxdigit() only accept characters
5058    for which g_unichar_xdigit_value() returns a value
5059  - g_unichar_toupper and g_unichar_tolower leave
5060    unconvertable characters in place instead of
5061    replacing them by NUL
5062
5063 * Bugs fixed
5064  348491 g_utf8_strup() and g_utf8_strdown() returns 
5065         string with NUL bytes
5066  349825 GKeyFile always inserts a newline before a group
5067  347842 g_unichar_isxdigit() is too general about what 
5068         it considers a digit
5069  348694 g_utf8_normalize() hasn't been updated to PR #29
5070  348785 Hint about G_DEBUG in Message Logging docs
5071  349792 Wrong english string (UI)
5072  349952 gparamspecs.c uses gcc feature
5073
5074 * Translation updates (ca,cs,de,dz,es,eu,fi,gu,ko,
5075   nl,pl,tr,uk,zh_HK,zh_TW)
5076
5077
5078 Overview of Changes from GLib 2.12.0 to GLib 2.12.1
5079 ===================================================
5080
5081 * Update to final Unicode Character Database 5.0.0
5082
5083 * Bugs fixed:
5084  346660 issues with base64 api documentation / g_base64_decode_cl...
5085  348136 Coverity reports allocation of wrong size CID #2839
5086  336281 Update to UCD 5.0
5087  346197 g_date_strftime %F option doesnt work for win32
5088  348011 Small optimization to real_toupper()
5089  246494 prototype mismatch in glib/gconvert.c
5090
5091 * New and updated translations (bg,bn_IN,ca,dz,eu,fi,
5092   fr,he,it,ja,mk,or,pt)
5093
5094
5095 Overview of Changes from GLib 2.11.4 to GLib 2.12
5096 =================================================
5097
5098 * Bugs fixed:
5099  344905 leap-year bug in g_time_val_from_iso8601 w/o HAVE_TIMEGM
5100
5101 * Updated translations (cy,nb,nl)
5102
5103
5104 Overview of Changes from GLib 2.11.3 to GLib 2.11.4
5105 ===================================================
5106
5107 * GBookmarkFile:
5108  - g_bookmark_file_remove_item returns a boolean
5109  
5110 * g_mkstemp accepts the XXXXXX in the middle of
5111   the template
5112  
5113 * Bugs fixed:
5114  344868 g_key_file_to_data should separate groups 
5115
5116 * Updated translations (de,es,fr,gu,hi,ko,th)
5117
5118
5119 Overview of Changes from GLib 2.11.2 to GLib 2.11.3
5120 ===================================================
5121
5122 * GBookmarkFile:
5123   - g_bookmark_file_move_item: Return TRUE in case of
5124     an empty target
5125
5126 * Bugs fixed: 
5127  343919 gunicollate.c: strxfrm bug on VC8
5128
5129 * Updated translations (fi)
5130
5131 Overview of Changes from GLib 2.11.1 to GLib 2.11.2
5132 ===================================================
5133
5134 * Add g_ascii_stroll to parse signed 64bit integers
5135
5136 * GMarkup: add a flag to treat CDATA as text
5137
5138 * GHashTable: add functions to remove all entries
5139
5140 * GMainLoop: add functions to find the currently
5141   running source, and determine if it is destroyed
5142
5143 * Bug fixes:
5144  342563  g_atomic_thread_init() needs to be called before 
5145          other _g_*_thread_init() functions
5146  343548  Potential use after free in callers of g_string_free() 
5147  168538  Wish: Clearing contents of GHashTables
5148  321886  GTK+ cannot be reliably used in multi-threaded 
5149          applications
5150  341826  goption.c: 'strtoll' is C99's function
5151  343899  g_ascii_formatd dosn't work as expected for all 
5152          format strings
5153  317793  Make GEnumValue strings const
5154  337129  Compile warnings in G_IMPLEMENT_INTERFACE
5155  303622  What is G_TYPE_CHAR?
5156
5157 * Updated translations (bg,dz,eu,gl,ja,ko,nl,th,vi)
5158  
5159
5160 Overview of Changes from GLib 2.11.0 to GLib 2.11.1
5161 ===================================================
5162
5163 * GOption  
5164   - Support 64-bit integers 
5165   - Allow optional text before and after the options
5166     in help output
5167
5168 * Bug fixes:
5169  340538 gbase64-test writes OOB 
5170  340816 GKeyFile set_string_list invalid memory reads 
5171  339105 g_key_file_parse_value_as_double
5172  340434 convert-test.c fails (function test_one_half)
5173  311043 Memory leaks (and potential infinite loops) 
5174         when using G_ERRORCHECK_MUTEXES
5175  335198 Error checking mutexes are fubar  
5176  341237 Add a G_OPTION_ARG_INT64
5177  341192 g_io_channel_set_flags not implemented on win32
5178  336120 Allow adding description before/after GOption 
5179         --help output body
5180  341191 misplaced check in g_relation_delete
5181  340530 mismatched calloc / g_free in win32 threads
5182
5183 * Updated translation (es)
5184
5185 Overview of Changes from GLib 2.10.x to GLib 2.11.0
5186 ===================================================
5187
5188 * GBookmarkFile: a parser for files containing bookmarks
5189   stored using the Desktop Bookmark specification.
5190
5191 * Base64 encoding support
5192         
5193 * Unicode 5.0 support
5194
5195 * GOption supports floating point numbers 
5196
5197 * GKeyFile supports floating point numbers
5198
5199 * Bug fixes:
5200  155884 gatomic.c should be based on new SDK
5201  157877 update-desktop-database doesn't handle duplicate entries
5202  164719 keyfile parser doesn't support floats
5203  327662 Import BookmarkFile from libegg
5204  329548 Add G_OPTION_ARG_DOUBLE
5205  329789 option-test.c type confusion
5206  332841 Segmentation Fault when %llu is passed to vasnprintf and 
5207         HAVE_SNPRINTF is not defined
5208  333879 gthread/gthread-win32.c: IsDebuggerPresent needs '#define 
5209         _WIN32_WINDOWS 0x0401'
5210  333916 g_timer_elapsed docs should mention that microseconds 
5211         may be NULL
5212  334440 dlerror() portability issue causes crash on (old) a.out 
5213         NetBSD platform
5214  334646 goption + error out params
5215  334799 g_remove() must check return value of remove()
5216  334943 make check FAIL: threadpool-test
5217  335215 Some breakages with GThreadPool
5218  336085 g_option_context_new parameter lacks better explanation
5219  336677 Documentation for g_object_ref_sink() is incorrect
5220  337027 gbookmarkfile.c: sys/time.h include error
5221  337553 Wrong escaping of URIs
5222  338572 Dereferencing NULL value in g_key_file_get_group_comment
5223  338845 g_completion_complete_utf8 crashes when NULL is passed to it
5224  339337 g_bookmark_file_set_description
5225  339338 gbookmarkfile.c, function expand_exec_line
5226  339340 gbookmarkfile.c, function bookmark_app_info_dump
5227
5228 * Translation updates (bg,en_GB,et,gl,gu,he,hi,ka,nb,nl,nn,
5229                        or,pt_BR,ro,tr,vi,zh_CN)
5230
5231
5232 Overview of Changes from GLib 2.10.0 to GLib 2.10.1
5233 ===================================================
5234
5235 * Bugs fixed:
5236  314794 Broken pthread detection on Darwin [Gregor Riepl]
5237  322476 Missing check for .dylib [Vladimir Panov]
5238  333651 Inconsistent _g_charset_get_aliases prototype [Julio 
5239         M. Merino Vidal]
5240  333761 GInitiallyUnowned breaks application code [Sven Herzberg]
5241
5242 * Win32 changes:
5243  - Fix g_listenv() implementation.
5244  - Allow up to 100 GPrivate structs
5245
5246 * Translation updates (fr,hu,lt,pl,sv)
5247
5248
5249 Overview of Changes from GLib 2.9.6 to GLib 2.10.0
5250 ==================================================
5251
5252 * Bugs fixed:
5253  328997 64bit pointer trunction in glib slab-allocator
5254         [Pascal Hofstee]
5255  331110 g_cond_broadcast(inform_cond) without holding 
5256         inform_mutex [Chris Wilson, Sebastian Wilhelmi]
5257  332093 Fix some leaks in the tests [Kjartan Maraas]
5258  332435 g_utf8_strlen returns wrong value if a maximum 
5259         number of bytes to check is specified 
5260         [Matthias Clasen]
5261  331367 gslice requires more POSIX-like semantics for 
5262         GPrivate destructors [Tor Lillqvist]
5263
5264 * Documentation improvements [Matthias, Kang Jeong-Hee,
5265   Tor Lillqvist, Stefan Kost]
5266
5267 * Translation updates (el,eu,ka,uk)
5268
5269 Overview of Changes from GLib 2.9.5 to GLib 2.9.6
5270 =================================================
5271
5272 * Bugs fixed: 
5273  329124 distclean removes README [Kjartan Maraas, Tim Janik]
5274  317679 GRelation field type not documented [Behdad Esfahbod]
5275  329123 Typo in GTime docs [Kjartan Maraas]
5276
5277 * Documentation improvements [Sven Herzberg, David
5278   Schleef, Kjartan Maraas, Behdad Esfahbod]
5279
5280 * Translation updates (cs,cy,it,ko,pt,sq,sr,sr@Latn,ru
5281
5282 Overview of Changes from GLib 2.9.4 to GLib 2.9.5
5283 =================================================
5284
5285 * Memory management: 
5286   Runtime debugging support: The slice allocator
5287   can be turned off by setting G_SLICE=always-malloc
5288   in the environment. Zeroing of freed memory can
5289   now be turned on at runtime by setting
5290   G_DEBUG=gc-friendly in the environment. [Tim Janik]
5291
5292 * Bugs fixed:
5293  328253 HP-UX/IA-64 uses ".so" as default shared library 
5294         extension [Albert Chin]
5295  143380 unicode-encoding test fails converting to UTF-16 
5296         with libiconv [Marc Moorcroft]
5297  328254 Build breakage (GSlice) [Jens Ganseuer]
5298  328705 C99ism in glib/gmem.c [Kazuki Iwamoto]
5299
5300 * Translation updates (da,et,zh_CN)
5301
5302 Overview of Changes from GLib 2.9.3 to GLib 2.9.4
5303 =================================================
5304
5305 * Type system:
5306   Fix a problem with g_object_compat_control() which 
5307   can lead to segfaults in GTK+ applications on 64bit 
5308   platforms. 
5309
5310 * Thread suppport: 
5311   Unused threads now fall back to the global pool after 
5312   500 milliseconds, where they wait for another 
5313   max-idle-time milliseconds. [Sebastian Wilhelmi]
5314
5315 * Fix a memory allocation problem in GKeyFile. [Morten 
5316   Welinder]
5317
5318
5319 Overview of Changes from GLib 2.9.2 to GLib 2.9.3
5320 =================================================
5321
5322 * GTree:
5323  - Replace the simple recursive implementation by
5324    a nonrecursive, threaded one  [Maurizio Monge]
5325
5326 * Change g_filename_display_name and
5327   g_filename_display_basename to use the Unicode
5328   replacement character U+FFFD instead of a question
5329   mark, and don't append "(invalid encoding)"  [Matthias]
5330
5331 * Documentation improvements [Sven Herzberg, Federico
5332   Mena Quintero, Stefan Kost]
5333
5334 * Bugs fixed:
5335  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X 
5336         [Bogdan Nicula]
5337  326558 Some test failures on IRIX 6.5 [Daichi Kawahata]
5338  169285 "threaded" tree implementation for GTree 
5339         [Maurizio Monge]
5340  326747 g_filename_display_basename adds (invalid encoding) 
5341         [Alberto Ruiz]
5342
5343 Other contributors: Christian Kellner, Murray Cumming
5344
5345 New and updated translations (bg,ca,de,es,et,gu,ja,nl,th,vi)
5346
5347
5348 Overview of Changes from GLib 2.9.1 to GLib 2.9.2
5349 =================================================
5350
5351 * Memory management:
5352  - Add tests for cache colorization [Tim Janik]
5353  - Minimize space consumption if small amounts of differently
5354    sized slices are allocated, at a small performance cost.  [Tim]
5355
5356 * Thread support:
5357  - Add g_atomic_pointer_set() and g_atomic_int_set() [Tim Janik,
5358    Sebastian Wilhelmi]
5359  - Add g_thread_pool_set_sort_function() to allow sorting the 
5360    tasks of a threadpool.  [Martyn Russell]
5361  - Add g_thread_pool_set_idle_time() to allow unused threads
5362    to exit after a certain time.  [Martyn]
5363
5364 * Type system:
5365  - introduce a new type GInitiallyUnowned, which has an initial
5366    floating reference. [Tim]
5367  - Add support for GType parameters. [Matthias]
5368
5369 * Main loop:
5370  - Add g_main_context_is_owner() to determine if the current
5371    thread is the owner of the context.  [Michael Meeks]
5372
5373 * Provide g_access(), g_chdir(), g_unlink(), g_rmdir() as 
5374   wrapper functions instead of macros.  [Manish Singh]
5375
5376 * Documentation improvements [Tim, Matthias, Federico Mena Quintero,
5377   Stefan Kasal, Dan Williams]
5378
5379 * New and updated translations (en_CA,fi,fr,gl,ml,nb,no,zh_HK,zh_TW)
5380
5381 * Bugs fixed:
5382  324179 g_allocator_new() returns pointer to const dummy which Gtk+ 2.8 
5383         tries to modify [J. Ali Harlow]
5384  324332 g_option_context_parse() returns false without setting error 
5385         [Tim-Philipp Müller]
5386  324950 GLIB 2.9.1 testcase errors [Dan Yefimov]
5387  325015 gslice.c: process.h is needed on Windows [Kazuki Iwamoto]
5388  321978 G_DATALIST_GET_FLAGS() macro is not casting datalist to 
5389         gpointer [Andrew Paprocki]
5390  316221 G_LOCK warns about breaking strict-aliasing [Michal Benes, 
5391         Stanislav Brabec]
5392  325273 Error in documentation for glib_check_version () [Declan Naughton]
5393  325310 g_spawn_sync hangs when catching both stdout and 
5394         stderr [Tor Lillqvist]
5395  325249 gcc warning when using g_rmdir from <glib/gstdio.h> [Jani Monoses]
5396  325864 glib/gthreadpool.c:"#define debug(...)" is C99 [Kazuki Iwamoto]
5397  325874 Should say somewhere that source IDs are > 0 [Dan Williams]
5398  325438 a typo (compatability) [Stefan Kasal]
5399  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X [Bogdan Nicula]
5400
5401
5402 Overview of Changes from GLib 2.9.0 to GLib 2.9.1
5403 =================================================
5404
5405 * Memory management
5406  - The slice allocator is implemented [Tim Janik]
5407  - g_slice_free_chain() has been renamed to 
5408    g_slice_free_chain_with_offset()  [Tim, Behdad Esfahbod]
5409  - Mem chunks are deprecated [Matthias Clasen]
5410
5411 * Data structures
5412  - Hash tables are refcounted, and have a boxed type [Tim]
5413
5414 * Thread support
5415  - Support for Solaris threads has been removed 
5416    [Sebastian Wilhelmi, Andrew Paprocki]
5417  - g_async_queue_sort(), g_async_queue_push_sorted() have 
5418    been added to allow GAsyncQueue to be used as a priority 
5419    queue, together with the corresponding _unlocked 
5420    variants  [Martyn Russell]
5421
5422 * GObject:
5423  - The concept of a floating initial reference has been
5424    moved from GtkObject to GObject [Tim]
5425
5426 * Win32 changes:
5427  - Make g_rename() replace existing files [Tor Lillqvist]
5428
5429 * Misc new API:
5430  - G_GUINT64_CONSTANT macro to define guint64 
5431    constants [Andrew Paprocki]
5432  - G_GNUC_WARN_UNUSED_RESULT macro to instruct the 
5433    compiler to emit a warning if the value returned
5434    by a function is ignored. [Arjan van de Ven, Alex Larsson]
5435  - GList and GSList now have sort functions which take an
5436    extra user data argument [Martyn Russell]
5437  - g_param_spec_ref_sink() has been added for consistency [Tim]
5438
5439 * $LOGNAME is respected when determining user data. [Laszlo Peter]
5440
5441 * Other changes and bug fixes [Tim, Matthias, Behdad, 
5442   Christian Persch, Benedikt Meurer, Andrew Paprocki, 
5443   Kazuki Iwamoto, Alexis S. L. Carvalho, Stanislav Brabec,
5444   Andreas Schwab, Kalle Vahlman]
5445
5446 * Documentation
5447  - Deprecation warnings carry version information [Matthias]
5448  - The slice allocator has been documented [Matthias, Tim]
5449  - Other improvements [Morten Welinder]
5450
5451 Overview of Changes from GLib 2.8.x to GLib 2.9.0
5452 =================================================
5453 * Unicode support:
5454  - The Unicode tables have been updated to Unicode 4.1, 
5455    adding several new values to the GUnicodeBreakType 
5456    enumeration. This breaks Pango <= 1.10 
5457    [Behdad Esfahbod]
5458  - The various Unicode character predicate functions 
5459    (g_unichar_isalpha, g_unichar_isdigit,...) have
5460    been optimized
5461    [Behdad]
5462  - g_utf8_pointer_to_offset, g_utf8_offset_to_pointer:
5463    These functions handle negative offsets now, and
5464    going backwards in g_utf8_offset_to_pointer uses
5465    "stutter stepping".
5466    [Larry Ewing, Matthias Clasen]
5467
5468 * Memory management:
5469  - Mem chunks are no longer used internally in GLib and
5470    GObject. GMemChunk will be deprecated in GLib 2.10
5471  - All APIs based on GAllocator (g_list_push/pop_allocator,
5472    and similar push/pop_allocator functions for other
5473    data structures) have been deprecated, since they
5474    never worked as intended.
5475  - The g_slice_* functions have been added as a 
5476    new API for fast allocation of small memory blocks. 
5477    The implementation in GLib 2.9.0 is just a simple 
5478    wrapper around malloc. GLib 2.10 will have an
5479    efficient and scalable implementation. 
5480    [Tim Janik, Matthias]
5481
5482 * Pattern matching:
5483  - g_pattern_match has been optimized to avoid
5484    unnecessary recursion.
5485    [Tim, Matthias]
5486
5487 * g_intern_string, g_intern_static_string: 
5488  - New functions to intern strings. These are now used 
5489    by GObject to avoid duplicating static strings 
5490    [Matthias]
5491
5492 * g_thread_foreach: 
5493  - New function to iterate over all GThreads 
5494    [Tim, Matthias]
5495
5496 * g_date_set_time_t, g_date_set_time_val:
5497  - New functions to set a GDate from a time_t or
5498    GTimeVal value. g_date_set_time has been deprecated 
5499    in favor of these.
5500    [Roger Leigh]
5501
5502 * g_snprintf and g_vsnprintf:
5503  - These functions are no longer declared in gprintf.h, 
5504    since they are in glib.h
5505    [Matthias]
5506
5507 Overview of Changes from GLib 2.8.0 to GLib 2.8.1
5508 =================================================
5509 * Optimize single-character insertions in GString [Ross Burton]
5510 * Fix build problems on OS X
5511 * Fix build problems on Win32 [Tor Lillqvist, Hans Breuer]
5512 * Other bug fixes [Matthew F. Barnes, Stepan Kasal] 
5513 * Documentation improvements [Tristan van Berkom, Behnam
5514   Esfahbod, Gustavo Carneiro, Stepan Kasal, Matthias]
5515 * New and updated translations (ca,cy,ko,ro,uk)
5516
5517 Overview of Changes from GLib 2.7.7 to GLib 2.8.0
5518 =================================================
5519 * Make g_value_transform() handle enum values
5520   correctly on ppc64.  [Michael Lorenz]
5521   (Third-party code accessing enumeration values 
5522   in GValues should also be changed to access 
5523   v_long, not v_int, in order to work on bigendian 
5524   64bit machines.)
5525 * Make g_flags_get_first_value() handle a value
5526   of 0 meaningfully. [Tim-Philipp Müller] 
5527
5528 Overview of Changes from GLib 2.7.6 to GLib 2.7.7
5529 =================================================
5530 * Make atomic operations on s390 work [Matthias]
5531 * Fix C++ guards in gstdio.h [Tor Lillqvist]
5532
5533 Overview of Changes from GLib 2.7.5 to GLib 2.7.6
5534 =================================================
5535 * Add native implementations of atomic operations 
5536   on s390 [Matthias]
5537 * Make atomic reference counting of closures
5538   work on s390 [Matthias]
5539 * Avoid an infinite loop in g_convert_with_iconv().
5540   [Sebastian Bacher]
5541 * Documentation improvements [Ross Burton]
5542
5543 Overview of Changes from GLib 2.7.4 to GLib 2.7.5
5544 =================================================
5545 * Thread-related changes
5546  - Fix build issues on HP-UX [Paul Cornett]
5547  - Threadsafe access to flags stored in datasets [Tim Janik]
5548  - Fix several issues with atomic refcounting for 
5549    closures, objects and paramspecs [Tim]
5550  - Improve tests for atomic refcounting changes [Tim]
5551 * Fix handling of stateful encodings in g_convert_* [Matthias]
5552 * Fix translation of GOption help output [Dan Winship]
5553 * Catch format errors in translations. This may cause 
5554   "make check" to fail when using older versions
5555   of gettext [Matthias]
5556 * Win32 bug fixes [Tor Lillqvist]
5557 * Documentation improvements [Ross Burton, Jochen Baier, 
5558   Matthias, Tim]
5559 * New and updated translations (de,fi,gu,pl,pt,tr,zh_TW)
5560
5561 Overview of Changes from GLib 2.7.3 to GLib 2.7.4
5562 =================================================
5563 * Fix g_atomic_pointer_compare_and_exchange 
5564   on Sparc64 [Gert Doering]
5565 * Fix a hang in g_thread_pool_free. [Hong Jen Yee]
5566 * Win32 bug fixes [Tor Lillquist]
5567 * Other bug fixes [Benoit Dejean, Manish Singh]
5568 * Documentation improvements [Bryan Silverthorn,
5569   Callum McKenzie] 
5570 * New and updated translations (de,lt,sq,zh_CN)
5571
5572 Overview of Changes from GLib 2.7.2 to GLib 2.7.3
5573 =================================================
5574 * GOption
5575  - Allow callbacks with optional arguments [Pawel Sliwowski]
5576  - Allow to turn off the automatic long option name
5577    disambiguation  [Adam McLaurin]
5578  - Only allow printable ASCII as short option names [Matthias]
5579 * Win32
5580  - Build fixes [Tor Lillqvist]
5581  - Rewrite iochannel socket implementation [Tor]
5582 * GObject
5583  - Threadsafety improvements; in particular, refcounting
5584    of objects is done atomically now. [Wim Taymans, Tim Janik]
5585 * Bug fixes [Morten Welinder, Matthias, Wim Taymans]
5586 * Documentation improvements [Richard Laager, Matthias]
5587 * New and improved translations (bf,cs,hu,nb,nl,no)
5588
5589 Overview of Changes from GLib 2.7.1 to GLib 2.7.2
5590 =================================================
5591 * Win32 build fixes [Hans Breuer]
5592 * Bug fixes [Mikael Magnusson]
5593 * Documentation improvements [Matthias Clasen]
5594 * New and updated translations (en_CA,es,et,ja,sr,sr@Latn,zh_TW)
5595
5596 Overview of Changes from GLib 2.7.0 to GLib 2.7.1
5597 =================================================
5598 * GOption 
5599  - Allow callback arguments without parameters [Dan Winship]
5600 * GMappedFile: an mmap wrapper [David Schleef, Behdad Esfahbod]
5601 * Misc new functions:
5602  - g_get_host_name [Tor Lillqvist]
5603  - g_mkdir_with_parents [Tor]
5604  - g_build_pathv, g_build_filenamev [Todd A. Fisher, 
5605    Matthias Clasen]
5606 * Bug fixes [Roger Leigh, Masatake YAMATO, Kjartan Maraas,
5607   Manish Singh, Tor, Murray Cumming, Kian Duffy, Morten Welinder]
5608 * Documentation improvements [Hong Gang XU, Dan Winship, Matthias]
5609 * New and updated translations (bg,cs,da,en_CA,es,et,nb,nl,no,
5610   sk,th,zh_TW)
5611
5612 Overview of Changes from GLib 2.6.x to GLib 2.7.0
5613 =================================================
5614 * GKeyFile
5615  - Add unit tests [Matthias Clasen, Suren A. Chilingaryan]
5616  - Accept \r\n as line end [Bastian Nocera]
5617  - Don't interpret leading zeros as octal numbers. [Matthias]
5618  - Make key and group removal work [David Hoover, Matthias Hasselmann]
5619 * GOption
5620  - Improve formatting of --help output [Matthias, Noah Levitt]
5621  - Accept -? [Matthias]
5622  - Warn about duplicate main groups [Jeff Franks]
5623  - Treat '-' as non-option argument [Tim Musson, Thomas Leonard]
5624  - Report missing arguments as errors [Björn Lindqvist]
5625  - Add a boxed type for GDate [Tim-Philipp Müller]
5626 * GTree
5627  - g_tree_remove() and g_tree_steal() return status information [Matthew F. Barnes]
5628 * Stdio wrappers
5629  - Work regardless of large file support [Manish Singh]
5630  - Add g_access(), g_chmod(), g_creat(), g_chdir [Tor Lillqvist]
5631 * GObject
5632  - Implement "toggle references" to help language bindings [Owen Taylor]
5633  - Allow to mark names, nicks and blurbs of pspecs as static [Ben Maurer, Matthias]
5634  - Make pspec lookup a bit faster [Morten Welinder]
5635 * Add g_listenv() to list all set environment variables [Hans Petter Jansson]
5636 * Add g_file_set_contents() to atomically write a file.  [Søren Sandmann,
5637   Sven Neumann, Manish, Alexis S. L. Carvalho]
5638 * Add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew() [Stefan Kost]
5639 * Add g_utf8_collate_key_for_filename() to sort filenames taking
5640   extensions and numeric suffixes into account.  [Ole Laursen, Alex Larsson]
5641 * Add G_GNUC_NULL_TERMINATED to mark varargs function with 
5642   NULL-terminated argument lists. [Marc Meissner]
5643 * Win32 changes
5644  - Improved debugability [Ulf Lamping, Hans Breuer]
5645  - Make filename handling more robust [Tor, Billy Skaggs]
5646  - Improve g_get_system_data_dirs() [Tor]
5647  - Use more precise timers [Tor]
5648  - Build fixes [Kazuki Iwamoto, Hans, Tor, Robert Ögren]
5649 * Other bug fixes [Roger Leigh, Owen, Matthias, Morten, Kjartan Maraas, 
5650   Pawel Sakowski, Tor, Simon Budig, Ed Avis, Manish, Nicolas Laurent, 
5651   Bastien, Fabrício Barros Cabral, Michael Banck, Daniel Atallah, 
5652   J. Ali Harlow, Tim Janik, Hazael Maldonado Torres, Sven, Jon-Kare Hellan,
5653   Dave Benson, Tommi Komulainen, Benjamin Otte, Brian Cameron, Changwoo Ryu, 
5654   Christian Biere, Noah, Benoît Carpentier]
5655 * Documentation improvements [Vincent Untz, Matthias, Tim-Philipp Müller,
5656   Morten, Matthew, Federico Mena Quintero, Sebastian Bacher, Oliver Sessink, 
5657   Stefan, Jared Lash, Tor, Owen, Daniel Vaillard, Mathieu Lacage]
5658 * New and updated translations (ca,cs,da,el,en_CA,en_GB,es,et,eu,fa,fr,gl,
5659   hu,id,it,lt,mn,ne,nl,pl,pt,pt_BR,ro,rw,sk,sq,sr,sr@Latn,tl,uk,xh,zh_CN)
5660
5661 Overview of Changes from GLib 2.6.0 to GLib 2.6.1
5662 =================================================
5663 * GOption
5664  - Make gtk_init(NULL, NULL) work again [Marcin Krzyzanowski]
5665  - Improve handling of -- [Matthias Clasen]
5666  - Don't show G_OPTION_REMAINING in --help output [Matthew F. Barnes]
5667 * g_find_program_in_path() doesn't return directories [Tommi Komulainen]
5668 * Add gmodule-export-2.0.pc [Matthias]
5669 * Win32 changes
5670  - Improve hangling of UNC paths [Tor Lillqvist]
5671  - g_getenv(), g_setenv(), g_unsetenv(), g_find_program_in_path()
5672    take and return UTF-8 now [Tor] 
5673  - Make g_file_test() work more reliably, and use PATHEXT
5674    when check for executables [Tor]
5675  - Build and cross-compilation fixes [J. Ali Harlow]
5676 * Other bug fixes [Jens Hatlak, Morten Welinder, 
5677   Tor, Kalpesh Shah, Adrian Bunk]
5678 * Documentation improvements [Marcin Krzyzanowski, Tor, Crispin
5679   Flowerday, Mariano Suárez-Alvarez, Christian Biere, Danny Milo,
5680   Vincent Untz, Bastien Nocera]
5681 * New and updated translations (cy,de,nl,ru,sq,sv)
5682
5683 Overview of Changes from GLib 2.4.x to GLib 2.6.0
5684 =================================================
5685
5686 * Major new APIs
5687   - GOption, a commandline option parser
5688   - GKeyFile, a parser/editor for the .ini like files 
5689   - Functions to support the XDG basedir specification
5690   - Wrappers for common POSIX pathname functions to handle filename
5691     encodings consistently. On Windows, these use UTF-8.
5692
5693 * Miscellaneous new functions
5694   - g_filename_display_name() converts filenames in displayable UTF-8 strings
5695   - g_uri_list_extract_uris() splits uri lists
5696   - g_date_get_iso8601_week_of_year() gets ISO 8601 week numbers
5697   - g_log_set_default_handler() installs an alternate default log handler
5698   - g_get_language_names() obtains a list of applicable locale names
5699   - g_strv_length() calculates the length of NULL-terminated string arrays
5700   - g_win32_get_windows_version() determines the Windows version 
5701   - G_GNUC_INTERNAL marks functions as non-exported
5702   - glib_check_version() checks the GLib version at runtime
5703   - g_debug() completes the family of logging functions
5704
5705 * Performance improvements
5706   - Optimize g_utf8_validate()
5707   - Optimize g_markup_parse_context_parse()
5708   - Reduce signal connection complexity from O(n) to O(1) 
5709   - Get rid of many PLT entries for internally used exported symbols
5710   - Reduce code size by removing literal strings from g_return_if_fail()
5711
5712 * Other changes
5713   - On Windows, GLib functions that take file name arguments now require
5714     those to be in UTF-8. Functions that return file names return UTF-8.
5715   - Use higher precision for mathematical constants
5716   - Don't convert to/from UTF-8 in g_filename_to_uri/g_filename_from_uri
5717   - Support ll as printf format modifier for long long on all platforms
5718   - Clean up the ABI and enforce the list of exported symbols
5719   - Add a .pc file for using gmodule in libraries
5720   - Require ngettext
5721
5722 Overview of Changes from GLib 2.5.7 to GLib 2.6.0
5723 =================================================
5724 * GOption: Don't list help options if group-specific
5725   options have been requested [Glynn Foster]
5726 * Make g_get_language_names() track locale changes [Christian Persch]
5727 * Win32 bug fixes [Tor Lillqvist]
5728 * Bug fixes [Philippe Blain, Owen Taylor, Sebastian Wilhelmi]
5729 * New and updated translations (da,es,ja,lt,zh_CN)
5730 Bugs fixed: 159530,100697,160271,160645,157255
5731
5732 Overview of Changes from GLib 2.5.6 to GLib 2.5.7
5733 =================================================
5734 * Optimize g_utf8_validate() [Owen Taylor, Matthias Clasen]
5735 * Optimize g_markup_parse_context_parse() [Havoc Pennington, 
5736   Morten Welinder]
5737 * Reduce signal connection complexity from O(n) to O(1) 
5738   [Sven Neumann]
5739 * Add a .pc file for using gmodule in libraries [Owen]
5740 * Add G_GNUC_MALLOC to mark functions returning newly 
5741   allocated memory  [Matthias]
5742 * Win32 bug fixes [Hans Breuer, Tor Lillqvist, Robert Ögren,
5743   Bruce Hochstetler]
5744 * Bug fixes [Kazuki IWAMOTO, Matthias, Manish Singh, Morten,
5745   Frederic Crozat, Tor]
5746 * Documentation improvements [Matthias, Tor, Owen]
5747 * New and updated translations (cs,da,de,en_CA,en_GB,es,nb,nl,sq,zh_CN)
5748
5749 Overview of Changes from GLib 2.5.5 to GLib 2.5.6
5750 =================================================
5751 * GOption
5752   - Add G_OPTION_FLAG_REVERSE to allow options 
5753     which unset a  boolean variable [Tor Lillqvist]
5754 * GChildWatch
5755   - Use sigaction instead of signal [Jonas Jonnson, 
5756   Archana Shah]
5757   - Make the very first SIGCHLD work [Gustavo Carneiro]
5758 * Bug fixes [Morten Welinder, Tor, David MacLachlan,
5759   Manish Singh, J. Ali Harlow]
5760 * Documentation improvements [Matthias Clasen, Tor]
5761 * Updated translations (da,ja,tr,zh_CN)
5762
5763 Overview of Changes from GLib 2.5.4 to GLib 2.5.5
5764 =================================================
5765 * GKeyFile
5766   - Cleanups, add more error checking [Ray Strode]
5767   - Fall back to the untranslated string when getting 
5768     locale strings [Mark McLoughlin]
5769 * GOption
5770   - Document GOption [Matthias Clasen]
5771   - Better support for rest arguments [Owen Taylor, Matthias]
5772   - Handle conflicts between groups [Matthias]
5773 * Add g_lstat() to the stdio wrappers [Tor Lillqvist]
5774 * Add g_filename_display_name() to convert filenames
5775   in displayable UTF-8 strings  [Alex Larsson, Matthias]
5776 * Win32 bug fixes [Kazuki IWAMOTO, Hans Breuer, Tor]
5777 * Bug fixes [Christophe Fergeau, Morten Welinder, 
5778   Owen, Kjartan Maraas, Mark]
5779 * Documentation improvements [Matthias, Tor]
5780
5781 Overview of Changes from GLib 2.5.3 to GLib 2.5.4
5782 =================================================
5783 Add GKeyFile, a parser/editor for the .ini like files used in various
5784    freedesktop.org specifications. [Ray Strode]
5785 Make the handling of filename encodings consistent across all
5786    GLib functions, introduce wrappers for common POSIX 
5787    functions which accept the same filename encoding. [Tor Lillqvist, 
5788    Owen Taylor]
5789 GOption
5790  - Rename g_context_option_error_quark() to a more language-binding
5791    friendly name [Murray Cumming]
5792  - Accept backslashes in filenames on Win32 [Tor Lillqvist]
5793 * Strip the internal aliasing prefix IA__ from function names in 
5794   assertions [Matthias Clasen]
5795 * Add a function to split uri lists. [Matthias]
5796 * Win32 bug fixes 
5797  - Don't open console windows [Tor]
5798 * Other bug fixes [Philippe Blain, Robert Ögren, Hidetaka Iwai, Matthias,
5799  Morten Welinder, Mats-Ola Persson, Tor, Nickolay V. Shmyrev, Kjartan Maraas,
5800   Anders Carlsson, Tim-Philipp Müller, Lucas Rocha, Andrea Campi, Manish
5801   Singh, Thomas Fitzsimmons, Kazuki IWAMOTO]
5802 * Documentation improvements [Matthias, Linus Walleij, Nickolay, Philippe, 
5803  Adam Hooper, Gustavo Carneiro]
5804 * New and updated translations (cs,en_CA,en_GB,ja,nb,nl,or,sr,sr@Latn,sq)
5805
5806 Overview of Changes from GLib 2.5.2 to GLib 2.5.3
5807 =================================================
5808 * GOption
5809  - set the program name from argv[0] [Masatake YAMATO] 
5810  - make contexts work without a main group [Anders Carlsson]
5811 * Performance 
5812  - Get rid of many PLT entries for internally used exported symbols,
5813    and clean up the ABI at the same time and make make check check the
5814    list of exported symbols.  [Matthias Clasen]
5815 * Add API to get ISO 8601 week numbers [Niklas Lundell]
5816 * Add API to install an alternate default log handler [Darin Adler]
5817 * Add API to obtain a list of applicable locale names [Hidetoshi Tajima]
5818 * Reduce code size bloat by removing literal strings from
5819  the g_return_if_fail() macros [Owen Taylor]
5820 * Add g_strv_length [Tim-Philipp Müller]
5821 * Win32 changes
5822  - Add API to determine the Windows version [Tor Lillqvist]
5823 * Other bug fixes [Stepan Kasal, Anders, Tor, Kazuki Iwamoto,
5824   Manish Singh]
5825 * Documentation improvements [Morten Welinder, Matthias]
5826 * New and updated translations (es,nn,ro)
5827
5828 Overview of Changes from GLib 2.5.1 to GLib 2.5.2
5829 =================================================
5830 * Add G_GNUC_INTERNAL macro [Arjan van de Ven]
5831 * Add GOption, a commandline option parser [Anders Carlsson]
5832 * Add glib_check_version [Michael Natterer]
5833 * Add XDG basedir API [Ray Strode]
5834 * Require ngettext [Danilo Segan]
5835 * Bug fixes [Manish Singh, Ray Strode, Vincent Noel, 
5836   Jon-Kare Hellan, Jody Goldberg]
5837 * Win32 bug fixes [Tor Lillqvist, Hans Breuer, Peter Zelezny]
5838 * Documentation improvements [Matthias Clasen, Vincent Untz, Christian Persch]
5839 * New and updated translations (bs,eu,fi,gu,ne,pa)
5840
5841 Overview of Changes from GLib 2.5.0 to GLib 2.5.1
5842 =================================================
5843
5844 * Bug fixes [Oliver Guntermann, Sven Neumann, James 
5845   Henstridge, Hiroyuki Ikezoe, Matthias Clasen, Robert 
5846   Ögren, Tommi Komulainen]
5847 * Documentation improvements [Soeren Sandmann, 
5848   Christophe Fergeau, Danek Duvall]
5849 * New and updated translations (eu,hi)
5850   
5851 Overview of Changes from GLib 2.4.1 to GLib 2.5.0
5852 =================================================
5853
5854 * New functions g_debug [Sven Herzberg]
5855 * Use higher precision for mathematical constants [Morten 
5856  Welinder]
5857 * Don't convert to/from UTF-8 in g_filename_{to,from}_uri 
5858  [Federico Mena Quintero]
5859 * Win32
5860  - Handle empty digit string in printf() functions 
5861    correctly [Tor Lillqvist]
5862  - Support ll as format modifier for long long [Tor]
5863  - Be more careful about HOME [Tor, Ivan Wong]
5864  - Bug fixes [John Ehresman]
5865 * Miscellaneous bug and portability fixes [Danilo Segan, 
5866  Owen Taylor, Nikolai Weibull, Benoît Carpentier, Morten 
5867  Welinder, Manish Singh, Sven Neumann, Julio M. Merino Vidal,
5868  Kaz Sasayama, Murray Cumming, Federico, Mariano Suarez-Alvarez]
5869 * Documentation updates [Matthias Clasen, Crispin Flowerday,
5870  Tommi Komulainen, Federico Mena Quintero, Ed Griffiths]
5871 * New and updated translations (ja,ne,no,wa)
5872  
5873 Overview of Changes from GLib 2.4.0 to GLib 2.4.1
5874 =================================================
5875
5876 * Win32 bug fixes [Tor Lillqvist, Roger Leigh, John Ehresman]
5877 * Miscellaneous bug and portability fixes [Owen Taylor,
5878   Matthias Clasen, Jonas Jonsson, Christian Krause,
5879   Nickolay V. Shmyrev, Christophe Saout, Philippe Blain,
5880   Piotr Klaban]
5881 * Documentation updates [Matthias]
5882 * New and updated translations (ca,cs,cy,el,en_CA,en_GB,es,eu,fi,
5883   fr,gu,he,id,nl,pt,pl,ru,sr,sr@ije,sr@Latn,sv,uk)
5884
5885 Overview of Changes from GLib 2.3.6 to GLib 2.4.0
5886 =================================================
5887
5888 * Handle invalid-UTF-8 in g_log() properly [Matthias Clasen]
5889 * Win32 bug fixes [Tor Lillqvist, Bruce Hochstetler]
5890 * Miscellaneous bug and portability fixes [Olivier Biot, David L. Cooper II, 
5891   Kjartan Maraas, Frédéric L. W. Meunier, Christof Petig, Manish Singh, 
5892   Sebastian Wilhelmi]
5893 * Documentation updates [Owen]
5894 * Updated translations (hr,ro)
5895
5896 Overview of Changes from GLib 2.3.5 to GLib 2.3.6
5897 =================================================
5898
5899 * GAtomic bug fixes [Sebastian Wilhelmi, Mark McLoughlin]
5900 * GMain threading fixes and improvements [Sebastian]
5901 * Win32 [Tor Lillqvist]
5902  - restore some symbols extraneously exported from gobject to maintain ABI compatibility
5903  - Misc build improvements and fixes [Tor, Cedric Gustin, Hans Breuer]
5904 * Documentation updates [Sebastian, Takeshi AIHANA, Matthias, Sven Herzberg]
5905 * New and updated translations (be,es,fi,ga,pa,sr@ije,zh_CN)
5906
5907 Overview of Changes from GLib 2.3.3 to GLib 2.3.5
5908 =================================================
5909
5910 * Make glib-mkenums parse initializers with macros. [Matthias Clasen, muppet]
5911 * Respect locale era in g_date_set_parse(). [Theppitak Karoonboonyanan] 
5912 * Add atomic operations and use it for the async queue and
5913   gonce implementation. [Sebastian Wilhelmi]
5914 * Documentation improvements [Sebastian, Matthias, Sven Herzberg]
5915 * Add g_main_depth() for finding the recursion depth of the main
5916   loop [Owen Taylor, Tim Janik, Stefan Westerfeld]
5917 * Add g_spawn_close_pid(), needed on win32 [J. Ali]
5918 * Win32 fixes. [Hans Breuer, J. Ali Harlow]
5919 * Misc bugfixes [Sebastian, Matthias, Balazs Scheidler, Owen]
5920 * Updated translations (cy,et,ga,sq)
5921
5922 Overview of Changes from GLib 2.3.2 to GLib 2.3.3
5923 =================================================
5924
5925 * Add a native AIX gmodule implementation. [Laurent Vivier]
5926 * Add g_node_copy_deep().  [James M. Cape, Matthias Clasen]
5927 * Extend GQueue API to match the GList API. [Soeren Sandmann]
5928 * Add g_hash_table_find().  [Tim Janik]
5929 * Add a G_MODULE_BIND_LOCAL flag. [David Schleef]
5930 * Inline g_string_append_c() when possible. [Owen Taylor, Tim]
5931 * Wrap waitpid() as a GSource. [Jonathan R. Blandford]
5932 * Add g_completion_complete_utf8(). [Theppitak Karoonboonyanan, 
5933   Matthias]
5934 * Add g_strsplit_set(). [Soeren]
5935 * Documentation improvements. [Vincent Untz, Sebastian Wilhelmi, 
5936   Soeren, Matthias]
5937 * Win32 build fixes. [Tor Lillqvist]
5938 * Misc bugfixes [Manish Singh, Noah Levitt, Simon Josefsson, 
5939   Morten Welinder, Damien Carbery, Julio M. Merino Vidal, Sebastian, 
5940   Matthias]
5941 * Updated translations (nn,cs,it,ko,sq,ms,az,hr,uk,sr,sr@Latn,sq,ta)
5942
5943 Overview of Changes from GLib 2.3.1 to GLib 2.3.2
5944 =================================================
5945
5946 * Add G_MAXSIZE. [Manish Singh]
5947 * Add g_rand_new_with_seed_array(), g_rand_set_seed_array(),
5948   implementing the init-by-array functionality of the 
5949   original mersenne twister. Add g_rand_copy(). Improve seeding. 
5950   [George Lebl]
5951 * Add a lowercase_name option to glib-mkenums. [Murray Cumming]
5952 * Add g_ptr_array_foreach(). [Matthias Clasen]
5953 * Add g_timer_continue(). [Tim-Philipp Müller]
5954 * Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
5955 * Fix g_filename_{to,from}_utf8() on Win32 and improve 
5956   g_file_test() there too [Hans Breuer] 
5957 * Add a boxed type for NULL-terminated string arrays.  [Matthias]
5958 * Add G_DEFINE_TYPE() plus variants to ease the constuction
5959   of GObject boilerplate code.  [Tim Janik]
5960 * Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
5961 * Documentation improvements [Matthias, Manish]
5962 * Win32 build fixes [Hans]
5963 * Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, 
5964   Zack Rusin]
5965 * Updated translations (ar,de,fa,ga,mn,nn,no,sq)
5966
5967 Overview of Changes from GLib 2.3.0 to GLib-2.3.1
5968 =================================================
5969
5970 * Add glib/gi18n.h and glib/gi18n-lib.h for common
5971   gettext support, including a Q_() macro for translation
5972   with context [Matthias Clasen]
5973 * Add a more flexible G_FILENAME_ENCODING variable
5974   as a replacement for G_BROKEN_FILENAMES [Matthias]
5975 * Fix the return value g_main_context_iterate() for
5976   newly ready sources [Padraig O'Briain]
5977 * Handle Hangul composition for normalization [Noah Levitt]
5978 * Add G_{MIN,MAX,MAXU}INT{8,16,32}. [Mark Jones, Matthias]
5979 * Add G_GSIZE_FORMAT/G_SSIZE_FORMAT [Manish Singh]
5980 * Add G_STRFUNC as a portable wrapper for __func__ [Tim Janik]
5981 * Documentation improvements [Matthias]
5982 * GObject [Tim Janik]
5983  - Support '-' in g_signal_connect()/disconnect() names
5984    like 'swapped-signal'.
5985  - Add g_type_class_peek_static() and use to optimize
5986    g_object_new() for static types [Tim]
5987  - Allow setting construct-only properties from within
5988    init() implementations
5989  - Enforce readability/writeability in g_object_set/get()
5990 * Fix bug with g_ascii_strtod and multi-byte separator.
5991   [Behdad Esfahbod, Roozbeh Pournader]  
5992 * Misc bug fixes [Matthias, John Ehresman, Andrew Lanoix,
5993   Tor Lillqvist, Mark McLoughlin, Tim-Philipp Müller, Manish, 
5994   Morten Welinder]
5995 * Updated translations (ca,cs,da,es,fr,ja,nn,no,pt,ru)
5996
5997 Overview of Changes from GLib 2.2.x to GLib-2.3.0
5998 =================================================
5999
6000 * Replace Trio printf by gnulib vasnprintf [Matthias Clasen]
6001 * Update Unicode data to Unicode 4.0 [Noah Levitt]
6002 * Support XML-safe formatted output with 
6003   g_markup_[v]printf_escaped [Owen Taylor]
6004 * Add g_file_read_link to read symbolic links [Matthias]
6005 * Add g_unichar_get_mirror_char to obtain the 
6006   mirrored variant of a character [Noah]
6007 * Support for one-time initialization functions. 
6008   [Sebastian Wilhelmi]
6009 * Miscellaneous API additions: g_vasprintf
6010   g_string_chunk_insert_len, g_setenv, g_unsetenv [Matthias]
6011 * Docs improvements [Matthias]
6012 * Add support instance-private data on classed types
6013   [Mark McLoughlin, Tim Janik, Owen]
6014 * Optimize signal emissions [Soeren Sandmann, Tim]
6015 * Support a "default vtable" per interface [Tim]
6016 * Add support for properties on interfaces [Owen, Tim]
6017 * Miscellaneous API additions: g_value_take_string(),
6018   g_value_take_param(), g_value_take_object(), 
6019   g_value_take_boxed(). [Matthias]
6020 * Win32 build fixes [Tor Lillqvist]
6021
6022 Overview of Changes from GLib 2.1.5 to GLib-2.2.0
6023 =================================================
6024
6025 * Fix a problem with g_thread_init() on 64-bit problems
6026   [Alceste Scalas, Sebastian Wilhelmi]
6027 * Add assembly implementations of byteswap macros
6028   for ia64 and x86_64. [Manish Singh]
6029 * IOChannel fixes for Win32 [Tor Lillqvist, Thorsten Maerz]
6030 * Updated translations (bg,ca,es,da,fi,lv,ru,sk)
6031
6032 Overview of Changes from GLib 2.1.4 to GLib-2.1.5
6033 =================================================
6034
6035 * Win32 bug fixes [Tor Lillqvist]
6036 * Various post-rewrite fixes for glib-gettext.m4 [Owen Taylor,
6037   Jody Goldberg, Kjartan Maraas, Johannes Stezenbach]
6038 * Ensure we have a GUINT64_FORMAT by pulling in Trio
6039   if necessary [Manish Singh]
6040 * Further Trio build fixes [Matthias Clasen, Owen]
6041 * Hack around gcc, libtool issues with -pthread [Owen]
6042 * Docs improvements [Matthias]
6043 * Bug and portability fixes 
6044 * Updated and new translations (bg,de,fi,fr,sq,fr)
6045
6046 Other contributors: Kai Poitschke, Morten Welinder
6047
6048 Overview of Changes from GLib 2.1.3 to GLib-2.1.4
6049 =================================================
6050
6051 * autoconf changes to make it possible to cross compile
6052   GLib. [Owen Taylor, Dan Kegel, Amy Lin, Dimi Shahbaz, 
6053   Johannes Stezenbach]
6054 * Use libintl when it has bind_textdomain_codeset() and
6055   GLib doesn't. [Owen]
6056 * Improve generation of pseudo-random integers [Morten Welinder, 
6057   Sebastian Wilhelmi]
6058 * Avoid literal UTF-8 in favor of octal escapes [Owen, Tomas Ogren]
6059 * Cleanup include order [Sven Neumann]
6060 * autoconf cleanups and bug fixes [Daniel, Matthias Clasen, Owen]
6061 * Doc fixes and additions [Matthias]
6062
6063 Other contributors: James M. Cape, Frederic Crozat, Martin Gansser,
6064   Phuc LeHong, Manish Singh, Joshua Weage, Morten Welinder
6065
6066 Overview of Changes from GLib 2.0.x to GLib-2.1.x
6067 =================================================
6068
6069 * Add copy of the Trio library to build and use for printf() when 
6070   system printf isn't good enough. Add g_printf()/etc. [Matthias Clasen]
6071 * Add g_str_has_suffix()/g_str_has_prefix() [Alex Larsson]
6072 * Add g_markup_parse_context_get_element() [Matthias]
6073 * Add g_utf8_strreverse [Matthias]
6074 * Add g_ascii_strtoull() [Tim Janik]
6075 * Support scanning of 64-bit values with GScanner [Tim]
6076 * Add g_set/get_application_name() [Havoc Pennington]
6077 * Add G_LIKELY()/G_UNLIKELY() macros for hinting branch probabilities. 
6078   Use for g_return_if_fail(). [Matthias Clasen]
6079 * Add G_GNUC_DEPRECATED macro [Tom Tromey]
6080 * Improve the seeding algorithm of GRandom to avoid problems
6081   with certain pathological seeds. Support G_RANDOM_VERSION=2.0
6082   environment variable. [Sebastian Wilhelmi]
6083 * Improve thread configure checks, use -pthread where applicable
6084   [Sebastian]
6085 * Improve handlng of thread priorities [Sebastian]
6086 * Fix up parameter names that might shadow functions from
6087   system headers [Soeren Sandmann]
6088 * Clean up usage of deprecated functions [Manish Singh]
6089 * Docs fixes and improvements. In particular, include "Since" information.
6090   [Matthias, Soeren, Martin Schulze, Daryll Strauss, Bill Janssen, 
6091   Owen Taylor, Morten Welinder]. 
6092
6093 Overview of Changes in GLib 2.0.7
6094 =================================
6095
6096 * Fix C++ warnings in gtype.h [Dom Lachowicz]
6097 * Fix g_type_fundamental_next() [Tim Janik]
6098 * Fix various missing includes of config.h [Morten Welinder]
6099 * Handle main loop initialization before g_thread_init [Sebastian Wilhelmi]
6100 * Various 64-bit fixes [Manish Singh]
6101 * Fix GPoll on Win32 [Tor Lillqvist, Herman Bloggs]
6102 * Fix bug with buffering on UTF-8 IOChannels [Daniel Elstner]
6103 * Misc bug and build fixes [Soren Andersen, Gustavo Carneiro, Tor,
6104      Tim, Havoc Pennington,  Matthias Clasen, Sebastian Rittau,
6105      Masahiro Sakai, Arvind Samptur, HideToshi Tajima, Owen Taylor]
6106 * Updated and new translations (be,cs,de,*fa,it,lv,pt_BR,tr)
6107
6108 Overview of Changes in GLib 2.0.6
6109 =================================
6110
6111 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
6112 * Clean up debug spew from GObject [Anders Carlsson]
6113 * Compiler warning fixes [David L. Cooper II]
6114 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
6115 * Fixes for --disable-debug [Sebastian Wilhelmi]
6116 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
6117   Rajkumar Sivasamy, Laurent Vivier]
6118 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
6119   Sebastian Rittau, Linus Welleij]
6120 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
6121 * Updated translations (bg,ko,vi)
6122
6123 Overview of Changes in GLib 2.0.5
6124 =================================
6125
6126 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
6127 * Clean up debug spew from GObject [Anders Carlsson]
6128 * Compiler warning fixes [David L. Cooper II]
6129 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
6130 * Fixes for --disable-debug [Sebastian Wilhelmi]
6131 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
6132   Rajkumar Sivasamy, Laurent Vivier]
6133 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
6134   Sebastian Rittau, Linus Welleij]
6135 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
6136 * Updated translations (bg,ko,vi)
6137
6138 Overview of Changes in GLib 2.0.4
6139 =================================
6140
6141 * Fix some 64-bit problems. (George Lebl, David L. Cooper II)
6142 * Add note about Tru64 iconv to INSTALL. (Manuel Op de Coul)
6143 * Fix problem with timouts > MAXINT. (Tim Janik, Owen Taylor)
6144 * Updated translations (ca,es,fr,ja,gl,ms,nl,pl,pt,ru)
6145
6146 Overview of Changes in GLib 2.0.3
6147 =================================
6148
6149 * Handle sorting 0-length arrays (Ron Arts)
6150 * Threading fixes (Sebastian Wilhelmi)
6151 * Portability fixes (Miroslaw Dobrzanski-Neumann, Jacob Berkman, Gareth Pierce, 
6152   Sebastian, Qingjiang Yuan)
6153 * Various fixes for glib-2.0.m4. (Jim Gettys, others.)
6154 * Locate right glib-genmarshal when cross-compiling. (Mitch Natterer)
6155 * Win32 fixes (Tor Lillqvist)
6156 * Try to fix g_get_charset() related segfaults. (Owen)
6157 * Fixes for gettext detection. (Dan Winship, HideToshi Tajima, Boyd Lynn Gerber,
6158   Andrew P. Lentvorski, Jr.)
6159 * Fix g_scanner_unexp_token() (Tim Janik, Sven Neumann)
6160 * g_markup fixes. (Matthias Clasen.)
6161 * Bug fixes and cleanups (Daniel Elstner, Matthias, Laszlo Peter, Morten Welinder,
6162   Wayne Schuller)
6163
6164 Overview of Changes in GLib 2.0.1
6165 =================================
6166
6167 * Portability fixes for Sun's Forte compiler [Erwann Chenede]
6168 * Performance improvements for GObject parameter lookup, 
6169   g_filename_to/from_utf8() [Alex Larsson]
6170 * Actually check interface prerequisites [Matthias Clasen,
6171   Miroslaw Dobrzanski-Neumann]
6172 * Fix problem with glib-mkenums taking huge amounts of stack. [Owen Taylor]
6173 * Fix g_signal_handlers_disconnect_by_func() for C++ [Damien Sandras]
6174 * Fixes for g_log() and threading.
6175   [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, Tim Janik]
6176 * Make g_print(), g_printerr(), g_warning(), etc, convert from
6177   UTF-8 to the encoding of the locale [Sebastian Wilhelmi, Tim]
6178 * Fixes for GIOChannel on windows. [Tor Lillqvist]
6179 * Fix gsize/gint mismatches in giochannel.c [Miroslaw Dobrzanski-Neumann]
6180 * Fix file descriptor leak in g_file_get_contents() [Matthias]
6181 * Workaround iconv() problems on older Solaris [Lauri Alanko]
6182 * Fix warnings with gcc-3.1 about asm const [Cody Russel]
6183 * Minor bug fixes.
6184
6185 Other contributors: Hans Breuer, LEE Sau Dan, Sven Neumann, Salmaso Raffaele,
6186   Akira Tagoh, Morten Welinder
6187
6188
6189 Overview of Changes in GLib 2.0.0
6190 =================================
6191
6192 * Thread portability fixes [Sebastian Wilhelmi]
6193 * Documentation updates [Owen Taylor]
6194 * Make g_strerror(), g_strsignal() properly return UTF-8,
6195   call bind_text_domain_codeset() so that error strings
6196   are in UTF-8 as well. [Owen, Tor Lillqvist]
6197
6198 Overview of Changes in GLib 2.0.0 rc1:
6199 ======================================
6200
6201 * Win32 fixes [Tor Lillqvist]
6202 * Portability fixes [Finlay Dobbie, Miroslaw Dobrzanski-Neumann]
6203 * Fix up g_date_strftime [Daniel Elstner]
6204 * Add some structure padding [Tim Janik]
6205 * Make g_get_homedir() prefer the users home directory to $HOME
6206
6207 Other contributors: Matthias Clasen, Paolo Maggi, Christian Rose
6208
6209 Overview of Changes in GLib 1.3.15:
6210 ===================================
6211
6212 * Speed up marshalers by using private access to GValue 
6213   [Anders Carlsson, Tim Janik]
6214 * Reduce GValue to 2 elements [Tim]
6215 * Add G_DEBUG environment variable, G_DEBUG=fatal_warnings [Matthias Clasen]
6216 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
6217 * Add padding to various structures [Owen Taylor, Tim]
6218 * Win32 fixes [Tor Lillqvist]
6219
6220 Other contributors: James Henstridge, Ryan Lovett, Morten Welinder,
6221   Daniel Elstner
6222
6223 Overview of Changes in GLib 1.3.14:
6224 ===================================
6225
6226 * Register value transformations for gint64, guint64 [Andy Wingo]
6227 * Build with large-file support [Sven Neumann, Owen Taylor]
6228 * Fix handling of hostnames in URI's [Darin Adler]
6229 * Main loop bug fixes [Havoc Pennington, Owen]
6230 * Doc fixes and improvements [Manish Singh, Tim Janik]
6231 * Support ' as attribute delimiters in GMarkup [Matthias Clasen]
6232 * Win32 fixes [Hans Breuer, Tor Lillqvist]
6233 * Threading bug and build fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann]
6234 * Miscellaneous bug fixes
6235
6236 Other contributors: Matthias Clasen, James Henstridge, Mitch Natterer, 
6237   Morten Welinder.
6238
6239 Overview of Changes in GLib 1.3.13:
6240 ===================================
6241
6242 * Fix g_filename_to/from_uri for Win32 [Tor Lillqvist, Darin Adler]
6243 * Miscellaneous win32 fixes [Tor, Hans Breuer]
6244 * Fix thread options for gcc on AIX [Jerome Zago, Sebastian Wilhelmi]
6245 * Documentation improvements [Ron Steinke, Matthias, Sebastian]
6246 * Cache iconv converters as used by g_convert() [Jeffrey Stedfast]
6247 * Bug fixes [Sven Neumann, Owen Taylor, Matthias Clasen, Jeffrey,
6248   Laszlo Peter, Havoc Pennington, Tim Janik]
6249
6250 Overview of Changes in GLib 1.3.12:
6251 ===================================
6252
6253 * Implement closure chaining, fixing up API (Tim Janik)
6254 * Closure chaining test case (James Henstridge)
6255 * Make GType long not int where both are equal width (Tim)
6256 * Win32 fixes and improvements (Hans Breuer, Tor Lillqvist)
6257 * Fixes for NetBSD. (Dan Winship)
6258 * Use snprintf() for g_printf_string_upper_bound() where possible. (Matthias Clasen)
6259 * Save space for GBSearchArray (Tim Janik)
6260 * Documentation improvements. (Matthias, Sven Neumann, Havoc Pennington)
6261
6262 Other contributors: Darin Adler, Chris Blizzard, Anders Carlson, Daniel Elstner, Michael Meeks, 
6263   Mark McLoughlin, Dave Neary, Manish Singh, Owen Taylor, HideToshi Tajima, 
6264   Sebastian Wilhelmi.
6265
6266
6267 Overview of Changes in GLib 1.3.11:
6268 ===================================
6269
6270 * Win32 fixes [Hans Breuer, Tor Lillqvist]
6271 * Documentation improvements [Matthias Clasen]
6272 * Portable directory handling API [Hans]
6273 * Threading fixes [Sebastian Wilhelmi, Havoc Pennington]
6274 * Fix excess relocations in Unicode tables [Andrew Taylor]
6275 * Fix gpattern for UTF-8 [Matthias Clasen]
6276 * Support overriding class closures [Tim Janik]
6277 * Support for derivation from G_TYPE_POINTER [Owen Taylor]
6278 * Hide pointers to type information inside GType to reduce locking
6279   [Alex Larsson, Tim]
6280 * Adds check for direct inclusion of gobject/*.h [Owen]
6281 * GObject API cleanups [Tim]
6282
6283 Other contributors: Darin Adler, Jacob Berkman, Daniel Egger, Eric Lemings, 
6284   Michael Meeks, Mark McLoughlin, Arkadiusz Miskiewicz, Dan Winship
6285
6286
6287 Overview of Changes in GLib 1.3.10:
6288 ===================================
6289
6290 * Many Win32 fixes and improvements [Tor Lillqvist]
6291 * Documentation improvements [Matthias Clasen]
6292 * g_string_printfa() renamed to g_string_append_printf()
6293 * Use libcharset from libiconv to implement charset detection
6294   more portably. [Owen Taylor, Hidetoshi Tajima]
6295 * Add 64 bit type support to GObject [Joshua Pritikin, Mathieu Lacage, Owen]
6296 * Make support for 64 bit integers a requirement [Joshua]
6297 * GPattern improvements [Tim Janik, Matthias]
6298 * Locale independent g_ascii_strtod / g_ascii_dtostr [Alex Larsson]
6299 * Many bug fixes and minor tweaks.
6300
6301 Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
6302   Ben Gertzfield, Elliot Lee, Manish Singh, Abel Cheung, Laszlo Peter,
6303   Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
6304   Jacob Berkman
6305
6306
6307 Overview of Changes in GLib 1.3.9:
6308 ==================================
6309
6310 * Fixes for comparison of threads [Sebastian Wilhelmi]
6311 * Use vasprintf() when possible for g_strdup_printf [Matthias Clasen]
6312 * Win32 fixes [Tor Lillqvist, Hans Breuer]
6313 * Add a len argument to g_ascii_strup/strdown
6314 * Bug, portability fixes, cleanups.
6315
6316 Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
6317
6318
6319 Overview of Changes in GLib 1.3.8:
6320 ==================================
6321
6322 * Documentation updates [Owen]
6323 * Made GType interfaces overridable in derived types
6324 * Many win32 fixes [Tor Lillqvist]
6325 * Miscellaneous cleanups and fixes
6326
6327 Other contributors:
6328   Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
6329
6330
6331 Overview of Changes in GLib 1.3.7:
6332 ==================================
6333
6334 * Integrate GClosure support into the main loop [Owen Taylor]
6335 * More GSignal convenience functions (macros) [Sven Neumann, Tim Janik]
6336 * Introduced weak references for GObject [James Henstridge, Sven, Tim] 
6337 * Minor hash table optimizations
6338 * Main loop and threading improvements [Sebastian Wilhelmi]
6339 * Added g_ascii_* functions to be used for locale insensitive UTF-8
6340   compliant code instead of old string functions  [Darin Adler, Alex Larsson]
6341 * Add functions for Unicode case-conversion, normalization, and 
6342   collation [Owen]* GString improvements [Owen]
6343 * Reworked the GIOChannel code [Hidetoshi Tajima, Ron Steinke]
6344 * Removed glib-config-2.0 in favour of pkgconfig [Sebastian]
6345 * Make code 64bit clean [Mark Murnane]
6346 * More G_CONST_RETURN fixes
6347 * Many improvements to the win32 code [Tor Lillqvist, Hans Breuer]
6348 * Miscellaneous bug and API fixes
6349
6350 Other contributors:
6351   Michael Natterer, Christopher James Lahey, Padraig O'Briain,
6352   Matthias Clasen, Josh Pritikin, Steve Baker, Cesar Rincon, Garry R. Osgood,
6353   Michael Meeks, Laszlo Peter,  Martin Baulig, Kjartan Maraas, Andrew Lanoix,
6354   Peter Williams
6355
6356
6357 Overview of Changes in GLib 1.3.6:
6358 ==================================
6359
6360 * Threads have a "return value" from g_thread_join
6361 * Removed ability to adjust thread stack size
6362 * Prefix warnings with progname/PID by default, change toggle for this to 
6363   be an env variable G_MESSAGES_PREFIXED not a compile-time option
6364 * GMarkup speedups
6365 * GDate const, convenience fixups
6366 * Include test cases that headers are compilable by C++ compiler
6367 * Add ability to spawn processes with argv[0] != executable path.
6368 * g_strstr_len, g_strrstr, g_strrstr_len
6369 * Add length argument to g_utf8_strchr and g_utf8_strrchr.
6370 * Misc bug fixes
6371
6372
6373 Overview of Changes in GLib 1.3.5:
6374 ==================================
6375
6376 * Added an installed glib-mkenums Perl program for parsing enumeration
6377   declarations from header files.
6378 * Mark some additional deprecated functions.
6379 * Bug and Portability fixes
6380
6381
6382 Overview of Changes in GLib 1.3.4:
6383 ==================================
6384
6385 * Efficiency improvements for GThreadPool
6386 * A few bug fixes
6387 * Build fixes
6388 * Documentation improvements
6389
6390
6391 Overview of Changes in GLib 1.3.3:
6392 ==================================
6393
6394 GLib:
6395
6396 * More user_data support in various functions.
6397 * Main loop API revamps to support per-thread main loops.
6398 * Unicode handling improvements.
6399 * Implemented debugging traps.
6400 * G_CONST_RETURN specification all over the place.
6401 * Various new small utility functions.
6402 * Random number generator precision improvements.
6403 * New configure option --disable-mem-pools.
6404 * Many Win32 improvements.
6405 * Added g_try_malloc() friends varinats.
6406 * Many documentation improvements.
6407 * Many threading improvements, support for dynamic allocation
6408   of static mutexes.
6409 * GHookLIst API cleanups.
6410 * Improved format support of GDate parser.
6411 * String function speed improvements with new g_stpcpy().
6412 * Hashtable API additions.
6413 * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
6414 * Optimizations, cleanups, bug fixes.
6415
6416 GObject:
6417
6418 * Added many convenience functions.
6419 * GClosure and GParamSpec use float/sink ref-counting scheme now.
6420 * Reworked property change notification.
6421 * Binary searchable array cleanups, so it's widely usable now.
6422 * Added static content keeping for some GValue types.
6423 * Support for statically scoped signal parameters.
6424 * Extinguished property trailer args in set/get interface.
6425 * Added support for abstract types.
6426 * G_CONST_RETURN specification all over the place.
6427 * Split parameter exchange functionality into value transforms
6428   and parameter conversions.
6429 * Added signal emission hooks and signal accumulators.
6430 * Added interface prerequisites to support is_a (interface, object)
6431   relations.
6432 * Implemented GValueArray.
6433 * New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
6434   GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
6435   G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
6436 * Varrags value collection improvements.
6437 * Implemented debugging traps.
6438 * Made things thread-safe.
6439 * Many documentation improvements.
6440 * Many cleanups, optimizations and bug fixes.
6441
6442
6443 Overview of Changes in GLib 1.3.2:
6444 ==================================
6445
6446 GLib:
6447
6448 * Win32 build improvements  [Tor]
6449 * Improvements to error reporting  
6450   (g_critical(), g_return_if_reached()) [Darin]
6451 * Add g_strlcpy/g_strlcat  [David Wheeler]
6452 * New IO channel implementation for Win32  [Tor] 
6453 * Make g_array_free, g_string_free return pointer to memory requested
6454   not to be freed.  [Darin]
6455 * Added GError based error reporting for thread functions.  [Sebastian]
6456 * Moved reference docs into GLib distribution. [Owen]
6457 * Added g_convert() for doing convenient character set conversions based
6458   on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
6459 * Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
6460   g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
6461 * Portability fixes for threading.  [Sebastian]
6462 * Added convenient functions for launching new processes (g_spawn_*),
6463   and shell quoting/unquoting functions.  [Havoc]
6464 * Split glib.h into many headers.  [Sebastian]
6465 * Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
6466 * Fixed confusions between comparison functions that return <0, 0, >0
6467   and equaility functions that return FALSE,TRUE.  [Sebastian]
6468 * Added safe/portable temporary file manipulation functions.  [Tor]
6469 * autoconf improvements.  [Raja]
6470 * Many documentation improvements.
6471 * Bug fixes.
6472
6473 GObject:
6474
6475 * Added boxed and pointer types.  [Tim/Jonathan]
6476 * Added callback abstraction (GClosure)  [Tim]
6477 * Added signal system (GSignal)  [Tim]
6478 * Make GTypePlugin an interface  [Tim]
6479 * Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
6480 * Bug fixes.
6481
6482
6483 What's new in GLib 1.3.1:
6484 =========================
6485
6486 * New GObject library added including object system based on
6487   the GTK+ object system. 
6488 * Functions for getting the properties of Unicode characters, 
6489   computing the canonical decomposition and ordering combining
6490   characters aand manipulating UTF-8 string manipulation based
6491   on libunicode.
6492 * GString now properly handles embedded nuls.
6493 * Multiple fixes from the 1.2.x branch.
6494 * Upgrade to libtool 1.3.3
6495 * Full thread support (thread creation and destruction).
6496 * BeOS port, BeOS dynamic modules.
6497 * Many improvements to the Windows ports.
6498 * Improvements to the OS/2 port, OS/2 module support.
6499 * Double ended queue implementation.
6500 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
6501 * New configure option --enable-msg-prefix to prefix messages, warnings
6502   et ceteri with the program name and the process id.
6503 * New thread-safe random number generator Mersenne Twister.
6504 * g_strcompress() added, g_strescape() had a slight API change, and
6505   more tightly defined semantics.
6506 * the g_string(x) macro has been removed, #x may be used instead.
6507                                 
6508