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