1 What's new in GLib 1.3.1:
3 * Multiple fixes from the 1.2.x branch.
4 * Upgrade to libtool 1.3.3
5 * Full thread support (thread creation and destruction).
6 * BeOS port, BeOS dynamic modules.
7 * Many improvements to the Windows ports.
8 * Improvements to the OS/2 port, OS/2 module support.
9 * Double ended queue implementation.
10 * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu"
11 * New thread-safe random number generator Mersenne Twister.
14 Overview of Changes in GLib 1.2.1:
16 * g_realloc() fix for SunOS (please report further problems).
17 * Continued the never ending fix vendetta regarding getpwuid(),
18 this time AIX has been the culprit.
19 * Upgrade to libtool 1.2f
20 * Miscellaneous other buglets fixed.
22 What's new in GLib 1.2.0 (since GLib 1.0.x):
24 * GLib is distributed seperatedly from Gtk+
27 * GModule mechanism (implemented in an extra library) which wraps dynamic
28 object code loading facilities in a portable manner
29 * GIOChannel structure to encapsulate the IPC mechanism
30 * GQuarks and datasets
31 * GRelations for n-way mapping of certain data
32 * An n-way tree implementation
33 * GDate functionality for calendar date manipulations
34 * GAllocator type and associated functions
35 * Added generic callback maintenance functions (ghook)
36 * Generic functions for TAB completions
37 * Endian defines (G_*_ENDIAN)
38 * g_log() mechanism for logging of messages at different log levels
39 * Generic main-loop mechanism
40 * New glib-config helper script
41 * Many more API extensions
43 Overview of Changes in GLib 1.1.16:
45 * Allocate smaller pools of memory for glists, gslists, gnodes
48 Overview of Changes in GLib 1.1.15:
50 * HPUX 11 thread system detection should now work
51 * Release the main loop lock around calls to prepare() and
52 check() so it is not held over user code
55 Overview of Changes in GLib 1.1.14:
57 * Check for dlsym() in system libraries and -dl
58 * FreeBSD portability fixes
59 * Random bug fixes and autoconf/automake changes
61 Overview of Changes in GLib 1.1.13:
63 * Removed alloca() based function and macro variants again.
64 * Improved thread related configure tests.
65 * GSource destruction fixups.
66 * Fixed up idle function removal based on user_data pointer.
67 * Advanced Win32 portability.
68 * Enforced GSource's check(), prepare() and dispatch() constrains,
69 loop recursions may only happen from dispatch(), and check() as well
70 as prepare() are called while the main_loop lock is being held.
71 * GLib development now requires GNU autoconf 2.13, GNU automake 1.4
73 * Lots of random portability and bug fixes.
75 Overview of Changes in GLib 1.1.12:
77 * Added alloca functions/macros: g_strdup_a, g_strconcat3_a, g_alloca,
79 * New tests structure. Type 'make check' on your system to run them.
80 * Avoid unnecessary extra hook referencing in g_hook_list_marshal
82 Overview of Changes in GLib 1.1.11:
84 * provide defaults for POLL sysdefs
85 * g_main_is_running: new function to check whether a main loop has been quitted
86 * a few other enhancement/fixes
88 Overview of Changes in GLib 1.1.9:
90 * Check for pthread_attr_init in all cases, Digital Unix 4 requires this
91 * For G_LOCK_DECLARE_*, if !G_THREADS_ENABLED, eat trailing semicolon better
92 * Changed g_main_poll_(add|remove) to g_main_(add|remove)_poll
94 Overview of Changes in GLib 1.1.8:
96 * Added threading support
97 - The ability to specify a set of functions to be used for
99 - Default implementations of locking functions for pthreads,
100 Solaris threads, and (experimentally) NSPR.
101 - All static variables should now properly locked.
102 - Enhancements to the generic main-loop mechanism to be thread-safe.
103 (It is used for the main-loop in GTK+ as of GTK+-1.1.8)
106 Overview of Changes in GLib 1.1.7:
108 * Removed multiple define from glibconfig.h
110 Overview of Changes in GLib 1.1.6:
112 * New GDate functionality for calendar date manipulations (g_date_*)
113 * New GAllocator type and associated functions
114 * New functions g_slist_copy and g_list_copy to duplicate a list with all
116 * New function g_array_insert_vals and new macro g_array_insert_val to
117 insert elements at an arbitrary index
118 * GAllocators used for glist, gslist, gnode node allocations
119 * Incremental freezing in ghash
120 * New function g_hook_list_marshal_check to eventually destroy hooks after
122 * Revised GIOChannel to provide generic virtual-function based interface
123 * Added generic main-loop abstraction
124 * Removed GListAllocator type and its g_*_allocator_*() function variants
127 Overview of Changes in GLib 1.1.5:
130 * GIOChannel structure to encapsulate the IPC mechanism
131 * Reimplemented endian stuff, using inline asm for x86
133 - g_strescape: escapes backslashes
134 - g_path_is_absolute and g_path_skip_root
135 - g_getenv: expands environment variables that contain references
136 to other environment variables
137 - g_scanner_sync_file_offset: rewind the filedescriptor to the current
138 buffer position and blow the file read ahead buffer
139 - g_array_remove_index: remove an entry, preserving the order
140 - g_array_remove_index_fast: remove an entry, order might be distorted
141 - g_ptr_array_remove: remove an entry, preserving the order
142 - g_ptr_array_remove_fast: remove an entry, order might be distorted
143 - g_byte_array_remove_index: wrapper for g_array_remove_index
144 - g_byte_array_remove_index_fast: wrapper for g_array_remove_index_fast
145 - g_strncasecmp: modeled closely after g_strcasecmp
146 - g_list_sort, g_slist_sort: to merge sort GLists and GSLists
148 - G_DIR_SEPARATOR, G_DIR_SEPARATOR_S: platform-dependant file name
150 - G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S: platform-dependant
151 search path syntax conventions
152 - G_STRUCT_OFFSET, G_STRUCT_MEMBER_P, G_STRUCT_MEMBER: for handling
153 structure fields through their offsets
154 * Removed G_ENUM, G_FLAGS, G_NV, and G_SV macros
157 Overview of Changes in GLib 1.1.4:
159 * Added generic callback maintenance functions (ghook)
160 * New endian defines (G_*_ENDIAN)
161 * New string join/split/free routines
164 Overview of Changes in GLib 1.1.3:
166 * New GModule mechanism (implemented in an extra library) which wraps dynamic
167 object code loading facilities in a portable manner.
168 * glib-config features extra "glib" (old behaviour remains) and "gmodule"
169 (add libgmodule.so to the --libs output) arguments now. this can also
170 be specified as fourth argument to the AM_PATH_GLIB() macro.
171 * Overhaul of the `inline' autoconfiguration stuff, so inlining should be
172 sufficiently supported on all systems that allow inlining now.
173 * New g_log() mechanism for logging of messages at different log levels,
174 associated with certain log domains (define -DG_LOG_DOMAIN for your library).
175 * New inline functions for bit masks tests.
176 * GNode macros (and functions) now return the newly allocated node.
177 * New macro G_VA_COPY() to work around va_list copying oddities on some
178 platforms. the non-static g_vsprintf() function vanished in favour of
179 a publically exported g_strdup_vprintf().
180 People that used the former g_vsprintf() would definitely want to read the
181 associated ChangeLog entries (grep for printf).
182 * New utility functions:
183 g_strndup(), g_on_error_query(), g_on_error_stack_trace(), g_strdup_printf(),
184 g_strdup_vprintf(), g_printf_string_upper_bound(), g_spaced_primes_closest(),
185 g_strnfill(), g_memdup().
186 * Overhaul of the array implementations, this contains some source incompatible
187 changes. Again, the ChangeLog is much more informative (grep for garray.c).
188 * The internals of the g_dataset mechanism are now exported through the
189 new g_datalist_* API (this is also the underlying implementation for the
190 keyed data of GtkObjects).
191 * New function g_atexit(), use of the ATEXIT() macro is discouraged.
192 * Better configure checks for ansi compliance.
193 * Libtool update to version 1.2b.
194 * Lotsa bug fixes and cleanups as always ;)
196 Overview of Changes in GLib 1.1.2:
198 * Fixed packaging mistake which occured in 1.1.1
199 * fix 64-bitness in g_prints in glibtest
201 What is new in GLib 1.1.1:
203 * An n-way tree implementation is provided now, based on the GNode structure.
204 * Bugfix for pointer arrays.
206 What is new in GLib 1.1.0:
208 * GLib is distributed seperatedly from Gtk+ now and uses a sophisticated
209 shared library versioning scheme to deal with interface and binary
211 * There is a glib-config helper script installed now.
212 * Fixups all over the place.
213 * gboolean is now a gint, not a gchar anymore.
214 * API extensions for GList and GSList.
215 * New g_str*() functions for simple string handling.
216 * GScanner extensions for scope, warning and error handling.
217 * Minor performance improvements for GMemChunks.
218 * Implementations of GQuarks and datasets (similar to GtkObjects data
219 mechansim, but works for generic memory locations).
220 * More convenience macros for GNU C function arguments.
221 * Const correction all over the place, including a new pointer type
223 * Generic functions for TAB completions.
224 * GRelations for n-way mapping of certain data.