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