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