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