GLib 2.44.0
[platform/upstream/glib.git] / NEWS
1 Overview of changes in GLib 2.44.0
2 ===================================
3
4 With the exception of translation and documentation, there have been no
5 changes since the prerelease.
6
7 Bugs fixed:
8  730188 gsocket: Document FD ownership with g_socket_new_from_fd()
9
10 Translations updated:
11  Basque language
12  Brazilian Portuguese
13  Chinese (Taiwan)
14  Danish
15  Galician s
16  Hebrew
17  Indonesian
18  Norwegian bokmål
19  Turkish
20
21 Overview of changes in GLib 2.43.92
22 ===================================
23
24 GLib is now considered frozen.  We do not expect any major changes
25 before the release of 2.44.0.
26
27  * GUnixMountMonitor now properly supports multiple main contexts
28
29  * many documentation improvements and cleanups.  We are now
30    approaching a point where the documentation is 100% complete and the
31    xml will build without warnings.  This will probably be enabled by
32    default in the next cycle.
33
34  * new support for HTTP proxies in GIO
35
36  * new GTask:completed property
37
38  * use "private" futexes in order to further improve the performance of
39    the contended case of GMutex and g_bit_lock()
40
41 Bugs fixed:
42  614684 Make various parts of GObject const-correct
43  730352 Use inet_pton(), if_nametoindex() and if_indextoname() for newer versions of Windows
44  733876 Proxy protocol 'http' is not supported.
45  741442 threads: use FUTEX_WAIT_PRIVATE and FUTEX_WAKE_PRIVATE if possible
46  742599 Clean up GUnixMountMonitor
47  743636 gtask: Add a GTask:completed property
48  743661 g_win32_check_windows_version() is missing from doc
49  744722 docs: Expand introduction to mention using async calls over sync ones
50  745589 [Patch] gio: add some missing autocleanup
51  745634 [GNotifications] Use themed icon as icon-name
52
53 Translations updated:
54  Bosnian
55  Bulgarian
56  Catalan
57  Czech
58  French
59  German
60  Greek
61  Hungarian
62  Italian
63  Kazakh
64  Korean
65  Latvian
66  Lithuanian
67  POTFILESin
68  Polish
69  Russian
70  Serbian
71  Slovak
72  Slovenian
73  Spanish
74  Swedish
75  Vietnamese
76  pa  for Gnome
77
78 Overview of changes in GLib 2.43.91
79 ===================================
80
81 We have now added 'g_autofree' as a libgsystem-style autocleanup macro
82 that calls g_free() on the content of a local variable when it leaves
83 scope (working only on GCC and clang).
84
85 GApplication now has an "is-busy" property, allowing one to query the
86 effective busy state.
87
88 There have been various other bugfixes and cleanups.
89
90 Bugs fixed:
91  661554 GIO's use of GError is wrong
92  744263 Fix format specifier for __LINE__ in G_OBJECT_WARN_INVALID_PSPEC
93  744565 gapplication: add bind_busy_property()
94  744747 Add g_autofree
95  744756 Can't find out if gapplication is marked as busy
96  744830 autocleanups: Add GArray and GPtrArray
97  744876 Unclean exit from from g_application_run
98  745239 g_property_action_new missing type annotation
99
100 Translations updated:
101  Chinese (Taiwan)
102  French
103  Galician
104  Lithuanian
105  Slovak
106
107 Overview of changes in GLib 2.43.90
108 ===================================
109
110 * new GSimpleIOStream class to construct a GIOStream from an arbitrary
111   GInputStream and GOutputStream
112
113 * GApplication: new API for marking 'busy' state according to the value
114   of a boolean property on another object
115
116 * GOptionGroup: add binding support (boxed type, annotation fixes, etc.)
117
118 Bugs fixed:
119  739724 Test functions should have async scope
120  741024 glist: Mention that g_list_length() is bad for checking list emptiness
121  741630 Add GSimpleIOStream class
122  743349 goption: Add boxed type for GOptionGroup
123  743990 GDBus connection closing is broken
124  744565 gapplication: add bind_busy_property()
125
126 Translations updated:
127  Greek
128  Italian
129  Norwegian bokmål
130  Russian
131  Slovenian
132  Swedish
133
134 Overview of changes in GLib 2.43.4
135 ==================================
136
137 * GType now has type declaration macros G_DECLARE_DERIVABLE_TYPE,
138   G_DECLARE_FINAL_TYPE and G_DECLARE_INTERFACE, which significantly reduce
139   the boilerplate needed for GObject types and interfaces.
140
141 * g_autoptr and g_auto are macros for declaring variables with automatic
142   cleanup. They only work with gcc and clang.
143
144 * GListModel is a new interface that represents a dynamic list of GObjects.
145
146 * GListStore is a GSequence-based implementation of GListModel.
147
148 * Support thread names on OS X
149
150 * g_simple_action_set_state_hint: New function to set the state hint
151   of GSimpleActions
152
153 * g_win32_check_windows_version: New function to check Windows version
154
155 * g_settings_schema_list_children and g_settings_schema_key_get_name
156   are new functions to complete the GSettingsSchema API.
157
158 * Bugs fixed:
159  389585 G_DEFINE_TYPE hack for header files
160  729351 Add GListModel
161  736914 Docs: various fixes and improvements
162  741807 Add thread name support on OS X and iOS
163  741895 gwin32: Add Simple API to check whether we are on at least a v...
164  742456 object: Add g_steal_pointer() convenience function to mark own...
165  743508 polkitd fails to start: patch for gio/gcredentialsprivate.h
166  743517 GSettings API is missing some introspection functions
167  743521 GSimpleAction: add g_simple_action_set_state_hint
168  743596 G_DECLARE_DERIVABLE_TYPE() should allow additional typedef for...
169  743640 add __attribute__((cleanup)) support
170  743827 Fix build of GListModel (on Visual Studio)
171  743927 GListStore: add sorted insert function
172  743936 glib: handle unsigned modifier for long long in internal printf
173  744012 Add GMutexLocker
174  744190 Fix build on Compilers That Do Not Use inline for Plain C Code
175
176
177 Overview of changes in GLib 2.43.3
178 ==================================
179
180 * add g_set_object() convenience function
181
182 * GNetworkMonitor: check if NM is not running and don't crash
183
184 * fix some races with g_mkdir_with_parents
185
186 * fix some warnings in MSVC
187
188 * avoid use of G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC in order to save
189   on static strings
190
191 * fix some content type vs. mime issues
192
193 * documentation improvements
194
195 * Bugs fixed:
196  719455  g_file_make_directory_with_parents() can erroneously throw G_IO_ERROR_EXISTS
197  732439  GSocket: avoid unnecessary g_socket_wait_condition() for blocking sockets
198  734946  Implement GContentType on OSX
199  741589  gobject: Add g_set_object() convenience function to set GObject pointers
200  741653  gnetworkmonitornm: Check if network-manager is running
201  741654  [patch] gobject: don't use G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC() macro
202  741707  Gsocket blocks trying to send data
203  741788  Document GSettings build system integration
204  742548  configure.ac: stay out of autoconf's namespace
205  742851  avoid MSVC warnings in G_STMT_END
206  742972  ggettext: Include an example of setlocale() and friends in the i18n docs
207  743014  gtestutils: Add an example of using test fixtures 
208
209 * Translations updated:
210  Basque
211  Brazilian Portuguese
212  Spanish
213
214 Overview of changes in GLib 2.43.2
215 ==================================
216
217 * New function: g_strv_contains
218
219 * New function: g_network_address_new_loopback
220
221 * New function: g_socket_send_messages
222
223 * A new GNetworkMonitor implementation using NetworkManager provides
224   more detailed connectivity information
225
226 * Bugs fixed:
227   11059 Linux poll issue
228  664562 captive wifi portal support for GNetworkMonitor
229  685880 Add g_strv_contains()
230  712570 Hang in g_threaded_socket_service_func
231  719646 GSocket: add g_socket_send_messages() to send multiple messages...
232  728928 Provide separate error code for "Connection reset by peer"
233  732317 Support GSocketConnectable for loopback addresses
234  740814 "make check" should ensure that every symbol is documented
235  740848 Backend subscription fails when connecting to a signal with a d...
236  741016 gio: add G_IO_ERROR_NOT_CONNECTED
237  741226 keyfile: Add "in group" to GError message consistently
238
239 * Translation updates:
240  Gujarati
241  Hebrew
242  Hungarian
243  Kannada
244  Turkish
245  Vietnamese
246
247
248 Overview of changes in GLib 2.43.1
249 ==================================
250
251 * GQueue now accepts NULL as a sibling in g_queue_insert_before() and
252   g_queue_insert_after()
253
254 * Bugs fixed:
255   11059 Linux poll issue
256  726037 Add G_PARAM_READWRITE value to the GParamFlags enumeration
257  727988 GMemoryOutputStream hangs when writing more than 1GiB
258  729739 tlscertificate: add support for loading certificate chains
259  733791 GSettings: delay backend subscription
260  736286 Clarify g_file_replace behavior with etags
261  736620 GQueue: accept NULL sibling for insert_before() and insert_after()
262  737150 GLib-GIO-WARNING **: Failed to parse translated string 'visible-name...
263  737160 unhelpful error message
264  738259 GDBusInterfaceVTable: clarify memory handling for the method() virt...
265  738551 'interface' variable conflicts with Windows defines
266  738633 Need to disable SSLv3 in glib-networking
267  740157 <app> --help doesn't work even when options were added
268  740309 Fix docs in g_strfreev
269  740413 Fix the GSettings Registry Backend 
270
271 * Translation updates:
272  Norwegian bokmål
273
274
275 Overview of changes in GLib 2.43.0
276 ==================================
277
278 * GObject gained a debug option to provide instance counts. To use it,
279   set GOBJECT_DEBUG=instance-count and call g_type_get_instance_count().
280
281 * GOption now has a strict POSIX mode in which it stops parsing arguments
282   as soon as a non-option argument is encountered.
283
284 * Bugs fixed:
285  354457 Feature Proposal: Per-Type Statistics for Instantiable GTypes
286  695082 g_hash_table_remove_all is not save against a call to g_hash_table_remove
287  723160 GOption: add strict posix mode
288  728256 gcredentials: add NetBSD support
289  729739 tlscertificate: add support for loading certificate chains
290  733338 Don't segfault in GNetworkMonitor when IPv6 support is unavailable
291  736273 gdesktopappinfo: Use symbolic names in the code
292  736284 Keep only one list of signal emissions
293  736806 gtask: Fix reference count loop causing leaks
294  736914 Docs: various fixes and improvements
295  737143 Include <stdint.h> in glib/valgrind.h
296  737259 gcancellable: Clarify that GSources hold references to GCancellables
297  737338 gmain: Unref child sources when finalising a GSource
298  737446 tests: Fix some minor leaks in the unit tests
299  737451 Provide api to read_all_async
300  737741 g_datalist_id_get_data assertion fails for non-existant keys
301  737869 GApplication command line handling breaks --help
302  738170 g_byte_array_new_take() doesn't initialize array->alloc
303  738197 g_cond_timed_wait() doesn't time out on Mac OS X
304  738374 gfile: g_file_equal (x, x) is TRUE
305  738675 GSubprocessLauncher is missing some data on the docs 
306
307 * Translation updates:
308  Bengali (India)
309  Bulgarian
310  Gujarati
311  Italian
312  Telugu
313
314
315 Overview of changes in GLib 2.42.0
316 ===================================
317
318 All changes in this release are trivial in nature.
319
320  - introspection warning fixes
321
322  - g_application_add_main_option now uses an enum instead of an 'int'
323    for the type of a parameter
324
325  - added a G_OPTION_FLAG_NONE so that people don't need to use 0
326
327  - gresource: Use GError in more places
328
329  - gresource commandline tool: improve extraction from multiple sections
330
331  - GSource now takes the context lock (if any) in g_source_set_name()
332
333  - new documentation to clarify the use of some APIs related to
334    GVariant, GSource, GApplication
335
336  - other minor updates to docs
337
338 * Bugs fixed
339  736683 Thread safety issues with g_main_context_find_source_by_id
340  736975 [patch] please document that GVariant serialization needs an
341         out-of-band length field
342
343 * Translation updates
344  Danish
345  Hindi
346  Marathi
347  Punjabi
348  Serbian
349  Simplified Chinese
350
351 Overview of changes in GLib 2.41.5
352 ==================================
353
354 * Bug fixes:
355  735819 single native credential struct used for two purposes
356  735915 glib-building.html uses --enable-gcov instead of --enable-coverage
357  736350 GDesktopAppInfo: avoid polling on missing desktop dirs
358  736351 Don't use issetugid() on Android
359         Fix the default application logic in GDesktopAppInfo
360  736458 Only use rand_s() when targetting Visual Studio >= 2005
361
362 * Translation updates
363  Galician
364  Hungarian
365  Indonesian
366  Kannada
367  Latvian
368  Polish
369  Russian
370  Slovenian
371  Tamil
372
373
374 Overview of changes in GLib 2.41.4
375 ==================================
376
377 * GApplication now has binding-friendly API to handle
378   commandline options: g_application_add_main_option
379
380 * G_GNUC_BEGIN_IGNORE_DEPRECATIONS works with clang
381
382 * Bugs fixed:
383  583330 poll list of mounted file systems (no mtab support)
384  727455 Command line option parsing from bindings
385  734126 add G_GNUC_BEGIN_IGNORE_DEPRECATIONS macro for clang
386  735179 gsocketclient: Handle cancellation between CONNECTING...
387  735297 Docs claim that GThread struct is deprecated 
388
389 * Translation updates:
390   Assamese
391   Catalan
392   Catalan (Valencian)
393   Czech
394   French
395   German
396   Greek
397   Hebrew
398   Korean
399   Oriya
400   Traditional Chinese
401
402
403 Overview of changes in GLib 2.41.3
404 ==================================
405
406 * g_clear_pointer and g_clear_object no longer use atomics
407
408 * Bugs fixed:
409  711547 win32: silence some build warnings
410  725511 Compiled resource files should have the same /-separators everywhere
411  725513 Some tests fail to build on W32
412  725514 W32: gfileutils does not preserve errno correctly
413  725515 test-printf fails on W32
414  728730 gsocket: Set SO_NOSIGPIPE on sockets on Darwin
415  729703 Leaks a GError in g_file_move
416  730932 statically assert that reasonable assumptions about enums are true
417  732085 gtype: Fast-path for g_type_is_a
418  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
419  733345 ginetaddress: Add a precondition to g_inet_address_new_from_string()
420  733576 Patches from static analysis run on 2.40
421  733715 glib's configure.ac makes accidentally use of nested function
422  733934 win32: improve the package installation dir lookup
423  733960 W32: spawning a console process creates a new window when stdout...
424  733969 Remove atomic aspects of g_clear_pointer/object
425  733982 Do not crash when checking whether an instance type is of a given...
426  734035 gedit hangs up when there's no GSettings key in the registry 
427
428 * Translation updates:
429  Basque
430  Brazilian Portuguese
431  Lithuanian
432  Slovenian
433  Spanish
434
435
436 Overview of changes in GLib 2.41.2
437 ==================================
438
439 * The Unicode support has been updated to version 7.0
440   of the Unicode standard
441
442 * GNotification now supports priorities for notifications
443
444 * GCredentials has gained NetBSD support
445
446 * GMutex now uses a faster, native implementation on Linux
447
448 * Bugs fixed:
449  699132 Pluggable event loop backends
450  720708 g_assert_warning(): number of arguments doesn't match for...
451  722092 Add GtkApplication resources support
452  724986 Change gio/data-to-c.pl to /usr/bin/env perl.
453  727974 Fix up failure-to-see-expected-message logging
454  728256 gcredentials: add NetBSD support
455  728401 GDateTime: Add guards to g_date_time_new()
456  729825 Formatting of g_alloca documentation
457  729914 instead of DEBUG_CODE and IF_DEBUG, provide a common macro...
458  730293 clang++-3.4: error: 'register' storage class specifier is ...
459  731339 giochannel: avoid setting uninitialised length
460  731424 #ifdef spaghetti for load_user_special_dirs() implementations
461  731623 GNotification: add support for a priority setting
462  731929 update tables to unicode 7.0.0
463  731950 gvalue: New g_value_from_instance
464  731986 GLib: implement GMutex natively on Linux
465  732184 GObject: warn on use of deprecated properties
466  732357 Docs: various fixes and improvements
467  732429 GActionEntry: improve documentation
468  732465 Fix build on x64 Visual C++ builds
469  732704 Docs: various fixes and improvements
470  732739 ginetsocketaddress: Explicitly initialise flags for getaddr...
471  732754 GDBusMessage: optimise (de)serialisation of fixed arrays
472  732984 g_object_ref(NULL) in g_dbus_object_manager_client_finalize
473  733084 Typos in g_bytes_hash() and g_time_zone_find_interval() docs
474  733146 spawn helper does not use correctly the parameters 
475
476 * Translation updates:
477  Lithuanian
478
479
480 Overview of changes in GLib 2.41.1
481 ==================================
482
483 * Bug fixes:
484  697229 Custom Interface implementations will be broken with glib 2.37/38
485  698614 GObject: prevent installing properties after init
486  729269 gvariant: Fix confusion between type and format strings in the docs
487  730198 broken valgrind.h leads to crashes in g_type_free_instance on mingw64
488  730807 GMutex performance regression
489  730963 gconvert: mention that the g_convert len should be in bytes
490  730984 Faster instance type check for fundamentals
491  731050 <structname> tags appear in documentation
492  731200 unconditional 'notify' during g_object_set() is problematic
493  731335 gtype: guard uses of new fundamental type check
494  731341 gparam: change value of G_PARAM_EXPLICIT_NOTIFY
495  731366 run-assert-msg-test.sh gdb leaves assert-msg-test zombie
496  731425 giomodule protects function-call with different token than function...
497  731513 clang: build failure: implicit declaration of function '__atomic_load_4'
498  731584 gbookmarkfile: Cleaner error handling code to pacify static analysis
499  731657 Prevent an invalid @CARBON_LIBS@ from appearing in the .pc files
500  731979 docs: Correct param to interface's default_init()
501  731996 Return folder as icon for directories
502  732002 gwakeup: Clarify buffer sizing in g_wakeup_signal()
503  732005 Remove unused assignments
504  732019 gtestdbus: Don’t close stdout for dbus-daemon
505  732068 gsignal: Add an example to the g_signal_connect_swapped() documentation
506  732081 gsocket: Document that g_socket_create_source() holds a socket ref
507  732107 gsocketlistener: Reconsider closing sockets on listener finalisation
508
509
510 Overview of changes in GLib 2.41.0
511 ===================================
512
513 * Many bugfixes found by static analysis, including potential fd leaks
514   and NULL pointer dereferences.
515
516 * Increased use of (nullable) attribute on out values and return types
517   now that it is supported (mostly from porting Vala metadata).
518
519 * use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of desktop
520   files, deprecating g_desktop_app_info_set_desktop_env()
521
522 * add support for g_desktop_app_info_get_implementations() to find
523   desktop files that have an Implements= line for a given interface
524
525 * GHmac has gained SHA-512 support
526
527 * support the new mimeapps specification (most notably, moving the
528   assoications/defaults configuration to ~/.config/mimeapps.list).
529
530 * libgobject is now linked -Wl,-z,nodelete when possible to avoid errors
531   when gobject is used from a module for a program that does not itself
532   use gobject and that module is unloaded/reloaded
533
534 * ... and many other bug fixes.
535
536  623552 glib warns if backtrace.py is not present
537  667468 glib-2.30.2: ipv6 tests fail when no ipv6 support is available
538  668152 -framework Carbon linker flag not passed to pkg-config .pc files
539  707298 libgobject should be linked with -Wl,-z,nodelete
540  712391 Add g_desktop_app_info_get_implementors()
541  722723 Infinite recursion when calling g_io_stream_close_async() from libsoup
542  724741 hmac: Fix support for SHA-512 in GHmac
543  726040 networkaddress: fix parsing of uri with @ after authority
544  726318 gio: Document that GSocket is not thread safe
545  726611 socketclient: Leak on cancellation
546  726872 gio: Add names to idles and timeouts
547  727119 wrong IN6_IS_ADDR_MC_LINKLOCAL usage break android build
548  727123 GNotification: Some small documentation fixes
549  727320 docs: Remove escaping '\' from literals
550  727551 Check use_count of GApplication in g_application_release()
551  727559 g_file_copy: Don't set GError when we intend to ignore errors
552  727692 gio/gtlscertificate.c -- broken PEM-file processing (affects local CA root stores, for starters)
553  727890 soup_content_sniffer_real_sniff segfault
554  727900 gio: Add newer dbus UnknownXxxx and PropertyReadOnly errors
555  727928 gapplication-tool fixes
556  727939 INTLLIBS are always appended in configure checks
557  727964 g_io_extension_point_get_extension_by_name: Warn, but don't crash, for NULL inputs
558  728040 Implement new mimeapps spec
559  728066 Deal with startup notify id being NULL
560  728280 platform_get_argv0: fix sysctl(3) use on OpenBSD
561  728285 docs: Use markdown links in .h files, too
562  728350 gaction: Minor clarifications in the GAction documentation
563  728380 docs: Remove <!-- --> comment before plural s
564  728565 gfile: More explicitly document the context for GFileProgressCallback
565  728983 Docs: various fixes and improvements
566  729167 gobject: Document that classes/objects/interfaces are zero-filled
567  729563 GOption: A short option's value is included in G_OPTION_REMAINING
568  729813 AppInfo: use XDG_CURRENT_DESKTOP for OnlyShowIn
569  729875 gio: cleanup gdbusmessage.c file
570  730045 Avoid overeager warning about deprecated properties
571  730189 gtestutils: Fix a very unlikely FD leak in test fork handling
572  730190 gsocket: Add missing preconditions to g_socket_send_message()
573  730277 gthread: Fix use of a local variable after it went out of scope
574  730278 gsubprocess: Add a missing va_end() call
575  730295 gdbus-tool: Remove dead variables
576  730493 Port annotations from Vala metadata
577
578 Translations updated:
579  Basque
580  Brazilian Portuguese
581  Catalan
582  Czech
583  Danish
584  Greek
585  Hebrew
586  Hungarian
587  Punjabi
588  Serbian
589  Slovenian
590  Spanish
591  Ukrainian
592
593 Overview of changes from GLib 2.39.91 to GLib 2.39.92
594 =====================================================
595
596 This is a release candidate for 2.40.0.
597
598 There are no major changes in this release, but a few serious bugs have
599 been fixed.
600
601 * Bugs fixed:
602  710367 Crash in g_settings_backend_dispatch_signal()
603  723899 G_DEFINE_TYPE() causes compiler warnings with clang due to foo_get_instance_private
604  724859 Let the test_wait_until() test also run on non-*nix
605  724916 gio unmount code makes XFCE's Thunar crash
606  725651 GSubprocessLauncher: Does not copy the calling process environment.
607  725656 Unskip GVariantDict
608  725891 gio tests: add codegen to BUILT_SOURCES
609  726046 Recent commit created symbolic icons issues
610
611 * Translations:
612  Chinese
613  French
614  Korean
615  Latvian
616  Norwegian bokmål
617  Portuguese
618  Russian
619  Traditional Chinese
620
621 Overview of changes from GLib 2.39.90 to GLib 2.39.91
622 =====================================================
623
624 This release introduces a hard dependency on present and functioning
625 clock_gettime() and CLOCK_MONOTONIC.  It also introduces a dependency on
626 pthread_condattr_setclock() unless your system happens to have
627 pthread_cond_timedwait_relative_np() (as do Mac OS and Android).  This
628 release is known to be broken with at least GNU/Hurd, pending addition
629 of working pthread_condattr_setclock(CLOCK_MONOTONIC) there.
630
631 New API: g_str_to_ascii()
632
633 * Fixed bugs:
634  670144 unconditional use of CLOCK_MONOTONIC is broken
635  673607 invalid assumption in g_cond_wait_until() / g_get_monotonic_time() API
636  710142 Add more impressive transliteration to GLib
637  722360 make check fails
638  722604 (partial) Various tests are failing with 2.39.3
639  723316 g_hash_table_iter_remove() should be explicit whether or not it is safe while iterating the table
640  724609 Fix build of GIO on Windows
641  724687 gmain: make monotonic time really monotonic, everywhere
642  724706 gsource: document priority of child sources
643  724707 some GSocket source improvements
644  724839 GMainContext: some source ID cleanups
645  724858 Dist gtranslit-data.h
646  724994 Missing icons for bookmarks in file chooser
647  725023 Can no longer find apps by executable/desktop file name
648
649 * Translations:
650  Lithuanian
651  Polish
652  Thai
653
654 Overview of changes from GLib 2.39.4 to GLib 2.39.90
655 ====================================================
656
657 * Fixed bugs:
658  625408 make GVariant dictionaries more useful
659  660809 document that if you fail a precondition check, documented guarantees do not apply
660  661576 fix handling of constructors that destroy half-constructed objects
661  679957 g_inet_address_new_from_string is not able to handle dots and numbers IPv4 addresses
662  712837 gvariant: Document the need to cast varargs when constructing GVariants
663  721458 g_simple_async_result_is_valid has a NULL check for the wrong source_tag
664  721977 improve split handling of command line arguments
665  722033 win32: fixup lib.exe invocation
666  723422 Fix g_socket_get_available() with TCP on Windows
667  723616 gio/tests: fix race when generating code
668  724001 gsubprocess: Fix a broken link in the documentation
669  724124 glib/tests/collate.c fails if no en_US locale
670  724126 intermittent GApplication test failure: /gapplication/local-actions: lines of output permuted
671  724233 gsocketservice: Note g_socket_listener_close() for closing open sockets
672  724239 soup_session_queue_message - Connection terminated unexpectedly
673  724278 gsocketconnection: Document closing connections with g_io_stream_close()
674  724330 configure.ac: tweak inotify check
675  724385 gtestutils: make the new assert messages more detailed
676  724401 gsubprocess: Mutex leak
677  724417 glib master build broken on OpenBSD
678  724434 Build failure in gio/gresolver.c
679
680 * Updated translations:
681  Brazilian Portuguese
682  Galician
683  Indonesian
684  Italian
685  Kannada
686  Norwegian bokmål
687  Spanish
688  Thai
689
690 Overview of changes from GLib 2.39.3 to GLib 2.39.4
691 ===================================================
692
693 * Fixed Bugs:
694  139699 Correction for g_main_context_unref()
695  583036 g_strchomp and g_strchug are not declared const
696  683388 improve documentation for application developers
697  685204 ./configure fails to add the '-g' flag to CFLAGS
698  688406 GStaticMutex broke ABI on at least ARM EABI during 2.31.x
699  693299 cannot compile on Solaris: error in gbitlock.c
700  707111 Clarify type transformability and compatibility
701  711547 win32: silence some build warnings
702  719344 Fix the various test programs (or GLib itself) on Windows
703  722025 cleanup/clarify command line argument encoding on Windows
704  722323 remove unused include 'gslist.h' in 'gbookmarkfile.c'
705  722326 gstringchunk: Use g_slist_free_full() where possible
706  722357 gio: fix small memory leak on local xattr
707  722436 Adjust doc to Makefile.decl renaming
708  722503 GSimpleAction: add default activate handler
709  722526 glib/deprecated/gthread.h error on FreeBSD
710  722591 [documentation] broken link to GtkAction from GAction.html
711  722973 Broken example in GApplication reference
712  723048 'network-access' test can fail to guess interface index
713  723360 gmain: Note that g_source_destroy() can be called multiple times 
714
715 * Updated Translations:
716  Assamese
717  Tamil
718  Traditional Chinese
719
720
721 Overview of changes from GLib 2.39.2 to GLib 2.39.3
722 ===================================================
723
724 No major changes this release -- mostly lots of small fixes and
725 improvements in test coverage.
726
727  * fix a crasher in code from gdbus-codegen
728
729  * improvements to gobject gdb helper script
730
731  * portability:
732
733    - fix a deadlock issue with kqueue on FreeBSD
734
735    - work around a quirk in the sunstudio compiler
736
737    - rename a variable to avoid clashing with a macro definition of
738      'environ' on some platforms (like mingw)
739
740    - use POSIX-specified <poll.h> over <sys/poll.h>
741
742    - many improvements to Visual Studio projects and and some build
743      fixes for Windows
744
745  * tests
746    - a very large number of improvements in test coverage
747
748    - don't report skipped tests as failures
749
750    - return 77 if we skip all tests in an executable
751
752    - improve gtest documentation and fix some minor issues
753
754    - fix g_test_trap_reached_timeout() return value
755
756    - remove some dead code uncovered during test coverage expansion
757
758    - Use tap mode for installed tests too, when using tap
759
760  * fix races in unix signal handling
761
762  * make our GVariant-based commandline tools (glib-compile-schemas,
763    gdbus, gapplication) print out GVariant parse errors in context
764
765  * GApplication now has a --gapplication-service command line switch to
766    turn any GApplication into a service
767
768  * improve compatibility of GApplication and GOptionContext
769
770  * fix gsettings.m4 wrt. builddir != srcdir with non-recursive make
771
772  * use a directory monitor in GKeyfileSettingsBackend
773
774  * improve robustness of some GIcon classes
775
776 Bugs fixed
777  141251  poll(2) is in <poll.h>, not <sys/poll.h> per SUS standard
778  613732  [PATCH] gobject.py: Don't install frame filters when GDB does not support them
779  708212  g_variant_parser_error_get_quark() has unexpected name.
780  710965  GApplication: add --gapplication-service switch
781  711090  periodic failure of spawn-multithreaded async testcase
782  712171  gsettings.m4: @GSETTINGS_RULES@: Support srcdir != builddir with nonrecursive make
783  712630  Revert "gsettings m4: check for .xml in src/builddir"
784  715028  GVariant: add way to print context of parse errors
785  719344  Fix the various test programs (or GLib itself) on Windows
786  720263  gtestutils: skipping a test should count as success, not failure
787  720539  gdbus-codegen: Fix crasher in goa-using apps
788  720635  Make gdb pretty-printers compatible with Python3
789  720891  g_settings_get_child does not inherit the backend
790  721034  glib 2.38.2 cannot be compiled with SunStudio Compiler under Solaris
791  721059  g_subprocess_launcher_set_environ vs "environ"
792  721074  kqueue: deadlock
793  721087  Missing -lselinux in pkg-config --libs --static gio-2.0
794  721324  Error message is printed to stdout
795  721624  Regression in GTest framework reorders existing test cases
796  721625  backwards NEWS entry about g_source_remove change
797  721796  insufficient escaping in g_dbus_annotation_info_generate_xml()
798  721947  Improve GApplication ⇔ GOptionContext compatibility 
799
800 Translations updated:
801  Brazilian Portuguese
802  Galician
803  Greek
804  Hebrew
805
806 Overview of changes from GLib 2.39.1 to GLib 2.39.2
807 ===================================================
808
809 * Portability
810
811   - Remove alleged support for OS/2
812
813   - Remove alleged support for BeOS
814
815   - Remove alleged support for last-millennium Unixes
816
817   - Require C90 compliance
818
819   - Require POSIX.1 (1990) compliance on Unix
820
821   - Require GNU make
822
823 * Bugs fixed:
824  113075 support "nonnull" attribute
825  159528 g_ptr_array_remove_range()
826  307947 The check for growing stack pointer in configure can fail
827  607016 docs should mention property notification order
828  671557 Fun with integers and g_key_file_load_from_data()
829  676761 don't use g_critical for a runtime error
830  690525 g_file_replace_contents_async doesn't copy its @conten...
831  691608 Support compilation with clang 3.2
832  697585 g_variant_builder_add's doc example is leaking
833  697828 g_hash_table_add() should return a boolean
834  702862 gdbus-codegen : look for deps in default install path
835  703522 Reference leak in GvariantBuilder documentation
836  705902 g_get_current_dir() should check PWD env var and retur...
837  708274 Added GObject Introspection annotations to genums.c
838  710519 Portability schmortability
839  710741 some mainloop instrumentation
840  710983 Test failures on powerpc
841  711047 Enable the build of the various test programs on Windo...
842  711051 Add basic test for the GNotification gtk backend
843  711088 gbacktrace: Don't close stderr when running gdb
844  711103 gmessages: Add g_info macro for G_LOG_LEVEL_INFO
845  711178 appinfo test problems
846  711546 utf8: report allocation error
847  711640 gdesktopappinfo: Rank Keywords matches higher than Gen...
848  711751 Fix memory leaks in libglib tests
849  711753 gthread-posix: Don't use gslice allocated GRecMutex
850  711796 glib-tap.mk: fix to actually use the TAP driver
851  711800 fix g_test_set_nonfatal_assertions()
852  711801 giomodule: Allow overriding source directory gio modul...
853  711805 gdbus-connection: Fix race condition in test
854  711806 gtestdbus: Don't destroy GSource twice
855  711807 gtestdbus: Properly close server connections
856  711871 Broken and misleading configure check for growing stack
857  712136 'O_CLOEXEC' undeclared (first use in this function)
858  712148 Add system bus support to GTestDBus
859  712171 gsettings.m4: @GSETTINGS_RULES@: Support srcdir != bui...
860  712314 AIX port: splice(); major()/minor(); libtool library order
861  712315 GSettings: More docs for deprecated _list_schemas()
862  712393 gobject: Box GMappedFile
863  712547 GSocketClient "event" not useful for determining resol...
864  715164 Clang static analysis fixes
865  719395 GPtrArray add g_ptr_array_insert
866  719402 Crashes when startup
867  719472 leak in generated proxy-side property-setter
868  719687 fix or remove g_trap_object_ref
869  719809 Signal connection ids are always > 0 if successful
870  719837 gdbus-connection: Work around race in connection tests
871  719884 Fix documentation typos in GTask and GCancellable examples
872  719979 g_settings_get: check validity of format string
873  720080 Truncating a GMemoryOutputStream to a larger size cause...
874  720210 gdataset: Remove unused define
875  720236 Allow clean simple use of g_test_trap_subprocess() 
876
877 * Translations updates:
878  Italian
879  Lithuanian
880  Simplified Chinese
881  Spanish
882
883
884 Overview of changes from GLib 2.39.0 to GLib 2.39.1
885 ====================================================
886
887  * GSettings fixes/improvements
888
889    - GSettingsSchema API is now more powerful and consistent
890
891    - new GSettingsSchemaKey API allows accessing metadata for keys:
892      type, default value, range and the long-awaited support for summary
893      and description
894
895    - GSettingsSchemaSource gains support for listing schemas within a
896      source.  Deprecate the global API that did this for the default
897      source.
898
899    - 'gsettings list-schemas' now works properly with --schemadir
900
901    - deprecate a bunch of now-redundant functionality on GSettings
902
903    - add API to GSettings for getting the default value of a key (as set
904      by the sysadmin)
905
906    - add API to GSettings for determining if the user has assigned a
907      particular value to a key (ie: we are not just reading the default)
908
909    - ignore qualified tags and attributes appearing in schema files
910
911  * Applications/Actions
912
913    - make GSimpleAction a bit more strict with respect to state changes
914      that would violate the interface (ie: by changing the state type
915      after construction)
916
917    - throw an error when attempting to 'Describe' a non-existent action
918      via D-Bus instead of returning a bogus description
919
920    - throw an error when attempting to invoke unsupported methods on an
921      Application (eg: 'Open' on an app that doesn't HANDLES_OPEN)
922      instead of emitting a g_critical() in context of the app (which is
923      not itself at fault for the errant call)
924
925  * Appinfo
926
927    - substantially rework GDesktopAppInfo to reduce the amount of disk
928      accesses that are performed in common situations
929
930    - add a new class: GAppInfoMonitor for discovering when applications
931      are installed/removed
932
933    - add a new g_desktop_app_info_search() API for searching for
934      installed applications by name, keywords, etc.
935
936  * GMarkup: add new G_MARKUP_IGNORE_QUALIFIED flag for skipping over
937    "qualified" tags and attributes (those with a colon in the name, such
938    as 'my:tag')
939
940  * GDBus
941
942    - ignore qualified tags, as above
943
944    - GTestDBus: unset all D-Bus addresses (such as STARTER) to ensure
945      that test programs don't pick them up
946
947    - add new session_bus_run() convenience in the tests and use it
948
949  * GRand: use real random data as a seed on win32 and use the
950    timestamp/pid/uid fallback only on UNIX machines where we can't open
951    '/dev/urandom'.  This may cause issues with older mingw32 releases
952    due to a missing prototype for the rand_s() API.
953
954  * Many win32 (and particularly MSVC) portability fixes.  Many
955    additional tests are now runnable when building with MSVC.
956
957  * Due to early testing of the (soon to land) GCleanup framework, a very
958    large number of memory errors have been found and fixed (mostly in
959    the testcases, but some in glib itself).
960
961  * GIO:
962
963    - some more seeking cleanups: particularly on GLocalFileInputStream
964
965    - don't leave a .trashinfo file around if trashing a file fails
966
967    - Add a request_certificate virtual method to GTlsInteraction
968
969 Translations updated:
970  Assamese
971  Galician
972  Greek
973  Spanish
974  Tamil
975
976 Bugs fixed:
977  635641 schema compiler should ignore unknown attributes
978  637257 g_tls_client_connection_gnutls_retrieve_function needs to be able to block
979  637956 GKeyfileSettingsBackend should ignore file deletions
980  645453 keys from base schema missing from extended schema
981  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes in XML files
982  668232 Unable to get description and summary for a key
983  668233 Unable to determine if a key is set to the default / what the default value is
984  680838 Need g_settings_schema_source_get_schemas()
985  683017 API for accessing GSettings Schema metadata
986  687185 org.gtk.Actions.Describe doesn't return an error for non-existing action names
987  687202 If trashing fails, the ".trashinfo" file is not removed
988  695558 The --schemadir option has no effect
989  696424 GSimpleAction.state property is not right
990  697348 GTestDBus should unset DBUS_STARTER_ADDRESS, DBUS_STARTER_BUS_TYPE
991  710133 Emit backward compatible code with gdbus-codegen
992  710691 glib-networking: locking during implicit handshake
993  710738 GRand has lame fallback for Windows
994  710859 Typo in gio docs
995  710885 Two fixes for GApplication
996  710962 error: 'F_DUPFD_CLOEXEC' undeclared (first use in this function)
997  710964 Add g_hash_table_get_key_array()
998  710991 test: g_debug messages shouldn't affect g_assert_expected_messages
999  711016 g_settings_list_keys () segfaults for empty schemas
1000  711048 glocalfileinputstream.c allows skip past end of file
1001  711049 Fix build of GLib-GIO 2.39.x on Windows/MSVC
1002  711064 Adding child source to blocked source can cause a segfault
1003  711070 Copying a symlink over another one segfaults
1004  711099 gapplication test failure
1005  711520 GDesktopAppInfo: allow more than one level of legacy folder prefixes
1006  711556 Add GAppInfoMonitor
1007  711557 Add g_desktop_app_info_search()
1008  711600 trivial portability fix
1009  711632 The desktop-app-info test fails during make check
1010  711754 gmain: Fix use of uninitialized memory in sigaction structure
1011  711755 private: Use threading primitives correctly in private test
1012  711756 gthreadpool: Don't pass bad data to GThreadPool sorter
1013  711768 Fix memory leaks in libgmodule tests
1014  711775 utils: Don't free memory owned by glib in test
1015  711782 boxed: Fix double free in boxed unit tests
1016  711803 gsubprocess: Fix a number of leaks and a segfault
1017  711808 gtestdbus: Fix leak of GMainLoop 
1018
1019 Overview of changes from GLib 2.38.0 to GLib 2.39.0
1020 ====================================================
1021
1022  * prep for the 2.40 series (version macros, docs index, etc.)
1023
1024  * GNotification
1025
1026    - new API for sending persistent notifications via the desktop shell
1027
1028    - notifications persist when the application has quit and clicking on
1029      them can restart the application with an action (via
1030      DBusActivatable)
1031
1032  * GSubprocess
1033
1034    - new API for launching subprocesses
1035
1036    - nice GIO integration like async functions, cancellability, etc.
1037
1038    - a convenient communicate() API inspired by the same API in Python
1039
1040    - related: the gspawn API now has a CLOEXEC flag for the created
1041      pipes for stdin/stdout/stderr
1042
1043  * New gapplication(1) commandline tool
1044
1045    - intended to be used with DBusActivatable apps
1046
1047    - can be used for launching apps, opening files, invoking application
1048      actions and listing apps and actions
1049
1050    - bash tab completion is supported
1051
1052  * GDesktopAppInfo changes:
1053
1054    - g_file_get_path() can implicitly cause a FUSE mount so don't call
1055      it until we know we need it (for an app that doesn't support URIs)
1056
1057    - don't crash when trying to load from a keyfile with
1058      DBusActivatable=true
1059
1060    - remove some dead code, refactor the search path handling a bit and
1061      do a large-scale whitespace cleanup (prep work for the pending
1062      desktop file index)
1063
1064  * File monitors
1065
1066    - fix broken handling of mount point monitoring
1067
1068    - remove some strange use of GObject::constructor() from the base
1069      class and inotify backend
1070
1071    - fix GFileMonitor to work in the non-default main context even when
1072      the main context is not running (or is blocked)
1073
1074    - add internal private API for easily creating a file monitor in the
1075      GLib worker thread
1076
1077  * GSettings
1078
1079    - g_settings_list_children: only list viable schemas.  This fixes a
1080      longstanding issue where 'gsettings list-recursively' will crash
1081      when there are invalid schemas installed
1082
1083    - don't accept invalid paths on g_settings_new_with_path, etc.
1084
1085  * GIO
1086
1087    - GFile now has a thumbnail::is-valid attribute to check if the
1088      thumbnail in thumbnail::path needs to be regenerated
1089
1090    - GDBusProxy now has a flag to control autostarting of services at
1091      construction time
1092
1093    - for GSeekable, properly introduce the concept of "resizable" vs.
1094      "fixed-sized" streams in the docs, explaining the expected
1095      semantics of the interface in each case
1096
1097    - fix some cases in GMemoryOutputStream that were violating the above
1098      expectations (which may cause a slight API incompatibility)
1099
1100    - clean up GCredentials code and add support for Hurd and Solaris
1101
1102    - improve splicing by using different codepaths for the case where we
1103      have real _read_async() and _write_async() implementations on the
1104      stream vs. the case where they are internally emulated (via
1105      dispatching the sync variant of the call in a thread)
1106
1107  * GKeyFile
1108
1109    - fix a leak in g_key_file_get_(u)int64 when we fail to parse the
1110      value as an integer
1111
1112    - add long-requested API g_key_file_save_to_file()
1113
1114  * Portability improvements
1115
1116    - avoid using O_DIRECTORY on platforms that don't have it
1117
1118    - be careful about systems that define SOCK_CLOEXEC but don't
1119      actually support it (like Hurd)
1120
1121    - only use SA_RESTART if it exists
1122
1123  * Other small API changes/additions
1124
1125    - a pair of functions to support matching strings for the type of
1126      search functionality that you'd expect to have with things like
1127      GtkSearchBar.  This will also be used by the desktop file index.
1128
1129    - g_str_is_ascii() with obvious purpose
1130
1131    - g_test_expect_message() no longer appears to allow you to catch
1132      G_LOG_ERROR messages
1133
1134  * GMainContext/GSource
1135
1136    - fix handling of overflowing the 'next source id' counter
1137
1138    - g_source_remove() will now throw a critical in the case that you
1139      try to remove a non-existent source.  We expect that there is some
1140      code in the wild that will fall afoul of this new critical but
1141      considering that we now reuse source IDs, this code is already
1142      broken and should probably be fixed.
1143
1144    - simplify handling of the 'current dispatching source' to not
1145      require use of a linked list
1146
1147  * GObject
1148
1149    - the long-broken (and leaky) pattern of destroying a just-allocated
1150      object from inside of a custom GObject::constructor is now
1151      officially completely illegal and will abort the program
1152
1153  * Unicode: update to 6.3.0
1154
1155  * Bug fixes
1156
1157    - g_file_copy() now falls back to pathname queryinfo.  This should
1158      clear up the bugs with copying from some GVfs backends (afp,
1159      gphoto, archive, at least).
1160
1161    - fix an out-of-bounds read in the xdgmime code
1162
1163    - fix a typo in the /org/freedesktop/DBus path on the object manager
1164      client
1165
1166    - skip emitting path_namespace='/' in match rules in order to
1167      workaround a bug in the D-Bus daemon and fix our own implementation
1168      (which shared exactly the same bug)
1169
1170    - fix crashes on precondition violations for GParamSpec constructors
1171
1172    - many other small fixups (see bug list)
1173
1174   * Many documentation improvements
1175
1176 Bugs fixed:
1177  309224 g_key_file_save_to_file missing
1178  583321 QNX: no SA_RESTART
1179  661576 fix handling of constructors that destroy half-constructed objects
1180  672102 GSubprocess class
1181  684842 Seeks on GMemoryOutputStream don't have opaque semantics
1182  688492 Add a notification API
1183  691581 g_output_stream_real_splice_async doesn't use overriden read/write_async functions
1184  702516 gfileutils: Make -Werror=format-nonliteral happy
1185  704218 New gapplication(1) tool
1186  704593 g_setenv: on some systems (BSD, OSX…), setting a variable to NULL crashes the system
1187  704882 GLocalDirectoryMonitorClass mount_notify field is useless
1188  704887 file monitoring improvements
1189  705029 Support for Solaris credentials
1190  705688 g_settings_list_children: only list viable schemas
1191  706254 Afp backend cannot copy files
1192  707887 Attempting to create GObject Property with underscore prefix segfaults
1193  708042 gapplication: don't rely on cmdline being finalized immediately
1194  708265 add support for GNU/Hurd in GLib D-Bus Library
1195  708266 fix error code checks when SOCK_CLOEXEC is defined but not supported
1196  708529 xdgmime: valgrind warns about invalid reads
1197  708677 incorrect object path 'deskop' used in gio/gdbusobjectmanagerclient.c
1198  708714 Typo in docs of GLIB_VERSION_2_40 macro.
1199  708753 gdesktopappinfo: Call g_file_get_path() on demand
1200  708793 glib build fails with clang < 3.1: error: expected ';' after top level declarator
1201  708828 GDBusProxy: add the ability to call methods on non autostarted proxies
1202  708860 glib-2.38.0 doesn't build on Solaris 10
1203  708972 gnetworking.h in tarball screws up out-of-source builds
1204  709113 [PATCH] Main loop dispatch path has needless linked list
1205  709227 Update to unicode 6.3.0
1206  709301 goutputstream: Add clear warning about short writes to _write_bytes() and async version
1207  709326 GDesktopAppInfo crashes creating a DBusActivatable app without a filename
1208  709440 Fix overloading of "source" and "target" terminology in GBinding
1209  709615 Cannot use g_test_expect_message with g_error
1210  709753 Add helpers for string matches when using GtkSearchBar-like widget
1211  709898 Expose thumbnail validity in GFile attributes
1212  709966 Remove outdated documentation
1213  709994 Minor fix for HACKERS doc to direct hackers to proper help file
1214  709995 Obsolete makefile rules
1215  710002 G_MAXUINT may be assigned as duplicate source id
1216  710313 Memory leak in g_key_file_get_(u)int64 with invalid integer values
1217  710345 [Patches] Fix some redundant-decls
1218  710496 g_locale_to/from_utf8() doc updated.
1219  710625 g_file_error_from_errno: Remove unneeded breaks
1220  710666 Frame clock related bug fixes
1221  710724 gmain: Warn when g_source_remove() fails
1222  710726 Work around D-Bus bug with path_namespace='/' match rules
1223
1224 Translations:
1225  Assamese
1226  Brazilian Portuguese
1227  Indonesian
1228  Russian
1229  Tamil
1230  Traditional Chinese
1231
1232 What's new in Glib 2.38
1233 ========================
1234
1235  * Application support
1236
1237   - GIO now provides an implementation of Desktop Actions from the
1238     desktop entry specification
1239
1240   - GApplication now implements the org.freedesktop.Application
1241     interface as per the desktop entry specification, allowing for
1242     standards-based D-Bus launching of GLib-based applications
1243
1244   - GDesktopAppInfo now supports DBusActivatable as per the desktop
1245     entry specification, allowing GLib-based applications to use D-Bus
1246     to launch other applications
1247
1248   - GApplication now has a "busy" flag that can be set on an application
1249     to allow the shell to show that it is busy
1250
1251  * GObject
1252
1253   - the private offset for a given class type is now always constant.
1254     This was done by reorganising the memory layout of instances so that
1255     the private data comes before the "official" pointer for the object
1256     (ie: at a negative offset).  Valgrind macros were added to mitigate
1257     any problems that this may have caused.
1258
1259   - a new G_DEFINE_TYPE_WITH_PRIVATE has been added along with a
1260     generated function *_get_instance_private() that can now serve as an
1261     equally-performing alternative to ->priv pointers in instances
1262     (allowing memory savings)
1263
1264   - new G_PRIVATE_FIELD, G_PRIVATE_FIELD_P and G_PRIVATE_OFFSET macros
1265     provide a convenient method of converting between named variables in
1266     private structures and their (now constant) offsets
1267
1268   - installing properties on a GObjectClass must now be done from
1269     class_init.  It is no longer valid to install them after class_init
1270     has returned.
1271
1272   - it is now possible to manually break a GObject property binding
1273     without destroying one of the objects involved
1274
1275  * Icons
1276
1277   - the requirements for implementing the GIcon interface have changed
1278     in order to make it possible to consume all implementations of GIcon
1279     with a finite number of cases
1280
1281   - a new GBytesIcon type was added for an icon represented by an
1282     in-memory binary blob in a known image format (ideally png).
1283
1284   - new APIs g_icon_serialize() and g_icon_deserialize() replace the old
1285     to/from_string APIs and will always work, irrespective of which
1286     types have been initialised in the calling process, allowing for a
1287     serialised GdkPixbuf to be deserialised in a process that doesn't
1288     have GdkPixbuf
1289
1290   - support for icons has been added to GMenuModel using the new APIs
1291
1292  * Actions and menus
1293
1294   - GPropertyAction provides a convenient way of creating a stateful
1295     property corresponding to a property on a GObject, such as the
1296     "visible-child-name" property of a GtkStack
1297
1298   - new API g_menu_remove_all()
1299
1300   - we now have established rules about what is a "valid" action name
1301     and an API to check them
1302
1303   - a new API for converting detailed action names to and from the
1304     split-out name and parameter value (as GVariant)
1305
1306   - for backwards compatibility, invalid action names can still be used
1307     with most functions, but this is not recommended
1308
1309  * Other GIO
1310
1311   - GDBus now supports services that wish to handle some of all
1312     properties on an interface asynchronously, without requiring the
1313     service to reimplement the entire org.freedesktop.DBus.Properties
1314     interface
1315
1316   - GFile now has a new _measure_disk_usage() (and async) API for
1317     recursively determining the amount of disk space used by a
1318     particular directory (akin to 'du').
1319
1320   - asynchronous version of g_file_trash() and g_file_make_directory()
1321     have been added
1322
1323  * Other new API
1324
1325   - GRegex has a new function to query the maximum lookbehind length to
1326     allow for regexp matching on streams
1327
1328   - GVariant has two new APIs for constructing strings that allow
1329     avoiding copies in some cases: g_variant_new_take_string() and
1330     g_variant_new_printf()
1331
1332  * Testing
1333
1334   - we can now generate TAP output
1335
1336   - new support functions for simplifying the process of dealing with
1337     data files for srcdir != builddir and installed test cases
1338
1339   - g_test_trap_subprocess() provides a portable alternative to
1340     g_test_trap_fork()
1341
1342  * Other
1343
1344   - GLib now builds on Android against the bionic C library
1345
1346 Overview of changes from GLib 2.37.93 to 2.38.0
1347 ================================================
1348
1349 * fix the documentation for GSourceFuncs
1350
1351 * fix compilation on OS X/ppc64
1352
1353 Bugs fixed: 708445, 647145
1354
1355 Translations updated:
1356  Danish
1357  French
1358  Portuguese
1359  Punjabi
1360
1361 Overview of changes from GLib 2.37.92 to 2.37.93
1362 ================================================
1363
1364 * a couple of bugfixes in the new g_file_measure_disk_usage() API
1365
1366 * updated Traditional Chinese translation
1367
1368 Overview of changes from GLib 2.37.7 to 2.37.92
1369 ===============================================
1370
1371 * new API g_file_measure_disk_usage() similar to du(1)
1372
1373 * minor fixes
1374
1375 * Translation updates:
1376  Assamese
1377  Belarusian
1378  Brazilian Portuguese
1379  Catalan
1380  Czech
1381  Galician
1382  German
1383  Hungarian
1384  Indonesian
1385  Italian
1386  Korean
1387  Korean
1388  Latvian
1389  Lithuanian
1390  Polish
1391  Serbian
1392  Slovenian
1393  Spanish
1394
1395 Overview of changes from GLib 2.37.6 to 2.37.7
1396 ==============================================
1397
1398 * GDateTime now supports %:z formatting variations
1399   for timezones. This is a GNU date extension.
1400
1401 * Bugs fixed:
1402  685387 Segfault with GObject.signal_handler_is_connected()...
1403  686786 g_socket_get_available_bytes() returns wrong value ...
1404  705027 GSocket GSource not threadsafe on Windows
1405  706469 Fix G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE documentation
1406  706706 Fix Gir annotations on g_loadable_icon_load_finish
1407  706888 gtype: fix a no-op assertion
1408  706958 configure.ac: fix atomic opts detection
1409  707092 "File Utilities" page for GLib documentation doesn'...
1410  707151 gdatetime: Extend the '%z' timezone format
1411
1412 * Translation updates:
1413  Catalan
1414  Hungarian
1415  Japanese
1416  Polish
1417  Slovak
1418  Tamil
1419
1420
1421 Overview of changes from GLib 2.37.5 to 2.37.6
1422 ==============================================
1423
1424 * Tests using the g_test facilities can now generate TAP output
1425
1426 * Bugs fixed:
1427  680926 generic type fallback logic is broken for -symbolic
1428  684327 setting null icon to icon list
1429  689245 GSocket unable to reuse (address,port) on Mac OS X
1430  692125 Support TAP as GTest output format
1431  693335 build: fix dtrace-related warnings
1432  696633 gdbus-codegen trips over unicode chars when using python 3.x
1433  696970 Compiling 2.36.0 for win64 fails
1434  697185 GSocket – Allow specifying the multicast interface from...
1435  700268 Add support for using the clang analyzer
1436  701318 Add G_SPAWN_DEFAULT to GSpawnFlags
1437  701529 glib/tests/gdatetime: use UTC time in test_GDateTime_diff()
1438  701800 a new approach to reporting critical errors
1439  702674 g_date_time_new_utc crash
1440  704165 GLib.IOChannel read_unichar() fails
1441  705075 Simplify g_get_tmp_dir()
1442  705152 Race in glib/task.test
1443  705398 gtype: Fix typo in g_type_class_add_private() error message
1444  705570 Check ref_count in g_object_notify_by_pspec
1445  705600 Deprecate GSimpleActionGroup functions?
1446
1447 * Updated translations:
1448  Assamese
1449  Brazilian Portuguese
1450  Czech
1451  Dutch
1452  Galician
1453  Gujarati
1454  Hebrew
1455  Italian
1456  Lithuanian
1457  Marathi
1458  Norwegian bokmål
1459  Russian
1460  Slovenian
1461  Spanish
1462  Thai
1463  Traditional Chinese
1464
1465
1466 Overview of changes from GLib 2.37.4 to 2.37.5
1467 ==============================================
1468
1469 * Implement the Desktop Action specification: In the case that the
1470   application is a GApplication and DBusActivatable, actions from the
1471   desktop file are translated into GActions that have been added to
1472   the  application with g_action_map_add_action().
1473
1474 * GPropertyAction is a new type of GAction that represents the value
1475   of a property on an object, and allows to change the value when
1476   activated.
1477
1478 * GNetworkMonitorNetlink can now handle default routes via a device.
1479
1480 * The gsettings tool now reports failure to write a key (e.g. because
1481   the key was locked down)
1482
1483 * Miscellaneous new api:
1484  - g_variant_new_printf
1485  - g_action_print_detailed_name
1486  - g_regex_get_max_lookbehind
1487
1488 * Bugs fixed:
1489  664444 Support additional application actions in .desktop files
1490  684123 glib build only tries -D_GNU_SOURCE if glibc is detected
1491  689794 support incremental matching
1492  699259 add org.freedesktop.Application support to GIO
1493  700460 rewrite tests to not rely on precise timing of timeouts
1494  701511 updates to various GSource types
1495  701609 gnetworkmonitornetlink: handle default route via device
1496  703270 add GPropertyAction
1497  704157 GAction: add function for printing detailed names
1498  704250 Doc: various fixes
1499  704267 regression gsourceclosure: segfault in gedit file chooser
1500  704322 glib-unix: fix handling of multiple signal source for the...
1501  704424 No error when failing to override a locked key
1502  704447 Fix build/use of g_child_watch_closure_callback on Windows
1503  704523 g_thread_create_full() can dereference NULL pointer
1504  704543 Add implementations for G_GNUC_*_IGNORE_DEPRECATIONS for ...
1505  704567 gdbusnameowning: Don't spew an error if we're releasing a...
1506  704585 libc printf can give mixed-case strings for NaN and Inf
1507  704587 FTBFS: statfs_result is undeclared for statvfs()
1508  704699 gmain: Reset signal handlers to default when source is
1509  704704 AI_NUMERICSERV cannot be used with ai_socktype = 0
1510  704873 inotify: don't assume mainloop is running
1511  704999 glib/convert.test crashing due to lack of iconv cache
1512  704931 GMenuModel: add annotations to virtual functions
1513
1514 * Translation updates:
1515  Assamese
1516  Czech
1517  German
1518  Gujarati
1519  Spanish
1520  Tamil
1521
1522
1523 Overview of changes from GLib 2.37.3 to 2.37.4
1524 ==============================================
1525
1526 * Bugs fixed:
1527  701283 g_source_add_child_source() segfault
1528  702147 inconsistency of G_STRFUNC
1529  703191 new private macros interact poorly with versioning macros
1530  703254 Doc: various fixes
1531  703407 g_spawn_async() keeps child_pid_report_pipe open in child process
1532  703437 GDBusConnection: be more careful with async GetAll
1533  703478 Missing G_BEGIN/END_DECLS in gsettingsschema.h
1534
1535 * Translation updates:
1536  Catalan
1537
1538 Overview of changes from GLib 2.37.2 to 2.37.3
1539 ==============================================
1540
1541 * add a new API for instance private data: G_DEFINE_TYPE_WITH_PRIVATE
1542
1543 * fix timestamps in tarball to prevent automake from being required to
1544   build the unmodified source
1545
1546 * add new D-Bus API for async property handling
1547
1548 * add back fsync() on ext4 for g_file_set_contents() after it was
1549   discovered that despite statements in the ext4 documentation
1550   suggesting that this is safe, it is not safe.
1551
1552 * Translations:
1553  Italian
1554  Norwegian bokmål
1555
1556 * Bugs fixed:
1557  698375 - D-Bus async properties
1558  700350 - timestamp issue
1559  701560 - fsync issue (fixed again)
1560  700035 - new API for instance private data
1561
1562 Overview of changes from GLib 2.37.1 to 2.37.2
1563 ==============================================
1564
1565 * The GLib test utilities have grown some file-related APIs
1566   to support tests that can be used installed and uninstalled.
1567
1568 * Installing properties after class initialization is deprecated,
1569   and will trigger a warning.
1570
1571 * GApplication:
1572  - Support org.freedesktop.Application, including D-Bus activation
1573    from desktop files
1574  - Set prgname to appid for services
1575
1576 * Bugs fixed:
1577  549783 gtester lacks framework for tests with data files
1578  692848 Fix property example in gobject tutorial
1579  698018 Add an explicit g_binding_release()
1580  698614 GObject: prevent installing properties after init
1581  699259 add org.freedesktop.Application support to GIO
1582  699959 g_file_copy(): Ensure we create private files by default
1583  700123 Test failure: g_inet_socket_address_get_scope_id
1584  700725 GIcon: NULLify the `type' out param in the sync methods too
1585  701401 gtest: add function for testing for WINE
1586  701456 Error in gnome/glib/gio/tests/file.c
1587  701474 Error building glibmm due to extra comma in glib/gtestutils.h
1588  701560 various improvements for g_file_set_contents()
1589  701680 GFileEnumerator: Add some documentation about ordering
1590  701878 Check wakeup() before iteration(TRUE) doesn't block
1591
1592 * Translations:
1593  Assamese
1594  Czech
1595  Galician
1596  Gujarati
1597  Kannada
1598  Marathi
1599  Odia
1600  Polish
1601  Slovenian
1602  Spanish
1603  Telugu
1604
1605
1606 Overview of changes from GLib 2.37.0 to 2.37.1
1607 ==============================================
1608
1609  * add support for installed tests:
1610    https://live.gnome.org/GnomeGoals/InstalledTests
1611
1612  * add a new g_test_trap_subprocess() that works on Windows as a
1613    replacement for the (now deprecated) g_test_trap_fork()
1614
1615  * support for explicitly cancelling a gobject property binding
1616
1617  * performance improvements for signal argument handling
1618
1619  * stop using `quotes' in very many log messages generated by GLib, for
1620    favour of 'this style'.  This may cause testcases in other packages
1621    to fail if they were matching on the previous text.
1622
1623  * improve manpages: add missing arguments and flags
1624
1625 Translations: 
1626  Aragonese
1627  Assamese
1628  Gujarati
1629  Hindi
1630  Kannada
1631  Norwegian bokmål
1632  Odia
1633  Slovenian
1634  Spanish
1635  Tamil
1636  Telugu
1637
1638 Bugs fixed:
1639  679683 replace g_test_trap_fork()
1640  694380 Improve signal argument collection performance
1641  695233 Strings require plural forms
1642  697849 spelling fixes in cross.xml and running.xml
1643  698877 GProxyAddressEnumerator calls g_network_address_parse_uri without port
1644  698981 [PATCH] test /gdbus/connection/large_message could hang forever
1645  699079 Prototype support for installed tests
1646  699485 [PATCH] tests/mappedfile: Also handle ENOMEM
1647  699493 SOCKS5 proxy code crashes if it cannot authenticate
1648  699500 gbitlock: fix this to not unconditionally use futex emulation
1649  699779 [PATCH] G_GNUC_FORMAT: documentation error
1650  700263 m4macros/glib-gettext.m4: Don't use AC_HEADER_STDC
1651  700714 [PATCH] gtestutils: Ensure test subprocesses don't dump core
1652  700746 Use 'dumb quotes' rather than `really dumb quotes'
1653
1654 Overview of changes fron GLib 2.36.0 to 2.37.0
1655 ==============================================
1656
1657 * The syntax for detailed action names has been documented,
1658   and a parser API for them is now provided
1659
1660 * GApplication has gained a busy state. This feature is intended for
1661   clients that want to signal a desktop shell their busy state, for
1662   instance because a long-running operation is pending.
1663
1664 * GLib can now be built with the bionic C library
1665
1666 * GIcon can now be serialized to a GVariant
1667
1668 * Bugs fixed:
1669  548353 Finish implementing GFile interface (mostly asynchron...
1670  645881 Full port of glib-2.28.1 onto Android-ARM
1671  665445 Glib mistakes nl_langinfo() from plibc for the real t...
1672  672018 Need API to set global application state (busy, count...
1673  687659 drop support for adding interfaces after class_init
1674  688820 GIcon is a bad interface
1675  688954 extend 'detailed action' syntax, provide parser
1676  689223 Fix compilation on Android with the bionic C library
1677  695156 Add support for arg0namespace matching in signal_subs...
1678  696108 gdbus-codegen: avoid warnings in generated code
1679  696629 fix sed(1) usage
1680  696652 GTask won't free its error member variable on finalize
1681  696857 GThreadedResolver: set an error if no records could b...
1682  696973 Compiling 2.36.0 for win64 fails in gdbusmessage.c
1683  697131 No --version
1684  697160 [PATCH] gmacros: Mark G_UNAVAILABLE() functions as de...
1685  697229 Custom Interface implementations will be broken with ...
1686  697250 Documentation glitch of G_DEFINE_TYPE_EXTENDED causes...
1687  697365 Fix usage of hasmntopt in gunixmounts.c
1688  697367 Remove warning on gio/gunixmounts.c
1689  697386 Except const argument with atomic is not lock free
1690  697595 g_main_context_unref unlocks a mutex twice
1691  697601 reduce GMenuModel D-Bus traffic
1692  697626 Allow posix threads to be used on w32
1693  697652 Help options generated even when help disabled
1694  697771 fix a typo of "fo" to "of" in building.xml
1695  697887 GVariant: fix transfer annotation
1696  697942 abicheck.sh fails on mips
1697  698056 rewrite g_object_new()
1698  698081 Pidgin hangs in g_spawn_command_line_sync
1699  698455 GVariant: add new g_variant_new_take_string() API
1700  698457 g_variant_get_data_as_bytes() always returns toplevel...
1701  698478 gactionmap: don't require GActionGroup
1702  698595 the valgrind/priv-before-instance bug
1703  698655 desktop-app-info test relies on true being in /usr/bin/
1704  698686 GUnixSocketAddress: fix construct parameter issue
1705  698716 Use of g_mem_set_vtable() breaks after gobject automa...
1706  698999 bytesicon: fix a memory leak
1707  699001 bytesicon: don't use g_object_unref() on GBytes
1708  699361 gio: fix small leak
1709
1710 * Translation updates:
1711  Assamese
1712  Gujarati
1713  Hungarian
1714  Italian
1715  Kannada
1716  Norwegian bokmål
1717  Polish
1718  Spanish
1719  Tamil
1720
1721
1722 Overview of changes fron GLib 2.35.9 to 2.36.0
1723 ==============================================
1724
1725 This release contains only small bugfixes and translations updates.
1726
1727  - g_file_copy(): fix bug where attributes were not applied properly to
1728    the destination file
1729
1730  - fix some 'available since' annotations
1731
1732  - fix gdbus-codegen to produce more pedantically-correct code
1733
1734 * Bugs fixed:
1735  696108 gdbus-codegen: avoid warnings in generated code
1736  696014 g_file_copy(): Ensure G_FILE_COPY_OVERWRITE preserves permissions
1737
1738 * Translations updated:
1739  Basque
1740  Czech
1741  Gujarati
1742  Hindi
1743  Hungarian
1744  Japanese
1745  Malayalam
1746  Marathi
1747  Odia
1748  Punjabi
1749  Russian
1750  Tadjik
1751  Tamil
1752  Telugu
1753
1754 Overview of changes from GLib 2.35.8 to 2.35.9
1755 ==============================================
1756
1757 This release drops the old codepage ABI from gutils.c. This is a
1758 source-compatible change and only breaks ABI with respect to truly
1759 ancient binaries (and those binaries are already broken for other
1760 reasons).  This change only affects Windows.
1761
1762 * Bugs fixed:
1763  682896 glib doesn't build on mingw32
1764  693204 split up g_get_{hostname,username,realname,home_dir} etc.
1765  694181 Handle GNetworkAddress better in g_network_monitor_base_...
1766  694253 occasional /gdbus/unref-pending test failure
1767  694350 Add type names to gsignal warnings
1768  694757 Use separate GLIB_WARN_CFLAGS that can be overridden ext...
1769  568405 Which is the correct replacement for g_strncasecmp, if...
1770  630284 g_hash_table_get_keys docs
1771  659428 docs: Small clean-up of howto subsection headers
1772  675333 Cannot forget association in Open With dialog: program...
1773  694669 consider unicode corrigendum #9
1774  694843 g_base64_decode_step () produces invalid data
1775  695147 Don't use PATH_MAX as it's not guaranteed to be defined
1776  695191 Commit f641699 broke /appinfo/mime/api test case
1777  695339 Swapped msgid plural forms for translation
1778  695376 GDBusMethodInvocation leak and potential crash
1779  695425 Untranslatable message in gsettings-tool
1780  695887 Improvements to GObject API documentation
1781  695925 GUINT32/64_SWAP_LE_BE macros do not enclose val argume...
1782  696015 PATCH Add doc warning to g_base64_decode()
1783
1784 * Translation updates:
1785  Assamese
1786  Belarusian
1787  Brazilian Portuguese
1788  Catalan
1789  Catalan (Valencian)
1790  Danish
1791  French
1792  Galician
1793  German
1794  Greek
1795  Gujarati
1796  Italian
1797  Korean
1798  Latvian
1799  Lithuanian
1800  Polish
1801  Portuguese
1802  Punjabi
1803  Serbian
1804  Simplified Chinese
1805  Slovak
1806  Slovenian
1807  Spanish
1808  Thai
1809  Traditional Chinese
1810  Uyghur
1811  Vietnamese
1812
1813
1814 Overview of changes from GLib 2.35.7 to 2.35.8
1815 ==============================================
1816
1817 This release contains one major change that may cause problems: type
1818 modules are now never unloaded.  This is implemented by (effectively)
1819 leaking the last reference on dynamic types.  Some testcases that check
1820 for unloading of types have been observed to be broken by this change,
1821 but we know of no actual cases of "real code" breaking.  Please report
1822 any problems.
1823
1824 Other changes:
1825  * A couple of build fixes for Solaris
1826  * Fix signal emission for GDBusObjectManagerClient
1827  * annotations fixes
1828  * new API: g_dbus_address_escape_value()
1829  * GSocketClient: add proxy-resolver property
1830  * GSimpleProxyResolver: new simple GProxyResolver class
1831  * documentation fixes
1832  * gnetworkaddress: preserve IPv6 scope ID in IP literals
1833
1834 Bugs fixed:
1835  691105 Allow GSocketClient to override GProxyResolver for per client proxy settings.
1836  692827 configure test fails for arpa_nameser.h
1837  692829 new Btrfs support causes build failure on Solaris
1838  693285 GDBusObjectManagerClient: won't emit object-added|removed if name-owner arrives later
1839  693502 Cross-compiling documentation: typo (np -> no)
1840  693673 add g_dbus_address_escape_value()
1841  693694 gio: Fix annotations on g_[async_]initable_new() and friends 
1842
1843 Translations:
1844  Dutch
1845  Galician
1846  Polish
1847  Serbian
1848
1849 Overview of changes from GLib 2.35.6 to 2.35.7
1850 ==============================================
1851
1852 This is a quick follow-up release with a few bug fixes.
1853
1854 * Fix the build on systems with strict linkers by adding -pthread back
1855   to the LDFLAGS for a testcase.
1856
1857 * Re-enable native atomic operations on some buggy versions of clang
1858   that ship as part of the MacOS X SDK.
1859
1860 * Make G_IO_FLAG_IS_WRITEABLE an enum again (the #define broke bindings)
1861
1862 * a small docs fix
1863
1864 * Bugs fixed:
1865  657045
1866  636683
1867  682818
1868  693105
1869
1870 * Translations:
1871  Italian
1872
1873 Overview of changes from GLib 2.35.4 to 2.35.6
1874 ==============================================
1875
1876 * GUnixFdSource is a new way to add file descriptors
1877   to the mainloop
1878
1879 * g_source_set_ready_time lets you mark a source to become
1880   ready at a specified monotonic time
1881
1882 * The internal visibility handling of GLib has been reworked
1883
1884 * GFileMonitor will now automatically use fam instead of inotify
1885   if $HOME is on NFS
1886
1887 * The file monitor implementation can now be overridden with
1888   the GIO_USE_FILE_MONITOR environment variable
1889
1890 * Bugs fixed:
1891  570572 2 make check errors on
1892  592211 No monitoring over NFS mounts
1893  625552 wrong behaviour of GVolume GVolumeMonitor related func...
1894  657729 modernise GMainLoop
1895  658020 GSource for a single GPollFD
1896  678223 g_mutex_free
1897  682560 leak fixes
1898  682819 EINTR-harden all the things
1899  684404 When using g_network_address_address_enumerator_next()...
1900  686853 new GSource fd API
1901  688169 G_DISABLE_DEPRECATED doesn't cover deprecated/gthread....
1902  688681 build: Make .symbols file canonical on all platforms
1903  690118 Crash when closing last tab of a window using Ctrl-w
1904  691624 glib/gtester.c: missing include
1905  691812 gioinputstream - give task as callback_data not task_data
1906  691866 fails out of source build directory - gnetwork.h not f...
1907  692029 Add new API checking utility
1908  692034 Install an invalidation notifier for GClosure in g_sou...
1909  692058 Broken makefile for gio tests
1910  692079 build failure in gmarkup.c when using gcc 4.8 and buil...
1911  692201 inotify: fix a memleak
1912  692202 gfile: don't report completion twice on g_file_load_co...
1913  692229 Incorrect string formatters in a translation string
1914  692332 GNetworkMonitorNetlink: make the netlink socket cloexec
1915  692360 possibly non-threadsafe code in g_content_type_guess()?
1916  692404 tester: Use FD_CLOEXEC when creating pipes
1917  692408 nautilus SIGSEGV in g_file_info_get_size()
1918  692544 [PATCH] gfile: Ensure we create internal pipe with FD_C...
1919  692583 atomic get doesn't accept a const argument on architect...
1920  692618 Use g_timeout_add_seconds
1921  692815 Using g_hash_table_insert() when using a hash table as ...
1922  692865 Invalid docbook generated by gdbus-codegen
1923  692928 Document G_MENU_{ATTRIBUTE,LINK}_*
1924
1925 * Translation updates:
1926  Hebrew
1927  Kannada
1928  Lithuanian
1929  Norwegian bokmål
1930  Polish
1931  Serbian
1932  Slovenian
1933  Spanish
1934  Uyghur
1935
1936
1937 Overview of changes from GLib 2.35.3 to 2.35.4
1938 ==============================================
1939
1940 * New features:
1941  - New API: g_get_num_processors
1942  - New API: g_application_command_line_get_stdin
1943  - New GFileMonitor flag: G_FILE_MONITOR_WATCH_HARD_LINKS
1944  - Parse more timezone offset formats
1945  - Better timezone support on Windows
1946  - Make GParamSpec constructors introspectable
1947
1948 * Removed or deprecated features:
1949  - Disallow adding interfaces after class_init
1950
1951 * Bug fixes:
1952  532815 gio + inotify support for hardlinks
1953  614930 add g_get_num_processors (), return the max concurrent...
1954  626497 Btrfs clone/reflink ioctl support in g_local_file_copy
1955  633117 glib fails stests if /etc/localtime is not properly set
1956  661767 merge/improve various bits of run-in-thread functionality
1957  668210 Add g_application_command_line_get_stdin()
1958  675856 Use GDbus via gobject-introspection instead dbus-python
1959  684103 make glib work with python3
1960  684723 run-assert-msg-test.sh fails
1961  686058 OpenBSD: disable ipv6_v4mapped test
1962  686128 GTimeZone should be able to parse POSIX format for...
1963  687223 cleverer GThreadPool management
1964  687659 drop support for adding interfaces after class_init
1965  687920 GCredentials should have an accessor for the process ID
1966  688681 build: Make .symbols file canonical on all platforms
1967  688829 Variable overflow in utils.c test on 32-bit machine
1968  689324 Variable scoping in gunixmounts.c
1969  689810 Include guard optimization
1970  690043 Broken link for gsettings tutorial: gnome-utils in...
1971  690084 gmarkup: Make GMarkupParseContext a boxed type
1972  690388 Check if CMSG_FIRSTHDR() returns NULL when there is...
1973  690538 gschema DTD is invalid
1974  690543 Add test coverage for testing in-tree DBus services...
1975  690670 local_command_line not introspectable/annotated
1976  690902 G_END_DECLS needs to be at the end of gutils.h
1977  690970 Unhelpful deprecation message for g_value_array_get_nth
1978  691001 building docs is broken on master branch
1979  691011 Automake-1.13 errors on obsolete AM_PROG_CC_STDC
1980  691077 gio-querymodules crashes with SIGSEGV
1981  691110 g_cond_wait() docs incomplete
1982  691489 Crash in Oscars 2013 page
1983  691558 Only check for .hidden files if standard::is-hidden...
1984  691608 Support compilation with clang 3.2
1985
1986 * Translation updates:
1987  Assamese
1988  Bulgarian
1989  Estonian
1990  Galician
1991  Greek
1992  Hebrew
1993  Norwegian bokmål
1994  Polish
1995  Slovak
1996  Slovenian
1997  Spanish
1998  Tamil
1999
2000
2001 Overview of changes from GLib 2.35.2 to 2.35.3
2002 ==============================================
2003
2004 * This release contains an incompatible change to the g_get_home_dir()
2005  function. Previously, this function would effectively ignore the HOME
2006  environment variable and always return the value from /etc/password.
2007  As of this version, the HOME variable is used if it is set and the
2008  value from /etc/passwd is only used as a fallback.
2009
2010 * We now install a public "gnetworking.h" header that can be used to
2011  include the relevant OS-dependent networking headers. This does not
2012  really abstract away unix-vs-windows however; error codes, in
2013  particular, are incompatible.
2014
2015 * Bugs fixed in this release:
2016  142568 Allow $HOME to override passwd entry if the user really wants
2017  587806 The file selector should honor .hidden files
2018  602715 [GChecksum] Please add support for SHA512
2019  623187 provide some support for arbitrary setsockopt()s?
2020  629301 .goutputstream files left behind when cancelling I/O
2021  652650 Optimize GDBusMessage serialization
2022  664627 /gapplication/basic test intermittently fails: cmdline re-or...
2023  675516 Win32: Don't start a DBus server when built as static library
2024  679683 replace g_test_trap_fork()
2025  684145 Current Git sources fails to cross-compile for Windows in Li...
2026  686895 file-info: catch thumbnail files in large directory as well
2027  687092 IPv6 <-> IPv4 mismatch when subscribing to multicast (send)
2028  688180 GObject: Minor error in description of floating reference
2029  688319 gthread: add missing AVAILABLE_IN_2_32 annotations
2030  688377 configure: add missing square bracket in AS_IF for memmove
2031  688419 gtask: source_object arguments and return values not annota...
2032  688497 AppInfo: Add sufficient api to port gnome-session from Egg...
2033  688681 build: Make .symbols file canonical on all platforms
2034  688704 Add boxed GType for GThread
2035  688886 Improve the i18n documentation
2036  688931 GMemoryOutputStream: Add new _resizable() constructor usab...
2037  689037 need helper for creating a GFile from a remote commandline...
2038  689377 Fix a compiler warning in GDBus
2039  689538 Source object tag set too late in gsocketlistener
2040  689800 Treat lost+found directory as a hidden file
2041  689847 Add fast repeated typename -> GType resolver
2042  689982 Make GChecksum more fully introspectable
2043  690069 g_unix_open_pipe: Add missing F_SETFD
2044  690083 gfileenumerator: Add a g_file_enumerator_get_child method
2045  690163 Add a pre-configured gio/gnetworking.h for Visual C++ builds
2046  690346 Remove an unneeded escaping in NAMESER_COMPAT_INCLUDE
2047  690348 Fix g_type_add_class_private() name in g_warning
2048
2049 * Translation updates:
2050  Assamese
2051  Galician
2052  Hebrew
2053  Hindi
2054  Kannada
2055  Odia
2056  Polish
2057  Spanish
2058
2059
2060 Overview of changes from GLib 2.35.1 to 2.35.2
2061 ==============================================
2062
2063 Note that the incompatible change to the ->constructed() vfunc that was
2064 made in the last unstable release (2.35.1) has been reverted due to
2065 causing regressions in applications.
2066
2067 A new incompatible change has been introduced in this version: it is no
2068 longer permitted to add interfaces to a class after the first
2069 instantiation (or more strictly: after g_type_class_ref()).  Bug #687659
2070 is tracking this.
2071
2072 Two private symbols (g_menu_{attribute,link}_hash_iter_get_type) which
2073 were accidentally exported have also been properly hidden.  This may
2074 cause some tools to issue warnings about ABI mismatch.
2075
2076 The remaining changes should be relatively harmless: 
2077
2078  * GIO now has kqueue support for GFileMonitor (BSDs, Mac OS)
2079
2080  * New g_variant_new_from_bytes() API
2081
2082  * UNIX signal sources now allow watching SIGUSR1 and SIGUSR2
2083
2084  * Many pedantic cleanups to adhere to a higher level of -W use
2085
2086  * GTask changes to avoid a deadlock
2087
2088  * many cleanups/fixes for Windows
2089
2090  * Boxing for GPollFD, GIOChannel, GBytes, GByteArray
2091
2092  * Fix URL-encoding of trashed files
2093
2094  * Many other docs and annotations fixes
2095
2096 Translations:
2097
2098  Galician
2099  Gujarati
2100  Lithuanian
2101  Serbian
2102  Slovak
2103  Slovenian
2104
2105 Bugs closed:
2106
2107  649302 Add support for GNU/FreeBSD
2108  668842 [GSocket] Add caching for the sender address in g_socket_receive_from()
2109  672924 Add annotations for g_filename_from_uri()
2110  673229 glib: Use Returns:, not @returns
2111  677062 (partial) GVariant: Make g_variant_new_from_bytes() public, add more GBytes API
2112  686185 g_date_time_format Transcoding Fails on OSX      
2113  686191 g_mutex_get_impl() should use g_atomic_pointer_get()
2114  686797 Box GPollFD to make it introspectable
2115  686810 [regression] Infinite wait in g_task_run_in_thread_sync()
2116  686822 possible dlopen()/dlclose() issue with automatic g_type_init()
2117  686839 mkinstalldirs: Move to glib-mkinstalldirs
2118  686895 file-info: catch thumbnail files in large directory as well
2119  686898 g_unix_signal_source_new: Allow SIGUSR1 and SIGUSR2
2120  686920 gdbus: Allow GDBusObjectManagerClient to work on peer connections
2121  686921 Remove some of the repetition from gio/tests/Makefile.am
2122  687075 g_spawn_sync diagnostic incorrectly complains about SIGCHLD
2123  687089 g_dbus_connection_export_menu_model(): fix a crash
2124  687098 Repeated g_timeout_add* use can lead to guint overflow
2125  687385 Add some stricter CFLAGS, fix up the code
2126  687441 ABI break in master: g_menu_attribute_hash_iter_get_type, g_menu_link_hash_iter_get_type removed
2127  687516 typo in string: KB should be kB
2128  687540 In Trash folder, Nautilus misinterprets "\n" in filename as a line break
2129  687541 GSignalQuery param_types field needs array annotation
2130  687600 gfileutils.c performs invalid cast of (varargs) open to non-vararg type
2131  687698 plural forms needed
2132  687700 ending spaces
2133  687742 Add support for internal linkage to glib-compile-resources
2134  687801 tests/buffered-input-stream: Fix size of parameter passed
2135  688109 win32 warning/error fixes
2136  688255 'make check' regressed in 138f4c1 because GMarkup error messages changed
2137  688338 [PATCH] gobject/gtype.c: Fix spelling of »exceed«
2138  688370 GDBusError documentation improvement for client-side
2139  688378 g_socket_join_multicast_group not working
2140  688518 gio-kqueue: use O_EVTONLY on MacOS
2141
2142
2143
2144 Overview of changes from GLib 2.34.0 to 2.35.1
2145 ==============================================
2146
2147 These two changes in particular may be slightly incompatible.  Please
2148 give feedback if they cause trouble:
2149
2150   * Signal handlers connected with g_signal_connect_object() are now
2151     automatically disconnected on target object destruction
2152
2153   * The ->constructed vfunc is now called after all properties are set
2154
2155 The remaining changes should not cause problems.
2156
2157   * g_type_init() is no longer necessary and has been deprecated
2158
2159   * GTask (the new GAsyncResult implementation) has landed 
2160
2161   * GLib version macros updated
2162
2163   * Update to Unicode 6.2
2164
2165   * Thread safety fixes for GFileMonitor in non-default main contexts
2166
2167   * GTimeZone support for old-format zoneinfo database (as on Mac OS)
2168
2169   * g_settings_bind() now works with non-canonical property names
2170
2171   * Fix crashes related to NULL connection passed to
2172     GBusNameVanishedCallback and document this situation
2173
2174 * Bugs fixed:
2175  118536 Make g_signal_connect_object'ed handlers disconnect when the data object is destroyed
2176  661767 merge/improve various bits of run-in-thread functionality
2177  682950 GFileMonitor crashing on high event count when running in different thread
2178  683642 Missing g_content_type_get_symbolic_icon
2179  684882 Gsettings should spaw a warning when binding against a low_underscored_property
2180  684909 codegen: Explicitly close output
2181  684912 Update to Unicode 6.2
2182  685037 g_strcmp0: Returns shall include values less and greater than zero
2183  685069 Leak in glib-compile-resources
2184  685208 missing g_return_if_fail
2185  685608 [Patch] Port gio tests from pygobject to pygi
2186  685697 Documentation typo in g_dbus_interface_skeleton_has_connection()
2187  685733 Call ->constructed() after all properties are set
2188  685787 gtestdbus: correct documentation typos
2189  685995 Crash in g_menu_exporter_name_vanished
2190  686091 Invalid reads in g_bytes_unref_to_data
2191  686119 dtrace, gobject_probes.d, the last three probes - semicolon missing
2192  686161 Deprecate g_type_init()
2193  686231 GBusNameVanishedCallback: document NULL connection
2194  686458 slightly increase poll duration in test_timed_wait 
2195
2196 * Translations updated
2197   Catalan (Valencian)
2198   Czech
2199   Danish
2200   Italian
2201   Lithuanian
2202   Norwegian bokmål
2203   Slovenian
2204
2205 Overview of changes from GLib 2.33.14 to 2.34.0
2206 ===============================================
2207
2208 * Bug fixes:
2209  654239 g_type_init()'s docs have no statement about how to...
2210  674620 Update GSettings migration guide for intltool updates
2211  676034 Fix doc annotation for g_ptr_array_ref()
2212  684278 Fix GIO build on Windows
2213
2214 * Translation updates:
2215  Brazilian Portuguese
2216  British English
2217  Bulgarian
2218  Catalan
2219  Galician
2220  German
2221  Hebrew
2222  Hindi
2223  Hungarian
2224  Kannada
2225  Latvian
2226  Marathi
2227  Spanish
2228  Telugu
2229
2230
2231 Overview of changes from GLib 2.33.12 to 2.33.14
2232 ================================================
2233
2234  * CVE-2012-3524: don't run dbus-launch from setuid binaries
2235
2236  * g_content_type_get_generic_icon_name():
2237      new API for getting the icon name for a mime type
2238
2239  * Introspection fixes:
2240   - GDBusConnection nullability fixes
2241   - give a box type to GTimeZone
2242
2243  * Drop GVFS_INOTIFY_DIAG
2244
2245  * Add a new "Writing GLib Applications" section to the reference
2246    documentation with general info on security, threads, etc.
2247
2248  * gwin32mount.c: Fix syntax error
2249
2250  * gresource tests: srcdir != builddir fixes
2251
2252  * tests/gvariant: Fix test on big endian architectures
2253
2254  * Fix regression in g_shell_parse_argv()
2255
2256 Bugs fixed:
2257  562907 g_shell_parse_argv() mishandles # (hash)
2258  683167 g_time_zone_new not introspectable
2259  683384 /gvariant/checksum-basic failure on big endian machines
2260  683641 Typo in gwin32mount.c
2261  683744 have a way to get the generic icon name for a mime type
2262
2263 Translation updates:
2264  Assamese
2265  Belarusian
2266  British English
2267  Czech
2268  Danish
2269  French
2270  Galician
2271  German
2272  Greek
2273  Hebrew
2274  Indonesian
2275  Indonesian
2276  Korean
2277  Lithuanian
2278  Marathi
2279  Marathi
2280  Polish
2281  Portuguese
2282  Punjabi
2283  Russian
2284  Serbian
2285  Slovenian
2286  Traditional Chinese
2287
2288 Overview of changes from GLib 2.33.10 to 2.33.12
2289 ================================================
2290
2291 * Add a G_DEFINE_QUARK macro
2292
2293 * Add symbolic icon support to drive, volume, and mount, file
2294   and content types
2295
2296 * Add API to allow thread-safe access to the same qdata item
2297
2298 * Bugs fixed:
2299  562907 g_shell_parse_argv() mishandles # (hash)
2300  627240 add G_DEFINE_QUARK
2301  672329 memory leaks in gutils.c and glib tests
2302  673012 Stable byte-level specification for normal form
2303  674805 gdbusproxy async test is broken
2304  679835 gvariant format string parsing (and assertions)...
2305  682075 gdbus: Fix double free and use after free of ob...
2306  682101 Provide a way to get a symbolic icon for a device
2307  682222 test_method_calls_on_proxy: assertion failed (e...
2308  682284 mount-op: use gint64 instead of guint64 for tim...
2309  682386 "make check" fails due to sys/resource.h not be...
2310  682560 leak fixes
2311  682586 gsettings-tool: make list-recursively really re...
2312  682819 EINTR-harden all the things
2313  682833 Handle EINTR for open()
2314  682849 drop the global lock for g_object_weak_ref
2315  682965 gdbus-tool: Check return value of strrchr()
2316  683088 gdbus-codegen: fix error when wrong interface n...
2317         Fix the build with gtk-doc-stub
2318         Don't crash if set_app_info is called before ad...
2319
2320 * Translation updates
2321  Assamese
2322  Galician
2323  Greek
2324  Indonesian
2325  Japanese
2326  Latvian
2327  Lithuanian
2328  Norwegian bokmål
2329  Polish
2330  Portuguese
2331  Punjabi
2332  Russian
2333  Spanish
2334  Traditional Chinese
2335  Vietnamese
2336
2337
2338 Overview of changes from GLib 2.33.8 to 2.33.10
2339 ===============================================
2340
2341 * New GTest API for testcases where log output is expected:
2342   g_test_expect_message()
2343
2344 * GMenuItem now has 'get' accessors and a construct-from-GMenuModel API
2345
2346 * GVariant now has a function to check a format-string for type
2347   compatibility
2348
2349 * win32: We now use overlapped IO to support multiple asynchronous
2350   operations (ie: reading and writing) at the same time.
2351
2352 * GMappedFile: Add g_mapped_file_get_bytes()
2353
2354 * The problems with g_file_make_directory_with_parents() should be
2355   resolved.
2356
2357 * The long-standing issues with placeholder generation of manpages are
2358   now resolved.
2359
2360 * gtlscertificate: Add GBytes based certificate and private-key props
2361
2362 * build: Switch back to using AS_IF for conditionals
2363
2364 * test coverage improvements, documentation improvements, leak fixes
2365
2366 * Bugs fixed
2367  326931 Better docs for G_GNUC_*
2368  550433 g_test_init doesn't recognize --help
2369  600751 GCompletion should better document if and how items memory is managed
2370  628193 Miscellaneous string fixes
2371  637460 man glib-genmarshal is hard to use
2372  674483 broken configure results when cross-compiling with gcc >= 4.5
2373  677065 GMappedFile: Add g_mapped_file_get_bytes()
2374  679288 win32: use overlapped events for streams
2375  679556 it's hard to use gtest when g_warning() is expected
2376  680823 g_file_make_directory_with_parents: Fix error propagation
2377  681319 gtlscertificate: Add certificate-bytes and private-key-bytes props
2378  681336 man pages not built if --enable-gtk-doc not specified
2379  681413 build: Switch back to using AS_IF for conditionals
2380  681501 gmem: array only partially filled with memcpy
2381  681854 Documentation fix for Howto compile a program with glib
2382  682025 Documentation correction
2383  682067 Fix problems with CLEANFILES and automake-1.11.1 
2384
2385 * Translations updated:
2386  Lithuanian
2387  Spanish
2388  Galician
2389  Telugu
2390  Serbian
2391  Assamese
2392  Marathi
2393  Indonesian
2394  Traditional Chinese
2395
2396 Overview of changes from GLib 2.33.6 to 2.33.8
2397 ==============================================
2398
2399 * GIO now has a g_file_delete_async function
2400
2401 * The defaults for GThreadPools max_unused_threads
2402   and max_idle_time values have been changed to
2403   2 and 15*1000, respectively.
2404
2405 * Bugs fixed:
2406  661767 merge/improve various bits of run-in-thread functionality
2407  680074 undefined symbol "get_C_locale"
2408  680121 g_cancellable_source_new: don't use a file descriptor
2409  680148 gthread: check for definition of PR_SET_NAME
2410  680310 Sorting of access points by strengh not working
2411  680704 g_utf8_strup() crash
2412  68076a0 GFile: Add g_file_delete_async()
2413  680787 Add .dir-locals.el to tell Emacs users not to use tabs...
2414  680823 g_file_make_directory_with_parents: Fix error propagation
2415  680994 STATIC_ASSERT in GDBusError docs don't have much utility
2416  681116 gtlscertificate: Add g_tls_certificate_equal() function
2417  681118 gtlsdatabase: Don't complain if no callbacks for async...
2418  669331 try to get gio tests working a little better on win32
2419  674314 Make gtk-doc not a hard dependency of GLib
2420  674800 gclosure: generic marshaller leaks return value
2421  675524 gsocket: FIONREAD undeclared (needs sys/filio.h)
2422  679509 use after free in g_dbus_action_group_describe_all_done()
2423  679996 gobject docs minor cleanup
2424  680459 Extra newline char in local implementation of g_applic...
2425  680505 object_path memory leak in gdbusobjectproxy.c
2426  680831 Deprecate and remove g_slice_[sg]et_config.*
2427  680912 gchecksum: Add g_compute_checksum_for_bytes()
2428  681151 checksum: Use functions instead of macros when buildin...
2429  681158 gtlscertificate: Don't confuse certificate and public ...
2430
2431 * Translation updates:
2432  Galician
2433  German
2434  Gujarati
2435  Hebrew
2436  Norwegian bokmål
2437  Serbian
2438  Slovenian
2439
2440
2441 Overview of changes from GLib 2.33.4 to 2.33.6
2442 ==============================================
2443
2444 * GAsyncInitable: partially revert the init_finish changes,
2445   some applications were found to rely on behaviour that
2446   was broken by these changes
2447
2448 * Bugs fixed:
2449  679617 win32: fix g_get_environ()
2450  679968 Add some annotations to GBytes, GVariantType...
2451  680111 GIOScheduler assumes GCancellable "cancelled...
2452
2453 * Translation updates:
2454  Spanish
2455
2456 Overview of changes from GLib 2.33.3 to 2.33.4
2457 ==============================================
2458
2459 * GMainContext: the source list has been reorganzied to
2460   avoid O(n) behaviour
2461
2462 * GRegex: Update included PCRE to 8.31 and expose new
2463   functionality in 8.x versions of PCRE
2464
2465 * GMountOperation gained a ::show-unmount-progress signal
2466   which provides information about slow unmount operations
2467
2468 * Bugs fixed:
2469  616892 gio: Add a boxed type for GFileAttributeMatcher
2470  619329 g_source_attach() O(n) in number of sources
2471  639771 g_dir_read_name() can also return NULL on error
2472  661767 merge/improve various bits of run-in-thread fun...
2473  667375 GAsyncInitable subclassing (and async subclassi...
2474  671545 Constify collect and lcopy strings in GTypeValu...
2475  674452 SEGFAULT in gio contenttype test
2476  674898 Deal with GLIB_VERSION_MIN_REQUIRED/MAX_ALLOWED...
2477  675504 Fix up GObject interface documentation
2478  677064 GString: Tweak documentation, add g_string_free...
2479  677578 error in PCRE error code conversion
2480  677579 update GRegexError for newer PCRE error codes
2481  678066 gdbus codegen does not work with python3
2482  678273 unicode othercasing is wrong in gregex
2483  678576 GIOScheduler performance enhancements
2484  678758 GTlsInteraction unlocks an unlocked mutex
2485  678808 GTestDBus issues
2486  678881 Test failures in /socket/timed_wait in some cas...
2487  678941 /contenttype/guess test case failure
2488  678944 gio returns the wrong default applications for ...
2489  678949 wrong definition of ulong_bool for 64 bit big e...
2490  678959 /mainloop/timeouts race condition: assertion fa...
2491  679193 update included pcre to 8.31
2492  679258 The 'Since' tag for G_SOURCE_CONTINUE and G_SOU...
2493  679473 Don't generate invalid property names
2494  679691 Add g_spawn_check_exit_status()
2495  679671 GDBusNodeInfo: the XML string must contain exac...
2496  676111 mount-operation: add show-unmount-progress signal
2497  679691 win32: fix build g_spawn_check_exit_status() wi...
2498  679813 Documentation bug on http://developer.gnome.org...
2499
2500 * Translation updates:
2501  Assamese
2502  Belarusian
2503  Bulgarian
2504  Galician
2505  Greek
2506  Norwegian bokmål
2507  Polish
2508  Spanish
2509  Traditional Chinese
2510  Vietnamese
2511
2512
2513 Overview of changes from GLib 2.33.2 to 2.33.3
2514 ==============================================
2515
2516 This release contains mostly bugfixes, cleanups and performance
2517 improvements (including many fixes contributed by Colin on the advice of
2518 Coverity).  There are a few notable externally-visible changes:
2519
2520 * Thumbnails are now in XDG_CACHE_HOME
2521
2522 * new GDBus API: per-thread g_dbus_connection_get_last_serial()
2523
2524 * GUnixOutputStream now has a can_poll() implementation
2525
2526 * New deep copy APIs for G(S)List: g_(s)list_copy_deep
2527
2528 * Bugs fixed:
2529  518309 Incorrect data*dir path in glib-gettextize output
2530  566994 Safer passing of -framework flag
2531  672889 GLib.utf8_validate does segfault
2532  673253 Not strict enough autconf test for libelf
2533  675024 adds g_list_copy_deep() and g_slist_copy_deep
2534  675168 prepare for thumbnails to move to XDG_CACHE_HOME
2535  675966 gresolver: More robust parsing of DNS responses
2536  676594 [Patch] fix g_reload_user_special_dirs_cache
2537  676825 Implement g_dbus_connection_get_last_serial ()
2538  677235 Clarify the comment at the top of gmarshal.list
2539  677527 OS X: gthread/spawn-async selftest failure
2540  677718 GDBusProxy: treat org.freedesktop.systemd1.Masked error as non-fatal
2541  677770 GUnixOutputStream does not implement can_poll
2542  677782 Install bash completion files in /usr/share
2543  677817 g_key_file_to_data adds extra blank lines in some cases
2544  677952 Missing annotation for GDBusConnection signal "closed"
2545  678052 g_wakeup_acknowledge is called too often.
2546  678273 unicode othercasing is wrong in gregex
2547  678333 gdbus-codegen code causes warnings under -Wfloat-equal
2548
2549 * Translations updated:
2550  Arabic
2551  Assamese
2552  Galecian
2553  Greek
2554  Spanish
2555  Telugu
2556
2557 Overview of changes from GLib 2.33.1 to 2.33.2
2558 ==============================================
2559
2560 * GLIB_VERSION_MIN_REQUIRED now defaults to the current stable version
2561
2562 * GIO input and output stream classes have grown GBytes-based methods
2563
2564 * GApplication now has hooks to register D-Bus objects before the bus
2565   name is taken
2566
2567 * Bugs fixed:
2568  605976 add g_type_ensure(), to ensure that a type has...
2569  660851 Breakage of code due to changes in the GThread...
2570  666386 Empathy doesn't open Redirect URI with particu...
2571  671139 need (transfer async) for io stream buffers
2572  672329 memory leaks in gutils.c and glib tests
2573  672548 g_utf8_validate: @str shouldn't end up annotat...
2574  674111 Provide an accessor for MimeType desktop entry...
2575  674483 broken configure results when cross-compiling ...
2576  674634 Add g_clear_pointer()
2577  674777 What's the (transfer) of g_variant_lookup()?
2578  675309 gkeyfile: Fix annotations for g_key_file_load_...
2579  675446 gfile: Plug memory leak in g_file_make_directo...
2580  675509 add extra dbus hooks
2581  675832 Incomplete gsettings bash auto-completion
2582  676208 The tmpl parameter to g_file_new_tmp can be NULL
2583  676265 GNetworkMonitor leaks a lot of memory
2584  676277 Document that g_app_info_create_from_commandli...
2585  676397 g_environ_* should work with NULL envp
2586  676398 g_spawn_* should take PATH from the passed env...
2587  676478 Broken gzip decoding
2588  676594 [Patch] fix g_reload_user_special_dirs_cache
2589  676816 Add more GLIB_AVAILABLE_IN_*
2590  676937 Document notify signal deduplication with free...
2591
2592 * Translation updates:
2593  Czech
2594  French
2595  German
2596  Greek
2597  Japanese
2598  Russian
2599  Slovenian
2600  Spanish
2601
2602
2603 Overview of changes from GLib 2.32.1 to 2.33.1
2604 ==============================================
2605
2606 * GApplication
2607  - can now have a NULL application ID
2608  - add accessors for determining dbus connection and object path
2609
2610 * g_clear_object: fix warnings when using it on C++ (due to lack of
2611   ability to implicitly cast void*)
2612 * add g_clear_pointer as a generic form of g_clear_object
2613
2614 * GDBus:
2615  - add our own implementation of the message bus for use on Windows only
2616  - fix up a few bugs that use of this bus uncovered in GDBus
2617  - escape nonce files in dbus addressess (think 'c:\')
2618  - support initial underscores in dbus codegen namespace (for private)
2619  - add GTestDBus for bringing up a session bus for testing purposes
2620  - gdbus-codegen: Avoid warnings in generated code
2621  - GDBusAuthObserver: Add a way to control what authentication mechanisms to use
2622  - 
2623
2624 * Fix misdetection of GNUstep as Cocoa (for the MacOS GSettings backend)
2625
2626 * make sure configure fails if AC_CHECK_ALIGNOF cannot detect the alignment
2627
2628 * GAppInfo
2629  - overwrite the DISPLAY only if it is set in the launch context
2630  - add accessor for StartupWMClass
2631
2632 * glib/tests/date: force US locale running the GDateTime tests
2633
2634 * Resources:
2635  - fix broken use of GVDB on big endian machines
2636  - set a 'display name' so that pretty file names appear in Gtk CSS
2637    warning messages
2638
2639 * GMainContext:
2640  - block child sources when blocking the parent
2641  - introduce more testcases for child sources
2642
2643 * GResolver: add support for MX, TXT, NS and SOA records
2644
2645 * GSocketControlMessage: Don't warn about unknown messages
2646
2647 * GIO:
2648  - implement GSeekable for the data and buffered stream classes
2649  - implement GPollable for many more classes as well
2650  - fix GConverterInputStream infinite loop when fill_buffer returns an error
2651  - fileinfo: document the correct type for trash::orig-path
2652
2653 * test coverage improvements and general fixes
2654
2655 * new 2.34 stuff: version macros, docs index section, etc.
2656
2657 * Build:
2658  - add --disable-modular-tests build option
2659  - don't require host binaries if tests are not enabled for cross-builds
2660
2661 * Translations updated
2662  Brazilian Portuguese
2663  Bulgarian
2664  Czech
2665  French
2666  Galician
2667  German
2668  Hebrew
2669  Hindi
2670  Italian
2671  Norwegian bokmål
2672  Polish
2673  Russian
2674  Russian
2675  Serbian
2676  Simplified Chinese
2677  Slovenian
2678  Spanish
2679  Telugu
2680
2681 Overview of changes from GLib 2.32.0 to 2.32.1
2682 ==============================================
2683
2684 * Bugs fixed:
2685  670254 glib-2.30.2: Fails /GDateTime/new_from_unix test
2686  672541 glib-compile-resources prepends --sourcedir to absolute paths
2687  673139 URL to mailing lists in README incorrect
2688  673174 g_input_stream_read[_finish]: document returning 0 on EOF
2689  673191 glib/gchecksum.c warning: dereferencing type-punned pointer...
2690  673216 [W32] gtestutils does not use path separators consistently
2691  673439 Properly deprecate g_value_{set,get}_char
2692  673612 Fails to decode dictionaries wrapped in two layers of array
2693  673803 gclosure: Support return values of GVariants
2694  669285 glib/tests/markup-parse fails under non-english locale
2695  673911 gio-2.0.pc lists full path to executables, breaking cross com..
2696  673762 gnextstepsettingsbackend.c:343: error: parse error before 'in'
2697
2698 * Updated translations:
2699  Belarusian
2700  British English
2701  Bulgarian
2702  Catalan
2703  Czech
2704  French
2705  German
2706  Hebrew
2707  Hindi
2708  Hungarian
2709  Italian
2710  Japanese
2711  Kannada
2712  Latvian
2713  Lithuanian
2714  Marathi
2715  Norwegian bokmål
2716  Odia
2717  Polish
2718  Serbian
2719  Slovenian
2720  Spanish
2721  Swedish
2722  Telugu
2723
2724
2725 Overview of changes from GLib 2.31.22 to 2.32.0
2726 ===============================================
2727
2728 * Bugs fixed:
2729  671988 Quickly registering / unregistering objects on bus...
2730  672095 glib needs stable sort function
2731  672406 glib/tests/include.c fails to build on FreeBSD
2732
2733 * Updated translations:
2734  Telugu
2735
2736
2737 Overview of changes from GLib 2.31.20 to 2.31.22
2738 ================================================
2739
2740 * Bugs fixed:
2741  531901 Use __builtin_bswap* for GUINT*_SWAP_LE_BE if building...
2742  653167 Out of tree build is broken on windows
2743  668973 Test /gvariant/parser fails on Solaris 10
2744  669797 gvfs now lists its fuse mounts
2745  670846 deadlock: GStreamer-WARNING **: wrong STREAM_LOCK count 0
2746  671664 gio-querymodules: unlink instead of writing empty cache
2747  671676 Glib can't be cross-compiled any more after merge of...
2748  671918 gnome-shell is inaccessible unless started while an AT...
2749  671942 GSocketMsgFlags: annotate as a flags
2750  671997 Unix signal handling assumes that volatile 1-byte writes...
2751  672013 GSimpleAsyncResult: support reliable cancellation
2752  672026 default log output should include pid and/or prgname
2753  672095 glib needs stable sort function
2754  672201 G_SPAWN_SEARCH_PATH should continue on ENODEV and ETIMEDOUT
2755  672239 request NO_REPLY from g_dbus_connection_call() with no as...
2756  672249 gdbusproxy leaks asyncresult in an error case instead of...
2757
2758 * Translation updates:
2759  Assamese
2760  British English
2761  Catalan
2762  Catalan (Valencian)
2763  Danish
2764  Esperanto
2765  Finnish
2766  French
2767  German
2768  Hungarian
2769  Korean
2770  Lithuanian
2771  Norwegian bokmål
2772  Polish
2773  Portuguese
2774  Russian
2775  Traditional Chinese
2776
2777
2778 Overview of changes from GLib 2.31.18 to 2.31.20
2779 ================================================
2780
2781 * Update to Unicode 6.1
2782
2783 * Update PCRE to 8.30
2784
2785 * Deprecations are now versioned, and new API is
2786   marked with the version it was introduced.
2787   Use these with GLIB_VERSION_{MIN,MAX}_REQUIRED
2788
2789 * The performance of signal emissions has been
2790   improved for simple cases
2791
2792 * Bugs fixed:
2793  529806 Cannot build in 64-bit Mac OS X due to libiconv
2794  580873 Documentation of register type functions incomplete
2795  592666 Document how to unset an attribute
2796  597785 g_type_class_add_private code snippet is a bad example
2797  621368 glib-2.24.1: FAIL: run-assert-msg-test.sh when updating...
2798  622149 --disable-regex breaks glib2 build
2799  639873 GBinding: Crash when binding two properties on the same...
2800  640202 For GLIB v. 2.23.6 and above: impossibility to build mu...
2801  668295 Need a way to classify GVolume instances
2802  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
2803  670542 Add version information for deprecations
2804  670557 gvaluetransform: Fix an infinite loop with GFlagsValue...
2805  670721 global variable for signal ID should be hidden
2806  670751 IceWM build fails due to the G_DEPRECATED_FOR macro
2807  670909 g_dbus_connection_call leaks when it receives an error...
2808  670922 Include path to gdbus-codegen in the pkgconfig file
2809  670969 GSequence lookup may fail if there was no sort prior to...
2810  671025 Constants and identifiers starting with a number are no...
2811  671270 make distclean failures
2812  671281 glib-compile-resources.xml is missing from the dist tar...
2813
2814 * Translation updates:
2815  Basque
2816  Belarusian
2817  Brazilian Portuguese
2818  Bulgarian
2819  Galician
2820  Hebrew
2821  Lithuanian
2822  Persian
2823  Punjabi
2824  Serbian
2825  Simplified Chinese
2826  Slovenian
2827  Telugu
2828  Traditional Chinese
2829  Uyghur
2830  Vietnamese
2831
2832
2833 Overview of changes from GLib 2.31.16 to 2.31.18
2834 ================================================
2835
2836 * GDBusProxy has now a flag, G_DBUS_PROXY_FLAGS_GET_INVALIDATED_PROPERTIES,
2837   which can be set to make GDBus automatically reload
2838   changed properties even if the propertychanged signal
2839   does not contain the new values.
2840
2841 * GApplication puts non-unique applications on the bus
2842
2843 * GApplication now has g_application_quit()
2844
2845 * g_async_queue_timed_pop has been deprecated in favor of
2846   the new g_async_queue_timeout_pop, which uses relative
2847   delays in microseconds instead of a GTimeVal.
2848
2849 * a huge number of API documentation fixes
2850
2851 * Bugs fixed:
2852  647986 put non-unique apps on D-Bus
2853  658484 vpn connection vs NetworkSecretDialog
2854  664237 GDateTime falls back to UTC if TZ is set
2855  669329 gthread-win32: update for g_get_monotonic_time() changes
2856  669330 glocalfile: fix error code when opening a directory on win32
2857  669372 glib/tests memory leaks.
2858  669412 mem leak in g_environ_unsetenv
2859  669538 Fix compilation of glib-compile-resources.c on Windows
2860  669544 gdbus-codegen example introspection XML is not complete
2861  669595 glib-mkenums: fix handling of forward enum declarations
2862  669670 gasyncqueue: don't use deprecated g_cond_timed_wait()
2863  669671 gobject: use #pragmas to avoid deprecated function warnings
2864  669689 Retrieve cwd and environ in local GApplicationCommandLine
2865  669810 socket/win32: flush pending read before signaling HUP
2866  669865 g_regex_fetch()
2867  670085 memory leak in g_output_stream_write_async
2868  670138 gbytes.h is missing the G_BEGIN/END_DECL guards
2869  670485 Simplify session API (shared bug with gtk+)
2870
2871 * Updated translations:
2872  Belarusian
2873  Danish
2874  Galician
2875  Serbian
2876  Telugu
2877  Hebrew
2878
2879
2880 Overview of changes from GLib 2.31.14 to 2.31.16
2881 ================================================
2882
2883 * GResource:
2884  - The resource compiler can now convert pngs into
2885    pixel data that can be used without parsing at runtime
2886    (requires gdk-pixbuf-pixdata to be present)
2887
2888 * Bugs fixed:
2889  669123 resource compiler: failing to-pixdata should...
2890  669173 resource: fix xml preprocess entity handling
2891  669224 Cross-compilation broken by data-to-c
2892  669253 gsettings set buggy on array values
2893  669334 fix memory leak in bookmark file parser
2894
2895 * Translation updates:
2896  Norwegian bokmål
2897  Spanish
2898
2899
2900 Overview of changes from GLib 2.31.12 to 2.31.14
2901 ================================================
2902
2903 * GResource:
2904  - GLib now includes a commandline utility, gresource,
2905    to explore resources in ELF files
2906  - The resource compiler can now optionally strip
2907    ignorable whitespace from XML resources
2908  - The resource compiler can now generate build dependencies
2909  - The resource compiler will now autoselect output formats
2910
2911 * GApplication:
2912  - The menu markup parser API has been dropped, the
2913    menu XML support lives in GTK+ now
2914
2915 * GValueArray has been deprecated
2916
2917 * Bugs fixed:
2918  626258 N-ary Trees - 'nodes' can be inserted before and after...
2919  634232 Core Dump / Aborted using g_key_file_to_data
2920  639099 schema compiler chokes on valid schema
2921  667228 Deprecate GValueArray
2922  667243 Add an element clear function to GArray
2923  667929 glib-compile-resources: xml resources doesn't need to...
2924  668250 g_date_time_format() produces a non-UTF8 string
2925  668468 'IP_ADD_SOURCE_MEMBERSHIP' undeclared
2926  668532 resources: add dependency generator to the resource compiler
2927  668539 resources: compiler should autoselect output format...
2928  668561 gresource-tool not internationalized
2929  668572 glib_cv_g_atomic_lock_free config.cache setting not honored...
2930  668650 GRealArray->clear_func should be initialized
2931  668756 GKeyFile: allow loading from empty strings
2932  668857 fix couple of typos in comments
2933  669024 goption: implement platform_get_argv0() for OpenBSD
2934
2935 * Updated translations:
2936  Galician
2937  Norwegian bokmål
2938  Spanish
2939  Traditional Chinese
2940
2941 Overview of changes from GLib 2.31.10 to 2.31.12
2942 ================================================
2943
2944 * GApplication:
2945  - Drop support for exporting menus - this functionality
2946    will be provided in GtkApplication
2947  - Add a way to create actions that change settings
2948
2949 * Bugs fixed:
2950  629503 Add async versions of g_unix_connection_{receive,send}_credentials
2951  656301 glib-compile-schemas should not create an empty file
2952  668071 mingw-gcc build fails on gio/gsocket.[c|h]
2953  668118 the big appmenu switcheroo
2954  668158 base64 encode and line termination
2955  668163 GDBusConnection: note that exit-on-close is sometimes TRUE
2956  668269 gsignal: add g_signal_handlers_disconnect_by_data
2957  668279 create GAction from GSettings
2958
2959 * Translation updates:
2960  Norwegian bokmål
2961
2962
2963 Overview of changes from GLib 2.31.8 to 2.31.10
2964 ===============================================
2965
2966 * GResource:
2967  - A new facility to allow linking data files into binaries
2968    and make them available as resources
2969  - Resources are compiled using glib-compile-resources
2970  - GIO supports resource:/// uris to access resources
2971
2972 * Bugs fixed:
2973  619126 Missing dependency libs
2974  658315 g_key_file_get_keys() should set length to 0...
2975  660371 is it ever valid to have 0 as a GError domain?
2976  666700 Add some missing (allow-none) annotations
2977  667375 GAsyncInitable subclassing (and async subclassing...
2978  667447 Missing many introspection annotations
2979  667790 Protect call to pthread_condattr_setclock with define
2980  667938 wrong gtypes generated for empty flags enums
2981
2982 * Translation updates:
2983  Hebrew
2984  Spanish
2985
2986
2987 Overview of changes from GLib 2.31.6 to 2.31.8
2988 ==============================================
2989
2990 * GObject:
2991  - The type checks for overriding properties have been loosened.
2992    In particular, it is now possible to add the CONSTRUCT flag
2993    to an overridden property
2994  - GWeakRef is a new API for weak references; unlike g_object_weak_ref
2995    and g_object_add_weak_pointer, it is thread-safe.
2996
2997 * GHashTable has grown new convenience api for use as a set:
2998   g_hash_table_add, g_hash_table_contains
2999
3000 * GSocketConnection has gained API for managing connection status
3001
3002 * GSettings: a native OS X backend has been added, under the
3003   name 'nexstep'
3004
3005 * Bugs fixed
3006  455640 Something fishy with GRegex and unicode
3007  548954 weak references are not threadsafe
3008  625751 Add G_FILE_ATTRIBUTE_FILESYSTEM_USED
3009  658871 gbacktrace: g_get_prgname () isn't called for a NULL argu...
3010  664069 gvariant: Never break out of g_variant_iter_loop
3011  664830 g_strescape doesn't natively handle \v (vertical tab)
3012  665211 GDBusConnection singleton access can race with disposal
3013  665805 Add GSocketClient::action, for tracking socket client status
3014  666116 some tests provoke undefined behaviour, which is undesira...
3015  666422 Unreachable code in gio gnetworkmonitornetlink.c
3016  666551 Crash in g_thread_xp_SleepConditionVariableSRW
3017  666595 menu parser disallows id='' on submenu and section
3018  666615 loosen property override flag restrictions
3019  666616 gobject: fix property override type checks
3020  666803 g_utf8_validate() fails to validate strings with known size
3021  666804 g_ateaxit deprecation warning in devhelp points in wrong ...
3022  666951 g_mkdtemp: Since version incorrect in docs
3023  666978 Fails to compile glib applications with ISO C90 compiler
3024  667098 ginetaddressmask leaks its address property
3025  667225 GSocket: add missing type checks to public methods
3026  667226 GSocket: fix an error return value
3027  667279 Sometimes crashes when launching commandline-crea...
3028  667285 Wrong keyname listed in documentation for g_deskt...
3029  667331 Use g_queue_free_full() convenience function
3030  667420 GHashTable GDB pretty printing is broken
3031
3032 * Updated translations
3033  Belarusian
3034  Bulgarian
3035  Hebrew
3036  Norwegian bokmål
3037  Norwegian Nynorsk
3038  Spanish
3039  Vietnamese
3040
3041
3042 Overview of changes from GLib 2.31.4 to 2.31.6
3043 ==============================================
3044
3045 * GApplication no longer has APIs for setting menus.  Those have been
3046   moved to GtkApplication.
3047
3048 * the GActionGroup import/export functionality has been decoupled from
3049   GApplication by the introduction of a new interface for the purpose of
3050   handling platform data: GRemoteActionGroup.  This allows Gtk to
3051   properly deal with platform data (and gdk threads) on window actions.
3052
3053 * lots of documentation improvements
3054
3055 * bug fixes and a huge number of memory leak fixes
3056
3057 * the test suite now passes on ARM and some of the GDBus testcase hangs
3058   we've been seeing have been resolved (although others could remain)
3059
3060 * g_bytes_get_data() API changed: now includes 'size' out parameter
3061
3062 * new g_queue_free_full() API similar to g_[s]list_free_full()
3063
3064 * desktop files: use standard "Keywords" now, not "X-GNOME-Keywords"
3065
3066 * gsettings commandline tool now has --schemadir option for schemas not
3067   installed in the usual place (ie: as part of plugins)
3068
3069 * Bugs fixed:
3070  643736 GApplication doesn't emit dbus signals on action updates
3071  657433 g_queue_free_full() missing
3072  664699 glib: documentation fixes
3073  665737 acquire/release gdk threads lock on incoming dbus
3074  665879 GBytes: add a size argument to g_bytes_get_data
3075  666113 various leaks in GLib, GIO are visible in the regression tests
3076  666115 various tests leak memory, obscuring real leaks in the library
3077  666145 Doc could be more explicite that g_thread_init calls can be droped
3078  666173 Configure warning - linux/netlink.h usability... no
3079  666296 Race condition in g_thread_xp_get_srwlock
3080  666415 Settings tools should allow specifying a schema directory 
3081
3082 * Translations updated:
3083  French
3084  Spanish
3085
3086 Overview of changes from GLib 2.31.2 to 2.31.4
3087 ==============================================
3088
3089 * EXPERIMENTAL: Menu support has been added to GApplication.  Menus
3090   are exported on the bus, alongside the actions that are already there.
3091   There have also been many related improvements to action group
3092   functionality.
3093
3094   These new APIs are subject to changes in the coming releases.  In
3095   particular, it seems somewhat likely that the APIs for registering
3096   menubars may change in order to accommodate windows with different
3097   types of menubars.
3098
3099 * GDBusConnection previously directly dispatched destroy notifies when
3100   unregistering objects if the current main context was the same context
3101   the object was exported on.  It now unconditionally dispatches these
3102   through an idle on the context.
3103
3104 * Clean up Requires in pc files. Linking against GIO no
3105   longer drags in gmodule. This may require dependency
3106   fixes here and there.
3107
3108 * Introduce GBytes, a data type for immutable, fixed-size
3109   byte sequences. This makes the pre-existing GBuffer
3110   API available outside GLib
3111
3112 * GDBusInterfaceSkeleton can now be exported on multiple
3113   connections
3114
3115 * Bugs fixed:
3116  600161 Do not use static GTypeInfo and GInterfaceInfo
3117  640077 GFileMonitor: Always send CHANGES_DONE_HINT after a move...
3118  641720 Misleading definition for local_command_line() in GApplic...
3119  648516 Little comment error and 2 useless lines of code
3120  651997 Dummy backend for gapplication
3121  652560 Test for g_ascii_strtod is failing
3122  662208 failure to initialize a GInitable should be considered...
3123  662718 GDBusInterfaceSkeleton should be able to export on multi...
3124  663291 GBytes: Immutable, refcounted sequence of bytes
3125  664406 Need context for a proper translation
3126  664455 Build fixes for GLib GIT master (2.31.x)
3127  664558 GDBusWorker.frozen has a value > 1 in a gboolean
3128  664559 sys/wait.h not available on windows
3129  664617 gdbus segfault error 4 in libgio-2.0.so.0.3102.0
3130  664635 GMemory{Out,In}putStream _async functions break sub-class...
3131  664809 Add command line option to gtester to allow skipping tests
3132  665067 cryptic assertion failure if nonsensical flag combinations...
3133  665184 Check ref. count before reffing/unreffing
3134  665298 Add 'Requires.private: libpcre' to glib-2.0.pc
3135  665391 update documentation around mainloops
3136  665607 ./configure is there for fiddling with cross-compile enviro...
3137  665634 g_dbus_node_info_new_for_xml() errors on unknown attributes...
3138  665685 Add a #define for the max length of a Unicode decomposition
3139  665733 GDBusConnection holds lock while calling destroynotify
3140
3141 * Translation updates:
3142  Norwegian bokmål
3143  Spanish
3144
3145
3146 Overview of changes from GLib 2.31.0 to 2.31.2
3147 ==============================================
3148
3149 * Monotonic time is now properly supported on Windows
3150
3151 * glib-mkenums: fix @ENUMPREFIX@ with /*< underscore_name=... >*/
3152
3153 * EXPERIMENTAL: introduce new GSettingsSchema and GSettingsSchemaSource
3154   APIs for the convenience of plugin system authors and those who wish
3155   to introspect the contents of schemas.  This API may change.
3156
3157 * Improve the performance of GObject property notifies.
3158
3159 * GDBus:
3160  - fix a race when unowning a name immediately after owning it
3161  - thread safety improvements on GDBusConnection
3162  - fixes for exit-on-close functionality
3163
3164 * Deprecations:
3165  - add G_SIGNAL_DEPRECATED
3166  - don't use G_DISABLE_DEPRECATED masking for functions anymore
3167
3168 * docs
3169  - tmpl/ is finally dead for glib
3170
3171 * GIO:
3172  - GInetAddressMask: new type for internet address range matching
3173  - various GIO file and stream fixes
3174  - improvements to attribute and fileinfo handling
3175
3176 Overview of changes from GLib 2.29/2.30 to 2.31.0
3177 =================================================
3178
3179 This release contains a huge number of changes (500 commits worth).  The
3180 list below attempts to summarise, but not every change is listed.
3181
3182 * Major changes to threading and synchronisation
3183  - threading is now always enabled in GLib
3184  - support for custom thread implementations (including our own internal
3185    support for errorcheck mutexes) has been removed
3186  - a whole lot of dead code (to deal with the non-threaded case) has
3187    been ripped out.  This includes the racy path of GMainContext that
3188    caused deadlocks with respect to child process exits in
3189    single-threaded programs (such as gtester).
3190  - libgthread is now an empty shell and g_thread_init() is no longer
3191    required (and has been deprecated)
3192  - GMutex and GCond can now be statically allocated without explicit
3193    initialisation.  Dynamic allocation for these types is deprecated.
3194  - new types GRecMutex and GRWLock can also be statically allocated
3195    without explicit initialisation.
3196  - GPrivate can now be statically allocated and has an improved API.
3197    Dynamic allocation of GPrivate is deprecated.
3198  - GStaticMutex, GStaticRecMutex, GStaticRwLock, GStaticPrivate are
3199    deprecated.
3200  - GCond now uses monotonic time internally and a new API takes
3201    monotonic time for timed waits, deprecating the wallclock API
3202  - removal of the insane macro indirection used in the previous
3203    implementation of threading and synchronisation APIs
3204  - use SRWLock and CONDITION_VARIABLE APIs when available on Windows
3205    (Vista and later) and emulate them on XP
3206  - leaks of G(Static)Private-allocated data on some cases of thread exit
3207    have been fixed
3208  - simplified new thread creation API with the old API deprecated.  The
3209    concept of joinability has disappeared (all threads are joinable) as
3210    have priority levels, 'bound'ness (ie: kernel vs. userspace threads)
3211    and ability to manipulate the stack size.
3212  - GThread is now a refcounted type
3213  - other implementation details changed
3214
3215 * Move headers for some deprecated functionality to a separate
3216   deprecated/ directory.
3217
3218 * New support for attribute-based deprecations to issue compiler
3219   warnings instead of breaking the build and/or giving warnings about
3220   implicit declarations (and possibly miscompiling).
3221
3222 * GCache has been deprecated (after its last use was removed from our
3223   platform over a year ago).
3224
3225 * It is no longer possible to include individual headers (like
3226   "ghash.h") -- you must #include <glib.h>.
3227
3228 * The misguided experiment of allowing the program to stumble along with
3229   missing GSettings schemas is now over -- the abort is back.
3230
3231 * Clarify that fork() is not valid while using GMainContext.  This is
3232   because the internal resources of the GMainContext end up being shared
3233   by both processes.  We had an assert here but it was breaking existing
3234   (valid) use cases as well, so it has been removed for now.
3235
3236 * GApplication
3237   - add ::shutdown signal as logical dual to ::startup
3238   - don't use a GMainLoop: iterate the GMainContext directly (improves
3239     quit logic)
3240
3241 * Several portability fixes for Windows, OpenBSD, Solaris
3242
3243 * Add new GValue API to specifically deal in signed chars (in case the
3244   platform defines 'char' as unsigned)
3245
3246 * some new API to mitigate the problems associated with calling setenv()
3247   in a multi-threaded program
3248
3249 * Use CLOCK_MONOTONIC unconditionally if the libc has support at compile
3250   time (ie: stop checking for kernel support at runtime).
3251
3252 * pkg-config files:
3253   - drop -uninstalled variants
3254   - remove gobject dependency on gthread
3255
3256 * New macro G_ATOMIC_LOCK_FREE is defined if the atomic operations are
3257   implemented without use of a mutex.  Cleaned up atomic-related
3258   compilation issues with mingw compilers on win32 systems.
3259
3260 * SOCKS proxy and resolver improvements
3261
3262 * Fix the spelling of G_IO_FLAG_IS_WRITABLE (was WRITEABLE) and
3263   introduce a macro for backwards compatibility.
3264
3265 * GDBus:
3266   - many code generation updates and improvements
3267   - some race condition fixes, including testcase hangs
3268
3269 * GVariant:
3270   - new g_variant_new_from_fixed_array() API
3271   - substantial docs improvements/clarifications
3272
3273 * GKeyFile is now refcounted and boxed
3274
3275 * mount monitoring is now based on /proc/mounts (where available)
3276   instead of mtab
3277
3278 * new macros G_SOURCE_CONTINUE and G_SOURCE_REMOVE for returning from
3279   GSourceFunc (so you don't have to remember what TRUE and FALSE mean)
3280
3281 * use xlocale functions where available to avoid too much heavy lifting
3282   in functions like g_ascii_strtod()
3283
3284 * GMappedFile can now be created from an fd
3285
3286 * error message strings grammar/i18n fixes
3287
3288 * many docs updates
3289
3290 * Partial list of bugs closed:
3291  70598  Unify GStaticMutex and GMutex.
3292  320888 optimization for g_main_context_wakeup
3293  398418 GChildWatch race condition?
3294  527214 g_timer_elapsed() returns random values
3295  580505 add a way to set/get name for a thread
3296  583511 race condition means g_main_loop_quit() does not work
3297  590808 GKeyFile should have a refcount and a boxed type in GObject
3298  592715 Document that g_str_hash() and g_int_hash() are not NULL safe
3299  631413 Add macros for GSourceFunc return values
3300  632049 not immediately clear what g_variant_get_fixed_array expects
3301  640212 "Error stating file" is not a friendly message
3302  640293 Use xlocale functions to implement g_ascii_strtod()
3303  640975 Check that error exists before trying to set it
3304  643934 GApplication lacking a logical dual for the ::startup signal
3305  651268 assertion failed in GDBus worker thread
3306  653987 g_key_file_get_integer cannot interpret trailing spaces
3307  654412 Documentation for g_variant_get_child_value unclear
3308  654563 info capplet: Failed to calculate disk space
3309  655366 missing GSettings schemas lead to obscure crashes
3310  656621 g_spawn_*() calls executables in current directory
3311  656679 [gi] Add two annotations to gio
3312  657992 Add glib__private__() API to share between glib,gio
3313  658188 _set_as_last_used_for_type generates a broken mimeapps.list
3314  658206 gsocks5proxy.c has invalid gettext use
3315  658207 glib-compile-schemas says "can not"
3316  658558 simpleaction: Fix documentation of :enabled
3317  658683 clean up charset/language threading issues
3318  658692 add introspection annotations to g_time_val_from_iso8601()
3319  658715 Duplicite strings
3320  658769 Invalid reuse of GError in GThreadedResolver
3321  658806 sign error in string hash implementation
3322  658976 gdbus-codegen's C namespace option needs to support Ugly_Case
3323  659070 gdbus-codegen generated code segfaults when property changes
3324  659082 gdbus-codegen: Single letter namespaces get dropped from names
3325  659212 GMappedFile should fail on non-regular files
3326  659324 _SPLICE_CLOSE_TARGET doesn't mark the output stream as closed
3327  659423 Use adaptive mutexes when available
3328  659427 Move deprecated code to a separate directory
3329  659646 gdbus-codegen produce code that warnings at build
3330  659690 Possible build warning in code generated by gdbus-codegen
3331  659699 property name collision when generating code for "Connection"
3332  659754 Add API to GMappedFile that allows to pass FD
3333  659838 incorrect types in introspection for g_object_bind_property
3334  659866 pthread_rwlock_t requires defined __USE_UNIX98
3335  659870 gvalue: Fix signedness of g_value_get_char()
3336  659889 glib-2.29.92/gio-2.0.pc.in has a wrong line.
3337  659916 GObject size of 64K is not actively enforced
3338  659920 Missing setter for read/write property 'closed' of GIOStream
3339  659923 Add g_variant_new_fixed_array() function
3340  660013 Remove old g_atomic configure cruft
3341  660096 glib/rwlock tests failure (tests asserted)
3342  660130 Possible loss of user data when updating mimeapps.list
3343  660147 tracker causes g_critical in "gsettings list-recursively"
3344  660413 Make G_ASSERT_STATIC work with clang
3345  660498 Generated test code fails when the codegen changes
3346  660511 Use /proc/mounts for monitoring mounts, not /etc/mtab
3347  660536 Expose options for /etc/fstab entries
3348  660635 Deprecate g_thread_foreach
3349  660637 Pending dbus method calls not canceled on connection loss
3350  660739 kill off g_{mutex,cond}_{new,free}()
3351  660740 make GThread more standard
3352  660741 g_cond_timedwait is a disaster
3353  660743 macro wrappers for g_once_init_enter/leave
3354  660744 finish killing g_thread_init()
3355  660745 GPrivate leaks on Windows
3356  660791 [gio] Improve doc for g_file_make_directory_with_parents()
3357  660843 asyncqueue-test is broken
3358  660849 Remove cruft from g_strerror and g_strsignal
3359  660886 GDBusProxy: don't drop/complain about unknown props/signals
3360  660887 g_slice_set_config() is broken
3361  660994 Add g_main_context_ref_thread_default()
3362  661255 gio: enable test_peer regression test for OpenBSD
3363  661257 giomodules.c uses ":" instead of G_SEARCHPATH_SEPARATOR_S
3364  661318 tests use pthread without appropriate compiler/linker flags
3365  661421 Applications fail to initialize on GNU Hurd - commit
3366  661438 Implement G_GNUC_DEPRECATED/G_GNUC_DEPRECATED_FOR on Visual C++
3367  661711 Sorting keys for GDrive, GVolume and GMount instances
3368  661763 desktop-app-info: Add support for X-GNOME-Keywords
3369  661896 /gdbus/connection/life-cycle is racy
3370  661914 Gstreamer/Totem locks up
3371  662100 regression: g_dbus_connection_close() triggers exit-on-close logic
3372
3373 * Translations updates:
3374  Belarusian 
3375  Brazilian Portuguese
3376  British English 
3377  Bulgarian 
3378  Catalan 
3379  Catalan (Valencian)
3380  Czech 
3381  Danish 
3382  Esperanto
3383  French 
3384  Gujarati
3385  Hebrew 
3386  Hungarian 
3387  Italian 
3388  Japanese
3389  Lithuanian
3390  Norwegian bokmål
3391  Oriya
3392  Polish 
3393  Russian 
3394  Serbian
3395  Simplified Chinese
3396  Slovak 
3397  Slovenian
3398  Spanish 
3399  Tamil
3400  Vietnamese
3401
3402 Overview of changes from GLib 2.29.18 to 2.29.90
3403 ================================================
3404
3405 * API/ABI changes:
3406  - unix signal watches now match the API of all of the other sources
3407  - revert the addition of g_date_time_source_new () from last release
3408
3409 * networking and other fixes for Solaris
3410  - we no longer support symbolic port names (ie: from /etc/services)
3411  - check if -lsocket is needed
3412  - fix g_socket_details_from_fd()
3413  - avoid getmntinfo
3414  - fix some harmless warnings
3415
3416 * GDateTime improvements:
3417  - generally improved standards compliance (with C99)
3418  - support C99-specified format strings: %g, %G, %V, %c, %C, %w
3419  - consult the locale for the preferred 12-hour time format (%r)
3420  - drop support for non-standard %N and broken %W
3421  - better support for formatting non-POSIX (eg: Arabic) numerals
3422  - locale-related test case fixups, and fix some leaks
3423
3424 * GTlsInteraction: add interaction method invocation guarantees
3425
3426 * gdbus-codegen: post-process all interfaces when parsing >1 file
3427
3428 * make GMainLoop, GMainContext and GSource boxed types
3429
3430 * fix a race condition in the first use of g_get_monotonic_time()
3431
3432 * lots gtk-doc cleanups
3433
3434 * better intltool compatibility when generating pot file
3435
3436 * avoid GCC-specific compiler options when not using GCC
3437
3438 * Translation updates:
3439  Belarusian
3440  Brazilian Portuguese
3441  Canadian English
3442  Galician
3443  Indonesian
3444  Korean
3445  Lithuanian
3446  Norwegian bokmål
3447  Portuguese
3448  Spanish
3449  Swedish
3450
3451 Overview of changes from GLib 2.29.16 to 2.29.18
3452 ================================================
3453
3454 * GDateTime is now respecting LC_TIME when formatting
3455
3456 * GTimeZoneMonitor has been removed again
3457
3458 * A new API for wallclock functionality has been added:
3459   g_date_time_source_new(). This API is still experimental
3460   and may be changed or removed before 2.30.
3461
3462 * Bugs fixed:
3463  628904 Add credential support for FreeBSD and fix a socket issue
3464  650763 gdbus-codegen is broken with python 2.7
3465  655129 GDateTime could provide api for implementing wall clocks
3466  656341 gtlsconsoleinteraction.c uses getpass() which isn't avail...
3467  656387 GCancellable can be used concurrently
3468  656443 Make GTlsInteraction ask_password cancellable
3469  656675 void functions should not return in glib 2.29.16
3470  656772 g_variant_compare for uint64 incorrect
3471  656914 Load GIO_EXTRA_MODULES first, and ignore duplicates
3472  657083 The header langinfo.h is not available on all systems
3473  657084 gfileutils: fix docs/annotations for temp file methods
3474  657138 Some files missing in POTFILES.in
3475  657206 GInputStream leaked in g_file_icon_load_async()
3476  657243 g_cancellable_set_error_if_cancelled() documentation
3477  657274 Use detected PYTHON variable as shebang for gdbus-codegen
3478  657336 Speling fixes for glib found with codespell
3479  657452 plural forms needed
3480  657454 Translation comment needed
3481  657540 Print out file:// URL to coverage HTML report after building
3482  657593 g_test_trap_fork calls close(-1)
3483  646082 Addresses from GSocket should be normalized before returning
3484  657517 fix gio/tests/gdbus-peer on bsd
3485
3486 * Translation updates:
3487  Brazilian Portuguese
3488  Galician
3489  Norwegian bokmål
3490  Punjabi
3491  Russian
3492  Serbian
3493  Spanish
3494  Swedish
3495  Traditional Chinese
3496  Uighur
3497
3498
3499 Overview of changes from GLib 2.29.14 to 2.29.16
3500 ================================================
3501
3502 * GTlsDatabase: an abstract class that provides support
3503   or certificate and key lookup. An implementation will
3504   be provided in glib-networking
3505
3506 * GHmac: Support or HMAC digests
3507
3508 * Misc new API:
3509  - g_ptr_array_add_full: creates a GPtrArray with
3510    a preallocated size and a destroy function
3511  - g_desktop_app_info_get_show_in: checks if a GDesktopAppInfo
3512    should be shown in a given desktop environment
3513  - g_mkdtemp, g_mkdtemp_full, g_dir_make_tmp: create
3514    temporary directories
3515
3516 * Unify thread wakeup implementations of GMainContext
3517   and GCancellable, and use eventfd for it when available
3518
3519 * Show mounts in $XDG_USER_DIR in addition to /media and $HOME
3520
3521 * Bugs fixed:
3522  636572 GTlsCertificateDB
3523  644601 Some tests need a running dbus session
3524  652284 deal with small key lengths
3525  652827 glib-2.29.8 no longer builds with mingw.org's toolchain
3526  653063 PEM parser fails parsing private key when put first
3527  654078 Fail to static linking with Glib library
3528  654450 New functions: g_ptr_array_new_full()
3529  654793 Add G_VALUE_INIT
3530  655044 GDesktopAppInfo: Add g_desktop_app_info_get_show_in()
3531  655148 gdbusconnection is broken when compiling with mingw
3532  655241 glocalfile.c no longer compiles with MinGW GCC
3533  655598 g_cancellable_get_fd: silently return -1 for NULL cancellable
3534  655664 gdbus should not abort if no dbus session is available
3535  655769 Use ZLIB_CFLAGS when compiling gio
3536  656031 Improve GVariant annotations
3537  656048 glib-codegen requires Python >= 2.5
3538  656151 configure test logic inverted, doesn't match comments
3539  656152 GCC only syntax used, yet other compilers allowed by configure.
3540  656162 allow use of lcov 1.9 for coverage
3541  656282 GDBusProxy: uninitialized local variables can be freed
3542  656283 Failing tls connection cause assertion
3543  118563 Add g_mkdtemp in the spirit of g_mkstemp
3544  636405 Add g_return_if_fail() to g_settings_bind_with_mapping()
3545  656039 race condition between GDBusProxy signals and public API
3546  656492 g_io_channel_new_file failure (open(2) behavior wrt POSIX)
3547
3548 * Translation updates:
3549  Bulgarian
3550  Esperanto
3551  French
3552  Galician
3553  German
3554  Hebrew
3555  Indonesian
3556  Italian
3557  Norwegian bokmål
3558  Russian
3559  Spanish
3560  Swedish
3561
3562
3563 Overview of changes from GLib 2.29.12 to 2.29.14
3564 ================================================
3565
3566 * Unicode improvements
3567  - add g_unicode_script_{to,from}_iso15924
3568  - add G_UNICODE_SPACING_MARK define
3569  - more normalisation improvements
3570  - stop using deprecated g_unicode_canonical_decomposition()
3571
3572 * GParamSpec:
3573  - mark the 'name' field as 'const' and add a comment to the header to
3574    help avoid future problems caused by bad hacks
3575
3576 * Merge some (modified) patches from Debian:
3577  - 03_blacklist-directories.patch
3578    - add some blacklisted mount directories
3579  - 60_wait-longer-for-threads-to-die.patch
3580    - sleep longer in a test case, if needed to avoid failing
3581
3582 * Units policy change: prefer use of SI units
3583  - deprecate g_format_size_for_display, add g_format_size(_full)
3584
3585 * GSettings: don't call g_error() when the schema is missing
3586
3587 * GVariant support for arrays of object paths:
3588  - new g_variant_{new,get,dup}_objv API
3589  - support for g_variant_{new,get} '^ao' and '^a&o' similar to '^as'
3590
3591 * GDBus:
3592  - use new improved array-of-objects support and pass 'ao' as char**
3593    instead of GVariant*
3594  - improve handling of 'h' type (Unix file descriptor index)
3595
3596 * GIO:
3597  - fix compilation without USE_STATFS and USE_STATVFS
3598
3599 * Documentation fixes
3600
3601 * Bugs fixed:
3602  622921 Migrate from dbus-glib to glib's GDBus
3603  648271 Add g_unicode_script_to_iso15924()
3604  654948 Stop using deprecated g_unicode_canonical_decomposition()
3605  654988 g_atomic_int_add should document behaviour change
3606  655025 #define G_UNICODE_SPACING_MARK G_UNICODE_COMBINING_MARK
3607  655076 normalization misses some Full_Composition_Exclusion=True. 
3608
3609 * Translations updated:
3610  Spanish
3611
3612 Overview of changes from GLib 2.29.10 to 2.29.12
3613 ================================================
3614
3615 * Add new API to do Unicode (de-)composition in atomic steps,
3616   for use in Harfbuzz.
3617
3618 * Bugs fixed:
3619  615895 (indirectly) support non-NULL-terminated regexes in GRegex
3620  617949 glib trunk fails to compile on Solaris w/ Studio 12...
3621  620423 Document the possibility to unset attributes
3622  627974 Floating reference headaches
3623  644687 Not finding cross-links in current doc set
3624  649246 g_output_stream_splice() cannot be used on 32-bit machines...
3625  653841 a helper script to build glib from git master on win32
3626  653935 g_slist_free_full/g_list_free_full iterates twice in the list
3627  654017 tests: fix glib_translations_work() in gsettings unit test
3628  654085 Don't needlessly use "echo -e" when creating .def files
3629  654195 Add g_unichar_compose() and g_unichar_decompose()
3630  654232 GCancellable eventfd problems
3631  654394 suspicious use of floating references in GDBusInterfaceSkeleton
3632  654536 GSettings: lift key name length restriction to 64
3633  654627 GParamSpec: intern property names
3634  654651 Better g_unicode_canonical_decomposition()
3635  654917 Make g_cclosure_marshal_generic the default signal handler
3636
3637 * Translation updates:
3638  Belarusian
3639  Finnish
3640  Korean
3641  Latvian
3642  Lithuanian
3643  Norwegian bokmål
3644  Turkish
3645
3646
3647 Overview of changes from GLib 2.29.8 to 2.29.10
3648 ===============================================
3649
3650 * New features:
3651  - g_desktop_app_info_get_nodisplay: a function that is required
3652    to port gnome-menus to GDesktopAppInfo
3653  - g_hash_Table_iter_replace: new function to replace a value
3654    while iterating over a hash table
3655  - g_utf8_substring: convenience API to extract substrings from
3656    UTF-8 strings
3657  - g_action_group_add_entries: convenience API for creating lots
3658    of actions quickly
3659  - Use eventfd instead of pipes for waking up main contexts and
3660    for cancellation when available
3661  - GMatchInfo is now a refcounted boxed type
3662
3663 * API changes in GAction:
3664  - the 'set_state' entry in the GActionInterface vtable has been
3665    renamed to 'change_state
3666  - g_action_set_state has been renamed to g_action_change_state
3667  - the 'state' property has been changed to read-only
3668  - GSimpleAction can no longer be subclassed
3669
3670 * Bug fixes
3671  647796 g_variant_new_variant is not marked as constructor
3672  652072 gmain: make use of signalfd()
3673  652168 Crosscompiling Fails if build<=2.24 and host >2.24
3674  652750 make dist fails
3675  652758 GDataInputStream: Clarify g_data_input_stream_read_line docs...
3676  652822 Add a g_hash_table_iter_replace
3677  652897 tiny docs clarification for g_utf8_to_ucs4_fast
3678  653140 gmain: use Linux eventfd() for main context wake up
3679  653429 drop AM_MAINTAINER_MODE or enable it by default
3680  653484 GAsyncCallbacks should default to allow-none
3681         Add missing fundamental types to the generic marshaller
3682
3683 * Translation updates
3684  Belarusian
3685  Galician
3686  Russian
3687
3688 Overview of changes from GLib 2.29.6 to 2.29.8
3689 ==============================================
3690
3691 * Bug fixes
3692  646608 export_symbols variable for gio dynamic library is wrong
3693  646635 Fix introspection of GLib
3694  647930 Documentation: GDataInputStream _read_upto() version
3695  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
3696  651920 Improve qsort_r detection
3697  651959 gbitlock: "asm goto" is not available in gcc < 4.5
3698  651998 gdbus-codegen: Use relative Python imports
3699  652000 Fix for gatomic.c on Windows/MSVC
3700  652002 Proposal to clean up gvaluetransform.c for MSVC
3701  652025 g_dbus_connection_register_object: error is not set...
3702  652081 Typos in a GBinding warning message
3703  652197 Improper handling of double values in GDBusMessage
3704         Fix a deadlock in gobject finalization
3705
3706 * Translation updates:
3707  Czech
3708  Galician
3709  German
3710  Hebrew
3711  Norwegian bokmål
3712  Spanish
3713  Uighur
3714
3715
3716 Overview of changes from GLib 2.29.4 to 2.29.6
3717 ==============================================
3718
3719 * Atomic operations have been rewritten from scratch to make use
3720   of gcc builtins where possible. As a side-effect of this, calls
3721   to g_atomic_ API with explicit casts may now be problematic; if
3722   that happens to you, try first to remove the casts. Another
3723   side-effect of the rewrite is that g_atomic_int_exchange_and_add
3724   has been deprecated in favor of g_atomic_int_add.
3725
3726 * A full set of atomic operations on pointers has been added,
3727   including bit locks in pointer-size locations.
3728
3729 * Access to quarks is now lockless
3730
3731 * GObject data scalability has been greatly improved
3732
3733 * g_data_time_format now supports alternative digits and padding
3734
3735 * Introspection improvements:
3736  - Add a boxed type for GVariantBuilder
3737  - Annotation fixes in GDBus, GVariant, g_base64_
3738
3739 * Bugs fixed:
3740  502560 g_rand_double_range returns 'inf'
3741  612729 g_mkdir_with_parents can fail if the directory already exists
3742  617491 g_once() implementation is inefficient
3743  619418 Add a performance test for UTF-8 decoding functions
3744  619435 Make g_utf8_to_ucs4_fast() yet faster
3745  626549 G_STATIC_ASSERT_EXPR
3746  631231 bitlock: Fix detection and usage of futexes with Bionic
3747  632294 g_queue_remove() should return a boolean
3748  640518 GMainLoop has quadratic complexity when all pollfd's...
3749  642026 Race condition in g_static_private_free
3750  646635 Fix introspection of GLib
3751  648678 g_date_time_format(): support %O flags for localized numbers
3752  649480 Use MSG_CMSG_CLOEXEC in recvmsg in gio/gsocket.c
3753  649506 GTestFunc et al lacking Since tag
3754  649657 Don't return gboolean for functions that throw
3755  649775 glib-gio-gdbuscodegen-Makefile.patch
3756  649915 gsettings accepts unquoted strings longer than two characters
3757  649973 gthread: build unix tests only on unix
3758  649988 gdbus-codegen: Drop dependency on argparse
3759  650078 forkbomb building glib/tests/protocol
3760  650211 Optimization in key file parsing
3761  650236 Application over DBus implements action state incorrectly
3762  650345 g_key_file_has_key_full: New function to fix g_key_file_has_key...
3763  650458 reduce overhead in g_object_set/get_data
3764  650459 hash table consistency while calling destroy notify funcs
3765  650688 enforce rules about hash table modification
3766  650823 expand the set of atomic ops
3767  650874 codegen chokes on docs
3768  650882 use stdout instead of stderr for informational messages
3769  650884 fix compilation with gcc2
3770  650885 implement glib credentials on OpenBSD (hackish)
3771  650935 G_GNUC_MAY_ALIAS and atomic ops
3772  651009 minor documentation fix
3773  651034 Regarding g_cond_wait after g_thread_pool_push in gthreadedresolver
3774  651133 race condition in GDBusConnection's emit_signal_instance_in_idle_cb
3775  651141 hashtable infinite loop
3776  651219 fix path to true(1) on OpenBSD
3777  651223 Fix some compile warnings on OpenBSD
3778  651327 Minor fixes for the gsocket API
3779  651467 Add pointer sized bitlocks
3780  651650 gdbus: Avoid busy wait loop
3781  651725 gmain: Cleanups and a new test case
3782  651745 Switch to _ prefixing rather than G_GNUC_INTERNAL
3783
3784 * Updated translations:
3785  Catalan (Valencian)
3786  Esperanto
3787  Hebrew
3788  Hungarian
3789  Russian
3790  Spanish
3791
3792
3793 Overview of changes from GLib 2.29.2 to 2.29.4
3794 ==============================================
3795
3796 * GDBus:
3797  - Includes several new types to support modeling D-Bus
3798    objects and interfaces more fully, and also introduces
3799    an 'object manager' pattern:
3800    GDBusInterface, GDBusObject, GDBusObjectManager
3801    These interfaces have client-side implementations:
3802    GDBusProxy, GDBusObjectProxy, GDBusObjectManagerClient
3803    And server-side implementations:
3804    GDBusInterfaceSkeleton, GDBusObjectSkeleton, GDBusObjectManagerServer
3805  - The new gdbus-codegen utility uses these new classes
3806    to generate C code and documentation from D-Bus interface
3807    descriptions in XML
3808
3809 * GTest:
3810  - There is now a g_test_fail() function to mark
3811    tests as failed
3812
3813 * GDesktopAppInfo
3814  - Now has a binding-friendly filename property
3815  - Other new API to more fully expose desktop file contents:
3816    g_desktop_app_info_get_categories(),
3817    g_desktop_app_info_get_generic_name()
3818
3819 * GHashTable:
3820  - Several optimizations to reduce space consumption of
3821    large hash tables, in particular tables that are used
3822    to store sets.
3823
3824 * Unix-specific APIs:
3825   GLib now installs a separate header, glib-unix.h, that is
3826   meant to collect Unix-specific APIs. For now, it contains
3827   g_unix_open_pipe(), g_unix_set_fd_non_blocking() for dealing
3828   with pipes and fds, as well as APIs to create mainloop
3829   sources which can trigger callbacks on certain Unix
3830   signals (SIGTERM, SIGHUP, SIGINT).
3831
3832 * Bugs fixed:
3833  631379 GDBus nonce-tcp test failing
3834  632631 GLib-CRITICAL **: g_variant_new_string: assertion `g_utf8_validate (string, -1, NULL)' failed
3835  635694 gdbus aborting due to unauthorized socket in DBUS_SESSION_BUS_ADDRESS
3836  637561 Crash when using G_DBUS_SERVER_FLAGS_RUN_IN_THREAD
3837  642935 g_date_time_format() prints wrong value for %z and timezone -0800
3838  643134 g_dbus_message_copy
3839  644941 glib-unix: New Unix-specific API
3840  646013 g_hash_table_remove_all_nodes optimization
3841  646309 glib cannot be cross-compilled for mingw32
3842  646435 GTimeZone doesn't seem to be thread-safe
3843  646957 GIO chained calls don't work with a thread default context
3844  647594 README link to mailing list is broken
3845  647602 Cannot connect to remote message bus via TCP
3846  647746 The GSocketService documentation is incomplete.
3847  647826 API: gtester: Add g_test_fail()
3848  647903 GDesktopAppInfo: Add g_desktop_app_info_get_categories()
3849  648416 g_app_info_create_from_commandline ignores SUPPORTS_STARTUP_NOTIFICATION
3850  648423 Support G_DEBUG=trap-warnings
3851  648425 GDesktopAppInfo: Add "filename" property for bindings
3852  648966 Update g_unichar_iswide and g_unichar_iswide_cjk
3853
3854 * Updated translations
3855  Norwegian bokmål
3856  Spanish
3857  Turkish
3858  Uighur
3859
3860
3861 Overview of Changes from GLib 2.28.0 to 2.29.2
3862 ==============================================
3863
3864 * GApplication
3865  - The documentation has been enhanced and clarified
3866  - An opt-out for uniqueness has been added: G_APPLICATION_NON_UNIQUE
3867  - GApplication now syncs settings before g_application_run() returns
3868
3869 * GDBus
3870  - Interface lookups are now happening in constant time
3871  - Signature checking and handling of various unexpected
3872    situations has been improved
3873
3874 * GVariant
3875  - The format accepted by the GVariant parser has beend documented
3876  - GVariant accepts G_VARIANT_TYPE_VARDICT for a{sv}
3877
3878 * GDateTime:
3879  - The return value of g_datetime_compare() has been fixed to
3880    match strcmp() semantics
3881  - In order to handle problems with changing timezones, a GTimeZoneMonitor
3882    has been added to GIO, and g_time_zone_refresh_local() can be
3883    called to update the cached information about the local timezone
3884
3885 * GOption now uses /proc/self/cmdline to set the program name instead
3886   and only falls back to "<unknown>" if that is unavailable
3887
3888 * GSettings:
3889  - The schema compiler now warns about references to non-existing schemas
3890
3891 * Commandline utilities are now fully translated
3892
3893 * Signals can now indicate that collecting their arguments must
3894   always happen, even in the absence of connected signal handlers,
3895   using the G_SIGNAL_MUST_COLLECT flag.
3896
3897 * Bugs fixed:
3898  635099 Memory leak in gdbus introspection when parsing xml
3899  640489 $ and ^ do not match lines if G_REGEX_MULTILINE|G_R...
3900  642042 Overriding GDBus org.freedesktop.DBus.Properties im...
3901  642052 g_timeout_add(_seconds) cannot handle large intervals
3902  642490 notify_desktop_launch() "g_variant_new_bytestring:...
3903  613269 g_type_get_qdata() doesn't work as I expected on subtypes
3904  624943 G_VALUE_NOCOPY_CONTENTS is undocumented
3905  637738 object_interface_check_properties never actually executes
3906  638185 GIOCondition should be annotated as "flags"
3907  639478 GDBusServer's g_dbus_server_new_sync() function should just...
3908  641755 Add g_settings_get/set_uint() helpers
3909  641768 dconf gsettings backend silently drops writes if it can't...
3910  642797 g_app_info_get_default_for_type() broken for subtypes
3911  642825 Unnecessary assertion failure in g_option_context_parse()
3912  642944 NULL key lookup using g_hash_table_lookup_extended()
3913  643074 Incorrect documentation for g_socket_receive() and g_socket...
3914  643197 g_application_id_is_valid docs imply no valid ids
3915  643468 GApplication docs: Warn that handling "command-line" means...
3916  643478 GApplication::local_command_line vfunc documentation seems wrong
3917  643624 Can g_variant_unref() on an already free'd variant
3918  643649 g_application_run() should say that argc/argv can be NULL
3919  643780 shouldn't need to create an action group to use actions...
3920  643795 g_timeout_add_seconds fires with intervals 1 second longer...
3921  644309 Program name is not set when using GtkApplication
3922  644428 Crash in failure section of g_markup_collect_attributes()
3923  644465 undefined reference to `_usleep'
3924  644552 g_timeout_add_seconds(1, ...) may have a latency of up to 2...
3925  644607 Correct internal definition of C_()
3926  645789 annotations for g_file_*_contents
3927  646039 g_settings_list_children() returns child that cannot be opened
3928  646310 Accept range with only min or max
3929  646420 g_dbus_method_invocation_get_parameters() docs should say...
3930  646843 occasional abort on autologin
3931  646985 add G_APPLICATION_NON_UNIQUE flag
3932  647579 gsettings: Implement reset-recursively
3933  647600 gsettings description has typo
3934
3935 * Translation updates
3936  Afrikaans
3937  Bulgarian
3938  Bengali India
3939  British English
3940  Bulgarian
3941  Catalan
3942  Czech
3943  Danish
3944  French
3945  Galician
3946  German
3947  Greek
3948  Gujarati
3949  Hebrew
3950  Hungarian
3951  Italian
3952  Japanese
3953  Korean
3954  Lithuanian
3955  Polish
3956  Portuguese
3957  Romanian
3958  Serbian
3959  Simplified Chinese
3960  Spanish
3961  Swedish
3962  Traditional Chinese
3963  Uighur
3964  Vietnamese
3965
3966
3967 Overview of Changes from GLib 2.27.93 to 2.28.0
3968 ===============================================
3969
3970 * Bugs fixed:
3971 641363 GInitable documentation isn't clear about that finalize...
3972 641395 Add more data about the origin application to the "Lau...
3973 641411 gdesktopappinfo signals lost if it's the session bus...
3974 641477 glib-mkenums uses unportable #! line
3975 641572 Add @EXEEXT@ to pkgconfig binary name
3976 641688 glib installs GSettings.html and gsettings.html
3977
3978 * Translation updates:
3979  Galician
3980  Italian
3981  Korean
3982  Punjabi
3983
3984
3985 Overview of Changes from GLib 2.27.92 to 2.27.93
3986 ================================================
3987
3988 * Bugs fixed:
3989  637013 gio/gdbusmessage.c fails to compile on Solaris
3990  640192 Error creating a Gio.Settings object through py...
3991  640261 Minimum version for external pcre needs to be..
3992  640262 GActionGroup contains redundant TYPE macros
3993  640436 Make load_user_special_dirs() resistant to non...
3994  640695 g_key_file_load_from_file() mishandles a CR-LF...
3995  640724 can't compile gio due to format string issues
3996  640725 can't compile tests due to format string issue
3997  640807 improve GVariant behaviour with invalid pointers
3998  640823 wrong documentation for g_source_add_child_source
3999
4000 * Translation updates:
4001  Bulgarian
4002  Galician
4003  Hebrew
4004  Norwegian bokmål
4005  Spanish
4006  Traditional Chinese
4007
4008
4009 Overview of Changes from GLib 2.27.91 to 2.27.92
4010 ================================================
4011
4012 * Update to Unicode 6.0
4013
4014 * Update PCRE to 8.12
4015
4016 * Bugs fixed:
4017  637696 g_unix_connection_send_fd() doesn't work
4018  638872 null settings backend bug
4019  640042 GtkApplication's warning about not connecting...
4020
4021 * Translation updates:
4022  Arabic
4023  Basque
4024  Estonian
4025  Greek
4026
4027 Overview of Changes from GLib 2.27.90 to 2.27.91
4028 ================================================
4029
4030 * Bugs fixed:
4031  638838 gdesktopappinfo: Don't crash if we don't have a desktop filename
4032  638894 Splitting on \s* gives no result
4033  639064 Update gschema.dtd
4034  639084 Copy/paste error in GSettings::writable-changed signal
4035  639177 SIGSEGV for GApplications with G_APPLICATION_IS_SERVICE
4036
4037 * Translation updates:
4038  Estonian
4039  Galician
4040  Indonesian
4041
4042
4043 Overview of Changes from GLib 2.27.5 to 2.27.90
4044 ===============================================
4045
4046 * Test reports created by gtester-report can now
4047   include revision information
4048
4049 * The g_desktop_app_info_launch_* family of functions
4050   now emit a DBus signal when an application is launched.
4051   Additionally, there is a new variant
4052   g_desktop_app_info_launch_uris_as_manager(), which
4053   gives more control over the launched process.
4054
4055 * The memory and null GSettings backends are now available
4056   as public API
4057
4058 * g_get_locale_variants() is a new function that returns a
4059   list of variants of a locale identifier
4060
4061 * Bugs fixed:
4062  587898 I/O timeouts for GSocket
4063  606960 gio: Add extension point for informing parties...
4064  631980 Handle an optional <revision> node in the report...
4065  634569 Document that g_variant_builder_add_value consumes...
4066  635998 Make _g_compute_locale_variants public
4067  636806 Add g_{memory,null}_settings_backend_get_default
4068  637262 Need a binary DER version of ::accepted-cas
4069  637544 Skip fsync() on btrfs
4070  637720 void functions should not return a value.
4071  637738 object_interface_check_properties never actually...
4072  637759 GIOChannel: fix a crash in g_io_channel_read_chars()
4073  637852 Updates to glib.vsprops file for MSVC 2008 builds...
4074  637858 Updates to test/testglib.c...
4075  638349 parameter name of g_variant_new_* may conflict...
4076
4077 * Translation updates:
4078  Hebrew
4079  Norwegian bokmål
4080  Simplified Chinese
4081  Spanish
4082  Swedish
4083  Uyghur
4084  Vietnamese
4085
4086
4087 Overview of Changes from GLib 2.27.4 to 2.27.5
4088 ==============================================
4089
4090 * Network support:
4091  - Add g_tls_certificate_verify() to verify a certificate
4092  - Add GTlsConnection:use-system-certdb
4093  - Other TLS api additions
4094
4095 * GIO:
4096  - Add g_io_stream_splice_async()/_finish() to splice two iostreams
4097  - Add g_emblemed_icon_clear_emblems() and make GEmblemedIcon derivable
4098  - Remove GPeriodic; it did not receive the necessary review and
4099    integration work to declare it stable
4100
4101 * GSequence:
4102  - New methods g_sequence_lookup() and g_sequence_lookup_iter()
4103
4104 * Bugs fixed:
4105  617254 Missing g_sequence_lookup
4106  632544 g_dbus_connection_send_message can not send a locked message...
4107  633350 g_hostname_to_ascii() ignores non-ascii dots
4108  634583 Better error reporting for g_variant_parse()
4109  635007 gsetting enum rule don't work for out-of-srcdir builds
4110  635626 GDBus message idle can execute while flushes are pending
4111  636100 Can't read GSettings:backend property
4112  636305 Typo on g_queue_remove_all() function description
4113  636311 appinfo: tweak application positioning for content-types
4114  636351 g_simple_async_result_is_valid lacks a version tag
4115  636387 gdb autoload files shadow the "dir" builtin
4116  636673 g_simple_async_report_error_in_idle should allow object...
4117  637147 Add a "delay-apply" property to GSettings
4118  637171 emblemedicon: add g_emblemed_icon_clear_emblems()
4119  637237 gapplication: plug a memory leak
4120
4121 * Translation updates:
4122  Estonian
4123  Galician
4124  Hebrew
4125  Norwegian bokmål
4126  Simplified Chinese
4127  Spanish
4128  Traditional Chinese
4129  Vietnamese
4130
4131
4132 Overview of Changes from GLib 2.27.3 to 2.27.4
4133 ==============================================
4134
4135 * GIO
4136  - Mounts are treated as hidden if they have a path element
4137    that starts with a dot
4138  - GAppInfo gained API to differentiate between recommended
4139    and fallback mime handlers
4140  - g_cancellable_create_source: creates a GSource that triggers
4141    when the GCancellable is canceled
4142  - GPollableInput/OutputStream: Interfaces for pollable streams
4143  - TLS support has landed, with an extension point that is
4144    implemented in glib-networking
4145
4146 * GLib
4147  - Mainloop sources can now have 'child sources'
4148  - g_get_runtime_dir: New function to return the XDG_RUNTIME_DIR
4149
4150 * Bugs fixed:
4151  530786 GFileMonitor "changed" signal underdocumented
4152  588189 TLS support for GSocket*
4153  630357 g_object_new_valist uses uninitialized memory
4154  630559 typo in public string in gsocks: 'The SOCKSv5 require...
4155  632445 Documentation refers to removed GNOME 2.0 porting guide
4156  634239 Child GSources
4157  634241 Add pollable input/output streams
4158  634504 allow passing a NULL emblem to g_emblemed_icon_new()
4159  634613 unsufficient g_get_user_runtime_dir() documentation
4160  635640 schema should inherit gettext-domain from schemalist
4161  635768 Protect g_file_monitor_set_rate_limit() against negative...
4162  635882 Fix the wrong-category schema test
4163  635187 Wrong type of GVariant received in an action...
4164
4165 * Updated translations:
4166  Galician
4167  Italian
4168  Norwegian bokmål
4169  Uyghur
4170
4171
4172 Overview of Changes from GLib 2.27.2 to 2.27.3
4173 ==============================================
4174
4175 * The GTimeSpec type that was introduced in the 2.27.2 has been
4176   dropped again in favour of APIs that return microseconds as
4177   64-bit integer.
4178   Affected functions:
4179   g_source_get_time
4180   g_periodic_unblock
4181   g_get_monotonic_time
4182   g_get_real_time
4183   The similar GTimeVal struct is still around, but its use is
4184   discouraged.
4185
4186 * GTimer is now using monotonic time unconditionally
4187
4188 * There are some new functions to facilitate error reporting
4189   in async GIO APIs:
4190   g_simple_async_result_take_error
4191   g_simple_async_result_new_take_error
4192   g_simple_async_report_take_gerror_in_idle
4193
4194 * There is new convenience API to us GVariant dictionaries:
4195   g_variant_lookup
4196
4197 * It is now possible to delay sending match rules to the
4198   D-Bus daemon in GDBus:
4199   G_DBUS_SIGNAL_FLAGS_NO_MATCH_RULE
4200
4201 * Support has been added for XDG_RUNTIME_DIR:
4202   g_get_user_runtime_dir
4203
4204 * Various fixes for Win64/MSVC builds have been committed
4205
4206 * Bugs fixed:
4207  620263 Add g_clear_object, g_clear_pointer, g_clear_boxed
4208  633075 update Project Files and sources for MSVC 2008/C89
4209  633381 gsettings Makefile rules should handle empty list...
4210  633685 Use g_simple_async_result_{new_,}take_error
4211  633686 Add g_simple_async_report_take_gerror_in_idle
4212
4213 * Translation updates:
4214   Belarusian
4215   Galician
4216   Hebrew
4217   Punjabi
4218   Spanish
4219
4220
4221 Overview of Changes from GLib 2.27.1 to 2.27.2
4222 ==============================================
4223
4224 * GApplication
4225  - Export actions over DBus and support activating them from remote instances
4226  - Support environment passing
4227
4228 * GSettings
4229  - The gsettings utility has a list-recursively command
4230  - The gsettings utility has commandline completion for enum values
4231
4232 * GLib is now linked against librt and uses monotonic time for
4233   timeouts and GPeriod sources. GSource has a new g_source_get_time()
4234   which returns monotonic time, and g_source_get_current_time() has
4235   been deprecated
4236
4237 * Bugs fixed:
4238  158725 free linked list with data
4239  626320 GVariant: Avoid locking in g_variant_get_child_value() if possible
4240  629247 add gsimpleasyncresult methods to take over a GError
4241  629274 GNetworkService does not do fallback when there is no SRV record
4242  631264 gsettings-tool choice/range support
4243  631482 g_date_time_from_instant: 1000000000000000000
4244  632169 docs for manual use of gsettings-data-convert
4245  632571 Add equivalent to gconftool-2's -R option
4246  633115 GSettings m4 doesn't fail the build for broken schemas
4247  633206 Default g_application_local_command_line() doesn't set exit_status...
4248  633339 support more complex gapplication setups
4249  633356 Make timeout G_MAXINT mean "no timeout"
4250
4251 * Translation updates:
4252  Catalan (Valencian)
4253  Indonesian
4254  Japanese
4255
4256
4257 Overview of Changes from GLib 2.27.0 to 2.27.1
4258 ==============================================
4259
4260 * GDateTime now has full week number support.
4261   New API: g_date_time_get_week_numbering_year
4262
4263 * The GSettings schema compiler will now skip over
4264   broken .xml schema files instead of aborting altogether
4265
4266 * GSettings now works properly on bigendian systems
4267
4268 * GSettings has more complete support for ranges
4269   New API:
4270     g_settings_get_range
4271     g_settings_range_check
4272   The gsettings commandline tool supports ranges too.
4273
4274 * GApplication has been rewritten; see the API docs for details
4275   and examples. The action support is not complete yet.
4276
4277 * The GLib mainloop has gained 'dispatch to context' functionality,
4278   which can replace manually created idles in many cases.
4279   New API:
4280     g_main_context_invoke
4281     g_main_context_invoke_full
4282
4283 * The gio-desktop-app-info-lookup extension point has been
4284   removed from GIO. GIO now uses x-scheme-handler mimetypes when
4285   looking for default applications.
4286
4287 * On win32, make g_get_user_data_dir() return the CSIDL_LOCAL_APPDATA
4288   folder on Windows, and not CSIDL_PERSONAL. This matches what Qt does,
4289   and has been widely requested. Also make g_get_user_config_dir() return
4290   this and not the (roaming) CSIDL_APPDATA folder.
4291
4292 * A periodic event clock has been added in GIO: GPeriodic. Note that this
4293   API is still experimental and expected to undergo changes before it
4294   will be incorporated into a stable GLib release. Use at your own risk.
4295
4296 Bug fixes:
4297  613822 gobject signal connect/disconnect not thread safe
4298  618737 "dispatch to context" functionality
4299  620710 g_get_user_data_dir() uses CSIDL_PERSONAL and not CSIDL_APPDATA
4300  623400 acquire context before dispatching
4301  627126 gsettings schema files don't get installed on FreeBSD
4302  627171 g_socket_new_from_fd() doesn't set the right protocol
4303  628876 Wrong error description
4304  628937 gracefully handle broken schemas
4305  629274 GNetworkService doesn't fallback when there is no SRV record
4306  629289 g_error() used wrong, produces core dump
4307  629687 leaks class refcount in gsocketcontrolmessage
4308  629849 GLib-CRITICAL **: g_source_get_context: assertion `!SOURCE_...
4309  629945 GDBus deadlock in g_bus_get_sync()
4310  630000 g_date_time_difference
4311  630077 GDateTime week number support
4312  630185 Allow NULL strings in g_quark_try_string()
4313  630797 docs mention non-existent g_object_dispose()
4314  630968 gschema-compile problems on power g5
4315  631263 GSettings needs range/choice APIs
4316  631264 gsettings-tool choice/range support
4317  631379 GDBus nonce-tcp test failing
4318  631410 Port gapplookupgconf.c to using x-scheme-handler/
4319  632884 Possible deadlock in g_object_remove_toggle_ref()
4320
4321 Transation updates:
4322  Basque
4323  Brazilian Portuguese
4324  British English
4325  Bulgarian
4326  Czech
4327  Dutch
4328  Estonian
4329  French
4330  Galician
4331  German
4332  Greek
4333  Hebrew
4334  Hungarian
4335  Japanese
4336  Lithuanian
4337  Polish
4338  Portuguese
4339  Romanian
4340  Simplified Chinese
4341  Slovenian
4342  Spanish
4343
4344
4345 Overview of Changes from GLib 2.25.15 to GLib 2.27.0
4346 ====================================================
4347
4348 Build:
4349   - massive restructuring to reduce #include abuse
4350   - tweaks to silence some harmless compiler warnings
4351   - rename gschema-compile.c to glib-compile-schemas.c
4352   - Windows fixes
4353   - fix building with zlib < 1.2.4 on win32
4354
4355 GDateTime:
4356   - better msgctxt for translating month and weekday names
4357   - API is changed quite a lot, implementation is improved
4358   - GTimeZone is now exposed
4359
4360 GObject:
4361   - make ordering for overridden interface properties consistent
4362   - ->priv structures are limited to 64k but this was not documented,
4363     and exceeding this limit produced bad results.  Add docs and enforce
4364     the limit properly.
4365   - add g_object_class_install_properties() to install multiple
4366     properties in one go
4367   - improve debugging output for GValue containing G_TYPE_STRV
4368
4369 GIO:
4370   - fix priority sorting of GIO extensions
4371   - add GCredentials support on FreeBSD
4372   - fix support for IPv6 addresses in URI parsing functions
4373   - GSocketClient fixes for when g_socket_connect succeeds immediately
4374   - clarify string encoding for GFile constructors in docs
4375   - new functions g_data_input_stream_read_upto{,async,finish}
4376   - tweak confusing documentation for g_output_stream_write()
4377
4378 GDBus:
4379   - GDBusMessage can now be locked and copied (like in libdbus)
4380   - GDBusConnection filter function API has changed again
4381   - GDBusServer: ::new-connection now declares if the connection was claimed
4382   - add a partial workaround for GObject bug 627724.
4383   - very many memory leaks fixed
4384
4385 GVariant:
4386   - check for size == 0 in g_variant_get_bytestring to avoid a crash
4387     when attempting to get_bytestring() from an empty array
4388   - improve gobject-introspection annotations
4389
4390 GSettings:
4391   - add GSettings Windows registry backend
4392   - some internal tweaks to the backend API
4393   - remove g_settings_list_items
4394   - add g_settings_list_children and _list_keys to replace it
4395   - add schema compiler restrictions for dealing with lists
4396   - don't automatically emit value changed signals on writability
4397     changes
4398
4399 Other:
4400   - constify the 'parser' vtable param to g_markup_parse_context_push()
4401   - plug many memory leaks in test cases
4402
4403 Bugs closed:
4404   50076 Time API to go with date API
4405  584284 g_data_input_stream_read_until_async different from sync version
4406  624546 Modification of GDBusMessage in filter function
4407  626919 Let g_object_class_install_property() return the installed GParamSpec*
4408  628029 GDateTime missing get_week_of_year method
4409  628253 Interface properties not listed in a consistent order
4410  628331 Plug lots of mem leaks in gio test suite
4411  628345 Plug a mem leak
4412  628436 Plug a mem leak
4413  628505 Fix building with zlib < 1.2.4 on win32
4414  628839 [PATCH] datetime: Rename shadowing variables
4415  628904 [PATCH] Add credential support for FreeBSD and fix a socket issue
4416  628952 incorrect glib_major_version and other variables on cygwin.
4417  629192 g_strdup_value_contents(): dump GStrv more usefully
4418  629251 g_socket_client_async_connect_complete: assertion failed
4419  629259 Failed to connect to "::1"
4420  629328 g_markup_parse_context_push doesn't respect const structs
4421  629429 month "May" short and full form same with "GDateTime" msgctxt
4422  629689 GDBusConnection leaks its GCredentials
4423  629698 Segfault in g_variant_get_bytestring() 
4424
4425 Updated translations:
4426   Arabic
4427   Armenian
4428   Basque
4429   British English
4430   Czech
4431   Finnish
4432   Galician
4433   German
4434   Hungarian
4435   Indonesian
4436   Japanese
4437   Lithuanian
4438   Norwegian bokmål
4439   Polish
4440   Portuguese
4441   Punjabi
4442   Simplified Chinese
4443   Slovenian
4444   Spanish
4445   Swedish
4446   Swedish
4447   Traditional Chinese
4448
4449 Overview of Changes from GLib 2.25.14 to GLib 2.25.15
4450 =====================================================
4451
4452  * GIO
4453   - Memory leak fixes
4454   - The GZip(De}Compressor can now process header information
4455   - Support for network proxies has been added, with the GProxy
4456     interface and the gio-proxy-resolver extension point. GIO
4457     includes SOCKSv4 and SOCKSv5 implementations, and libproxy
4458     is also going to provide an implementation of this extension
4459     point.
4460   - There are GAction and GActionGroup interfaces now, which will
4461     be used in GApplication in the near future.
4462
4463  * GObject
4464   - There are now convenience macros for defining boxed and
4465     pointer types
4466
4467  * GDBus
4468   - Memory leak fixes
4469   - GDBusProxy for well-known names can now auto-restart
4470     the service if the name owner disapperas
4471   - Filter functions are now allowed to modify messages
4472
4473  * GLib
4474   - GDateTime is a replacement for GDate that supports time
4475     and timezone information.
4476
4477  * Bugs fixed:
4478   50076 Time API to go with date API
4479  449565 Add G_DEFINE_BOXED_TYPE()
4480  617691 Add GZIP header processing to GZlibCompressor/GZlibDecompressor
4481  622184 add g_memory_output_stream_steal_data
4482  624546 Modification of GDBusMessage in filter function
4483  627088 Build failure in gdbus-peer.c on FreeBSD
4484  627181 save a memdup
4485  627182 Plug a mem leak in the gdbus-connection test
4486  627187 Plug some gdbus mem leaks
4487  627188 gdbus-non-socket test occasionally fails
4488  627252 G_OPTION_FLAG_NO_ARG is only for callback options
4489  627392 gdbus commit 8a3a4596 breaks win32 compile
4490  627407 FTBFS on !linux UNIX platforms
4491  627604 String error: 'that' twice in a row
4492  627969 ABR in g_file_open_tmp
4493  628084 gdbus-peer fails with assertion
4494  628193 Miscellaneous string fixes
4495  628296 abort() in gsocketconnection.c
4496  628309 Plug a mem leak in GConverterOutputStream
4497  628317 GEmblemedIcon:equal implementation is buggy
4498  628323 Fix invalid reads
4499  628327 Plug a mem leak
4500  628328 Plug a mem leak
4501  628329 Don't leak the FD list
4502  628324 Invalid reads in gdbus-export test
4503
4504  * Updated translations:
4505   British English
4506   Danish
4507   Galician
4508   Hebrew
4509   Punjabi
4510   Serbian
4511   Spanish
4512   Traditional Chinese
4513
4514
4515 Overview of Changes from GLib 2.25.13 to GLib 2.25.14
4516 =====================================================
4517
4518 * GDBus
4519  - Make the closure variants of GDBus apis work
4520  - Make error unregistration work
4521  - Use async IO in the IO thread (626748)
4522
4523 * GIO
4524  - Make g_simple_async_result_is_valid work without source (626208)
4525  - GSocketClient: add a timeout property
4526  - Fix memory leaks in GSocketClient
4527  - Handle async vs. sync correctly in GSocketConnection stream (616458)
4528  - Declare stream base classes as abstract
4529  - Clarify semantics of g_output_stream_write() (627071)
4530
4531 * Other
4532  - Improve test coverage for GDBus, GRegex, GAsyncResult
4533  - Drop dead code in pcre, xdgmime
4534  - Fix a race condition in gtester (578295)
4535  - Avoid an extra allocation in GAsyncQueue (626704)
4536  - Add test case for non-socket GIOStream (626841)
4537  - More explicit GVariant docs (622770)
4538  - Imroved docs for GAsyncInitable and GSimpleAsyncResult (602417)
4539
4540 * Translation updates:
4541  - Galician
4542  - Norwegian bokmål
4543  - Punjabi
4544  - Simplified Chinese
4545  - Swedish
4546
4547
4548 Overview of Changes from GLib 2.25.12 to GLib 2.25.13
4549 =====================================================
4550
4551 +-------------------------------------------------------------------+
4552 |   WARNING: There have been no breaks in API or ABI.  Weird, eh?   |
4553 +-------------------------------------------------------------------+
4554
4555 The primary purpose of this release is to fix a serious problem with
4556 glib 2.25.12: glibconfig.h (as generated on a Fedora amd64 system) was
4557 being distributed in the tarball.  It was being used to build some parts
4558 of glib on other systems (eg: 32bit ones).  This was causing some very
4559 serious problems.
4560
4561 There have been many other improvements, however:
4562
4563  Build and testing:
4564   - vastly improved test coverage
4565   - old tests moved to the gtester framework
4566   - gtester Makefile modified so that the tests only run once
4567   - cleanup of how we handle includes while building glib
4568
4569  GVariant:
4570   - add a g_return_if_fail (utf8) to g_variant_new_string()
4571
4572  GDBus:
4573   - perform extra sanity checks when serialising messages
4574   - add API to query and set the byteorder of a GDBusMessage
4575   - improve debug output, add some extra options
4576   - if exiting due to the bus disconnecting us, print an error message
4577     explaining why
4578   - sort property names correctly
4579   - don't bother sending RemoveMatch when we will close the connection
4580     anyway
4581   - use effective uid/gid for credential passing
4582
4583  GSettings:
4584   - add G_SETTINGS_BIND_INVERT_BOOLEAN for inverting boolean bindings
4585     without mapping functions
4586   - mark all strings in the schema compiler for translation
4587
4588  Binding:
4589   - improve closure support for bindings
4590   - copy GSettings INVERT_BOOLEAN flag
4591
4592  Other:
4593   - fix another complicated GCancellable deadlock possibility
4594
4595 Bugs closed:
4596  599590 glib build doesn't look for correct pkg-config
4597  619026 avoid warning in gutils.h when using gcc with -Wconversion
4598  624739 Please fix POTFILES.in
4599  625472 Valgrind claims uninitialized bytes used
4600  625500 g_date_set_time_val documentation doesn't mention local time
4601  625628 GDBusProxy: wrong property name sorting
4602  625753 Incorrect flags used in g_dbus_connection_call_sync()
4603  625827 Expand documentation about error quark naming
4604  625988 builddir != srcdir issues
4605  626107 glibconfig.h is being disted
4606
4607 Updated translations:
4608  French
4609  Galician
4610  Hebrew
4611  Norwegian bokmål
4612  Spanish
4613
4614
4615 Overview of Changes from GLib 2.25.11 to GLib 2.25.12
4616 =====================================================
4617
4618 +-------------------------------------------------------------------+
4619 | WARNING: There have been many API changes in GDBus -- sending     |
4620 | messages, subscribing to signals, closing connections and         |
4621 | registering subtrees are affected.  The ABI for GSettingsBackend  |
4622 | has also been changed.  For both reasons, a new dconf release is  |
4623 | required (and will be along soon).                                |
4624 +-------------------------------------------------------------------+
4625
4626 Build:
4627   - cleanup automake setup
4628   - rename configure.in to configure.ac
4629   - various docs fixups
4630   - move glibconfig.h to glib/
4631   - disable dtrace support on Mac OS (which has incompatible 'dtrace')
4632
4633 GSettings:
4634   - add support for vendor override files (to change the default values
4635     in a schema)
4636   - change GSettingsBackend vtable
4637   - add g_settings_reset()
4638   - support binding to G_TYPE_STRV properties
4639
4640 GDBus:
4641   - many bug fixes, including a serialisation fix
4642   - stop handling incoming connections as soon as stop() is called
4643   - proper support for file descriptor passing
4644   - new flags parameter for sending messages
4645   - new flags parameter for subscribing to signals
4646   - always reset the message serial when sending a message unless
4647     G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL is given
4648   - constness fixes for introspection structures
4649   - clean ups to subtree registration API
4650
4651 Other:
4652   - fix divide by zero bug in g_malloc_n functions
4653   - GIO: don't blindly assume that SOCK_CLOEXEC is supported
4654   - make GObject property notify freezes threadsafe
4655   - GIO: clean up credentials passing
4656   - GApplication: make default-quit not apply if register=FALSE
4657   - GIO: add annotations for gobject-introspection
4658
4659 Bugs closed:
4660  166020 use GAtomic for refcounting
4661  617483 Credentials passing
4662  622005 [GApplication] no way to modify the "default-quit" property
4663  623293 vendor override files
4664  623810 Message serialization bug
4665  623815 Don't check sender for GDBusProxy objects where name is not set
4666  624473 GDBusSubtreeIntrospectFunc return type
4667  624483 GDBusSubtreeEnumerateFunc clarification
4668  624484 GDBusSubtreeDispatchFunc clarification
4669  624754 gdbusaddress.c missing sys/wait.h
4670  624968 div by zero in g_malloc_n family
4671  624991 GSettings mapping for G_TYPE_STRV 
4672  625383 Add missing GI annotations
4673
4674 Updated Translations:
4675  Armenian
4676  Galician
4677  German
4678  Hebrew
4679  Kazakh
4680  Romanian
4681  Simplified Chinese
4682  Spanish
4683
4684 Overview of Changes from GLib 2.25.10 to GLib 2.25.11
4685 =====================================================
4686
4687 +-------------------------------------------------------------------+
4688 | WARNING: There have been minor API changes in GDBus and GVariant. |
4689 | These API changes will not affect many users, but they do require |
4690 | a new version of GTK+ to be installed.                            |
4691 +-------------------------------------------------------------------+
4692
4693 Build:
4694   - add a --disable-Bsymbolic configure flag to disable linking with
4695     -Bsymbolic-functions
4696   - this release sees the complete removal of the old 'g*alias' hacks
4697   - honour the NOCONFIGURE environment variable from autogen.sh
4698   - use proper feature test macros for isnan
4699   - use pkg-config to check for zlib
4700   - add ACLOCAL_AMFLAGS to Makefile.am
4701
4702 GDBus:
4703   - hide Class and instance structures for all GDBus types except
4704     GDBusProxy.  This breaks API by preventing subclassing, but probably
4705     nobody was doing that.
4706   - add new GDBusConnection call to support flushing all pending
4707     outgoing messages
4708   - change the register_object API to add a reference to the
4709     GDBusInterfaceInfo object so the caller need not keep it alive
4710     themselves
4711   - don't rewrite the serial number when sending messages that already
4712     have a serial number
4713   - better error checking for DBUS_SESSION_BUS_ADDRESS environment
4714     variable
4715   - switch to g_parse_debug_string for G_DBUS_DEBUG and add a lot of new
4716     flags
4717   - add support for temporarily freezing a freshly created
4718     GDBusConnection.  Do this until after the ::new-connection signal
4719     has finished running on GDBus services.
4720   - never require non-closed connections (the user is incapable of doing
4721     this due to the obvious race)
4722   - remove weird/misleading redundant check on NameOwnerChanged signal
4723   - emit GDBusProxy::g-properties-changed on NameOwnerChanged
4724
4725 GVariant:
4726   - the 'g_variant_{new,get}_byte_array' APIs have been removed
4727   - g_variant_{new,get,dup}_bytestring has been added, with different
4728     arguments and different behaviour
4729   - g_variant_{new,get,dup}_bytestring_array has been added, doing
4730     essentially the same thing as the 'strv' functions, but with byte
4731     strings instead of utf8 strings
4732   - G_VARIANT_TYPE_BYTESTRING ('ay'), BYTESTRING_ARRAY ('aay') and
4733     STRING_ARRAY ('as') constants have been added
4734   - the undocumented behaviour that g_variant_get_strv() deserialised
4735     arrays of object paths or signature strings has been dropped
4736   - additional varargs support for converting bytestrings or bytestring
4737     arrays with ^ay ^aay ^&ay and ^a&ay
4738   - improved gobject-introspection annotation
4739   - fix a problem with GBuffer calling g_slice_free for the wrong type
4740   - fix leaks in the type inferencing code of the parser
4741
4742 GSettings:
4743   - improved documentation
4744   - updated schema XML DTD, now xincluded into the docs
4745   - added support for schemas that extend other schemas (using the
4746     'extends=' attribute).  Values of keys in the base schema can be
4747     overridden using <override>.
4748   - added theoretical support for lists (using the 'list-of=' attribute)
4749   - lots of new tests
4750   - add support for flags (implemented similarly to enums)
4751   - add support for generating .enums.xml files to gsettings.m4:
4752       gsettings_ENUM_NAMESPACE = org.example.myapp
4753       gsettings_ENUM_FILES = ../path/to/*.h
4754     will generate org.example.myapp.enums.xml with mappings for all
4755     enums and flags in the specified .h files.
4756   - warn with g_message() if the 'memory' backend is used by default
4757     (ie: because no other GSettings backends are installed)
4758   - fix get_property() for GSettings::schema
4759   - command line tool: fix a bug that prevented non-basic values from
4760     being set due to a premature free
4761   - command line tool: bash completion support
4762   - chain up in _finalize
4763   - add a new g_settings_get_mapped API to read settings that require
4764     post-processing
4765   - retry with the translated or schema default value if the
4766     GSettingsBindGetMapping function fails
4767   - schema compiler: never fail due to empty schema directories (but
4768     warn)
4769   - peek rather than ref/unref the GEnumClass in the mapping function
4770   - schema compiler: compile *.enums.xml before *.gschemas.xml to ensure
4771     that we have all the enums that the schemas may reference
4772   - schema compiler: improve accuracy of line numbers in error reports
4773   - fix crashes in the keyfile backend caused by invalid group names in
4774     the keyfile
4775
4776 Other:
4777   - always intern GBinding prop names
4778   - base64: remove asserts preventing conversion of empty strings
4779   - document NULL special-cases for GValueArray
4780   - GNode docs improvements
4781   - improve detection of 'system internal' mounts
4782   - fix leaks in the inotify GFileMonitor implementation
4783   - annotate all custom GIO GSources to improve debugging (e.g. using
4784     SystemTap)
4785
4786 Tests:
4787   - Turn on glibc malloc checking features for make check
4788   - improvements for GSettings tests, plus new tests
4789   - improved tests for GKeyfile
4790   - new tests for GDir, GSList, GSList, GAppLaunchContext,
4791     CharsetConverter, GIcon, ...
4792   - move some tests to GTester (tree tests, uri tests)
4793   - generally, really an awful lot of new tests
4794   - don't try to allocate 2gigs of memory anymore for the array test
4795
4796  552363 g_value_array_{insert,prepend,append}'s special cases for NULL
4797  561248 Improve return value description from g_node_prev/next_sibling()
4798  570036 Add ACLOCAL_AMFLAGS to Makefile.am
4799  576833 g_sprintf add a reference to g_strdup_printf
4800  576854 g_strconcat() documentation should provide a hint about bad l10n
4801  582227 reference: add other URI functions to 'URI Functions' section
4802  599223 should provide g_spawn_* variants that take a GAppLaunchContext
4803  610784 array test failing
4804  613057 Leak in inotify GFileMonitor implementation
4805  620536 Annotate all custom GIO GSource using g_source_set_name
4806  620913 More control with G_DBUS_DEBUG
4807  622124 implement flags
4808  622127 GSettings extended key validation
4809  622128 retry with default value for failed mapping
4810  622294 More annotations for GVariant
4811  622565 glib-compile-schemas fails when no schemas
4812  622600 Fix missing prototype warning
4813  622813 gsettings mapping & enum buglet
4814  623142 Ensure ::new-connection runs before processing D-Bus messages
4815  623143 Never require non-closed connections
4816  623319 use g_parse_debug_string for dbus debug flags
4817  623401 process enums first
4818  623402 schema compiler reports wrong line numbers
4819  623407 g_keyfile_settings_backend_new crashes with the key "/"
4820  623473 zlib should be checked with pkg-config
4821  623537 GDBusProxy has weird checking on NameOwnerChanged
4822  623538 GDBusProxy::g-properties-changed emission for corner cases
4823  623692 directory with file at multiple MLS levels may display empty
4824  623720 gschema.dtd does not contain enum definitions
4825  623770 quoting of expand_macro in gdesktopappinfo.c
4826  623772 gdesktopappinfo.c, function child_setup
4827  623780 g_unix_is_mount_path_system_internal
4828  623954 g_settings_finalize
4829  623955 Dubious return values
4830
4831 Updated translations:
4832  Galician
4833  Hebrew
4834  Norwegian bokmål
4835  Spanish
4836
4837 Overview of Changes from GLib 2.25.9 to GLib 2.25.10
4838 ====================================================
4839
4840 +----------------------------------------------------------------+
4841 | WARNING: There have been API changes in GDBus. Users of these  |
4842 | APIs will need to be adapted.  In particular, a new release of |
4843 | dconf is required to go along with this one.  There has also   |
4844 | been a change in the GSettings backend API used for keyfiles.  |
4845 +----------------------------------------------------------------+
4846
4847 * GDBus:
4848  - add direction parameter to filter functions (API change)
4849  - allow calling other interfaces with a GDBusProxy
4850  - padding added to class struct fields (ABI change)
4851  - fixes for closures-based functions
4852
4853 * GVariant:
4854  - new is_floating() call
4855  - add g_value_take_variant() call (required for marshallers)
4856
4857 * GSettings:
4858  - support for binding GParamSpecEnum properties
4859  - ifelse-style condition support for GLIB_GSETTINGS m4 macro
4860  - remove gsettings-schema-convert tool (now in GConf)
4861  - allow introspection of all installed schemas
4862  - allow introspection of the keys in a schema
4863  - rewrite keyfile backend (API change)
4864
4865 * GNIO:
4866  - don't implicitly close GSocket until it is destroyed
4867  - windows fixups
4868
4869 * Other:
4870  - allow GChecksum to take (NULL, 0) for data/length
4871  - GRelation and GCompletion are now deprecated
4872  - introduce G_PARAM_DEPRECATED and G_ENABLE_DIAGNOSTIC
4873  - add working directory to GApplication platform data
4874  - lots of documentation cleanups
4875  - PCRE updated to 8.02
4876
4877 * Build:
4878  - the IA__g_* style symbol aliasing has been disabled and replaced with
4879    the -Bsymbolic-functions linker flag on platforms that support it.
4880    Please be on the watch for portability issues and report them to us.
4881  - many test cases have been moved to the GTester framework
4882  - lcov support has been added for tests
4883  - many windows fixes
4884
4885 * Bugs fixed:
4886  501057  lcov coverage suite and GLib integration
4887  551271  deprecate GRelation
4888  601686  Implement diagnostic mode
4889  603309  GSocketOutputStream broken on Windows (?)
4890  616718  GLIB_GSETTINGS macro can't be used conditionally
4891  616855  GSocketConnection: don't close the socket if it's still reffed
4892  618866  g_ptr_array_remove_index_fast memory leak
4893  619878  keyfile backend calls keys_changed with invalid argument
4894  619879  keyfile backend doesn't make use of expected_type
4895  621092  Add with_closures() variants for bindings
4896  621172  Cross compiling fails
4897  621838  Actually add cwd to platform data
4898  621945  Filter outgoing messages in GDBusConnection
4899  621947  add g_value_take_variant
4900  622038  GSettings: "It is a programmer error" documentation is unclear
4901  622154  [patch] update documentation for g_application_new
4902  622281  binding: Add SYNC_CREATE to the flags
4903  622480  Improve documentation for g_strcmp0()
4904  622554  g_error called if schema not installed
4905  622601  Return interned strings from g_settings_list_keys
4906
4907 * Translation updates:
4908  - Galician
4909
4910 Overview of Changes from GLib 2.25.8 to GLib 2.25.9
4911 ===================================================
4912
4913 +----------------------------------------------------------------+
4914 | WARNING: There have been API changes in GDBus, GSettings and   |
4915 | GApplication. Users of these APIs will need to be adapted. In  |
4916 | particular, a new release of GTK+ is required to go along with |
4917 | this one.                                                      |
4918 +----------------------------------------------------------------+
4919
4920 * GDBus
4921  - Use Gio's default async implementation
4922  - Fix proxy construction for objects with no properties
4923  - Fix error handling in synchronous initialization
4924  - Do not dispatch calls to unregistered objects
4925  - Add _with_closures alternative functions
4926  - Allow constructing GDBusProxy with well-known names
4927  - Remove GType parameters from GDBusProxy constructors
4928  - Nuke g_bus_watch_proxy API
4929  - Add --xml to gdbus-tool to print raw introspected XML
4930
4931 * GSettings
4932  - schema file format change: store (default, options) in gvdb
4933  - Add g_settings_sync()
4934  - Add support for enums and ranges
4935  - 'context' support has been replaced by direct use of
4936    GSettingsBackend
4937
4938 * GApplication
4939  - Switch to using variants for timestamps
4940  - Use GInitable
4941
4942 * GObject
4943  - Introduce g_object_notify_by_pspec
4944  - Add GBinding
4945  - The GVariant gtype G_TYPE_VARIANT was changed from boxed
4946    to fundamental. We believe there were no existing users
4947    of the boxed type, so this should not cause any applications
4948    to break.
4949
4950 * Test framework
4951  - Add package and version to the test report XML
4952  - Use optparse to parse gtester-report commandline
4953  - Add subunit support to gtester-report
4954  - Prevent division by zero if no tests
4955
4956 * Bugs fixed:
4957  621782 Crash using gbinding
4958  619945 GConverterOutputStream triggers assertion and corrupts data
4959  621319 more leaked GVariants in GSettings
4960  621168 GKeyFile memory leak on Windows platform
4961  621002 Switch to using variants for timestamps, split out signals
4962  620953 tiny docs addition
4963  618904 Lies in gunixmounts documentation
4964  621702 Correctly initialize GError
4965  611778 minor cleanup of gtester-report
4966  621213 GDBusProxy and well-known names
4967  621034 Rewrite apps test to ensure children are killed
4968  620954 gapplication gvariant simplifications
4969  611869 add subunit out feature to gtester-report
4970  621119 GDBusProxy and objects with no properties
4971  620990 Use Gio's default async implementation again
4972  620952 g_application_register_with_data is an ugly API
4973  621252 GSettings leaks context
4974  618715 fork() in GSettings test cases is problematic 618715
4975  621905 Assume a ref when doing async work
4976  621266 GSettings "context" clarification
4977
4978 * Translation updates:
4979  Chinese
4980
4981
4982 Overview of Changes from GLib 2.25.7 to GLib 2.25.8
4983 ===================================================
4984
4985 * Initial support for dtrace and systemtap profiling:
4986  - mainloop sources can be named
4987  - probes for memory allocation with g_malloc and gslice
4988  - gquark name tracking
4989  - type creation
4990  - object life-cyle (creation, finalization, ref, unref)
4991  - signal creation and emission
4992
4993 * GVariant
4994  - has been fixed to work with the FreeBSD malloc
4995  - added introspection annotations
4996  - new function: g_variant_builder_add_parsed
4997
4998 * GSettings:
4999  - g_settings_set/get_strv functions have lost their length parameter
5000  - g_settings_set_strv accepts NULL
5001  - added introspection annotiations
5002
5003 * GPermission: an abstract interface for representing permissions,
5004   with a minimal implementation named GSimplePermission
5005
5006 * GApplication: a basic application support class, with a D-Bus based
5007   implementation
5008
5009 * Bugs fixed:
5010  619585 glib-compile-schemas asserts on FreeBSD
5011  620384 Annotate GVariant and GSettings _strv() functions
5012  606044 Add support for dtrace/systemtap static markers
5013  620350 add g_variant_builder_add_parsed() API
5014  620349 utf8ify GVariant printer
5015  620767 Typo in GSettings documentation: "INTLTOOL_NOMERGE_RULE"
5016  620312 Fix g_settings_[gs]et_strv() API
5017  620519 GPermission
5018  620582 GPermission needs a simple implementation
5019  620496 GSettings schema compiler should reject invalid paths
5020  620173 missing single header inclusion guards
5021  620265 g_assertion_message_error should take const GError *
5022
5023 * Translation updates:
5024  Esperanto
5025  Galician
5026  Hebrew
5027  Indonesian
5028  Norwegian bokmål
5029  Slovenian
5030  Spanish
5031
5032
5033 Overview of Changes from GLib 2.25.6 to GLib 2.25.7
5034 ===================================================
5035
5036 * NOTE: API/ABI breaks since 2.25.6 release:
5037   - g_dbus_connection_sync{,_sync} takes a new 'reply_type' argument
5038   - GSettingsBackendClass 'list' virtual function changed
5039
5040   GSettings backends and things using GDBus may need to be rebuilt.
5041
5042 * GDBus: many build-related fixes
5043
5044 * GDBus (service): return a DBus error when receiving a method call for
5045   an unknown interface.
5046
5047 * GSettings: fix 'make install' bug in gsettings.m4 for generated schema
5048   files
5049
5050 * GSettings: avoid non-portable use of LC_MESSAGES
5051
5052 * better approach to handling man pages
5053
5054
5055 * Bugs fixed:
5056  619527 please improve docs on g_file_make_symlink
5057  619391 send-with-reply should have expected result signature
5058  618616 Use stack-allocated GVariantBuilders
5059  617004 Build with "--disable-nls" fails under MinGW/Win32
5060  619142 Build fixes (GDBus)
5061
5062 * Updated translations:
5063  Estonian
5064  Galician
5065  Norwegian bokmål
5066
5067 Overview of Changes from GLib 2.25.5 to GLib 2.25.6
5068 ===================================================
5069
5070 * GDBus: introspection improvements
5071 * GDBus: build fixes
5072
5073 * GSettings: GSettingsBackend ABI changed               **** NOTE ****
5074 * GSettings: --uninstall option for schema compiler
5075 * GSettings: new m4 macro with more power
5076 * GSettings: thread support
5077
5078 * rework of file notification on Solaris
5079 * fixes for gold linker
5080
5081 * Bugs fixed:
5082  619038 increase gsettings.m4 power
5083  619031 method-calls-in-thread test failing
5084  618839 Typo at translation message
5085  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
5086  618730 gunixcredentialsmessage.c doesn't compile on GNU/kfreebsd
5087  616314 Make GSettings (partially) threadsafe
5088
5089 * Updated Translations:
5090  Indonesian
5091  Galician
5092  Spanish
5093
5094 Overview of Changes from GLib 2.25.4 to GLib 2.25.5
5095 ===================================================
5096
5097 * GDBus: Fix serialization of empty arrays
5098
5099 * GDBus: Plug various memory leaks
5100
5101 * GSettings: Fix problems with GSETTINGS_CHECK_RULE
5102
5103 * Bugs fixed:
5104  616731 GSETTINGS_CHECK_RULE doesn't work in non-srcdir builds
5105  616864 GSETTINGS_CHECK_RULE doesn't work with multiple files
5106  618615 mem leaks in parse_value_from_blob
5107  618622 Plug some mem leaks in gdbus
5108  618650 Plug a mem leak in gdbusauth
5109  618663 Plug mem leaks in gdbus tests & examples
5110
5111 * Updated translations:
5112  Spanish
5113
5114
5115 Overview of Changes from GLib 2.25.3 to GLib 2.25.4
5116 ===================================================
5117
5118 * GDBus D-Bus support has been merged. This provides an API
5119   to replace dbus-glib
5120
5121 * GVariant no requires strings to be UTF-8. You can use byte
5122   arrays for non-UTF-8 strings.
5123
5124 * GSettings allows to bind string properties to byte arrays
5125
5126 * The schema compiler supports range restrictions
5127
5128 * Bugs fixed:
5129  618051 socket-server|client.c fail to compile under AIX...
5130  616102 GSettings ignores <choice> and <range>
5131  616720 Chunked quark allocation
5132  616877 Several issues with g_socket_receive_message
5133  616892 gio: Add a boxed type for GFileAttributeMatcher
5134  616967 Add g_regex_get_compile_flags() and g_regex_get_match_flags()
5135  617767 g_settings_[gs]et_strv() 'length' argument has missing docs...
5136  617914 gtester-report: cope with binaries with no test cases
5137  617937 output_stream_close vs output_stream_close_async semantics
5138  615494 Connction timeouts produce partially invalid error messages
5139  617823 glib-compile-schemas problems with an out of source build
5140  617947 glib-mkenums: add @valuenum@ support
5141
5142 * Translation updates:
5143  Galicaian
5144  Norwegian bokmål
5145  Shavian
5146  Spanish
5147
5148
5149 Overview of Changes from GLib 2.25.2 to GLib 2.25.3
5150 ===================================================
5151
5152 * New macro: G_GNUC_DEPRECATED_FOR, a variant of G_GNUC_DEPRECATED
5153   that lets you add replacement information (requires gcc 4.5)
5154
5155 * Rename AM_GSETTINGS autoconf macro to GLIB_GSETTINGS
5156
5157 * Rename gschema-compile utility to glib-compile-schemas
5158
5159 * Add support for timeouts in GSocket
5160
5161 * Bugs fixed:
5162  589989 Compilation error on Solaris 9
5163  616648 Change AM_GSETTINGS macro to GLIB_GSETTINGS
5164  587898 I/O timeouts for GSocket
5165  614541 Add G_TYPE_ERROR boxed type for GError
5166
5167
5168 Overview of Changes from GLib 2.25.0 to GLib 2.25.2
5169 ===================================================
5170
5171 * Include a 'gsettings' utility, for commandline access to GSettings
5172
5173 * Install a AM_GSETTINGS autoconf macro similar to AM_GCONF
5174
5175 * GSettings can bind the writability of a key explicitly
5176
5177 * There is now a predefined boxed type for GError
5178
5179 * Bugs fixed:
5180  615379 g_new macros crash if sizeof(struct_type) == 0
5181  616312 Add m4 rule equivalent to GCONF_SCHEMAS_INSTALL
5182  616295 mapping bug for uint64
5183  616216 glib compile from remote directory fails
5184  615960 Fix size passed to connect() for abstract sockets
5185  616432 Crash in gschema-compile
5186  616331 gsettings-schema-convert uses imaginary types
5187  616309 gsettings-schema-convert should output gettext-domain
5188  616384 Add mention of GConfBridge in conversion docs
5189  616311 gschema-compile outputs in current directory
5190  616276 simplify gschema-compile test setup
5191  616156 keys with unnecessary empty options arrays
5192  616405 gsettings missing g_return_if_fail's
5193  616245 Use G_DEFINE_INTERFACE macro
5194  614541 Add G_TYPE_ERROR boxed type for GError
5195
5196 * Updated translations:
5197  Catalan (Valencian)
5198  Galician
5199  Kannada
5200  Spanish
5201
5202
5203 Overview of Changes from GLib 2.24.0 to GLib 2.25.0
5204 ===================================================
5205
5206 * The GSettings framework has been merged. This provides the API to
5207   replace GConf. DConf will provide a backend implementation for it.
5208   GConf will also provide a backend implementation to ease the
5209   transition. We provide utilities to assist with schema conversion
5210   and data migration, as well as a porting guide.
5211
5212 * Translation updates:
5213  Bengali
5214  Catalan
5215  Danish
5216  Gujarati
5217  Marathi
5218  Thai
5219  Traditional Chinese
5220
5221
5222 Overview of Changes from GLib 2.23.6 to GLib 2.24.0
5223 ===================================================
5224
5225 * Bug fixes:
5226  613601 buglet in dup_close_on_exec_fd
5227  584284 g_data_input_stream_read_until_async behaves confusingly
5228  613748 Write errors in middle of copy cause hang
5229  613923 splice_stream_with_progress: wrong error handling
5230  613667 Typo in GObject documentation
5231  613618 gvariant format string docs unclear
5232
5233 * Translation updates:
5234  Basque
5235  Ukrainian
5236  Vietnamese
5237
5238
5239 Overview of Changes from GLib 2.23.5 to GLib 2.23.6
5240 ===================================================
5241
5242 * Class private data:
5243   - support for private data associated with a GTypeClass
5244
5245 * GVariant merge is now complete:
5246   - loading functions and parser merged
5247
5248 * Windows improvements:
5249   - socket fixes
5250   - various build improvements
5251   - removal of GCC/C99isms in favour of portable code
5252   - drop unmaintained Visual Studio 8 support
5253
5254 * Minor API addition:
5255   - g_desktop_app_info_get_filename()
5256
5257 * Bugs fixed:
5258  521707 Class private data
5259  612502 build fails on glib/tests/gvariant.c
5260  612832 [GDesktopAppInfo] New function g_desktop_app_info_get_filename
5261  612702 [PATCH] Fix GSocket-related crash on Windows
5262  612736 Improve the documentation about single include
5263  610858 gvariant test fails sometimes
5264  612327 uninitialized variable
5265
5266 * New translations:
5267  Afrikaans
5268  LowGerman
5269
5270 * Updated translations:
5271  Czech
5272  Finnish
5273  Galician
5274  Greek
5275  Punjabi
5276  Romanian
5277  Serbian
5278
5279
5280 Overview of Changes from GLib 2.23.4 to GLib 2.23.5
5281 ===================================================
5282
5283 * New API addition: g_malloc_n() and friends used to implement an
5284   overflow-safe family of g_new() macros.
5285
5286 * GVariant:
5287  - GVariantBuilder and GVariantIter are now merged.
5288  - The variable arguments API is now merged.
5289  - The parser will be in a future release.
5290
5291 * GIO:
5292  - Remove GUtf8InputStream (which never appeared in a stable release)
5293    for now since it doesn't satisfy the needs of its main intended use
5294    case.  We hope to reimplement this feature in a better form in a
5295    future release.
5296
5297 * Bugs fixed:
5298  609531 missing licence headers
5299  612107 Missing G_FILE_ATTRIBUTE_TRASH_ORIG_PATH
5300  611897 g_io_modules_scan_all_in_directory leaks
5301  608196 Overflow-safe g_new family
5302  611696 gio uses GetAddrInfo which requires special handing on windows 2k
5303  605667 Don't use G_PARAM_SPEC_VALUE_TYPE when we know the pspec is valid
5304  610860 test_g_file_open_readwrite fails if $HOME is unwritable
5305  552912 glib-2.18 /live-g-file/test_copy_move failed when run as root
5306  609813 Renaming a file discards file notes
5307
5308 * Updated translations:
5309  Basque
5310  Brazilian Portuguese
5311  British English
5312  Bulgarian
5313  Catalan
5314  Danish
5315  Estonian
5316  French
5317  German
5318  Hungarian
5319  Italian
5320  Lithuanian
5321  Norwegian bokmål
5322  Portuguese
5323  Russian
5324  Slovenian
5325  Spanish
5326  Swedish
5327  Traditional Chinese
5328
5329
5330 Overview of Changes from GLib 2.23.3 to GLib 2.23.4
5331 ===================================================
5332
5333 * GVariant: The core of GVariant has been merged now, with some
5334  API still to follow.
5335
5336 * GIO:
5337  - There is a new interface GFileDescriptorBased for file descriptor
5338    based IO. GLocalFile{Input,Output}Stream implement it
5339  - Use splice(2) to transfer data between file descriptors without
5340    extraneous copies
5341  - Add a way to request move events from file monitors
5342
5343 * Bugs fixed:
5344  609143 *result_uncertain is never assigned in g_content_type_guess
5345  604086 Use splice(2) when doing local file copies
5346  547890 No move events for GFileMonitorEvent?
5347  568760 nautilus freezes due to a bug in garray.c:322
5348  609962 Add info about the use of G_DEFINE_INTERFACE
5349  609564 g_base64_encode_close docs should mention outbuf size...
5350  610484 g_variant_equal bug
5351  610131 libasyncns does not compile on Solaris 8
5352  609530 missing single header include guards
5353
5354 * Updated translations:
5355  Czech
5356  Estonian
5357  Galician
5358  German
5359  Korean
5360  Polish
5361  Slovenian
5362  Spanish
5363  Traditional Chinese
5364
5365
5366 Overview of Changes from GLib 2.23.2 to GLib 2.23.3
5367 ===================================================
5368
5369 * GLib now has a facility for locks that consume only one bit of
5370   storage inside an integer: g_bit_lock()
5371
5372 * GVariant: The serializer has been merged, with more API to follow
5373
5374 * Bugs fixed
5375  548967 1 bit mutex lock
5376  604967 2.22.3 libasyncns build fails on HP-UX 11.11
5377  608602 G_VALUE_COLLECT_INIT variables shadow those in G_VALUE_COLLECT
5378  608743 Crash in g_hostname_to_ascii visiting certain website in epiphany
5379  599197 array ref and unref functions crash on NULL array.
5380  608159 mem leak in g_io_modules_scan_all_in_directory
5381
5382 * Translation updates
5383  Brazilian Portuguese
5384  Czech
5385  French
5386  Norwegian bokmål
5387  Slovenian
5388  Spanish
5389  Thai
5390
5391
5392 Overview of Changes from GLib 2.23.1 to GLib 2.23.2
5393 ===================================================
5394
5395 * We are now using gcc builtins for atomic operations when available
5396
5397 * g_assert() grew the ability to store assertions in core dumps
5398
5399 * GIO supports lazy loading of GIO modules, and there is a new
5400   gio-querymodule utility that goes along with this.
5401   Packagers will need to adapt to this.
5402
5403 * Threading changes:
5404  - The requirements for g_thread_init() have been relaxed slightly,
5405    it can be called multiple times, and does not have to be the first
5406    call.
5407  - GObject now links to GThread and threads are enabled automatically
5408    when g_type_init() is called.
5409  - Thread-safety issues with boxed types in GObject have been fixed.
5410
5411 * GObject:
5412  - Another bunch of performance work has landed
5413
5414 * GVariant:
5415  - GVariantType has been merged, with the rest of the GVariant
5416    API to follow.
5417
5418 * Bugs fixed:
5419  568760 nautilus freezes due to a bug in garray.c:322
5420  602417 Document lifecycles of GSimpleAsyncResult and friends
5421  604824 crash in Epiphany: Selecting my Slashdot bo...
5422  448888 don't init g_slice for always-malloc
5423  531902 Use GCC atomic buildins for g_atomic*
5424  554887 boxed type registration is not thread safe
5425  586150 unresolved symbols when building glib 2.21.2 on OS X Tiger
5426  589176 row gvalue transform array exponentially
5427  594872 Support storing assertion messages into core dump
5428  602240 Upgrade libasyncns to 0.8
5429  603590 Speed up G_VALUE_COLLECT
5430  604457 gutf8inputstream.c: increasing unknown size pointer
5431  605686 GCharsetConverter doesn't flush
5432  605733 g_memory_output_stream_new violates GObject standards
5433  605883 g_object_new() processes varargs even when there are none
5434  605977 invalid utf-8 conversion in g_local_file_get_parse_name(...
5435  606775 Enable threads by default in gobject
5436
5437 * Translation updates:
5438  Asturian
5439  Basque
5440  Bengali
5441  Bulgarian
5442  Estonian
5443  Norwegian bokmål
5444  Spanish
5445  Thai
5446  Ukrainian
5447
5448
5449 Overview of Changes from GLib 2.23.0 to GLib 2.23.1
5450 ===================================================
5451
5452 * GObject performance work has landed:
5453  - Construction of simple objects is much faster
5454  - Interface lookup is lock-free and constant-time now
5455  - Reduced locking overhead when dealing with types
5456
5457 * GType now has a G_DEFINE_INTERFACE convenience macro
5458
5459 * GIO gained GUtf8InputStream, an input stream that
5460   performs utf-8 validation
5461
5462 * GLib now has byte-swap macros for gsize and gssize
5463
5464 * Bugs fixed:
5465 557151 Determining the newly_constructed boolean in gobject.c...
5466 557100 Performance improvements for GObjectClasses that don't...
5467 501166 Warning message says IA__g_type_init instead of g_type_init
5468 585375 Performance and Contention problems with g_type_class_ref...
5469 587892 Race in GType when instantiating the same class for the...
5470 603270 Input Stream validating utf8
5471 603476 gioenums.h:62: error: comma at end of enumerator list
5472 603540 g_time_val_from_iso8601 uses uninitialised variable
5473 603982 Stack overflow when reading file async with filter
5474 604645 G_DEFINE_INTERFACE_* documentation is not generated
5475 604875 Use of sa_len conflicts with system header
5476 320482 provide G_DEFINE_TYPE like macros for interfaces
5477
5478 * Updated translations:
5479  Estonian
5480  Hebrew
5481  Norwegian bokmål
5482  Vietnamese
5483  Welsh
5484
5485
5486 Overview of Changes from GLib 2.22.x to GLib 2.23.0
5487 ===================================================
5488
5489 * GIO:
5490  - GConverter: a generic interface for stateful conversions of data,
5491    suitable for charset conversion, compression, decompression, regexp
5492    replacement. Concrete implementations are GCharsetConverter,
5493    GZlibCompressor and GZlibDecompressor. GConverterInputStream,
5494    GConverterOutputStream are stream implementations that convert data
5495    while loading or saving it.
5496  - GMounts can now have a 'default location': a path that reflects
5497    the main entry point for the user (e.g. the home directory).
5498  - As a consequence of the compression support, GIO depends on zlib now.
5499
5500 * GObject:
5501  - G_IMPLEMENT_INTERFACE_DYNAMIC: a convenience macro for adding
5502    interfaces to dynamic types.
5503
5504 * GModule:
5505  - The -pthread flag has been added to all gmodule .pc files, because
5506    it is not generally permissible to load modules that are linked
5507    against libpthread if the program has not been compiled with threading
5508    support.
5509
5510 * Bugs fixed:
5511  601637 GUnixFDMessage should contain a GUnixFDList
5512  585566 GSocketListener API issues
5513  572252 Bug in g_file_test() function.
5514  600550 g_app_info_create_from_commandline doesn't treat arguments properly
5515  541236 not detecting exact content type
5516  350200 [PATCH] GTypeModule derived class unref does not unload plugin
5517  589631 Please enclose literal values with double quotes
5518  577711 cross compile check for g++ broken
5519  600620 Support X-GNOME-FullName in GAppInfo
5520  598899 GWin32DirectoryMonitor is broken
5521  593809 Nautilus does not restore the position of the icons on the desktop...
5522  563627 g_get_prgname() threadsafety
5523  600141 Add -pthread to gmodule pkg-config
5524  593856 file and directory monitors don't work when glib is compiled...
5525  324930 Nautilus should disallow copying of symlink to FAT drive early
5526  587300 Deadlock when calling g_cancellable_disconnect in a...
5527  595138 GFile not robust with invalid input
5528  591216 Warning building resolver.o
5529  590016 Does not compile under MinGW32 + Wine
5530  591214 Warnings building gcancellable.o
5531  561998 Have specific entry points (paths) for mounts...
5532  508157 Add G_IMPLEMENT_INTERFACE_DYNAMIC
5533  535159 g_file_has_parent
5534
5535 * Updated translations:
5536  Brazilian Portuguese
5537  Catalan
5538  Estonian
5539  Galician
5540  Norwegian bokmål
5541  Shavian
5542  Slovenian
5543  Spanish
5544  Swedish
5545
5546
5547 Overview of Changes from GLib 2.22.1 to GLib 2.22.2
5548 ===================================================
5549
5550 * GIO:
5551  - Support case-sensitive globs in the shared mime database,
5552    including support for the newer cache format that allows these.
5553    Case-sensitive globs have been introduced in shared-mime-info
5554    version 0.70
5555
5556 * GObject:
5557  - Speed up creation of simple objects
5558
5559 * Bugs fixed:
5560  597194 Typo in _G_TYPE_CVH macro
5561
5562 * Updated translations:
5563  Russian
5564
5565
5566 Overview of Changes from GLib 2.22.0 to GLib 2.22.1
5567 ===================================================
5568
5569 * Bugs fixed:
5570  596064 Test file marked for translation
5571  595972 possibly invalid search in mime_info_cache_dir_add_...
5572  596561 C99 style of declaration of variable in gmessages.c
5573  596314 g_utf16_to_utf8 returns an invalid UTF8 string
5574  596748 g_async_result_get_source_object returns a new ref
5575  593809 Nautilus does not restore the position of the icons...
5576  593775 uses inotify_init1 unconditionally
5577
5578 * Updated translations:
5579  Bengali
5580  Hebrew
5581
5582
5583 Overview of Changes from GLib 2.21.6 to GLib 2.22.0
5584 ===================================================
5585
5586 * Add gdb python macros to make gobject debugging more pleasant
5587
5588 * Bugs fixed:
5589  579050 Allow making selected critical and warning messages non-fatal
5590  594759 g_socket_send_message fails due to invalid sendmsg params
5591  593941 GNetworkAddress skipping addresses when enumerating
5592  594597 Fix build with srcdir != builddir
5593  595619 Include gdb pretty printers
5594
5595 * Changes that might affect bindings:
5596  - The error parameter of g_simple_async_result_set_from_error has been
5597    made const.
5598
5599 * Updated translations:
5600  Assamese
5601  Bengali India
5602  British English
5603  Bulgarian
5604  Catalan
5605  Czech
5606  Danish
5607  Finnish
5608  Galician
5609  Greek
5610  Gujarati
5611  Hindi
5612  Japanese
5613  Kannada
5614  Malayalam
5615  Marathi
5616  Norwegian bokmål
5617  Oriya
5618  Polish
5619  Punjabi
5620  Romanian
5621  Serbian
5622  Simplified Chinese
5623  Slovenian
5624  Spanish
5625  Tamil
5626  Telugu
5627  Thai
5628  Traditional Chinese
5629  Ukrainian
5630  Vietnamese
5631
5632
5633 Overview of Changes from GLib 2.21.5 to GLib 2.21.6
5634 ===================================================
5635
5636 * Minor API additions:
5637   g_mkstemp_full is a variant of g_mkstemp that allows to specify flags
5638   and permissions
5639
5640 * Bugs fixed:
5641  593232 g_rand_new: read no more than requested from /dev/urandom
5642  591995 use saved errno
5643  589491 g_time_val_from_iso8601 doesn't handle some cases
5644  593406 Permissions set to 777 after copying via Nautilus
5645  594034 Add g_mkstemp_full()
5646
5647 * Updated translations:
5648  Assamese
5649  Basque
5650  Brazilian Portuguese
5651  Czech
5652  Estonian
5653  French
5654  German
5655  Hungarian
5656  Italian
5657  Kannada
5658  Malayalam
5659  Marathi
5660  Norwegian bokmål
5661  Oriya
5662  Portuguese
5663  Swedish
5664  Tamil
5665  Turkish
5666
5667
5668 Overview of Changes from GLib 2.21.4 to GLib 2.21.5
5669 ===================================================
5670
5671 * A performance problem with trashing of many files has been fixed
5672
5673 * GResolver now invalidates the libc resolv.conf cache as needed
5674
5675 * Minor api additions:
5676  - g_cancellable_make_pollfd returns a boolean now. And there is a
5677    new function g_cancellable_release_fd that can be used to released
5678    the resources used by a GCancellable.
5679
5680 * Bugs fixed:
5681  589988 Compilation error on Solaris 9 (missing stdint.h)
5682  588901 gtcpconnection.c won't compile
5683  584246 GResolver needs to call res_init() when network state changes
5684  591714 Figure out failure handling for g_cancellable_make_pollfd()
5685  591532 redundent '/' returned from g_file_resolve_relative_path
5686  591378 Use MSG_NOSIGNAL in GSocket if it's available
5687  589649 API documentation migration for Base64 Encoding
5688  591840 configure fails with autoconf 2.64
5689
5690 * Updated translations:
5691  Basque
5692  Brazilian Portuguese
5693  Bulgarian
5694  Danish
5695  Estonian
5696  Finnish
5697  Galician
5698  Gujarati
5699  Hndi
5700  Irish
5701  Japanese
5702  Korean
5703  Norwegian bokmål
5704  Polish
5705  Portuguese
5706  Punjabi
5707  Spanish
5708  Swedish
5709  Telugu
5710  Traditional Chinese
5711  Thai
5712
5713
5714 Overview of Changes from GLib 2.21.3 to GLib 2.21.4
5715 ===================================================
5716
5717 * GTree is now refcounted
5718
5719 * Bugs fixed:
5720  587938 Undocumented limitation for g_str_equal
5721  587773 refcounts for GTree
5722
5723 * Updated translations:
5724  French
5725  Hebrew
5726  Norwegian bokmål
5727  Spanish
5728  Swedish
5729  Traditional Chinese
5730  Ukrainian
5731
5732
5733 Overview of Changes from GLib 2.21.2 to GLib 2.21.3
5734 ===================================================
5735
5736 * GMappedFile is refcounted now
5737
5738 * Mainloop: It is now possible to set per-thread default contexts,
5739   with g_main_context_push_thread_default.
5740
5741 * glib-mkenums supports a @basename@ substitution, in addition
5742   to @filename@.
5743
5744 * GIO:
5745  - Vfs implementations can support storing of per-file metadata.
5746  - GCancellable can now be subclassed.
5747  - Unmount and eject methods now optionally allow interaction, via
5748    variants that take a GMountOperation object.
5749
5750 * Bugs fixed:
5751  556706 Inconsistent help arguments -h, -?
5752  579449 FileChoosers no longer work if an idle handler is active
5753  579933 mainloop FD_CLOEXEC has a race condition
5754  579984 alternate GMainContext support
5755  585937 gio/gsocket.c (glib 2.21.2) does not compile (Windows/mingw)
5756  586675 Runtime library location
5757  586797 Add GCancellables to GSocket ops
5758  586868 g_filename_complete_get_completions doesn't always return...
5759  587415 g_resolver_lookup_by_name_finish returns a freed list
5760  587434 regression tests fail, at least on x86_64
5761  586928 Avoid g++ warning in g_error()
5762
5763 * Updated translations:
5764  Estonian
5765  Hebrew
5766
5767
5768 Overview of Changes from GLib 2.21.1 to GLib 2.21.2
5769 ===================================================
5770
5771 * GIO:
5772   - g_socket_speaks_ipv4 is a new function to check if a socket can
5773     speak IPv4.
5774   - g_socket_listener_add_address gained a new effective_address out
5775     parameter.
5776   - GIO now returns special icons for XDG user directories, by the
5777     name folder-music, folder-documents, etc.
5778   - GIO gained support for starting/stopping of drives, which can be used
5779     in connection with external hard disk enclosures, disk arrays, iSCSI
5780     devices, etc. See g_file_start/stop_mountable.
5781
5782 * GLib:
5783  - g_reload_user_special_dirs_cache is a new function to force GLib to
5784    reload the XDG user directory mapping from disk.
5785
5786 * Bug fixes:
5787  584574 glib compile failure on Mac OS X with gunixresolver.c and...
5788  585566 GSocketListener API issues
5789  584255 Incorrect freeing of thread pool in GThreadedSocketService
5790  585088 g_string_chunk_insert_len stops at nul bytes
5791  585360 Monitor fontconfig configuration files using gio causes m...
5792  580103 Terminal starts on Display :0.0 when started on :0.1 in D...
5793  580301 network: a few issues on old darwin
5794  583398 SRV weight sorting is incorrect
5795  584176 build fixes on FreeBSD
5796  585189 g_cancellable_reset() must be called in same thread as g_...
5797  585280 compilation dies on gio/gsocket.c, needs sys/uio.h to con...
5798  585281 gio/gunixfdmessage.c needs sys/types.h for platforms that...
5799  585478 don't leak the inotify fd
5800  585575 g_socket_listener_add_inet_port() doesn't do the right thing
5801  585599 g_socket_listener_add_socket() consumes the socket
5802  585676 GEmblem doesn't reference its 'icon' if that is set as a ...
5803  585717 "bytes" nautilus translation to french is not shown in th...
5804  541276 XDG directories should have their own icons
5805  585726 Grammatical error in GList documentation
5806  585520 Wrong warning option in documentation
5807  585673 GNOME Goal: Remove deprecated glib symbols
5808  585591 Starting/stopping drives
5809
5810 * Updated translations:
5811  Bengali India
5812  Norwegian bokmål
5813
5814
5815 Overview of Changes from GLib 2.21.0 to GLib 2.21.1
5816 ===================================================
5817
5818 * GIO:
5819  - Support for network IO has been added, including a low-level
5820    socket API and a high-level API for network connections and
5821    services.
5822  - Support for read-write access with GIOStream and its subclasses.
5823  - GMount gained a pre-unmount signal.
5824
5825 * Bug fixes:
5826  576104Implement GMount::pre-unmount
5827  578769 implement GWinHttpFileInputStream::close_fn
5828  582856 gsocket.c doesn't compile on Solaris
5829  569375 g[u]intptr undocumented
5830  573246 [FIX] g_desktop_app_info_dup() can access NULL pointer
5831  575013 g_cancellable_push_current() does not allow NULL
5832  577884 live-g-file.c:461: error: format ‘%d’ expects type ...
5833  578499 g_output_stream_splice and stream closing with gnio strea...
5834  579558 Application employing gvfs crashes with only libgvfscommo...
5835  583001 SIGPIPE (grr!)
5836  583061 Please add convenience function to connect to machines by...
5837  583198 typo in error message
5838  583206 use g_set_error_literal where appropriate
5839  583229 void function g_async_initable_init_async returns value
5840  583324 locking problem in g_main_context_iterate()
5841  583408 void function g_socket_control_message_serialize returns ...
5842  578786 wrong and confusing error message
5843  583205 g_inet_address_to_bytes has no length outparam
5844  583196 mem leak in keyfile test
5845  583663 GSocketType enum ends with a comma
5846  569024 Make g_error_new_valist public
5847  569376 missing G_G[U]INTPTR_FORMAT
5848  580347 off-by-1 bug in GWinHttpFile
5849
5850 * Updated translations:
5851  Oriya
5852  Spanish
5853  Valencian-Catalan
5854
5855
5856 Overview of Changes from GLib 2.20.x to GLib 2.21.0
5857 ===================================================
5858
5859 * GIO:
5860  - New helper functions g_cancellable_connect/disconnect to avoid
5861    race conditions when connecting to the "cancelled" signal on
5862    GCancellable.
5863  - New types and methods for dealing with IPv4 and IPv6 addresses (and
5864    UNIX domain socket addresses under UNIX). This does not include code
5865    for actual socket I/O.
5866  - GResolver provides asynchronous and cancellable APIs for resolving
5867    hostnames, reverse lookup of IP addresses and resolving SRV records.
5868
5869 * Glib now provides hash and comparison functions for int64 and double
5870   types, suitable for use with GHashTable.
5871
5872 * GArray, GPtrArray and GByteArray can be ref counted now, and have
5873   boxed types.
5874
5875 * Bugs fixed:
5876  572844 Helper for GCancellable::cancelled connect/disconnect
5877  578363 goption docs should be improved
5878  548466 async/cancellable DNS resolver
5879  579830 param spec strings should use P_()
5880  579862 requesting xattr::foo ends up calling getxattr(..., user...
5881  580453 Hash and equal functions for gint64 and gdouble
5882  580450 Reference counting and boxed types for arrays
5883  580194 gresolver doesn't build on Solaris
5884  580301 network: a few issues on old darwin
5885  580299 network: include sys/types.h before sys/socket.h to insur...
5886  572508 gmarkup speedup
5887  580546 g_strtoull() referenced in documentation...
5888  580656 g_key_file_set_string_list erroneously asserts list != NULL
5889  579272 leaks in g_simple_async_result_set_op_res_gpointer
5890
5891
5892 * Updated translations:
5893  Catalan (ca)
5894  Pashto (ps)
5895  Spanish (es)
5896
5897
5898 Overview of Changes from GLib 2.20.0 to GLib 2.20.1
5899 ===================================================
5900
5901 * Bug fixes:
5902  575555 Use fsync() when replacing files to avoid data loss on
5903  575708 runaway inotify madness
5904  575270 GVolumeMonitor::mount-pre-unmount not being emitted
5905  577128 glib make check Failed to execute child process...
5906  573673 Always show "backup" directories
5907  578369 g_time_val_from_iso8601() parses timezones incorrectly
5908  578002 Fix a small typo in GFile docs
5909  578017 G_DEFINE_TYPE_EXTENDED docs
5910
5911 * Updated translations:
5912  Arabic
5913  Assamese
5914  Basque
5915  Bularian
5916  Brazilian Portuguese
5917  British English
5918  Catalan
5919  Danish
5920  French
5921  Galician
5922  German
5923  Greek
5924  Hungarian
5925  Italian
5926  Japanese
5927  Kannada
5928  Lithuanian
5929  Malayalam
5930  Norwegian bokmål
5931  Oriya
5932  Polish
5933  Punjabi
5934  Russian
5935  Simplified Chinese
5936  Slovenian
5937  Spanish
5938  Swedish
5939  Tamil
5940
5941
5942 Overview of Changes from GLib 2.19.9 to GLib 2.20.0
5943 ===================================================
5944
5945 * Base64 support: Avoid integer overflows. CVE-2008-4316
5946
5947 * Bugs fixed:
5948  574019 GChecksum: document and guarantee hex characters in lower case
5949  573454 Unable copy/move files to directories symlinked to gvfs share
5950  561172 gnome-open fails on local URIs with anchors
5951  573970 crash in gunixvolumemonitor:update_mounts when unmounting
5952  573843 g_get_current_dir returns non-absolute path
5953
5954 * Updated translations:
5955  Assamese (as)
5956  Bengali (bn_IN)
5957  Czech (cs)
5958  Hindi (hi)
5959  Italian (it)
5960  Japanese (ja)
5961  Lithuanian (lt)
5962  Malayalam (ml)
5963  Marathi (mr)
5964  Oriya (or)
5965  Polish (pl)
5966  Romanian (ro)
5967  Telugu (te)
5968
5969
5970 Overview of Changes from GLib 2.19.8 to GLib 2.19.9
5971 ===================================================
5972
5973 * GMarkup:
5974  - Considerable speedup
5975
5976 * GIO
5977  - Add G_FILE_CREATE_REPLACE_DESTINATION flag to allow replacing
5978    the destination of a copying operation as if it did not exit before.
5979  - Be more careful when classifying files as desktop files
5980  - Support desktop file key X-GIO-NoFuse which disables the use
5981    of fuse pathnames for %u and %U arguments
5982
5983 * Bugs fixed:
5984  572672 glib/gthread.c: argument is different type
5985  572464 Doc for g_file_get_contents
5986  572151 “it's” and “its” confused in docs and comments
5987  570501 g_win32_get_system_data_dirs uses invalid conversion...
5988  167569 g_string_append_printf crashes on win32 when used...
5989  572508 gmarkup speedup
5990  560564 Replacing a symlink with its linked file truncates... 
5991  549298 impossible to copy files with p (pipe) flag
5992  543183 Clarify docs for g_file_has_prefix
5993  540461 g_memory_output_stream_get_data_size() doesn't behave...
5994  573462 GEmblemedIcon leak
5995  573421 Clarify message format in GMountOperation
5996  573658 Deadlock in giomodule.c
5997  556706 Inconsistent help arguments -h, -?
5998  573527 Wrong shell to run config.status in Makefile.in.in
5999  573128 A couple of typos in GObject documentation
6000
6001 * Updated translations:
6002  Catalan (ca)
6003  British English (en_GB)
6004  Spanish (es)
6005  Basque (eu)
6006  Finnish (fi)
6007  French (fr)
6008  Gujarati (gu)
6009  Hebrew (he)
6010  Hungarian (hu)
6011  Korean (ko)
6012  Maithili (mai)
6013  Norwegian bokmål (nb)
6014  Dutch (nl)
6015  Portugese (pt)
6016  Swedish (sv)
6017  Thai (th)
6018  Traditional Chinese (zh_HK)
6019  Traditional Chinese (zh_TW)
6020
6021
6022 Overview of Changes from GLib 2.19.7 to GLib 2.19.8
6023 ===================================================
6024
6025 * GIO: Fix missing exports of new API
6026
6027 * Fix strict aliasing warnings and violations to make Glib work
6028   with gcc 4.4
6029
6030
6031 Overview of Changes from GLib 2.19.6 to GLib 2.19.7
6032 ===================================================
6033
6034 * GIO
6035  - GFile gained an attribute for the actual file size in bytes
6036  - GMountOperation gained an "aborted' signal that allows to abort
6037    a mount operation from the backend side
6038
6039 * Bugs fixed:
6040  523742 Use noinst for non-installable libraries
6041  566747 URIs opened with firefox %u load as local files
6042  541225 Can't compile gio on AIX duplicate case value in gioerror.c
6043  571598 GAsyncResult with NULL gobject
6044  505042 add file attribute for actually used file size in bytes
6045
6046 * Updates translations:
6047  Basque (eu)
6048  Gujarati (gu)
6049  Italian (it)
6050  Japanese (ja)
6051  Norwegian bokmål (nb)
6052  Dutch (nl)
6053  Portugese (pt)
6054  Thai (th)
6055  Vietnamese (vi)
6056
6057
6058 Overview of Changes from GLib 2.19.5 to GLib 2.19.6
6059 ===================================================
6060
6061 * New format macro to print goffset data: G_OFFSET_FORMAT
6062
6063 * GIO: 
6064  - Add a GFilter{Input,Output}Stream::close-base-stream properties which
6065    determine whether the base stream will be closed when the filter stream
6066    is finalized.
6067  - g_data_input_stream_read_line and ..._read_until have asynchronous
6068    variants now.
6069
6070 * Bugs fixed:
6071  568294 A wrong reference in the description of g_bookmark_file_...
6072  563141 RFE: define G_OFFSET_FORMAT
6073  569105 g_time_val_to_iso8601() assumes time_t==long
6074  568394 dropping the last reference to a stream filter closes...
6075  568741 g_buffered_input_stream_fill_async doesn't work
6076  568723 g_buffered_input_stream_fill_async doesn't take count == -1
6077  568575 _async functions for GDataInputStream
6078
6079 * Updated translations:
6080  Bulgarian (bg)
6081  Finnish (fi)
6082  Hungarian (hu)
6083  Oriya (or)
6084  Swedish (sv)
6085  Traditional Chinese (zh_HK)
6086  Traditional Chinese (zy_TW)
6087
6088
6089 Overview of Changes from GLib 2.19.4 to GLib 2.19.5
6090 ===================================================
6091
6092 * Update included PCRE to 7.8
6093
6094 * g_base64_decode_inplace: New function to do base64 decoding in place
6095
6096 * Bugs fixed:
6097  567138 get_package_directory_from_module() does not free ...
6098  566569 gregex docs clarification
6099  566573 g_match_info_fetch_pos docs
6100  564728 Add function to decode base64 encoded data in place
6101  567838 G_STRUCT_OFFSETOF fails to compile under icc 9.1
6102  567977 textdomain() macro should not return NULL ...
6103  512779 --disable-regex breaks compilation
6104  566770 error code 0 for Too many open files is useless
6105  565484 g_content_type_guess passes non-UTF8 text to XDG ...
6106
6107 * Updated translations:
6108  Catalan (ca)
6109  Spanish (es)
6110  Italian (it)
6111  Swedish (sv)
6112
6113  
6114 Overview of Changes from GLib 2.19.3 to GLib 2.19.4
6115 ===================================================
6116
6117 * GIO:
6118   - Use O_NOATIME when sniffing mimetypes
6119   - Add a convenience method to check if a GSimpleAsyncResult
6120     is valid
6121
6122 * Bugs fixed:
6123  560676 function access for g_threads_supported
6124  565905 There is no g_context_group_set_translation_domain
6125  564210 SUN Studio 12 has supported visibility attribute
6126  565136 GObject's "notify" signal parameters are wrong in gtk-doc
6127  565831 error in interface creation sample
6128  566348 g_file_open_tmp uses the wrong g_mkstemp on win32
6129  566064 Add NOATIME flag to query_info_flags
6130  566170 g_async_result_verify_source_object
6131
6132 * Updated translations:
6133  Spanish (es)
6134  Norwegian bokmål (nb)
6135  Brazilian Portugese (pt_BR)
6136  Simplified Chinese (zh_CN)
6137
6138
6139 Overview of Changes from GLib 2.19.1 to GLib 2.19.3
6140 ===================================================
6141
6142 * Bugs fixed:
6143  508021 Add support for the CRIS and CRISv32 architectures
6144  526320 should not list mounts that the user doesn't have permission to use
6145  558458 Cannot build gio tests on Solaris using SUN cc
6146  555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property
6147  558298 Hide ecryptfs mounts
6148  515777 incorrect date&time on copy
6149  562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling
6150         g_simple_async_result_run_in_thread
6151  473150 g_type_module_use inconsistently increases the use
6152         counter in case of error
6153  563150 G_GU?INT*_MODIFIER/FORMAT docs
6154  563156 Document printing and scanning gunichar values
6155
6156 * Updated translations:
6157  Hebrew (he)
6158  Italian (it)
6159  
6160
6161 Overview of Changes from GLib 2.19.0 to GLib 2.19.1
6162 ===================================================
6163
6164 * GIO: 
6165   - g_icon_to_string, g_icon_new_for_string: GIcon serialization support
6166   - G_FILE_ATTRIBUTE_PREVIEW_ICON: new file attribute for preview images
6167   - g_app_info_get_commandline: new function to get the full commandline
6168   - g_mount_shadow, g_mount_unshadow, g_mount_is_shadowed: New functions 
6169     to 'shadow' mounts (i.e. hide them from the UI when they already
6170     have a different representation, like a bookmark) 
6171
6172 * Bugs fixed:
6173  556186 gpoll.h breaks gmain.h inclusion
6174  557087 mem leak in g_content_types_get_registered
6175  556921 gpoll.h breaks hal compilation
6176  557210 g_compute_checksum_for_* asserts with less than 2 bytes
6177  558381 Add support for compile time assertions
6178  558185 'parent' variable in g_local_file_get_child_for_display_name()
6179         hits g_object_unref(NULL) assertion
6180  558513 g_warn_if_fail FIXME in gtestutils
6181  558672 NULL key lookup using g_hash_table_lookup_extended() 
6182  555740 gicon serialization
6183  557182 preview functionality
6184  528320 Incorrect icons displayed for files with custom mimetype icons
6185  556910 Memory leak: sub
6186  557592 Missing include in gwinhttpfile.c
6187  556415 Crash on Windows 2000 in g_winhttp_vfs_init()
6188  555935 Clarify the mechanism of overwriting properties
6189  552776 ac_cv_func_posix_getgrgid_r not mentioned
6190  559448 GObject Reference Manual (typo)
6191  561212 GFileReadMoreCallback API doc refers to non-existant function
6192  560569 gkeyfile doesn't use the set list_separator in some cases
6193  560568 gkeyfile docs buglet
6194  559413 g_option_group_set_error_hook docs buglet
6195  562378 callback return value not respected for callback option
6196         with no arg
6197  559110 Do not include libintl.h after glibintl.h
6198  557603 carbon check output misplaced
6199  562544 g_key_file_get_string and g_key_file_get_value
6200         documentation does not explain the difference
6201  547264 Missing "no flags" flag
6202  562638 GDebugKey key member should be const
6203  562639 g_parse_debug_flags() parsing "help"
6204  562549 g_byte_array_free should tell how free data
6205  559452 GObject Reference Manual (typo)
6206  559462 GObject Reference Manual (typo)
6207  559517 GObject Reference Manual (typo)
6208  562538 GObject interface tutorial shouldn't finalise with
6209         "Please forget everything"
6210  561352 Leak of icon description
6211  561375 Leaks mountpoint description
6212  561807 inotify_sub.c: dup_dirname() fails to remove trailing '/'
6213  562393 g_buffered_input_stream_read_byte broken if data available
6214  541715 win32 : patch for warnings and signature problems in recent code
6215  547481 g_data_input_stream_read_line behaves not as stated in the docs
6216  548163 Nautilus displays wrong error message for too long file names
6217  559633 gtk_image_new_from_gicon does not always work for .desktop files
6218  555486 – No way to recover command line from GAppInfo
6219
6220 * Translation updates:
6221  Spanish (es)
6222  Ukrainian (uk)
6223
6224
6225 Overview of Changes from GLib 2.18.1 to GLib 2.19.0
6226 ===================================================
6227
6228 * Rewrite GHashTable to use open addressing with quadratic probing instead 
6229   of chaining. This has the potential to reduce memory fragmentation 
6230   significantly, while being slightly faster due to better locality and 
6231   no need to call alloc/free functions for nodes. Benchmarks suggest it 
6232   also uses less memory overall.
6233
6234 * Make g_poll available as public api
6235
6236 * New macros g_assert_error and g_assert_no_error to assert 
6237   that a GError is set or unset
6238
6239 * g_cancellable_make_pollfd: New method to make a GPollFD for a cancellable
6240
6241 * g_app_info_can_delete, g_app_info_delete, g_app_info_reset_type_associations:
6242   New functions to clean up app infos and content types
6243
6244 * When launching applications, always pass fuse file:// uris when possible,
6245   and let gio convert such uris back to gio uris.
6246
6247 * Bugs fixed:
6248  505361 gunixinputstream.c assumes poll() available
6249  509446 portable blocking gio cancellation
6250  553820 gpoll.c: undeclared identifier
6251  553724 python interpretter path not patched in correctly
6252  553857 gbacktrace.h requires signal.h
6253  553447 g_assert_no_error()
6254  554092 glib doesn't return G_FILE_ERROR_NOENT et al on OS X
6255  528670 Always pass file:/// uri's in GAppLaunchContext
6256  555224 Improve g_format_size_for_display doc
6257  555309 giochannel breaks on error
6258  554790 g_convert() misbehaves with winiconv versions
6259  555314 mem leak in gmarkup
6260  555313 GFileAttribute boxed type get_type function should...
6261  552861 glib-2.0.m4 calls system(3) without storing its result
6262  554557 Patch to fix gcc warnings about missing format specifiers
6263  552107 Small libtool fixes
6264  551355 Make glib build with libtool 2.2
6265  555311 format not a string literal and no format arguments
6266  556101 static mutex yields warnings with g++
6267  556186 gpoll.h breaks gmain.h inclusion
6268  526456 Open addressing in GHashTable
6269  553426 cancellable clarifications
6270  545350 GAppInfo deletion
6271  545351 Reset associations for content type
6272  552168 volume's mount not mounted after g_volume_mount_finish
6273  554970 segfault when update-desktop-database is not available...
6274  554745 GFileAttributeInfoList should be boxed
6275  555121 Improved build-time handling of gio module-dir
6276  555711 Wrong fallback order of mimetype icons
6277  555331 Deprecate adoption of mounts
6278  556335 make check fails in abicheck.sh
6279  556334 Warning when building without selinux support
6280  556422 g_file_enumerator_next_file: unclear...
6281
6282 * Updated translations:
6283  Arabic (ar)
6284  Danish (da)
6285  Polish (pl)
6286  Brazilian Portugese (pt_BR)
6287  Romanian (ro)
6288  Russian (ru)
6289
6290
6291 Overview of Changes from GLib 2.18.0 to GLib 2.18.1
6292 ===================================================
6293
6294 * Bugs fixed:
6295  550433 g_test_init doesn't recognize --help
6296  523463 Core dump in gmain.c:2482:IA__g_main_context_check
6297  551228 G_STRFUNC on recent Sun compiler should be expanded...
6298  551410 gtestutils.c: using printf without prototype
6299  551731 g_date_set_time[_t] docs should mention what timezone
6300  548321 <string.h> is not included in gi18n-lib.h
6301  551149 xdgmime mem leak
6302  550647 synchronous pipe I/O when reading mount reply
6303  551887 Docs for g_desktop_app_info_new_from_filename aren't...
6304  551681 g_content_type_guess() too naive with filenames
6305  552352 g_app_info_launch doesn't work if "Path" key...
6306  551408 gmodule.def generated to builddir...
6307  552359 g_file_info_get_icon should return GThemedIcon, and...
6308
6309 * Updated translations:
6310  Arabic (ar)
6311  Bengali India (bn_IN)
6312  British English (en_GB)
6313  Hindi (hi)
6314  Croatian (hr)
6315  Korean (ko)
6316  Oriya (or)
6317  Turkish (tr)
6318  Telugu (te)
6319
6320
6321 Overview of Changes from GLib 2.17.7 to GLib 2.18.0
6322 ===================================================
6323
6324 * Win32:
6325   - rework the g_poll() implementation to match poll() semantics more closely
6326
6327 * Bugs fixed:
6328  324234 Using g_io_add_watch_full() to wait for connect() to return...
6329  548278 Async GETs connections are always terminated unexpectedly...
6330  500246 Bug fixes for giowin32
6331  523939 Example program for GValue
6332  550096 GBookmarkFile parser is not forward compatible
6333  550040 Move GString, rand and printf tests to the unit test framework
6334  550104 trivial documentation fix for g_get_home_dir
6335  548988 g_file_replace fails on Windows when the target file exists
6336  550059 Wrong docs for g_emblemed_icon_add_emblem
6337  548800 Missing a g_object_get_type function
6338  550056 Missing documentation for g_emblemed_icon_get_emblems
6339
6340 * Updated translations:
6341  Bulgarian (bg)
6342  Czech (cs)
6343  German (de)
6344  Estonian (et)
6345  Basque (eu)
6346  French (fr)
6347  Hebrew (he)
6348  Hungarian (hu)
6349  Italian (it)
6350  Japanese (ja)
6351  Lithuanian (lt)
6352  Maithili (mai)
6353  Dutch (nl)
6354  Swedish (sv)
6355  Thai (th)
6356  Ukrainian (uk)
6357  Vietnamese (vi)
6358
6359
6360 Overview of Changes from GLib 2.17.6 to GLib 2.17.7
6361 ===================================================
6362
6363 * More fixes for 64-bit Windows
6364
6365 * GIO
6366  - Add a vfs implementation for HTTP and HTTPS URIs on Windows
6367
6368 * Bugs fixed:
6369  546329 API docs for g_utf8_normalize() are incorrect
6370  546876 Modify GMarkup parser to accept &#x1; .. &#x1f;
6371  547200 g_utf8_find_next_char() issues
6372  547637 unconditional #include of sys/statfs.h in configure
6373  547337 G_DISABLE_DEPRECATED breaks tests build
6374  547832 gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict
6375  502498 Test framework assertion failures should follow gcc
6376  546371 Improve docs re g_file_monitor
6377  546483 GThemedIcon:use-default-fallbacks is not readable without...
6378  546132 GFileIcon is bindings-unfriendly
6379  542156 zfs mount in home directory shown on nautilus desktop 
6380  535124 umask 002 not being applied for new directories...
6381  547080 g_file_copy leaks expected errors
6382  546582 Callbacks from GFileMonitor present a GFile...
6383  547262 Missing link in the docs
6384
6385 * Updated translations:
6386  Arabic (ar)
6387  Catalan (ca)
6388  Spanish (es)
6389  Basque (eu)
6390  Finnish (fi)
6391  Galician (gl)
6392  Hebrew (he)
6393  Marathi (mr)
6394  Norwegian bokmål (nb)
6395  Portugese (pt)
6396  Brazilian Portugese (pt_BR)
6397  Swedish (sv)
6398  Thai (th)
6399
6400
6401 Overview of Changes from GLib 2.17.4 to GLib 2.17.6
6402 ===================================================
6403
6404 * Fix problems on 64-bit Windows
6405
6406 * g_markup_context_get_user_data: New function to access
6407   the user_data outside of callbacks
6408
6409 * GIO
6410  - g_mount_guess_content_type_sync: synchronous version of
6411    g_mount_guess_content_type
6412  - GEmblem: A GIcon implementation that adds emblem-related
6413    metadata to icons
6414  - GEmblemedIcon: A GIcon implementation that can add emblems
6415    to icons
6416
6417 * Bugs fixed:
6418  544088 option_test_LDADD is left in tests/Makefile.am
6419  544465 gmarkup makes it hard to use pre-rolled parsers
6420  545485 Implicit declaration of utime()
6421  545798 "Since: 2.18" mark is missing in g_set_error_literal...
6422  544140 fam-helper 64-bit issue
6423  529694 SELinux context setting support
6424  545157 wrong/no list of "open with" applications for .cc...
6425  545203 gfile.c: argument is different type
6426  545457 gdmsetup crashed with SIGSEGV in g_unix_mount_guess...
6427  544177 Fix trivial cut and paste error in documentation
6428  545395 Language tweak for g_value_set_string* docs
6429  541036 Gnumeric crashes when trying to open Desktop...
6430  546079 leak in xdgmime
6431  545395 Language tweak for g_value_set_string* docs
6432  546017 Don't copy attributes when copying a symlink
6433
6434 * Updated translations:
6435  Arabic (ar)
6436  Estonian (et)
6437  Galician (gl)
6438  Italian (it)
6439  Japanese (ja)
6440  Korean (ko)
6441  Norwegian bokmål (nb)
6442  Pashto (ps)
6443  Portugese (pt)
6444
6445
6446 Overview of Changes from GLib 2.17.3 to GLib 2.17.4
6447 ===================================================
6448
6449 * GIO:
6450  - New API to handle content types: g_mount_guess_content_type,
6451    g_content_type_guess_for_tree.
6452  - Export the eject-button signal on the volume monitor class
6453  - New API to enable out-of-process volume monitors: 
6454    g_volume_get_activation_root
6455
6456 * GObject:
6457  - New API to handle signals without slots in the class structure:
6458    g_signal_new_class_handler, g_signal_override_class_handler   
6459
6460 * Internationalization:
6461  - Add an NC_ macro that is a no-op equivalent of C_
6462
6463 * GMarkup:
6464  - Add two new functions g_markup_parse_context_push,
6465    g_markup_parse_context_pop to support "subparsers"
6466
6467 * Bugs fixed:
6468  541208 Functions to easily install and use signals without...
6469  541507 Ambiguous description of assigned characters in the...
6470  543040 async reading on dummy file will crash on GIO_USE_VFS=local
6471  543560 enable gio-FEN back-end warnings on Solaris will crash...
6472  528317 GRegex does not allow recursion limit
6473  337518 GMarkup: Subparser support
6474  541794 drive-eject-button signal
6475  541793 activation root for volumes
6476  467707 test_iconv_state() in tests/convert-test.c fails on AIX 5.3
6477  428048 2 of 51 tests fail on Solaris
6478  542332 small fix for error message in GMarkup
6479  482413 get_contents_stdio -- overflow and memory corruption
6480  406120 g_ascii_strtod
6481  334234 "printf" format error
6482  536996 Missing noop i18n macro equivalent to C_
6483  540616 mem leak in filechooser button
6484  539229 gobject-query calls itself query
6485  521589 [RFC] gobject documentation should mention Vala
6486  543168 Description of G_SLICE=debug-blocks discourages its use
6487  543220 Case collision on gio-extension-points.html
6488  530759 update the gobject tutorial to the XXI century
6489  535223 gbookmark file inefficiency ...
6490  543504 crash in Epiphany Web Browser: Opening local file
6491
6492 * Updated translation:
6493  German (de)
6494  Estonian (et)
6495  Pashto (ps)
6496  Albanian (sq)
6497  Thai (th)
6498  Traditional Chinese (zh_HK)
6499  Traditional Chinese (zh_TW)
6500
6501
6502 Overview of Changes from GLib 2.17.1 to GLib 2.17.3
6503 ===================================================
6504
6505 * PCRE
6506  - fix for CVE-2008-2371 
6507
6508 * Bugs fixed:
6509  538119 glib's mainloop leaks a pipe to sub-processes
6510  537635 Corrections and improvements to g_time_val_{to,from}_iso8601
6511  539067 The document g_io_channel_win32_new_fd() says...
6512  535949 annotate g_strip_context and g_dpgettext with G_GNUC_FORMAT
6513  539123 annotate g_d[n]gettext with G_GNUC_FORMAT
6514  539074 Cannot get exit status with g_spawn_command_line_sync
6515  316221 G_LOCK warns about breaking strict-aliasing rules
6516  539770 migrate gstrfunc unit tests to gtest
6517  539626 Update docstrings for g_object_freeze_notify and g_object_thaw_notify
6518  538044 unconditional use of LC_MESSAGES
6519  540545 Monotonic time and timer offset
6520  535947 want g_set_error_literal
6521  539999 glibconfig.h: add GLIB_USING_SYSTEM_PRINTF 
6522  536252 GFileEnumerator should allow access to the containing GFile
6523  538362 Get Win32 icons back in the file chooser
6524  540802 g_list_prepend doesn't concat lists
6525  540423 unrecoverable error after g_seekable_truncate
6526  538836 make check failure on PPC and ALPHA: pltcheck.sh on g_atomic_pointer_get
6527  539090 g_content_type_from_mime_type() should unalias
6528  540331 g_file_append_to () documentation: can return NULL
6529  534639 add g_desktop_app_info_new_from_keyfile
6530  536733 gio build failure on Irix
6531  536160 Add g_file_monitor()
6532  538127 FileChooser broken on win32
6533  531476 /live-g-file/test_traverse_structure test fails on Mac HFS+
6534  538564 gio should have gio-types.h
6535  540047 glib-genmarshal.c: '#include <io.h>' is too before
6536
6537 Updated translations:
6538  Korean (ko)
6539  Occitan (oc)
6540
6541
6542 Overview of Changes from GLib 2.17.0 to GLib 2.17.1
6543 ===================================================
6544
6545 * New function: g_utime(), a gstdio wrapper for utime()
6546
6547 * New functions: g_dgettext() and g_dngettext(), wrappers
6548   for corresponding gettext functions with added functionaliy
6549
6550 * Support the latest version of the shared-mime spec, including
6551   icons for mime types 
6552
6553 * New function: g_themed_icon_prepend_name()
6554
6555 * Bugs fixed: 
6556  535418 Please document which glib version defines goffset
6557  528715 Misprint in the description of the interface g_type_class_add_private
6558  528714 Misprint in the description of the interface g_param_spec_flags
6559  537260 Doc bug in G_TYPE_INSTANCE_GET_CLASS()
6560  530527 Misprint in the description of the interface 
6561         g_cclosure_marshal_VOID__FLAGS
6562  530526 Misprint in the description of the fields 'class_init' and 
6563         'class_finalize' of the structure GTypeInfo
6564  528719 Improvement to the documentation of the "g_object_connect" interface
6565  528172 gtk_signal_handlers_unblock_* functions return value
6566         amount of matched signals, not amount of actually unblocked
6567  528717 Misprint in the description of the parameter 'type_id' for 
6568         the interface g_type_register_fundamental
6569  528716 Misprint in the description of the parameter 'iface_data' for 
6570         the callback types GInterfaceInitFunc and GInterfaceFinalizeFunc 
6571  537555 GObject instantiation not thread safe
6572  537546 'desktop' shortcut in file chooser looks like a generic folder
6573  537392 Additional colon in xattr name
6574  536641 Filesystem querying in gio does not list AFS and autofs file systems
6575  528600 g_dummy_file_get_parent("scheme://example.com/")
6576  503071 Application direction changes to right to left even if theres no 
6577         translation
6578  502511 g_assert_cmphex prints invalid message
6579  338162 Use po/LINGUAS
6580  314453 Nautilus crashes in Solaris when browsing the attached file
6581  529321 make check fails in glib/pcre
6582  455215 g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD 
6583         fallback to $HOME/Desktop if xdg-user-dirs is not in use
6584  498732 g_key_file_to_data cannot fail
6585  511367 add g_file_make_directory_with_parents
6586  531900 Use __builtin_offsetof for G_STRUCT_OFFSET if building with 
6587         gcc 4.0 or newer
6588  536158 also bump GHashTable version when a node is removed via
6589         g_hash_table_iter_remove()/g_hash_table_iter_steal()
6590  531403 g_utf8_collate broken on Mac
6591  535628 test/patterntest.c still includes gpattern.h directly
6592  535625 alias.h:2648: error: 'utime' undeclared here (not in a function)
6593
6594 * Translation updates:
6595  Arabic (ar)
6596  German (de)
6597  Italian (it)
6598  Norwegian bokmål (nb)
6599  Thai (th)
6600
6601
6602 Overview of Changes from GLib 2.16.x to GLib 2.17.0
6603 ===================================================
6604
6605 * Update to Unicode 5.1
6606
6607 * Update included libcharset to the one shipped with libiconv 0.12
6608
6609 * Update included PCRE to 7.7
6610
6611 * Enforce that only toplevel headers are directly included.
6612   This is turned on by default for GObject and GIO. To turn
6613   it on for GLib, define G_DISABLE_SINGLE_INCLUDES.
6614
6615 * Fix library version of GIO.  GLib 2.16 shipped with libgio-2.0.so.0.0.0
6616
6617 * On Solaris, use FEN for file monitoring in GIO
6618
6619 * Use the GIO_EXTRA_MODULES environment variable to find
6620   additional GIO modules 
6621
6622 * G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size
6623   function attribute
6624
6625 * g_checksum_reset: New function to reset the state of a GChecksum 
6626
6627 * g_unix_mount_monitor_set_rate_limit: New function to limit the 
6628   rate at which events are reported
6629
6630 * g_file_query_file_type: New utility function to query the type of
6631   a file
6632
6633 * g_memory_output_stream_get_data_size: New function to obtain the
6634   size of the written data.
6635
6636 * Bugs fixed:
6637  522292 Gives warnings in glib/gutils.h with GCC in C99 mode
6638  523298 win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
6639  518160 replace two g_strdup_printf calls in GBookmarkFile
6640  523877 gbookmarkfile: avoid using g_string_append_printf() and
6641         other optimizations 
6642  525192 100% CPU if run main loop with no IO sources
6643  315437 extern inline -> static inline
6644  524314 g_convert() on Win32 implicitly converts full width
6645         alphanumerics into half width
6646  525732 Error in documentation for g_list_first
6647  525674 A typo in gmarkup.c
6648  448943 g_timeout_add_seconds() problems
6649  525972 UCS-4 not in the new win_iconv implementation
6650  526619 make test-report crash
6651  491554 Update to Unicode 5.1.0
6652  519137 g_slice_dup macro needs cast for 64-bit platform
6653  528752 Win32 build and SSL not working
6654  530457 G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
6655  528667 Typos in testing module documentation
6656  459905 Bug in wcwidth data
6657  534085 g_unichar_iswide_cjk() has a totally wrong table
6658  501651 Update glib/libcharset
6659  519026 G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
6660  534319 GLib's .pc files could use Libs.private
6661  534137 Typo in g_spawn_async_with_pipes doc
6662  517419 gio win32 directory monitor
6663  526796 Wrong order of arguments in g_file_copy's fallback
6664  530196 _g_local_file_has_trash_dir() doesn't handle st_dev == 0
6665  532965 Should not return filesystem::free for certain file systems
6666  525553 fix typo and nitpicking in GArray documentation
6667  526572 Missing * in declaration of parent_class in Object
6668         Destruction section of GObject Reference Manual
6669  528648 Extra >s in Object Construction section
6670  535021 g_param_spec_internal documentation should
6671         describe purpose of nick and blurb
6672  521513 Firefox crash when using file picker
6673  528433 gdesktopappinfo snafu ...
6674  533369 API g_file_info_get_attribute_string () unables to get "...
6675  521045 glib f_fstypename miscellany
6676  521672 compile error
6677  521946 control rate limit on GUnixMountMonitor
6678  522335 Fails to build: glib/gtester.c:276: error: 'ARG_MAX' unde...
6679  523015 Implement sliding window based upload operation
6680  523019 Use new GCC 4 feature
6681  523338 list nfs4 as a nfs mount type
6682  524350 Make glib build without NLS again
6683  524579 g_file_copy reports wrong total on progress callback for ...
6684  524742 A typo in gtestutils.c.
6685  524950 Minor documentation typos.
6686  525866 the user directory should not be considered as a mount to...
6687  526320 should not list mounts that the user doesn't have permiss...
6688  527132 nautilus crash when making ftp connection
6689  532852 CRITICAL **: totem_pl_parser_parse_with_base: assertion `...
6690  534759 Build failure in gio
6691  534764 Typo in error produced by g_file_make_directory
6692  521851 Redudant tests in gunixmounts.c
6693  524344 glib/gthread.h still use G_GNUC_PRETTY_FUNCTION
6694  525060 glib fails to build with -DG_DISABLE_ASSERT in CPPFLAGS o...
6695  534177 Invalid description of the interface g_cclosure_marshal_S...
6696  520715 Add GFile method g_file_query_file_type
6697  523039 nautilus can't access to trash/computer/network if gvfs i...
6698  
6699 * Updated translations:
6700  Arabic (ar)
6701  Bulgarian (bg)
6702  Catalan (ca) 
6703  Czech (cs)
6704  Greek (el)
6705  Candian English (en_CA)
6706  British English (en_GB)
6707  Spanish (es)
6708  Estonian (et)
6709  Basque (eu)
6710  Galician (gl)
6711  Hebrew (he)
6712  Hungarian (hu)
6713  Japanese (ja)
6714  Lithuanian (lt)
6715  Norwegian bokmål (nb)
6716  Dutch (nl)
6717  Occitan (oc)
6718  Portugese (pt)
6719  Russian (ru)
6720  Slovak (sk)
6721  Albanian (sq)
6722  Swedish (sv)
6723  Turkish (tr)
6724  Vietnamese (vi)
6725
6726
6727 Overview of Changes from GLib 2.16.0 to GLib 2.16.1
6728 ===================================================
6729
6730 * Fix a crash in g_themed_icon_new
6731
6732 * Update the included PCRE to 7.6
6733
6734
6735 Overview of Changes from GLib 2.15.6 to GLib 2.16.0
6736 ===================================================
6737
6738 * Fix the definition of G_INLINE_FUNC to work with gcc 4.3.0
6739
6740 * GIO:
6741  - Add missing GMountMountFlags argument to g_unix_volume_mount
6742  - Fix the adopt_orphan_mount vfunc to take a volume monitor 
6743    reference
6744  - Add properties to GThemedIcon for bindings sake
6745
6746 * Bugs fixed:
6747  520484 gvfsd-trash crashed with SIGSEGV in g_path_is_absolute()
6748  510855 g_checksum_update(): Take -1 for length.
6749  517676 g_themed_icon_new*() do more than call g_object_new().
6750  518816 should handle rmdir returning EEXIST correctly
6751  519352 g_[s]list_delete_link() docs
6752  519489 Fixes for sparse warnings in gio
6753  520169 add monitor argument to vfunc for GVolumeMonitor
6754  520700 Add type check in g_file_query_exists
6755  521145 FILE_READ_ONLY_VOLUME not present on Mingw32
6756  518720 No MIME type for empty files
6757  521013 in documentation, goffset doesn't say "Since 2.x"
6758  521028 Missleading error messages from g_io_channel_set_encoding()
6759  517484 GMainLoop could set the thread "Alertable" for APCs to be... 
6760
6761 * Updated translations:
6762  Assamese (as)
6763  Bengali India (bn_IN)
6764  Czech (cs)
6765  German (de)
6766  Spanish (es)
6767  Estonian (et)
6768  Finnish (fi)
6769  French (fr)
6770  Gujarati (gu)
6771  Italian (it)
6772  Lithuanian (lt)
6773  Malayalam (ml)
6774  Marathi (mr)
6775  Norwegian bokmål (nb)
6776  Romanian (ro)
6777  Russian (ru)
6778  Slovak (sk)
6779  Ukrainian (uk)
6780
6781  
6782 Overview of Changes from GLib 2.15.5 to GLib 2.15.6
6783 ===================================================
6784
6785 * GIO:
6786  - New file attributes: trash::item-count, filesystem::use-preview
6787  - Rename g_file_contains_file to g_file_has_prefix
6788  - g_file_query_filesystem_info grew async variants
6789  - g_themed_icon_append_name: new convenience function
6790  - g_content_type_get_icon is implemented now
6791  - Only show mounts in /media and ~
6792  - g_file_contains_file has been renamed to g_file_has_prefix
6793
6794 * Win32:
6795  - g_win32_get_package_installation_directory_of_module: new function
6796    which supersedes g_win32_get_package_installation_directory
6797  - Use alertable wait functions so that I/O completion routines or 
6798    user-mode Asynchronous Procedure Calls can be run
6799  - Fix race conditions in g_spawn implementation on win32
6800
6801 * Other:
6802  - g_uri_get_scheme has been renamed go g_uri_parse_scheme
6803
6804 * Updated translations:
6805  Arabic (ar)
6806  Belarusian Latin (be@latin)
6807  Catalan (ca) 
6808  British English (en_GB)
6809  Finnish (fi)
6810  Galician (gl)
6811  Hebrew (he)
6812  Italian (it)
6813  Kannada (kn)
6814  Norwegian bokmål (nb)
6815  Dutch (nl)
6816  Brazilian Portugese (pt_BR)
6817  Vietnamese (vi)
6818
6819
6820 Overview of Changes from GLib 2.15.4 to GLib 2.15.5
6821 ===================================================
6822
6823 * Update the included PCRE to 7.6
6824
6825 * GIO:
6826  - g_volume_should_automount: new function to determine if a volume
6827    should be mounted automatically
6828  - g_file_query_default_handler: new convenience function to get
6829    the default handler for a file
6830  - g_app_info_launch_default_for_uri new convenience function to
6831    launch the default handler for a URI
6832  - Use mimeapps.list and defaults.list as discussed on xdg list
6833    recently
6834  - g_app_info_get_default_for_uri_scheme has a real implementation
6835    now (gvfs provides a GConf-based implementation)
6836  - There is the beginning of a test suite
6837  - standard::description:  new file attribute
6838  - GMountMountFlags flags argument added to mount calls
6839
6840 * GObject:
6841  - class initialization is now threadsafe
6842
6843 * Updated translations:
6844   Arabic (ar)
6845   Catalan (ca)
6846   Spanish (es)
6847   Basque (eu)
6848   Italian (it)
6849   Japanese (ja)
6850   Kannada (kn)
6851   Korean (ko)
6852   Macedonian (mk)
6853   Occitan (oc)
6854   Portugese (pt)
6855   Brazilian Portugese (pt_BR)
6856   Swedish (sv)
6857   Thai (th)
6858
6859
6860 Overview of Changes from GLib 2.15.3 to GLib 2.15.4
6861 ===================================================
6862
6863 * G_GNUC_PRETTY_FUNCTION has been deprecated
6864
6865 * GIO:
6866  - g_file_copy has an async variant now
6867  - Drives and volumes now have API to get identifiers
6868    like Hal UDIs or UUIDs.
6869  - There is now a registration API to let modules register
6870    extensions they provide, such as volume monitor implementations
6871
6872 * Bugs fixed:
6873   511807 g_time_val_to_iso8601() uses MT-unsafe gmtime() function
6874   316260 [patch] Doc patches for gnode (2.8.1)
6875   385132 solaris gettext support fix
6876   484261 ./configure check for system PCRE unicode support fails w...
6877   510292 GOption main help not shown
6878   511580 Implement g_file_copy_async
6879   511654 Compile errors due to C99 constructs
6880   487909 g_utf8_strreverse and combining marks
6881   512381 unused variable 'is_main_group' 
6882
6883 * Updated translations:
6884   Arabic (ar)
6885   Belarusian (be)
6886   Czech (cz)
6887   Spanish (es)
6888   French (fr)
6889   Galician (gl)
6890   Portugese (pt)
6891   Russian (ru)
6892   Swedish (sv)
6893   Thai (th)
6894
6895
6896 Overview of Changes from GLib 2.15.2 to GLib 2.15.3
6897 ===================================================
6898
6899 * GChecksum:
6900  - g_checksum_update can accept nul-terminated strings
6901  - The MD5 implementation works correctly on buffers 
6902    that are longer than 64 bytes
6903
6904 * GIO:
6905  - Don't include a copy of the inotify headers, rely on system headers
6906  - g_file_find_enclosing_mount has an async variant now
6907  - Reduntant seek API on file streams has been removed
6908
6909 * Bugs fixed:
6910   508602 gmemory{in|out}putstream.c: unknown pointer size
6911   508771 There is no g_file_test/exists() for GFile
6912   508773 g_uri_escape_string() documentation unclear.
6913   509465 AM_PATH_GLIB_2_0 doesn't support gio
6914   509626 async functions: Document allowed NULL callback?
6915   509990 GSeekable documentation unclear
6916   510448 No inotify support on ARM or SH5
6917   510855 g_checksum_update(): Take -1 for length. 
6918
6919 * Updated translations:
6920   Basque (eu)
6921   Marathi (mr)
6922   Swedish (sv)
6923   Ukrainian (uk)
6924
6925
6926 Overview of Changes from GLib 2.15.1 to GLib 2.15.2
6927 ===================================================
6928
6929 * GIO:
6930  - Mount operation API change: unhandled methods get reported via 
6931    the reply, rather than by the signal emission return value
6932  - File monitor API change: Add a GError argument to g_file_monitor_file
6933  - g_unix_mount_guess_should_display(): new function
6934
6935 * Bugs fixed:
6936   508224 [PATCH] FAM backend crashes due to double free
6937   508074 GAsyncResult documentation suggests g_freeing it.
6938   508108 GFile documentation slightly unclear.
6939   508309 rpc_pipefs mount points should be hidden
6940   508378 GFileInfo documentation implies that it changes attribute...
6941   508719 g_file_get_relative_path fails if parent is root
6942   508773 g_uri_escape_string() documentation unclear.
6943
6944 * Updated translations:
6945   Arabic (ar)
6946   Spanish (es)
6947   Hebrew (he)
6948   Italian (it)
6949   Korean (ko)
6950   Turkish (tr)
6951
6952
6953 Overview of Changes from GLib 2.15.0 to GLib 2.15.1
6954 ===================================================
6955
6956  * Portability fixes:
6957  - Assertion functions are marked as noreturn again
6958  - Handling of inline functions has been fixed to work with gcc 4.3
6959  - C99 comments have been removed from headers
6960  - The nonportable sed -i option is no longer used
6961
6962  * GIO:
6963   - Clarified the semantics of g_app_info_get_all()
6964   - API for memory input and output streams has been changed a bit
6965   - GDirectoryMonitor has been removed; GFileMonitor can monitor
6966     files and directories now
6967
6968  * Bugs fixed:
6969    504829 Invalid environment passed to g_spawn_async in g_desktop_...
6970    505258 crash in Users and Groups: Adding a user
6971    505815 g_content_types_get_registered should not g_free keys
6972    491218 g_timer_new() doesn't initialize timer->end
6973    315437 extern inline -> static inline
6974    476856 Inconsistency between standard and implementation of the ...
6975    480122 g_module_open fails to open modules with ".la" extension
6976    495589 gspawn.c failing to set FD_CLOEXEC
6977    500273 doesn't build with --disable-visibility
6978    504142 Do not show empty groups in --help output
6979    504879 giofam incorrectly linked
6980    505042 add file attribute for actually used file size in bytes
6981    505058 xattr namespace docs
6982    505674 Misprint in the definition of the macro G_CCLOSURE_SWAP_DATA
6983    505730 Fails to build on OSX 10.4: _NSGetEnviron not declared
6984    505887 older darwin lacks lchown
6985    506374 gmemoryinputstream api
6986    506461 Conversion of g_assert_not_reached() and friends into fun...
6987    503051 Small bug in glib interface
6988    506395 Updates to GIO documentation
6989    507628 Missing .pc entry for gio linking against glib
6990    505195 [patch] typo in g_try_new0 docs 
6991    507822 g{file,directory}monitor changes signal problem
6992    506377 gmemoryoutputstream write implementation
6993    507835 bug in gunixinputstream 
6994
6995  * Updated translations:
6996    Arabic (ar)
6997    Belarusian Latin (be@latin)
6998    Spanish (es)
6999    Basque (eu)
7000    Irish (ga)
7001    Hebrew (he)
7002    Occitan (oc)
7003    Vietnamese (vi)
7004
7005
7006 Overview of Changes from GLib 2.14.x to GLib 2.15.0
7007 ===================================================
7008
7009 Major new features:
7010
7011  * GIO: a VFS API, designed to replace GnomeVFS. The GIO implementation 
7012    in GLib has support for local filesystems. The new, separate gvfs 
7013    module contains various backend implementations (cifs, ftp, sftp,
7014    http, ...)
7015
7016  * GChecksum: provides various hash algorithms, such as MD5, SHA-1
7017    and SHA-256
7018  
7019  * GTest: a test framework 
7020  
7021 Smaller additions:
7022
7023  * GHash:
7024  - GHash has iterators, as an alternative to g_hash_table_foreach
7025
7026  * GMarkup: 
7027  - g_markup_parse_context_get_element_stack: New function to
7028    get the stack of open elements
7029  - G_MARKUP_PREFIX_ERROR_POSITION: New flag to improve error
7030    reporting
7031  - g_markup_collect_attributes: Convenience function for handling
7032    attributes
7033
7034 * GKeyFile: 
7035  - Functions that take a GError now return a boolean to indicate 
7036    success, instead of void
7037  - Various performance improvements
7038
7039 * GAsyncQueue:
7040  - g_async_queue_new_full: new function that allows to specify
7041    a free function for leftover elements
7042  
7043 * GError:
7044  - g_prefix_error and g_propagate_prefixed_error: New functions
7045    to ease error propagation
7046
7047 * Internationalization:
7048  - C_: A new 2-argument variant of the Q_() macro 
7049  - Use native character set conversion API on Windows
7050
7051 * GLib builds with automake 1.10
7052
7053 * Bugs fixed:
7054  455725 specific combination of g_utf8_strlen and g_pattern_match...
7055  467537 g_convert_with_iconv() not resetting iconv() state correc...
7056  497033 Commandline option parser should warn about missing optio...
7057  504527 gchecksum: Conditional jump or move depends on uninitiali...
7058  445362 Non-numeric local labels in gatomic.c are causing linker ...
7059  482313 gregex: no way to tell why compilation failed
7060  317775 main loops continues to run after g_main_loop_quit() has ...
7061  418778 Insufficient pkg-config version requirement
7062  436293 g_option_context_new() doc should mention that the string...
7063  466557 glib-mkenums shifts ARGV[0] to undefined
7064  468882 GKeyFile doesn't accept "True" as a true boolean value
7065  469551 application --help messages are garbaged on none UTF-8 lo...
7066  479724 Memory leak upon calling "g_main_loop_run" in the seconda...
7067  490061 outptrs uninitialized after g_parse_long_long
7068  490637 gobject documentation patch
7069  495294 glib-genmarshal prints warnings but returns 0
7070  496046 option to prefix location of errors for GMarkup
7071  498113 tests/regex-test fails on 64bit environment
7072  500506 Fails to build on OSX 10.4
7073  500638 gkeyfile speedup ...
7074  500875 Make check fails as there is no "test" target for "build"...
7075  502511 g_assert_cmphex prints invalid message
7076  502927 g_array_index triggers cast aligment warning
7077  503029 g_time_val_from_iso8601 parse non-ISO8601 dates
7078  503222 Need context to translate
7079  503420 gkeyfile leaks a hash table
7080  503470 Fix build when builddir != srcdir
7081  504227 Inverse variant for g_test_trap_assert_stdout, g_test_tra...
7082  71704  file include order
7083  491957 Misprint in the specification of the interface "g_main_co...
7084  491959 Misprint in description of the structure "GThreadPool"
7085  491965 Mistype in the specification of the function "g_hook_list...
7086  491966 Misprint in the specification of the interface "g_main_co...
7087  491968 The documentation does not mention the restriction for th...
7088  491970 The documentation for the interface "g_date_clamp" is inc...
7089  491974 The documentation of the interface "g_main_context_iterat...
7090  491975 The documentation for the interfaces "g_io_channel_read_u...
7091  491979 Misprint in the description of the interfaces g_key_file_...
7092  491982 Misprint in the description of the interface "g_key_file_...
7093  501107 EXTRA_DIST automake warnings
7094  501997 g_utf8_normalize() returns NULL on invalid string
7095  502590 C_/g_dpgettext efficiency
7096  464259 g_set_application_name() docs should say "Since 2.2"
7097  496518 gbase64.c API doc clarification
7098  498728 g_key_file_get_*_list should set length to 0 when returni...
7099  500361 Improve docs for g_array_free() and g_ptr_array_free()
7100  501853 g_checksum_get_digest docs
7101  503862 Allow NULL strings in g_parse_debug_string()
7102  142676 Q_
7103  367550 Add g_async_queue_new_full() with GDestroyNotify function
7104  375651 Minor enhancements to GKeyFile API
7105  443648 MD5 digest support
7106  449937 Upgrade auto* sources to be clean under automake1.9
7107  452887 gmarkup context "get element" function is useless when ca...
7108  491549 [PATCH] Eliminate libiconv dependency on Windows
7109  500507 GHashTableIter API 
7110
7111 * Translation updates
7112  Belarusian Latin (be@latin)
7113  Czech (cs)
7114  German (de)
7115  Spanish (es)
7116  Esperanto (et)
7117  French (fr)
7118  Korean (ko)
7119  Marathi (mr)
7120  Norwegian bokmål (nb)
7121  Brazilian Portugese (pt_BR)
7122  Slovenian (sl)
7123  Swedish (sv)
7124
7125
7126 Overview of Changes from GLib 2.14.2 to GLib 2.14.3
7127 ===================================================
7128
7129 * Update PCRE to 7.4
7130
7131 * Bugs fixed:
7132  487491 Fix some warnings from sparse
7133  488068 Small (one-time) memory leak in glib_gettext initialization
7134  493688 TYPE macro "_get_type ()" is documented wrong
7135
7136 * Updated translations:
7137  Arabic (ar)
7138  Belarusian Latin (be@latin)
7139  Estonian (et)
7140  Irish (ga)
7141  Slovenian (sl)
7142
7143  
7144 Overview of Changes from GLib 2.14.1 to GLib 2.14.2
7145 ===================================================
7146
7147 * Bugs fixed:
7148  476849 Invocation of the interface "g_hook_free" fails in certai...
7149  359165 marshallers can throw warnings with -Wunused
7150  477957 more discussion on g_value_set_object vs. g_value_take_ob...
7151  478459 G_DEFINE_DYNAMIC_TYPE_EXTENDED doesn't work with G_IMPLEM...
7152  483337 inline is disabled for MSVC when compiling C code
7153  478349 Broken link to gettext website
7154  469231 g_spawn optimization for setting all open fds to CLOEXEC 
7155
7156 * Updated translations:
7157 Arabic (ar)
7158 Galician (gl)
7159 Hebrew (he)
7160 Korean (ko)
7161
7162
7163 Overview of Changes from GLib 2.14.0 to GLib 2.14.1
7164 ===================================================
7165
7166 * Bugs fixed:
7167  476840 Invocation of the interface "g_utf8_strreverse" crashes f...
7168  444765 Fix FIXME in gregex.c when new pcre is out
7169  464145 g_markup_escape_text Produces Invalid XML
7170  465625 g_type_default_interface_ref() does not ensure working g_...
7171  466768 Clearify that comments can be put anywhere in a Key-file.
7172  474229 The GError documentation should give convention for the G...
7173  474899 G_BREAKPOINT() docs inaccurate
7174  475854 Overuse of -lpcre when using system pcre
7175  473879 Incorrect includes in gregex.c
7176  468694 Typoes in documentation
7177  469051 g_snprintf () talks about characters where it probably me...
7178  457601 Missing arch specific atomic implementation
7179  475923 Missing pcre flags when static-linking against glib
7180  475619 glibthread-2.0.la does not list -lpthread
7181
7182 * Updated translations:
7183  Bulgarian (bg)
7184  Catalan (ca)
7185  Danish (da)
7186  German (de)
7187  Canadian English (en_CA)
7188  British English (en_GB)
7189  Spanish (es)
7190  Estonian (et)
7191  Finnish (fi)
7192  French (fr)
7193  Gujarati (gu)
7194  Hungarian (hu)
7195  Italian (it)
7196  Georgian (ka)
7197  Kannada (kn)
7198  Lithuanian (lt)
7199  Makedonian (mk)
7200  Norwegian (nb)
7201  Dutch (nl)
7202  Polish (pl)
7203  Portugese (pt)
7204  Brazilian Portugese (pt_BR)
7205  Romanian (ro)
7206  Russian (ru)
7207  Albanian (sq)
7208  Serbian (sr, sr@Latn)
7209  Swedish (sv)
7210  Tamil (ta)
7211  Thai (th)
7212  Ukrainian (uk)
7213  Vietnamese (vi)
7214
7215
7216 Overview of Changes from GLib 2.13.7 to GLib 2.14.0
7217 ===================================================
7218
7219 * Last-minute API additions:
7220  - Make g_unichar_combining_class public
7221  - Add goffset type, add G_MAXSSIZE and G_MINSSIZE
7222
7223 * Update PCRE to 7.2
7224
7225 * Bugs fixed:
7226  453998 Make _g_unichar_combining_class() public
7227  462549 gregex.c: variable is declared at middle of block
7228  417068 g_file_test doc inconsistency
7229
7230 * Updated translations:
7231  Assamese (as)
7232  Basque (eu)
7233  Kannada (kn)
7234  Malayalam (ml)
7235  Dutch (nl)
7236  Polish (pl)
7237  Brazilian Portugese (pt_BR)
7238  Turkish (tr)
7239
7240
7241 Overview of Changes from GLib 2.13.6 to GLib 2.13.7
7242 ===================================================
7243
7244 * The memory corruption warning from the slice allocator that
7245   occurred when threads were initialized after the slice allocator
7246   has been removed, as the slice allocator now works fine
7247   in this scenario.
7248
7249 * New functions g_once_init_enter() and g_once_init_leave() make
7250   it easier to write threadsafe one-time initialization functions 
7251  
7252 * Bugs fixed:
7253  454473 Simple XML Subset Parser terminates on invalid XML
7254  445813 g_module_open error, add file name
7255  453796 errno gets clobbered by g_filename_display_name
7256  341988 don't use "-c" with msgfmt in Makefile.in.in
7257  447048 Please produce slightly more output during long tests
7258  454785 GModule documentation lists same block of code twice.
7259  454786 GModule documentation lists same paragraph twice.
7260  383155 small docs quirks in gobject/closure API documentation
7261  65041  _get_type() functions aren't thread safe
7262
7263 * Updated translations
7264  Assamese (as)
7265  Spanish (es)
7266  Gujarati (gu)
7267  Japanese (ja)
7268  Korean (ko)
7269  Macedonian (mk)
7270
7271
7272 Overview of Changes from GLib 2.13.5 to GLib 2.13.6
7273 ===================================================
7274
7275 * Reintroduce a GType typedef whose removal in 2.13.5
7276   caused trouble for C++ bindings
7277
7278 * Bugs fixed:
7279  450216 docs not explicit enough about g_free()
7280  451459 g_type_register_static_simple calls g_type_register_static
7281
7282 * Updated translations
7283  Norwegian bokmål (nb)
7284  Sinhala (si)
7285
7286
7287 Overview of Changes from GLib 2.13.4 to GLib 2.13.5
7288 ===================================================
7289
7290 * xdg-user-dirs support: 
7291  - the Desktop directory is guaranteed to be defined
7292  - user-dirs.dirs is no longer reloaded on changes
7293
7294 * Slice allocator: 
7295  - new api to duplicate slices
7296
7297 * Regular expression support:
7298  - GRegex is a boxed type now
7299
7300 * Bugs fixed:
7301  44793 make check failing in trunk
7302  354522 Small problem with PLT hiding 6 symbols
7303  363986 glib 2.12.4 does not compile with SGI IDO cc
7304  443869 g_type_class_add_private doesn't warn when adding 0-sized...
7305  446859 Legitimately return 0 for g_quark_from_string(NULL)
7306  447534 Small typo in g_timeout_add_seconds() doc
7307  447583 GStaticRWLock
7308  447935 g_get_current_dir SIGSEGV on long path
7309  448260 CLAMP has surprising result if low > high
7310  57693  g_string_vprintf()
7311  442029 add g_slice_dup()
7312  445065 Add GRegex boxed type
7313  448819 Add full version of g_timeout_add_seconds()
7314
7315 * Updated translations: 
7316  Swedish (sv)
7317  Oriya (or)
7318  Hebrew (he)
7319  Spanish (es)
7320  Estonian (et)
7321
7322  
7323 Overview of Changes from GLib 2.13.3 to GLib 2.13.4
7324 ===================================================
7325
7326 * Bugs fixed:
7327  444121 g_get_user_special_dir deadlocks
7328  444161 invalid UTF8 in key name shows up as valgrind error in g_...
7329  444130 g_option_context_get_help() is broken when there's a desc...
7330
7331
7332 Overview of Changes from GLib 2.13.2 to GLib 2.13.3
7333 ===================================================
7334
7335 * GKeyFile:
7336  - Added defines for easier handling of desktop files
7337
7338 * Unicode support:
7339  - Update g_unichar_iswide_cjk for Unicode 5.0
7340
7341 * Regular expression support:
7342  - GRegex structs can now be ref-counted
7343  - Some new functions for dealing with incremental 
7344    replacement have been added
7345  - The GRegexEvalCallback signature has been changed
7346
7347 * g_get_user_special_dir() has been added to support
7348   xdg-user-dirs
7349
7350 * Bugs fixed:
7351  419376 Functions using named subpatterns behave inconsistently w...
7352  434358 g_regex_fetch_named() and g_regex_fetch_named_pos() are b...
7353  423708 typo in the README.win32 file see patch below
7354  339225 Add new defines for easier handling of .desktop files 
7355  442265 API additions/changes for GRegex
7356  432651 Add a glib-ish xdg_user_dir_lookup
7357
7358 * Updated translations:
7359  Estonian (et)
7360  Norwegian bokmål (nb)
7361
7362
7363 Overview of Changes from GLib 2.13.1 to GLib 2.13.2
7364 ===================================================
7365
7366 * Unicode support:
7367  - Add g_unichar_ismark()
7368
7369 * GOption:
7370  - Allow to use callbacks for remaining args
7371
7372 * Updated translations:
7373   Belarusian Latin (be@latin)
7374   British English (en_GB)
7375   Galician (gl)
7376   Norwegian bokmål (nb)
7377   Oriya (or)
7378   Spanish (es)
7379   Thai (th)
7380
7381
7382 Overview of Changes from GLib 2.13.0 to GLib 2.13.1
7383 ===================================================
7384
7385 * GRegex:
7386  - Portability fixes
7387  - Split into immutable GRegex and GMatchInfo
7388  - Add g_regex_get_max_backref() and g_regex_get_capture_count()
7389    to obtain information about the compiled regex
7390
7391 * GKeyFile:
7392  - Fix roundtrip problems
7393  - Add g_key_file_load_from_dirs()
7394
7395 * Unicode support:
7396  - Fix corner cases in case conversion routines
7397
7398 * GOption:
7399   - Add a function to get the formatted help string
7400
7401 * GHash:
7402  - Add new functions g_hash_table_get_keys() and
7403    g_hash_table_get_values() to retrieve the keys and
7404    values in list form
7405
7406 * Updated transations:
7407   Simplified Chinese (zh_CN)
7408   Arabic (ar)
7409
7410
7411 Overview of Changes from GLib 2.12 to GLib 2.13.0
7412 =================================================
7413
7414 * Add GSequence, a list that is implemented using
7415   a balanced binary tree.
7416
7417 * Add GRegex, an implementation of Perl regular expressions,
7418   based on PCRE.
7419  
7420 * Use Posix monotonic clocks instead of gettimeofday()
7421   for GTimer when available.
7422
7423 * Support static initialization of GQeues with G_QUEUE_INIT,
7424   g_queue_init() and g_queue_clear().
7425
7426 * Add g_string_chunk_clear() for clearing a 
7427   GStringChunk.
7428
7429 * Add g_unichar_get_script() to obtain Unicode
7430   script information.
7431
7432 * Add g_unichar_iszerowidth() to obtain information
7433   about zero-width characters.
7434
7435 * Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias 
7436   type attribute.
7437
7438 * G_GNUC_INTERNAL has a working definition for the
7439   Sun Studio compiler. This requires the macro to
7440   be positioned before the function declaration.
7441
7442 * The slice allocator can produce detailed debugging
7443   information with G_SLICE=debug-blocks.
7444
7445 * Modules support G_DEBUG flags resident-modules and
7446   bind-now-modules.
7447
7448 * Add G_DEFINE_DYNAMIC_TYPE() to make it easier
7449   to define types in modules.
7450
7451 * Bug fixes: too many to list them in detail here.
7452
7453 * New and updated translations (be,bg,bn,ca,cs,de,
7454   en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml,
7455   nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN,
7456   zh_HK,zh_TW)
7457
7458
7459 Overview of Changes from GLib 2.12.1 to GLib 2.12.2
7460 ===================================================
7461
7462 * Unicode updates:
7463  - Normalization is following Unicode TR #29
7464  - g_unichar_isxdigit() only accept characters
7465    for which g_unichar_xdigit_value() returns a value
7466  - g_unichar_toupper and g_unichar_tolower leave
7467    unconvertable characters in place instead of
7468    replacing them by NUL
7469
7470 * Bugs fixed
7471  348491 g_utf8_strup() and g_utf8_strdown() returns 
7472         string with NUL bytes
7473  349825 GKeyFile always inserts a newline before a group
7474  347842 g_unichar_isxdigit() is too general about what 
7475         it considers a digit
7476  348694 g_utf8_normalize() hasn't been updated to PR #29
7477  348785 Hint about G_DEBUG in Message Logging docs
7478  349792 Wrong english string (UI)
7479  349952 gparamspecs.c uses gcc feature
7480
7481 * Translation updates (ca,cs,de,dz,es,eu,fi,gu,ko,
7482   nl,pl,tr,uk,zh_HK,zh_TW)
7483
7484
7485 Overview of Changes from GLib 2.12.0 to GLib 2.12.1
7486 ===================================================
7487
7488 * Update to final Unicode Character Database 5.0.0
7489
7490 * Bugs fixed:
7491  346660 issues with base64 api documentation / g_base64_decode_cl...
7492  348136 Coverity reports allocation of wrong size CID #2839
7493  336281 Update to UCD 5.0
7494  346197 g_date_strftime %F option doesnt work for win32
7495  348011 Small optimization to real_toupper()
7496  246494 prototype mismatch in glib/gconvert.c
7497
7498 * New and updated translations (bg,bn_IN,ca,dz,eu,fi,
7499   fr,he,it,ja,mk,or,pt)
7500
7501
7502 Overview of Changes from GLib 2.11.4 to GLib 2.12
7503 =================================================
7504
7505 * Bugs fixed:
7506  344905 leap-year bug in g_time_val_from_iso8601 w/o HAVE_TIMEGM
7507
7508 * Updated translations (cy,nb,nl)
7509
7510
7511 Overview of Changes from GLib 2.11.3 to GLib 2.11.4
7512 ===================================================
7513
7514 * GBookmarkFile:
7515  - g_bookmark_file_remove_item returns a boolean
7516  
7517 * g_mkstemp accepts the XXXXXX in the middle of
7518   the template
7519  
7520 * Bugs fixed:
7521  344868 g_key_file_to_data should separate groups 
7522
7523 * Updated translations (de,es,fr,gu,hi,ko,th)
7524
7525
7526 Overview of Changes from GLib 2.11.2 to GLib 2.11.3
7527 ===================================================
7528
7529 * GBookmarkFile:
7530   - g_bookmark_file_move_item: Return TRUE in case of
7531     an empty target
7532
7533 * Bugs fixed: 
7534  343919 gunicollate.c: strxfrm bug on VC8
7535
7536 * Updated translations (fi)
7537
7538 Overview of Changes from GLib 2.11.1 to GLib 2.11.2
7539 ===================================================
7540
7541 * Add g_ascii_stroll to parse signed 64bit integers
7542
7543 * GMarkup: add a flag to treat CDATA as text
7544
7545 * GHashTable: add functions to remove all entries
7546
7547 * GMainLoop: add functions to find the currently
7548   running source, and determine if it is destroyed
7549
7550 * Bug fixes:
7551  342563  g_atomic_thread_init() needs to be called before 
7552          other _g_*_thread_init() functions
7553  343548  Potential use after free in callers of g_string_free() 
7554  168538  Wish: Clearing contents of GHashTables
7555  321886  GTK+ cannot be reliably used in multi-threaded 
7556          applications
7557  341826  goption.c: 'strtoll' is C99's function
7558  343899  g_ascii_formatd dosn't work as expected for all 
7559          format strings
7560  317793  Make GEnumValue strings const
7561  337129  Compile warnings in G_IMPLEMENT_INTERFACE
7562  303622  What is G_TYPE_CHAR?
7563
7564 * Updated translations (bg,dz,eu,gl,ja,ko,nl,th,vi)
7565  
7566
7567 Overview of Changes from GLib 2.11.0 to GLib 2.11.1
7568 ===================================================
7569
7570 * GOption  
7571   - Support 64-bit integers 
7572   - Allow optional text before and after the options
7573     in help output
7574
7575 * Bug fixes:
7576  340538 gbase64-test writes OOB 
7577  340816 GKeyFile set_string_list invalid memory reads 
7578  339105 g_key_file_parse_value_as_double
7579  340434 convert-test.c fails (function test_one_half)
7580  311043 Memory leaks (and potential infinite loops) 
7581         when using G_ERRORCHECK_MUTEXES
7582  335198 Error checking mutexes are fubar  
7583  341237 Add a G_OPTION_ARG_INT64
7584  341192 g_io_channel_set_flags not implemented on win32
7585  336120 Allow adding description before/after GOption 
7586         --help output body
7587  341191 misplaced check in g_relation_delete
7588  340530 mismatched calloc / g_free in win32 threads
7589
7590 * Updated translation (es)
7591
7592 Overview of Changes from GLib 2.10.x to GLib 2.11.0
7593 ===================================================
7594
7595 * GBookmarkFile: a parser for files containing bookmarks
7596   stored using the Desktop Bookmark specification.
7597
7598 * Base64 encoding support
7599         
7600 * Unicode 5.0 support
7601
7602 * GOption supports floating point numbers 
7603
7604 * GKeyFile supports floating point numbers
7605
7606 * Bug fixes:
7607  155884 gatomic.c should be based on new SDK
7608  157877 update-desktop-database doesn't handle duplicate entries
7609  164719 keyfile parser doesn't support floats
7610  327662 Import BookmarkFile from libegg
7611  329548 Add G_OPTION_ARG_DOUBLE
7612  329789 option-test.c type confusion
7613  332841 Segmentation Fault when %llu is passed to vasnprintf and 
7614         HAVE_SNPRINTF is not defined
7615  333879 gthread/gthread-win32.c: IsDebuggerPresent needs '#define 
7616         _WIN32_WINDOWS 0x0401'
7617  333916 g_timer_elapsed docs should mention that microseconds 
7618         may be NULL
7619  334440 dlerror() portability issue causes crash on (old) a.out 
7620         NetBSD platform
7621  334646 goption + error out params
7622  334799 g_remove() must check return value of remove()
7623  334943 make check FAIL: threadpool-test
7624  335215 Some breakages with GThreadPool
7625  336085 g_option_context_new parameter lacks better explanation
7626  336677 Documentation for g_object_ref_sink() is incorrect
7627  337027 gbookmarkfile.c: sys/time.h include error
7628  337553 Wrong escaping of URIs
7629  338572 Dereferencing NULL value in g_key_file_get_group_comment
7630  338845 g_completion_complete_utf8 crashes when NULL is passed to it
7631  339337 g_bookmark_file_set_description
7632  339338 gbookmarkfile.c, function expand_exec_line
7633  339340 gbookmarkfile.c, function bookmark_app_info_dump
7634
7635 * Translation updates (bg,en_GB,et,gl,gu,he,hi,ka,nb,nl,nn,
7636                        or,pt_BR,ro,tr,vi,zh_CN)
7637
7638
7639 Overview of Changes from GLib 2.10.0 to GLib 2.10.1
7640 ===================================================
7641
7642 * Bugs fixed:
7643  314794 Broken pthread detection on Darwin [Gregor Riepl]
7644  322476 Missing check for .dylib [Vladimir Panov]
7645  333651 Inconsistent _g_charset_get_aliases prototype [Julio 
7646         M. Merino Vidal]
7647  333761 GInitiallyUnowned breaks application code [Sven Herzberg]
7648
7649 * Win32 changes:
7650  - Fix g_listenv() implementation.
7651  - Allow up to 100 GPrivate structs
7652
7653 * Translation updates (fr,hu,lt,pl,sv)
7654
7655
7656 Overview of Changes from GLib 2.9.6 to GLib 2.10.0
7657 ==================================================
7658
7659 * Bugs fixed:
7660  328997 64bit pointer trunction in glib slab-allocator
7661         [Pascal Hofstee]
7662  331110 g_cond_broadcast(inform_cond) without holding 
7663         inform_mutex [Chris Wilson, Sebastian Wilhelmi]
7664  332093 Fix some leaks in the tests [Kjartan Maraas]
7665  332435 g_utf8_strlen returns wrong value if a maximum 
7666         number of bytes to check is specified 
7667         [Matthias Clasen]
7668  331367 gslice requires more POSIX-like semantics for 
7669         GPrivate destructors [Tor Lillqvist]
7670
7671 * Documentation improvements [Matthias, Kang Jeong-Hee,
7672   Tor Lillqvist, Stefan Kost]
7673
7674 * Translation updates (el,eu,ka,uk)
7675
7676 Overview of Changes from GLib 2.9.5 to GLib 2.9.6
7677 =================================================
7678
7679 * Bugs fixed: 
7680  329124 distclean removes README [Kjartan Maraas, Tim Janik]
7681  317679 GRelation field type not documented [Behdad Esfahbod]
7682  329123 Typo in GTime docs [Kjartan Maraas]
7683
7684 * Documentation improvements [Sven Herzberg, David
7685   Schleef, Kjartan Maraas, Behdad Esfahbod]
7686
7687 * Translation updates (cs,cy,it,ko,pt,sq,sr,sr@Latn,ru
7688
7689 Overview of Changes from GLib 2.9.4 to GLib 2.9.5
7690 =================================================
7691
7692 * Memory management: 
7693   Runtime debugging support: The slice allocator
7694   can be turned off by setting G_SLICE=always-malloc
7695   in the environment. Zeroing of freed memory can
7696   now be turned on at runtime by setting
7697   G_DEBUG=gc-friendly in the environment. [Tim Janik]
7698
7699 * Bugs fixed:
7700  328253 HP-UX/IA-64 uses ".so" as default shared library 
7701         extension [Albert Chin]
7702  143380 unicode-encoding test fails converting to UTF-16 
7703         with libiconv [Marc Moorcroft]
7704  328254 Build breakage (GSlice) [Jens Ganseuer]
7705  328705 C99ism in glib/gmem.c [Kazuki Iwamoto]
7706
7707 * Translation updates (da,et,zh_CN)
7708
7709 Overview of Changes from GLib 2.9.3 to GLib 2.9.4
7710 =================================================
7711
7712 * Type system:
7713   Fix a problem with g_object_compat_control() which 
7714   can lead to segfaults in GTK+ applications on 64bit 
7715   platforms. 
7716
7717 * Thread suppport: 
7718   Unused threads now fall back to the global pool after 
7719   500 milliseconds, where they wait for another 
7720   max-idle-time milliseconds. [Sebastian Wilhelmi]
7721
7722 * Fix a memory allocation problem in GKeyFile. [Morten 
7723   Welinder]
7724
7725
7726 Overview of Changes from GLib 2.9.2 to GLib 2.9.3
7727 =================================================
7728
7729 * GTree:
7730  - Replace the simple recursive implementation by
7731    a nonrecursive, threaded one  [Maurizio Monge]
7732
7733 * Change g_filename_display_name and
7734   g_filename_display_basename to use the Unicode
7735   replacement character U+FFFD instead of a question
7736   mark, and don't append "(invalid encoding)"  [Matthias]
7737
7738 * Documentation improvements [Sven Herzberg, Federico
7739   Mena Quintero, Stefan Kost]
7740
7741 * Bugs fixed:
7742  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X 
7743         [Bogdan Nicula]
7744  326558 Some test failures on IRIX 6.5 [Daichi Kawahata]
7745  169285 "threaded" tree implementation for GTree 
7746         [Maurizio Monge]
7747  326747 g_filename_display_basename adds (invalid encoding) 
7748         [Alberto Ruiz]
7749
7750 Other contributors: Christian Kellner, Murray Cumming
7751
7752 New and updated translations (bg,ca,de,es,et,gu,ja,nl,th,vi)
7753
7754
7755 Overview of Changes from GLib 2.9.1 to GLib 2.9.2
7756 =================================================
7757
7758 * Memory management:
7759  - Add tests for cache colorization [Tim Janik]
7760  - Minimize space consumption if small amounts of differently
7761    sized slices are allocated, at a small performance cost.  [Tim]
7762
7763 * Thread support:
7764  - Add g_atomic_pointer_set() and g_atomic_int_set() [Tim Janik,
7765    Sebastian Wilhelmi]
7766  - Add g_thread_pool_set_sort_function() to allow sorting the 
7767    tasks of a threadpool.  [Martyn Russell]
7768  - Add g_thread_pool_set_idle_time() to allow unused threads
7769    to exit after a certain time.  [Martyn]
7770
7771 * Type system:
7772  - introduce a new type GInitiallyUnowned, which has an initial
7773    floating reference. [Tim]
7774  - Add support for GType parameters. [Matthias]
7775
7776 * Main loop:
7777  - Add g_main_context_is_owner() to determine if the current
7778    thread is the owner of the context.  [Michael Meeks]
7779
7780 * Provide g_access(), g_chdir(), g_unlink(), g_rmdir() as 
7781   wrapper functions instead of macros.  [Manish Singh]
7782
7783 * Documentation improvements [Tim, Matthias, Federico Mena Quintero,
7784   Stefan Kasal, Dan Williams]
7785
7786 * New and updated translations (en_CA,fi,fr,gl,ml,nb,no,zh_HK,zh_TW)
7787
7788 * Bugs fixed:
7789  324179 g_allocator_new() returns pointer to const dummy which Gtk+ 2.8 
7790         tries to modify [J. Ali Harlow]
7791  324332 g_option_context_parse() returns false without setting error 
7792         [Tim-Philipp Müller]
7793  324950 GLIB 2.9.1 testcase errors [Dan Yefimov]
7794  325015 gslice.c: process.h is needed on Windows [Kazuki Iwamoto]
7795  321978 G_DATALIST_GET_FLAGS() macro is not casting datalist to 
7796         gpointer [Andrew Paprocki]
7797  316221 G_LOCK warns about breaking strict-aliasing [Michal Benes, 
7798         Stanislav Brabec]
7799  325273 Error in documentation for glib_check_version () [Declan Naughton]
7800  325310 g_spawn_sync hangs when catching both stdout and 
7801         stderr [Tor Lillqvist]
7802  325249 gcc warning when using g_rmdir from <glib/gstdio.h> [Jani Monoses]
7803  325864 glib/gthreadpool.c:"#define debug(...)" is C99 [Kazuki Iwamoto]
7804  325874 Should say somewhere that source IDs are > 0 [Dan Williams]
7805  325438 a typo (compatability) [Stefan Kasal]
7806  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X [Bogdan Nicula]
7807
7808
7809 Overview of Changes from GLib 2.9.0 to GLib 2.9.1
7810 =================================================
7811
7812 * Memory management
7813  - The slice allocator is implemented [Tim Janik]
7814  - g_slice_free_chain() has been renamed to 
7815    g_slice_free_chain_with_offset()  [Tim, Behdad Esfahbod]
7816  - Mem chunks are deprecated [Matthias Clasen]
7817
7818 * Data structures
7819  - Hash tables are refcounted, and have a boxed type [Tim]
7820
7821 * Thread support
7822  - Support for Solaris threads has been removed 
7823    [Sebastian Wilhelmi, Andrew Paprocki]
7824  - g_async_queue_sort(), g_async_queue_push_sorted() have 
7825    been added to allow GAsyncQueue to be used as a priority 
7826    queue, together with the corresponding _unlocked 
7827    variants  [Martyn Russell]
7828
7829 * GObject:
7830  - The concept of a floating initial reference has been
7831    moved from GtkObject to GObject [Tim]
7832
7833 * Win32 changes:
7834  - Make g_rename() replace existing files [Tor Lillqvist]
7835
7836 * Misc new API:
7837  - G_GUINT64_CONSTANT macro to define guint64 
7838    constants [Andrew Paprocki]
7839  - G_GNUC_WARN_UNUSED_RESULT macro to instruct the 
7840    compiler to emit a warning if the value returned
7841    by a function is ignored. [Arjan van de Ven, Alex Larsson]
7842  - GList and GSList now have sort functions which take an
7843    extra user data argument [Martyn Russell]
7844  - g_param_spec_ref_sink() has been added for consistency [Tim]
7845
7846 * $LOGNAME is respected when determining user data. [Laszlo Peter]
7847
7848 * Other changes and bug fixes [Tim, Matthias, Behdad, 
7849   Christian Persch, Benedikt Meurer, Andrew Paprocki, 
7850   Kazuki Iwamoto, Alexis S. L. Carvalho, Stanislav Brabec,
7851   Andreas Schwab, Kalle Vahlman]
7852
7853 * Documentation
7854  - Deprecation warnings carry version information [Matthias]
7855  - The slice allocator has been documented [Matthias, Tim]
7856  - Other improvements [Morten Welinder]
7857
7858 Overview of Changes from GLib 2.8.x to GLib 2.9.0
7859 =================================================
7860 * Unicode support:
7861  - The Unicode tables have been updated to Unicode 4.1, 
7862    adding several new values to the GUnicodeBreakType 
7863    enumeration. This breaks Pango <= 1.10 
7864    [Behdad Esfahbod]
7865  - The various Unicode character predicate functions 
7866    (g_unichar_isalpha, g_unichar_isdigit,...) have
7867    been optimized
7868    [Behdad]
7869  - g_utf8_pointer_to_offset, g_utf8_offset_to_pointer:
7870    These functions handle negative offsets now, and
7871    going backwards in g_utf8_offset_to_pointer uses
7872    "stutter stepping".
7873    [Larry Ewing, Matthias Clasen]
7874
7875 * Memory management:
7876  - Mem chunks are no longer used internally in GLib and
7877    GObject. GMemChunk will be deprecated in GLib 2.10
7878  - All APIs based on GAllocator (g_list_push/pop_allocator,
7879    and similar push/pop_allocator functions for other
7880    data structures) have been deprecated, since they
7881    never worked as intended.
7882  - The g_slice_* functions have been added as a 
7883    new API for fast allocation of small memory blocks. 
7884    The implementation in GLib 2.9.0 is just a simple 
7885    wrapper around malloc. GLib 2.10 will have an
7886    efficient and scalable implementation. 
7887    [Tim Janik, Matthias]
7888
7889 * Pattern matching:
7890  - g_pattern_match has been optimized to avoid
7891    unnecessary recursion.
7892    [Tim, Matthias]
7893
7894 * g_intern_string, g_intern_static_string: 
7895  - New functions to intern strings. These are now used 
7896    by GObject to avoid duplicating static strings 
7897    [Matthias]
7898
7899 * g_thread_foreach: 
7900  - New function to iterate over all GThreads 
7901    [Tim, Matthias]
7902
7903 * g_date_set_time_t, g_date_set_time_val:
7904  - New functions to set a GDate from a time_t or
7905    GTimeVal value. g_date_set_time has been deprecated 
7906    in favor of these.
7907    [Roger Leigh]
7908
7909 * g_snprintf and g_vsnprintf:
7910  - These functions are no longer declared in gprintf.h, 
7911    since they are in glib.h
7912    [Matthias]
7913
7914 Overview of Changes from GLib 2.8.0 to GLib 2.8.1
7915 =================================================
7916 * Optimize single-character insertions in GString [Ross Burton]
7917 * Fix build problems on OS X
7918 * Fix build problems on Win32 [Tor Lillqvist, Hans Breuer]
7919 * Other bug fixes [Matthew F. Barnes, Stepan Kasal] 
7920 * Documentation improvements [Tristan van Berkom, Behnam
7921   Esfahbod, Gustavo Carneiro, Stepan Kasal, Matthias]
7922 * New and updated translations (ca,cy,ko,ro,uk)
7923
7924 Overview of Changes from GLib 2.7.7 to GLib 2.8.0
7925 =================================================
7926 * Make g_value_transform() handle enum values
7927   correctly on ppc64.  [Michael Lorenz]
7928   (Third-party code accessing enumeration values 
7929   in GValues should also be changed to access 
7930   v_long, not v_int, in order to work on bigendian 
7931   64bit machines.)
7932 * Make g_flags_get_first_value() handle a value
7933   of 0 meaningfully. [Tim-Philipp Müller] 
7934
7935 Overview of Changes from GLib 2.7.6 to GLib 2.7.7
7936 =================================================
7937 * Make atomic operations on s390 work [Matthias]
7938 * Fix C++ guards in gstdio.h [Tor Lillqvist]
7939
7940 Overview of Changes from GLib 2.7.5 to GLib 2.7.6
7941 =================================================
7942 * Add native implementations of atomic operations 
7943   on s390 [Matthias]
7944 * Make atomic reference counting of closures
7945   work on s390 [Matthias]
7946 * Avoid an infinite loop in g_convert_with_iconv().
7947   [Sebastian Bacher]
7948 * Documentation improvements [Ross Burton]
7949
7950 Overview of Changes from GLib 2.7.4 to GLib 2.7.5
7951 =================================================
7952 * Thread-related changes
7953  - Fix build issues on HP-UX [Paul Cornett]
7954  - Threadsafe access to flags stored in datasets [Tim Janik]
7955  - Fix several issues with atomic refcounting for 
7956    closures, objects and paramspecs [Tim]
7957  - Improve tests for atomic refcounting changes [Tim]
7958 * Fix handling of stateful encodings in g_convert_* [Matthias]
7959 * Fix translation of GOption help output [Dan Winship]
7960 * Catch format errors in translations. This may cause 
7961   "make check" to fail when using older versions
7962   of gettext [Matthias]
7963 * Win32 bug fixes [Tor Lillqvist]
7964 * Documentation improvements [Ross Burton, Jochen Baier, 
7965   Matthias, Tim]
7966 * New and updated translations (de,fi,gu,pl,pt,tr,zh_TW)
7967
7968 Overview of Changes from GLib 2.7.3 to GLib 2.7.4
7969 =================================================
7970 * Fix g_atomic_pointer_compare_and_exchange 
7971   on Sparc64 [Gert Doering]
7972 * Fix a hang in g_thread_pool_free. [Hong Jen Yee]
7973 * Win32 bug fixes [Tor Lillquist]
7974 * Other bug fixes [Benoit Dejean, Manish Singh]
7975 * Documentation improvements [Bryan Silverthorn,
7976   Callum McKenzie] 
7977 * New and updated translations (de,lt,sq,zh_CN)
7978
7979 Overview of Changes from GLib 2.7.2 to GLib 2.7.3
7980 =================================================
7981 * GOption
7982  - Allow callbacks with optional arguments [Pawel Sliwowski]
7983  - Allow to turn off the automatic long option name
7984    disambiguation  [Adam McLaurin]
7985  - Only allow printable ASCII as short option names [Matthias]
7986 * Win32
7987  - Build fixes [Tor Lillqvist]
7988  - Rewrite iochannel socket implementation [Tor]
7989 * GObject
7990  - Threadsafety improvements; in particular, refcounting
7991    of objects is done atomically now. [Wim Taymans, Tim Janik]
7992 * Bug fixes [Morten Welinder, Matthias, Wim Taymans]
7993 * Documentation improvements [Richard Laager, Matthias]
7994 * New and improved translations (bf,cs,hu,nb,nl,no)
7995
7996 Overview of Changes from GLib 2.7.1 to GLib 2.7.2
7997 =================================================
7998 * Win32 build fixes [Hans Breuer]
7999 * Bug fixes [Mikael Magnusson]
8000 * Documentation improvements [Matthias Clasen]
8001 * New and updated translations (en_CA,es,et,ja,sr,sr@Latn,zh_TW)
8002
8003 Overview of Changes from GLib 2.7.0 to GLib 2.7.1
8004 =================================================
8005 * GOption 
8006  - Allow callback arguments without parameters [Dan Winship]
8007 * GMappedFile: an mmap wrapper [David Schleef, Behdad Esfahbod]
8008 * Misc new functions:
8009  - g_get_host_name [Tor Lillqvist]
8010  - g_mkdir_with_parents [Tor]
8011  - g_build_pathv, g_build_filenamev [Todd A. Fisher, 
8012    Matthias Clasen]
8013 * Bug fixes [Roger Leigh, Masatake YAMATO, Kjartan Maraas,
8014   Manish Singh, Tor, Murray Cumming, Kian Duffy, Morten Welinder]
8015 * Documentation improvements [Hong Gang XU, Dan Winship, Matthias]
8016 * New and updated translations (bg,cs,da,en_CA,es,et,nb,nl,no,
8017   sk,th,zh_TW)
8018
8019 Overview of Changes from GLib 2.6.x to GLib 2.7.0
8020 =================================================
8021 * GKeyFile
8022  - Add unit tests [Matthias Clasen, Suren A. Chilingaryan]
8023  - Accept \r\n as line end [Bastian Nocera]
8024  - Don't interpret leading zeros as octal numbers. [Matthias]
8025  - Make key and group removal work [David Hoover, Matthias Hasselmann]
8026 * GOption
8027  - Improve formatting of --help output [Matthias, Noah Levitt]
8028  - Accept -? [Matthias]
8029  - Warn about duplicate main groups [Jeff Franks]
8030  - Treat '-' as non-option argument [Tim Musson, Thomas Leonard]
8031  - Report missing arguments as errors [Björn Lindqvist]
8032  - Add a boxed type for GDate [Tim-Philipp Müller]
8033 * GTree
8034  - g_tree_remove() and g_tree_steal() return status information [Matthew F. Barnes]
8035 * Stdio wrappers
8036  - Work regardless of large file support [Manish Singh]
8037  - Add g_access(), g_chmod(), g_creat(), g_chdir [Tor Lillqvist]
8038 * GObject
8039  - Implement "toggle references" to help language bindings [Owen Taylor]
8040  - Allow to mark names, nicks and blurbs of pspecs as static [Ben Maurer, Matthias]
8041  - Make pspec lookup a bit faster [Morten Welinder]
8042 * Add g_listenv() to list all set environment variables [Hans Petter Jansson]
8043 * Add g_file_set_contents() to atomically write a file.  [Søren Sandmann,
8044   Sven Neumann, Manish, Alexis S. L. Carvalho]
8045 * Add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew() [Stefan Kost]
8046 * Add g_utf8_collate_key_for_filename() to sort filenames taking
8047   extensions and numeric suffixes into account.  [Ole Laursen, Alex Larsson]
8048 * Add G_GNUC_NULL_TERMINATED to mark varargs function with 
8049   NULL-terminated argument lists. [Marc Meissner]
8050 * Win32 changes
8051  - Improved debugability [Ulf Lamping, Hans Breuer]
8052  - Make filename handling more robust [Tor, Billy Skaggs]
8053  - Improve g_get_system_data_dirs() [Tor]
8054  - Use more precise timers [Tor]
8055  - Build fixes [Kazuki Iwamoto, Hans, Tor, Robert Ögren]
8056 * Other bug fixes [Roger Leigh, Owen, Matthias, Morten, Kjartan Maraas, 
8057   Pawel Sakowski, Tor, Simon Budig, Ed Avis, Manish, Nicolas Laurent, 
8058   Bastien, Fabrício Barros Cabral, Michael Banck, Daniel Atallah, 
8059   J. Ali Harlow, Tim Janik, Hazael Maldonado Torres, Sven, Jon-Kare Hellan,
8060   Dave Benson, Tommi Komulainen, Benjamin Otte, Brian Cameron, Changwoo Ryu, 
8061   Christian Biere, Noah, Benoît Carpentier]
8062 * Documentation improvements [Vincent Untz, Matthias, Tim-Philipp Müller,
8063   Morten, Matthew, Federico Mena Quintero, Sebastian Bacher, Oliver Sessink, 
8064   Stefan, Jared Lash, Tor, Owen, Daniel Vaillard, Mathieu Lacage]
8065 * New and updated translations (ca,cs,da,el,en_CA,en_GB,es,et,eu,fa,fr,gl,
8066   hu,id,it,lt,mn,ne,nl,pl,pt,pt_BR,ro,rw,sk,sq,sr,sr@Latn,tl,uk,xh,zh_CN)
8067
8068 Overview of Changes from GLib 2.6.0 to GLib 2.6.1
8069 =================================================
8070 * GOption
8071  - Make gtk_init(NULL, NULL) work again [Marcin Krzyzanowski]
8072  - Improve handling of -- [Matthias Clasen]
8073  - Don't show G_OPTION_REMAINING in --help output [Matthew F. Barnes]
8074 * g_find_program_in_path() doesn't return directories [Tommi Komulainen]
8075 * Add gmodule-export-2.0.pc [Matthias]
8076 * Win32 changes
8077  - Improve hangling of UNC paths [Tor Lillqvist]
8078  - g_getenv(), g_setenv(), g_unsetenv(), g_find_program_in_path()
8079    take and return UTF-8 now [Tor] 
8080  - Make g_file_test() work more reliably, and use PATHEXT
8081    when check for executables [Tor]
8082  - Build and cross-compilation fixes [J. Ali Harlow]
8083 * Other bug fixes [Jens Hatlak, Morten Welinder, 
8084   Tor, Kalpesh Shah, Adrian Bunk]
8085 * Documentation improvements [Marcin Krzyzanowski, Tor, Crispin
8086   Flowerday, Mariano Suárez-Alvarez, Christian Biere, Danny Milo,
8087   Vincent Untz, Bastien Nocera]
8088 * New and updated translations (cy,de,nl,ru,sq,sv)
8089
8090 Overview of Changes from GLib 2.4.x to GLib 2.6.0
8091 =================================================
8092
8093 * Major new APIs
8094   - GOption, a commandline option parser
8095   - GKeyFile, a parser/editor for the .ini like files 
8096   - Functions to support the XDG basedir specification
8097   - Wrappers for common POSIX pathname functions to handle filename
8098     encodings consistently. On Windows, these use UTF-8.
8099
8100 * Miscellaneous new functions
8101   - g_filename_display_name() converts filenames in displayable UTF-8 strings
8102   - g_uri_list_extract_uris() splits uri lists
8103   - g_date_get_iso8601_week_of_year() gets ISO 8601 week numbers
8104   - g_log_set_default_handler() installs an alternate default log handler
8105   - g_get_language_names() obtains a list of applicable locale names
8106   - g_strv_length() calculates the length of NULL-terminated string arrays
8107   - g_win32_get_windows_version() determines the Windows version 
8108   - G_GNUC_INTERNAL marks functions as non-exported
8109   - glib_check_version() checks the GLib version at runtime
8110   - g_debug() completes the family of logging functions
8111
8112 * Performance improvements
8113   - Optimize g_utf8_validate()
8114   - Optimize g_markup_parse_context_parse()
8115   - Reduce signal connection complexity from O(n) to O(1) 
8116   - Get rid of many PLT entries for internally used exported symbols
8117   - Reduce code size by removing literal strings from g_return_if_fail()
8118
8119 * Other changes
8120   - On Windows, GLib functions that take file name arguments now require
8121     those to be in UTF-8. Functions that return file names return UTF-8.
8122   - Use higher precision for mathematical constants
8123   - Don't convert to/from UTF-8 in g_filename_to_uri/g_filename_from_uri
8124   - Support ll as printf format modifier for long long on all platforms
8125   - Clean up the ABI and enforce the list of exported symbols
8126   - Add a .pc file for using gmodule in libraries
8127   - Require ngettext
8128
8129 Overview of Changes from GLib 2.5.7 to GLib 2.6.0
8130 =================================================
8131 * GOption: Don't list help options if group-specific
8132   options have been requested [Glynn Foster]
8133 * Make g_get_language_names() track locale changes [Christian Persch]
8134 * Win32 bug fixes [Tor Lillqvist]
8135 * Bug fixes [Philippe Blain, Owen Taylor, Sebastian Wilhelmi]
8136 * New and updated translations (da,es,ja,lt,zh_CN)
8137 Bugs fixed: 159530,100697,160271,160645,157255
8138
8139 Overview of Changes from GLib 2.5.6 to GLib 2.5.7
8140 =================================================
8141 * Optimize g_utf8_validate() [Owen Taylor, Matthias Clasen]
8142 * Optimize g_markup_parse_context_parse() [Havoc Pennington, 
8143   Morten Welinder]
8144 * Reduce signal connection complexity from O(n) to O(1) 
8145   [Sven Neumann]
8146 * Add a .pc file for using gmodule in libraries [Owen]
8147 * Add G_GNUC_MALLOC to mark functions returning newly 
8148   allocated memory  [Matthias]
8149 * Win32 bug fixes [Hans Breuer, Tor Lillqvist, Robert Ögren,
8150   Bruce Hochstetler]
8151 * Bug fixes [Kazuki IWAMOTO, Matthias, Manish Singh, Morten,
8152   Frederic Crozat, Tor]
8153 * Documentation improvements [Matthias, Tor, Owen]
8154 * New and updated translations (cs,da,de,en_CA,en_GB,es,nb,nl,sq,zh_CN)
8155
8156 Overview of Changes from GLib 2.5.5 to GLib 2.5.6
8157 =================================================
8158 * GOption
8159   - Add G_OPTION_FLAG_REVERSE to allow options 
8160     which unset a  boolean variable [Tor Lillqvist]
8161 * GChildWatch
8162   - Use sigaction instead of signal [Jonas Jonnson, 
8163   Archana Shah]
8164   - Make the very first SIGCHLD work [Gustavo Carneiro]
8165 * Bug fixes [Morten Welinder, Tor, David MacLachlan,
8166   Manish Singh, J. Ali Harlow]
8167 * Documentation improvements [Matthias Clasen, Tor]
8168 * Updated translations (da,ja,tr,zh_CN)
8169
8170 Overview of Changes from GLib 2.5.4 to GLib 2.5.5
8171 =================================================
8172 * GKeyFile
8173   - Cleanups, add more error checking [Ray Strode]
8174   - Fall back to the untranslated string when getting 
8175     locale strings [Mark McLoughlin]
8176 * GOption
8177   - Document GOption [Matthias Clasen]
8178   - Better support for rest arguments [Owen Taylor, Matthias]
8179   - Handle conflicts between groups [Matthias]
8180 * Add g_lstat() to the stdio wrappers [Tor Lillqvist]
8181 * Add g_filename_display_name() to convert filenames
8182   in displayable UTF-8 strings  [Alex Larsson, Matthias]
8183 * Win32 bug fixes [Kazuki IWAMOTO, Hans Breuer, Tor]
8184 * Bug fixes [Christophe Fergeau, Morten Welinder, 
8185   Owen, Kjartan Maraas, Mark]
8186 * Documentation improvements [Matthias, Tor]
8187
8188 Overview of Changes from GLib 2.5.3 to GLib 2.5.4
8189 =================================================
8190 Add GKeyFile, a parser/editor for the .ini like files used in various
8191    freedesktop.org specifications. [Ray Strode]
8192 Make the handling of filename encodings consistent across all
8193    GLib functions, introduce wrappers for common POSIX 
8194    functions which accept the same filename encoding. [Tor Lillqvist, 
8195    Owen Taylor]
8196 GOption
8197  - Rename g_context_option_error_quark() to a more language-binding
8198    friendly name [Murray Cumming]
8199  - Accept backslashes in filenames on Win32 [Tor Lillqvist]
8200 * Strip the internal aliasing prefix IA__ from function names in 
8201   assertions [Matthias Clasen]
8202 * Add a function to split uri lists. [Matthias]
8203 * Win32 bug fixes 
8204  - Don't open console windows [Tor]
8205 * Other bug fixes [Philippe Blain, Robert Ögren, Hidetaka Iwai, Matthias,
8206  Morten Welinder, Mats-Ola Persson, Tor, Nickolay V. Shmyrev, Kjartan Maraas,
8207   Anders Carlsson, Tim-Philipp Müller, Lucas Rocha, Andrea Campi, Manish
8208   Singh, Thomas Fitzsimmons, Kazuki IWAMOTO]
8209 * Documentation improvements [Matthias, Linus Walleij, Nickolay, Philippe, 
8210  Adam Hooper, Gustavo Carneiro]
8211 * New and updated translations (cs,en_CA,en_GB,ja,nb,nl,or,sr,sr@Latn,sq)
8212
8213 Overview of Changes from GLib 2.5.2 to GLib 2.5.3
8214 =================================================
8215 * GOption
8216  - set the program name from argv[0] [Masatake YAMATO] 
8217  - make contexts work without a main group [Anders Carlsson]
8218 * Performance 
8219  - Get rid of many PLT entries for internally used exported symbols,
8220    and clean up the ABI at the same time and make make check check the
8221    list of exported symbols.  [Matthias Clasen]
8222 * Add API to get ISO 8601 week numbers [Niklas Lundell]
8223 * Add API to install an alternate default log handler [Darin Adler]
8224 * Add API to obtain a list of applicable locale names [Hidetoshi Tajima]
8225 * Reduce code size bloat by removing literal strings from
8226  the g_return_if_fail() macros [Owen Taylor]
8227 * Add g_strv_length [Tim-Philipp Müller]
8228 * Win32 changes
8229  - Add API to determine the Windows version [Tor Lillqvist]
8230 * Other bug fixes [Stepan Kasal, Anders, Tor, Kazuki Iwamoto,
8231   Manish Singh]
8232 * Documentation improvements [Morten Welinder, Matthias]
8233 * New and updated translations (es,nn,ro)
8234
8235 Overview of Changes from GLib 2.5.1 to GLib 2.5.2
8236 =================================================
8237 * Add G_GNUC_INTERNAL macro [Arjan van de Ven]
8238 * Add GOption, a commandline option parser [Anders Carlsson]
8239 * Add glib_check_version [Michael Natterer]
8240 * Add XDG basedir API [Ray Strode]
8241 * Require ngettext [Danilo Segan]
8242 * Bug fixes [Manish Singh, Ray Strode, Vincent Noel, 
8243   Jon-Kare Hellan, Jody Goldberg]
8244 * Win32 bug fixes [Tor Lillqvist, Hans Breuer, Peter Zelezny]
8245 * Documentation improvements [Matthias Clasen, Vincent Untz, Christian Persch]
8246 * New and updated translations (bs,eu,fi,gu,ne,pa)
8247
8248 Overview of Changes from GLib 2.5.0 to GLib 2.5.1
8249 =================================================
8250
8251 * Bug fixes [Oliver Guntermann, Sven Neumann, James 
8252   Henstridge, Hiroyuki Ikezoe, Matthias Clasen, Robert 
8253   Ögren, Tommi Komulainen]
8254 * Documentation improvements [Soeren Sandmann, 
8255   Christophe Fergeau, Danek Duvall]
8256 * New and updated translations (eu,hi)
8257   
8258 Overview of Changes from GLib 2.4.1 to GLib 2.5.0
8259 =================================================
8260
8261 * New functions g_debug [Sven Herzberg]
8262 * Use higher precision for mathematical constants [Morten 
8263  Welinder]
8264 * Don't convert to/from UTF-8 in g_filename_{to,from}_uri 
8265  [Federico Mena Quintero]
8266 * Win32
8267  - Handle empty digit string in printf() functions 
8268    correctly [Tor Lillqvist]
8269  - Support ll as format modifier for long long [Tor]
8270  - Be more careful about HOME [Tor, Ivan Wong]
8271  - Bug fixes [John Ehresman]
8272 * Miscellaneous bug and portability fixes [Danilo Segan, 
8273  Owen Taylor, Nikolai Weibull, Benoît Carpentier, Morten 
8274  Welinder, Manish Singh, Sven Neumann, Julio M. Merino Vidal,
8275  Kaz Sasayama, Murray Cumming, Federico, Mariano Suarez-Alvarez]
8276 * Documentation updates [Matthias Clasen, Crispin Flowerday,
8277  Tommi Komulainen, Federico Mena Quintero, Ed Griffiths]
8278 * New and updated translations (ja,ne,no,wa)
8279  
8280 Overview of Changes from GLib 2.4.0 to GLib 2.4.1
8281 =================================================
8282
8283 * Win32 bug fixes [Tor Lillqvist, Roger Leigh, John Ehresman]
8284 * Miscellaneous bug and portability fixes [Owen Taylor,
8285   Matthias Clasen, Jonas Jonsson, Christian Krause,
8286   Nickolay V. Shmyrev, Christophe Saout, Philippe Blain,
8287   Piotr Klaban]
8288 * Documentation updates [Matthias]
8289 * New and updated translations (ca,cs,cy,el,en_CA,en_GB,es,eu,fi,
8290   fr,gu,he,id,nl,pt,pl,ru,sr,sr@ije,sr@Latn,sv,uk)
8291
8292 Overview of Changes from GLib 2.3.6 to GLib 2.4.0
8293 =================================================
8294
8295 * Handle invalid-UTF-8 in g_log() properly [Matthias Clasen]
8296 * Win32 bug fixes [Tor Lillqvist, Bruce Hochstetler]
8297 * Miscellaneous bug and portability fixes [Olivier Biot, David L. Cooper II, 
8298   Kjartan Maraas, Frédéric L. W. Meunier, Christof Petig, Manish Singh, 
8299   Sebastian Wilhelmi]
8300 * Documentation updates [Owen]
8301 * Updated translations (hr,ro)
8302
8303 Overview of Changes from GLib 2.3.5 to GLib 2.3.6
8304 =================================================
8305
8306 * GAtomic bug fixes [Sebastian Wilhelmi, Mark McLoughlin]
8307 * GMain threading fixes and improvements [Sebastian]
8308 * Win32 [Tor Lillqvist]
8309  - restore some symbols extraneously exported from gobject to maintain ABI compatibility
8310  - Misc build improvements and fixes [Tor, Cedric Gustin, Hans Breuer]
8311 * Documentation updates [Sebastian, Takeshi AIHANA, Matthias, Sven Herzberg]
8312 * New and updated translations (be,es,fi,ga,pa,sr@ije,zh_CN)
8313
8314 Overview of Changes from GLib 2.3.3 to GLib 2.3.5
8315 =================================================
8316
8317 * Make glib-mkenums parse initializers with macros. [Matthias Clasen, muppet]
8318 * Respect locale era in g_date_set_parse(). [Theppitak Karoonboonyanan] 
8319 * Add atomic operations and use it for the async queue and
8320   gonce implementation. [Sebastian Wilhelmi]
8321 * Documentation improvements [Sebastian, Matthias, Sven Herzberg]
8322 * Add g_main_depth() for finding the recursion depth of the main
8323   loop [Owen Taylor, Tim Janik, Stefan Westerfeld]
8324 * Add g_spawn_close_pid(), needed on win32 [J. Ali]
8325 * Win32 fixes. [Hans Breuer, J. Ali Harlow]
8326 * Misc bugfixes [Sebastian, Matthias, Balazs Scheidler, Owen]
8327 * Updated translations (cy,et,ga,sq)
8328
8329 Overview of Changes from GLib 2.3.2 to GLib 2.3.3
8330 =================================================
8331
8332 * Add a native AIX gmodule implementation. [Laurent Vivier]
8333 * Add g_node_copy_deep().  [James M. Cape, Matthias Clasen]
8334 * Extend GQueue API to match the GList API. [Soeren Sandmann]
8335 * Add g_hash_table_find().  [Tim Janik]
8336 * Add a G_MODULE_BIND_LOCAL flag. [David Schleef]
8337 * Inline g_string_append_c() when possible. [Owen Taylor, Tim]
8338 * Wrap waitpid() as a GSource. [Jonathan R. Blandford]
8339 * Add g_completion_complete_utf8(). [Theppitak Karoonboonyanan, 
8340   Matthias]
8341 * Add g_strsplit_set(). [Soeren]
8342 * Documentation improvements. [Vincent Untz, Sebastian Wilhelmi, 
8343   Soeren, Matthias]
8344 * Win32 build fixes. [Tor Lillqvist]
8345 * Misc bugfixes [Manish Singh, Noah Levitt, Simon Josefsson, 
8346   Morten Welinder, Damien Carbery, Julio M. Merino Vidal, Sebastian, 
8347   Matthias]
8348 * Updated translations (nn,cs,it,ko,sq,ms,az,hr,uk,sr,sr@Latn,sq,ta)
8349
8350 Overview of Changes from GLib 2.3.1 to GLib 2.3.2
8351 =================================================
8352
8353 * Add G_MAXSIZE. [Manish Singh]
8354 * Add g_rand_new_with_seed_array(), g_rand_set_seed_array(),
8355   implementing the init-by-array functionality of the 
8356   original mersenne twister. Add g_rand_copy(). Improve seeding. 
8357   [George Lebl]
8358 * Add a lowercase_name option to glib-mkenums. [Murray Cumming]
8359 * Add g_ptr_array_foreach(). [Matthias Clasen]
8360 * Add g_timer_continue(). [Tim-Philipp Müller]
8361 * Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
8362 * Fix g_filename_{to,from}_utf8() on Win32 and improve 
8363   g_file_test() there too [Hans Breuer] 
8364 * Add a boxed type for NULL-terminated string arrays.  [Matthias]
8365 * Add G_DEFINE_TYPE() plus variants to ease the constuction
8366   of GObject boilerplate code.  [Tim Janik]
8367 * Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
8368 * Documentation improvements [Matthias, Manish]
8369 * Win32 build fixes [Hans]
8370 * Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, 
8371   Zack Rusin]
8372 * Updated translations (ar,de,fa,ga,mn,nn,no,sq)
8373
8374 Overview of Changes from GLib 2.3.0 to GLib-2.3.1
8375 =================================================
8376
8377 * Add glib/gi18n.h and glib/gi18n-lib.h for common
8378   gettext support, including a Q_() macro for translation
8379   with context [Matthias Clasen]
8380 * Add a more flexible G_FILENAME_ENCODING variable
8381   as a replacement for G_BROKEN_FILENAMES [Matthias]
8382 * Fix the return value g_main_context_iterate() for
8383   newly ready sources [Padraig O'Briain]
8384 * Handle Hangul composition for normalization [Noah Levitt]
8385 * Add G_{MIN,MAX,MAXU}INT{8,16,32}. [Mark Jones, Matthias]
8386 * Add G_GSIZE_FORMAT/G_SSIZE_FORMAT [Manish Singh]
8387 * Add G_STRFUNC as a portable wrapper for __func__ [Tim Janik]
8388 * Documentation improvements [Matthias]
8389 * GObject [Tim Janik]
8390  - Support '-' in g_signal_connect()/disconnect() names
8391    like 'swapped-signal'.
8392  - Add g_type_class_peek_static() and use to optimize
8393    g_object_new() for static types [Tim]
8394  - Allow setting construct-only properties from within
8395    init() implementations
8396  - Enforce readability/writeability in g_object_set/get()
8397 * Fix bug with g_ascii_strtod and multi-byte separator.
8398   [Behdad Esfahbod, Roozbeh Pournader]  
8399 * Misc bug fixes [Matthias, John Ehresman, Andrew Lanoix,
8400   Tor Lillqvist, Mark McLoughlin, Tim-Philipp Müller, Manish, 
8401   Morten Welinder]
8402 * Updated translations (ca,cs,da,es,fr,ja,nn,no,pt,ru)
8403
8404 Overview of Changes from GLib 2.2.x to GLib-2.3.0
8405 =================================================
8406
8407 * Replace Trio printf by gnulib vasnprintf [Matthias Clasen]
8408 * Update Unicode data to Unicode 4.0 [Noah Levitt]
8409 * Support XML-safe formatted output with 
8410   g_markup_[v]printf_escaped [Owen Taylor]
8411 * Add g_file_read_link to read symbolic links [Matthias]
8412 * Add g_unichar_get_mirror_char to obtain the 
8413   mirrored variant of a character [Noah]
8414 * Support for one-time initialization functions. 
8415   [Sebastian Wilhelmi]
8416 * Miscellaneous API additions: g_vasprintf
8417   g_string_chunk_insert_len, g_setenv, g_unsetenv [Matthias]
8418 * Docs improvements [Matthias]
8419 * Add support instance-private data on classed types
8420   [Mark McLoughlin, Tim Janik, Owen]
8421 * Optimize signal emissions [Soeren Sandmann, Tim]
8422 * Support a "default vtable" per interface [Tim]
8423 * Add support for properties on interfaces [Owen, Tim]
8424 * Miscellaneous API additions: g_value_take_string(),
8425   g_value_take_param(), g_value_take_object(), 
8426   g_value_take_boxed(). [Matthias]
8427 * Win32 build fixes [Tor Lillqvist]
8428
8429 Overview of Changes from GLib 2.1.5 to GLib-2.2.0
8430 =================================================
8431
8432 * Fix a problem with g_thread_init() on 64-bit problems
8433   [Alceste Scalas, Sebastian Wilhelmi]
8434 * Add assembly implementations of byteswap macros
8435   for ia64 and x86_64. [Manish Singh]
8436 * IOChannel fixes for Win32 [Tor Lillqvist, Thorsten Maerz]
8437 * Updated translations (bg,ca,es,da,fi,lv,ru,sk)
8438
8439 Overview of Changes from GLib 2.1.4 to GLib-2.1.5
8440 =================================================
8441
8442 * Win32 bug fixes [Tor Lillqvist]
8443 * Various post-rewrite fixes for glib-gettext.m4 [Owen Taylor,
8444   Jody Goldberg, Kjartan Maraas, Johannes Stezenbach]
8445 * Ensure we have a GUINT64_FORMAT by pulling in Trio
8446   if necessary [Manish Singh]
8447 * Further Trio build fixes [Matthias Clasen, Owen]
8448 * Hack around gcc, libtool issues with -pthread [Owen]
8449 * Docs improvements [Matthias]
8450 * Bug and portability fixes 
8451 * Updated and new translations (bg,de,fi,fr,sq,fr)
8452
8453 Other contributors: Kai Poitschke, Morten Welinder
8454
8455 Overview of Changes from GLib 2.1.3 to GLib-2.1.4
8456 =================================================
8457
8458 * autoconf changes to make it possible to cross compile
8459   GLib. [Owen Taylor, Dan Kegel, Amy Lin, Dimi Shahbaz, 
8460   Johannes Stezenbach]
8461 * Use libintl when it has bind_textdomain_codeset() and
8462   GLib doesn't. [Owen]
8463 * Improve generation of pseudo-random integers [Morten Welinder, 
8464   Sebastian Wilhelmi]
8465 * Avoid literal UTF-8 in favor of octal escapes [Owen, Tomas Ogren]
8466 * Cleanup include order [Sven Neumann]
8467 * autoconf cleanups and bug fixes [Daniel, Matthias Clasen, Owen]
8468 * Doc fixes and additions [Matthias]
8469
8470 Other contributors: James M. Cape, Frederic Crozat, Martin Gansser,
8471   Phuc LeHong, Manish Singh, Joshua Weage, Morten Welinder
8472
8473 Overview of Changes from GLib 2.0.x to GLib-2.1.x
8474 =================================================
8475
8476 * Add copy of the Trio library to build and use for printf() when 
8477   system printf isn't good enough. Add g_printf()/etc. [Matthias Clasen]
8478 * Add g_str_has_suffix()/g_str_has_prefix() [Alex Larsson]
8479 * Add g_markup_parse_context_get_element() [Matthias]
8480 * Add g_utf8_strreverse [Matthias]
8481 * Add g_ascii_strtoull() [Tim Janik]
8482 * Support scanning of 64-bit values with GScanner [Tim]
8483 * Add g_set/get_application_name() [Havoc Pennington]
8484 * Add G_LIKELY()/G_UNLIKELY() macros for hinting branch probabilities. 
8485   Use for g_return_if_fail(). [Matthias Clasen]
8486 * Add G_GNUC_DEPRECATED macro [Tom Tromey]
8487 * Improve the seeding algorithm of GRandom to avoid problems
8488   with certain pathological seeds. Support G_RANDOM_VERSION=2.0
8489   environment variable. [Sebastian Wilhelmi]
8490 * Improve thread configure checks, use -pthread where applicable
8491   [Sebastian]
8492 * Improve handlng of thread priorities [Sebastian]
8493 * Fix up parameter names that might shadow functions from
8494   system headers [Soeren Sandmann]
8495 * Clean up usage of deprecated functions [Manish Singh]
8496 * Docs fixes and improvements. In particular, include "Since" information.
8497   [Matthias, Soeren, Martin Schulze, Daryll Strauss, Bill Janssen, 
8498   Owen Taylor, Morten Welinder]. 
8499
8500 Overview of Changes in GLib 2.0.7
8501 =================================
8502
8503 * Fix C++ warnings in gtype.h [Dom Lachowicz]
8504 * Fix g_type_fundamental_next() [Tim Janik]
8505 * Fix various missing includes of config.h [Morten Welinder]
8506 * Handle main loop initialization before g_thread_init [Sebastian Wilhelmi]
8507 * Various 64-bit fixes [Manish Singh]
8508 * Fix GPoll on Win32 [Tor Lillqvist, Herman Bloggs]
8509 * Fix bug with buffering on UTF-8 IOChannels [Daniel Elstner]
8510 * Misc bug and build fixes [Soren Andersen, Gustavo Carneiro, Tor,
8511      Tim, Havoc Pennington,  Matthias Clasen, Sebastian Rittau,
8512      Masahiro Sakai, Arvind Samptur, HideToshi Tajima, Owen Taylor]
8513 * Updated and new translations (be,cs,de,*fa,it,lv,pt_BR,tr)
8514
8515 Overview of Changes in GLib 2.0.6
8516 =================================
8517
8518 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
8519 * Clean up debug spew from GObject [Anders Carlsson]
8520 * Compiler warning fixes [David L. Cooper II]
8521 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
8522 * Fixes for --disable-debug [Sebastian Wilhelmi]
8523 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
8524   Rajkumar Sivasamy, Laurent Vivier]
8525 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
8526   Sebastian Rittau, Linus Welleij]
8527 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
8528 * Updated translations (bg,ko,vi)
8529
8530 Overview of Changes in GLib 2.0.5
8531 =================================
8532
8533 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
8534 * Clean up debug spew from GObject [Anders Carlsson]
8535 * Compiler warning fixes [David L. Cooper II]
8536 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
8537 * Fixes for --disable-debug [Sebastian Wilhelmi]
8538 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
8539   Rajkumar Sivasamy, Laurent Vivier]
8540 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
8541   Sebastian Rittau, Linus Welleij]
8542 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
8543 * Updated translations (bg,ko,vi)
8544
8545 Overview of Changes in GLib 2.0.4
8546 =================================
8547
8548 * Fix some 64-bit problems. (George Lebl, David L. Cooper II)
8549 * Add note about Tru64 iconv to INSTALL. (Manuel Op de Coul)
8550 * Fix problem with timouts > MAXINT. (Tim Janik, Owen Taylor)
8551 * Updated translations (ca,es,fr,ja,gl,ms,nl,pl,pt,ru)
8552
8553 Overview of Changes in GLib 2.0.3
8554 =================================
8555
8556 * Handle sorting 0-length arrays (Ron Arts)
8557 * Threading fixes (Sebastian Wilhelmi)
8558 * Portability fixes (Miroslaw Dobrzanski-Neumann, Jacob Berkman, Gareth Pierce, 
8559   Sebastian, Qingjiang Yuan)
8560 * Various fixes for glib-2.0.m4. (Jim Gettys, others.)
8561 * Locate right glib-genmarshal when cross-compiling. (Mitch Natterer)
8562 * Win32 fixes (Tor Lillqvist)
8563 * Try to fix g_get_charset() related segfaults. (Owen)
8564 * Fixes for gettext detection. (Dan Winship, HideToshi Tajima, Boyd Lynn Gerber,
8565   Andrew P. Lentvorski, Jr.)
8566 * Fix g_scanner_unexp_token() (Tim Janik, Sven Neumann)
8567 * g_markup fixes. (Matthias Clasen.)
8568 * Bug fixes and cleanups (Daniel Elstner, Matthias, Laszlo Peter, Morten Welinder,
8569   Wayne Schuller)
8570
8571 Overview of Changes in GLib 2.0.1
8572 =================================
8573
8574 * Portability fixes for Sun's Forte compiler [Erwann Chenede]
8575 * Performance improvements for GObject parameter lookup, 
8576   g_filename_to/from_utf8() [Alex Larsson]
8577 * Actually check interface prerequisites [Matthias Clasen,
8578   Miroslaw Dobrzanski-Neumann]
8579 * Fix problem with glib-mkenums taking huge amounts of stack. [Owen Taylor]
8580 * Fix g_signal_handlers_disconnect_by_func() for C++ [Damien Sandras]
8581 * Fixes for g_log() and threading.
8582   [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, Tim Janik]
8583 * Make g_print(), g_printerr(), g_warning(), etc, convert from
8584   UTF-8 to the encoding of the locale [Sebastian Wilhelmi, Tim]
8585 * Fixes for GIOChannel on windows. [Tor Lillqvist]
8586 * Fix gsize/gint mismatches in giochannel.c [Miroslaw Dobrzanski-Neumann]
8587 * Fix file descriptor leak in g_file_get_contents() [Matthias]
8588 * Workaround iconv() problems on older Solaris [Lauri Alanko]
8589 * Fix warnings with gcc-3.1 about asm const [Cody Russel]
8590 * Minor bug fixes.
8591
8592 Other contributors: Hans Breuer, LEE Sau Dan, Sven Neumann, Salmaso Raffaele,
8593   Akira Tagoh, Morten Welinder
8594
8595
8596 Overview of Changes in GLib 2.0.0
8597 =================================
8598
8599 * Thread portability fixes [Sebastian Wilhelmi]
8600 * Documentation updates [Owen Taylor]
8601 * Make g_strerror(), g_strsignal() properly return UTF-8,
8602   call bind_text_domain_codeset() so that error strings
8603   are in UTF-8 as well. [Owen, Tor Lillqvist]
8604
8605 Overview of Changes in GLib 2.0.0 rc1:
8606 ======================================
8607
8608 * Win32 fixes [Tor Lillqvist]
8609 * Portability fixes [Finlay Dobbie, Miroslaw Dobrzanski-Neumann]
8610 * Fix up g_date_strftime [Daniel Elstner]
8611 * Add some structure padding [Tim Janik]
8612 * Make g_get_homedir() prefer the users home directory to $HOME
8613
8614 Other contributors: Matthias Clasen, Paolo Maggi, Christian Rose
8615
8616 Overview of Changes in GLib 1.3.15:
8617 ===================================
8618
8619 * Speed up marshalers by using private access to GValue 
8620   [Anders Carlsson, Tim Janik]
8621 * Reduce GValue to 2 elements [Tim]
8622 * Add G_DEBUG environment variable, G_DEBUG=fatal_warnings [Matthias Clasen]
8623 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
8624 * Add padding to various structures [Owen Taylor, Tim]
8625 * Win32 fixes [Tor Lillqvist]
8626
8627 Other contributors: James Henstridge, Ryan Lovett, Morten Welinder,
8628   Daniel Elstner
8629
8630 Overview of Changes in GLib 1.3.14:
8631 ===================================
8632
8633 * Register value transformations for gint64, guint64 [Andy Wingo]
8634 * Build with large-file support [Sven Neumann, Owen Taylor]
8635 * Fix handling of hostnames in URI's [Darin Adler]
8636 * Main loop bug fixes [Havoc Pennington, Owen]
8637 * Doc fixes and improvements [Manish Singh, Tim Janik]
8638 * Support ' as attribute delimiters in GMarkup [Matthias Clasen]
8639 * Win32 fixes [Hans Breuer, Tor Lillqvist]
8640 * Threading bug and build fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann]
8641 * Miscellaneous bug fixes
8642
8643 Other contributors: Matthias Clasen, James Henstridge, Mitch Natterer, 
8644   Morten Welinder.
8645
8646 Overview of Changes in GLib 1.3.13:
8647 ===================================
8648
8649 * Fix g_filename_to/from_uri for Win32 [Tor Lillqvist, Darin Adler]
8650 * Miscellaneous win32 fixes [Tor, Hans Breuer]
8651 * Fix thread options for gcc on AIX [Jerome Zago, Sebastian Wilhelmi]
8652 * Documentation improvements [Ron Steinke, Matthias, Sebastian]
8653 * Cache iconv converters as used by g_convert() [Jeffrey Stedfast]
8654 * Bug fixes [Sven Neumann, Owen Taylor, Matthias Clasen, Jeffrey,
8655   Laszlo Peter, Havoc Pennington, Tim Janik]
8656
8657 Overview of Changes in GLib 1.3.12:
8658 ===================================
8659
8660 * Implement closure chaining, fixing up API (Tim Janik)
8661 * Closure chaining test case (James Henstridge)
8662 * Make GType long not int where both are equal width (Tim)
8663 * Win32 fixes and improvements (Hans Breuer, Tor Lillqvist)
8664 * Fixes for NetBSD. (Dan Winship)
8665 * Use snprintf() for g_printf_string_upper_bound() where possible. (Matthias Clasen)
8666 * Save space for GBSearchArray (Tim Janik)
8667 * Documentation improvements. (Matthias, Sven Neumann, Havoc Pennington)
8668
8669 Other contributors: Darin Adler, Chris Blizzard, Anders Carlson, Daniel Elstner, Michael Meeks, 
8670   Mark McLoughlin, Dave Neary, Manish Singh, Owen Taylor, HideToshi Tajima, 
8671   Sebastian Wilhelmi.
8672
8673
8674 Overview of Changes in GLib 1.3.11:
8675 ===================================
8676
8677 * Win32 fixes [Hans Breuer, Tor Lillqvist]
8678 * Documentation improvements [Matthias Clasen]
8679 * Portable directory handling API [Hans]
8680 * Threading fixes [Sebastian Wilhelmi, Havoc Pennington]
8681 * Fix excess relocations in Unicode tables [Andrew Taylor]
8682 * Fix gpattern for UTF-8 [Matthias Clasen]
8683 * Support overriding class closures [Tim Janik]
8684 * Support for derivation from G_TYPE_POINTER [Owen Taylor]
8685 * Hide pointers to type information inside GType to reduce locking
8686   [Alex Larsson, Tim]
8687 * Adds check for direct inclusion of gobject/*.h [Owen]
8688 * GObject API cleanups [Tim]
8689
8690 Other contributors: Darin Adler, Jacob Berkman, Daniel Egger, Eric Lemings, 
8691   Michael Meeks, Mark McLoughlin, Arkadiusz Miskiewicz, Dan Winship
8692
8693
8694 Overview of Changes in GLib 1.3.10:
8695 ===================================
8696
8697 * Many Win32 fixes and improvements [Tor Lillqvist]
8698 * Documentation improvements [Matthias Clasen]
8699 * g_string_printfa() renamed to g_string_append_printf()
8700 * Use libcharset from libiconv to implement charset detection
8701   more portably. [Owen Taylor, Hidetoshi Tajima]
8702 * Add 64 bit type support to GObject [Joshua Pritikin, Mathieu Lacage, Owen]
8703 * Make support for 64 bit integers a requirement [Joshua]
8704 * GPattern improvements [Tim Janik, Matthias]
8705 * Locale independent g_ascii_strtod / g_ascii_dtostr [Alex Larsson]
8706 * Many bug fixes and minor tweaks.
8707
8708 Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
8709   Ben Gertzfield, Elliot Lee, Manish Singh, Abel Cheung, Laszlo Peter,
8710   Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
8711   Jacob Berkman
8712
8713
8714 Overview of Changes in GLib 1.3.9:
8715 ==================================
8716
8717 * Fixes for comparison of threads [Sebastian Wilhelmi]
8718 * Use vasprintf() when possible for g_strdup_printf [Matthias Clasen]
8719 * Win32 fixes [Tor Lillqvist, Hans Breuer]
8720 * Add a len argument to g_ascii_strup/strdown
8721 * Bug, portability fixes, cleanups.
8722
8723 Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
8724
8725
8726 Overview of Changes in GLib 1.3.8:
8727 ==================================
8728
8729 * Documentation updates [Owen]
8730 * Made GType interfaces overridable in derived types
8731 * Many win32 fixes [Tor Lillqvist]
8732 * Miscellaneous cleanups and fixes
8733
8734 Other contributors:
8735   Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
8736
8737
8738 Overview of Changes in GLib 1.3.7:
8739 ==================================
8740
8741 * Integrate GClosure support into the main loop [Owen Taylor]
8742 * More GSignal convenience functions (macros) [Sven Neumann, Tim Janik]
8743 * Introduced weak references for GObject [James Henstridge, Sven, Tim] 
8744 * Minor hash table optimizations
8745 * Main loop and threading improvements [Sebastian Wilhelmi]
8746 * Added g_ascii_* functions to be used for locale insensitive UTF-8
8747   compliant code instead of old string functions  [Darin Adler, Alex Larsson]
8748 * Add functions for Unicode case-conversion, normalization, and 
8749   collation [Owen]* GString improvements [Owen]
8750 * Reworked the GIOChannel code [Hidetoshi Tajima, Ron Steinke]
8751 * Removed glib-config-2.0 in favour of pkgconfig [Sebastian]
8752 * Make code 64bit clean [Mark Murnane]
8753 * More G_CONST_RETURN fixes
8754 * Many improvements to the win32 code [Tor Lillqvist, Hans Breuer]
8755 * Miscellaneous bug and API fixes
8756
8757 Other contributors:
8758   Michael Natterer, Christopher James Lahey, Padraig O'Briain,
8759   Matthias Clasen, Josh Pritikin, Steve Baker, Cesar Rincon, Garry R. Osgood,
8760   Michael Meeks, Laszlo Peter,  Martin Baulig, Kjartan Maraas, Andrew Lanoix,
8761   Peter Williams
8762
8763
8764 Overview of Changes in GLib 1.3.6:
8765 ==================================
8766
8767 * Threads have a "return value" from g_thread_join
8768 * Removed ability to adjust thread stack size
8769 * Prefix warnings with progname/PID by default, change toggle for this to 
8770   be an env variable G_MESSAGES_PREFIXED not a compile-time option
8771 * GMarkup speedups
8772 * GDate const, convenience fixups
8773 * Include test cases that headers are compilable by C++ compiler
8774 * Add ability to spawn processes with argv[0] != executable path.
8775 * g_strstr_len, g_strrstr, g_strrstr_len
8776 * Add length argument to g_utf8_strchr and g_utf8_strrchr.
8777 * Misc bug fixes
8778
8779
8780 Overview of Changes in GLib 1.3.5:
8781 ==================================
8782
8783 * Added an installed glib-mkenums Perl program for parsing enumeration
8784   declarations from header files.
8785 * Mark some additional deprecated functions.
8786 * Bug and Portability fixes
8787
8788
8789 Overview of Changes in GLib 1.3.4:
8790 ==================================
8791
8792 * Efficiency improvements for GThreadPool
8793 * A few bug fixes
8794 * Build fixes
8795 * Documentation improvements
8796
8797
8798 Overview of Changes in GLib 1.3.3:
8799 ==================================
8800
8801 GLib:
8802
8803 * More user_data support in various functions.
8804 * Main loop API revamps to support per-thread main loops.
8805 * Unicode handling improvements.
8806 * Implemented debugging traps.
8807 * G_CONST_RETURN specification all over the place.
8808 * Various new small utility functions.
8809 * Random number generator precision improvements.
8810 * New configure option --disable-mem-pools.
8811 * Many Win32 improvements.
8812 * Added g_try_malloc() friends varinats.
8813 * Many documentation improvements.
8814 * Many threading improvements, support for dynamic allocation
8815   of static mutexes.
8816 * GHookLIst API cleanups.
8817 * Improved format support of GDate parser.
8818 * String function speed improvements with new g_stpcpy().
8819 * Hashtable API additions.
8820 * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
8821 * Optimizations, cleanups, bug fixes.
8822
8823 GObject:
8824
8825 * Added many convenience functions.
8826 * GClosure and GParamSpec use float/sink ref-counting scheme now.
8827 * Reworked property change notification.
8828 * Binary searchable array cleanups, so it's widely usable now.
8829 * Added static content keeping for some GValue types.
8830 * Support for statically scoped signal parameters.
8831 * Extinguished property trailer args in set/get interface.
8832 * Added support for abstract types.
8833 * G_CONST_RETURN specification all over the place.
8834 * Split parameter exchange functionality into value transforms
8835   and parameter conversions.
8836 * Added signal emission hooks and signal accumulators.
8837 * Added interface prerequisites to support is_a (interface, object)
8838   relations.
8839 * Implemented GValueArray.
8840 * New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
8841   GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
8842   G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
8843 * Varrags value collection improvements.
8844 * Implemented debugging traps.
8845 * Made things thread-safe.
8846 * Many documentation improvements.
8847 * Many cleanups, optimizations and bug fixes.
8848
8849
8850 Overview of Changes in GLib 1.3.2:
8851 ==================================
8852
8853 GLib:
8854
8855 * Win32 build improvements  [Tor]
8856 * Improvements to error reporting  
8857   (g_critical(), g_return_if_reached()) [Darin]
8858 * Add g_strlcpy/g_strlcat  [David Wheeler]
8859 * New IO channel implementation for Win32  [Tor] 
8860 * Make g_array_free, g_string_free return pointer to memory requested
8861   not to be freed.  [Darin]
8862 * Added GError based error reporting for thread functions.  [Sebastian]
8863 * Moved reference docs into GLib distribution. [Owen]
8864 * Added g_convert() for doing convenient character set conversions based
8865   on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
8866 * Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
8867   g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
8868 * Portability fixes for threading.  [Sebastian]
8869 * Added convenient functions for launching new processes (g_spawn_*),
8870   and shell quoting/unquoting functions.  [Havoc]
8871 * Split glib.h into many headers.  [Sebastian]
8872 * Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
8873 * Fixed confusions between comparison functions that return <0, 0, >0
8874   and equaility functions that return FALSE,TRUE.  [Sebastian]
8875 * Added safe/portable temporary file manipulation functions.  [Tor]
8876 * autoconf improvements.  [Raja]
8877 * Many documentation improvements.
8878 * Bug fixes.
8879
8880 GObject:
8881
8882 * Added boxed and pointer types.  [Tim/Jonathan]
8883 * Added callback abstraction (GClosure)  [Tim]
8884 * Added signal system (GSignal)  [Tim]
8885 * Make GTypePlugin an interface  [Tim]
8886 * Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
8887 * Bug fixes.
8888
8889
8890 What's new in GLib 1.3.1:
8891 =========================
8892
8893 * New GObject library added including object system based on
8894   the GTK+ object system. 
8895 * Functions for getting the properties of Unicode characters, 
8896   computing the canonical decomposition and ordering combining
8897   characters aand manipulating UTF-8 string manipulation based
8898   on libunicode.
8899 * GString now properly handles embedded nuls.
8900 * Multiple fixes from the 1.2.x branch.
8901 * Upgrade to libtool 1.3.3
8902 * Full thread support (thread creation and destruction).
8903 * BeOS port, BeOS dynamic modules.
8904 * Many improvements to the Windows ports.
8905 * Improvements to the OS/2 port, OS/2 module support.
8906 * Double ended queue implementation.
8907 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
8908 * New configure option --enable-msg-prefix to prefix messages, warnings
8909   et ceteri with the program name and the process id.
8910 * New thread-safe random number generator Mersenne Twister.
8911 * g_strcompress() added, g_strescape() had a slight API change, and
8912   more tightly defined semantics.
8913 * the g_string(x) macro has been removed, #x may be used instead.
8914                                 
8915