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