summaryrefslogtreecommitdiff
path: root/NEWS
blob: 5c1970b278273692f9bc99c2f8f3b246801c9327 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
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 assocated 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.