Overview of Changes in GLib 1.3.2:

GLib:

* Win32 build improvements  [Tor]
* Improvements to error reporting  
  (g_critical(), g_return_if_reached()) [Darin]
* Add g_strlcpy/g_strlcat  [David Wheeler]
* New IO channel implementation for Win32  [Tor] 
* Make g_array_free, g_string_free return pointer to memory requested
  not to be freed.  [Darin]
* Added GError based error reporting for thread functions.  [Sebastian]
* Moved reference docs into GLib distribution. [Owen]
* Added g_convert() for doing convenient character set conversions based
  on iconv. (GLib now requires libiconv or a native iconv.) [Havoc/Owen]
* Various Unicode handling additions (g_ucs4_to_utf8, g_utf8_validate(),
  g_{locale,filename}_{to,from}_utf8)  [Robert/Havoc/Owen]
* Portability fixes for threading.  [Sebastian]
* Added convenient functions for launching new processes (g_spawn_*),
  and shell quoting/unquoting functions.  [Havoc]
* Split glib.h into many headers.  [Sebastian]
* Added a simple callback-based parser for XML-like files (GMarkup).  [Havoc]
* Fixed confusions between comparison functions that return <0, 0, >0
  and equaility functions that return FALSE,TRUE.  [Sebastian]
* Added safe/portable temporary file manipulation functions.  [Tor]
* autoconf improvements.  [Raja]
* Many documentation improvements.
* Bug fixes.

GObject:

* Added boxed and pointer types.  [Tim/Jonathan]
* Added callback abstraction (GClosure)  [Tim]
* Added signal system (GSignal)  [Tim]
* Make GTypePlugin an interface  [Tim]
* Added GTypeModule - a simple GTypePlugin instantiation  [Owen]
* Bug fixes.

What's new in GLib 1.3.1:

* New GObject library added including object system based on
  the GTK+ object system. 
* Functions for getting the properties of Unicode characters, 
  computing the canonical decomposition and ordering combining
  characters aand manipulating UTF-8 string manipulation based
  on libunicode.
* GString now properly handles embedded nuls.
* 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 configure option --enable-msg-prefix to prefix messages, warnings
  et ceteri with the program name and the process id.
* New thread-safe random number generator Mersenne Twister.
* g_strcompress() added, g_strescape() had a slight API change, and
  more tightly defined semantics.
* the g_string(x) macro has been removed, #x may be used instead.
                                
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.
