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