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