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