Released GLib 1.1.7
[platform/upstream/glib.git] / NEWS
1 Overview of Changes in GLib 1.1.7:
2
3 * Removed multiple define from glibconfig.h
4
5 Overview of Changes in GLib 1.1.6:
6
7 * New GDate functionality for calendar date manipulations (g_date_*)
8 * New GAllocator type and assocated functions
9 * New functions g_slist_copy and g_list_copy to duplicate a list with all
10   its data pointers.
11 * New function g_array_insert_vals and new macro g_array_insert_val to
12   insert elements at an arbitrary index
13 * GAllocators used for glist, gslist, gnode node allocations
14 * Incremental freezing in ghash
15 * New function g_hook_list_marshal_check to eventually destroy hooks after
16   they got marshalled
17 * Revised GIOChannel to provide generic virtual-function based interface
18 * Added generic main-loop abstraction
19 * Removed GListAllocator type and its g_*_allocator_*() function variants
20 * Bug fixes
21
22 Overview of Changes in GLib 1.1.5:
23
24 * Win32 portability
25 * GIOChannel structure to encapsulate the IPC mechanism 
26 * Reimplemented endian stuff, using inline asm for x86
27 * New functions:
28   - g_strescape: escapes backslashes
29   - g_path_is_absolute and g_path_skip_root
30   - g_getenv: expands environment variables that contain references 
31     to other environment variables
32   - g_scanner_sync_file_offset: rewind the filedescriptor to the current
33     buffer position and blow the file read ahead buffer
34   - g_array_remove_index: remove an entry, preserving the order
35   - g_array_remove_index_fast: remove an entry, order might be distorted
36   - g_ptr_array_remove: remove an entry, preserving the order 
37   - g_ptr_array_remove_fast: remove an entry, order might be distorted
38   - g_byte_array_remove_index: wrapper for g_array_remove_index
39   - g_byte_array_remove_index_fast: wrapper for g_array_remove_index_fast
40   - g_strncasecmp: modeled closely after g_strcasecmp
41   - g_list_sort, g_slist_sort: to merge sort GLists and GSLists
42 * New macros:
43   - G_DIR_SEPARATOR, G_DIR_SEPARATOR_S: platform-dependant file name
44     syntax elements
45   - G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S: platform-dependant
46     search path syntax conventions
47   - G_STRUCT_OFFSET, G_STRUCT_MEMBER_P, G_STRUCT_MEMBER: for handling
48     structure fields through their offsets
49 * Removed G_ENUM, G_FLAGS, G_NV, and G_SV macros
50 * Bug fixes
51
52 Overview of Changes in GLib 1.1.4:
53
54 * Added generic callback maintenance functions (ghook)
55 * New endian defines (G_*_ENDIAN)
56 * New string join/split/free routines 
57 * Fixes
58
59 Overview of Changes in GLib 1.1.3:
60
61 * New GModule mechanism (implemented in an extra library) which wraps dynamic
62   object code loading facilities in a portable manner.
63 * glib-config features extra "glib" (old behaviour remains) and "gmodule"
64   (add libgmodule.so to the --libs output) arguments now. this can also
65   be specified as fourth argument to the AM_PATH_GLIB() macro.
66 * Overhaul of the `inline' autoconfiguration stuff, so inlining should be
67   sufficiently supported on all systems that allow inlining now.
68 * New g_log() mechanism for logging of messages at different log levels,
69   associated with certain log domains (define -DG_LOG_DOMAIN for your library).
70 * New inline functions for bit masks tests.
71 * GNode macros (and functions) now return the newly allocated node.
72 * New macro G_VA_COPY() to work around va_list copying oddities on some
73   platforms. the non-static g_vsprintf() function vanished in favour of
74   a publically exported g_strdup_vprintf().
75   People that used the former g_vsprintf() would definitely want to read the
76   associated ChangeLog entries (grep for printf).
77 * New utility functions:
78   g_strndup(), g_on_error_query(), g_on_error_stack_trace(), g_strdup_printf(),
79   g_strdup_vprintf(), g_printf_string_upper_bound(), g_spaced_primes_closest(),
80   g_strnfill(), g_memdup(). 
81 * Overhaul of the array implementations, this contains some source incompatible
82   changes. Again, the ChangeLog is much more informative (grep for garray.c).
83 * The internals of the g_dataset mechanism are now exported through the
84   new g_datalist_* API (this is also the underlying implementation for the
85   keyed data of GtkObjects).
86 * New function g_atexit(), use of the ATEXIT() macro is discouraged.
87 * Better configure checks for ansi compliance.
88 * Libtool update to version 1.2b.
89 * Lotsa bug fixes and cleanups as always ;)
90
91 Overview of Changes in GLib 1.1.2:
92
93 * Fixed packaging mistake which occured in 1.1.1
94 * fix 64-bitness in g_prints in glibtest
95
96 What is new in GLib 1.1.1:
97
98 * An n-way tree implementation is provided now, based on the GNode structure.
99 * Bugfix for pointer arrays.
100
101 What is new in GLib 1.1.0:
102
103 * GLib is distributed seperatedly from Gtk+ now and uses a sophisticated
104   shared library versioning scheme to deal with interface and binary
105   incompatibilities.
106 * There is a glib-config helper script installed now.
107 * Fixups all over the place.
108 * gboolean is now a gint, not a gchar anymore.
109 * API extensions for GList and GSList.
110 * New g_str*() functions for simple string handling.
111 * GScanner extensions for scope, warning and error handling.
112 * Minor performance improvements for GMemChunks.
113 * Implementations of GQuarks and datasets (similar to GtkObjects data
114   mechansim, but works for generic memory locations).
115 * More convenience macros for GNU C function arguments.
116 * Const correction all over the place, including a new pointer type
117   gconstpointer.
118 * Generic functions for TAB completions.
119 * GRelations for n-way mapping of certain data.