2.17.3
[platform/upstream/glib.git] / NEWS
1 Overview of Changes from GLib 2.17.1 to GLib 2.17.3
2 ===================================================
3
4 * PCRE
5  - fix for CVE-2008-2371 
6
7 * Bugs fixed:
8  538119 glib's mainloop leaks a pipe to sub-processes
9  537635 Corrections and improvements to g_time_val_{to,from}_iso8601
10  539067 The document g_io_channel_win32_new_fd() says...
11  535949 annotate g_strip_context and g_dpgettext with G_GNUC_FORMAT
12  539123 annotate g_d[n]gettext with G_GNUC_FORMAT
13  539074 Cannot get exit status with g_spawn_command_line_sync
14  316221 G_LOCK warns about breaking strict-aliasing rules
15  539770 migrate gstrfunc unit tests to gtest
16  539626 Update docstrings for g_object_freeze_notify and g_object_thaw_notify
17  538044 unconditional use of LC_MESSAGES
18  540545 Monotonic time and timer offset
19  535947 want g_set_error_literal
20  539999 glibconfig.h: add GLIB_USING_SYSTEM_PRINTF 
21  536252 GFileEnumerator should allow access to the containing GFile
22  538362 Get Win32 icons back in the file chooser
23  540802 g_list_prepend doesn't concat lists
24  540423 unrecoverable error after g_seekable_truncate
25  538836 make check failure on PPC and ALPHA: pltcheck.sh on g_atomic_pointer_get
26  539090 g_content_type_from_mime_type() should unalias
27  540331 g_file_append_to () documentation: can return NULL
28  534639 add g_desktop_app_info_new_from_keyfile
29  536733 gio build failure on Irix
30  536160 Add g_file_monitor()
31  538127 FileChooser broken on win32
32  531476 /live-g-file/test_traverse_structure test fails on Mac HFS+
33  538564 gio should have gio-types.h
34  540047 glib-genmarshal.c: '#include <io.h>' is too before
35
36 Updated translations:
37  Korean (ko)
38  Occitan (oc)
39
40
41 Overview of Changes from GLib 2.17.0 to GLib 2.17.1
42 ===================================================
43
44 * New function: g_utime(), a gstdio wrapper for utime()
45
46 * New functions: g_dgettext() and g_dngettext(), wrappers
47   for corresponding gettext functions with added functionaliy
48
49 * Support the latest version of the shared-mime spec, including
50   icons for mime types 
51
52 * New function: g_themed_icon_prepend_name()
53
54 * Bugs fixed: 
55  535418 Please document which glib version defines goffset
56  528715 Misprint in the description of the interface g_type_class_add_private
57  528714 Misprint in the description of the interface g_param_spec_flags
58  537260 Doc bug in G_TYPE_INSTANCE_GET_CLASS()
59  530527 Misprint in the description of the interface 
60         g_cclosure_marshal_VOID__FLAGS
61  530526 Misprint in the description of the fields 'class_init' and 
62         'class_finalize' of the structure GTypeInfo
63  528719 Improvement to the documentation of the "g_object_connect" interface
64  528172 gtk_signal_handlers_unblock_* functions return value
65         amount of matched signals, not amount of actually unblocked
66  528717 Misprint in the description of the parameter 'type_id' for 
67         the interface g_type_register_fundamental
68  528716 Misprint in the description of the parameter 'iface_data' for 
69         the callback types GInterfaceInitFunc and GInterfaceFinalizeFunc 
70  537555 GObject instantiation not thread safe
71  537546 'desktop' shortcut in file chooser looks like a generic folder
72  537392 Additional colon in xattr name
73  536641 Filesystem querying in gio does not list AFS and autofs file systems
74  528600 g_dummy_file_get_parent("scheme://example.com/")
75  503071 Application direction changes to right to left even if theres no 
76         translation
77  502511 g_assert_cmphex prints invalid message
78  338162 Use po/LINGUAS
79  314453 Nautilus crashes in Solaris when browsing the attached file
80  529321 make check fails in glib/pcre
81  455215 g_get_user_special_dir: no reference about G_USER_DIRECTORY_DOWNLOAD 
82         fallback to $HOME/Desktop if xdg-user-dirs is not in use
83  498732 g_key_file_to_data cannot fail
84  511367 add g_file_make_directory_with_parents
85  531900 Use __builtin_offsetof for G_STRUCT_OFFSET if building with 
86         gcc 4.0 or newer
87  536158 also bump GHashTable version when a node is removed via
88         g_hash_table_iter_remove()/g_hash_table_iter_steal()
89  531403 g_utf8_collate broken on Mac
90  535628 test/patterntest.c still includes gpattern.h directly
91  535625 alias.h:2648: error: 'utime' undeclared here (not in a function)
92
93 * Translation updates:
94  Arabic (ar)
95  German (de)
96  Italian (it)
97  Norwegian bokmål (nb)
98  Thai (th)
99
100
101 Overview of Changes from GLib 2.16.x to GLib 2.17.0
102 ===================================================
103
104 * Update to Unicode 5.1
105
106 * Update included libcharset to the one shipped with libiconv 0.12
107
108 * Update included PCRE to 7.7
109
110 * Enforce that only toplevel headers are directly included.
111   This is turned on by default for GObject and GIO. To turn
112   it on for GLib, define G_DISABLE_SINGLE_INCLUDES.
113
114 * Fix library version of GIO.  GLib 2.16 shipped with libgio-2.0.so.0.0.0
115
116 * On Solaris, use FEN for file monitoring in GIO
117
118 * Use the GIO_EXTRA_MODULES environment variable to find
119   additional GIO modules 
120
121 * G_GNUC_ALLOC_SIZE: New macro that wraps the gcc alloc_size
122   function attribute
123
124 * g_checksum_reset: New function to reset the state of a GChecksum 
125
126 * g_unix_mount_monitor_set_rate_limit: New function to limit the 
127   rate at which events are reported
128
129 * g_file_query_file_type: New utility function to query the type of
130   a file
131
132 * g_memory_output_stream_get_data_size: New function to obtain the
133   size of the written data.
134
135 * Bugs fixed:
136  522292 Gives warnings in glib/gutils.h with GCC in C99 mode
137  523298 win_iconv can't convert from UTF-8 to GB18030 (or vice versa)
138  518160 replace two g_strdup_printf calls in GBookmarkFile
139  523877 gbookmarkfile: avoid using g_string_append_printf() and
140         other optimizations 
141  525192 100% CPU if run main loop with no IO sources
142  315437 extern inline -> static inline
143  524314 g_convert() on Win32 implicitly converts full width
144         alphanumerics into half width
145  525732 Error in documentation for g_list_first
146  525674 A typo in gmarkup.c
147  448943 g_timeout_add_seconds() problems
148  525972 UCS-4 not in the new win_iconv implementation
149  526619 make test-report crash
150  491554 Update to Unicode 5.1.0
151  519137 g_slice_dup macro needs cast for 64-bit platform
152  528752 Win32 build and SSL not working
153  530457 G_USER_DIRECTORY_DOWNLOAD folder improperly mapped
154  528667 Typos in testing module documentation
155  459905 Bug in wcwidth data
156  534085 g_unichar_iswide_cjk() has a totally wrong table
157  501651 Update glib/libcharset
158  519026 G_STMT_START/G_STMT_END test a non-existent preprocessor symbol
159  534319 GLib's .pc files could use Libs.private
160  534137 Typo in g_spawn_async_with_pipes doc
161  517419 gio win32 directory monitor
162  526796 Wrong order of arguments in g_file_copy's fallback
163  530196 _g_local_file_has_trash_dir() doesn't handle st_dev == 0
164  532965 Should not return filesystem::free for certain file systems
165  525553 fix typo and nitpicking in GArray documentation
166  526572 Missing * in declaration of parent_class in Object
167         Destruction section of GObject Reference Manual
168  528648 Extra >s in Object Construction section
169  535021 g_param_spec_internal documentation should
170         describe purpose of nick and blurb
171  521513 Firefox crash when using file picker
172  528433 gdesktopappinfo snafu ...
173  533369 API g_file_info_get_attribute_string () unables to get "...
174  521045 glib f_fstypename miscellany
175  521672 compile error
176  521946 control rate limit on GUnixMountMonitor
177  522335 Fails to build: glib/gtester.c:276: error: 'ARG_MAX' unde...
178  523015 Implement sliding window based upload operation
179  523019 Use new GCC 4 feature
180  523338 list nfs4 as a nfs mount type
181  524350 Make glib build without NLS again
182  524579 g_file_copy reports wrong total on progress callback for ...
183  524742 A typo in gtestutils.c.
184  524950 Minor documentation typos.
185  525866 the user directory should not be considered as a mount to...
186  526320 should not list mounts that the user doesn't have permiss...
187  527132 nautilus crash when making ftp connection
188  532852 CRITICAL **: totem_pl_parser_parse_with_base: assertion `...
189  534759 Build failure in gio
190  534764 Typo in error produced by g_file_make_directory
191  521851 Redudant tests in gunixmounts.c
192  524344 glib/gthread.h still use G_GNUC_PRETTY_FUNCTION
193  525060 glib fails to build with -DG_DISABLE_ASSERT in CPPFLAGS o...
194  534177 Invalid description of the interface g_cclosure_marshal_S...
195  520715 Add GFile method g_file_query_file_type
196  523039 nautilus can't access to trash/computer/network if gvfs i...
197  
198 * Updated translations:
199  Arabic (ar)
200  Bulgarian (bg)
201  Catalan (ca) 
202  Czech (cs)
203  Greek (el)
204  Candian English (en_CA)
205  British English (en_GB)
206  Spanish (es)
207  Estonian (et)
208  Basque (eu)
209  Galician (gl)
210  Hebrew (he)
211  Hungarian (hu)
212  Japanese (ja)
213  Lithuanian (lt)
214  Norwegian bokmål (nb)
215  Dutch (nl)
216  Occitan (oc)
217  Portugese (pt)
218  Russian (ru)
219  Slovak (sk)
220  Albanian (sq)
221  Swedish (sv)
222  Turkish (tr)
223  Vietnamese (vi)
224
225
226 Overview of Changes from GLib 2.16.0 to GLib 2.16.1
227 ===================================================
228
229 * Fix a crash in g_themed_icon_new
230
231 * Update the included PCRE to 7.6
232
233
234 Overview of Changes from GLib 2.15.6 to GLib 2.16.0
235 ===================================================
236
237 * Fix the definition of G_INLINE_FUNC to work with gcc 4.3.0
238
239 * GIO:
240  - Add missing GMountMountFlags argument to g_unix_volume_mount
241  - Fix the adopt_orphan_mount vfunc to take a volume monitor 
242    reference
243  - Add properties to GThemedIcon for bindings sake
244
245 * Bugs fixed:
246  520484 gvfsd-trash crashed with SIGSEGV in g_path_is_absolute()
247  510855 g_checksum_update(): Take -1 for length.
248  517676 g_themed_icon_new*() do more than call g_object_new().
249  518816 should handle rmdir returning EEXIST correctly
250  519352 g_[s]list_delete_link() docs
251  519489 Fixes for sparse warnings in gio
252  520169 add monitor argument to vfunc for GVolumeMonitor
253  520700 Add type check in g_file_query_exists
254  521145 FILE_READ_ONLY_VOLUME not present on Mingw32
255  518720 No MIME type for empty files
256  521013 in documentation, goffset doesn't say "Since 2.x"
257  521028 Missleading error messages from g_io_channel_set_encoding()
258  517484 GMainLoop could set the thread "Alertable" for APCs to be... 
259
260 * Updated translations:
261  Assamese (as)
262  Bengali India (bn_IN)
263  Czech (cs)
264  German (de)
265  Spanish (es)
266  Estonian (et)
267  Finnish (fi)
268  French (fr)
269  Gujarati (gu)
270  Italian (it)
271  Lithuanian (lt)
272  Malayalam (ml)
273  Marathi (mr)
274  Norwegian bokmål (nb)
275  Romanian (ro)
276  Russian (ru)
277  Slovak (sk)
278  Ukrainian (uk)
279
280  
281 Overview of Changes from GLib 2.15.5 to GLib 2.15.6
282 ===================================================
283
284 * GIO:
285  - New file attributes: trash::item-count, filesystem::use-preview
286  - Rename g_file_contains_file to g_file_has_prefix
287  - g_file_query_filesystem_info grew async variants
288  - g_themed_icon_append_name: new convenience function
289  - g_content_type_get_icon is implemented now
290  - Only show mounts in /media and ~
291  - g_file_contains_file has been renamed to g_file_has_prefix
292
293 * Win32:
294  - g_win32_get_package_installation_directory_of_module: new function
295    which supersedes g_win32_get_package_installation_directory
296  - Use alertable wait functions so that I/O completion routines or 
297    user-mode Asynchronous Procedure Calls can be run
298  - Fix race conditions in g_spawn implementation on win32
299
300 * Other:
301  - g_uri_get_scheme has been renamed go g_uri_parse_scheme
302
303 * Updated translations:
304  Arabic (ar)
305  Belarusian Latin (be@latin)
306  Catalan (ca) 
307  British English (en_GB)
308  Finnish (fi)
309  Galician (gl)
310  Hebrew (he)
311  Italian (it)
312  Kannada (kn)
313  Norwegian bokmål (nb)
314  Dutch (nl)
315  Brazilian Portugese (pt_BR)
316  Vietnamese (vi)
317
318
319 Overview of Changes from GLib 2.15.4 to GLib 2.15.5
320 ===================================================
321
322 * Update the included PCRE to 7.6
323
324 * GIO:
325  - g_volume_should_automount: new function to determine if a volume
326    should be mounted automatically
327  - g_file_query_default_handler: new convenience function to get
328    the default handler for a file
329  - g_app_info_launch_default_for_uri new convenience function to
330    launch the default handler for a URI
331  - Use mimeapps.list and defaults.list as discussed on xdg list
332    recently
333  - g_app_info_get_default_for_uri_scheme has a real implementation
334    now (gvfs provides a GConf-based implementation)
335  - There is the beginning of a test suite
336  - standard::description:  new file attribute
337  - GMountMountFlags flags argument added to mount calls
338
339 * GObject:
340  - class initialization is now threadsafe
341
342 * Updated translations:
343   Arabic (ar)
344   Catalan (ca)
345   Spanish (es)
346   Basque (eu)
347   Italian (it)
348   Japanese (ja)
349   Kannada (kn)
350   Korean (ko)
351   Macedonian (mk)
352   Occitan (oc)
353   Portugese (pt)
354   Brazilian Portugese (pt_BR)
355   Swedish (sv)
356   Thai (th)
357
358
359 Overview of Changes from GLib 2.15.3 to GLib 2.15.4
360 ===================================================
361
362 * G_GNUC_PRETTY_FUNCTION has been deprecated
363
364 * GIO:
365  - g_file_copy has an async variant now
366  - Drives and volumes now have API to get identifiers
367    like Hal UDIs or UUIDs.
368  - There is now a registration API to let modules register
369    extensions they provide, such as volume monitor implementations
370
371 * Bugs fixed:
372   511807 g_time_val_to_iso8601() uses MT-unsafe gmtime() function
373   316260 [patch] Doc patches for gnode (2.8.1)
374   385132 solaris gettext support fix
375   484261 ./configure check for system PCRE unicode support fails w...
376   510292 GOption main help not shown
377   511580 Implement g_file_copy_async
378   511654 Compile errors due to C99 constructs
379   487909 g_utf8_strreverse and combining marks
380   512381 unused variable 'is_main_group' 
381
382 * Updated translations:
383   Arabic (ar)
384   Belarusian (be)
385   Czech (cz)
386   Spanish (es)
387   French (fr)
388   Galician (gl)
389   Portugese (pt)
390   Russian (ru)
391   Swedish (sv)
392   Thai (th)
393
394
395 Overview of Changes from GLib 2.15.2 to GLib 2.15.3
396 ===================================================
397
398 * GChecksum:
399  - g_checksum_update can accept nul-terminated strings
400  - The MD5 implementation works correctly on buffers 
401    that are longer than 64 bytes
402
403 * GIO:
404  - Don't include a copy of the inotify headers, rely on system headers
405  - g_file_find_enclosing_mount has an async variant now
406  - Reduntant seek API on file streams has been removed
407
408 * Bugs fixed:
409   508602 gmemory{in|out}putstream.c: unknown pointer size
410   508771 There is no g_file_test/exists() for GFile
411   508773 g_uri_escape_string() documentation unclear.
412   509465 AM_PATH_GLIB_2_0 doesn't support gio
413   509626 async functions: Document allowed NULL callback?
414   509990 GSeekable documentation unclear
415   510448 No inotify support on ARM or SH5
416   510855 g_checksum_update(): Take -1 for length. 
417
418 * Updated translations:
419   Basque (eu)
420   Marathi (mr)
421   Swedish (sv)
422   Ukrainian (uk)
423
424
425 Overview of Changes from GLib 2.15.1 to GLib 2.15.2
426 ===================================================
427
428 * GIO:
429  - Mount operation API change: unhandled methods get reported via 
430    the reply, rather than by the signal emission return value
431  - File monitor API change: Add a GError argument to g_file_monitor_file
432  - g_unix_mount_guess_should_display(): new function
433
434 * Bugs fixed:
435   508224 [PATCH] FAM backend crashes due to double free
436   508074 GAsyncResult documentation suggests g_freeing it.
437   508108 GFile documentation slightly unclear.
438   508309 rpc_pipefs mount points should be hidden
439   508378 GFileInfo documentation implies that it changes attribute...
440   508719 g_file_get_relative_path fails if parent is root
441   508773 g_uri_escape_string() documentation unclear.
442
443 * Updated translations:
444   Arabic (ar)
445   Spanish (es)
446   Hebrew (he)
447   Italian (it)
448   Korean (ko)
449   Turkish (tr)
450
451
452 Overview of Changes from GLib 2.15.0 to GLib 2.15.1
453 ===================================================
454
455  * Portability fixes:
456  - Assertion functions are marked as noreturn again
457  - Handling of inline functions has been fixed to work with gcc 4.3
458  - C99 comments have been removed from headers
459  - The nonportable sed -i option is no longer used
460
461  * GIO:
462   - Clarified the semantics of g_app_info_get_all()
463   - API for memory input and output streams has been changed a bit
464   - GDirectoryMonitor has been removed; GFileMonitor can monitor
465     files and directories now
466
467  * Bugs fixed:
468    504829 Invalid environment passed to g_spawn_async in g_desktop_...
469    505258 crash in Users and Groups: Adding a user
470    505815 g_content_types_get_registered should not g_free keys
471    491218 g_timer_new() doesn't initialize timer->end
472    315437 extern inline -> static inline
473    476856 Inconsistency between standard and implementation of the ...
474    480122 g_module_open fails to open modules with ".la" extension
475    495589 gspawn.c failing to set FD_CLOEXEC
476    500273 doesn't build with --disable-visibility
477    504142 Do not show empty groups in --help output
478    504879 giofam incorrectly linked
479    505042 add file attribute for actually used file size in bytes
480    505058 xattr namespace docs
481    505674 Misprint in the definition of the macro G_CCLOSURE_SWAP_DATA
482    505730 Fails to build on OSX 10.4: _NSGetEnviron not declared
483    505887 older darwin lacks lchown
484    506374 gmemoryinputstream api
485    506461 Conversion of g_assert_not_reached() and friends into fun...
486    503051 Small bug in glib interface
487    506395 Updates to GIO documentation
488    507628 Missing .pc entry for gio linking against glib
489    505195 [patch] typo in g_try_new0 docs 
490    507822 g{file,directory}monitor changes signal problem
491    506377 gmemoryoutputstream write implementation
492    507835 bug in gunixinputstream 
493
494  * Updated translations:
495    Arabic (ar)
496    Belarusian Latin (be@latin)
497    Spanish (es)
498    Basque (eu)
499    Irish (ga)
500    Hebrew (he)
501    Occitan (oc)
502    Vietnamese (vi)
503
504
505 Overview of Changes from GLib 2.14.x to GLib 2.15.0
506 ===================================================
507
508 Major new features:
509
510  * GIO: a VFS API, designed to replace GnomeVFS. The GIO implementation 
511    in GLib has support for local filesystems. The new, separate gvfs 
512    module contains various backend implementations (cifs, ftp, sftp,
513    http, ...)
514
515  * GChecksum: provides various hash algorithms, such as MD5, SHA-1
516    and SHA-256
517  
518  * GTest: a test framework 
519  
520 Smaller additions:
521
522  * GHash:
523  - GHash has iterators, as an alternative to g_hash_table_foreach
524
525  * GMarkup: 
526  - g_markup_parse_context_get_element_stack: New function to
527    get the stack of open elements
528  - G_MARKUP_PREFIX_ERROR_POSITION: New flag to improve error
529    reporting
530  - g_markup_collect_attributes: Convenience function for handling
531    attributes
532
533 * GKeyFile: 
534  - Functions that take a GError now return a boolean to indicate 
535    success, instead of void
536  - Various performance improvements
537
538 * GAsyncQueue:
539  - g_async_queue_new_full: new function that allows to specify
540    a free function for leftover elements
541  
542 * GError:
543  - g_prefix_error and g_propagate_prefixed_error: New functions
544    to ease error propagation
545
546 * Internationalization:
547  - C_: A new 2-argument variant of the Q_() macro 
548  - Use native character set conversion API on Windows
549
550 * GLib builds with automake 1.10
551
552 * Bugs fixed:
553  455725 specific combination of g_utf8_strlen and g_pattern_match...
554  467537 g_convert_with_iconv() not resetting iconv() state correc...
555  497033 Commandline option parser should warn about missing optio...
556  504527 gchecksum: Conditional jump or move depends on uninitiali...
557  445362 Non-numeric local labels in gatomic.c are causing linker ...
558  482313 gregex: no way to tell why compilation failed
559  317775 main loops continues to run after g_main_loop_quit() has ...
560  418778 Insufficient pkg-config version requirement
561  436293 g_option_context_new() doc should mention that the string...
562  466557 glib-mkenums shifts ARGV[0] to undefined
563  468882 GKeyFile doesn't accept "True" as a true boolean value
564  469551 application --help messages are garbaged on none UTF-8 lo...
565  479724 Memory leak upon calling "g_main_loop_run" in the seconda...
566  490061 outptrs uninitialized after g_parse_long_long
567  490637 gobject documentation patch
568  495294 glib-genmarshal prints warnings but returns 0
569  496046 option to prefix location of errors for GMarkup
570  498113 tests/regex-test fails on 64bit environment
571  500506 Fails to build on OSX 10.4
572  500638 gkeyfile speedup ...
573  500875 Make check fails as there is no "test" target for "build"...
574  502511 g_assert_cmphex prints invalid message
575  502927 g_array_index triggers cast aligment warning
576  503029 g_time_val_from_iso8601 parse non-ISO8601 dates
577  503222 Need context to translate
578  503420 gkeyfile leaks a hash table
579  503470 Fix build when builddir != srcdir
580  504227 Inverse variant for g_test_trap_assert_stdout, g_test_tra...
581  71704  file include order
582  491957 Misprint in the specification of the interface "g_main_co...
583  491959 Misprint in description of the structure "GThreadPool"
584  491965 Mistype in the specification of the function "g_hook_list...
585  491966 Misprint in the specification of the interface "g_main_co...
586  491968 The documentation does not mention the restriction for th...
587  491970 The documentation for the interface "g_date_clamp" is inc...
588  491974 The documentation of the interface "g_main_context_iterat...
589  491975 The documentation for the interfaces "g_io_channel_read_u...
590  491979 Misprint in the description of the interfaces g_key_file_...
591  491982 Misprint in the description of the interface "g_key_file_...
592  501107 EXTRA_DIST automake warnings
593  501997 g_utf8_normalize() returns NULL on invalid string
594  502590 C_/g_dpgettext efficiency
595  464259 g_set_application_name() docs should say "Since 2.2"
596  496518 gbase64.c API doc clarification
597  498728 g_key_file_get_*_list should set length to 0 when returni...
598  500361 Improve docs for g_array_free() and g_ptr_array_free()
599  501853 g_checksum_get_digest docs
600  503862 Allow NULL strings in g_parse_debug_string()
601  142676 Q_
602  367550 Add g_async_queue_new_full() with GDestroyNotify function
603  375651 Minor enhancements to GKeyFile API
604  443648 MD5 digest support
605  449937 Upgrade auto* sources to be clean under automake1.9
606  452887 gmarkup context "get element" function is useless when ca...
607  491549 [PATCH] Eliminate libiconv dependency on Windows
608  500507 GHashTableIter API 
609
610 * Translation updates
611  Belarusian Latin (be@latin)
612  Czech (cs)
613  German (de)
614  Spanish (es)
615  Esperanto (et)
616  French (fr)
617  Korean (ko)
618  Marathi (mr)
619  Norwegian bokmål (nb)
620  Brazilian Portugese (pt_BR)
621  Slovenian (sl)
622  Swedish (sv)
623
624
625 Overview of Changes from GLib 2.14.2 to GLib 2.14.3
626 ===================================================
627
628 * Update PCRE to 7.4
629
630 * Bugs fixed:
631  487491 Fix some warnings from sparse
632  488068 Small (one-time) memory leak in glib_gettext initialization
633  493688 TYPE macro "_get_type ()" is documented wrong
634
635 * Updated translations:
636  Arabic (ar)
637  Belarusian Latin (be@latin)
638  Estonian (et)
639  Irish (ga)
640  Slovenian (sl)
641
642  
643 Overview of Changes from GLib 2.14.1 to GLib 2.14.2
644 ===================================================
645
646 * Bugs fixed:
647  476849 Invocation of the interface "g_hook_free" fails in certai...
648  359165 marshallers can throw warnings with -Wunused
649  477957 more discussion on g_value_set_object vs. g_value_take_ob...
650  478459 G_DEFINE_DYNAMIC_TYPE_EXTENDED doesn't work with G_IMPLEM...
651  483337 inline is disabled for MSVC when compiling C code
652  478349 Broken link to gettext website
653  469231 g_spawn optimization for setting all open fds to CLOEXEC 
654
655 * Updated translations:
656 Arabic (ar)
657 Galician (gl)
658 Hebrew (he)
659 Korean (ko)
660
661
662 Overview of Changes from GLib 2.14.0 to GLib 2.14.1
663 ===================================================
664
665 * Bugs fixed:
666  476840 Invocation of the interface "g_utf8_strreverse" crashes f...
667  444765 Fix FIXME in gregex.c when new pcre is out
668  464145 g_markup_escape_text Produces Invalid XML
669  465625 g_type_default_interface_ref() does not ensure working g_...
670  466768 Clearify that comments can be put anywhere in a Key-file.
671  474229 The GError documentation should give convention for the G...
672  474899 G_BREAKPOINT() docs inaccurate
673  475854 Overuse of -lpcre when using system pcre
674  473879 Incorrect includes in gregex.c
675  468694 Typoes in documentation
676  469051 g_snprintf () talks about characters where it probably me...
677  457601 Missing arch specific atomic implementation
678  475923 Missing pcre flags when static-linking against glib
679  475619 glibthread-2.0.la does not list -lpthread
680
681 * Updated translations:
682  Bulgarian (bg)
683  Catalan (ca)
684  Danish (da)
685  German (de)
686  Canadian English (en_CA)
687  British English (en_GB)
688  Spanish (es)
689  Estonian (et)
690  Finnish (fi)
691  French (fr)
692  Gujarati (gu)
693  Hungarian (hu)
694  Italian (it)
695  Georgian (ka)
696  Kannada (kn)
697  Lithuanian (lt)
698  Makedonian (mk)
699  Norwegian (nb)
700  Dutch (nl)
701  Polish (pl)
702  Portugese (pt)
703  Brazilian Portugese (pt_BR)
704  Romanian (ro)
705  Russian (ru)
706  Albanian (sq)
707  Serbian (sr, sr@Latn)
708  Swedish (sv)
709  Tamil (ta)
710  Thai (th)
711  Ukrainian (uk)
712  Vietnamese (vi)
713
714
715 Overview of Changes from GLib 2.13.7 to GLib 2.14.0
716 ===================================================
717
718 * Last-minute API additions:
719  - Make g_unichar_combining_class public
720  - Add goffset type, add G_MAXSSIZE and G_MINSSIZE
721
722 * Update PCRE to 7.2
723
724 * Bugs fixed:
725  453998 Make _g_unichar_combining_class() public
726  462549 gregex.c: variable is declared at middle of block
727  417068 g_file_test doc inconsistency
728
729 * Updated translations:
730  Assamese (as)
731  Basque (eu)
732  Kannada (kn)
733  Malayalam (ml)
734  Dutch (nl)
735  Polish (pl)
736  Brazilian Portugese (pt_BR)
737  Turkish (tr)
738
739
740 Overview of Changes from GLib 2.13.6 to GLib 2.13.7
741 ===================================================
742
743 * The memory corruption warning from the slice allocator that
744   occurred when threads were initialized after the slice allocator
745   has been removed, as the slice allocator now works fine
746   in this scenario.
747
748 * New functions g_once_init_enter() and g_once_init_leave() make
749   it easier to write threadsafe one-time initialization functions 
750  
751 * Bugs fixed:
752  454473 Simple XML Subset Parser terminates on invalid XML
753  445813 g_module_open error, add file name
754  453796 errno gets clobbered by g_filename_display_name
755  341988 don't use "-c" with msgfmt in Makefile.in.in
756  447048 Please produce slightly more output during long tests
757  454785 GModule documentation lists same block of code twice.
758  454786 GModule documentation lists same paragraph twice.
759  383155 small docs quirks in gobject/closure API documentation
760  65041  _get_type() functions aren't thread safe
761
762 * Updated translations
763  Assamese (as)
764  Spanish (es)
765  Gujarati (gu)
766  Japanese (ja)
767  Korean (ko)
768  Macedonian (mk)
769
770
771 Overview of Changes from GLib 2.13.5 to GLib 2.13.6
772 ===================================================
773
774 * Reintroduce a GType typedef whose removal in 2.13.5
775   caused trouble for C++ bindings
776
777 * Bugs fixed:
778  450216 docs not explicit enough about g_free()
779  451459 g_type_register_static_simple calls g_type_register_static
780
781 * Updated translations
782  Norwegian bokmål (nb)
783  Sinhala (si)
784
785
786 Overview of Changes from GLib 2.13.4 to GLib 2.13.5
787 ===================================================
788
789 * xdg-user-dirs support: 
790  - the Desktop directory is guaranteed to be defined
791  - user-dirs.dirs is no longer reloaded on changes
792
793 * Slice allocator: 
794  - new api to duplicate slices
795
796 * Regular expression support:
797  - GRegex is a boxed type now
798
799 * Bugs fixed:
800  44793 make check failing in trunk
801  354522 Small problem with PLT hiding 6 symbols
802  363986 glib 2.12.4 does not compile with SGI IDO cc
803  443869 g_type_class_add_private doesn't warn when adding 0-sized...
804  446859 Legitimately return 0 for g_quark_from_string(NULL)
805  447534 Small typo in g_timeout_add_seconds() doc
806  447583 GStaticRWLock
807  447935 g_get_current_dir SIGSEGV on long path
808  448260 CLAMP has surprising result if low > high
809  57693  g_string_vprintf()
810  442029 add g_slice_dup()
811  445065 Add GRegex boxed type
812  448819 Add full version of g_timeout_add_seconds()
813
814 * Updated translations: 
815  Swedish (sv)
816  Oriya (or)
817  Hebrew (he)
818  Spanish (es)
819  Estonian (et)
820
821  
822 Overview of Changes from GLib 2.13.3 to GLib 2.13.4
823 ===================================================
824
825 * Bugs fixed:
826  444121 g_get_user_special_dir deadlocks
827  444161 invalid UTF8 in key name shows up as valgrind error in g_...
828  444130 g_option_context_get_help() is broken when there's a desc...
829
830
831 Overview of Changes from GLib 2.13.2 to GLib 2.13.3
832 ===================================================
833
834 * GKeyFile:
835  - Added defines for easier handling of desktop files
836
837 * Unicode support:
838  - Update g_unichar_iswide_cjk for Unicode 5.0
839
840 * Regular expression support:
841  - GRegex structs can now be ref-counted
842  - Some new functions for dealing with incremental 
843    replacement have been added
844  - The GRegexEvalCallback signature has been changed
845
846 * g_get_user_special_dir() has been added to support
847   xdg-user-dirs
848
849 * Bugs fixed:
850  419376 Functions using named subpatterns behave inconsistently w...
851  434358 g_regex_fetch_named() and g_regex_fetch_named_pos() are b...
852  423708 typo in the README.win32 file see patch below
853  339225 Add new defines for easier handling of .desktop files 
854  442265 API additions/changes for GRegex
855  432651 Add a glib-ish xdg_user_dir_lookup
856
857 * Updated translations:
858  Estonian (et)
859  Norwegian bokmål (nb)
860
861
862 Overview of Changes from GLib 2.13.1 to GLib 2.13.2
863 ===================================================
864
865 * Unicode support:
866  - Add g_unichar_ismark()
867
868 * GOption:
869  - Allow to use callbacks for remaining args
870
871 * Updated translations:
872   Belarusian Latin (be@latin)
873   British English (en_GB)
874   Galician (gl)
875   Norwegian bokmål (nb)
876   Oriya (or)
877   Spanish (es)
878   Thai (th)
879
880
881 Overview of Changes from GLib 2.13.0 to GLib 2.13.1
882 ===================================================
883
884 * GRegex:
885  - Portability fixes
886  - Split into immutable GRegex and GMatchInfo
887  - Add g_regex_get_max_backref() and g_regex_get_capture_count()
888    to obtain information about the compiled regex
889
890 * GKeyFile:
891  - Fix roundtrip problems
892  - Add g_key_file_load_from_dirs()
893
894 * Unicode support:
895  - Fix corner cases in case conversion routines
896
897 * GOption:
898   - Add a function to get the formatted help string
899
900 * GHash:
901  - Add new functions g_hash_table_get_keys() and
902    g_hash_table_get_values() to retrieve the keys and
903    values in list form
904
905 * Updated transations:
906   Simplified Chinese (zh_CN)
907   Arabic (ar)
908
909
910 Overview of Changes from GLib 2.12 to GLib 2.13.0
911 =================================================
912
913 * Add GSequence, a list that is implemented using
914   a balanced binary tree.
915
916 * Add GRegex, an implementation of Perl regular expressions,
917   based on PCRE.
918  
919 * Use Posix monotonic clocks instead of gettimeofday()
920   for GTimer when available.
921
922 * Support static initialization of GQeues with G_QUEUE_INIT,
923   g_queue_init() and g_queue_clear().
924
925 * Add g_string_chunk_clear() for clearing a 
926   GStringChunk.
927
928 * Add g_unichar_get_script() to obtain Unicode
929   script information.
930
931 * Add g_unichar_iszerowidth() to obtain information
932   about zero-width characters.
933
934 * Add G_GNUC_MAY_ALIAS which wraps the gcc may_alias 
935   type attribute.
936
937 * G_GNUC_INTERNAL has a working definition for the
938   Sun Studio compiler. This requires the macro to
939   be positioned before the function declaration.
940
941 * The slice allocator can produce detailed debugging
942   information with G_SLICE=debug-blocks.
943
944 * Modules support G_DEBUG flags resident-modules and
945   bind-now-modules.
946
947 * Add G_DEFINE_DYNAMIC_TYPE() to make it easier
948   to define types in modules.
949
950 * Bug fixes: too many to list them in detail here.
951
952 * New and updated translations (be,bg,bn,ca,cs,de,
953   en_CA,en_GB,et,fa,fr,he,hu,it,ja,ku,lt,mg,mk,ml,
954   nb,ne,nn,pt,pt_BR,ro,sr,sr@Latn,sv,ta,uk,vi,zh_CN,
955   zh_HK,zh_TW)
956
957
958 Overview of Changes from GLib 2.12.1 to GLib 2.12.2
959 ===================================================
960
961 * Unicode updates:
962  - Normalization is following Unicode TR #29
963  - g_unichar_isxdigit() only accept characters
964    for which g_unichar_xdigit_value() returns a value
965  - g_unichar_toupper and g_unichar_tolower leave
966    unconvertable characters in place instead of
967    replacing them by NUL
968
969 * Bugs fixed
970  348491 g_utf8_strup() and g_utf8_strdown() returns 
971         string with NUL bytes
972  349825 GKeyFile always inserts a newline before a group
973  347842 g_unichar_isxdigit() is too general about what 
974         it considers a digit
975  348694 g_utf8_normalize() hasn't been updated to PR #29
976  348785 Hint about G_DEBUG in Message Logging docs
977  349792 Wrong english string (UI)
978  349952 gparamspecs.c uses gcc feature
979
980 * Translation updates (ca,cs,de,dz,es,eu,fi,gu,ko,
981   nl,pl,tr,uk,zh_HK,zh_TW)
982
983
984 Overview of Changes from GLib 2.12.0 to GLib 2.12.1
985 ===================================================
986
987 * Update to final Unicode Character Database 5.0.0
988
989 * Bugs fixed:
990  346660 issues with base64 api documentation / g_base64_decode_cl...
991  348136 Coverity reports allocation of wrong size CID #2839
992  336281 Update to UCD 5.0
993  346197 g_date_strftime %F option doesnt work for win32
994  348011 Small optimization to real_toupper()
995  246494 prototype mismatch in glib/gconvert.c
996
997 * New and updated translations (bg,bn_IN,ca,dz,eu,fi,
998   fr,he,it,ja,mk,or,pt)
999
1000
1001 Overview of Changes from GLib 2.11.4 to GLib 2.12
1002 =================================================
1003
1004 * Bugs fixed:
1005  344905 leap-year bug in g_time_val_from_iso8601 w/o HAVE_TIMEGM
1006
1007 * Updated translations (cy,nb,nl)
1008
1009
1010 Overview of Changes from GLib 2.11.3 to GLib 2.11.4
1011 ===================================================
1012
1013 * GBookmarkFile:
1014  - g_bookmark_file_remove_item returns a boolean
1015  
1016 * g_mkstemp accepts the XXXXXX in the middle of
1017   the template
1018  
1019 * Bugs fixed:
1020  344868 g_key_file_to_data should separate groups 
1021
1022 * Updated translations (de,es,fr,gu,hi,ko,th)
1023
1024
1025 Overview of Changes from GLib 2.11.2 to GLib 2.11.3
1026 ===================================================
1027
1028 * GBookmarkFile:
1029   - g_bookmark_file_move_item: Return TRUE in case of
1030     an empty target
1031
1032 * Bugs fixed: 
1033  343919 gunicollate.c: strxfrm bug on VC8
1034
1035 * Updated translations (fi)
1036
1037 Overview of Changes from GLib 2.11.1 to GLib 2.11.2
1038 ===================================================
1039
1040 * Add g_ascii_stroll to parse signed 64bit integers
1041
1042 * GMarkup: add a flag to treat CDATA as text
1043
1044 * GHashTable: add functions to remove all entries
1045
1046 * GMainLoop: add functions to find the currently
1047   running source, and determine if it is destroyed
1048
1049 * Bug fixes:
1050  342563  g_atomic_thread_init() needs to be called before 
1051          other _g_*_thread_init() functions
1052  343548  Potential use after free in callers of g_string_free() 
1053  168538  Wish: Clearing contents of GHashTables
1054  321886  GTK+ cannot be reliably used in multi-threaded 
1055          applications
1056  341826  goption.c: 'strtoll' is C99's function
1057  343899  g_ascii_formatd dosn't work as expected for all 
1058          format strings
1059  317793  Make GEnumValue strings const
1060  337129  Compile warnings in G_IMPLEMENT_INTERFACE
1061  303622  What is G_TYPE_CHAR?
1062
1063 * Updated translations (bg,dz,eu,gl,ja,ko,nl,th,vi)
1064  
1065
1066 Overview of Changes from GLib 2.11.0 to GLib 2.11.1
1067 ===================================================
1068
1069 * GOption  
1070   - Support 64-bit integers 
1071   - Allow optional text before and after the options
1072     in help output
1073
1074 * Bug fixes:
1075  340538 gbase64-test writes OOB 
1076  340816 GKeyFile set_string_list invalid memory reads 
1077  339105 g_key_file_parse_value_as_double
1078  340434 convert-test.c fails (function test_one_half)
1079  311043 Memory leaks (and potential infinite loops) 
1080         when using G_ERRORCHECK_MUTEXES
1081  335198 Error checking mutexes are fubar  
1082  341237 Add a G_OPTION_ARG_INT64
1083  341192 g_io_channel_set_flags not implemented on win32
1084  336120 Allow adding description before/after GOption 
1085         --help output body
1086  341191 misplaced check in g_relation_delete
1087  340530 mismatched calloc / g_free in win32 threads
1088
1089 * Updated translation (es)
1090
1091 Overview of Changes from GLib 2.10.x to GLib 2.11.0
1092 ===================================================
1093
1094 * GBookmarkFile: a parser for files containing bookmarks
1095   stored using the Desktop Bookmark specification.
1096
1097 * Base64 encoding support
1098         
1099 * Unicode 5.0 support
1100
1101 * GOption supports floating point numbers 
1102
1103 * GKeyFile supports floating point numbers
1104
1105 * Bug fixes:
1106  155884 gatomic.c should be based on new SDK
1107  157877 update-desktop-database doesn't handle duplicate entries
1108  164719 keyfile parser doesn't support floats
1109  327662 Import BookmarkFile from libegg
1110  329548 Add G_OPTION_ARG_DOUBLE
1111  329789 option-test.c type confusion
1112  332841 Segmentation Fault when %llu is passed to vasnprintf and 
1113         HAVE_SNPRINTF is not defined
1114  333879 gthread/gthread-win32.c: IsDebuggerPresent needs '#define 
1115         _WIN32_WINDOWS 0x0401'
1116  333916 g_timer_elapsed docs should mention that microseconds 
1117         may be NULL
1118  334440 dlerror() portability issue causes crash on (old) a.out 
1119         NetBSD platform
1120  334646 goption + error out params
1121  334799 g_remove() must check return value of remove()
1122  334943 make check FAIL: threadpool-test
1123  335215 Some breakages with GThreadPool
1124  336085 g_option_context_new parameter lacks better explanation
1125  336677 Documentation for g_object_ref_sink() is incorrect
1126  337027 gbookmarkfile.c: sys/time.h include error
1127  337553 Wrong escaping of URIs
1128  338572 Dereferencing NULL value in g_key_file_get_group_comment
1129  338845 g_completion_complete_utf8 crashes when NULL is passed to it
1130  339337 g_bookmark_file_set_description
1131  339338 gbookmarkfile.c, function expand_exec_line
1132  339340 gbookmarkfile.c, function bookmark_app_info_dump
1133
1134 * Translation updates (bg,en_GB,et,gl,gu,he,hi,ka,nb,nl,nn,
1135                        or,pt_BR,ro,tr,vi,zh_CN)
1136
1137
1138 Overview of Changes from GLib 2.10.0 to GLib 2.10.1
1139 ===================================================
1140
1141 * Bugs fixed:
1142  314794 Broken pthread detection on Darwin [Gregor Riepl]
1143  322476 Missing check for .dylib [Vladimir Panov]
1144  333651 Inconsistent _g_charset_get_aliases prototype [Julio 
1145         M. Merino Vidal]
1146  333761 GInitiallyUnowned breaks application code [Sven Herzberg]
1147
1148 * Win32 changes:
1149  - Fix g_listenv() implementation.
1150  - Allow up to 100 GPrivate structs
1151
1152 * Translation updates (fr,hu,lt,pl,sv)
1153
1154
1155 Overview of Changes from GLib 2.9.6 to GLib 2.10.0
1156 ==================================================
1157
1158 * Bugs fixed:
1159  328997 64bit pointer trunction in glib slab-allocator
1160         [Pascal Hofstee]
1161  331110 g_cond_broadcast(inform_cond) without holding 
1162         inform_mutex [Chris Wilson, Sebastian Wilhelmi]
1163  332093 Fix some leaks in the tests [Kjartan Maraas]
1164  332435 g_utf8_strlen returns wrong value if a maximum 
1165         number of bytes to check is specified 
1166         [Matthias Clasen]
1167  331367 gslice requires more POSIX-like semantics for 
1168         GPrivate destructors [Tor Lillqvist]
1169
1170 * Documentation improvements [Matthias, Kang Jeong-Hee,
1171   Tor Lillqvist, Stefan Kost]
1172
1173 * Translation updates (el,eu,ka,uk)
1174
1175 Overview of Changes from GLib 2.9.5 to GLib 2.9.6
1176 =================================================
1177
1178 * Bugs fixed: 
1179  329124 distclean removes README [Kjartan Maraas, Tim Janik]
1180  317679 GRelation field type not documented [Behdad Esfahbod]
1181  329123 Typo in GTime docs [Kjartan Maraas]
1182
1183 * Documentation improvements [Sven Herzberg, David
1184   Schleef, Kjartan Maraas, Behdad Esfahbod]
1185
1186 * Translation updates (cs,cy,it,ko,pt,sq,sr,sr@Latn,ru
1187
1188 Overview of Changes from GLib 2.9.4 to GLib 2.9.5
1189 =================================================
1190
1191 * Memory management: 
1192   Runtime debugging support: The slice allocator
1193   can be turned off by setting G_SLICE=always-malloc
1194   in the environment. Zeroing of freed memory can
1195   now be turned on at runtime by setting
1196   G_DEBUG=gc-friendly in the environment. [Tim Janik]
1197
1198 * Bugs fixed:
1199  328253 HP-UX/IA-64 uses ".so" as default shared library 
1200         extension [Albert Chin]
1201  143380 unicode-encoding test fails converting to UTF-16 
1202         with libiconv [Marc Moorcroft]
1203  328254 Build breakage (GSlice) [Jens Ganseuer]
1204  328705 C99ism in glib/gmem.c [Kazuki Iwamoto]
1205
1206 * Translation updates (da,et,zh_CN)
1207
1208 Overview of Changes from GLib 2.9.3 to GLib 2.9.4
1209 =================================================
1210
1211 * Type system:
1212   Fix a problem with g_object_compat_control() which 
1213   can lead to segfaults in GTK+ applications on 64bit 
1214   platforms. 
1215
1216 * Thread suppport: 
1217   Unused threads now fall back to the global pool after 
1218   500 milliseconds, where they wait for another 
1219   max-idle-time milliseconds. [Sebastian Wilhelmi]
1220
1221 * Fix a memory allocation problem in GKeyFile. [Morten 
1222   Welinder]
1223
1224
1225 Overview of Changes from GLib 2.9.2 to GLib 2.9.3
1226 =================================================
1227
1228 * GTree:
1229  - Replace the simple recursive implementation by
1230    a nonrecursive, threaded one  [Maurizio Monge]
1231
1232 * Change g_filename_display_name and
1233   g_filename_display_basename to use the Unicode
1234   replacement character U+FFFD instead of a question
1235   mark, and don't append "(invalid encoding)"  [Matthias]
1236
1237 * Documentation improvements [Sven Herzberg, Federico
1238   Mena Quintero, Stefan Kost]
1239
1240 * Bugs fixed:
1241  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X 
1242         [Bogdan Nicula]
1243  326558 Some test failures on IRIX 6.5 [Daichi Kawahata]
1244  169285 "threaded" tree implementation for GTree 
1245         [Maurizio Monge]
1246  326747 g_filename_display_basename adds (invalid encoding) 
1247         [Alberto Ruiz]
1248
1249 Other contributors: Christian Kellner, Murray Cumming
1250
1251 New and updated translations (bg,ca,de,es,et,gu,ja,nl,th,vi)
1252
1253
1254 Overview of Changes from GLib 2.9.1 to GLib 2.9.2
1255 =================================================
1256
1257 * Memory management:
1258  - Add tests for cache colorization [Tim Janik]
1259  - Minimize space consumption if small amounts of differently
1260    sized slices are allocated, at a small performance cost.  [Tim]
1261
1262 * Thread support:
1263  - Add g_atomic_pointer_set() and g_atomic_int_set() [Tim Janik,
1264    Sebastian Wilhelmi]
1265  - Add g_thread_pool_set_sort_function() to allow sorting the 
1266    tasks of a threadpool.  [Martyn Russell]
1267  - Add g_thread_pool_set_idle_time() to allow unused threads
1268    to exit after a certain time.  [Martyn]
1269
1270 * Type system:
1271  - introduce a new type GInitiallyUnowned, which has an initial
1272    floating reference. [Tim]
1273  - Add support for GType parameters. [Matthias]
1274
1275 * Main loop:
1276  - Add g_main_context_is_owner() to determine if the current
1277    thread is the owner of the context.  [Michael Meeks]
1278
1279 * Provide g_access(), g_chdir(), g_unlink(), g_rmdir() as 
1280   wrapper functions instead of macros.  [Manish Singh]
1281
1282 * Documentation improvements [Tim, Matthias, Federico Mena Quintero,
1283   Stefan Kasal, Dan Williams]
1284
1285 * New and updated translations (en_CA,fi,fr,gl,ml,nb,no,zh_HK,zh_TW)
1286
1287 * Bugs fixed:
1288  324179 g_allocator_new() returns pointer to const dummy which Gtk+ 2.8 
1289         tries to modify [J. Ali Harlow]
1290  324332 g_option_context_parse() returns false without setting error 
1291         [Tim-Philipp Müller]
1292  324950 GLIB 2.9.1 testcase errors [Dan Yefimov]
1293  325015 gslice.c: process.h is needed on Windows [Kazuki Iwamoto]
1294  321978 G_DATALIST_GET_FLAGS() macro is not casting datalist to 
1295         gpointer [Andrew Paprocki]
1296  316221 G_LOCK warns about breaking strict-aliasing [Michal Benes, 
1297         Stanislav Brabec]
1298  325273 Error in documentation for glib_check_version () [Declan Naughton]
1299  325310 g_spawn_sync hangs when catching both stdout and 
1300         stderr [Tor Lillqvist]
1301  325249 gcc warning when using g_rmdir from <glib/gstdio.h> [Jani Monoses]
1302  325864 glib/gthreadpool.c:"#define debug(...)" is C99 [Kazuki Iwamoto]
1303  325874 Should say somewhere that source IDs are > 0 [Dan Williams]
1304  325438 a typo (compatability) [Stefan Kasal]
1305  323937 gslice.c in glib 2.9.1 doesn't build on Mac OS X [Bogdan Nicula]
1306
1307
1308 Overview of Changes from GLib 2.9.0 to GLib 2.9.1
1309 =================================================
1310
1311 * Memory management
1312  - The slice allocator is implemented [Tim Janik]
1313  - g_slice_free_chain() has been renamed to 
1314    g_slice_free_chain_with_offset()  [Tim, Behdad Esfahbod]
1315  - Mem chunks are deprecated [Matthias Clasen]
1316
1317 * Data structures
1318  - Hash tables are refcounted, and have a boxed type [Tim]
1319
1320 * Thread support
1321  - Support for Solaris threads has been removed 
1322    [Sebastian Wilhelmi, Andrew Paprocki]
1323  - g_async_queue_sort(), g_async_queue_push_sorted() have 
1324    been added to allow GAsyncQueue to be used as a priority 
1325    queue, together with the corresponding _unlocked 
1326    variants  [Martyn Russell]
1327
1328 * GObject:
1329  - The concept of a floating initial reference has been
1330    moved from GtkObject to GObject [Tim]
1331
1332 * Win32 changes:
1333  - Make g_rename() replace existing files [Tor Lillqvist]
1334
1335 * Misc new API:
1336  - G_GUINT64_CONSTANT macro to define guint64 
1337    constants [Andrew Paprocki]
1338  - G_GNUC_WARN_UNUSED_RESULT macro to instruct the 
1339    compiler to emit a warning if the value returned
1340    by a function is ignored. [Arjan van de Ven, Alex Larsson]
1341  - GList and GSList now have sort functions which take an
1342    extra user data argument [Martyn Russell]
1343  - g_param_spec_ref_sink() has been added for consistency [Tim]
1344
1345 * $LOGNAME is respected when determining user data. [Laszlo Peter]
1346
1347 * Other changes and bug fixes [Tim, Matthias, Behdad, 
1348   Christian Persch, Benedikt Meurer, Andrew Paprocki, 
1349   Kazuki Iwamoto, Alexis S. L. Carvalho, Stanislav Brabec,
1350   Andreas Schwab, Kalle Vahlman]
1351
1352 * Documentation
1353  - Deprecation warnings carry version information [Matthias]
1354  - The slice allocator has been documented [Matthias, Tim]
1355  - Other improvements [Morten Welinder]
1356
1357 Overview of Changes from GLib 2.8.x to GLib 2.9.0
1358 =================================================
1359 * Unicode support:
1360  - The Unicode tables have been updated to Unicode 4.1, 
1361    adding several new values to the GUnicodeBreakType 
1362    enumeration. This breaks Pango <= 1.10 
1363    [Behdad Esfahbod]
1364  - The various Unicode character predicate functions 
1365    (g_unichar_isalpha, g_unichar_isdigit,...) have
1366    been optimized
1367    [Behdad]
1368  - g_utf8_pointer_to_offset, g_utf8_offset_to_pointer:
1369    These functions handle negative offsets now, and
1370    going backwards in g_utf8_offset_to_pointer uses
1371    "stutter stepping".
1372    [Larry Ewing, Matthias Clasen]
1373
1374 * Memory management:
1375  - Mem chunks are no longer used internally in GLib and
1376    GObject. GMemChunk will be deprecated in GLib 2.10
1377  - All APIs based on GAllocator (g_list_push/pop_allocator,
1378    and similar push/pop_allocator functions for other
1379    data structures) have been deprecated, since they
1380    never worked as intended.
1381  - The g_slice_* functions have been added as a 
1382    new API for fast allocation of small memory blocks. 
1383    The implementation in GLib 2.9.0 is just a simple 
1384    wrapper around malloc. GLib 2.10 will have an
1385    efficient and scalable implementation. 
1386    [Tim Janik, Matthias]
1387
1388 * Pattern matching:
1389  - g_pattern_match has been optimized to avoid
1390    unnecessary recursion.
1391    [Tim, Matthias]
1392
1393 * g_intern_string, g_intern_static_string: 
1394  - New functions to intern strings. These are now used 
1395    by GObject to avoid duplicating static strings 
1396    [Matthias]
1397
1398 * g_thread_foreach: 
1399  - New function to iterate over all GThreads 
1400    [Tim, Matthias]
1401
1402 * g_date_set_time_t, g_date_set_time_val:
1403  - New functions to set a GDate from a time_t or
1404    GTimeVal value. g_date_set_time has been deprecated 
1405    in favor of these.
1406    [Roger Leigh]
1407
1408 * g_snprintf and g_vsnprintf:
1409  - These functions are no longer declared in gprintf.h, 
1410    since they are in glib.h
1411    [Matthias]
1412
1413 Overview of Changes from GLib 2.8.0 to GLib 2.8.1
1414 =================================================
1415 * Optimize single-character insertions in GString [Ross Burton]
1416 * Fix build problems on OS X
1417 * Fix build problems on Win32 [Tor Lillqvist, Hans Breuer]
1418 * Other bug fixes [Matthew F. Barnes, Stepan Kasal] 
1419 * Documentation improvements [Tristan van Berkom, Behnam
1420   Esfahbod, Gustavo Carneiro, Stepan Kasal, Matthias]
1421 * New and updated translations (ca,cy,ko,ro,uk)
1422
1423 Overview of Changes from GLib 2.7.7 to GLib 2.8.0
1424 =================================================
1425 * Make g_value_transform() handle enum values
1426   correctly on ppc64.  [Michael Lorenz]
1427   (Third-party code accessing enumeration values 
1428   in GValues should also be changed to access 
1429   v_long, not v_int, in order to work on bigendian 
1430   64bit machines.)
1431 * Make g_flags_get_first_value() handle a value
1432   of 0 meaningfully. [Tim-Philipp Müller] 
1433
1434 Overview of Changes from GLib 2.7.6 to GLib 2.7.7
1435 =================================================
1436 * Make atomic operations on s390 work [Matthias]
1437 * Fix C++ guards in gstdio.h [Tor Lillqvist]
1438
1439 Overview of Changes from GLib 2.7.5 to GLib 2.7.6
1440 =================================================
1441 * Add native implementations of atomic operations 
1442   on s390 [Matthias]
1443 * Make atomic reference counting of closures
1444   work on s390 [Matthias]
1445 * Avoid an infinite loop in g_convert_with_iconv().
1446   [Sebastian Bacher]
1447 * Documentation improvements [Ross Burton]
1448
1449 Overview of Changes from GLib 2.7.4 to GLib 2.7.5
1450 =================================================
1451 * Thread-related changes
1452  - Fix build issues on HP-UX [Paul Cornett]
1453  - Threadsafe access to flags stored in datasets [Tim Janik]
1454  - Fix several issues with atomic refcounting for 
1455    closures, objects and paramspecs [Tim]
1456  - Improve tests for atomic refcounting changes [Tim]
1457 * Fix handling of stateful encodings in g_convert_* [Matthias]
1458 * Fix translation of GOption help output [Dan Winship]
1459 * Catch format errors in translations. This may cause 
1460   "make check" to fail when using older versions
1461   of gettext [Matthias]
1462 * Win32 bug fixes [Tor Lillqvist]
1463 * Documentation improvements [Ross Burton, Jochen Baier, 
1464   Matthias, Tim]
1465 * New and updated translations (de,fi,gu,pl,pt,tr,zh_TW)
1466
1467 Overview of Changes from GLib 2.7.3 to GLib 2.7.4
1468 =================================================
1469 * Fix g_atomic_pointer_compare_and_exchange 
1470   on Sparc64 [Gert Doering]
1471 * Fix a hang in g_thread_pool_free. [Hong Jen Yee]
1472 * Win32 bug fixes [Tor Lillquist]
1473 * Other bug fixes [Benoit Dejean, Manish Singh]
1474 * Documentation improvements [Bryan Silverthorn,
1475   Callum McKenzie] 
1476 * New and updated translations (de,lt,sq,zh_CN)
1477
1478 Overview of Changes from GLib 2.7.2 to GLib 2.7.3
1479 =================================================
1480 * GOption
1481  - Allow callbacks with optional arguments [Pawel Sliwowski]
1482  - Allow to turn off the automatic long option name
1483    disambiguation  [Adam McLaurin]
1484  - Only allow printable ASCII as short option names [Matthias]
1485 * Win32
1486  - Build fixes [Tor Lillqvist]
1487  - Rewrite iochannel socket implementation [Tor]
1488 * GObject
1489  - Threadsafety improvements; in particular, refcounting
1490    of objects is done atomically now. [Wim Taymans, Tim Janik]
1491 * Bug fixes [Morten Welinder, Matthias, Wim Taymans]
1492 * Documentation improvements [Richard Laager, Matthias]
1493 * New and improved translations (bf,cs,hu,nb,nl,no)
1494
1495 Overview of Changes from GLib 2.7.1 to GLib 2.7.2
1496 =================================================
1497 * Win32 build fixes [Hans Breuer]
1498 * Bug fixes [Mikael Magnusson]
1499 * Documentation improvements [Matthias Clasen]
1500 * New and updated translations (en_CA,es,et,ja,sr,sr@Latn,zh_TW)
1501
1502 Overview of Changes from GLib 2.7.0 to GLib 2.7.1
1503 =================================================
1504 * GOption 
1505  - Allow callback arguments without parameters [Dan Winship]
1506 * GMappedFile: an mmap wrapper [David Schleef, Behdad Esfahbod]
1507 * Misc new functions:
1508  - g_get_host_name [Tor Lillqvist]
1509  - g_mkdir_with_parents [Tor]
1510  - g_build_pathv, g_build_filenamev [Todd A. Fisher, 
1511    Matthias Clasen]
1512 * Bug fixes [Roger Leigh, Masatake YAMATO, Kjartan Maraas,
1513   Manish Singh, Tor, Murray Cumming, Kian Duffy, Morten Welinder]
1514 * Documentation improvements [Hong Gang XU, Dan Winship, Matthias]
1515 * New and updated translations (bg,cs,da,en_CA,es,et,nb,nl,no,
1516   sk,th,zh_TW)
1517
1518 Overview of Changes from GLib 2.6.x to GLib 2.7.0
1519 =================================================
1520 * GKeyFile
1521  - Add unit tests [Matthias Clasen, Suren A. Chilingaryan]
1522  - Accept \r\n as line end [Bastian Nocera]
1523  - Don't interpret leading zeros as octal numbers. [Matthias]
1524  - Make key and group removal work [David Hoover, Matthias Hasselmann]
1525 * GOption
1526  - Improve formatting of --help output [Matthias, Noah Levitt]
1527  - Accept -? [Matthias]
1528  - Warn about duplicate main groups [Jeff Franks]
1529  - Treat '-' as non-option argument [Tim Musson, Thomas Leonard]
1530  - Report missing arguments as errors [Björn Lindqvist]
1531  - Add a boxed type for GDate [Tim-Philipp Müller]
1532 * GTree
1533  - g_tree_remove() and g_tree_steal() return status information [Matthew F. Barnes]
1534 * Stdio wrappers
1535  - Work regardless of large file support [Manish Singh]
1536  - Add g_access(), g_chmod(), g_creat(), g_chdir [Tor Lillqvist]
1537 * GObject
1538  - Implement "toggle references" to help language bindings [Owen Taylor]
1539  - Allow to mark names, nicks and blurbs of pspecs as static [Ben Maurer, Matthias]
1540  - Make pspec lookup a bit faster [Morten Welinder]
1541 * Add g_listenv() to list all set environment variables [Hans Petter Jansson]
1542 * Add g_file_set_contents() to atomically write a file.  [Søren Sandmann,
1543   Sven Neumann, Manish, Alexis S. L. Carvalho]
1544 * Add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew() [Stefan Kost]
1545 * Add g_utf8_collate_key_for_filename() to sort filenames taking
1546   extensions and numeric suffixes into account.  [Ole Laursen, Alex Larsson]
1547 * Add G_GNUC_NULL_TERMINATED to mark varargs function with 
1548   NULL-terminated argument lists. [Marc Meissner]
1549 * Win32 changes
1550  - Improved debugability [Ulf Lamping, Hans Breuer]
1551  - Make filename handling more robust [Tor, Billy Skaggs]
1552  - Improve g_get_system_data_dirs() [Tor]
1553  - Use more precise timers [Tor]
1554  - Build fixes [Kazuki Iwamoto, Hans, Tor, Robert Ögren]
1555 * Other bug fixes [Roger Leigh, Owen, Matthias, Morten, Kjartan Maraas, 
1556   Pawel Sakowski, Tor, Simon Budig, Ed Avis, Manish, Nicolas Laurent, 
1557   Bastien, Fabrício Barros Cabral, Michael Banck, Daniel Atallah, 
1558   J. Ali Harlow, Tim Janik, Hazael Maldonado Torres, Sven, Jon-Kare Hellan,
1559   Dave Benson, Tommi Komulainen, Benjamin Otte, Brian Cameron, Changwoo Ryu, 
1560   Christian Biere, Noah, Benoît Carpentier]
1561 * Documentation improvements [Vincent Untz, Matthias, Tim-Philipp Müller,
1562   Morten, Matthew, Federico Mena Quintero, Sebastian Bacher, Oliver Sessink, 
1563   Stefan, Jared Lash, Tor, Owen, Daniel Vaillard, Mathieu Lacage]
1564 * New and updated translations (ca,cs,da,el,en_CA,en_GB,es,et,eu,fa,fr,gl,
1565   hu,id,it,lt,mn,ne,nl,pl,pt,pt_BR,ro,rw,sk,sq,sr,sr@Latn,tl,uk,xh,zh_CN)
1566
1567 Overview of Changes from GLib 2.6.0 to GLib 2.6.1
1568 =================================================
1569 * GOption
1570  - Make gtk_init(NULL, NULL) work again [Marcin Krzyzanowski]
1571  - Improve handling of -- [Matthias Clasen]
1572  - Don't show G_OPTION_REMAINING in --help output [Matthew F. Barnes]
1573 * g_find_program_in_path() doesn't return directories [Tommi Komulainen]
1574 * Add gmodule-export-2.0.pc [Matthias]
1575 * Win32 changes
1576  - Improve hangling of UNC paths [Tor Lillqvist]
1577  - g_getenv(), g_setenv(), g_unsetenv(), g_find_program_in_path()
1578    take and return UTF-8 now [Tor] 
1579  - Make g_file_test() work more reliably, and use PATHEXT
1580    when check for executables [Tor]
1581  - Build and cross-compilation fixes [J. Ali Harlow]
1582 * Other bug fixes [Jens Hatlak, Morten Welinder, 
1583   Tor, Kalpesh Shah, Adrian Bunk]
1584 * Documentation improvements [Marcin Krzyzanowski, Tor, Crispin
1585   Flowerday, Mariano Suárez-Alvarez, Christian Biere, Danny Milo,
1586   Vincent Untz, Bastien Nocera]
1587 * New and updated translations (cy,de,nl,ru,sq,sv)
1588
1589 Overview of Changes from GLib 2.4.x to GLib 2.6.0
1590 =================================================
1591
1592 * Major new APIs
1593   - GOption, a commandline option parser
1594   - GKeyFile, a parser/editor for the .ini like files 
1595   - Functions to support the XDG basedir specification
1596   - Wrappers for common POSIX pathname functions to handle filename
1597     encodings consistently. On Windows, these use UTF-8.
1598
1599 * Miscellaneous new functions
1600   - g_filename_display_name() converts filenames in displayable UTF-8 strings
1601   - g_uri_list_extract_uris() splits uri lists
1602   - g_date_get_iso8601_week_of_year() gets ISO 8601 week numbers
1603   - g_log_set_default_handler() installs an alternate default log handler
1604   - g_get_language_names() obtains a list of applicable locale names
1605   - g_strv_length() calculates the length of NULL-terminated string arrays
1606   - g_win32_get_windows_version() determines the Windows version 
1607   - G_GNUC_INTERNAL marks functions as non-exported
1608   - glib_check_version() checks the GLib version at runtime
1609   - g_debug() completes the family of logging functions
1610
1611 * Performance improvements
1612   - Optimize g_utf8_validate()
1613   - Optimize g_markup_parse_context_parse()
1614   - Reduce signal connection complexity from O(n) to O(1) 
1615   - Get rid of many PLT entries for internally used exported symbols
1616   - Reduce code size by removing literal strings from g_return_if_fail()
1617
1618 * Other changes
1619   - On Windows, GLib functions that take file name arguments now require
1620     those to be in UTF-8. Functions that return file names return UTF-8.
1621   - Use higher precision for mathematical constants
1622   - Don't convert to/from UTF-8 in g_filename_to_uri/g_filename_from_uri
1623   - Support ll as printf format modifier for long long on all platforms
1624   - Clean up the ABI and enforce the list of exported symbols
1625   - Add a .pc file for using gmodule in libraries
1626   - Require ngettext
1627
1628 Overview of Changes from GLib 2.5.7 to GLib 2.6.0
1629 =================================================
1630 * GOption: Don't list help options if group-specific
1631   options have been requested [Glynn Foster]
1632 * Make g_get_language_names() track locale changes [Christian Persch]
1633 * Win32 bug fixes [Tor Lillqvist]
1634 * Bug fixes [Philippe Blain, Owen Taylor, Sebastian Wilhelmi]
1635 * New and updated translations (da,es,ja,lt,zh_CN)
1636 Bugs fixed: 159530,100697,160271,160645,157255
1637
1638 Overview of Changes from GLib 2.5.6 to GLib 2.5.7
1639 =================================================
1640 * Optimize g_utf8_validate() [Owen Taylor, Matthias Clasen]
1641 * Optimize g_markup_parse_context_parse() [Havoc Pennington, 
1642   Morten Welinder]
1643 * Reduce signal connection complexity from O(n) to O(1) 
1644   [Sven Neumann]
1645 * Add a .pc file for using gmodule in libraries [Owen]
1646 * Add G_GNUC_MALLOC to mark functions returning newly 
1647   allocated memory  [Matthias]
1648 * Win32 bug fixes [Hans Breuer, Tor Lillqvist, Robert Ögren,
1649   Bruce Hochstetler]
1650 * Bug fixes [Kazuki IWAMOTO, Matthias, Manish Singh, Morten,
1651   Frederic Crozat, Tor]
1652 * Documentation improvements [Matthias, Tor, Owen]
1653 * New and updated translations (cs,da,de,en_CA,en_GB,es,nb,nl,sq,zh_CN)
1654
1655 Overview of Changes from GLib 2.5.5 to GLib 2.5.6
1656 =================================================
1657 * GOption
1658   - Add G_OPTION_FLAG_REVERSE to allow options 
1659     which unset a  boolean variable [Tor Lillqvist]
1660 * GChildWatch
1661   - Use sigaction instead of signal [Jonas Jonnson, 
1662   Archana Shah]
1663   - Make the very first SIGCHLD work [Gustavo Carneiro]
1664 * Bug fixes [Morten Welinder, Tor, David MacLachlan,
1665   Manish Singh, J. Ali Harlow]
1666 * Documentation improvements [Matthias Clasen, Tor]
1667 * Updated translations (da,ja,tr,zh_CN)
1668
1669 Overview of Changes from GLib 2.5.4 to GLib 2.5.5
1670 =================================================
1671 * GKeyFile
1672   - Cleanups, add more error checking [Ray Strode]
1673   - Fall back to the untranslated string when getting 
1674     locale strings [Mark McLoughlin]
1675 * GOption
1676   - Document GOption [Matthias Clasen]
1677   - Better support for rest arguments [Owen Taylor, Matthias]
1678   - Handle conflicts between groups [Matthias]
1679 * Add g_lstat() to the stdio wrappers [Tor Lillqvist]
1680 * Add g_filename_display_name() to convert filenames
1681   in displayable UTF-8 strings  [Alex Larsson, Matthias]
1682 * Win32 bug fixes [Kazuki IWAMOTO, Hans Breuer, Tor]
1683 * Bug fixes [Christophe Fergeau, Morten Welinder, 
1684   Owen, Kjartan Maraas, Mark]
1685 * Documentation improvements [Matthias, Tor]
1686
1687 Overview of Changes from GLib 2.5.3 to GLib 2.5.4
1688 =================================================
1689 Add GKeyFile, a parser/editor for the .ini like files used in various
1690    freedesktop.org specifications. [Ray Strode]
1691 Make the handling of filename encodings consistent across all
1692    GLib functions, introduce wrappers for common POSIX 
1693    functions which accept the same filename encoding. [Tor Lillqvist, 
1694    Owen Taylor]
1695 GOption
1696  - Rename g_context_option_error_quark() to a more language-binding
1697    friendly name [Murray Cumming]
1698  - Accept backslashes in filenames on Win32 [Tor Lillqvist]
1699 * Strip the internal aliasing prefix IA__ from function names in 
1700   assertions [Matthias Clasen]
1701 * Add a function to split uri lists. [Matthias]
1702 * Win32 bug fixes 
1703  - Don't open console windows [Tor]
1704 * Other bug fixes [Philippe Blain, Robert Ögren, Hidetaka Iwai, Matthias,
1705  Morten Welinder, Mats-Ola Persson, Tor, Nickolay V. Shmyrev, Kjartan Maraas,
1706   Anders Carlsson, Tim-Philipp Müller, Lucas Rocha, Andrea Campi, Manish
1707   Singh, Thomas Fitzsimmons, Kazuki IWAMOTO]
1708 * Documentation improvements [Matthias, Linus Walleij, Nickolay, Philippe, 
1709  Adam Hooper, Gustavo Carneiro]
1710 * New and updated translations (cs,en_CA,en_GB,ja,nb,nl,or,sr,sr@Latn,sq)
1711
1712 Overview of Changes from GLib 2.5.2 to GLib 2.5.3
1713 =================================================
1714 * GOption
1715  - set the program name from argv[0] [Masatake YAMATO] 
1716  - make contexts work without a main group [Anders Carlsson]
1717 * Performance 
1718  - Get rid of many PLT entries for internally used exported symbols,
1719    and clean up the ABI at the same time and make make check check the
1720    list of exported symbols.  [Matthias Clasen]
1721 * Add API to get ISO 8601 week numbers [Niklas Lundell]
1722 * Add API to install an alternate default log handler [Darin Adler]
1723 * Add API to obtain a list of applicable locale names [Hidetoshi Tajima]
1724 * Reduce code size bloat by removing literal strings from
1725  the g_return_if_fail() macros [Owen Taylor]
1726 * Add g_strv_length [Tim-Philipp Müller]
1727 * Win32 changes
1728  - Add API to determine the Windows version [Tor Lillqvist]
1729 * Other bug fixes [Stepan Kasal, Anders, Tor, Kazuki Iwamoto,
1730   Manish Singh]
1731 * Documentation improvements [Morten Welinder, Matthias]
1732 * New and updated translations (es,nn,ro)
1733
1734 Overview of Changes from GLib 2.5.1 to GLib 2.5.2
1735 =================================================
1736 * Add G_GNUC_INTERNAL macro [Arjan van de Ven]
1737 * Add GOption, a commandline option parser [Anders Carlsson]
1738 * Add glib_check_version [Michael Natterer]
1739 * Add XDG basedir API [Ray Strode]
1740 * Require ngettext [Danilo Segan]
1741 * Bug fixes [Manish Singh, Ray Strode, Vincent Noel, 
1742   Jon-Kare Hellan, Jody Goldberg]
1743 * Win32 bug fixes [Tor Lillqvist, Hans Breuer, Peter Zelezny]
1744 * Documentation improvements [Matthias Clasen, Vincent Untz, Christian Persch]
1745 * New and updated translations (bs,eu,fi,gu,ne,pa)
1746
1747 Overview of Changes from GLib 2.5.0 to GLib 2.5.1
1748 =================================================
1749
1750 * Bug fixes [Oliver Guntermann, Sven Neumann, James 
1751   Henstridge, Hiroyuki Ikezoe, Matthias Clasen, Robert 
1752   Ögren, Tommi Komulainen]
1753 * Documentation improvements [Soeren Sandmann, 
1754   Christophe Fergeau, Danek Duvall]
1755 * New and updated translations (eu,hi)
1756   
1757 Overview of Changes from GLib 2.4.1 to GLib 2.5.0
1758 =================================================
1759
1760 * New functions g_debug [Sven Herzberg]
1761 * Use higher precision for mathematical constants [Morten 
1762  Welinder]
1763 * Don't convert to/from UTF-8 in g_filename_{to,from}_uri 
1764  [Federico Mena Quintero]
1765 * Win32
1766  - Handle empty digit string in printf() functions 
1767    correctly [Tor Lillqvist]
1768  - Support ll as format modifier for long long [Tor]
1769  - Be more careful about HOME [Tor, Ivan Wong]
1770  - Bug fixes [John Ehresman]
1771 * Miscellaneous bug and portability fixes [Danilo Segan, 
1772  Owen Taylor, Nikolai Weibull, Benoît Carpentier, Morten 
1773  Welinder, Manish Singh, Sven Neumann, Julio M. Merino Vidal,
1774  Kaz Sasayama, Murray Cumming, Federico, Mariano Suarez-Alvarez]
1775 * Documentation updates [Matthias Clasen, Crispin Flowerday,
1776  Tommi Komulainen, Federico Mena Quintero, Ed Griffiths]
1777 * New and updated translations (ja,ne,no,wa)
1778  
1779 Overview of Changes from GLib 2.4.0 to GLib 2.4.1
1780 =================================================
1781
1782 * Win32 bug fixes [Tor Lillqvist, Roger Leigh, John Ehresman]
1783 * Miscellaneous bug and portability fixes [Owen Taylor,
1784   Matthias Clasen, Jonas Jonsson, Christian Krause,
1785   Nickolay V. Shmyrev, Christophe Saout, Philippe Blain,
1786   Piotr Klaban]
1787 * Documentation updates [Matthias]
1788 * New and updated translations (ca,cs,cy,el,en_CA,en_GB,es,eu,fi,
1789   fr,gu,he,id,nl,pt,pl,ru,sr,sr@ije,sr@Latn,sv,uk)
1790
1791 Overview of Changes from GLib 2.3.6 to GLib 2.4.0
1792 =================================================
1793
1794 * Handle invalid-UTF-8 in g_log() properly [Matthias Clasen]
1795 * Win32 bug fixes [Tor Lillqvist, Bruce Hochstetler]
1796 * Miscellaneous bug and portability fixes [Olivier Biot, David L. Cooper II, 
1797   Kjartan Maraas, Frédéric L. W. Meunier, Christof Petig, Manish Singh, 
1798   Sebastian Wilhelmi]
1799 * Documentation updates [Owen]
1800 * Updated translations (hr,ro)
1801
1802 Overview of Changes from GLib 2.3.5 to GLib 2.3.6
1803 =================================================
1804
1805 * GAtomic bug fixes [Sebastian Wilhelmi, Mark McLoughlin]
1806 * GMain threading fixes and improvements [Sebastian]
1807 * Win32 [Tor Lillqvist]
1808  - restore some symbols extraneously exported from gobject to maintain ABI compatibility
1809  - Misc build improvements and fixes [Tor, Cedric Gustin, Hans Breuer]
1810 * Documentation updates [Sebastian, Takeshi AIHANA, Matthias, Sven Herzberg]
1811 * New and updated translations (be,es,fi,ga,pa,sr@ije,zh_CN)
1812
1813 Overview of Changes from GLib 2.3.3 to GLib 2.3.5
1814 =================================================
1815
1816 * Make glib-mkenums parse initializers with macros. [Matthias Clasen, muppet]
1817 * Respect locale era in g_date_set_parse(). [Theppitak Karoonboonyanan] 
1818 * Add atomic operations and use it for the async queue and
1819   gonce implementation. [Sebastian Wilhelmi]
1820 * Documentation improvements [Sebastian, Matthias, Sven Herzberg]
1821 * Add g_main_depth() for finding the recursion depth of the main
1822   loop [Owen Taylor, Tim Janik, Stefan Westerfeld]
1823 * Add g_spawn_close_pid(), needed on win32 [J. Ali]
1824 * Win32 fixes. [Hans Breuer, J. Ali Harlow]
1825 * Misc bugfixes [Sebastian, Matthias, Balazs Scheidler, Owen]
1826 * Updated translations (cy,et,ga,sq)
1827
1828 Overview of Changes from GLib 2.3.2 to GLib 2.3.3
1829 =================================================
1830
1831 * Add a native AIX gmodule implementation. [Laurent Vivier]
1832 * Add g_node_copy_deep().  [James M. Cape, Matthias Clasen]
1833 * Extend GQueue API to match the GList API. [Soeren Sandmann]
1834 * Add g_hash_table_find().  [Tim Janik]
1835 * Add a G_MODULE_BIND_LOCAL flag. [David Schleef]
1836 * Inline g_string_append_c() when possible. [Owen Taylor, Tim]
1837 * Wrap waitpid() as a GSource. [Jonathan R. Blandford]
1838 * Add g_completion_complete_utf8(). [Theppitak Karoonboonyanan, 
1839   Matthias]
1840 * Add g_strsplit_set(). [Soeren]
1841 * Documentation improvements. [Vincent Untz, Sebastian Wilhelmi, 
1842   Soeren, Matthias]
1843 * Win32 build fixes. [Tor Lillqvist]
1844 * Misc bugfixes [Manish Singh, Noah Levitt, Simon Josefsson, 
1845   Morten Welinder, Damien Carbery, Julio M. Merino Vidal, Sebastian, 
1846   Matthias]
1847 * Updated translations (nn,cs,it,ko,sq,ms,az,hr,uk,sr,sr@Latn,sq,ta)
1848
1849 Overview of Changes from GLib 2.3.1 to GLib 2.3.2
1850 =================================================
1851
1852 * Add G_MAXSIZE. [Manish Singh]
1853 * Add g_rand_new_with_seed_array(), g_rand_set_seed_array(),
1854   implementing the init-by-array functionality of the 
1855   original mersenne twister. Add g_rand_copy(). Improve seeding. 
1856   [George Lebl]
1857 * Add a lowercase_name option to glib-mkenums. [Murray Cumming]
1858 * Add g_ptr_array_foreach(). [Matthias Clasen]
1859 * Add g_timer_continue(). [Tim-Philipp Müller]
1860 * Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
1861 * Fix g_filename_{to,from}_utf8() on Win32 and improve 
1862   g_file_test() there too [Hans Breuer] 
1863 * Add a boxed type for NULL-terminated string arrays.  [Matthias]
1864 * Add G_DEFINE_TYPE() plus variants to ease the constuction
1865   of GObject boilerplate code.  [Tim Janik]
1866 * Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
1867 * Documentation improvements [Matthias, Manish]
1868 * Win32 build fixes [Hans]
1869 * Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, 
1870   Zack Rusin]
1871 * Updated translations (ar,de,fa,ga,mn,nn,no,sq)
1872
1873 Overview of Changes from GLib 2.3.0 to GLib-2.3.1
1874 =================================================
1875
1876 * Add glib/gi18n.h and glib/gi18n-lib.h for common
1877   gettext support, including a Q_() macro for translation
1878   with context [Matthias Clasen]
1879 * Add a more flexible G_FILENAME_ENCODING variable
1880   as a replacement for G_BROKEN_FILENAMES [Matthias]
1881 * Fix the return value g_main_context_iterate() for
1882   newly ready sources [Padraig O'Briain]
1883 * Handle Hangul composition for normalization [Noah Levitt]
1884 * Add G_{MIN,MAX,MAXU}INT{8,16,32}. [Mark Jones, Matthias]
1885 * Add G_GSIZE_FORMAT/G_SSIZE_FORMAT [Manish Singh]
1886 * Add G_STRFUNC as a portable wrapper for __func__ [Tim Janik]
1887 * Documentation improvements [Matthias]
1888 * GObject [Tim Janik]
1889  - Support '-' in g_signal_connect()/disconnect() names
1890    like 'swapped-signal'.
1891  - Add g_type_class_peek_static() and use to optimize
1892    g_object_new() for static types [Tim]
1893  - Allow setting construct-only properties from within
1894    init() implementations
1895  - Enforce readability/writeability in g_object_set/get()
1896 * Fix bug with g_ascii_strtod and multi-byte separator.
1897   [Behdad Esfahbod, Roozbeh Pournader]  
1898 * Misc bug fixes [Matthias, John Ehresman, Andrew Lanoix,
1899   Tor Lillqvist, Mark McLoughlin, Tim-Philipp Müller, Manish, 
1900   Morten Welinder]
1901 * Updated translations (ca,cs,da,es,fr,ja,nn,no,pt,ru)
1902
1903 Overview of Changes from GLib 2.2.x to GLib-2.3.0
1904 =================================================
1905
1906 * Replace Trio printf by gnulib vasnprintf [Matthias Clasen]
1907 * Update Unicode data to Unicode 4.0 [Noah Levitt]
1908 * Support XML-safe formatted output with 
1909   g_markup_[v]printf_escaped [Owen Taylor]
1910 * Add g_file_read_link to read symbolic links [Matthias]
1911 * Add g_unichar_get_mirror_char to obtain the 
1912   mirrored variant of a character [Noah]
1913 * Support for one-time initialization functions. 
1914   [Sebastian Wilhelmi]
1915 * Miscellaneous API additions: g_vasprintf
1916   g_string_chunk_insert_len, g_setenv, g_unsetenv [Matthias]
1917 * Docs improvements [Matthias]
1918 * Add support instance-private data on classed types
1919   [Mark McLoughlin, Tim Janik, Owen]
1920 * Optimize signal emissions [Soeren Sandmann, Tim]
1921 * Support a "default vtable" per interface [Tim]
1922 * Add support for properties on interfaces [Owen, Tim]
1923 * Miscellaneous API additions: g_value_take_string(),
1924   g_value_take_param(), g_value_take_object(), 
1925   g_value_take_boxed(). [Matthias]
1926 * Win32 build fixes [Tor Lillqvist]
1927
1928 Overview of Changes from GLib 2.1.5 to GLib-2.2.0
1929 =================================================
1930
1931 * Fix a problem with g_thread_init() on 64-bit problems
1932   [Alceste Scalas, Sebastian Wilhelmi]
1933 * Add assembly implementations of byteswap macros
1934   for ia64 and x86_64. [Manish Singh]
1935 * IOChannel fixes for Win32 [Tor Lillqvist, Thorsten Maerz]
1936 * Updated translations (bg,ca,es,da,fi,lv,ru,sk)
1937
1938 Overview of Changes from GLib 2.1.4 to GLib-2.1.5
1939 =================================================
1940
1941 * Win32 bug fixes [Tor Lillqvist]
1942 * Various post-rewrite fixes for glib-gettext.m4 [Owen Taylor,
1943   Jody Goldberg, Kjartan Maraas, Johannes Stezenbach]
1944 * Ensure we have a GUINT64_FORMAT by pulling in Trio
1945   if necessary [Manish Singh]
1946 * Further Trio build fixes [Matthias Clasen, Owen]
1947 * Hack around gcc, libtool issues with -pthread [Owen]
1948 * Docs improvements [Matthias]
1949 * Bug and portability fixes 
1950 * Updated and new translations (bg,de,fi,fr,sq,fr)
1951
1952 Other contributors: Kai Poitschke, Morten Welinder
1953
1954 Overview of Changes from GLib 2.1.3 to GLib-2.1.4
1955 =================================================
1956
1957 * autoconf changes to make it possible to cross compile
1958   GLib. [Owen Taylor, Dan Kegel, Amy Lin, Dimi Shahbaz, 
1959   Johannes Stezenbach]
1960 * Use libintl when it has bind_textdomain_codeset() and
1961   GLib doesn't. [Owen]
1962 * Improve generation of pseudo-random integers [Morten Welinder, 
1963   Sebastian Wilhelmi]
1964 * Avoid literal UTF-8 in favor of octal escapes [Owen, Tomas Ogren]
1965 * Cleanup include order [Sven Neumann]
1966 * autoconf cleanups and bug fixes [Daniel, Matthias Clasen, Owen]
1967 * Doc fixes and additions [Matthias]
1968
1969 Other contributors: James M. Cape, Frederic Crozat, Martin Gansser,
1970   Phuc LeHong, Manish Singh, Joshua Weage, Morten Welinder
1971
1972 Overview of Changes from GLib 2.0.x to GLib-2.1.x
1973 =================================================
1974
1975 * Add copy of the Trio library to build and use for printf() when 
1976   system printf isn't good enough. Add g_printf()/etc. [Matthias Clasen]
1977 * Add g_str_has_suffix()/g_str_has_prefix() [Alex Larsson]
1978 * Add g_markup_parse_context_get_element() [Matthias]
1979 * Add g_utf8_strreverse [Matthias]
1980 * Add g_ascii_strtoull() [Tim Janik]
1981 * Support scanning of 64-bit values with GScanner [Tim]
1982 * Add g_set/get_application_name() [Havoc Pennington]
1983 * Add G_LIKELY()/G_UNLIKELY() macros for hinting branch probabilities. 
1984   Use for g_return_if_fail(). [Matthias Clasen]
1985 * Add G_GNUC_DEPRECATED macro [Tom Tromey]
1986 * Improve the seeding algorithm of GRandom to avoid problems
1987   with certain pathological seeds. Support G_RANDOM_VERSION=2.0
1988   environment variable. [Sebastian Wilhelmi]
1989 * Improve thread configure checks, use -pthread where applicable
1990   [Sebastian]
1991 * Improve handlng of thread priorities [Sebastian]
1992 * Fix up parameter names that might shadow functions from
1993   system headers [Soeren Sandmann]
1994 * Clean up usage of deprecated functions [Manish Singh]
1995 * Docs fixes and improvements. In particular, include "Since" information.
1996   [Matthias, Soeren, Martin Schulze, Daryll Strauss, Bill Janssen, 
1997   Owen Taylor, Morten Welinder]. 
1998
1999 Overview of Changes in GLib 2.0.7
2000 =================================
2001
2002 * Fix C++ warnings in gtype.h [Dom Lachowicz]
2003 * Fix g_type_fundamental_next() [Tim Janik]
2004 * Fix various missing includes of config.h [Morten Welinder]
2005 * Handle main loop initialization before g_thread_init [Sebastian Wilhelmi]
2006 * Various 64-bit fixes [Manish Singh]
2007 * Fix GPoll on Win32 [Tor Lillqvist, Herman Bloggs]
2008 * Fix bug with buffering on UTF-8 IOChannels [Daniel Elstner]
2009 * Misc bug and build fixes [Soren Andersen, Gustavo Carneiro, Tor,
2010      Tim, Havoc Pennington,  Matthias Clasen, Sebastian Rittau,
2011      Masahiro Sakai, Arvind Samptur, HideToshi Tajima, Owen Taylor]
2012 * Updated and new translations (be,cs,de,*fa,it,lv,pt_BR,tr)
2013
2014 Overview of Changes in GLib 2.0.6
2015 =================================
2016
2017 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
2018 * Clean up debug spew from GObject [Anders Carlsson]
2019 * Compiler warning fixes [David L. Cooper II]
2020 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
2021 * Fixes for --disable-debug [Sebastian Wilhelmi]
2022 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
2023   Rajkumar Sivasamy, Laurent Vivier]
2024 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
2025   Sebastian Rittau, Linus Welleij]
2026 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
2027 * Updated translations (bg,ko,vi)
2028
2029 Overview of Changes in GLib 2.0.5
2030 =================================
2031
2032 * Fix problem with interface prerequisites [Jon Trowbridge, Dave Camp]
2033 * Clean up debug spew from GObject [Anders Carlsson]
2034 * Compiler warning fixes [David L. Cooper II]
2035 * Fix some problems with g_build_path() [Guillaume Chazarain, Owen Taylor]
2036 * Fixes for --disable-debug [Sebastian Wilhelmi]
2037 * Threading fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, 
2038   Rajkumar Sivasamy, Laurent Vivier]
2039 * Documentation fixes [Jacob Berkman, Manuel Clos, Jared Dukat, 
2040   Sebastian Rittau, Linus Welleij]
2041 * Misc bug fixes [Anders Carlsson, Sam Couter, Morten Welinder, Owen]
2042 * Updated translations (bg,ko,vi)
2043
2044 Overview of Changes in GLib 2.0.4
2045 =================================
2046
2047 * Fix some 64-bit problems. (George Lebl, David L. Cooper II)
2048 * Add note about Tru64 iconv to INSTALL. (Manuel Op de Coul)
2049 * Fix problem with timouts > MAXINT. (Tim Janik, Owen Taylor)
2050 * Updated translations (ca,es,fr,ja,gl,ms,nl,pl,pt,ru)
2051
2052 Overview of Changes in GLib 2.0.3
2053 =================================
2054
2055 * Handle sorting 0-length arrays (Ron Arts)
2056 * Threading fixes (Sebastian Wilhelmi)
2057 * Portability fixes (Miroslaw Dobrzanski-Neumann, Jacob Berkman, Gareth Pierce, 
2058   Sebastian, Qingjiang Yuan)
2059 * Various fixes for glib-2.0.m4. (Jim Gettys, others.)
2060 * Locate right glib-genmarshal when cross-compiling. (Mitch Natterer)
2061 * Win32 fixes (Tor Lillqvist)
2062 * Try to fix g_get_charset() related segfaults. (Owen)
2063 * Fixes for gettext detection. (Dan Winship, HideToshi Tajima, Boyd Lynn Gerber,
2064   Andrew P. Lentvorski, Jr.)
2065 * Fix g_scanner_unexp_token() (Tim Janik, Sven Neumann)
2066 * g_markup fixes. (Matthias Clasen.)
2067 * Bug fixes and cleanups (Daniel Elstner, Matthias, Laszlo Peter, Morten Welinder,
2068   Wayne Schuller)
2069
2070 Overview of Changes in GLib 2.0.1
2071 =================================
2072
2073 * Portability fixes for Sun's Forte compiler [Erwann Chenede]
2074 * Performance improvements for GObject parameter lookup, 
2075   g_filename_to/from_utf8() [Alex Larsson]
2076 * Actually check interface prerequisites [Matthias Clasen,
2077   Miroslaw Dobrzanski-Neumann]
2078 * Fix problem with glib-mkenums taking huge amounts of stack. [Owen Taylor]
2079 * Fix g_signal_handlers_disconnect_by_func() for C++ [Damien Sandras]
2080 * Fixes for g_log() and threading.
2081   [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann, Tim Janik]
2082 * Make g_print(), g_printerr(), g_warning(), etc, convert from
2083   UTF-8 to the encoding of the locale [Sebastian Wilhelmi, Tim]
2084 * Fixes for GIOChannel on windows. [Tor Lillqvist]
2085 * Fix gsize/gint mismatches in giochannel.c [Miroslaw Dobrzanski-Neumann]
2086 * Fix file descriptor leak in g_file_get_contents() [Matthias]
2087 * Workaround iconv() problems on older Solaris [Lauri Alanko]
2088 * Fix warnings with gcc-3.1 about asm const [Cody Russel]
2089 * Minor bug fixes.
2090
2091 Other contributors: Hans Breuer, LEE Sau Dan, Sven Neumann, Salmaso Raffaele,
2092   Akira Tagoh, Morten Welinder
2093
2094
2095 Overview of Changes in GLib 2.0.0
2096 =================================
2097
2098 * Thread portability fixes [Sebastian Wilhelmi]
2099 * Documentation updates [Owen Taylor]
2100 * Make g_strerror(), g_strsignal() properly return UTF-8,
2101   call bind_text_domain_codeset() so that error strings
2102   are in UTF-8 as well. [Owen, Tor Lillqvist]
2103
2104 Overview of Changes in GLib 2.0.0 rc1:
2105 ======================================
2106
2107 * Win32 fixes [Tor Lillqvist]
2108 * Portability fixes [Finlay Dobbie, Miroslaw Dobrzanski-Neumann]
2109 * Fix up g_date_strftime [Daniel Elstner]
2110 * Add some structure padding [Tim Janik]
2111 * Make g_get_homedir() prefer the users home directory to $HOME
2112
2113 Other contributors: Matthias Clasen, Paolo Maggi, Christian Rose
2114
2115 Overview of Changes in GLib 1.3.15:
2116 ===================================
2117
2118 * Speed up marshalers by using private access to GValue 
2119   [Anders Carlsson, Tim Janik]
2120 * Reduce GValue to 2 elements [Tim]
2121 * Add G_DEBUG environment variable, G_DEBUG=fatal_warnings [Matthias Clasen]
2122 * Fixes for AIX compilation [Miroslaw Dobrzanski-Neumann]
2123 * Add padding to various structures [Owen Taylor, Tim]
2124 * Win32 fixes [Tor Lillqvist]
2125
2126 Other contributors: James Henstridge, Ryan Lovett, Morten Welinder,
2127   Daniel Elstner
2128
2129 Overview of Changes in GLib 1.3.14:
2130 ===================================
2131
2132 * Register value transformations for gint64, guint64 [Andy Wingo]
2133 * Build with large-file support [Sven Neumann, Owen Taylor]
2134 * Fix handling of hostnames in URI's [Darin Adler]
2135 * Main loop bug fixes [Havoc Pennington, Owen]
2136 * Doc fixes and improvements [Manish Singh, Tim Janik]
2137 * Support ' as attribute delimiters in GMarkup [Matthias Clasen]
2138 * Win32 fixes [Hans Breuer, Tor Lillqvist]
2139 * Threading bug and build fixes [Sebastian Wilhelmi, Miroslaw Dobrzanski-Neumann]
2140 * Miscellaneous bug fixes
2141
2142 Other contributors: Matthias Clasen, James Henstridge, Mitch Natterer, 
2143   Morten Welinder.
2144
2145 Overview of Changes in GLib 1.3.13:
2146 ===================================
2147
2148 * Fix g_filename_to/from_uri for Win32 [Tor Lillqvist, Darin Adler]
2149 * Miscellaneous win32 fixes [Tor, Hans Breuer]
2150 * Fix thread options for gcc on AIX [Jerome Zago, Sebastian Wilhelmi]
2151 * Documentation improvements [Ron Steinke, Matthias, Sebastian]
2152 * Cache iconv converters as used by g_convert() [Jeffrey Stedfast]
2153 * Bug fixes [Sven Neumann, Owen Taylor, Matthias Clasen, Jeffrey,
2154   Laszlo Peter, Havoc Pennington, Tim Janik]
2155
2156 Overview of Changes in GLib 1.3.12:
2157 ===================================
2158
2159 * Implement closure chaining, fixing up API (Tim Janik)
2160 * Closure chaining test case (James Henstridge)
2161 * Make GType long not int where both are equal width (Tim)
2162 * Win32 fixes and improvements (Hans Breuer, Tor Lillqvist)
2163 * Fixes for NetBSD. (Dan Winship)
2164 * Use snprintf() for g_printf_string_upper_bound() where possible. (Matthias Clasen)
2165 * Save space for GBSearchArray (Tim Janik)
2166 * Documentation improvements. (Matthias, Sven Neumann, Havoc Pennington)
2167
2168 Other contributors: Darin Adler, Chris Blizzard, Anders Carlson, Daniel Elstner, Michael Meeks, 
2169   Mark McLoughlin, Dave Neary, Manish Singh, Owen Taylor, HideToshi Tajima, 
2170   Sebastian Wilhelmi.
2171
2172
2173 Overview of Changes in GLib 1.3.11:
2174 ===================================
2175
2176 * Win32 fixes [Hans Breuer, Tor Lillqvist]
2177 * Documentation improvements [Matthias Clasen]
2178 * Portable directory handling API [Hans]
2179 * Threading fixes [Sebastian Wilhelmi, Havoc Pennington]
2180 * Fix excess relocations in Unicode tables [Andrew Taylor]
2181 * Fix gpattern for UTF-8 [Matthias Clasen]
2182 * Support overriding class closures [Tim Janik]
2183 * Support for derivation from G_TYPE_POINTER [Owen Taylor]
2184 * Hide pointers to type information inside GType to reduce locking
2185   [Alex Larsson, Tim]
2186 * Adds check for direct inclusion of gobject/*.h [Owen]
2187 * GObject API cleanups [Tim]
2188
2189 Other contributors: Darin Adler, Jacob Berkman, Daniel Egger, Eric Lemings, 
2190   Michael Meeks, Mark McLoughlin, Arkadiusz Miskiewicz, Dan Winship
2191
2192
2193 Overview of Changes in GLib 1.3.10:
2194 ===================================
2195
2196 * Many Win32 fixes and improvements [Tor Lillqvist]
2197 * Documentation improvements [Matthias Clasen]
2198 * g_string_printfa() renamed to g_string_append_printf()
2199 * Use libcharset from libiconv to implement charset detection
2200   more portably. [Owen Taylor, Hidetoshi Tajima]
2201 * Add 64 bit type support to GObject [Joshua Pritikin, Mathieu Lacage, Owen]
2202 * Make support for 64 bit integers a requirement [Joshua]
2203 * GPattern improvements [Tim Janik, Matthias]
2204 * Locale independent g_ascii_strtod / g_ascii_dtostr [Alex Larsson]
2205 * Many bug fixes and minor tweaks.
2206
2207 Other Contributors: Darin Adler, Jakub Jelinek, James Antill, Andrew Taylor,
2208   Ben Gertzfield, Elliot Lee, Manish Singh, Abel Cheung, Laszlo Peter,
2209   Sven Neumann, George Lebl, Raja Harinath, Sebastian Wilhelmi,
2210   Jacob Berkman
2211
2212
2213 Overview of Changes in GLib 1.3.9:
2214 ==================================
2215
2216 * Fixes for comparison of threads [Sebastian Wilhelmi]
2217 * Use vasprintf() when possible for g_strdup_printf [Matthias Clasen]
2218 * Win32 fixes [Tor Lillqvist, Hans Breuer]
2219 * Add a len argument to g_ascii_strup/strdown
2220 * Bug, portability fixes, cleanups.
2221
2222 Other Contributors: Darin Adler, Katsuhiro Okuno, Joshua N. Pritikin
2223
2224
2225 Overview of Changes in GLib 1.3.8:
2226 ==================================
2227
2228 * Documentation updates [Owen]
2229 * Made GType interfaces overridable in derived types
2230 * Many win32 fixes [Tor Lillqvist]
2231 * Miscellaneous cleanups and fixes
2232
2233 Other contributors:
2234   Darin Adler, Matthias Clasen, Ron Steinke, Hans Breuer, Alex Larsson
2235
2236
2237 Overview of Changes in GLib 1.3.7:
2238 ==================================
2239
2240 * Integrate GClosure support into the main loop [Owen Taylor]
2241 * More GSignal convenience functions (macros) [Sven Neumann, Tim Janik]
2242 * Introduced weak references for GObject [James Henstridge, Sven, Tim] 
2243 * Minor hash table optimizations
2244 * Main loop and threading improvements [Sebastian Wilhelmi]
2245 * Added g_ascii_* functions to be used for locale insensitive UTF-8
2246   compliant code instead of old string functions  [Darin Adler, Alex Larsson]
2247 * Add functions for Unicode case-conversion, normalization, and 
2248   collation [Owen]* GString improvements [Owen]
2249 * Reworked the GIOChannel code [Hidetoshi Tajima, Ron Steinke]
2250 * Removed glib-config-2.0 in favour of pkgconfig [Sebastian]
2251 * Make code 64bit clean [Mark Murnane]
2252 * More G_CONST_RETURN fixes
2253 * Many improvements to the win32 code [Tor Lillqvist, Hans Breuer]
2254 * Miscellaneous bug and API fixes
2255
2256 Other contributors:
2257   Michael Natterer, Christopher James Lahey, Padraig O'Briain,
2258   Matthias Clasen, Josh Pritikin, Steve Baker, Cesar Rincon, Garry R. Osgood,
2259   Michael Meeks, Laszlo Peter,  Martin Baulig, Kjartan Maraas, Andrew Lanoix,
2260   Peter Williams
2261
2262
2263 Overview of Changes in GLib 1.3.6:
2264 ==================================
2265
2266 * Threads have a "return value" from g_thread_join
2267 * Removed ability to adjust thread stack size
2268 * Prefix warnings with progname/PID by default, change toggle for this to 
2269   be an env variable G_MESSAGES_PREFIXED not a compile-time option
2270 * GMarkup speedups
2271 * GDate const, convenience fixups
2272 * Include test cases that headers are compilable by C++ compiler
2273 * Add ability to spawn processes with argv[0] != executable path.
2274 * g_strstr_len, g_strrstr, g_strrstr_len
2275 * Add length argument to g_utf8_strchr and g_utf8_strrchr.
2276 * Misc bug fixes
2277
2278
2279 Overview of Changes in GLib 1.3.5:
2280 ==================================
2281
2282 * Added an installed glib-mkenums Perl program for parsing enumeration
2283   declarations from header files.
2284 * Mark some additional deprecated functions.
2285 * Bug and Portability fixes
2286
2287
2288 Overview of Changes in GLib 1.3.4:
2289 ==================================
2290
2291 * Efficiency improvements for GThreadPool
2292 * A few bug fixes
2293 * Build fixes
2294 * Documentation improvements
2295
2296
2297 Overview of Changes in GLib 1.3.3:
2298 ==================================
2299
2300 GLib:
2301
2302 * More user_data support in various functions.
2303 * Main loop API revamps to support per-thread main loops.
2304 * Unicode handling improvements.
2305 * Implemented debugging traps.
2306 * G_CONST_RETURN specification all over the place.
2307 * Various new small utility functions.
2308 * Random number generator precision improvements.
2309 * New configure option --disable-mem-pools.
2310 * Many Win32 improvements.
2311 * Added g_try_malloc() friends varinats.
2312 * Many documentation improvements.
2313 * Many threading improvements, support for dynamic allocation
2314   of static mutexes.
2315 * GHookLIst API cleanups.
2316 * Improved format support of GDate parser.
2317 * String function speed improvements with new g_stpcpy().
2318 * Hashtable API additions.
2319 * New GPatternSpec for shell-style pattern matching (from GtkPatternSpec).
2320 * Optimizations, cleanups, bug fixes.
2321
2322 GObject:
2323
2324 * Added many convenience functions.
2325 * GClosure and GParamSpec use float/sink ref-counting scheme now.
2326 * Reworked property change notification.
2327 * Binary searchable array cleanups, so it's widely usable now.
2328 * Added static content keeping for some GValue types.
2329 * Support for statically scoped signal parameters.
2330 * Extinguished property trailer args in set/get interface.
2331 * Added support for abstract types.
2332 * G_CONST_RETURN specification all over the place.
2333 * Split parameter exchange functionality into value transforms
2334   and parameter conversions.
2335 * Added signal emission hooks and signal accumulators.
2336 * Added interface prerequisites to support is_a (interface, object)
2337   relations.
2338 * Implemented GValueArray.
2339 * New types, boxed: G_TYPE_VALUE, G_TYPE_CLOSURE, G_TYPE_GSTRING
2340   GParamSpecs: G_TYPE_PARAM_PARAM, G_TYPE_PARAM_POINTER, G_TYPE_PARAM_CLOSURE,
2341   G_TYPE_VALUE_ARRAY, G_TYPE_PARAM_UNICHAR, G_TYPE_PARAM_VALUE_ARRAY.
2342 * Varrags value collection improvements.
2343 * Implemented debugging traps.
2344 * Made things thread-safe.
2345 * Many documentation improvements.
2346 * Many cleanups, optimizations and bug fixes.
2347
2348
2349 Overview of Changes in GLib 1.3.2:
2350 ==================================
2351
2352 GLib:
2353
2354 * Win32 build improvements  [Tor]
2355 * Improvements to error reporting  
2356   (g_critical(), g_return_if_reached()) [Darin]
2357 * Add g_strlcpy/g_strlcat  [David Wheeler]
2358 * New IO channel implementation for Win32  [Tor] 
2359 * Make g_array_free, g_string_free return pointer to memory requested
2360   not to be freed.  [Darin]
2361 * Added GError based error reporting for thread functions.  [Sebastian]
2362 * Moved reference docs into GLib distribution. [Owen]
2363 * Added g_convert() for doing convenient character set conversions based
2364   on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
2365 * Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
2366   g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
2367 * Portability fixes for threading.  [Sebastian]
2368 * Added convenient functions for launching new processes (g_spawn_*),
2369   and shell quoting/unquoting functions.  [Havoc]
2370 * Split glib.h into many headers.  [Sebastian]
2371 * Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
2372 * Fixed confusions between comparison functions that return <0, 0, >0
2373   and equaility functions that return FALSE,TRUE.  [Sebastian]
2374 * Added safe/portable temporary file manipulation functions.  [Tor]
2375 * autoconf improvements.  [Raja]
2376 * Many documentation improvements.
2377 * Bug fixes.
2378
2379 GObject:
2380
2381 * Added boxed and pointer types.  [Tim/Jonathan]
2382 * Added callback abstraction (GClosure)  [Tim]
2383 * Added signal system (GSignal)  [Tim]
2384 * Make GTypePlugin an interface  [Tim]
2385 * Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
2386 * Bug fixes.
2387
2388
2389 What's new in GLib 1.3.1:
2390 =========================
2391
2392 * New GObject library added including object system based on
2393   the GTK+ object system. 
2394 * Functions for getting the properties of Unicode characters, 
2395   computing the canonical decomposition and ordering combining
2396   characters aand manipulating UTF-8 string manipulation based
2397   on libunicode.
2398 * GString now properly handles embedded nuls.
2399 * Multiple fixes from the 1.2.x branch.
2400 * Upgrade to libtool 1.3.3
2401 * Full thread support (thread creation and destruction).
2402 * BeOS port, BeOS dynamic modules.
2403 * Many improvements to the Windows ports.
2404 * Improvements to the OS/2 port, OS/2 module support.
2405 * Double ended queue implementation.
2406 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
2407 * New configure option --enable-msg-prefix to prefix messages, warnings
2408   et ceteri with the program name and the process id.
2409 * New thread-safe random number generator Mersenne Twister.
2410 * g_strcompress() added, g_strescape() had a slight API change, and
2411   more tightly defined semantics.
2412 * the g_string(x) macro has been removed, #x may be used instead.
2413