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