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