Updates
[platform/upstream/glib.git] / NEWS
1 Overview of Changes from GLib 2.21.3 to GLib 2.21.4
2 ===================================================
3
4 * GTree is now refcounted
5
6 * Bugs fixed:
7  587938 Undocumented limitation for g_str_equal
8  587773 refcounts for GTree
9
10 * Updated translations:
11  French
12  Hebrew
13  Norwegian bokmål
14  Spanish
15  Swedish
16  Traditional Chinese
17  Ukrainian
18
19
20 Overview of Changes from GLib 2.21.2 to GLib 2.21.3
21 ===================================================
22
23 * GMappedFile is refcounted now
24
25 * Mainloop: It is now possible to set per-thread default contexts,
26   with g_main_context_push_thread_default.
27
28 * glib-mkenums supports a @basename@ substitution, in addition
29   to @filename@.
30
31 * GIO:
32  - Vfs implementations can support storing of per-file metadata.
33  - GCancellable can now be subclassed.
34  - Unmount and eject methods now optionally allow interaction, via
35    variants that take a GMountOperation object.
36
37 * Bugs fixed:
38  556706 Inconsistent help arguments -h, -?
39  579449 FileChoosers no longer work if an idle handler is active
40  579933 mainloop FD_CLOEXEC has a race condition
41  579984 alternate GMainContext support
42  585937 gio/gsocket.c (glib 2.21.2) does not compile (Windows/mingw)
43  586675 Runtime library location
44  586797 Add GCancellables to GSocket ops
45  586868 g_filename_complete_get_completions doesn't always return...
46  587415 g_resolver_lookup_by_name_finish returns a freed list
47  587434 regression tests fail, at least on x86_64
48  586928 Avoid g++ warning in g_error()
49
50 * Updated translations:
51  Estonian
52  Hebrew
53
54
55 Overview of Changes from GLib 2.21.1 to GLib 2.21.2
56 ===================================================
57
58 * GIO:
59   - g_socket_speaks_ipv4 is a new function to check if a socket can
60     speak IPv4.
61   - g_socket_listener_add_address gained a new effective_address out
62     parameter.
63   - GIO now returns special icons for XDG user directories, by the
64     name folder-music, folder-documents, etc.
65   - GIO gained support for starting/stopping of drives, which can be used
66     in connection with external hard disk enclosures, disk arrays, iSCSI
67     devices, etc. See g_file_start/stop_mountable.
68
69 * GLib:
70  - g_reload_user_special_dirs_cache is a new function to force GLib to
71    reload the XDG user directory mapping from disk.
72
73 * Bug fixes:
74  584574 glib compile failure on Mac OS X with gunixresolver.c and...
75  585566 GSocketListener API issues
76  584255 Incorrect freeing of thread pool in GThreadedSocketService
77  585088 g_string_chunk_insert_len stops at nul bytes
78  585360 Monitor fontconfig configuration files using gio causes m...
79  580103 Terminal starts on Display :0.0 when started on :0.1 in D...
80  580301 network: a few issues on old darwin
81  583398 SRV weight sorting is incorrect
82  584176 build fixes on FreeBSD
83  585189 g_cancellable_reset() must be called in same thread as g_...
84  585280 compilation dies on gio/gsocket.c, needs sys/uio.h to con...
85  585281 gio/gunixfdmessage.c needs sys/types.h for platforms that...
86  585478 don't leak the inotify fd
87  585575 g_socket_listener_add_inet_port() doesn't do the right thing
88  585599 g_socket_listener_add_socket() consumes the socket
89  585676 GEmblem doesn't reference its 'icon' if that is set as a ...
90  585717 "bytes" nautilus translation to french is not shown in th...
91  541276 XDG directories should have their own icons
92  585726 Grammatical error in GList documentation
93  585520 Wrong warning option in documentation
94  585673 GNOME Goal: Remove deprecated glib symbols
95  585591 Starting/stopping drives
96
97 * Updated translations:
98  Bengali India
99  Norwegian bokmål
100
101
102 Overview of Changes from GLib 2.21.0 to GLib 2.21.1
103 ===================================================
104
105 * GIO:
106  - Support for network IO has been added, including a low-level
107    socket API and a high-level API for network connections and
108    services.
109  - Support for read-write access with GIOStream and its subclasses.
110  - GMount gained a pre-unmount signal.
111
112 * Bug fixes:
113  576104Implement GMount::pre-unmount
114  578769 implement GWinHttpFileInputStream::close_fn
115  582856 gsocket.c doesn't compile on Solaris
116  569375 g[u]intptr undocumented
117  573246 [FIX] g_desktop_app_info_dup() can access NULL pointer
118  575013 g_cancellable_push_current() does not allow NULL
119  577884 live-g-file.c:461: error: format ‘%d’ expects type ...
120  578499 g_output_stream_splice and stream closing with gnio strea...
121  579558 Application employing gvfs crashes with only libgvfscommo...
122  583001 SIGPIPE (grr!)
123  583061 Please add convenience function to connect to machines by...
124  583198 typo in error message
125  583206 use g_set_error_literal where appropriate
126  583229 void function g_async_initable_init_async returns value
127  583324 locking problem in g_main_context_iterate()
128  583408 void function g_socket_control_message_serialize returns ...
129  578786 wrong and confusing error message
130  583205 g_inet_address_to_bytes has no length outparam
131  583196 mem leak in keyfile test
132  583663 GSocketType enum ends with a comma
133  569024 Make g_error_new_valist public
134  569376 missing G_G[U]INTPTR_FORMAT
135  580347 off-by-1 bug in GWinHttpFile
136
137 * Updated translations:
138  Oriya
139  Spanish
140  Valencian-Catalan
141
142
143 Overview of Changes from GLib 2.20.x to GLib 2.21.0
144 ===================================================
145
146 * GIO:
147  - New helper functions g_cancellable_connect/disconnect to avoid
148    race conditions when connecting to the "cancelled" signal on
149    GCancellable.
150  - New types and methods for dealing with IPv4 and IPv6 addresses (and
151    UNIX domain socket addresses under UNIX). This does not include code
152    for actual socket I/O.
153  - GResolver provides asynchronous and cancellable APIs for resolving
154    hostnames, reverse lookup of IP addresses and resolving SRV records.
155
156 * Glib now provides hash and comparison functions for int64 and double
157   types, suitable for use with GHashTable.
158
159 * GArray, GPtrArray and GByteArray can be ref counted now, and have
160   boxed types.
161
162 * Bugs fixed:
163  572844 Helper for GCancellable::cancelled connect/disconnect
164  578363 goption docs should be improved
165  548466 async/cancellable DNS resolver
166  579830 param spec strings should use P_()
167  579862 requesting xattr::foo ends up calling getxattr(..., user...
168  580453 Hash and equal functions for gint64 and gdouble
169  580450 Reference counting and boxed types for arrays
170  580194 gresolver doesn't build on Solaris
171  580301 network: a few issues on old darwin
172  580299 network: include sys/types.h before sys/socket.h to insur...
173  572508 gmarkup speedup
174  580546 g_strtoull() referenced in documentation...
175  580656 g_key_file_set_string_list erroneously asserts list != NULL
176  579272 leaks in g_simple_async_result_set_op_res_gpointer
177
178
179 * Updated translations:
180  Catalan (ca)
181  Pashto (ps)
182  Spanish (es)
183
184
185 Overview of Changes from GLib 2.20.0 to GLib 2.20.1
186 ===================================================
187
188 * Bug fixes:
189  575555 Use fsync() when replacing files to avoid data loss on
190  575708 runaway inotify madness
191  575270 GVolumeMonitor::mount-pre-unmount not being emitted
192  577128 glib make check Failed to execute child process...
193  573673 Always show "backup" directories
194  578369 g_time_val_from_iso8601() parses timezones incorrectly
195  578002 Fix a small typo in GFile docs
196  578017 G_DEFINE_TYPE_EXTENDED docs
197
198 * Updated translations:
199  Arabic
200  Assamese
201  Basque
202  Bularian
203  Brazilian Portuguese
204  British English
205  Catalan
206  Danish
207  French
208  Galician
209  German
210  Greek
211  Hungarian
212  Italian
213  Japanese
214  Kannada
215  Lithuanian
216  Malayalam
217  Norwegian bokmål
218  Oriya
219  Polish
220  Punjabi
221  Russian
222  Simplified Chinese
223  Slovenian
224  Spanish
225  Swedish
226  Tamil
227
228
229 Overview of Changes from GLib 2.19.9 to GLib 2.20.0
230 ===================================================
231
232 * Base64 support: Avoid integer overflows. CVE-2008-4316
233
234 * Bugs fixed:
235  574019 GChecksum: document and guarantee hex characters in lower case
236  573454 Unable copy/move files to directories symlinked to gvfs share
237  561172 gnome-open fails on local URIs with anchors
238  573970 crash in gunixvolumemonitor:update_mounts when unmounting
239  573843 g_get_current_dir returns non-absolute path
240
241 * Updated translations:
242  Assamese (as)
243  Bengali (bn_IN)
244  Czech (cs)
245  Hindi (hi)
246  Italian (it)
247  Japanese (ja)
248  Lithuanian (lt)
249  Malayalam (ml)
250  Marathi (mr)
251  Oriya (or)
252  Polish (pl)
253  Romanian (ro)
254  Telugu (te)
255
256
257 Overview of Changes from GLib 2.19.8 to GLib 2.19.9
258 ===================================================
259
260 * GMarkup:
261  - Considerable speedup
262
263 * GIO
264  - Add G_FILE_CREATE_REPLACE_DESTINATION flag to allow replacing
265    the destination of a copying operation as if it did not exit before.
266  - Be more careful when classifying files as desktop files
267  - Support desktop file key X-GIO-NoFuse which disables the use
268    of fuse pathnames for %u and %U arguments
269
270 * Bugs fixed:
271  572672 glib/gthread.c: argument is different type
272  572464 Doc for g_file_get_contents
273  572151 “it's” and “its” confused in docs and comments
274  570501 g_win32_get_system_data_dirs uses invalid conversion...
275  167569 g_string_append_printf crashes on win32 when used...
276  572508 gmarkup speedup
277  560564 Replacing a symlink with its linked file truncates... 
278  549298 impossible to copy files with p (pipe) flag
279  543183 Clarify docs for g_file_has_prefix
280  540461 g_memory_output_stream_get_data_size() doesn't behave...
281  573462 GEmblemedIcon leak
282  573421 Clarify message format in GMountOperation
283  573658 Deadlock in giomodule.c
284  556706 Inconsistent help arguments -h, -?
285  573527 Wrong shell to run config.status in Makefile.in.in
286  573128 A couple of typos in GObject documentation
287
288 * Updated translations:
289  Catalan (ca)
290  British English (en_GB)
291  Spanish (es)
292  Basque (eu)
293  Finnish (fi)
294  French (fr)
295  Gujarati (gu)
296  Hebrew (he)
297  Hungarian (hu)
298  Korean (ko)
299  Maithili (mai)
300  Norwegian bokmål (nb)
301  Dutch (nl)
302  Portugese (pt)
303  Swedish (sv)
304  Thai (th)
305  Traditional Chinese (zh_HK)
306  Traditional Chinese (zh_TW)
307
308
309 Overview of Changes from GLib 2.19.7 to GLib 2.19.8
310 ===================================================
311
312 * GIO: Fix missing exports of new API
313
314 * Fix strict aliasing warnings and violations to make Glib work
315   with gcc 4.4
316
317
318 Overview of Changes from GLib 2.19.6 to GLib 2.19.7
319 ===================================================
320
321 * GIO
322  - GFile gained an attribute for the actual file size in bytes
323  - GMountOperation gained an "aborted' signal that allows to abort
324    a mount operation from the backend side
325
326 * Bugs fixed:
327  523742 Use noinst for non-installable libraries
328  566747 URIs opened with firefox %u load as local files
329  541225 Can't compile gio on AIX duplicate case value in gioerror.c
330  571598 GAsyncResult with NULL gobject
331  505042 add file attribute for actually used file size in bytes
332
333 * Updates translations:
334  Basque (eu)
335  Gujarati (gu)
336  Italian (it)
337  Japanese (ja)
338  Norwegian bokmål (nb)
339  Dutch (nl)
340  Portugese (pt)
341  Thai (th)
342  Vietnamese (vi)
343
344
345 Overview of Changes from GLib 2.19.5 to GLib 2.19.6
346 ===================================================
347
348 * New format macro to print goffset data: G_OFFSET_FORMAT
349
350 * GIO: 
351  - Add a GFilter{Input,Output}Stream::close-base-stream properties which
352    determine whether the base stream will be closed when the filter stream
353    is finalized.
354  - g_data_input_stream_read_line and ..._read_until have asynchronous
355    variants now.
356
357 * Bugs fixed:
358  568294 A wrong reference in the description of g_bookmark_file_...
359  563141 RFE: define G_OFFSET_FORMAT
360  569105 g_time_val_to_iso8601() assumes time_t==long
361  568394 dropping the last reference to a stream filter closes...
362  568741 g_buffered_input_stream_fill_async doesn't work
363  568723 g_buffered_input_stream_fill_async doesn't take count == -1
364  568575 _async functions for GDataInputStream
365
366 * Updated translations:
367  Bulgarian (bg)
368  Finnish (fi)
369  Hungarian (hu)
370  Oriya (or)
371  Swedish (sv)
372  Traditional Chinese (zh_HK)
373  Traditional Chinese (zy_TW)
374
375
376 Overview of Changes from GLib 2.19.4 to GLib 2.19.5
377 ===================================================
378
379 * Update included PCRE to 7.8
380
381 * g_base64_decode_inplace: New function to do base64 decoding in place
382
383 * Bugs fixed:
384  567138 get_package_directory_from_module() does not free ...
385  566569 gregex docs clarification
386  566573 g_match_info_fetch_pos docs
387  564728 Add function to decode base64 encoded data in place
388  567838 G_STRUCT_OFFSETOF fails to compile under icc 9.1
389  567977 textdomain() macro should not return NULL ...
390  512779 --disable-regex breaks compilation
391  566770 error code 0 for Too many open files is useless
392  565484 g_content_type_guess passes non-UTF8 text to XDG ...
393
394 * Updated translations:
395  Catalan (ca)
396  Spanish (es)
397  Italian (it)
398  Swedish (sv)
399
400  
401 Overview of Changes from GLib 2.19.3 to GLib 2.19.4
402 ===================================================
403
404 * GIO:
405   - Use O_NOATIME when sniffing mimetypes
406   - Add a convenience method to check if a GSimpleAsyncResult
407     is valid
408
409 * Bugs fixed:
410  560676 function access for g_threads_supported
411  565905 There is no g_context_group_set_translation_domain
412  564210 SUN Studio 12 has supported visibility attribute
413  565136 GObject's "notify" signal parameters are wrong in gtk-doc
414  565831 error in interface creation sample
415  566348 g_file_open_tmp uses the wrong g_mkstemp on win32
416  566064 Add NOATIME flag to query_info_flags
417  566170 g_async_result_verify_source_object
418
419 * Updated translations:
420  Spanish (es)
421  Norwegian bokmål (nb)
422  Brazilian Portugese (pt_BR)
423  Simplified Chinese (zh_CN)
424
425
426 Overview of Changes from GLib 2.19.1 to GLib 2.19.3
427 ===================================================
428
429 * Bugs fixed:
430  508021 Add support for the CRIS and CRISv32 architectures
431  526320 should not list mounts that the user doesn't have permission to use
432  558458 Cannot build gio tests on Solaris using SUN cc
433  555465 GUnix{Input,Output}Stream lacks fd/close_fd_at_close property
434  558298 Hide ecryptfs mounts
435  515777 incorrect date&time on copy
436  562452 Ensure we return G_IO_ERROR_CANCELLED if cancelling
437         g_simple_async_result_run_in_thread
438  473150 g_type_module_use inconsistently increases the use
439         counter in case of error
440  563150 G_GU?INT*_MODIFIER/FORMAT docs
441  563156 Document printing and scanning gunichar values
442
443 * Updated translations:
444  Hebrew (he)
445  Italian (it)
446  
447
448 Overview of Changes from GLib 2.19.0 to GLib 2.19.1
449 ===================================================
450
451 * GIO: 
452   - g_icon_to_string, g_icon_new_for_string: GIcon serialization support
453   - G_FILE_ATTRIBUTE_PREVIEW_ICON: new file attribute for preview images
454   - g_app_info_get_commandline: new function to get the full commandline
455   - g_mount_shadow, g_mount_unshadow, g_mount_is_shadowed: New functions 
456     to 'shadow' mounts (i.e. hide them from the UI when they already
457     have a different representation, like a bookmark) 
458
459 * Bugs fixed:
460  556186 gpoll.h breaks gmain.h inclusion
461  557087 mem leak in g_content_types_get_registered
462  556921 gpoll.h breaks hal compilation
463  557210 g_compute_checksum_for_* asserts with less than 2 bytes
464  558381 Add support for compile time assertions
465  558185 'parent' variable in g_local_file_get_child_for_display_name()
466         hits g_object_unref(NULL) assertion
467  558513 g_warn_if_fail FIXME in gtestutils
468  558672 NULL key lookup using g_hash_table_lookup_extended() 
469  555740 gicon serialization
470  557182 preview functionality
471  528320 Incorrect icons displayed for files with custom mimetype icons
472  556910 Memory leak: sub
473  557592 Missing include in gwinhttpfile.c
474  556415 Crash on Windows 2000 in g_winhttp_vfs_init()
475  555935 Clarify the mechanism of overwriting properties
476  552776 ac_cv_func_posix_getgrgid_r not mentioned
477  559448 GObject Reference Manual (typo)
478  561212 GFileReadMoreCallback API doc refers to non-existant function
479  560569 gkeyfile doesn't use the set list_separator in some cases
480  560568 gkeyfile docs buglet
481  559413 g_option_group_set_error_hook docs buglet
482  562378 callback return value not respected for callback option
483         with no arg
484  559110 Do not include libintl.h after glibintl.h
485  557603 carbon check output misplaced
486  562544 g_key_file_get_string and g_key_file_get_value
487         documentation does not explain the difference
488  547264 Missing "no flags" flag
489  562638 GDebugKey key member should be const
490  562639 g_parse_debug_flags() parsing "help"
491  562549 g_byte_array_free should tell how free data
492  559452 GObject Reference Manual (typo)
493  559462 GObject Reference Manual (typo)
494  559517 GObject Reference Manual (typo)
495  562538 GObject interface tutorial shouldn't finalise with
496         "Please forget everything"
497  561352 Leak of icon description
498  561375 Leaks mountpoint description
499  561807 inotify_sub.c: dup_dirname() fails to remove trailing '/'
500  562393 g_buffered_input_stream_read_byte broken if data available
501  541715 win32 : patch for warnings and signature problems in recent code
502  547481 g_data_input_stream_read_line behaves not as stated in the docs
503  548163 Nautilus displays wrong error message for too long file names
504  559633 gtk_image_new_from_gicon does not always work for .desktop files
505  555486 – No way to recover command line from GAppInfo
506
507 * Translation updates:
508  Spanish (es)
509  Ukrainian (uk)
510
511
512 Overview of Changes from GLib 2.18.1 to GLib 2.19.0
513 ===================================================
514
515 * Rewrite GHashTable to use open addressing with quadratic probing instead 
516   of chaining. This has the potential to reduce memory fragmentation 
517   significantly, while being slightly faster due to better locality and 
518   no need to call alloc/free functions for nodes. Benchmarks suggest it 
519   also uses less memory overall.
520
521 * Make g_poll available as public api
522
523 * New macros g_assert_error and g_assert_no_error to assert 
524   that a GError is set or unset
525
526 * g_cancellable_make_pollfd: New method to make a GPollFD for a cancellable
527
528 * g_app_info_can_delete, g_app_info_delete, g_app_info_reset_type_associations:
529   New functions to clean up app infos and content types
530
531 * When launching applications, always pass fuse file:// uris when possible,
532   and let gio convert such uris back to gio uris.
533
534 * Bugs fixed:
535  505361 gunixinputstream.c assumes poll() available
536  509446 portable blocking gio cancellation
537  553820 gpoll.c: undeclared identifier
538  553724 python interpretter path not patched in correctly
539  553857 gbacktrace.h requires signal.h
540  553447 g_assert_no_error()
541  554092 glib doesn't return G_FILE_ERROR_NOENT et al on OS X
542  528670 Always pass file:/// uri's in GAppLaunchContext
543  555224 Improve g_format_size_for_display doc
544  555309 giochannel breaks on error
545  554790 g_convert() misbehaves with winiconv versions
546  555314 mem leak in gmarkup
547  555313 GFileAttribute boxed type get_type function should...
548  552861 glib-2.0.m4 calls system(3) without storing its result
549  554557 Patch to fix gcc warnings about missing format specifiers
550  552107 Small libtool fixes
551  551355 Make glib build with libtool 2.2
552  555311 format not a string literal and no format arguments
553  556101 static mutex yields warnings with g++
554  556186 gpoll.h breaks gmain.h inclusion
555  526456 Open addressing in GHashTable
556  553426 cancellable clarifications
557  545350 GAppInfo deletion
558  545351 Reset associations for content type
559  552168 volume's mount not mounted after g_volume_mount_finish
560  554970 segfault when update-desktop-database is not available...
561  554745 GFileAttributeInfoList should be boxed
562  555121 Improved build-time handling of gio module-dir
563  555711 Wrong fallback order of mimetype icons
564  555331 Deprecate adoption of mounts
565  556335 make check fails in abicheck.sh
566  556334 Warning when building without selinux support
567  556422 g_file_enumerator_next_file: unclear...
568
569 * Updated translations:
570  Arabic (ar)
571  Danish (da)
572  Polish (pl)
573  Brazilian Portugese (pt_BR)
574  Romanian (ro)
575  Russian (ru)
576
577
578 Overview of Changes from GLib 2.18.0 to GLib 2.18.1
579 ===================================================
580
581 * Bugs fixed:
582  550433 g_test_init doesn't recognize --help
583  523463 Core dump in gmain.c:2482:IA__g_main_context_check
584  551228 G_STRFUNC on recent Sun compiler should be expanded...
585  551410 gtestutils.c: using printf without prototype
586  551731 g_date_set_time[_t] docs should mention what timezone
587  548321 <string.h> is not included in gi18n-lib.h
588  551149 xdgmime mem leak
589  550647 synchronous pipe I/O when reading mount reply
590  551887 Docs for g_desktop_app_info_new_from_filename aren't...
591  551681 g_content_type_guess() too naive with filenames
592  552352 g_app_info_launch doesn't work if "Path" key...
593  551408 gmodule.def generated to builddir...
594  552359 g_file_info_get_icon should return GThemedIcon, and...
595
596 * Updated translations:
597  Arabic (ar)
598  Bengali India (bn_IN)
599  British English (en_GB)
600  Hindi (hi)
601  Croatian (hr)
602  Korean (ko)
603  Oriya (or)
604  Turkish (tr)
605  Telugu (te)
606
607
608 Overview of Changes from GLib 2.17.7 to GLib 2.18.0
609 ===================================================
610
611 * Win32:
612   - rework the g_poll() implementation to match poll() semantics more closely
613
614 * Bugs fixed:
615  324234 Using g_io_add_watch_full() to wait for connect() to return...
616  548278 Async GETs connections are always terminated unexpectedly...
617  500246 Bug fixes for giowin32
618  523939 Example program for GValue
619  550096 GBookmarkFile parser is not forward compatible
620  550040 Move GString, rand and printf tests to the unit test framework
621  550104 trivial documentation fix for g_get_home_dir
622  548988 g_file_replace fails on Windows when the target file exists
623  550059 Wrong docs for g_emblemed_icon_add_emblem
624  548800 Missing a g_object_get_type function
625  550056 Missing documentation for g_emblemed_icon_get_emblems
626
627 * Updated translations:
628  Bulgarian (bg)
629  Czech (cs)
630  German (de)
631  Estonian (et)
632  Basque (eu)
633  French (fr)
634  Hebrew (he)
635  Hungarian (hu)
636  Italian (it)
637  Japanese (ja)
638  Lithuanian (lt)
639  Maithili (mai)
640  Dutch (nl)
641  Swedish (sv)
642  Thai (th)
643  Ukrainian (uk)
644  Vietnamese (vi)
645
646
647 Overview of Changes from GLib 2.17.6 to GLib 2.17.7
648 ===================================================
649
650 * More fixes for 64-bit Windows
651
652 * GIO
653  - Add a vfs implementation for HTTP and HTTPS URIs on Windows
654
655 * Bugs fixed:
656  546329 API docs for g_utf8_normalize() are incorrect
657  546876 Modify GMarkup parser to accept &#x1; .. &#x1f;
658  547200 g_utf8_find_next_char() issues
659  547637 unconditional #include of sys/statfs.h in configure
660  547337 G_DISABLE_DEPRECATED breaks tests build
661  547832 gtk+-2.12.11 fails to build - AC_PROG_MMAP too strict
662  502498 Test framework assertion failures should follow gcc
663  546371 Improve docs re g_file_monitor
664  546483 GThemedIcon:use-default-fallbacks is not readable without...
665  546132 GFileIcon is bindings-unfriendly
666  542156 zfs mount in home directory shown on nautilus desktop 
667  535124 umask 002 not being applied for new directories...
668  547080 g_file_copy leaks expected errors
669  546582 Callbacks from GFileMonitor present a GFile...
670  547262 Missing link in the docs
671
672 * Updated translations:
673  Arabic (ar)
674  Catalan (ca)
675  Spanish (es)
676  Basque (eu)
677  Finnish (fi)
678  Galician (gl)
679  Hebrew (he)
680  Marathi (mr)
681  Norwegian bokmål (nb)
682  Portugese (pt)
683  Brazilian Portugese (pt_BR)
684  Swedish (sv)
685  Thai (th)
686
687
688 Overview of Changes from GLib 2.17.4 to GLib 2.17.6
689 ===================================================
690
691 * Fix problems on 64-bit Windows
692
693 * g_markup_context_get_user_data: New function to access
694   the user_data outside of callbacks
695
696 * GIO
697  - g_mount_guess_content_type_sync: synchronous version of
698    g_mount_guess_content_type
699  - GEmblem: A GIcon implementation that adds emblem-related
700    metadata to icons
701  - GEmblemedIcon: A GIcon implementation that can add emblems
702    to icons
703
704 * Bugs fixed:
705  544088 option_test_LDADD is left in tests/Makefile.am
706  544465 gmarkup makes it hard to use pre-rolled parsers
707  545485 Implicit declaration of utime()
708  545798 "Since: 2.18" mark is missing in g_set_error_literal...
709  544140 fam-helper 64-bit issue
710  529694 SELinux context setting support
711  545157 wrong/no list of "open with" applications for .cc...
712  545203 gfile.c: argument is different type
713  545457 gdmsetup crashed with SIGSEGV in g_unix_mount_guess...
714  544177 Fix trivial cut and paste error in documentation
715  545395 Language tweak for g_value_set_string* docs
716  541036 Gnumeric crashes when trying to open Desktop...
717  546079 leak in xdgmime
718  545395 Language tweak for g_value_set_string* docs
719  546017 Don't copy attributes when copying a symlink
720
721 * Updated translations:
722  Arabic (ar)
723  Estonian (et)
724  Galician (gl)
725  Italian (it)
726  Japanese (ja)
727  Korean (ko)
728  Norwegian bokmål (nb)
729  Pashto (ps)
730  Portugese (pt)
731
732
733 Overview of Changes from GLib 2.17.3 to GLib 2.17.4
734 ===================================================
735
736 * GIO:
737  - New API to handle content types: g_mount_guess_content_type,
738    g_content_type_guess_for_tree.
739  - Export the eject-button signal on the volume monitor class
740  - New API to enable out-of-process volume monitors: 
741    g_volume_get_activation_root
742
743 * GObject:
744  - New API to handle signals without slots in the class structure:
745    g_signal_new_class_handler, g_signal_override_class_handler   
746
747 * Internationalization:
748  - Add an NC_ macro that is a no-op equivalent of C_
749
750 * GMarkup:
751  - Add two new functions g_markup_parse_context_push,
752    g_markup_parse_context_pop to support "subparsers"
753
754 * Bugs fixed:
755  541208 Functions to easily install and use signals without...
756  541507 Ambiguous description of assigned characters in the...
757  543040 async reading on dummy file will crash on GIO_USE_VFS=local
758  543560 enable gio-FEN back-end warnings on Solaris will crash...
759  528317 GRegex does not allow recursion limit
760  337518 GMarkup: Subparser support
761  541794 drive-eject-button signal
762  541793 activation root for volumes
763  467707 test_iconv_state() in tests/convert-test.c fails on AIX 5.3
764  428048 2 of 51 tests fail on Solaris
765  542332 small fix for error message in GMarkup
766  482413 get_contents_stdio -- overflow and memory corruption
767  406120 g_ascii_strtod
768  334234 "printf" format error
769  536996 Missing noop i18n macro equivalent to C_
770  540616 mem leak in filechooser button
771  539229 gobject-query calls itself query
772  521589 [RFC] gobject documentation should mention Vala
773  543168 Description of G_SLICE=debug-blocks discourages its use
774  543220 Case collision on gio-extension-points.html
775  530759 update the gobject tutorial to the XXI century
776  535223 gbookmark file inefficiency ...
777  543504 crash in Epiphany Web Browser: Opening local file
778
779 * Updated translation:
780  German (de)
781  Estonian (et)
782  Pashto (ps)
783  Albanian (sq)
784  Thai (th)
785  Traditional Chinese (zh_HK)
786  Traditional Chinese (zh_TW)
787
788
789 Overview of Changes from GLib 2.17.1 to GLib 2.17.3
790 ===================================================
791
792 * PCRE
793  - fix for CVE-2008-2371 
794
795 * Bugs fixed:
796  538119 glib's mainloop leaks a pipe to sub-processes
797  537635 Corrections and improvements to g_time_val_{to,from}_iso8601
798  539067 The document g_io_channel_win32_new_fd() says...
799  535949 annotate g_strip_context and g_dpgettext with G_GNUC_FORMAT
800  539123 annotate g_d[n]gettext with G_GNUC_FORMAT
801  539074 Cannot get exit status with g_spawn_command_line_sync
802  316221 G_LOCK warns about breaking strict-aliasing rules
803  539770 migrate gstrfunc unit tests to gtest
804  539626 Update docstrings for g_object_freeze_notify and g_object_thaw_notify
805  538044 unconditional use of LC_MESSAGES
806  540545 Monotonic time and timer offset
807  535947 want g_set_error_literal
808  539999 glibconfig.h: add GLIB_USING_SYSTEM_PRINTF 
809  536252 GFileEnumerator should allow access to the containing GFile
810  538362 Get Win32 icons back in the file chooser
811  540802 g_list_prepend doesn't concat lists
812  540423 unrecoverable error after g_seekable_truncate
813  538836 make check failure on PPC and ALPHA: pltcheck.sh on g_atomic_pointer_get
814  539090 g_content_type_from_mime_type() should unalias
815  540331 g_file_append_to () documentation: can return NULL
816  534639 add g_desktop_app_info_new_from_keyfile
817  536733 gio build failure on Irix
818  536160 Add g_file_monitor()
819  538127 FileChooser broken on win32
820  531476 /live-g-file/test_traverse_structure test fails on Mac HFS+
821  538564 gio should have gio-types.h
822  540047 glib-genmarshal.c: '#include <io.h>' is too before
823
824 Updated translations:
825  Korean (ko)
826  Occitan (oc)
827
828
829 Overview of Changes from GLib 2.17.0 to GLib 2.17.1
830 ===================================================
831
832 * New function: g_utime(), a gstdio wrapper for utime()
833
834 * New functions: g_dgettext() and g_dngettext(), wrappers
835   for corresponding gettext functions with added functionaliy
836
837 * Support the latest version of the shared-mime spec, including
838   icons for mime types 
839
840 * New function: g_themed_icon_prepend_name()
841
842 * Bugs fixed: 
843  535418 Please document which glib version defines goffset
844  528715 Misprint in the description of the interface g_type_class_add_private
845  528714 Misprint in the description of the interface g_param_spec_flags
846  537260 Doc bug in G_TYPE_INSTANCE_GET_CLASS()
847  530527 Misprint in the description of the interface 
848         g_cclosure_marshal_VOID__FLAGS
849  530526 Misprint in the description of the fields 'class_init' and 
850         'class_finalize' of the structure GTypeInfo
851  528719 Improvement to the documentation of the "g_object_connect" interface
852  528172 gtk_signal_handlers_unblock_* functions return value
853         amount of matched signals, not amount of actually unblocked
854  528717 Misprint in the description of the parameter 'type_id' for 
855         the interface g_type_register_fundamental
856  528716 Misprint in the description of the parameter 'iface_data' for 
857         the callback types GInterfaceInitFunc and GInterfaceFinalizeFunc 
858  537555 GObject instantiation not thread safe
859  537546 'desktop' shortcut in file chooser looks like a generic folder
860  537392 Additional colon in xattr name
861  536641 Filesystem querying in gio does not list AFS and autofs file systems
862  528600 g_dummy_file_get_parent("scheme://example.com/")
863  503071 Application direction changes to right to left even if theres no 
864         translation
865  502511 g_assert_cmphex prints invalid message
866  338162 Use po/LINGUAS
867  314453 Nautilus crashes in Solaris when browsing the attached file
868  529321 make check fails in glib/pcre
869  455215 g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD 
870         fallback to $HOME/Desktop if xdg-user-dirs is not in use
871  498732 g_key_file_to_data cannot fail
872  511367 add g_file_make_directory_with_parents
873  531900 Use __builtin_offsetof for G_STRUCT_OFFSET if building with 
874         gcc 4.0 or newer
875  536158 also bump GHashTable version when a node is removed via
876         g_hash_table_iter_remove()/g_hash_table_iter_steal()
877  531403 g_utf8_collate broken on Mac
878  535628 test/patterntest.c still includes gpattern.h directly
879  535625 alias.h:2648: error: 'utime' undeclared here (not in a function)
880
881 * Translation updates:
882  Arabic (ar)
883  German (de)
884  Italian (it)
885  Norwegian bokmål (nb)
886  Thai (th)
887
888
889 Overview of Changes from GLib 2.16.x to GLib 2.17.0
890 ===================================================
891
892 * Update to Unicode 5.1
893
894 * Update included libcharset to the one shipped with libiconv 0.12
895
896 * Update included PCRE to 7.7
897
898 * Enforce that only toplevel headers are directly included.
899   This is turned on by default for GObject and GIO. To turn
900   it on for GLib, define G_DISABLE_SINGLE_INCLUDES.
901
902 * Fix library version of GIO.  GLib 2.16 shipped with libgio-2.0.so.0.0.0
903
904 * On Solaris, use FEN for file monitoring in GIO
905
906 * Use the GIO_EXTRA_MODULES environment variable to find
907   additional GIO modules 
908
909 * G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size
910   function attribute
911
912 * g_checksum_reset: New function to reset the state of a GChecksum 
913
914 * g_unix_mount_monitor_set_rate_limit: New function to limit the 
915   rate at which events are reported
916
917 * g_file_query_file_type: New utility function to query the type of
918   a file
919
920 * g_memory_output_stream_get_data_size: New function to obtain the
921   size of the written data.
922
923 * Bugs fixed:
924  522292 Gives warnings in glib/gutils.h with GCC in C99 mode
925  523298 win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
926  518160 replace two g_strdup_printf calls in GBookmarkFile
927  523877 gbookmarkfile: avoid using g_string_append_printf() and
928         other optimizations 
929  525192 100% CPU if run main loop with no IO sources
930  315437 extern inline -> static inline
931  524314 g_convert() on Win32 implicitly converts full width
932         alphanumerics into half width
933  525732 Error in documentation for g_list_first
934  525674 A typo in gmarkup.c
935  448943 g_timeout_add_seconds() problems
936  525972 UCS-4 not in the new win_iconv implementation
937  526619 make test-report crash
938  491554 Update to Unicode 5.1.0
939  519137 g_slice_dup macro needs cast for 64-bit platform
940  528752 Win32 build and SSL not working
941  530457 G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
942  528667 Typos in testing module documentation
943  459905 Bug in wcwidth data
944  534085 g_unichar_iswide_cjk() has a totally wrong table
945  501651 Update glib/libcharset
946  519026 G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
947  534319 GLib's .pc files could use Libs.private
948  534137 Typo in g_spawn_async_with_pipes doc
949  517419 gio win32 directory monitor
950  526796 Wrong order of arguments in g_file_copy's fallback
951  530196 _g_local_file_has_trash_dir() doesn't handle st_dev == 0
952  532965 Should not return filesystem::free for certain file systems
953  525553 fix typo and nitpicking in GArray documentation
954  526572 Missing * in declaration of parent_class in Object
955         Destruction section of GObject Reference Manual
956  528648 Extra >s in Object Construction section
957  535021 g_param_spec_internal documentation should
958         describe purpose of nick and blurb
959  521513 Firefox crash when using file picker
960  528433 gdesktopappinfo snafu ...
961  533369 API g_file_info_get_attribute_string () unables to get "...
962  521045 glib f_fstypename miscellany
963  521672 compile error
964  521946 control rate limit on GUnixMountMonitor
965  522335 Fails to build: glib/gtester.c:276: error: 'ARG_MAX' unde...
966  523015 Implement sliding window based upload operation
967  523019 Use new GCC 4 feature
968  523338 list nfs4 as a nfs mount type
969  524350 Make glib build without NLS again
970  524579 g_file_copy reports wrong total on progress callback for ...
971  524742 A typo in gtestutils.c.
972  524950 Minor documentation typos.
973  525866 the user directory should not be considered as a mount to...
974  526320 should not list mounts that the user doesn't have permiss...
975  527132 nautilus crash when making ftp connection
976  532852 CRITICAL **: totem_pl_parser_parse_with_base: assertion `...
977  534759 Build failure in gio
978  534764 Typo in error produced by g_file_make_directory
979  521851 Redudant tests in gunixmounts.c
980  524344 glib/gthread.h still use G_GNUC_PRETTY_FUNCTION
981  525060 glib fails to build with -DG_DISABLE_ASSERT in CPPFLAGS o...
982  534177 Invalid description of the interface g_cclosure_marshal_S...
983  520715 Add GFile method g_file_query_file_type
984  523039 nautilus can't access to trash/computer/network if gvfs i...
985  
986 * Updated translations:
987  Arabic (ar)
988  Bulgarian (bg)
989  Catalan (ca) 
990  Czech (cs)
991  Greek (el)
992  Candian English (en_CA)
993  British English (en_GB)
994  Spanish (es)
995  Estonian (et)
996  Basque (eu)
997  Galician (gl)
998  Hebrew (he)
999  Hungarian (hu)
1000  Japanese (ja)
1001  Lithuanian (lt)
1002  Norwegian bokmål (nb)
1003  Dutch (nl)
1004  Occitan (oc)
1005  Portugese (pt)
1006  Russian (ru)
1007  Slovak (sk)
1008  Albanian (sq)
1009  Swedish (sv)
1010  Turkish (tr)
1011  Vietnamese (vi)
1012
1013
1014 Overview of Changes from GLib 2.16.0 to GLib 2.16.1
1015 ===================================================
1016
1017 * Fix a crash in g_themed_icon_new
1018
1019 * Update the included PCRE to 7.6
1020
1021
1022 Overview of Changes from GLib 2.15.6 to GLib 2.16.0
1023 ===================================================
1024
1025 * Fix the definition of G_INLINE_FUNC to work with gcc 4.3.0
1026
1027 * GIO:
1028  - Add missing GMountMountFlags argument to g_unix_volume_mount
1029  - Fix the adopt_orphan_mount vfunc to take a volume monitor 
1030    reference
1031  - Add properties to GThemedIcon for bindings sake
1032
1033 * Bugs fixed:
1034  520484 gvfsd-trash crashed with SIGSEGV in g_path_is_absolute()
1035  510855 g_checksum_update(): Take -1 for length.
1036  517676 g_themed_icon_new*() do more than call g_object_new().
1037  518816 should handle rmdir returning EEXIST correctly
1038  519352 g_[s]list_delete_link() docs
1039  519489 Fixes for sparse warnings in gio
1040  520169 add monitor argument to vfunc for GVolumeMonitor
1041  520700 Add type check in g_file_query_exists
1042  521145 FILE_READ_ONLY_VOLUME not present on Mingw32
1043  518720 No MIME type for empty files
1044  521013 in documentation, goffset doesn't say "Since 2.x"
1045  521028 Missleading error messages from g_io_channel_set_encoding()
1046  517484 GMainLoop could set the thread "Alertable" for APCs to be... 
1047
1048 * Updated translations:
1049  Assamese (as)
1050  Bengali India (bn_IN)
1051  Czech (cs)
1052  German (de)
1053  Spanish (es)
1054  Estonian (et)
1055  Finnish (fi)
1056  French (fr)
1057  Gujarati (gu)
1058  Italian (it)
1059  Lithuanian (lt)
1060  Malayalam (ml)
1061  Marathi (mr)
1062  Norwegian bokmål (nb)
1063  Romanian (ro)
1064  Russian (ru)
1065  Slovak (sk)
1066  Ukrainian (uk)
1067
1068  
1069 Overview of Changes from GLib 2.15.5 to GLib 2.15.6
1070 ===================================================
1071
1072 * GIO:
1073  - New file attributes: trash::item-count, filesystem::use-preview
1074  - Rename g_file_contains_file to g_file_has_prefix
1075  - g_file_query_filesystem_info grew async variants
1076  - g_themed_icon_append_name: new convenience function
1077  - g_content_type_get_icon is implemented now
1078  - Only show mounts in /media and ~
1079  - g_file_contains_file has been renamed to g_file_has_prefix
1080
1081 * Win32:
1082  - g_win32_get_package_installation_directory_of_module: new function
1083    which supersedes g_win32_get_package_installation_directory
1084  - Use alertable wait functions so that I/O completion routines or 
1085    user-mode Asynchronous Procedure Calls can be run
1086  - Fix race conditions in g_spawn implementation on win32
1087
1088 * Other:
1089  - g_uri_get_scheme has been renamed go g_uri_parse_scheme
1090
1091 * Updated translations:
1092  Arabic (ar)
1093  Belarusian Latin (be@latin)
1094  Catalan (ca) 
1095  British English (en_GB)
1096  Finnish (fi)
1097  Galician (gl)
1098  Hebrew (he)
1099  Italian (it)
1100  Kannada (kn)
1101  Norwegian bokmål (nb)
1102  Dutch (nl)
1103  Brazilian Portugese (pt_BR)
1104  Vietnamese (vi)
1105
1106
1107 Overview of Changes from GLib 2.15.4 to GLib 2.15.5
1108 ===================================================
1109
1110 * Update the included PCRE to 7.6
1111
1112 * GIO:
1113  - g_volume_should_automount: new function to determine if a volume
1114    should be mounted automatically
1115  - g_file_query_default_handler: new convenience function to get
1116    the default handler for a file
1117  - g_app_info_launch_default_for_uri new convenience function to
1118    launch the default handler for a URI
1119  - Use mimeapps.list and defaults.list as discussed on xdg list
1120    recently
1121  - g_app_info_get_default_for_uri_scheme has a real implementation
1122    now (gvfs provides a GConf-based implementation)
1123  - There is the beginning of a test suite
1124  - standard::description:  new file attribute
1125  - GMountMountFlags flags argument added to mount calls
1126
1127 * GObject:
1128  - class initialization is now threadsafe
1129
1130 * Updated translations:
1131   Arabic (ar)
1132   Catalan (ca)
1133   Spanish (es)
1134   Basque (eu)
1135   Italian (it)
1136   Japanese (ja)
1137   Kannada (kn)
1138   Korean (ko)
1139   Macedonian (mk)
1140   Occitan (oc)
1141   Portugese (pt)
1142   Brazilian Portugese (pt_BR)
1143   Swedish (sv)
1144   Thai (th)
1145
1146
1147 Overview of Changes from GLib 2.15.3 to GLib 2.15.4
1148 ===================================================
1149
1150 * G_GNUC_PRETTY_FUNCTION has been deprecated
1151
1152 * GIO:
1153  - g_file_copy has an async variant now
1154  - Drives and volumes now have API to get identifiers
1155    like Hal UDIs or UUIDs.
1156  - There is now a registration API to let modules register
1157    extensions they provide, such as volume monitor implementations
1158
1159 * Bugs fixed:
1160   511807 g_time_val_to_iso8601() uses MT-unsafe gmtime() function
1161   316260 [patch] Doc patches for gnode (2.8.1)
1162   385132 solaris gettext support fix
1163   484261 ./configure check for system PCRE unicode support fails w...
1164   510292 GOption main help not shown
1165   511580 Implement g_file_copy_async
1166   511654 Compile errors due to C99 constructs
1167   487909 g_utf8_strreverse and combining marks
1168   512381 unused variable 'is_main_group' 
1169
1170 * Updated translations:
1171   Arabic (ar)
1172   Belarusian (be)
1173   Czech (cz)
1174   Spanish (es)
1175   French (fr)
1176   Galician (gl)
1177   Portugese (pt)
1178   Russian (ru)
1179   Swedish (sv)
1180   Thai (th)
1181
1182
1183 Overview of Changes from GLib 2.15.2 to GLib 2.15.3
1184 ===================================================
1185
1186 * GChecksum:
1187  - g_checksum_update can accept nul-terminated strings
1188  - The MD5 implementation works correctly on buffers 
1189    that are longer than 64 bytes
1190
1191 * GIO:
1192  - Don't include a copy of the inotify headers, rely on system headers
1193  - g_file_find_enclosing_mount has an async variant now
1194  - Reduntant seek API on file streams has been removed
1195
1196 * Bugs fixed:
1197   508602 gmemory{in|out}putstream.c: unknown pointer size
1198   508771 There is no g_file_test/exists() for GFile
1199   508773 g_uri_escape_string() documentation unclear.
1200   509465 AM_PATH_GLIB_2_0 doesn't support gio
1201   509626 async functions: Document allowed NULL callback?
1202   509990 GSeekable documentation unclear
1203   510448 No inotify support on ARM or SH5
1204   510855 g_checksum_update(): Take -1 for length. 
1205
1206 * Updated translations:
1207   Basque (eu)
1208   Marathi (mr)
1209   Swedish (sv)
1210   Ukrainian (uk)
1211
1212
1213 Overview of Changes from GLib 2.15.1 to GLib 2.15.2
1214 ===================================================
1215
1216 * GIO:
1217  - Mount operation API change: unhandled methods get reported via 
1218    the reply, rather than by the signal emission return value
1219  - File monitor API change: Add a GError argument to g_file_monitor_file
1220  - g_unix_mount_guess_should_display(): new function
1221
1222 * Bugs fixed:
1223   508224 [PATCH] FAM backend crashes due to double free
1224   508074 GAsyncResult documentation suggests g_freeing it.
1225   508108 GFile documentation slightly unclear.
1226   508309 rpc_pipefs mount points should be hidden
1227   508378 GFileInfo documentation implies that it changes attribute...
1228   508719 g_file_get_relative_path fails if parent is root
1229   508773 g_uri_escape_string() documentation unclear.
1230
1231 * Updated translations:
1232   Arabic (ar)
1233   Spanish (es)
1234   Hebrew (he)
1235   Italian (it)
1236   Korean (ko)
1237   Turkish (tr)
1238
1239
1240 Overview of Changes from GLib 2.15.0 to GLib 2.15.1
1241 ===================================================
1242
1243  * Portability fixes:
1244  - Assertion functions are marked as noreturn again
1245  - Handling of inline functions has been fixed to work with gcc 4.3
1246  - C99 comments have been removed from headers
1247  - The nonportable sed -i option is no longer used
1248
1249  * GIO:
1250   - Clarified the semantics of g_app_info_get_all()
1251   - API for memory input and output streams has been changed a bit
1252   - GDirectoryMonitor has been removed; GFileMonitor can monitor
1253     files and directories now
1254
1255  * Bugs fixed:
1256    504829 Invalid environment passed to g_spawn_async in g_desktop_...
1257    505258 crash in Users and Groups: Adding a user
1258    505815 g_content_types_get_registered should not g_free keys
1259    491218 g_timer_new() doesn't initialize timer->end
1260    315437 extern inline -> static inline
1261    476856 Inconsistency between standard and implementation of the ...
1262    480122 g_module_open fails to open modules with ".la" extension
1263    495589 gspawn.c failing to set FD_CLOEXEC
1264    500273 doesn't build with --disable-visibility
1265    504142 Do not show empty groups in --help output
1266    504879 giofam incorrectly linked
1267    505042 add file attribute for actually used file size in bytes
1268    505058 xattr namespace docs
1269    505674 Misprint in the definition of the macro G_CCLOSURE_SWAP_DATA
1270    505730 Fails to build on OSX 10.4: _NSGetEnviron not declared
1271    505887 older darwin lacks lchown
1272    506374 gmemoryinputstream api
1273    506461 Conversion of g_assert_not_reached() and friends into fun...
1274    503051 Small bug in glib interface
1275    506395 Updates to GIO documentation
1276    507628 Missing .pc entry for gio linking against glib
1277    505195 [patch] typo in g_try_new0 docs 
1278    507822 g{file,directory}monitor changes signal problem
1279    506377 gmemoryoutputstream write implementation
1280    507835 bug in gunixinputstream 
1281
1282  * Updated translations:
1283    Arabic (ar)
1284    Belarusian Latin (be@latin)
1285    Spanish (es)
1286    Basque (eu)
1287    Irish (ga)
1288    Hebrew (he)
1289    Occitan (oc)
1290    Vietnamese (vi)
1291
1292
1293 Overview of Changes from GLib 2.14.x to GLib 2.15.0
1294 ===================================================
1295
1296 Major new features:
1297
1298  * GIO: a VFS API, designed to replace GnomeVFS. The GIO implementation 
1299    in GLib has support for local filesystems. The new, separate gvfs 
1300    module contains various backend implementations (cifs, ftp, sftp,
1301    http, ...)
1302
1303  * GChecksum: provides various hash algorithms, such as MD5, SHA-1
1304    and SHA-256
1305  
1306  * GTest: a test framework 
1307  
1308 Smaller additions:
1309
1310  * GHash:
1311  - GHash has iterators, as an alternative to g_hash_table_foreach
1312
1313  * GMarkup: 
1314  - g_markup_parse_context_get_element_stack: New function to
1315    get the stack of open elements
1316  - G_MARKUP_PREFIX_ERROR_POSITION: New flag to improve error
1317    reporting
1318  - g_markup_collect_attributes: Convenience function for handling
1319    attributes
1320
1321 * GKeyFile: 
1322  - Functions that take a GError now return a boolean to indicate 
1323    success, instead of void
1324  - Various performance improvements
1325
1326 * GAsyncQueue:
1327  - g_async_queue_new_full: new function that allows to specify
1328    a free function for leftover elements
1329  
1330 * GError:
1331  - g_prefix_error and g_propagate_prefixed_error: New functions
1332    to ease error propagation
1333
1334 * Internationalization:
1335  - C_: A new 2-argument variant of the Q_() macro 
1336  - Use native character set conversion API on Windows
1337
1338 * GLib builds with automake 1.10
1339
1340 * Bugs fixed:
1341  455725 specific combination of g_utf8_strlen and g_pattern_match...
1342  467537 g_convert_with_iconv() not resetting iconv() state correc...
1343  497033 Commandline option parser should warn about missing optio...
1344  504527 gchecksum: Conditional jump or move depends on uninitiali...
1345  445362 Non-numeric local labels in gatomic.c are causing linker ...
1346  482313 gregex: no way to tell why compilation failed
1347  317775 main loops continues to run after g_main_loop_quit() has ...
1348  418778 Insufficient pkg-config version requirement
1349  436293 g_option_context_new() doc should mention that the string...
1350  466557 glib-mkenums shifts ARGV[0] to undefined
1351  468882 GKeyFile doesn't accept "True" as a true boolean value
1352  469551 application --help messages are garbaged on none UTF-8 lo...
1353  479724 Memory leak upon calling "g_main_loop_run" in the seconda...
1354  490061 outptrs uninitialized after g_parse_long_long
1355  490637 gobject documentation patch
1356  495294 glib-genmarshal prints warnings but returns 0
1357  496046 option to prefix location of errors for GMarkup
1358  498113 tests/regex-test fails on 64bit environment
1359  500506 Fails to build on OSX 10.4
1360  500638 gkeyfile speedup ...
1361  500875 Make check fails as there is no "test" target for "build"...
1362  502511 g_assert_cmphex prints invalid message
1363  502927 g_array_index triggers cast aligment warning
1364  503029 g_time_val_from_iso8601 parse non-ISO8601 dates
1365  503222 Need context to translate
1366  503420 gkeyfile leaks a hash table
1367  503470 Fix build when builddir != srcdir
1368  504227 Inverse variant for g_test_trap_assert_stdout, g_test_tra...
1369  71704  file include order
1370  491957 Misprint in the specification of the interface "g_main_co...
1371  491959 Misprint in description of the structure "GThreadPool"
1372  491965 Mistype in the specification of the function "g_hook_list...
1373  491966 Misprint in the specification of the interface "g_main_co...
1374  491968 The documentation does not mention the restriction for th...
1375  491970 The documentation for the interface "g_date_clamp" is inc...
1376  491974 The documentation of the interface "g_main_context_iterat...
1377  491975 The documentation for the interfaces "g_io_channel_read_u...
1378  491979 Misprint in the description of the interfaces g_key_file_...
1379  491982 Misprint in the description of the interface "g_key_file_...
1380  501107 EXTRA_DIST automake warnings
1381  501997 g_utf8_normalize() returns NULL on invalid string
1382  502590 C_/g_dpgettext efficiency
1383  464259 g_set_application_name() docs should say "Since 2.2"
1384  496518 gbase64.c API doc clarification
1385  498728 g_key_file_get_*_list should set length to 0 when returni...
1386  500361 Improve docs for g_array_free() and g_ptr_array_free()
1387  501853 g_checksum_get_digest docs
1388  503862 Allow NULL strings in g_parse_debug_string()
1389  142676 Q_
1390  367550 Add g_async_queue_new_full() with GDestroyNotify function
1391  375651 Minor enhancements to GKeyFile API
1392  443648 MD5 digest support
1393  449937 Upgrade auto* sources to be clean under automake1.9
1394  452887 gmarkup context "get element" function is useless when ca...
1395  491549 [PATCH] Eliminate libiconv dependency on Windows
1396  500507 GHashTableIter API 
1397
1398 * Translation updates
1399  Belarusian Latin (be@latin)
1400  Czech (cs)
1401  German (de)
1402  Spanish (es)
1403  Esperanto (et)
1404  French (fr)
1405  Korean (ko)
1406  Marathi (mr)
1407  Norwegian bokmål (nb)
1408  Brazilian Portugese (pt_BR)
1409  Slovenian (sl)
1410  Swedish (sv)
1411
1412
1413 Overview of Changes from GLib 2.14.2 to GLib 2.14.3
1414 ===================================================
1415
1416 * Update PCRE to 7.4
1417
1418 * Bugs fixed:
1419  487491 Fix some warnings from sparse
1420  488068 Small (one-time) memory leak in glib_gettext initialization
1421  493688 TYPE macro "_get_type ()" is documented wrong
1422
1423 * Updated translations:
1424  Arabic (ar)
1425  Belarusian Latin (be@latin)
1426  Estonian (et)
1427  Irish (ga)
1428  Slovenian (sl)
1429
1430  
1431 Overview of Changes from GLib 2.14.1 to GLib 2.14.2
1432 ===================================================
1433
1434 * Bugs fixed:
1435  476849 Invocation of the interface "g_hook_free" fails in certai...
1436  359165 marshallers can throw warnings with -Wunused
1437  477957 more discussion on g_value_set_object vs. g_value_take_ob...
1438  478459 G_DEFINE_DYNAMIC_TYPE_EXTENDED doesn't work with G_IMPLEM...
1439  483337 inline is disabled for MSVC when compiling C code
1440  478349 Broken link to gettext website
1441  469231 g_spawn optimization for setting all open fds to CLOEXEC 
1442
1443 * Updated translations:
1444 Arabic (ar)
1445 Galician (gl)
1446 Hebrew (he)
1447 Korean (ko)
1448
1449
1450 Overview of Changes from GLib 2.14.0 to GLib 2.14.1
1451 ===================================================
1452
1453 * Bugs fixed:
1454  476840 Invocation of the interface "g_utf8_strreverse" crashes f...
1455  444765 Fix FIXME in gregex.c when new pcre is out
1456  464145 g_markup_escape_text Produces Invalid XML
1457  465625 g_type_default_interface_ref() does not ensure working g_...
1458  466768 Clearify that comments can be put anywhere in a Key-file.
1459  474229 The GError documentation should give convention for the G...
1460  474899 G_BREAKPOINT() docs inaccurate
1461  475854 Overuse of -lpcre when using system pcre
1462  473879 Incorrect includes in gregex.c
1463  468694 Typoes in documentation
1464  469051 g_snprintf () talks about characters where it probably me...
1465  457601 Missing arch specific atomic implementation
1466  475923 Missing pcre flags when static-linking against glib
1467  475619 glibthread-2.0.la does not list -lpthread
1468
1469 * Updated translations:
1470  Bulgarian (bg)
1471  Catalan (ca)
1472  Danish (da)
1473  German (de)
1474  Canadian English (en_CA)
1475  British English (en_GB)
1476  Spanish (es)
1477  Estonian (et)
1478  Finnish (fi)
1479  French (fr)
1480  Gujarati (gu)
1481  Hungarian (hu)
1482  Italian (it)
1483  Georgian (ka)
1484  Kannada (kn)
1485  Lithuanian (lt)
1486  Makedonian (mk)
1487  Norwegian (nb)
1488  Dutch (nl)
1489  Polish (pl)
1490  Portugese (pt)
1491  Brazilian Portugese (pt_BR)
1492  Romanian (ro)
1493  Russian (ru)
1494  Albanian (sq)
1495  Serbian (sr, sr@Latn)
1496  Swedish (sv)
1497  Tamil (ta)
1498  Thai (th)
1499  Ukrainian (uk)
1500  Vietnamese (vi)
1501
1502
1503 Overview of Changes from GLib 2.13.7 to GLib 2.14.0
1504 ===================================================
1505
1506 * Last-minute API additions:
1507  - Make g_unichar_combining_class public
1508  - Add goffset type, add G_MAXSSIZE and G_MINSSIZE
1509
1510 * Update PCRE to 7.2
1511
1512 * Bugs fixed:
1513  453998 Make _g_unichar_combining_class() public
1514  462549 gregex.c: variable is declared at middle of block
1515  417068 g_file_test doc inconsistency
1516
1517 * Updated translations:
1518  Assamese (as)
1519  Basque (eu)
1520  Kannada (kn)
1521  Malayalam (ml)
1522  Dutch (nl)
1523  Polish (pl)
1524  Brazilian Portugese (pt_BR)
1525  Turkish (tr)
1526
1527
1528 Overview of Changes from GLib 2.13.6 to GLib 2.13.7
1529 ===================================================
1530
1531 * The memory corruption warning from the slice allocator that
1532   occurred when threads were initialized after the slice allocator
1533   has been removed, as the slice allocator now works fine
1534   in this scenario.
1535
1536 * New functions g_once_init_enter() and g_once_init_leave() make
1537   it easier to write threadsafe one-time initialization functions 
1538  
1539 * Bugs fixed:
1540  454473 Simple XML Subset Parser terminates on invalid XML
1541  445813 g_module_open error, add file name
1542  453796 errno gets clobbered by g_filename_display_name
1543  341988 don't use "-c" with msgfmt in Makefile.in.in
1544  447048 Please produce slightly more output during long tests
1545  454785 GModule documentation lists same block of code twice.
1546  454786 GModule documentation lists same paragraph twice.
1547  383155 small docs quirks in gobject/closure API documentation
1548  65041  _get_type() functions aren't thread safe
1549
1550 * Updated translations
1551  Assamese (as)
1552  Spanish (es)
1553  Gujarati (gu)
1554  Japanese (ja)
1555  Korean (ko)
1556  Macedonian (mk)
1557
1558
1559 Overview of Changes from GLib 2.13.5 to GLib 2.13.6
1560 ===================================================
1561
1562 * Reintroduce a GType typedef whose removal in 2.13.5
1563   caused trouble for C++ bindings
1564
1565 * Bugs fixed:
1566  450216 docs not explicit enough about g_free()
1567  451459 g_type_register_static_simple calls g_type_register_static
1568
1569 * Updated translations
1570  Norwegian bokmål (nb)
1571  Sinhala (si)
1572
1573
1574 Overview of Changes from GLib 2.13.4 to GLib 2.13.5
1575 ===================================================
1576
1577 * xdg-user-dirs support: 
1578  - the Desktop directory is guaranteed to be defined
1579  - user-dirs.dirs is no longer reloaded on changes
1580
1581 * Slice allocator: 
1582  - new api to duplicate slices
1583
1584 * Regular expression support:
1585  - GRegex is a boxed type now
1586
1587 * Bugs fixed:
1588  44793 make check failing in trunk
1589  354522 Small problem with PLT hiding 6 symbols
1590  363986 glib 2.12.4 does not compile with SGI IDO cc
1591  443869 g_type_class_add_private doesn't warn when adding 0-sized...
1592  446859 Legitimately return 0 for g_quark_from_string(NULL)
1593  447534 Small typo in g_timeout_add_seconds() doc
1594  447583 GStaticRWLock
1595  447935 g_get_current_dir SIGSEGV on long path
1596  448260 CLAMP has surprising result if low > high
1597  57693  g_string_vprintf()
1598  442029 add g_slice_dup()
1599  445065 Add GRegex boxed type
1600  448819 Add full version of g_timeout_add_seconds()
1601
1602 * Updated translations: 
1603  Swedish (sv)
1604  Oriya (or)
1605  Hebrew (he)
1606  Spanish (es)
1607  Estonian (et)
1608
1609  
1610 Overview of Changes from GLib 2.13.3 to GLib 2.13.4
1611 ===================================================
1612
1613 * Bugs fixed:
1614  444121 g_get_user_special_dir deadlocks
1615  444161 invalid UTF8 in key name shows up as valgrind error in g_...
1616  444130 g_option_context_get_help() is broken when there's a desc...
1617
1618
1619 Overview of Changes from GLib 2.13.2 to GLib 2.13.3
1620 ===================================================
1621
1622 * GKeyFile:
1623  - Added defines for easier handling of desktop files
1624
1625 * Unicode support:
1626  - Update g_unichar_iswide_cjk for Unicode 5.0
1627
1628 * Regular expression support:
1629  - GRegex structs can now be ref-counted
1630  - Some new functions for dealing with incremental 
1631    replacement have been added
1632  - The GRegexEvalCallback signature has been changed
1633
1634 * g_get_user_special_dir() has been added to support
1635   xdg-user-dirs
1636
1637 * Bugs fixed:
1638  419376 Functions using named subpatterns behave inconsistently w...
1639  434358 g_regex_fetch_named() and g_regex_fetch_named_pos() are b...
1640  423708 typo in the README.win32 file see patch below
1641  339225 Add new defines for easier handling of .desktop files 
1642  442265 API additions/changes for GRegex
1643  432651 Add a glib-ish xdg_user_dir_lookup
1644
1645 * Updated translations:
1646  Estonian (et)
1647  Norwegian bokmål (nb)
1648
1649
1650 Overview of Changes from GLib 2.13.1 to GLib 2.13.2
1651 ===================================================
1652
1653 * Unicode support:
1654  - Add g_unichar_ismark()
1655
1656 * GOption:
1657  - Allow to use callbacks for remaining args
1658
1659 * Updated translations:
1660   Belarusian Latin (be@latin)
1661   British English (en_GB)
1662   Galician (gl)
1663   Norwegian bokmål (nb)
1664   Oriya (or)
1665   Spanish (es)
1666   Thai (th)
1667
1668
1669 Overview of Changes from GLib 2.13.0 to GLib 2.13.1
1670 ===================================================
1671
1672 * GRegex:
1673  - Portability fixes
1674  - Split into immutable GRegex and GMatchInfo
1675  - Add g_regex_get_max_backref() and g_regex_get_capture_count()
1676    to obtain information about the compiled regex
1677
1678 * GKeyFile:
1679  - Fix roundtrip problems
1680  - Add g_key_file_load_from_dirs()
1681
1682 * Unicode support:
1683  - Fix corner cases in case conversion routines
1684
1685 * GOption:
1686   - Add a function to get the formatted help string
1687
1688 * GHash:
1689  - Add new functions g_hash_table_get_keys() and
1690    g_hash_table_get_values() to retrieve the keys and
1691    values in list form
1692
1693 * Updated transations:
1694   Simplified Chinese (zh_CN)
1695   Arabic (ar)
1696
1697
1698 Overview of Changes from GLib 2.12 to GLib 2.13.0
1699 =================================================
1700
1701 * Add GSequence, a list that is implemented using
1702   a balanced binary tree.
1703
1704 * Add GRegex, an implementation of Perl regular expressions,
1705   based on PCRE.
1706  
1707 * Use Posix monotonic clocks instead of gettimeofday()
1708   for GTimer when available.
1709
1710 * Support static initialization of GQeues with G_QUEUE_INIT,
1711   g_queue_init() and g_queue_clear().
1712
1713 * Add g_string_chunk_clear() for clearing a 
1714   GStringChunk.
1715
1716 * Add g_unichar_get_script() to obtain Unicode
1717   script information.
1718
1719 * Add g_unichar_iszerowidth() to obtain information
1720   about zero-width characters.
1721
1722 * Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias 
1723   type attribute.
1724
1725 * G_GNUC_INTERNAL has a working definition for the
1726   Sun Studio compiler. This requires the macro to
1727   be positioned before the function declaration.
1728
1729 * The slice allocator can produce detailed debugging
1730   information with G_SLICE=debug-blocks.
1731
1732 * Modules support G_DEBUG flags resident-modules and
1733   bind-now-modules.
1734
1735 * Add G_DEFINE_DYNAMIC_TYPE() to make it easier
1736   to define types in modules.
1737
1738 * Bug fixes: too many to list them in detail here.
1739
1740 * New and updated translations (be,bg,bn,ca,cs,de,
1741   en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml,
1742   nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN,
1743   zh_HK,zh_TW)
1744
1745
1746 Overview of Changes from GLib 2.12.1 to GLib 2.12.2
1747 ===================================================
1748
1749 * Unicode updates:
1750  - Normalization is following Unicode TR #29
1751  - g_unichar_isxdigit() only accept characters
1752    for which g_unichar_xdigit_value() returns a value
1753  - g_unichar_toupper and g_unichar_tolower leave
1754    unconvertable characters in place instead of
1755    replacing them by NUL
1756
1757 * Bugs fixed
1758  348491 g_utf8_strup() and g_utf8_strdown() returns 
1759         string with NUL bytes
1760  349825 GKeyFile always inserts a newline before a group
1761  347842 g_unichar_isxdigit() is too general about what 
1762         it considers a digit
1763  348694 g_utf8_normalize() hasn't been updated to PR #29
1764  348785 Hint about G_DEBUG in Message Logging docs
1765  349792 Wrong english string (UI)
1766  349952 gparamspecs.c uses gcc feature
1767
1768 * Translation updates (ca,cs,de,dz,es,eu,fi,gu,ko,
1769   nl,pl,tr,uk,zh_HK,zh_TW)
1770
1771
1772 Overview of Changes from GLib 2.12.0 to GLib 2.12.1
1773 ===================================================
1774
1775 * Update to final Unicode Character Database 5.0.0
1776
1777 * Bugs fixed:
1778  346660 issues with base64 api documentation / g_base64_decode_cl...
1779  348136 Coverity reports allocation of wrong size CID #2839
1780  336281 Update to UCD 5.0
1781  346197 g_date_strftime %F option doesnt work for win32
1782  348011 Small optimization to real_toupper()
1783  246494 prototype mismatch in glib/gconvert.c
1784
1785 * New and updated translations (bg,bn_IN,ca,dz,eu,fi,
1786   fr,he,it,ja,mk,or,pt)
1787
1788
1789 Overview of Changes from GLib 2.11.4 to GLib 2.12
1790 =================================================
1791
1792 * Bugs fixed:
1793  344905 leap-year bug in g_time_val_from_iso8601 w/o HAVE_TIMEGM
1794
1795 * Updated translations (cy,nb,nl)
1796
1797
1798 Overview of Changes from GLib 2.11.3 to GLib 2.11.4
1799 ===================================================
1800
1801 * GBookmarkFile:
1802  - g_bookmark_file_remove_item returns a boolean
1803  
1804 * g_mkstemp accepts the XXXXXX in the middle of
1805   the template
1806  
1807 * Bugs fixed:
1808  344868 g_key_file_to_data should separate groups 
1809
1810 * Updated translations (de,es,fr,gu,hi,ko,th)
1811
1812
1813 Overview of Changes from GLib 2.11.2 to GLib 2.11.3
1814 ===================================================
1815
1816 * GBookmarkFile:
1817   - g_bookmark_file_move_item: Return TRUE in case of
1818     an empty target
1819
1820 * Bugs fixed: 
1821  343919 gunicollate.c: strxfrm bug on VC8
1822
1823 * Updated translations (fi)
1824
1825 Overview of Changes from GLib 2.11.1 to GLib 2.11.2
1826 ===================================================
1827
1828 * Add g_ascii_stroll to parse signed 64bit integers
1829
1830 * GMarkup: add a flag to treat CDATA as text
1831
1832 * GHashTable: add functions to remove all entries
1833
1834 * GMainLoop: add functions to find the currently
1835   running source, and determine if it is destroyed
1836
1837 * Bug fixes:
1838  342563  g_atomic_thread_init() needs to be called before 
1839          other _g_*_thread_init() functions
1840  343548  Potential use after free in callers of g_string_free() 
1841  168538  Wish: Clearing contents of GHashTables
1842  321886  GTK+ cannot be reliably used in multi-threaded 
1843          applications
1844  341826  goption.c: 'strtoll' is C99's function
1845  343899  g_ascii_formatd dosn't work as expected for all 
1846          format strings
1847  317793  Make GEnumValue strings const
1848  337129  Compile warnings in G_IMPLEMENT_INTERFACE
1849  303622  What is G_TYPE_CHAR?
1850
1851 * Updated translations (bg,dz,eu,gl,ja,ko,nl,th,vi)
1852  
1853
1854 Overview of Changes from GLib 2.11.0 to GLib 2.11.1
1855 ===================================================
1856
1857 * GOption  
1858   - Support 64-bit integers 
1859   - Allow optional text before and after the options
1860     in help output
1861
1862 * Bug fixes:
1863  340538 gbase64-test writes OOB 
1864  340816 GKeyFile set_string_list invalid memory reads 
1865  339105 g_key_file_parse_value_as_double
1866  340434 convert-test.c fails (function test_one_half)
1867  311043 Memory leaks (and potential infinite loops) 
1868         when using G_ERRORCHECK_MUTEXES
1869  335198 Error checking mutexes are fubar  
1870  341237 Add a G_OPTION_ARG_INT64
1871  341192 g_io_channel_set_flags not implemented on win32
1872  336120 Allow adding description before/after GOption 
1873         --help output body
1874  341191 misplaced check in g_relation_delete
1875  340530 mismatched calloc / g_free in win32 threads
1876
1877 * Updated translation (es)
1878
1879 Overview of Changes from GLib 2.10.x to GLib 2.11.0
1880 ===================================================
1881
1882 * GBookmarkFile: a parser for files containing bookmarks
1883   stored using the Desktop Bookmark specification.
1884
1885 * Base64 encoding support
1886         
1887 * Unicode 5.0 support
1888
1889 * GOption supports floating point numbers 
1890
1891 * GKeyFile supports floating point numbers
1892
1893 * Bug fixes:
1894  155884 gatomic.c should be based on new SDK
1895  157877 update-desktop-database doesn't handle duplicate entries
1896  164719 keyfile parser doesn't support floats
1897  327662 Import BookmarkFile from libegg
1898  329548 Add G_OPTION_ARG_DOUBLE
1899  329789 option-test.c type confusion
1900  332841 Segmentation Fault when %llu is passed to vasnprintf and 
1901         HAVE_SNPRINTF is not defined
1902  333879 gthread/gthread-win32.c: IsDebuggerPresent needs '#define 
1903         _WIN32_WINDOWS 0x0401'
1904  333916 g_timer_elapsed docs should mention that microseconds 
1905         may be NULL
1906  334440 dlerror() portability issue causes crash on (old) a.out 
1907         NetBSD platform
1908  334646 goption + error out params
1909  334799 g_remove() must check return value of remove()
1910  334943 make check FAIL: threadpool-test
1911  335215 Some breakages with GThreadPool
1912  336085 g_option_context_new parameter lacks better explanation
1913  336677 Documentation for g_object_ref_sink() is incorrect
1914  337027 gbookmarkfile.c: sys/time.h include error
1915  337553 Wrong escaping of URIs
1916  338572 Dereferencing NULL value in g_key_file_get_group_comment
1917  338845 g_completion_complete_utf8 crashes when NULL is passed to it
1918  339337 g_bookmark_file_set_description
1919  339338 gbookmarkfile.c, function expand_exec_line
1920  339340 gbookmarkfile.c, function bookmark_app_info_dump
1921
1922 * Translation updates (bg,en_GB,et,gl,gu,he,hi,ka,nb,nl,nn,
1923                        or,pt_BR,ro,tr,vi,zh_CN)
1924
1925
1926 Overview of Changes from GLib 2.10.0 to GLib 2.10.1
1927 ===================================================
1928
1929 * Bugs fixed:
1930  314794 Broken pthread detection on Darwin [Gregor Riepl]
1931  322476 Missing check for .dylib [Vladimir Panov]
1932  333651 Inconsistent _g_charset_get_aliases prototype [Julio 
1933         M. Merino Vidal]
1934  333761 GInitiallyUnowned breaks application code [Sven Herzberg]
1935
1936 * Win32 changes:
1937  - Fix g_listenv() implementation.
1938  - Allow up to 100 GPrivate structs
1939
1940 * Translation updates (fr,hu,lt,pl,sv)
1941
1942
1943 Overview of Changes from GLib 2.9.6 to GLib 2.10.0
1944 ==================================================
1945
1946 * Bugs fixed:
1947  328997 64bit pointer trunction in glib slab-allocator
1948         [Pascal Hofstee]
1949  331110 g_cond_broadcast(inform_cond) without holding 
1950         inform_mutex [Chris Wilson, Sebastian Wilhelmi]
1951  332093 Fix some leaks in the tests [Kjartan Maraas]
1952  332435 g_utf8_strlen returns wrong value if a maximum 
1953         number of bytes to check is specified 
1954         [Matthias Clasen]
1955  331367 gslice requires more POSIX-like semantics for 
1956         GPrivate destructors [Tor Lillqvist]
1957
1958 * Documentation improvements [Matthias, Kang Jeong-Hee,
1959   Tor Lillqvist, Stefan Kost]
1960
1961 * Translation updates (el,eu,ka,uk)
1962
1963 Overview of Changes from GLib 2.9.5 to GLib 2.9.6
1964 =================================================
1965
1966 * Bugs fixed: 
1967  329124 distclean removes README [Kjartan Maraas, Tim Janik]
1968  317679 GRelation field type not documented [Behdad Esfahbod]
1969  329123 Typo in GTime docs [Kjartan Maraas]
1970
1971 * Documentation improvements [Sven Herzberg, David
1972   Schleef, Kjartan Maraas, Behdad Esfahbod]
1973
1974 * Translation updates (cs,cy,it,ko,pt,sq,sr,sr@Latn,ru
1975
1976 Overview of Changes from GLib 2.9.4 to GLib 2.9.5
1977 =================================================
1978
1979 * Memory management: 
1980   Runtime debugging support: The slice allocator
1981   can be turned off by setting G_SLICE=always-malloc
1982   in the environment. Zeroing of freed memory can
1983   now be turned on at runtime by setting
1984   G_DEBUG=gc-friendly in the environment. [Tim Janik]
1985
1986 * Bugs fixed:
1987  328253 HP-UX/IA-64 uses ".so" as default shared library 
1988         extension [Albert Chin]
1989  143380 unicode-encoding test fails converting to UTF-16 
1990         with libiconv [Marc Moorcroft]
1991  328254 Build breakage (GSlice) [Jens Ganseuer]
1992  328705 C99ism in glib/gmem.c [Kazuki Iwamoto]
1993
1994 * Translation updates (da,et,zh_CN)
1995
1996 Overview of Changes from GLib 2.9.3 to GLib 2.9.4
1997 =================================================
1998
1999 * Type system:
2000   Fix a problem with g_object_compat_control() which 
2001   can lead to segfaults in GTK+ applications on 64bit 
2002   platforms. 
2003
2004 * Thread suppport: 
2005   Unused threads now fall back to the global pool after 
2006   500 milliseconds, where they wait for another 
2007   max-idle-time milliseconds. [Sebastian Wilhelmi]
2008
2009 * Fix a memory allocation problem in GKeyFile. [Morten 
2010   Welinder]
2011
2012
2013 Overview of Changes from GLib 2.9.2 to GLib 2.9.3
2014 =================================================
2015
2016 * GTree:
2017  - Replace the simple recursive implementation by
2018    a nonrecursive, threaded one  [Maurizio Monge]
2019
2020 * Change g_filename_display_name and
2021   g_filename_display_basename to use the Unicode
2022   replacement character U+FFFD instead of a question
2023   mark, and don't append "(invalid encoding)"  [Matthias]
2024
2025 * Documentation improvements [Sven Herzberg, Federico
2026   Mena Quintero, Stefan Kost]
2027
2028 * Bugs fixed:
2029  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X 
2030         [Bogdan Nicula]
2031  326558 Some test failures on IRIX 6.5 [Daichi Kawahata]
2032  169285 "threaded" tree implementation for GTree 
2033         [Maurizio Monge]
2034  326747 g_filename_display_basename adds (invalid encoding) 
2035         [Alberto Ruiz]
2036
2037 Other contributors: Christian Kellner, Murray Cumming
2038
2039 New and updated translations (bg,ca,de,es,et,gu,ja,nl,th,vi)
2040
2041
2042 Overview of Changes from GLib 2.9.1 to GLib 2.9.2
2043 =================================================
2044
2045 * Memory management:
2046  - Add tests for cache colorization [Tim Janik]
2047  - Minimize space consumption if small amounts of differently
2048    sized slices are allocated, at a small performance cost.  [Tim]
2049
2050 * Thread support:
2051  - Add g_atomic_pointer_set() and g_atomic_int_set() [Tim Janik,
2052    Sebastian Wilhelmi]
2053  - Add g_thread_pool_set_sort_function() to allow sorting the 
2054    tasks of a threadpool.  [Martyn Russell]
2055  - Add g_thread_pool_set_idle_time() to allow unused threads
2056    to exit after a certain time.  [Martyn]
2057
2058 * Type system:
2059  - introduce a new type GInitiallyUnowned, which has an initial
2060    floating reference. [Tim]
2061  - Add support for GType parameters. [Matthias]
2062
2063 * Main loop:
2064  - Add g_main_context_is_owner() to determine if the current
2065    thread is the owner of the context.  [Michael Meeks]
2066
2067 * Provide g_access(), g_chdir(), g_unlink(), g_rmdir() as 
2068   wrapper functions instead of macros.  [Manish Singh]
2069
2070 * Documentation improvements [Tim, Matthias, Federico Mena Quintero,
2071   Stefan Kasal, Dan Williams]
2072
2073 * New and updated translations (en_CA,fi,fr,gl,ml,nb,no,zh_HK,zh_TW)
2074
2075 * Bugs fixed:
2076  324179 g_allocator_new() returns pointer to const dummy which Gtk+ 2.8 
2077         tries to modify [J. Ali Harlow]
2078  324332 g_option_context_parse() returns false without setting error 
2079         [Tim-Philipp Müller]
2080  324950 GLIB 2.9.1 testcase errors [Dan Yefimov]
2081  325015 gslice.c: process.h is needed on Windows [Kazuki Iwamoto]
2082  321978 G_DATALIST_GET_FLAGS() macro is not casting datalist to 
2083         gpointer [Andrew Paprocki]
2084  316221 G_LOCK warns about breaking strict-aliasing [Michal Benes, 
2085         Stanislav Brabec]
2086  325273 Error in documentation for glib_check_version () [Declan Naughton]
2087  325310 g_spawn_sync hangs when catching both stdout and 
2088         stderr [Tor Lillqvist]
2089  325249 gcc warning when using g_rmdir from <glib/gstdio.h> [Jani Monoses]
2090  325864 glib/gthreadpool.c:"#define debug(...)" is C99 [Kazuki Iwamoto]
2091  325874 Should say somewhere that source IDs are > 0 [Dan Williams]
2092  325438 a typo (compatability) [Stefan Kasal]
2093  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X [Bogdan Nicula]
2094
2095
2096 Overview of Changes from GLib 2.9.0 to GLib 2.9.1
2097 =================================================
2098
2099 * Memory management
2100  - The slice allocator is implemented [Tim Janik]
2101  - g_slice_free_chain() has been renamed to 
2102    g_slice_free_chain_with_offset()  [Tim, Behdad Esfahbod]
2103  - Mem chunks are deprecated [Matthias Clasen]
2104
2105 * Data structures
2106  - Hash tables are refcounted, and have a boxed type [Tim]
2107
2108 * Thread support
2109  - Support for Solaris threads has been removed 
2110    [Sebastian Wilhelmi, Andrew Paprocki]
2111  - g_async_queue_sort(), g_async_queue_push_sorted() have 
2112    been added to allow GAsyncQueue to be used as a priority 
2113    queue, together with the corresponding _unlocked 
2114    variants  [Martyn Russell]
2115
2116 * GObject:
2117  - The concept of a floating initial reference has been
2118    moved from GtkObject to GObject [Tim]
2119
2120 * Win32 changes:
2121  - Make g_rename() replace existing files [Tor Lillqvist]
2122
2123 * Misc new API:
2124  - G_GUINT64_CONSTANT macro to define guint64 
2125    constants [Andrew Paprocki]
2126  - G_GNUC_WARN_UNUSED_RESULT macro to instruct the 
2127    compiler to emit a warning if the value returned
2128    by a function is ignored. [Arjan van de Ven, Alex Larsson]
2129  - GList and GSList now have sort functions which take an
2130    extra user data argument [Martyn Russell]
2131  - g_param_spec_ref_sink() has been added for consistency [Tim]
2132
2133 * $LOGNAME is respected when determining user data. [Laszlo Peter]
2134
2135 * Other changes and bug fixes [Tim, Matthias, Behdad, 
2136   Christian Persch, Benedikt Meurer, Andrew Paprocki, 
2137   Kazuki Iwamoto, Alexis S. L. Carvalho, Stanislav Brabec,
2138   Andreas Schwab, Kalle Vahlman]
2139
2140 * Documentation
2141  - Deprecation warnings carry version information [Matthias]
2142  - The slice allocator has been documented [Matthias, Tim]
2143  - Other improvements [Morten Welinder]
2144
2145 Overview of Changes from GLib 2.8.x to GLib 2.9.0
2146 =================================================
2147 * Unicode support:
2148  - The Unicode tables have been updated to Unicode 4.1, 
2149    adding several new values to the GUnicodeBreakType 
2150    enumeration. This breaks Pango <= 1.10 
2151    [Behdad Esfahbod]
2152  - The various Unicode character predicate functions 
2153    (g_unichar_isalpha, g_unichar_isdigit,...) have
2154    been optimized
2155    [Behdad]
2156  - g_utf8_pointer_to_offset, g_utf8_offset_to_pointer:
2157    These functions handle negative offsets now, and
2158    going backwards in g_utf8_offset_to_pointer uses
2159    "stutter stepping".
2160    [Larry Ewing, Matthias Clasen]
2161
2162 * Memory management:
2163  - Mem chunks are no longer used internally in GLib and
2164    GObject. GMemChunk will be deprecated in GLib 2.10
2165  - All APIs based on GAllocator (g_list_push/pop_allocator,
2166    and similar push/pop_allocator functions for other
2167    data structures) have been deprecated, since they
2168    never worked as intended.
2169  - The g_slice_* functions have been added as a 
2170    new API for fast allocation of small memory blocks. 
2171    The implementation in GLib 2.9.0 is just a simple 
2172    wrapper around malloc. GLib 2.10 will have an
2173    efficient and scalable implementation. 
2174    [Tim Janik, Matthias]
2175
2176 * Pattern matching:
2177  - g_pattern_match has been optimized to avoid
2178    unnecessary recursion.
2179    [Tim, Matthias]
2180
2181 * g_intern_string, g_intern_static_string: 
2182  - New functions to intern strings. These are now used 
2183    by GObject to avoid duplicating static strings 
2184    [Matthias]
2185
2186 * g_thread_foreach: 
2187  - New function to iterate over all GThreads 
2188    [Tim, Matthias]
2189
2190 * g_date_set_time_t, g_date_set_time_val:
2191  - New functions to set a GDate from a time_t or
2192    GTimeVal value. g_date_set_time has been deprecated 
2193    in favor of these.
2194    [Roger Leigh]
2195
2196 * g_snprintf and g_vsnprintf:
2197  - These functions are no longer declared in gprintf.h, 
2198    since they are in glib.h
2199    [Matthias]
2200
2201 Overview of Changes from GLib 2.8.0 to GLib 2.8.1
2202 =================================================
2203 * Optimize single-character insertions in GString [Ross Burton]
2204 * Fix build problems on OS X
2205 * Fix build problems on Win32 [Tor Lillqvist, Hans Breuer]
2206 * Other bug fixes [Matthew F. Barnes, Stepan Kasal] 
2207 * Documentation improvements [Tristan van Berkom, Behnam
2208   Esfahbod, Gustavo Carneiro, Stepan Kasal, Matthias]
2209 * New and updated translations (ca,cy,ko,ro,uk)
2210
2211 Overview of Changes from GLib 2.7.7 to GLib 2.8.0
2212 =================================================
2213 * Make g_value_transform() handle enum values
2214   correctly on ppc64.  [Michael Lorenz]
2215   (Third-party code accessing enumeration values 
2216   in GValues should also be changed to access 
2217   v_long, not v_int, in order to work on bigendian 
2218   64bit machines.)
2219 * Make g_flags_get_first_value() handle a value
2220   of 0 meaningfully. [Tim-Philipp Müller] 
2221
2222 Overview of Changes from GLib 2.7.6 to GLib 2.7.7
2223 =================================================
2224 * Make atomic operations on s390 work [Matthias]
2225 * Fix C++ guards in gstdio.h [Tor Lillqvist]
2226
2227 Overview of Changes from GLib 2.7.5 to GLib 2.7.6
2228 =================================================
2229 * Add native implementations of atomic operations 
2230   on s390 [Matthias]
2231 * Make atomic reference counting of closures
2232   work on s390 [Matthias]
2233 * Avoid an infinite loop in g_convert_with_iconv().
2234   [Sebastian Bacher]
2235 * Documentation improvements [Ross Burton]
2236
2237 Overview of Changes from GLib 2.7.4 to GLib 2.7.5
2238 =================================================
2239 * Thread-related changes
2240  - Fix build issues on HP-UX [Paul Cornett]
2241  - Threadsafe access to flags stored in datasets [Tim Janik]
2242  - Fix several issues with atomic refcounting for 
2243    closures, objects and paramspecs [Tim]
2244  - Improve tests for atomic refcounting changes [Tim]
2245 * Fix handling of stateful encodings in g_convert_* [Matthias]
2246 * Fix translation of GOption help output [Dan Winship]
2247 * Catch format errors in translations. This may cause 
2248   "make check" to fail when using older versions
2249   of gettext [Matthias]
2250 * Win32 bug fixes [Tor Lillqvist]
2251 * Documentation improvements [Ross Burton, Jochen Baier, 
2252   Matthias, Tim]
2253 * New and updated translations (de,fi,gu,pl,pt,tr,zh_TW)
2254
2255 Overview of Changes from GLib 2.7.3 to GLib 2.7.4
2256 =================================================
2257 * Fix g_atomic_pointer_compare_and_exchange 
2258   on Sparc64 [Gert Doering]
2259 * Fix a hang in g_thread_pool_free. [Hong Jen Yee]
2260 * Win32 bug fixes [Tor Lillquist]
2261 * Other bug fixes [Benoit Dejean, Manish Singh]
2262 * Documentation improvements [Bryan Silverthorn,
2263   Callum McKenzie] 
2264 * New and updated translations (de,lt,sq,zh_CN)
2265
2266 Overview of Changes from GLib 2.7.2 to GLib 2.7.3
2267 =================================================
2268 * GOption
2269  - Allow callbacks with optional arguments [Pawel Sliwowski]
2270  - Allow to turn off the automatic long option name
2271    disambiguation  [Adam McLaurin]
2272  - Only allow printable ASCII as short option names [Matthias]
2273 * Win32
2274  - Build fixes [Tor Lillqvist]
2275  - Rewrite iochannel socket implementation [Tor]
2276 * GObject
2277  - Threadsafety improvements; in particular, refcounting
2278    of objects is done atomically now. [Wim Taymans, Tim Janik]
2279 * Bug fixes [Morten Welinder, Matthias, Wim Taymans]
2280 * Documentation improvements [Richard Laager, Matthias]
2281 * New and improved translations (bf,cs,hu,nb,nl,no)
2282
2283 Overview of Changes from GLib 2.7.1 to GLib 2.7.2
2284 =================================================
2285 * Win32 build fixes [Hans Breuer]
2286 * Bug fixes [Mikael Magnusson]
2287 * Documentation improvements [Matthias Clasen]
2288 * New and updated translations (en_CA,es,et,ja,sr,sr@Latn,zh_TW)
2289
2290 Overview of Changes from GLib 2.7.0 to GLib 2.7.1
2291 =================================================
2292 * GOption 
2293  - Allow callback arguments without parameters [Dan Winship]
2294 * GMappedFile: an mmap wrapper [David Schleef, Behdad Esfahbod]
2295 * Misc new functions:
2296  - g_get_host_name [Tor Lillqvist]
2297  - g_mkdir_with_parents [Tor]
2298  - g_build_pathv, g_build_filenamev [Todd A. Fisher, 
2299    Matthias Clasen]
2300 * Bug fixes [Roger Leigh, Masatake YAMATO, Kjartan Maraas,
2301   Manish Singh, Tor, Murray Cumming, Kian Duffy, Morten Welinder]
2302 * Documentation improvements [Hong Gang XU, Dan Winship, Matthias]
2303 * New and updated translations (bg,cs,da,en_CA,es,et,nb,nl,no,
2304   sk,th,zh_TW)
2305
2306 Overview of Changes from GLib 2.6.x to GLib 2.7.0
2307 =================================================
2308 * GKeyFile
2309  - Add unit tests [Matthias Clasen, Suren A. Chilingaryan]
2310  - Accept \r\n as line end [Bastian Nocera]
2311  - Don't interpret leading zeros as octal numbers. [Matthias]
2312  - Make key and group removal work [David Hoover, Matthias Hasselmann]
2313 * GOption
2314  - Improve formatting of --help output [Matthias, Noah Levitt]
2315  - Accept -? [Matthias]
2316  - Warn about duplicate main groups [Jeff Franks]
2317  - Treat '-' as non-option argument [Tim Musson, Thomas Leonard]
2318  - Report missing arguments as errors [Björn Lindqvist]
2319  - Add a boxed type for GDate [Tim-Philipp Müller]
2320 * GTree
2321  - g_tree_remove() and g_tree_steal() return status information [Matthew F. Barnes]
2322 * Stdio wrappers
2323  - Work regardless of large file support [Manish Singh]
2324  - Add g_access(), g_chmod(), g_creat(), g_chdir [Tor Lillqvist]
2325 * GObject
2326  - Implement "toggle references" to help language bindings [Owen Taylor]
2327  - Allow to mark names, nicks and blurbs of pspecs as static [Ben Maurer, Matthias]
2328  - Make pspec lookup a bit faster [Morten Welinder]
2329 * Add g_listenv() to list all set environment variables [Hans Petter Jansson]
2330 * Add g_file_set_contents() to atomically write a file.  [Søren Sandmann,
2331   Sven Neumann, Manish, Alexis S. L. Carvalho]
2332 * Add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew() [Stefan Kost]
2333 * Add g_utf8_collate_key_for_filename() to sort filenames taking
2334   extensions and numeric suffixes into account.  [Ole Laursen, Alex Larsson]
2335 * Add G_GNUC_NULL_TERMINATED to mark varargs function with 
2336   NULL-terminated argument lists. [Marc Meissner]
2337 * Win32 changes
2338  - Improved debugability [Ulf Lamping, Hans Breuer]
2339  - Make filename handling more robust [Tor, Billy Skaggs]
2340  - Improve g_get_system_data_dirs() [Tor]
2341  - Use more precise timers [Tor]
2342  - Build fixes [Kazuki Iwamoto, Hans, Tor, Robert Ögren]
2343 * Other bug fixes [Roger Leigh, Owen, Matthias, Morten, Kjartan Maraas, 
2344   Pawel Sakowski, Tor, Simon Budig, Ed Avis, Manish, Nicolas Laurent, 
2345   Bastien, Fabrício Barros Cabral, Michael Banck, Daniel Atallah, 
2346   J. Ali Harlow, Tim Janik, Hazael Maldonado Torres, Sven, Jon-Kare Hellan,
2347   Dave Benson, Tommi Komulainen, Benjamin Otte, Brian Cameron, Changwoo Ryu, 
2348   Christian Biere, Noah, Benoît Carpentier]
2349 * Documentation improvements [Vincent Untz, Matthias, Tim-Philipp Müller,
2350   Morten, Matthew, Federico Mena Quintero, Sebastian Bacher, Oliver Sessink, 
2351   Stefan, Jared Lash, Tor, Owen, Daniel Vaillard, Mathieu Lacage]
2352 * New and updated translations (ca,cs,da,el,en_CA,en_GB,es,et,eu,fa,fr,gl,
2353   hu,id,it,lt,mn,ne,nl,pl,pt,pt_BR,ro,rw,sk,sq,sr,sr@Latn,tl,uk,xh,zh_CN)
2354
2355 Overview of Changes from GLib 2.6.0 to GLib 2.6.1
2356 =================================================
2357 * GOption
2358  - Make gtk_init(NULL, NULL) work again [Marcin Krzyzanowski]
2359  - Improve handling of -- [Matthias Clasen]
2360  - Don't show G_OPTION_REMAINING in --help output [Matthew F. Barnes]
2361 * g_find_program_in_path() doesn't return directories [Tommi Komulainen]
2362 * Add gmodule-export-2.0.pc [Matthias]
2363 * Win32 changes
2364  - Improve hangling of UNC paths [Tor Lillqvist]
2365  - g_getenv(), g_setenv(), g_unsetenv(), g_find_program_in_path()
2366    take and return UTF-8 now [Tor] 
2367  - Make g_file_test() work more reliably, and use PATHEXT
2368    when check for executables [Tor]
2369  - Build and cross-compilation fixes [J. Ali Harlow]
2370 * Other bug fixes [Jens Hatlak, Morten Welinder, 
2371   Tor, Kalpesh Shah, Adrian Bunk]
2372 * Documentation improvements [Marcin Krzyzanowski, Tor, Crispin
2373   Flowerday, Mariano Suárez-Alvarez, Christian Biere, Danny Milo,
2374   Vincent Untz, Bastien Nocera]
2375 * New and updated translations (cy,de,nl,ru,sq,sv)
2376
2377 Overview of Changes from GLib 2.4.x to GLib 2.6.0
2378 =================================================
2379
2380 * Major new APIs
2381   - GOption, a commandline option parser
2382   - GKeyFile, a parser/editor for the .ini like files 
2383   - Functions to support the XDG basedir specification
2384   - Wrappers for common POSIX pathname functions to handle filename
2385     encodings consistently. On Windows, these use UTF-8.
2386
2387 * Miscellaneous new functions
2388   - g_filename_display_name() converts filenames in displayable UTF-8 strings
2389   - g_uri_list_extract_uris() splits uri lists
2390   - g_date_get_iso8601_week_of_year() gets ISO 8601 week numbers
2391   - g_log_set_default_handler() installs an alternate default log handler
2392   - g_get_language_names() obtains a list of applicable locale names
2393   - g_strv_length() calculates the length of NULL-terminated string arrays
2394   - g_win32_get_windows_version() determines the Windows version 
2395   - G_GNUC_INTERNAL marks functions as non-exported
2396   - glib_check_version() checks the GLib version at runtime
2397   - g_debug() completes the family of logging functions
2398
2399 * Performance improvements
2400   - Optimize g_utf8_validate()
2401   - Optimize g_markup_parse_context_parse()
2402   - Reduce signal connection complexity from O(n) to O(1) 
2403   - Get rid of many PLT entries for internally used exported symbols
2404   - Reduce code size by removing literal strings from g_return_if_fail()
2405
2406 * Other changes
2407   - On Windows, GLib functions that take file name arguments now require
2408     those to be in UTF-8. Functions that return file names return UTF-8.
2409   - Use higher precision for mathematical constants
2410   - Don't convert to/from UTF-8 in g_filename_to_uri/g_filename_from_uri
2411   - Support ll as printf format modifier for long long on all platforms
2412   - Clean up the ABI and enforce the list of exported symbols
2413   - Add a .pc file for using gmodule in libraries
2414   - Require ngettext
2415
2416 Overview of Changes from GLib 2.5.7 to GLib 2.6.0
2417 =================================================
2418 * GOption: Don't list help options if group-specific
2419   options have been requested [Glynn Foster]
2420 * Make g_get_language_names() track locale changes [Christian Persch]
2421 * Win32 bug fixes [Tor Lillqvist]
2422 * Bug fixes [Philippe Blain, Owen Taylor, Sebastian Wilhelmi]
2423 * New and updated translations (da,es,ja,lt,zh_CN)
2424 Bugs fixed: 159530,100697,160271,160645,157255
2425
2426 Overview of Changes from GLib 2.5.6 to GLib 2.5.7
2427 =================================================
2428 * Optimize g_utf8_validate() [Owen Taylor, Matthias Clasen]
2429 * Optimize g_markup_parse_context_parse() [Havoc Pennington, 
2430   Morten Welinder]
2431 * Reduce signal connection complexity from O(n) to O(1) 
2432   [Sven Neumann]
2433 * Add a .pc file for using gmodule in libraries [Owen]
2434 * Add G_GNUC_MALLOC to mark functions returning newly 
2435   allocated memory  [Matthias]
2436 * Win32 bug fixes [Hans Breuer, Tor Lillqvist, Robert Ögren,
2437   Bruce Hochstetler]
2438 * Bug fixes [Kazuki IWAMOTO, Matthias, Manish Singh, Morten,
2439   Frederic Crozat, Tor]
2440 * Documentation improvements [Matthias, Tor, Owen]
2441 * New and updated translations (cs,da,de,en_CA,en_GB,es,nb,nl,sq,zh_CN)
2442
2443 Overview of Changes from GLib 2.5.5 to GLib 2.5.6
2444 =================================================
2445 * GOption
2446   - Add G_OPTION_FLAG_REVERSE to allow options 
2447     which unset a  boolean variable [Tor Lillqvist]
2448 * GChildWatch
2449   - Use sigaction instead of signal [Jonas Jonnson, 
2450   Archana Shah]
2451   - Make the very first SIGCHLD work [Gustavo Carneiro]
2452 * Bug fixes [Morten Welinder, Tor, David MacLachlan,
2453   Manish Singh, J. Ali Harlow]
2454 * Documentation improvements [Matthias Clasen, Tor]
2455 * Updated translations (da,ja,tr,zh_CN)
2456
2457 Overview of Changes from GLib 2.5.4 to GLib 2.5.5
2458 =================================================
2459 * GKeyFile
2460   - Cleanups, add more error checking [Ray Strode]
2461   - Fall back to the untranslated string when getting 
2462     locale strings [Mark McLoughlin]
2463 * GOption
2464   - Document GOption [Matthias Clasen]
2465   - Better support for rest arguments [Owen Taylor, Matthias]
2466   - Handle conflicts between groups [Matthias]
2467 * Add g_lstat() to the stdio wrappers [Tor Lillqvist]
2468 * Add g_filename_display_name() to convert filenames
2469   in displayable UTF-8 strings  [Alex Larsson, Matthias]
2470 * Win32 bug fixes [Kazuki IWAMOTO, Hans Breuer, Tor]
2471 * Bug fixes [Christophe Fergeau, Morten Welinder, 
2472   Owen, Kjartan Maraas, Mark]
2473 * Documentation improvements [Matthias, Tor]
2474
2475 Overview of Changes from GLib 2.5.3 to GLib 2.5.4
2476 =================================================
2477 Add GKeyFile, a parser/editor for the .ini like files used in various
2478    freedesktop.org specifications. [Ray Strode]
2479 Make the handling of filename encodings consistent across all
2480    GLib functions, introduce wrappers for common POSIX 
2481    functions which accept the same filename encoding. [Tor Lillqvist, 
2482    Owen Taylor]
2483 GOption
2484  - Rename g_context_option_error_quark() to a more language-binding
2485    friendly name [Murray Cumming]
2486  - Accept backslashes in filenames on Win32 [Tor Lillqvist]
2487 * Strip the internal aliasing prefix IA__ from function names in 
2488   assertions [Matthias Clasen]
2489 * Add a function to split uri lists. [Matthias]
2490 * Win32 bug fixes 
2491  - Don't open console windows [Tor]
2492 * Other bug fixes [Philippe Blain, Robert Ögren, Hidetaka Iwai, Matthias,
2493  Morten Welinder, Mats-Ola Persson, Tor, Nickolay V. Shmyrev, Kjartan Maraas,
2494   Anders Carlsson, Tim-Philipp Müller, Lucas Rocha, Andrea Campi, Manish
2495   Singh, Thomas Fitzsimmons, Kazuki IWAMOTO]
2496 * Documentation improvements [Matthias, Linus Walleij, Nickolay, Philippe, 
2497  Adam Hooper, Gustavo Carneiro]
2498 * New and updated translations (cs,en_CA,en_GB,ja,nb,nl,or,sr,sr@Latn,sq)
2499
2500 Overview of Changes from GLib 2.5.2 to GLib 2.5.3
2501 =================================================
2502 * GOption
2503  - set the program name from argv[0] [Masatake YAMATO] 
2504  - make contexts work without a main group [Anders Carlsson]
2505 * Performance 
2506  - Get rid of many PLT entries for internally used exported symbols,
2507    and clean up the ABI at the same time and make make check check the
2508    list of exported symbols.  [Matthias Clasen]
2509 * Add API to get ISO 8601 week numbers [Niklas Lundell]
2510 * Add API to install an alternate default log handler [Darin Adler]
2511 * Add API to obtain a list of applicable locale names [Hidetoshi Tajima]
2512 * Reduce code size bloat by removing literal strings from
2513  the g_return_if_fail() macros [Owen Taylor]
2514 * Add g_strv_length [Tim-Philipp Müller]
2515 * Win32 changes
2516  - Add API to determine the Windows version [Tor Lillqvist]
2517 * Other bug fixes [Stepan Kasal, Anders, Tor, Kazuki Iwamoto,
2518   Manish Singh]
2519 * Documentation improvements [Morten Welinder, Matthias]
2520 * New and updated translations (es,nn,ro)
2521
2522 Overview of Changes from GLib 2.5.1 to GLib 2.5.2
2523 =================================================
2524 * Add G_GNUC_INTERNAL macro [Arjan van de Ven]
2525 * Add GOption, a commandline option parser [Anders Carlsson]
2526 * Add glib_check_version [Michael Natterer]
2527 * Add XDG basedir API [Ray Strode]
2528 * Require ngettext [Danilo Segan]
2529 * Bug fixes [Manish Singh, Ray Strode, Vincent Noel, 
2530   Jon-Kare Hellan, Jody Goldberg]
2531 * Win32 bug fixes [Tor Lillqvist, Hans Breuer, Peter Zelezny]
2532 * Documentation improvements [Matthias Clasen, Vincent Untz, Christian Persch]
2533 * New and updated translations (bs,eu,fi,gu,ne,pa)
2534
2535 Overview of Changes from GLib 2.5.0 to GLib 2.5.1
2536 =================================================
2537
2538 * Bug fixes [Oliver Guntermann, Sven Neumann, James 
2539   Henstridge, Hiroyuki Ikezoe, Matthias Clasen, Robert 
2540   Ögren, Tommi Komulainen]
2541 * Documentation improvements [Soeren Sandmann, 
2542   Christophe Fergeau, Danek Duvall]
2543 * New and updated translations (eu,hi)
2544   
2545 Overview of Changes from GLib 2.4.1 to GLib 2.5.0
2546 =================================================
2547
2548 * New functions g_debug [Sven Herzberg]
2549 * Use higher precision for mathematical constants [Morten 
2550  Welinder]
2551 * Don't convert to/from UTF-8 in g_filename_{to,from}_uri 
2552  [Federico Mena Quintero]
2553 * Win32
2554  - Handle empty digit string in printf() functions 
2555    correctly [Tor Lillqvist]
2556  - Support ll as format modifier for long long [Tor]
2557  - Be more careful about HOME [Tor, Ivan Wong]
2558  - Bug fixes [John Ehresman]
2559 * Miscellaneous bug and portability fixes [Danilo Segan, 
2560  Owen Taylor, Nikolai Weibull, Benoît Carpentier, Morten 
2561  Welinder, Manish Singh, Sven Neumann, Julio M. Merino Vidal,
2562  Kaz Sasayama, Murray Cumming, Federico, Mariano Suarez-Alvarez]
2563 * Documentation updates [Matthias Clasen, Crispin Flowerday,
2564  Tommi Komulainen, Federico Mena Quintero, Ed Griffiths]
2565 * New and updated translations (ja,ne,no,wa)
2566  
2567 Overview of Changes from GLib 2.4.0 to GLib 2.4.1
2568 =================================================
2569
2570 * Win32 bug fixes [Tor Lillqvist, Roger Leigh, John Ehresman]
2571 * Miscellaneous bug and portability fixes [Owen Taylor,
2572   Matthias Clasen, Jonas Jonsson, Christian Krause,
2573   Nickolay V. Shmyrev, Christophe Saout, Philippe Blain,
2574   Piotr Klaban]
2575 * Documentation updates [Matthias]
2576 * New and updated translations (ca,cs,cy,el,en_CA,en_GB,es,eu,fi,
2577   fr,gu,he,id,nl,pt,pl,ru,sr,sr@ije,sr@Latn,sv,uk)
2578
2579 Overview of Changes from GLib 2.3.6 to GLib 2.4.0
2580 =================================================
2581
2582 * Handle invalid-UTF-8 in g_log() properly [Matthias Clasen]
2583 * Win32 bug fixes [Tor Lillqvist, Bruce Hochstetler]
2584 * Miscellaneous bug and portability fixes [Olivier Biot, David L. Cooper II, 
2585   Kjartan Maraas, Frédéric L. W. Meunier, Christof Petig, Manish Singh, 
2586   Sebastian Wilhelmi]
2587 * Documentation updates [Owen]
2588 * Updated translations (hr,ro)
2589
2590 Overview of Changes from GLib 2.3.5 to GLib 2.3.6
2591 =================================================
2592
2593 * GAtomic bug fixes [Sebastian Wilhelmi, Mark McLoughlin]
2594 * GMain threading fixes and improvements [Sebastian]
2595 * Win32 [Tor Lillqvist]
2596  - restore some symbols extraneously exported from gobject to maintain ABI compatibility
2597  - Misc build improvements and fixes [Tor, Cedric Gustin, Hans Breuer]
2598 * Documentation updates [Sebastian, Takeshi AIHANA, Matthias, Sven Herzberg]
2599 * New and updated translations (be,es,fi,ga,pa,sr@ije,zh_CN)
2600
2601 Overview of Changes from GLib 2.3.3 to GLib 2.3.5
2602 =================================================
2603
2604 * Make glib-mkenums parse initializers with macros. [Matthias Clasen, muppet]
2605 * Respect locale era in g_date_set_parse(). [Theppitak Karoonboonyanan] 
2606 * Add atomic operations and use it for the async queue and
2607   gonce implementation. [Sebastian Wilhelmi]
2608 * Documentation improvements [Sebastian, Matthias, Sven Herzberg]
2609 * Add g_main_depth() for finding the recursion depth of the main
2610   loop [Owen Taylor, Tim Janik, Stefan Westerfeld]
2611 * Add g_spawn_close_pid(), needed on win32 [J. Ali]
2612 * Win32 fixes. [Hans Breuer, J. Ali Harlow]
2613 * Misc bugfixes [Sebastian, Matthias, Balazs Scheidler, Owen]
2614 * Updated translations (cy,et,ga,sq)
2615
2616 Overview of Changes from GLib 2.3.2 to GLib 2.3.3
2617 =================================================
2618
2619 * Add a native AIX gmodule implementation. [Laurent Vivier]
2620 * Add g_node_copy_deep().  [James M. Cape, Matthias Clasen]
2621 * Extend GQueue API to match the GList API. [Soeren Sandmann]
2622 * Add g_hash_table_find().  [Tim Janik]
2623 * Add a G_MODULE_BIND_LOCAL flag. [David Schleef]
2624 * Inline g_string_append_c() when possible. [Owen Taylor, Tim]
2625 * Wrap waitpid() as a GSource. [Jonathan R. Blandford]
2626 * Add g_completion_complete_utf8(). [Theppitak Karoonboonyanan, 
2627   Matthias]
2628 * Add g_strsplit_set(). [Soeren]
2629 * Documentation improvements. [Vincent Untz, Sebastian Wilhelmi, 
2630   Soeren, Matthias]
2631 * Win32 build fixes. [Tor Lillqvist]
2632 * Misc bugfixes [Manish Singh, Noah Levitt, Simon Josefsson, 
2633   Morten Welinder, Damien Carbery, Julio M. Merino Vidal, Sebastian, 
2634   Matthias]
2635 * Updated translations (nn,cs,it,ko,sq,ms,az,hr,uk,sr,sr@Latn,sq,ta)
2636
2637 Overview of Changes from GLib 2.3.1 to GLib 2.3.2
2638 =================================================
2639
2640 * Add G_MAXSIZE. [Manish Singh]
2641 * Add g_rand_new_with_seed_array(), g_rand_set_seed_array(),
2642   implementing the init-by-array functionality of the 
2643   original mersenne twister. Add g_rand_copy(). Improve seeding. 
2644   [George Lebl]
2645 * Add a lowercase_name option to glib-mkenums. [Murray Cumming]
2646 * Add g_ptr_array_foreach(). [Matthias Clasen]
2647 * Add g_timer_continue(). [Tim-Philipp Müller]
2648 * Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
2649 * Fix g_filename_{to,from}_utf8() on Win32 and improve 
2650   g_file_test() there too [Hans Breuer] 
2651 * Add a boxed type for NULL-terminated string arrays.  [Matthias]
2652 * Add G_DEFINE_TYPE() plus variants to ease the constuction
2653   of GObject boilerplate code.  [Tim Janik]
2654 * Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
2655 * Documentation improvements [Matthias, Manish]
2656 * Win32 build fixes [Hans]
2657 * Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, 
2658   Zack Rusin]
2659 * Updated translations (ar,de,fa,ga,mn,nn,no,sq)
2660
2661 Overview of Changes from GLib 2.3.0 to GLib-2.3.1
2662 =================================================
2663
2664 * Add glib/gi18n.h and glib/gi18n-lib.h for common
2665   gettext support, including a Q_() macro for translation
2666   with context [Matthias Clasen]
2667 * Add a more flexible G_FILENAME_ENCODING variable
2668   as a replacement for G_BROKEN_FILENAMES [Matthias]
2669 * Fix the return value g_main_context_iterate() for
2670   newly ready sources [Padraig O'Briain]
2671 * Handle Hangul composition for normalization [Noah Levitt]
2672 * Add G_{MIN,MAX,MAXU}INT{8,16,32}. [Mark Jones, Matthias]
2673 * Add G_GSIZE_FORMAT/G_SSIZE_FORMAT [Manish Singh]
2674 * Add G_STRFUNC as a portable wrapper for __func__ [Tim Janik]
2675 * Documentation improvements [Matthias]
2676 * GObject [Tim Janik]
2677  - Support '-' in g_signal_connect()/disconnect() names
2678    like 'swapped-signal'.
2679  - Add g_type_class_peek_static() and use to optimize
2680    g_object_new() for static types [Tim]
2681  - Allow setting construct-only properties from within
2682    init() implementations
2683  - Enforce readability/writeability in g_object_set/get()
2684 * Fix bug with g_ascii_strtod and multi-byte separator.
2685   [Behdad Esfahbod, Roozbeh Pournader]  
2686 * Misc bug fixes [Matthias, John Ehresman, Andrew Lanoix,
2687   Tor Lillqvist, Mark McLoughlin, Tim-Philipp Müller, Manish, 
2688   Morten Welinder]
2689 * Updated translations (ca,cs,da,es,fr,ja,nn,no,pt,ru)
2690
2691 Overview of Changes from GLib 2.2.x to GLib-2.3.0
2692 =================================================
2693
2694 * Replace Trio printf by gnulib vasnprintf [Matthias Clasen]
2695 * Update Unicode data to Unicode 4.0 [Noah Levitt]
2696 * Support XML-safe formatted output with 
2697   g_markup_[v]printf_escaped [Owen Taylor]
2698 * Add g_file_read_link to read symbolic links [Matthias]
2699 * Add g_unichar_get_mirror_char to obtain the 
2700   mirrored variant of a character [Noah]
2701 * Support for one-time initialization functions. 
2702   [Sebastian Wilhelmi]
2703 * Miscellaneous API additions: g_vasprintf
2704   g_string_chunk_insert_len, g_setenv, g_unsetenv [Matthias]
2705 * Docs improvements [Matthias]
2706 * Add support instance-private data on classed types
2707   [Mark McLoughlin, Tim Janik, Owen]
2708 * Optimize signal emissions [Soeren Sandmann, Tim]
2709 * Support a "default vtable" per interface [Tim]
2710 * Add support for properties on interfaces [Owen, Tim]
2711 * Miscellaneous API additions: g_value_take_string(),
2712   g_value_take_param(), g_value_take_object(), 
2713   g_value_take_boxed(). [Matthias]
2714 * Win32 build fixes [Tor Lillqvist]
2715
2716 Overview of Changes from GLib 2.1.5 to GLib-2.2.0
2717 =================================================
2718
2719 * Fix a problem with g_thread_init() on 64-bit problems
2720   [Alceste Scalas, Sebastian Wilhelmi]
2721 * Add assembly implementations of byteswap macros
2722   for ia64 and x86_64. [Manish Singh]
2723 * IOChannel fixes for Win32 [Tor Lillqvist, Thorsten Maerz]
2724 * Updated translations (bg,ca,es,da,fi,lv,ru,sk)
2725
2726 Overview of Changes from GLib 2.1.4 to GLib-2.1.5
2727 =================================================
2728
2729 * Win32 bug fixes [Tor Lillqvist]
2730 * Various post-rewrite fixes for glib-gettext.m4 [Owen Taylor,
2731   Jody Goldberg, Kjartan Maraas, Johannes Stezenbach]
2732 * Ensure we have a GUINT64_FORMAT by pulling in Trio
2733   if necessary [Manish Singh]
2734 * Further Trio build fixes [Matthias Clasen, Owen]
2735 * Hack around gcc, libtool issues with -pthread [Owen]
2736 * Docs improvements [Matthias]
2737 * Bug and portability fixes 
2738 * Updated and new translations (bg,de,fi,fr,sq,fr)
2739
2740 Other contributors: Kai Poitschke, Morten Welinder
2741
2742 Overview of Changes from GLib 2.1.3 to GLib-2.1.4
2743 =================================================
2744
2745 * autoconf changes to make it possible to cross compile
2746   GLib. [Owen Taylor, Dan Kegel, Amy Lin, Dimi Shahbaz, 
2747   Johannes Stezenbach]
2748 * Use libintl when it has bind_textdomain_codeset() and
2749   GLib doesn't. [Owen]
2750 * Improve generation of pseudo-random integers [Morten Welinder, 
2751   Sebastian Wilhelmi]
2752 * Avoid literal UTF-8 in favor of octal escapes [Owen, Tomas Ogren]
2753 * Cleanup include order [Sven Neumann]
2754 * autoconf cleanups and bug fixes [Daniel, Matthias Clasen, Owen]
2755 * Doc fixes and additions [Matthias]
2756
2757 Other contributors: James M. Cape, Frederic Crozat, Martin Gansser,
2758   Phuc LeHong, Manish Singh, Joshua Weage, Morten Welinder
2759
2760 Overview of Changes from GLib 2.0.x to GLib-2.1.x
2761 =================================================
2762
2763 * Add copy of the Trio library to build and use for printf() when 
2764   system printf isn't good enough. Add g_printf()/etc. [Matthias Clasen]
2765 * Add g_str_has_suffix()/g_str_has_prefix() [Alex Larsson]
2766 * Add g_markup_parse_context_get_element() [Matthias]
2767 * Add g_utf8_strreverse [Matthias]
2768 * Add g_ascii_strtoull() [Tim Janik]
2769 * Support scanning of 64-bit values with GScanner [Tim]
2770 * Add g_set/get_application_name() [Havoc Pennington]
2771 * Add G_LIKELY()/G_UNLIKELY() macros for hinting branch probabilities. 
2772   Use for g_return_if_fail(). [Matthias Clasen]
2773 * Add G_GNUC_DEPRECATED macro [Tom Tromey]
2774 * Improve the seeding algorithm of GRandom to avoid problems
2775   with certain pathological seeds. Support G_RANDOM_VERSION=2.0
2776   environment variable. [Sebastian Wilhelmi]
2777 * Improve thread configure checks, use -pthread where applicable
2778   [Sebastian]
2779 * Improve handlng of thread priorities [Sebastian]
2780 * Fix up parameter names that might shadow functions from
2781   system headers [Soeren Sandmann]
2782 * Clean up usage of deprecated functions [Manish Singh]
2783 * Docs fixes and improvements. In particular, include "Since" information.
2784   [Matthias, Soeren, Martin Schulze, Daryll Strauss, Bill Janssen, 
2785   Owen Taylor, Morten Welinder]. 
2786
2787 Overview of Changes in GLib 2.0.7
2788 =================================
2789
2790 * Fix C++ warnings in gtype.h [Dom Lachowicz]
2791 * Fix g_type_fundamental_next() [Tim Janik]
2792 * Fix various missing includes of config.h [Morten Welinder]
2793 * Handle main loop initialization before g_thread_init [Sebastian Wilhelmi]
2794 * Various 64-bit fixes [Manish Singh]
2795 * Fix GPoll on Win32 [Tor Lillqvist, Herman Bloggs]
2796 * Fix bug with buffering on UTF-8 IOChannels [Daniel Elstner]
2797 * Misc bug and build fixes [Soren Andersen, Gustavo Carneiro, Tor,
2798      Tim, Havoc Pennington,  Matthias Clasen, Sebastian Rittau,
2799      Masahiro Sakai, Arvind Samptur, HideToshi Tajima, Owen Taylor]
2800 * Updated and new translations (be,cs,de,*fa,it,lv,pt_BR,tr)
2801
2802 Overview of Changes in GLib 2.0.6
2803 =================================
2804
2805 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
2806 * Clean up debug spew from GObject [Anders Carlsson]
2807 * Compiler warning fixes [David L. Cooper II]
2808 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
2809 * Fixes for --disable-debug [Sebastian Wilhelmi]
2810 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
2811   Rajkumar Sivasamy, Laurent Vivier]
2812 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
2813   Sebastian Rittau, Linus Welleij]
2814 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
2815 * Updated translations (bg,ko,vi)
2816
2817 Overview of Changes in GLib 2.0.5
2818 =================================
2819
2820 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
2821 * Clean up debug spew from GObject [Anders Carlsson]
2822 * Compiler warning fixes [David L. Cooper II]
2823 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
2824 * Fixes for --disable-debug [Sebastian Wilhelmi]
2825 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
2826   Rajkumar Sivasamy, Laurent Vivier]
2827 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
2828   Sebastian Rittau, Linus Welleij]
2829 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
2830 * Updated translations (bg,ko,vi)
2831
2832 Overview of Changes in GLib 2.0.4
2833 =================================
2834
2835 * Fix some 64-bit problems. (George Lebl, David L. Cooper II)
2836 * Add note about Tru64 iconv to INSTALL. (Manuel Op de Coul)
2837 * Fix problem with timouts > MAXINT. (Tim Janik, Owen Taylor)
2838 * Updated translations (ca,es,fr,ja,gl,ms,nl,pl,pt,ru)
2839
2840 Overview of Changes in GLib 2.0.3
2841 =================================
2842
2843 * Handle sorting 0-length arrays (Ron Arts)
2844 * Threading fixes (Sebastian Wilhelmi)
2845 * Portability fixes (Miroslaw Dobrzanski-Neumann, Jacob Berkman, Gareth Pierce, 
2846   Sebastian, Qingjiang Yuan)
2847 * Various fixes for glib-2.0.m4. (Jim Gettys, others.)
2848 * Locate right glib-genmarshal when cross-compiling. (Mitch Natterer)
2849 * Win32 fixes (Tor Lillqvist)
2850 * Try to fix g_get_charset() related segfaults. (Owen)
2851 * Fixes for gettext detection. (Dan Winship, HideToshi Tajima, Boyd Lynn Gerber,
2852   Andrew P. Lentvorski, Jr.)
2853 * Fix g_scanner_unexp_token() (Tim Janik, Sven Neumann)
2854 * g_markup fixes. (Matthias Clasen.)
2855 * Bug fixes and cleanups (Daniel Elstner, Matthias, Laszlo Peter, Morten Welinder,
2856   Wayne Schuller)
2857
2858 Overview of Changes in GLib 2.0.1
2859 =================================
2860
2861 * Portability fixes for Sun's Forte compiler [Erwann Chenede]
2862 * Performance improvements for GObject parameter lookup, 
2863   g_filename_to/from_utf8() [Alex Larsson]
2864 * Actually check interface prerequisites [Matthias Clasen,
2865   Miroslaw Dobrzanski-Neumann]
2866 * Fix problem with glib-mkenums taking huge amounts of stack. [Owen Taylor]
2867 * Fix g_signal_handlers_disconnect_by_func() for C++ [Damien Sandras]
2868 * Fixes for g_log() and threading.
2869   [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, Tim Janik]
2870 * Make g_print(), g_printerr(), g_warning(), etc, convert from
2871   UTF-8 to the encoding of the locale [Sebastian Wilhelmi, Tim]
2872 * Fixes for GIOChannel on windows. [Tor Lillqvist]
2873 * Fix gsize/gint mismatches in giochannel.c [Miroslaw Dobrzanski-Neumann]
2874 * Fix file descriptor leak in g_file_get_contents() [Matthias]
2875 * Workaround iconv() problems on older Solaris [Lauri Alanko]
2876 * Fix warnings with gcc-3.1 about asm const [Cody Russel]
2877 * Minor bug fixes.
2878
2879 Other contributors: Hans Breuer, LEE Sau Dan, Sven Neumann, Salmaso Raffaele,
2880   Akira Tagoh, Morten Welinder
2881
2882
2883 Overview of Changes in GLib 2.0.0
2884 =================================
2885
2886 * Thread portability fixes [Sebastian Wilhelmi]
2887 * Documentation updates [Owen Taylor]
2888 * Make g_strerror(), g_strsignal() properly return UTF-8,
2889   call bind_text_domain_codeset() so that error strings
2890   are in UTF-8 as well. [Owen, Tor Lillqvist]
2891
2892 Overview of Changes in GLib 2.0.0 rc1:
2893 ======================================
2894
2895 * Win32 fixes [Tor Lillqvist]
2896 * Portability fixes [Finlay Dobbie, Miroslaw Dobrzanski-Neumann]
2897 * Fix up g_date_strftime [Daniel Elstner]
2898 * Add some structure padding [Tim Janik]
2899 * Make g_get_homedir() prefer the users home directory to $HOME
2900
2901 Other contributors: Matthias Clasen, Paolo Maggi, Christian Rose
2902
2903 Overview of Changes in GLib 1.3.15:
2904 ===================================
2905
2906 * Speed up marshalers by using private access to GValue 
2907   [Anders Carlsson, Tim Janik]
2908 * Reduce GValue to 2 elements [Tim]
2909 * Add G_DEBUG environment variable, G_DEBUG=fatal_warnings [Matthias Clasen]
2910 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
2911 * Add padding to various structures [Owen Taylor, Tim]
2912 * Win32 fixes [Tor Lillqvist]
2913
2914 Other contributors: James Henstridge, Ryan Lovett, Morten Welinder,
2915   Daniel Elstner
2916
2917 Overview of Changes in GLib 1.3.14:
2918 ===================================
2919
2920 * Register value transformations for gint64, guint64 [Andy Wingo]
2921 * Build with large-file support [Sven Neumann, Owen Taylor]
2922 * Fix handling of hostnames in URI's [Darin Adler]
2923 * Main loop bug fixes [Havoc Pennington, Owen]
2924 * Doc fixes and improvements [Manish Singh, Tim Janik]
2925 * Support ' as attribute delimiters in GMarkup [Matthias Clasen]
2926 * Win32 fixes [Hans Breuer, Tor Lillqvist]
2927 * Threading bug and build fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann]
2928 * Miscellaneous bug fixes
2929
2930 Other contributors: Matthias Clasen, James Henstridge, Mitch Natterer, 
2931   Morten Welinder.
2932
2933 Overview of Changes in GLib 1.3.13:
2934 ===================================
2935
2936 * Fix g_filename_to/from_uri for Win32 [Tor Lillqvist, Darin Adler]
2937 * Miscellaneous win32 fixes [Tor, Hans Breuer]
2938 * Fix thread options for gcc on AIX [Jerome Zago, Sebastian Wilhelmi]
2939 * Documentation improvements [Ron Steinke, Matthias, Sebastian]
2940 * Cache iconv converters as used by g_convert() [Jeffrey Stedfast]
2941 * Bug fixes [Sven Neumann, Owen Taylor, Matthias Clasen, Jeffrey,
2942   Laszlo Peter, Havoc Pennington, Tim Janik]
2943
2944 Overview of Changes in GLib 1.3.12:
2945 ===================================
2946
2947 * Implement closure chaining, fixing up API (Tim Janik)
2948 * Closure chaining test case (James Henstridge)
2949 * Make GType long not int where both are equal width (Tim)
2950 * Win32 fixes and improvements (Hans Breuer, Tor Lillqvist)
2951 * Fixes for NetBSD. (Dan Winship)
2952 * Use snprintf() for g_printf_string_upper_bound() where possible. (Matthias Clasen)
2953 * Save space for GBSearchArray (Tim Janik)
2954 * Documentation improvements. (Matthias, Sven Neumann, Havoc Pennington)
2955
2956 Other contributors: Darin Adler, Chris Blizzard, Anders Carlson, Daniel Elstner, Michael Meeks, 
2957   Mark McLoughlin, Dave Neary, Manish Singh, Owen Taylor, HideToshi Tajima, 
2958   Sebastian Wilhelmi.
2959
2960
2961 Overview of Changes in GLib 1.3.11:
2962 ===================================
2963
2964 * Win32 fixes [Hans Breuer, Tor Lillqvist]
2965 * Documentation improvements [Matthias Clasen]
2966 * Portable directory handling API [Hans]
2967 * Threading fixes [Sebastian Wilhelmi, Havoc Pennington]
2968 * Fix excess relocations in Unicode tables [Andrew Taylor]
2969 * Fix gpattern for UTF-8 [Matthias Clasen]
2970 * Support overriding class closures [Tim Janik]
2971 * Support for derivation from G_TYPE_POINTER [Owen Taylor]
2972 * Hide pointers to type information inside GType to reduce locking
2973   [Alex Larsson, Tim]
2974 * Adds check for direct inclusion of gobject/*.h [Owen]
2975 * GObject API cleanups [Tim]
2976
2977 Other contributors: Darin Adler, Jacob Berkman, Daniel Egger, Eric Lemings, 
2978   Michael Meeks, Mark McLoughlin, Arkadiusz Miskiewicz, Dan Winship
2979
2980
2981 Overview of Changes in GLib 1.3.10:
2982 ===================================
2983
2984 * Many Win32 fixes and improvements [Tor Lillqvist]
2985 * Documentation improvements [Matthias Clasen]
2986 * g_string_printfa() renamed to g_string_append_printf()
2987 * Use libcharset from libiconv to implement charset detection
2988   more portably. [Owen Taylor, Hidetoshi Tajima]
2989 * Add 64 bit type support to GObject [Joshua Pritikin, Mathieu Lacage, Owen]
2990 * Make support for 64 bit integers a requirement [Joshua]
2991 * GPattern improvements [Tim Janik, Matthias]
2992 * Locale independent g_ascii_strtod / g_ascii_dtostr [Alex Larsson]
2993 * Many bug fixes and minor tweaks.
2994
2995 Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
2996   Ben Gertzfield, Elliot Lee, Manish Singh, Abel Cheung, Laszlo Peter,
2997   Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
2998   Jacob Berkman
2999
3000
3001 Overview of Changes in GLib 1.3.9:
3002 ==================================
3003
3004 * Fixes for comparison of threads [Sebastian Wilhelmi]
3005 * Use vasprintf() when possible for g_strdup_printf [Matthias Clasen]
3006 * Win32 fixes [Tor Lillqvist, Hans Breuer]
3007 * Add a len argument to g_ascii_strup/strdown
3008 * Bug, portability fixes, cleanups.
3009
3010 Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
3011
3012
3013 Overview of Changes in GLib 1.3.8:
3014 ==================================
3015
3016 * Documentation updates [Owen]
3017 * Made GType interfaces overridable in derived types
3018 * Many win32 fixes [Tor Lillqvist]
3019 * Miscellaneous cleanups and fixes
3020
3021 Other contributors:
3022   Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
3023
3024
3025 Overview of Changes in GLib 1.3.7:
3026 ==================================
3027
3028 * Integrate GClosure support into the main loop [Owen Taylor]
3029 * More GSignal convenience functions (macros) [Sven Neumann, Tim Janik]
3030 * Introduced weak references for GObject [James Henstridge, Sven, Tim] 
3031 * Minor hash table optimizations
3032 * Main loop and threading improvements [Sebastian Wilhelmi]
3033 * Added g_ascii_* functions to be used for locale insensitive UTF-8
3034   compliant code instead of old string functions  [Darin Adler, Alex Larsson]
3035 * Add functions for Unicode case-conversion, normalization, and 
3036   collation [Owen]* GString improvements [Owen]
3037 * Reworked the GIOChannel code [Hidetoshi Tajima, Ron Steinke]
3038 * Removed glib-config-2.0 in favour of pkgconfig [Sebastian]
3039 * Make code 64bit clean [Mark Murnane]
3040 * More G_CONST_RETURN fixes
3041 * Many improvements to the win32 code [Tor Lillqvist, Hans Breuer]
3042 * Miscellaneous bug and API fixes
3043
3044 Other contributors:
3045   Michael Natterer, Christopher James Lahey, Padraig O'Briain,
3046   Matthias Clasen, Josh Pritikin, Steve Baker, Cesar Rincon, Garry R. Osgood,
3047   Michael Meeks, Laszlo Peter,  Martin Baulig, Kjartan Maraas, Andrew Lanoix,
3048   Peter Williams
3049
3050
3051 Overview of Changes in GLib 1.3.6:
3052 ==================================
3053
3054 * Threads have a "return value" from g_thread_join
3055 * Removed ability to adjust thread stack size
3056 * Prefix warnings with progname/PID by default, change toggle for this to 
3057   be an env variable G_MESSAGES_PREFIXED not a compile-time option
3058 * GMarkup speedups
3059 * GDate const, convenience fixups
3060 * Include test cases that headers are compilable by C++ compiler
3061 * Add ability to spawn processes with argv[0] != executable path.
3062 * g_strstr_len, g_strrstr, g_strrstr_len
3063 * Add length argument to g_utf8_strchr and g_utf8_strrchr.
3064 * Misc bug fixes
3065
3066
3067 Overview of Changes in GLib 1.3.5:
3068 ==================================
3069
3070 * Added an installed glib-mkenums Perl program for parsing enumeration
3071   declarations from header files.
3072 * Mark some additional deprecated functions.
3073 * Bug and Portability fixes
3074
3075
3076 Overview of Changes in GLib 1.3.4:
3077 ==================================
3078
3079 * Efficiency improvements for GThreadPool
3080 * A few bug fixes
3081 * Build fixes
3082 * Documentation improvements
3083
3084
3085 Overview of Changes in GLib 1.3.3:
3086 ==================================
3087
3088 GLib:
3089
3090 * More user_data support in various functions.
3091 * Main loop API revamps to support per-thread main loops.
3092 * Unicode handling improvements.
3093 * Implemented debugging traps.
3094 * G_CONST_RETURN specification all over the place.
3095 * Various new small utility functions.
3096 * Random number generator precision improvements.
3097 * New configure option --disable-mem-pools.
3098 * Many Win32 improvements.
3099 * Added g_try_malloc() friends varinats.
3100 * Many documentation improvements.
3101 * Many threading improvements, support for dynamic allocation
3102   of static mutexes.
3103 * GHookLIst API cleanups.
3104 * Improved format support of GDate parser.
3105 * String function speed improvements with new g_stpcpy().
3106 * Hashtable API additions.
3107 * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
3108 * Optimizations, cleanups, bug fixes.
3109
3110 GObject:
3111
3112 * Added many convenience functions.
3113 * GClosure and GParamSpec use float/sink ref-counting scheme now.
3114 * Reworked property change notification.
3115 * Binary searchable array cleanups, so it's widely usable now.
3116 * Added static content keeping for some GValue types.
3117 * Support for statically scoped signal parameters.
3118 * Extinguished property trailer args in set/get interface.
3119 * Added support for abstract types.
3120 * G_CONST_RETURN specification all over the place.
3121 * Split parameter exchange functionality into value transforms
3122   and parameter conversions.
3123 * Added signal emission hooks and signal accumulators.
3124 * Added interface prerequisites to support is_a (interface, object)
3125   relations.
3126 * Implemented GValueArray.
3127 * New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
3128   GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
3129   G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
3130 * Varrags value collection improvements.
3131 * Implemented debugging traps.
3132 * Made things thread-safe.
3133 * Many documentation improvements.
3134 * Many cleanups, optimizations and bug fixes.
3135
3136
3137 Overview of Changes in GLib 1.3.2:
3138 ==================================
3139
3140 GLib:
3141
3142 * Win32 build improvements  [Tor]
3143 * Improvements to error reporting  
3144   (g_critical(), g_return_if_reached()) [Darin]
3145 * Add g_strlcpy/g_strlcat  [David Wheeler]
3146 * New IO channel implementation for Win32  [Tor] 
3147 * Make g_array_free, g_string_free return pointer to memory requested
3148   not to be freed.  [Darin]
3149 * Added GError based error reporting for thread functions.  [Sebastian]
3150 * Moved reference docs into GLib distribution. [Owen]
3151 * Added g_convert() for doing convenient character set conversions based
3152   on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
3153 * Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
3154   g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
3155 * Portability fixes for threading.  [Sebastian]
3156 * Added convenient functions for launching new processes (g_spawn_*),
3157   and shell quoting/unquoting functions.  [Havoc]
3158 * Split glib.h into many headers.  [Sebastian]
3159 * Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
3160 * Fixed confusions between comparison functions that return <0, 0, >0
3161   and equaility functions that return FALSE,TRUE.  [Sebastian]
3162 * Added safe/portable temporary file manipulation functions.  [Tor]
3163 * autoconf improvements.  [Raja]
3164 * Many documentation improvements.
3165 * Bug fixes.
3166
3167 GObject:
3168
3169 * Added boxed and pointer types.  [Tim/Jonathan]
3170 * Added callback abstraction (GClosure)  [Tim]
3171 * Added signal system (GSignal)  [Tim]
3172 * Make GTypePlugin an interface  [Tim]
3173 * Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
3174 * Bug fixes.
3175
3176
3177 What's new in GLib 1.3.1:
3178 =========================
3179
3180 * New GObject library added including object system based on
3181   the GTK+ object system. 
3182 * Functions for getting the properties of Unicode characters, 
3183   computing the canonical decomposition and ordering combining
3184   characters aand manipulating UTF-8 string manipulation based
3185   on libunicode.
3186 * GString now properly handles embedded nuls.
3187 * Multiple fixes from the 1.2.x branch.
3188 * Upgrade to libtool 1.3.3
3189 * Full thread support (thread creation and destruction).
3190 * BeOS port, BeOS dynamic modules.
3191 * Many improvements to the Windows ports.
3192 * Improvements to the OS/2 port, OS/2 module support.
3193 * Double ended queue implementation.
3194 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
3195 * New configure option --enable-msg-prefix to prefix messages, warnings
3196   et ceteri with the program name and the process id.
3197 * New thread-safe random number generator Mersenne Twister.
3198 * g_strcompress() added, g_strescape() had a slight API change, and
3199   more tightly defined semantics.
3200 * the g_string(x) macro has been removed, #x may be used instead.
3201                                 
3202 * bugs fixed: