1Overview 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
9What'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
30Overview of Changes in GLib 1.1.16:
31
32* Allocate smaller pools of memory for glists, gslists, gnodes
33* Bug Fixes
34
35Overview 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
42Overview 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
48Overview 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
62Overview 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
69Overview 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
75Overview 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
81Overview 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
93Overview of Changes in GLib 1.1.7:
94
95* Removed multiple define from glibconfig.h
96
97Overview 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
114Overview 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
144Overview 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
151Overview 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
183Overview 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
188What 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
193What 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