1 2008-03-10 Tasuku SUENAGA <a at razil.jp>
3 * Added shutdown function to sennaql
4 * Bug fixed: cannot build php bindings
5 * Modified timeout value of sen_com_event_poll in senna.c
6 * bug fixed: sen_query_scan fails with a query like 'word1 +word2'
7 * Enhanced slot_value_ra.
8 * CAUTION!! format of sen_store has been changed from this revision. and
10 * Exported sen_str_charlen.
11 * Fixed a bug in sen_records_next.
12 * Fixed a problem in sen_ja, accessing a record which exists across file
14 * Added ::defrag method to sen_ja_slot.
15 * Added :normalize option to ptable function.
16 * Fixed a bug in compar_expr.
18 * default open/close tag are copied on sen_snip_open with SEN_SNIP_COPY_TAG
20 * added sen_str_normalize
21 * Added ::schema method.
22 * When 0 is assigned as limit value of ::sort and ::disp method, it's
24 * compare functions (<, =, >, <=, >=) supports more than 2 values.
25 * Added substrb function.
27 * removed strptime for windows
28 * Modified sen_fin. output alloc_count.
29 * Fix a bug in nf_records
31 * Fixed a memory leak bug in disp, nf_records.
32 * Added flags SEN_SKIP_LEADING_SPACES for sen_snip_open.
34 2008-02-07 Tasuku SUENAGA <a at razil.jp>
36 * Made sen_ql_eval GC safe.
37 * Fixed a bug in nf_class::sort. time value comaprison was wrong.
38 * Fitted ruby binding in new sen_index_info signature.
39 * changed libsenna to senna in spec file
40 * enabled warnings about inline
41 * Modified sen_ja to use sen_io_win_map.
42 * Modified the signature of an API sen_index_info.
43 * Modified the behavior of sen_query. Leading expressions with '-' operator are ignored.
44 * Fixed a bug in clearlock.
45 * Fixed bug in sen_timeval2str().
46 * sen_snip_exec allow zero length string.
47 * fixed bug: cannot handle "c" properlly if snippet condition made from query "a -(b) c" by sen_query_snip
49 * Fixed a problem causing segv when illegal snip cond asigned.
50 * added quasiquote test on test/ql/quasiquote.scm
51 * changed listp -> pairp
52 * Fixed a bug in quasiquote.
53 * Added SEN_SNIP_COPY_TAG.
54 * Fixed a bug in sen_timeval.
55 * Fixed a bug in sen_ql_eval which cause segv when evaluated code raise error.
56 * Added (class ::clearlock).
57 * Added iterator to <db>.
58 * Made snip_cond gc free.
59 * Fixed a bug in <time> operation.
60 * Enhanced snip in sennaql.
61 * change strtime format.
63 * Enhanced error handling in ruby binding.
64 * Fixed some bugs about list operation.
66 * added __stdcall for thread functions on Windows
67 * Fixed a bug in sen_timeval.
68 * Added THREAD_CREATE.
69 * Added bogus COND_SIGNAL.
71 2008-01-22 Tasuku SUENAGA <a at razil.jp>
73 * Enabled sen_inv_seg_expire().
74 * added error handler.
75 * fixed a buffer overflow bug on sen_snip_exec
76 * Fixed API documentation bugs.
77 * Enhanced SEN_INDEX_SHARED_LEXICON mode.
78 * Enhanced SEN_INDEX_SHARED_LEXICON. entries in a lexicon is actually deleted when pocket value == 0.
79 * Enhanced SEN_INDEX_SHARED_LEXICON. ignore sen_sym_del when (sym->flags & SEN_SYM_WITH_SIS).
80 * show warning message when sen_sym_del invoked to sen_sym with SEN_SYM_WITH_SIS
81 * sen_nstr_open now accepts empty string
82 * Fixed a bug which cause deadlock in SEN_IO_SEG_MAP.
83 * Enhanced sen_set algorithm.
84 * Fixed a bug in index.c: after sorted, sen_records rewind when sen_records_next invoked.
85 * Fixed a bug in ql.c: disp function had output empty packet in paticular situation.
86 * Fixed two bugs which cause segv. 1. sen_sym_get 2. sen_set_close
87 * removed waste comparison on snip.c
88 * Enhanced error handling.
89 * Enhanced buffer_flush. it doesn't corrupt the inv index even if array_at failed.
90 * Enhanced buffer_flush. directy calculate pos_ value using tp.
91 * Fixed a problem about sen_index_similar_search.
92 * Added sen_index_expire() which expires unsed memory when memory allocation failed.
93 * fixed bug of sennachk buffer over writing on senchk_filelist
94 * fixed bug on initializing snip_cond after released
95 * removed discarded tests
96 * Modified sen_realloc. use free() instead of realloc when size == 0.
97 * added stress test tool
98 * make sennachk only unlock inv files when --unlock options specified
99 * invalid nstr->checks stored when a handakuon/dakuon of a half-width kana are normalized
100 * deleted a unused variable on normalize_utf8
101 * Added SEN_INV_MAX_TF.
102 * Added regression test about SEN_INV_MAX_TF.
103 * change a type of nstr->checks from int8_least_t to int16_t for string given to sen_nstr_open which contains many spaces
104 * "senna.conf" file become obsolete.
105 * fixed double free problems on memory allocation failed for members of structs
106 * Fixed a bug in sen_query_term().
107 * Applied fail-malloc patch!
108 * Modified library dependency.
110 * Added sen_inv_max_section.
111 * added escape string \ on query expression
112 * added new error codes. - sen_internal_error - sen_external_error - sen_abnormal_error
114 2007-09-26 Tasuku SUENAGA <a at razil.jp>
116 * changed mode parameter of sen_io_win_map() only in WIN32 environment. sen_io_win_map no longer call mmap.
117 * fixed a bug in inv.c: when inv_cursor_open() and inv_update() run simultanously in a same process, nref info sommtimes corrupted and cause deadlock.
118 * appeared sen_query_snip
119 * fixed an incorrect test about n_subrecs.
120 * fixed bug: error count is not initialized on sennachk
121 * fixed a bug in sen_index_select(), returning duplicate records, when multi-section used.
123 2007-08-01 Tasuku SUENAGA <a at razil.jp>
125 * enhanced autogen.sh
126 * sen_query_scan appeared
127 * bug fix: now configure option --without-nfkc works
129 2007-05-29 Tasuku SUENAGA <a at razil.jp>
131 * compile well on FreeBSD/Windows/Mac OS X
132 * refined configure.ac
134 2007-05-22 Tasuku SUENAGA <a at razil.jp>
136 * modified configure.ac. mecab-config check is executed only when mecab is required.
137 * fixed a bug: configure fails if mecab.h doesn't exist on a search path for include
138 * replace isspace into sen_isspace in lex.c
140 * modified test suites for supporting force_prefix
141 * fixed a bug in sen_set_get. when reuse a entry from garabages, value was not zero-cleared.
142 * null check in sen_inv_close
145 2007-04-27 Tasuku SUENAGA <a at razil.jp>
147 * added more described instructions about sen_index_select
148 * fixed problem in snippet udf when realloc fails
149 * get rid of strlen call in query.c
150 * added sen_index_create_with_keys_lexicon
151 * merged the multisection-query branch
152 * fixed bug about configure options gotten from sen_info
153 * added lines for gcov/lcov and ruby binding and deleted waste lines on files for autotools
154 * now you can specify path of mecab-config
155 * now you can specify default parameters on configure time
156 * get not linker options but a link path on configure.ac
157 * added configure options on Windows environment
158 * call read_conf() in sen_info()
159 * made ruby bindings call sen_fin() at exit
160 * fixed a bug in sen_sym_next
161 * fixed ctype which is wrong on sen_enc_utf8
162 * added sen_sel_prefix and sen_sel_suffix to sen_sel_mode
163 * made compiler options of gcc show more detailed warnings
165 2007-04-02 Tasuku SUENAGA <a at razil.jp>
167 * add -c option (consistency check) to itest
168 * fixed a bug in inv.c: deleteing records with score corrupt index
169 * fixed bug buffer over read on snippet function
170 * fixed a bug in sen_set_reset. garbages was not cleared when gc.
172 * itest -u option added. u is for unlock
174 2007-03-20 Tasuku SUENAGA <a at razil.jp>
176 * fixed stack over run in sen_io_open
177 * fixed bugs in test suite on 32bit environment
178 * stack smashing bug fixed
179 * delete mysql bindings for version 5.0
181 2007-03-14 Tasuku SUENAGA <a at razil.jp>
183 * fixed bugs: delete strlen function of which argument is non-null terminated string on index.c
184 * compile sym08 on windows
185 * moved pat_node declarations to top of the blocks in sym.c
186 * updated mysql bindings for new versions
187 * modified mysql bindings
188 * fixed a bug in sen_set_str_get()
190 * fixed prototype declaration of sen_info on senna.h
192 * fixed mysql bindings bug on alter/create/drop index
193 * set CONFIGURE_OPTION on windows
195 2007-02-28 Tasuku SUENAGA <a at razil.jp>
197 * fix a bug which cause segfault when sen_query_exec() run
198 * sen_inv_estimate_size(): fixed estimation for size.
200 2007-02-22 Tasuku SUENAGA <a at razil.jp>
203 * compile inv08 in windows
204 * fixed some bugs in snippet functions
205 * fix multi section bug
206 * fixed a bug in sen_sym_del_with_sis()
207 * fixed a bug in sen_inv_update()
208 * added regression test for ruby bindings
209 * fixed bug about sen_sym_info in ruby binding
210 * added some constants and methods in ruby binding
211 * fixed bug in Sym::info method(ruby binding)
212 * added sen_sym test in ruby bindings
213 * sen_sym file format modified
214 * sen_sym file format refined
215 * make senna able to handle non-null-terminated strings
216 * kickout waste copy on mysql bindings
217 * added str_len to sen_values
218 * modify stest for new sen_nstr
219 * changed signature of sen_query_rest API
220 * added sen_query_term API
222 * include string.h on tests
223 * deleted null check of string with length
224 * changed mysql bindings because of sen_query_rest API
225 * changed ruby bindings because of sen_query_rest API
226 * modified qtest to use a correct argument type for sen_query_rest
227 * itest supports new (1.0 type) index format
228 * fill zero in surplus area in index.
229 * fixed a bug: ngram-index corrput after rev295
230 * modified api document (japanese)
231 * modified api document (english)
232 * 64bit based index is now compatible with 32bit based index.
233 * get rid of unused routines from sym.c
235 2006-12-29 Tasuku SUENAGA <a at razil.jp>
238 * change the default format of indices. From now, new format will be default.
239 * changed the format of indices.
240 * sen_io: moved io.nref into index file.
241 * change signatures of functions to handle non-null-terminated strings
242 * move ainfo, binfo arrays into sen_inv_header
243 * sen_sym: key area become sharable and slightly space-efficient.
244 * fixed bugs in checking first byte of characters encoded with shift_jis
245 * changed the format of invered index file.
246 * format errno with strerror when mmap failed.
247 * changed format string used for formatting total size of mmaped memory from %d to %z
248 * fixed sign of a argument for isspace
250 2006-10-20 Tasuku SUENAGA <a at razil.jp>
254 * replace AC_FUNC_MALLOC/REALLOC to AC_CHECK_FUNCS for the environments
256 * fix key size in a test suite of ruby bindings.
257 * fixed bug that sen_index_lock remains persistently
258 * fixed bug in normalize_utf8(). when sen_select_optarg.weight_vector == NULL
259 and sen_select_optarg.vector_size > 0, it works as sen_wv_constant.
260 * made a keyword not tagged which gets accross the end bound of a snippet
261 * fixed absence of 'touch sql/sql_yacc.yy' in install documents.
263 2006-09-12 Tasuku SUENAGA <a at razil.jp>
266 * implement expiring caches.
267 * inverted index is broken in environment where uintptr_t is not 32bit.
268 * support latin1 and koi8r.
269 * records.curr_rec was broken when sen_records_find() invoked.
270 * CREATE INDEX handles parameters properly.
271 * remove dependency on pkg.m4.
274 2006-06-27 Tasuku Suenaga <a at razil.jp>
276 * sen_index_info() enhanced (applied patch from <koizumi at gree.co.jp>)
278 2006-04-05 Poe MORITA <morita at razil.jp>
280 * snip.c bug fixed (applied patch from <ko at yappo.ne.jp>)
282 2006-03-08 Poe MORITA <morita at razil.jp>
284 * query.c added (for boolean search)
286 2006-02-16 Poe MORITA <morita at razil.jp>
288 * io.c bug fixed. index format has modified.
290 2006-02-13 Poe MORITA <morita at razil.jp>
292 * AIO/DIO based cache from Takuo Kitame <kitame at valinux. co. jp>
293 * --enable-aio, --enable-gatomic, --enable-nfkc, --with-mecab option added
295 2006-01-12 Poe MORITA <morita at razil.jp>
297 * windows porting released
299 2005-12-22 Poe MORITA <morita at razil.jp>
301 * support unpatched version of mecab (0.81, 0.82pre, 0.90)
302 no longer depends on mecab mte patch.
304 2005-12-14 Poe MORITA <morita at razil.jp>
306 * windows porting (alpha version)
308 2005-11-17 Poe MORITA <morita at razil.jp>
310 * set.c modified which depended on particular structure alignment
311 * change the delimiter of column value to '\n' in mysql binding
313 2005-11-14 Poe MORITA <morita at razil.jp>
315 * API changed (keys are deep copied)
316 * garabages in symbol tables are collected
317 * sen_index_sel escalated unsplit, then partial
319 2005-10-28 Poe MORITA <morita at razil.jp>
321 * myisamchk bug fixed
323 2005-10-27 Poe MORITA <morita at razil.jp>
325 * mysql binding updated
326 * myisamchk supported
327 * sen_index_sel query escalation supports sen_sel_unsplit
329 2005-09-17 Poe MORITA <morita at razil.jp>
331 * mysql-5.0.12-beta binding from <tasuku at hottolink.co.jp>
333 2005-09-17 Poe MORITA <morita at razil.jp>
335 * Ruby binding memory leak fixed by <phuna at users.sourceforge.net>
337 2005-09-08 Poe MORITA <morita at razil.jp>
339 * utf-8 support enhanced. (SEN_INDEX_NORMALIZE become available)
341 2005-08-16 Poe MORITA <morita at razil.jp>
343 * SJIS support enhanced. (SEN_INDEX_NORMALIZE become available)
345 2005-08-16 Poe MORITA <morita at razil.jp>
347 * advanced API revised
348 * Ruby binding has rewrited using SWIG and supports advanced API.
350 2005-07-05 Poe MORITA <morita at razil.jp>
352 * the license has changed to LGPL from GPL.
353 * all of advanced API function implemented
354 * sen_skipmode_set patch applied to mysql binding
356 2005-06-23 Poe MORITA <morita at razil.jp>
358 * advanced API functions implemented
360 2005-04-12 Poe MORITA <morita at razil.jp>
362 * applied ftb patch for mysql binding from <ko at yappo.ne.jp>
363 'IN BOOLEAN MODE' supported
365 2005-04-07 Poe MORITA <morita at razil.jp>
367 * applied darwin patch from <oyama at module.jp>
368 working on Mac OS X 10.3.8.
370 * mysql binding updated by <ko at yappo.ne.jp>
371 working on MySQL 4.0.23, 4.0.24