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