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