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