All symbols now have silc_ prefix.
[silc.git] / CHANGES.RUNTIME
1 Thu Jan  3 18:37:42 EET 2008  Pekka Riikonen <priikone@silcnet.org>
2
3         * Added SilcStack support to silc_regex and silc_regex_buffer
4           calls.  Affected files are lib/silcutil/silcregex.[ch].
5
6 Wed Jan  2 22:39:57 EET 2008  Pekka Riikonen <priikone@silcnet.org>
7
8         * Added silc_stack_[set|get]_global to set/get global per-thread
9           SilcStack.  Affected files are lib/silcutil/silcstack.[ch].
10
11         * Imported new improved free regex implementation.  Added (again)
12           support for SILC_REGEX_NOTBOL and SILC_REGEX_NOTEOLF flags.
13           Added also support for POSIX bounded repeat expression (a{n,m}) 
14           to make it more POSIX compliant.  Added SilcStack support to
15           the regex too.  Affected files are lib/silcutil/silcregex.[ch].
16
17         * Added silc_buffer_printf to lib/silcutil/silcbuffer.h.
18
19         * Changed silc_srealloc to allocate new memory block if reallocation
20           from stack fails, and to copy the old data to the new one.
21           Affected files are lib/silcutil/silcmemory.[ch].
22
23 Tue Jan  1 19:40:15 EET 2008  Pekka Riikonen <priikone@silcnet.org>
24
25         * Added SILC_REGEX_NOTBOL and SILC_REGEX_NOTEOL flags to
26           lib/silcutil/silcregex.[ch].
27
28 Tue Jan  1 18:00:47 EET 2008  Pekka Riikonen <priikone@silcnet.org>
29
30         * Added silc_regex and silc_regex_buffer, routines that provide
31           convenient use of regular expressions.  Affected files
32           are lib/silcutil/silcregex.[ch].  Deprecated the
33           silc_string_regex_match.  Affected files are
34           lib/silcutil/silcstrutil.[ch].
35
36         * Added SILC_STR_REGEX macro to SILC Buffer Format API.  It
37           provides powerful regular expression matching within the
38           SilcBuffer.  Combined with SILC Buffer Format API it can turn
39           the API into a Stream Editor (sed) and Awk like, providing
40           powerful ways to match and edit the buffer in myriad of ways.  
41           The SILC_STR_REGEX can also mimic the behavior of sed (match
42           and edit line by line).  Affected files are
43           lib/silcutil/silcbuffmt.[ch], silctypes.h.
44
45 Mon Dec 31 15:50:31 EET 2007  Pekka Riikonen <priikone@silcnet.org>
46
47         * Added SILC_STR_OFFSET_START and SILC_STR_OFFSET_END to
48           lib/silcutil/silcbuffmt.[ch].
49
50 Mon Dec 31 01:30:17 EET 2007  Pekka Riikonen <priikone@silcnet.org>
51
52         * Added SILC regular expression API to lib/silcutil/silcregex.[ch].
53
54 Sun Dec 30 14:35:33 EET 2007  Pekka Riikonen <priikone@silcnet.org>
55
56         * Implemented asynchronous events to SILC Scheduler.  Added
57           silc_schedule_task_add_event, silc_schedule_event_connect,
58           silc_schedule_event_dissconnect, silc_schedule_task_del_event
59           and silc_schedule_event_signal.  Affected files are
60           lib/silcutil/silcschedule.[ch], silcschedule_i.h.
61
62         * Added concept of child and parent scheduler to SILC Scheduler
63           API.  silc_schedule_init now takes optional parent argument.
64           Each child scheduler is still independent, only the event tasks
65           are shared among parent and children.  Affected files are
66           lib/silcutil/silcschedule.[ch].
67
68         * The SILC FSM real thread now adds the created SilcSchedule
69           as the thread's global scheduler.  Affected file is
70           lib/silcutil/silcfsm.[ch].
71
72         * Moved generic string and data hashing and comparison functions
73           from lib/silcutil/silcutil.[ch] to lib/silcutil/silchashtable.[ch]
74           as they are usable by the hash table.  Added case sensitive
75           and insensitive string hashing and comparison funtions.
76           Changed string and data hashing to use Bob Jenkin's one-at-a-time
77           hash function.
78         
79         * Moved SILC_PARAM_* types from silcbuffmt.h to silctypes.h
80           under a generic SilcParam type.  Affected files are
81           lib/silcutil/silcbuffmt.[ch] and lib/silcutil/silctypes.h.
82
83 Wed Dec 26 13:10:30 EET 2007  Pekka Riikonen <priikone@silcnet.org>
84
85         * Added silc_schedule_[set|get]_global to
86           lib/silcutil/silcschedule.[ch].
87
88         * Changed many APIs to call silc_schedule_get_global if provided
89           scheduler argument is NULL.
90
91 Tue Dec 25 18:44:27 EET 2007  Pekka Riikonen <priikone@silcnet.org>
92
93         * silc_stack_alloc now automatically aligns the requested
94           stack size.  Affected files are lib/silcutil/silcstack.[ch].
95
96 Tue Dec 25 13:53:07 EET 2007  Pekka Riikonen <priikone@silcnet.org>
97
98         * Added silc_getopt to lib/silcutil/silcgetopt.[ch].
99
100 Sat Dec 22 19:55:28 EET 2007  Pekka Riikonen <priikone@silcnet.org>
101
102         * Added SILC errno API to lib/silcutil/silcerrno.[ch].  Added
103           SilcResult, generic error code and return value type.  Added
104           global silc_errno that returns last error in that thread.
105
106         * Deprecated SilcSocketStreamStatus, SilcResult replaces it.
107           Backwards support remains.  Affected files are
108           lib/silcutil/silcsocketstream.[ch].
109
110         * Deprecated SilcNetStatus, SilcResult replaces it.  Backwards
111           support remains.  Affected files are lib/silcutil/silcnet.[ch].
112
113         * Added errno setting to almost all Runtime Tooolkit routines
114           in error conditions.
115
116 Sun Dec 16 16:18:04 EET 2007  Pekka Riikonen <priikone@silcnet.org>
117
118         * Added SILC Bit Operations API to lib/silcutil/silcbitops.[ch].
119
120 Sat Dec 15 19:59:53 EET 2007  Pekka Riikonen <priikone@silcnet.org>
121
122         * Added SILC Tls API for Thread-local storage in
123           lib/silcutil/silcthread.[ch].  Added all platform specific
124           implementations.  Added SilcTls structure to 
125           lib/silcutil/silcthread_i.h that is now in all threads' Tls.
126
127 Thu Dec 13 17:37:21 EET 2007  Pekka Riikonen <priikone@silcnet.org>
128
129         * Clear the locked flag before unlocking mutex, not after.
130           Affected files are lib/silcutil/unix/silcunixthread.c and
131           lib/silcutil/symbian/silcsymbianthread.c.
132
133         * Fixed thread pool locking dealing with thread stopping to
134           prevent deadlocks and crashes.  Affected file is 
135           lib/silcutil/silcthread.c.
136
137 Tue Nov  6 17:09:42 EET 2007  Pekka Riikonen <priikone@silcnet.org>
138
139         * Added '%@' formatting to silc_snprintf and variants.  It
140           can be used to render data and structures.  Affected files
141           are lib/silcutil/silcsnprintf.[ch].
142
143 Sat Oct 27 18:12:40 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
144
145         * Added silc_net_tcp_create_listener2.  Affected files are
146           lib/silcutil/silcnet.h and platform specific implementation.
147
148 Sat Sep  1 12:09:32 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
149
150         * Rewrote parts of the SILC Atomic API to not use volatile
151           members in structures but to handle the memory accesses
152           volatily, the right way to do it.  Affected file is
153           lib/silcutil/silcatomic.h.
154
155         * Added silc_timer_tick and silc_timer_synchronize functions
156           to SILC Timer API.  Affected files are 
157           lib/silcutil/silctimer.[ch] and silctimer_i.h.
158
159         * Use clock_gettime in place of gettimeofday, if it is
160           available.  Affected files are configure.ad and
161           lib/silcutil/unix/silcunixutil.c.
162
163         * Added silc_offsetof, silc_likely and silc_unlikely to public
164           API.  Added silc_attribute compiler specific definition.
165           Affected file is lib/silcutil/silctypes.h.
166
167         * Added silc_prefetch and silc_prefetch_block functions that
168           provide routines for prefetching data to CPU cache.  Affected
169           file is lib/silcutil/silctypes.h.
170
171         * Added --with-alignment for specifying default memory alignment
172           used in the compiled code.  Currently only SilcStack respects
173           this value.  Affected files are lib/configure.ad,
174           lib/silcutil/silcstack_i.h and includes/silc.h.in.
175
176 Tue Aug  7 21:00:00 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
177
178         * Fixed alignment issues on 64-bit CPUs.  Affected files are
179           lib/silcutil/silcschedule.c and unix/silcunixschedule.c.
180
181 Sat Aug  4 19:09:14 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
182
183         * Added assembler optimized versions of SILC_[GET|PUT]XX_MSB
184           macros, and SILC_SWAB_XX macros.  Added new functions
185           silc_rol, silc_ror, silc_rol64 and silc_ror64, all of which
186           have assembler optimizations also.  Affected file is
187           lib/silcutil/silctypes.h.
188
189 Thu Jul 26 18:13:59 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
190
191         * Changed thread pool call queues thread specific and changed
192           queues to be consumed in last-in-first-out order.  These
193           are optimizations to the thread pool.  Affected file is
194           lib/silcutil/silcthread.c.
195
196 Wed Jul 25 19:32:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
197
198         * Added silc_mime_assembler_purge to lib/silcutil/silcmime.[ch]
199           to purge unfinished fragments from MIME assembler.
200
201 Sat Jul 21 14:47:28 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
202
203         * Added silc_data2hex and silc_hex2data to
204           lib/silcutil/silcutil.[ch].
205
206 Thu Jul 19 17:07:02 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
207
208         * Added silc_buffer_strchr to lib/silcutil/silcbuffer.h.
209
210 Tue Jul 17 20:10:41 EEST 2007 Pekka Riikonen <priikone@silcnet.org>
211
212         * Added silc_hexdump to lib/silcutil/silcutil.[ch].
213
214 Fri Jul 13 23:01:45 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
215
216         * Added SILC_GET32_X_MSB macro to lib/silcutil/silctypes.h.
217
218 Wed Jul 11 17:10:11 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
219
220         * Added SILC Timer API to lib/silcutil/silctimer.[ch],
221           silctimer_i.h, tests/test_silctimer.c.
222
223 Tue Jul 10 20:02:04 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
224
225         * Added queue entry free list to thread pool instead of
226           allocating new entry everytime new entry is needed.  Affected
227           file is lib/silcutil/silcthread.c.
228
229 Mon Jul  9 20:21:13 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
230
231         * Changed thread pool completion callback to SilcTaskCallback so
232           that it can be given directly to destination scheduler.
233           Affected files are lib/silcutil/silcthread.[ch].
234
235 Sun Jul  8 20:20:22 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
236
237         * Moved Base64 routines to lib/silcutil/silcbase64.[ch].  Added
238           SilcStack support to the API.
239
240         * Inherit the lock from parent in SilcStack child.  If child
241           doesn't find stack blocks, check from parent.  Added
242           silc_stack_purge.  Affected file is lib/silcutil/silcstack.c.
243
244 Wed Jul  4 20:20:05 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
245
246         * Unified the SILC_STR_FUNC callback.  Affected files are
247           lib/silcutil/silcbuffmt.[ch].
248
249         * Added SilcStack support to SILC File Util API.  Affected files
250           are lib/silcutil/silcfileutil.[ch].
251
252         * Added SilcStack support to SILC FD Stream API.  Affected files
253           are lib/silcutil/silcfdstream.[ch].
254
255         * Added SilcStack support to SILC Scheduler API.  The scheduler
256           now creates stack always.  It can be retrieved by
257           silc_schedule_get_stack.  Affected files are
258           lib/silcutil/silcschedule.[ch], silcschedule_i.h.
259
260         * Added SilcStack child creation and use multi-thread support.
261           Added OOM handler, silc_stack_set_oom_handler.  Affected
262           files are lib/silcutil/silcstack.[ch].
263
264 Tue Jul  3 22:45:56 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
265
266         * Added concept of child stacks to SilcStack, allowing to create
267           true memory pools using SilcStack.  It is now possible to
268           create childs from the parent, without consuming the parent's
269           memory.  The child's memory is returned back to parent when
270           it is freed.  Affected files are lib/silcutil/silcstack.[ch],
271           silcstack_i.h.
272
273 Tue Jul  3 18:17:54 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
274
275         * Added SILC DLL API for loading and using shared objects and
276           DLLs.  Affected files are lib/silcutil/sildll.[ch].  Added
277           also test program lib/silcutil/tests/test_silcdll.c.
278
279         * Added SILC Environment manipulation API to
280           lib/silcutil/silcenv.[ch] and test program to
281           lib/silcutil/tests/test_silcenv.c.
282
283         * Renamed silc_hash_table_replace to silc_hash_table_set.
284           Added SilcStack support to SilcHashTable.  Affected files are
285           lib/silcutil/silchashtable.[ch].
286
287         * Added SilcStack support to SilcDList.  Added new function
288           silc_dlist_sinit.  Affected file is lib/silcutil/silcdlist.h.
289
290 Mon Jul  2 21:07:34 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
291
292         * Removed unaligned memory allocation from SilcStack.  Moved
293           silc_stack_malloc and silc_stack_realloc to public API from
294           private API.  Added silc_stack_[set|get]_alignment that is
295           used to get/set memory alignment with SilcStack.  Affected
296           files are lib/silcutil/silcstack.[ch], silcstack_i.h.
297
298         * Added silc_sfree to lib/silcutil/silcmemory.[ch].
299
300         * Removed silc_smalloc_ua and silc_srealloc_ua.  Affected files
301           are lib/silcutil/silcmemory.[ch].
302
303 Mon Jul  2 17:13:51 EEST 2007  Pekka Riikonen <priikone@silcnet.org>
304
305         * Added SILC Thread Pool API to lib/silcutil/silcthread.[ch],
306           and test program in lib/silcutil/tests/test_silcthread.c.
307
308 -----------------------------------------------------------------------------
309
310 For older changes please see the CHANGES file from the CVS tree.