12008-11-14  Tasuku SUENAGA <a at razil.jp>
2
3	* test/unit/sen-assertions.c: backporting.
4	* test/unit/test-snip.c: backporting.
5	* configure.ac: version 1.1.4
6
72008-11-14  Poe MORITA  <morita at razil.jp>
8
9	* query abortion support (Thanks to Kazuho Oku.)
10
112008-11-11  Tasuku SUENAGA <a at razil.jp>
12
13	* lib/lex.c (sen_mecab_open): avoided unnecessary buffer expansion with
14	failure of mecab_sparse_tostr3 except "output buffer overflow".
15	Thanks to Kazuho Oku.
16	* src/sennachk.c: made cerr initialized. Thanks to Kazuho Oku.
17	* src/sennachk.c: fixed a error report when lock succeeded.
18	Thanks to Kazuho Oku.
19
202008-11-07  Tasuku SUENAGA <a at razil.jp>
21
22	* configure.ac: version 1.1.3a
23	* lib/query.c (get_phrase): fixed bug with malformed multibyte string.
24	Thanks to Kazuho Oku.
25
262008-10-10  Daijiro MORI <morita at razil.jp>
27
28	* lib/ctx.c (sen_array): save memory usage.
29
302008-09-29  Tasuku SUENAGA <a at razil.jp>
31
32	* set.h: applied patch for handling fail of memory functions.
33	* index.c: applied patch for handling fail of memory functions.
34	* inv.c: applied patch for handling fail of memory functions.
35	* set.c: applied patch for handling fail of memory functions.
36
372008-09-28  Tasuku SUENAGA <a at razil.jp>
38
39	* fail_malloc.rbx: added.
40	* ctx.c (fail_malloc_check): default value of sen_fmalloc_prob set to 0.
41	* senna.rb: fixed bug in ruby bindings on Index::rename
42
432008-06-12  Tasuku SUENAGA <a at razil.jp>
44
45	* Encapsulated the definition of sen_sym_cursor.
46	* Fixed a bug in sen_sym_prefix_search_with_set, which hit deleted terms
47	occasionally.
48	* Added sen_lex_set_mecab_args.
49	* lib/snip.c: too large max tagged len is returned when mapping == -1
50	* Added nfkc.h
51	* modified snip.c: assert -> SEN_ASSERT
52	* Fixed a continuation bug.
53	* Fixed a bug in class::delete.
54	* Refactoring tests for ruby bindings.
55	* Fixed encoding mixture in test for ruby binding.
56	* Fixed a bug in sen_inv_term_extract. (by Kouhei Sutou)
57	* Added an assertion to test_index_advanced.rb corresponding to the
58	sen_inv_term_extract bug.
59	* Added senna.pc.in (by Kouhei Sutou)
60	* pkg-config support (by Kouhei Sutou)
61	* Fixed a bug in sen_inv_update which returns wrong return code (by Kouhei
62	Sutou)
63	* Fixed a bug in match_exec which causes memory leak.
64	* Fixed a bug in nf_neq.
65	* Fixed a bug in nf_snippet.
66	* Fixed a bug in exec_query.
67	* Unified sen_records and sen_set.
68	* Added new API sen_inv_select, sen_inv_select, sen_query_select.
69	* Fixed a bug in match_exec.
70	* Added nf_query.
71	* Fixed a bug ql.c:nf_snippet.
72	* Added do macro.
73	* Added some sample scripts.
74	* nf_object accepts multiple key and value pairs.
75	* Modified x->number. default value changed into zero.
76	* Fixed bug on sen_snip_exec with a SEN_SNIP_SKIP_LEADING_SPACES
77	flag.Multiple results are not able to be processed properlly.
78	* Export sen_sym_cursor.
79	* Enhanced disp function.
80	* Enhanced sen_sym_cursor_init.
81	* Added sen_sym_cursor_init_from.
82	* Enhanced sen_obj_new
83	* Enhanced class::extract method.
84	* Added x->b32h and intern to sennaql.
85	* Enhanced class::scan method.
86	* Added sen_sym_cursor.
87	* Modified the behavior of sen_com_event_poll. continue when returned a
88	closed fd.
89	* Added ::extract.
90	* Added symsnip.
91	* Added log info around sen_cursor_next.
92	* Added epoll_ctl log.
93	* ql supports escape sequence (\n, \t, \\).
94	* Fixed a bug. sen_io_size returns incorrect value.
95	* Added compare-function argument to (records ::sort).
96	* Fixed a bug in sen_sym_scan.
97	* Fixed a bug in <, >, <=, >= operator of sennaql.
98
992008-06-04  Kouhei Sutou  <kou@cozmixng.org>
100
101	* test/ql/run-test.scm: use sys-glob instead of glob as fallback.
102
1032008-06-03  Kouhei Sutou  <kou@cozmixng.org>
104
105	* configure.ac, test/Makefile.am (SUBDIRS), test/ql/Makefile.am:
106	support SennaQL test with GaUnit.
107
108	* test/ql/test-bookmark.scm, test/ql/run-test.scm,
109	test/ql/ql-test-utils.scm: add.
110
111	* test/unit/sen-test-utils.h: use <glib.h> not <gcutter.h>
112
113	* lib/io.c: use <sys/mman.h> not <bits/mman.h>. See mmap(2).
114
1152008-05-28  Poe MORITA  <morita at razil.jp>
116
117	* store.c: zlib/lzo support. (applied patch from <sunos at saita. ma>)
118
1192008-05-22  Kouhei Sutou  <kou@cozmixng.org>
120
121	* configure.ac: disable Cutter if libcutter can't be found.
122
1232008-05-21  Kouhei Sutou  <kou@cozmixng.org>
124
125	* test/unit/test-snip.c: fix tests to adapt to correct specification.
126
127	* configure.ac: remove a workaround for Cutter 0.9.0. require
128	Cutter >= 1.0.
129
1302008-05-20  Kouhei Sutou  <kou@cozmixng.org>
131
132	* test/unit/test-snip.c (test_html_mapping): add a test for HTML mapping.
133
134	* lib/snip.c (sen_snip_get_result): fix an invalid index access bug.
135
136	* test/unit/test-snip.c (test_invalid_result_index): add a test
137	for invalid result index access.
138
139	* test/unit/sen-assertions.h (cut_assert_equal_sen_rc): add.
140
141	* test/unit/test-snip.c (test_multi_conditions): add a test for
142	multiple sen_snip_add_cond() calls.
143
144	* test/unit/test-snip.c (test_customized_tag): add a test for
145	sen_snip_add_cond() with tag.
146
147	* test/unit/Makefile.am, test/unit/test-snip.c: add a test for
148	sen_snip.
149
150	* test/unit/sen-test-utils.[ch] (sen_rc_to_string): add.
151
152	* test/unit/sen-assertions.h (cut_assert_sen): add.
153
1542008-05-14  Kouhei Sutou  <kou@cozmixng.org>
155
156	* configure.ac: really support Cutter.
157
158	* test/unit/, test/Makefile.am: add.
159
1602008-03-10  Tasuku SUENAGA <a at razil.jp>
161
162	* Added shutdown function to sennaql
163	* Bug fixed: cannot build php bindings
164	* Modified timeout value of sen_com_event_poll in senna.c
165	* bug fixed: sen_query_scan fails with a query like 'word1 +word2'
166	* Enhanced slot_value_ra.
167	* CAUTION!! format of sen_store has been changed from this revision. and
168	it's not compatible.
169	* Exported sen_str_charlen.
170	* Fixed a bug in sen_records_next.
171	* Fixed a problem in sen_ja, accessing a record which exists across file
172	boundaries.
173	* Added ::defrag method to sen_ja_slot.
174	* Added :normalize option to ptable function.
175	* Fixed a bug in compar_expr.
176	* Added ::get-ddl
177	* default open/close tag are copied on sen_snip_open with SEN_SNIP_COPY_TAG
178	flags
179	* added sen_str_normalize
180	* Added ::schema method.
181	* When 0 is assigned as limit value of ::sort and ::disp method, it's
182	regarded as nrecords.
183	* compare functions (<, =, >, <=, >=) supports more than 2 values.
184	* Added substrb function.
185	* Added sen_sym_scan.
186	* removed strptime for windows
187	* Modified sen_fin. output alloc_count.
188	* Fix a bug in nf_records
189	* Added sen_sel_near2
190	* Fixed a memory leak bug in disp, nf_records.
191	* Added flags SEN_SKIP_LEADING_SPACES for sen_snip_open.
192
1932008-02-07  Tasuku SUENAGA <a at razil.jp>
194
195	* Made sen_ql_eval GC safe.
196	* Fixed a bug in nf_class::sort. time value comaprison was wrong.
197	* Fitted ruby binding in new sen_index_info signature.
198	* changed libsenna to senna in spec file
199	* enabled warnings about inline
200	* Modified sen_ja to use sen_io_win_map.
201	* Modified the signature of an API sen_index_info.
202	* Modified the behavior of sen_query. Leading expressions with '-' operator are ignored.
203	* Fixed a bug in clearlock.
204	* Fixed bug in sen_timeval2str().
205	* sen_snip_exec allow zero length string.
206	* fixed bug: cannot handle "c" properlly if snippet condition made from query "a -(b) c" by sen_query_snip
207	* Enhanced snip.
208	* Fixed a problem causing segv when illegal snip cond asigned.
209	* added quasiquote test on test/ql/quasiquote.scm
210	* changed listp -> pairp
211	* Fixed a bug in quasiquote.
212	* Added SEN_SNIP_COPY_TAG.
213	* Fixed a bug in sen_timeval.
214	* Fixed a bug in sen_ql_eval which cause segv when evaluated code raise error.
215	* Added (class ::clearlock).
216	* Added iterator to <db>.
217	* Made snip_cond gc free.
218	* Fixed a bug in <time> operation.
219	* Enhanced snip in sennaql.
220	* change strtime format.
221	* Added x->time
222	* Enhanced error handling in ruby binding.
223	* Fixed some bugs about list operation.
224	* Added CALLBACK.
225	* added __stdcall for thread functions on Windows
226	* Fixed a bug in sen_timeval.
227	* Added THREAD_CREATE.
228	* Added bogus COND_SIGNAL.
229
2302008-01-22  Tasuku SUENAGA <a at razil.jp>
231
232	* Enabled sen_inv_seg_expire().
233	* added error handler.
234	* fixed a buffer overflow bug on sen_snip_exec
235	* Fixed API documentation bugs.
236	* Enhanced SEN_INDEX_SHARED_LEXICON mode.
237	* Enhanced SEN_INDEX_SHARED_LEXICON. entries in a lexicon is actually deleted when pocket value == 0.
238	* Enhanced SEN_INDEX_SHARED_LEXICON. ignore sen_sym_del when (sym->flags & SEN_SYM_WITH_SIS).
239	* show warning message when sen_sym_del invoked to sen_sym with SEN_SYM_WITH_SIS
240	* sen_nstr_open now accepts empty string
241	* Fixed a bug which cause deadlock in SEN_IO_SEG_MAP.
242	* Enhanced sen_set algorithm.
243	* Fixed a bug in index.c: after sorted, sen_records rewind when sen_records_next invoked.
244	* Fixed a bug in ql.c: disp function had output empty packet in paticular situation.
245	* Fixed two bugs which cause segv.  1. sen_sym_get 2. sen_set_close
246	* removed waste comparison on snip.c
247	* Enhanced error handling.
248	* Enhanced buffer_flush. it doesn't corrupt the inv index even if array_at failed.
249	* Enhanced buffer_flush. directy calculate pos_ value using tp.
250	* Fixed a problem about sen_index_similar_search.
251	* Added sen_index_expire() which expires unsed memory when memory allocation failed.
252	* fixed bug of sennachk buffer over writing on senchk_filelist
253	* fixed bug on initializing snip_cond after released
254	* removed discarded tests
255	* Modified sen_realloc. use free() instead of realloc when size == 0.
256	* added stress test tool
257	* make sennachk only unlock inv files when --unlock options specified
258	* invalid nstr->checks stored when a handakuon/dakuon of a half-width kana are normalized
259	* deleted a unused variable on normalize_utf8
260	* Added SEN_INV_MAX_TF.
261	* Added regression test about SEN_INV_MAX_TF.
262	* change a type of nstr->checks from int8_least_t to int16_t for string given to sen_nstr_open which contains many spaces
263	* "senna.conf" file become obsolete.
264	* fixed double free problems on memory allocation failed for members of structs
265	* Fixed a bug in sen_query_term().
266	* Applied fail-malloc patch!
267	* Modified library dependency.
268	* Commented out swig
269	* Added sen_inv_max_section.
270	* added escape string \ on query expression
271	* added new error codes. - sen_internal_error - sen_external_error - sen_abnormal_error
272
2732007-09-26  Tasuku SUENAGA  <a at razil.jp>
274
275	* changed mode parameter of sen_io_win_map() only in WIN32 environment. sen_io_win_map no longer call mmap.
276	* 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.
277	* appeared sen_query_snip
278	* fixed an incorrect test about n_subrecs.
279	* fixed bug: error count is not initialized on sennachk
280	* fixed a bug in sen_index_select(), returning duplicate records, when multi-section used.
281
2822007-08-01  Tasuku SUENAGA  <a at razil.jp>
283
284	* enhanced autogen.sh
285	* sen_query_scan appeared
286	* bug fix: now configure option --without-nfkc works
287
2882007-05-29  Tasuku SUENAGA  <a at razil.jp>
289
290	* compile well on FreeBSD/Windows/Mac OS X
291	* refined configure.ac
292
2932007-05-22  Tasuku SUENAGA  <a at razil.jp>
294
295	* modified configure.ac. mecab-config check is executed only when mecab is required.
296	* fixed a bug: configure fails if mecab.h doesn't exist on a search path for include
297	* replace isspace into sen_isspace in lex.c
298	* added force_prefix
299	* modified test suites for supporting force_prefix
300	* fixed a bug in sen_set_get. when reuse a entry from garabages, value was not zero-cleared.
301	* null check in sen_inv_close
302	* sennachk appeared
303
3042007-04-27  Tasuku SUENAGA  <a at razil.jp>
305
306	* added more described instructions about sen_index_select
307	* fixed problem in snippet udf when realloc fails
308	* get rid of strlen call in query.c
309	* added sen_index_create_with_keys_lexicon
310	* merged the multisection-query branch
311	* fixed bug about configure options gotten from sen_info
312	* added lines for gcov/lcov and ruby binding and deleted waste lines on files for autotools
313	* now you can specify path of mecab-config
314	* now you can specify default parameters on configure time
315	* get not linker options but a link path on configure.ac
316	* added configure options on Windows environment
317	* call read_conf() in sen_info()
318	* made ruby bindings call sen_fin() at exit
319	* fixed a bug in sen_sym_next
320	* fixed ctype which is wrong on sen_enc_utf8
321	* added sen_sel_prefix and sen_sel_suffix to sen_sel_mode
322	* made compiler options of gcc show more detailed warnings
323
3242007-04-02  Tasuku SUENAGA  <a at razil.jp>
325
326	* add -c option (consistency check) to itest
327	* fixed a bug in inv.c: deleteing records with score corrupt index
328	* fixed bug buffer over read on snippet function
329	* fixed a bug in sen_set_reset. garbages was not cleared when gc.
330	* kick out UINT_MAX
331	* itest -u option added. u is for unlock
332
3332007-03-20  Tasuku SUENAGA  <a at razil.jp>
334
335	* fixed stack over run in sen_io_open
336	* fixed bugs in test suite on 32bit environment
337	* stack smashing bug fixed
338	* delete mysql bindings for version 5.0
339
3402007-03-14  Tasuku SUENAGA  <a at razil.jp>
341
342	* fixed bugs: delete strlen function of which argument is non-null terminated string on index.c
343	* compile sym08 on windows
344	* moved pat_node declarations to top of the blocks in sym.c
345	* updated mysql bindings for new versions
346	* modified mysql bindings
347	* fixed a bug in sen_set_str_get()
348	* added sen_info API
349	* fixed prototype declaration of sen_info on senna.h
350	* fse added
351	* fixed mysql bindings bug on alter/create/drop index
352	* set CONFIGURE_OPTION on windows
353
3542007-02-28  Tasuku SUENAGA  <a at razil.jp>
355
356	* fix a bug which cause segfault when sen_query_exec() run
357	* sen_inv_estimate_size(): fixed estimation for size.
358
3592007-02-22  Tasuku SUENAGA  <a at razil.jp>
360
361	* version 1.0.0
362	* compile inv08 in windows
363	* fixed some bugs in snippet functions
364	* fix multi section bug
365	* fixed a bug in sen_sym_del_with_sis()
366	* fixed a bug in sen_inv_update()
367	* added regression test for ruby bindings
368	* fixed bug about sen_sym_info in ruby binding
369	* added some constants and methods in ruby binding
370	* fixed bug in Sym::info method(ruby binding)
371	* added sen_sym test in ruby bindings
372	* sen_sym file format modified
373	* sen_sym file format refined
374	* make senna able to handle non-null-terminated strings
375	* kickout waste copy on mysql bindings
376	* added str_len to sen_values
377	* modify stest for new sen_nstr
378	* changed signature of sen_query_rest API
379	* added sen_query_term API
380	* size_t -> unsigned
381	* include string.h on tests
382	* deleted null check of string with length
383	* changed mysql bindings because of sen_query_rest API
384	* changed ruby bindings because of sen_query_rest API
385	* modified qtest to use a correct argument type for sen_query_rest
386	* itest supports new (1.0 type) index format
387	* fill zero in surplus area in index.
388	* fixed a bug: ngram-index corrput after rev295
389	* modified api document (japanese)
390	* modified api document (english)
391	* 64bit based index is now compatible with 32bit based index.
392	* get rid of unused routines from sym.c
393
3942006-12-29  Tasuku SUENAGA  <a at razil.jp>
395
396	* version 0.9.0
397	* change the default format of indices. From now, new format will be default.
398	* changed the format of indices.
399	* sen_io: moved io.nref into index file.
400	* change signatures of functions to handle non-null-terminated strings
401	* move ainfo, binfo arrays into sen_inv_header
402	* sen_sym: key area become sharable and slightly space-efficient.
403	* fixed bugs in checking first byte of characters encoded with shift_jis
404	* changed the format of invered index file.
405	* format errno with strerror when mmap failed.
406	* changed format string used for formatting total size of mmaped memory from %d to %z
407	* fixed sign of a argument for isspace
408
4092006-10-20  Tasuku SUENAGA  <a at razil.jp>
410
411	* version 0.8.2
412	* sen_sym bug fixed
413	* replace AC_FUNC_MALLOC/REALLOC to AC_CHECK_FUNCS for the environments
414	  without glibc.
415	* fix key size in a test suite of ruby bindings.
416	* fixed bug that sen_index_lock remains persistently
417	* fixed bug in normalize_utf8(). when sen_select_optarg.weight_vector == NULL
418	  and sen_select_optarg.vector_size > 0, it works as sen_wv_constant.
419	* made a keyword not tagged which gets accross the end bound of a snippet
420	* fixed absence of 'touch sql/sql_yacc.yy' in install documents.
421
4222006-09-12  Tasuku SUENAGA  <a at razil.jp>
423
424	* version 0.8.1
425	* implement expiring caches.
426	* inverted index is broken in environment where uintptr_t is not 32bit.
427	* support latin1 and koi8r.
428	* records.curr_rec was broken when sen_records_find() invoked.
429	* CREATE INDEX handles parameters properly.
430	* remove dependency on pkg.m4.
431	* fix misc bugs.
432
4332006-06-27  Tasuku Suenaga  <a at razil.jp>
434
435	* sen_index_info() enhanced (applied patch from <koizumi at gree.co.jp>)
436
4372006-04-05  Poe MORITA  <morita at razil.jp>
438
439	* snip.c bug fixed (applied patch from <ko at yappo.ne.jp>)
440
4412006-03-08  Poe MORITA  <morita at razil.jp>
442
443	* query.c added (for boolean search)
444
4452006-02-16  Poe MORITA  <morita at razil.jp>
446
447	* io.c bug fixed. index format has modified.
448
4492006-02-13  Poe MORITA  <morita at razil.jp>
450
451	* AIO/DIO based cache from Takuo Kitame <kitame at valinux. co. jp>
452	* --enable-aio, --enable-gatomic, --enable-nfkc, --with-mecab option added
453
4542006-01-12  Poe MORITA  <morita at razil.jp>
455
456	* windows porting released
457
4582005-12-22  Poe MORITA  <morita at razil.jp>
459
460	* support unpatched version of mecab (0.81, 0.82pre, 0.90)
461	  no longer depends on mecab mte patch.
462
4632005-12-14  Poe MORITA  <morita at razil.jp>
464
465	* windows porting (alpha version)
466
4672005-11-17  Poe MORITA  <morita at razil.jp>
468
469	* set.c modified which depended on particular structure alignment
470	* change the delimiter of column value to '\n' in mysql binding
471
4722005-11-14  Poe MORITA  <morita at razil.jp>
473
474	* API changed (keys are deep copied)
475	* garabages in symbol tables are collected
476	* sen_index_sel escalated unsplit, then partial
477
4782005-10-28  Poe MORITA  <morita at razil.jp>
479
480	* myisamchk bug fixed
481
4822005-10-27  Poe MORITA  <morita at razil.jp>
483
484	* mysql binding updated
485	* myisamchk supported
486	* sen_index_sel query escalation supports sen_sel_unsplit
487
4882005-09-17  Poe MORITA  <morita at razil.jp>
489
490	* mysql-5.0.12-beta binding from <tasuku at hottolink.co.jp>
491
4922005-09-17  Poe MORITA  <morita at razil.jp>
493
494	* Ruby binding memory leak fixed by <phuna at users.sourceforge.net>
495
4962005-09-08  Poe MORITA  <morita at razil.jp>
497
498	* utf-8 support enhanced. (SEN_INDEX_NORMALIZE become available)
499
5002005-08-16  Poe MORITA  <morita at razil.jp>
501
502	* SJIS support enhanced. (SEN_INDEX_NORMALIZE become available)
503
5042005-08-16  Poe MORITA  <morita at razil.jp>
505
506	* advanced API revised
507	* Ruby binding has rewrited using SWIG and supports advanced API.
508
5092005-07-05  Poe MORITA  <morita at razil.jp>
510
511	* the license has changed to LGPL from GPL.
512	* all of advanced API function implemented
513	* sen_skipmode_set patch applied to mysql binding
514
5152005-06-23  Poe MORITA  <morita at razil.jp>
516
517	* advanced API functions implemented
518
5192005-04-12  Poe MORITA  <morita at razil.jp>
520
521	* applied ftb patch for mysql binding from <ko at yappo.ne.jp>
522	'IN BOOLEAN MODE' supported
523
5242005-04-07  Poe MORITA  <morita at razil.jp>
525
526	* applied darwin patch from <oyama at module.jp>
527	working on Mac OS X 10.3.8.
528
529	* mysql binding updated by <ko at yappo.ne.jp>
530	working on MySQL 4.0.23, 4.0.24
531