What's new in GLib 1.3.1: * Multiple fixes from the 1.2.x branch. * Upgrade to libtool 1.3.3 * Full thread support (thread creation and destruction). * BeOS port, BeOS dynamic modules. * Many improvements to the Windows ports. * Improvements to the OS/2 port, OS/2 module support. * Double ended queue implementation. * GLib macros for printf() formatting, e.g. G_GULONG_FORMAT = "lu" * New thread-safe random number generator Mersenne Twister. * g_strcompress() added, g_strescape() had a slight API change, and more tightly defined semantics. Overview of Changes in GLib 1.2.1: * g_realloc() fix for SunOS (please report further problems). * Continued the never ending fix vendetta regarding getpwuid(), this time AIX has been the culprit. * Upgrade to libtool 1.2f * Miscellaneous other buglets fixed. What's new in GLib 1.2.0 (since GLib 1.0.x): * GLib is distributed seperatedly from Gtk+ * Win32 Portability * Threading support * GModule mechanism (implemented in an extra library) which wraps dynamic object code loading facilities in a portable manner * GIOChannel structure to encapsulate the IPC mechanism * GQuarks and datasets * GRelations for n-way mapping of certain data * An n-way tree implementation * GDate functionality for calendar date manipulations * GAllocator type and associated functions * Added generic callback maintenance functions (ghook) * Generic functions for TAB completions * Endian defines (G_*_ENDIAN) * g_log() mechanism for logging of messages at different log levels * Generic main-loop mechanism * New glib-config helper script * Many more API extensions Overview of Changes in GLib 1.1.16: * Allocate smaller pools of memory for glists, gslists, gnodes * Bug Fixes Overview of Changes in GLib 1.1.15: * HPUX 11 thread system detection should now work * Release the main loop lock around calls to prepare() and check() so it is not held over user code * A few Win32 fixups Overview of Changes in GLib 1.1.14: * Check for dlsym() in system libraries and -dl * FreeBSD portability fixes * Random bug fixes and autoconf/automake changes Overview of Changes in GLib 1.1.13: * Removed alloca() based function and macro variants again. * Improved thread related configure tests. * GSource destruction fixups. * Fixed up idle function removal based on user_data pointer. * Advanced Win32 portability. * Enforced GSource's check(), prepare() and dispatch() constrains, loop recursions may only happen from dispatch(), and check() as well as prepare() are called while the main_loop lock is being held. * GLib development now requires GNU autoconf 2.13, GNU automake 1.4 and GNU libtool 1.2d. * Lots of random portability and bug fixes. Overview of Changes in GLib 1.1.12: * Added alloca functions/macros: g_strdup_a, g_strconcat3_a, g_alloca, g_new_a, g_new0_a * New tests structure. Type 'make check' on your system to run them. * Avoid unnecessary extra hook referencing in g_hook_list_marshal Overview of Changes in GLib 1.1.11: * provide defaults for POLL sysdefs * g_main_is_running: new function to check whether a main loop has been quitted * a few other enhancement/fixes Overview of Changes in GLib 1.1.9: * Check for pthread_attr_init in all cases, Digital Unix 4 requires this * For G_LOCK_DECLARE_*, if !G_THREADS_ENABLED, eat trailing semicolon better * Changed g_main_poll_(add|remove) to g_main_(add|remove)_poll Overview of Changes in GLib 1.1.8: * Added threading support - The ability to specify a set of functions to be used for locking at runtime. - Default implementations of locking functions for pthreads, Solaris threads, and (experimentally) NSPR. - All static variables should now properly locked. - Enhancements to the generic main-loop mechanism to be thread-safe. (It is used for the main-loop in GTK+ as of GTK+-1.1.8) * Portability fixes. Overview of Changes in GLib 1.1.7: * Removed multiple define from glibconfig.h Overview of Changes in GLib 1.1.6: * New GDate functionality for calendar date manipulations (g_date_*) * New GAllocator type and associated functions * New functions g_slist_copy and g_list_copy to duplicate a list with all its data pointers. * New function g_array_insert_vals and new macro g_array_insert_val to insert elements at an arbitrary index * GAllocators used for glist, gslist, gnode node allocations * Incremental freezing in ghash * New function g_hook_list_marshal_check to eventually destroy hooks after they got marshalled * Revised GIOChannel to provide generic virtual-function based interface * Added generic main-loop abstraction * Removed GListAllocator type and its g_*_allocator_*() function variants * Bug fixes Overview of Changes in GLib 1.1.5: * Win32 portability * GIOChannel structure to encapsulate the IPC mechanism * Reimplemented endian stuff, using inline asm for x86 * New functions: - g_strescape: escapes backslashes - g_path_is_absolute and g_path_skip_root - g_getenv: expands environment variables that contain references to other environment variables - g_scanner_sync_file_offset: rewind the filedescriptor to the current buffer position and blow the file read ahead buffer - g_array_remove_index: remove an entry, preserving the order - g_array_remove_index_fast: remove an entry, order might be distorted - g_ptr_array_remove: remove an entry, preserving the order - g_ptr_array_remove_fast: remove an entry, order might be distorted - g_byte_array_remove_index: wrapper for g_array_remove_index - g_byte_array_remove_index_fast: wrapper for g_array_remove_index_fast - g_strncasecmp: modeled closely after g_strcasecmp - g_list_sort, g_slist_sort: to merge sort GLists and GSLists * New macros: - G_DIR_SEPARATOR, G_DIR_SEPARATOR_S: platform-dependant file name syntax elements - G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S: platform-dependant search path syntax conventions - G_STRUCT_OFFSET, G_STRUCT_MEMBER_P, G_STRUCT_MEMBER: for handling structure fields through their offsets * Removed G_ENUM, G_FLAGS, G_NV, and G_SV macros * Bug fixes Overview of Changes in GLib 1.1.4: * Added generic callback maintenance functions (ghook) * New endian defines (G_*_ENDIAN) * New string join/split/free routines * Fixes Overview of Changes in GLib 1.1.3: * New GModule mechanism (implemented in an extra library) which wraps dynamic object code loading facilities in a portable manner. * glib-config features extra "glib" (old behaviour remains) and "gmodule" (add libgmodule.so to the --libs output) arguments now. this can also be specified as fourth argument to the AM_PATH_GLIB() macro. * Overhaul of the `inline' autoconfiguration stuff, so inlining should be sufficiently supported on all systems that allow inlining now. * New g_log() mechanism for logging of messages at different log levels, associated with certain log domains (define -DG_LOG_DOMAIN for your library). * New inline functions for bit masks tests. * GNode macros (and functions) now return the newly allocated node. * New macro G_VA_COPY() to work around va_list copying oddities on some platforms. the non-static g_vsprintf() function vanished in favour of a publically exported g_strdup_vprintf(). People that used the former g_vsprintf() would definitely want to read the associated ChangeLog entries (grep for printf). * New utility functions: g_strndup(), g_on_error_query(), g_on_error_stack_trace(), g_strdup_printf(), g_strdup_vprintf(), g_printf_string_upper_bound(), g_spaced_primes_closest(), g_strnfill(), g_memdup(). * Overhaul of the array implementations, this contains some source incompatible changes. Again, the ChangeLog is much more informative (grep for garray.c). * The internals of the g_dataset mechanism are now exported through the new g_datalist_* API (this is also the underlying implementation for the keyed data of GtkObjects). * New function g_atexit(), use of the ATEXIT() macro is discouraged. * Better configure checks for ansi compliance. * Libtool update to version 1.2b. * Lotsa bug fixes and cleanups as always ;) Overview of Changes in GLib 1.1.2: * Fixed packaging mistake which occured in 1.1.1 * fix 64-bitness in g_prints in glibtest What is new in GLib 1.1.1: * An n-way tree implementation is provided now, based on the GNode structure. * Bugfix for pointer arrays. What is new in GLib 1.1.0: * GLib is distributed seperatedly from Gtk+ now and uses a sophisticated shared library versioning scheme to deal with interface and binary incompatibilities. * There is a glib-config helper script installed now. * Fixups all over the place. * gboolean is now a gint, not a gchar anymore. * API extensions for GList and GSList. * New g_str*() functions for simple string handling. * GScanner extensions for scope, warning and error handling. * Minor performance improvements for GMemChunks. * Implementations of GQuarks and datasets (similar to GtkObjects data mechansim, but works for generic memory locations). * More convenience macros for GNU C function arguments. * Const correction all over the place, including a new pointer type gconstpointer. * Generic functions for TAB completions. * GRelations for n-way mapping of certain data.