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