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