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