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