2020-12-09  FAL Labs  <info@fallabs.com>

	- Fixed errors of kcdirtest on BtrFS.

	- Release: 1.2.79

2020-07-20  FAL Labs  <info@fallabs.com>

	- Fixed build warnings.

	- Release: 1.2.78

2018-10-29  FAL Labs  <info@fallabs.com>

	- Fixed build errors.

	- Release: 1.2.77

2012-05-24  FAL Labs  <info@fallabs.com>

	* kcthread.cc (CondVar::wait): a bug on Win32 was fixed.

	* kcdbext.h (IndexDB::set, IndexDB::replace): a bug of updating existing records was fixed.

	* kcdb.h (DB::check): new function.

	- Release: 1.2.76

2012-03-28  FAL Labs  <info@fallabs.com>

	* kcpolydb.h (PolyDB::match_similar): supressed warnings on signedness.

	- Release: 1.2.75

2012-03-15  FAL Labs  <info@fallabs.com>

	* kcpolydb.h (PolyDB::SimilarKey): the type of a member was modified for c++0x mode.

	- Release: 1.2.74

2012-03-06  FAL Labs  <info@fallabs.com>

	* kcutil.h (memdist, strutfdist, strucsdist): new functions.

	* kcpolydb.h (PolyDB::match_similar): new funcion.

	* kclangc.h (kclevdist, kcdbmatchsimilar): new functions.

	* kcfile.cc (File::open): LOCKFILE_FAIL_IMMEDIATELY support was added for Win32.

	- Release: 1.2.73

2011-12-15  FAL Labs  <info@fallabs.com>

	* kcfile.h (File::read, File::read_rast): a bug of invalid memory deletion was fixed.

	- Release: 1.2.72

2011-12-01  FAL Labs  <info@fallabs.com>

	* kclang.cc (kcdbcas): the erroneous order of parameters was rectified.

	- Release: 1.2.71

2011-08-01  FAL Labs  <info@fallabs.com>

	* kcplantdb.h (PlantDB::jump, PlantDB::step): a bug related to direction switch was fixed.

	- Release: 1.2.70

2011-07-16  FAL Labs  <info@fallabs.com>

	* kcutil.h (kcstrutflen): new function.

	* kcplantdb (PlantDB::write_key): new function.

	* kctextdb (TextDB::write_key): new function.

	* kctextdb.h (TextDB::scan_parallel_impl): performance was improved.

	* kctextdb.h (read_next): a bug of border condition was fixed.

	- Release: 1.2.69

2011-07-14  FAL Labs  <info@fallabs.com>

	* kcutil.h (strutftoucs, strucstoutf): performance was improved.

	- Release: 1.2.68

2011-07-12  FAL Labs  <info@fallabs.com>

	* kcutil.h (memicmp, memmem, memimem, stristr): new functions.

	* kcutil.h (strupper, strlower, strtrim): new functions.

	- Release: 1.2.67

2011-07-01  FAL Labs  <info@fallabs.com>

	* kcutil.h (strutftoucs, strucstoutf): new functions.

	- Release: 1.2.66

2011-06-28  FAL Labs  <info@fallabs.com>

	* kcutil.h (urlencode): modified for compatibility with RFC 3986.

	* kctextdb.h, kctextdb.cc: new files.

	- Release: 1.2.65

2011-06-15  FAL Labs  <info@fallabs.com>

	* kcmap.h (TinyHasyMap::accept_parallel): new function.

	* kcdbext.h (MapReduce::FlushThread): new class.

	* kcdbext.h (MapReduce::cache_flush): parallel mode was added.

	- Release: 1.2.64

2011-06-12  FAL Labs  <info@fallabs.com>

	* kcthread.cc (TaskQueue::do_start, TaskQueue::do_finish): new functions.

	* kcdb.cc (BasicDB::Curosr::seize, BasicDB::seize): new functions.

	* kcplantdb.h (PlantDB::Cursor::accept_atom): backward stepping is now supported.

	- Release: 1.2.63

2011-06-12  FAL Labs  <info@fallabs.com>

	* kcthread.cc (CondVar::wait): a bug of race condition on Win32 was fixed.

	- Release: 1.2.62

2011-06-09  FAL Labs  <info@fallabs.com>

	* kcthread.h (CondMap): new class.

	* kcutiltest.cc (runcond, proccond): new functions.

	- Release: 1.2.61

2011-06-07  FAL Labs  <info@fallabs.com>

	* kccachedb.h (CacheDB::scan_parallel): a bug related to overloading was fixed.

	- Release: 1.2.60

2011-05-30  FAL Labs  <info@fallabs.com>

	* kcdb.h (BasicDB::scan_parallel, BasicDB::scan_parallel_impl): new functions.

	* kccachedb.h (CacheDB::switch_rotation): new function.

	* kcdbext.h (MapReduce::execute): parallel options were added.

	- Release: 1.2.59

2011-05-19  FAL Labs  <info@fallabs.com>

	* kcplantdb.cc (PlantDB::accept): locking mode of transaction was modified.

	- Release: 1.2.58

2011-05-18  FAL Labs  <info@fallabs.com>

	* kclangc.cc (kcdbincrint, kcdbincrdouble): "orig" parameter was added.

	- Release: 1.2.57

2011-05-14  FAL Labs  <info@fallabs.com>

	* kcthread.c (AtomicInt64::cas): a bug on 64-bit Windows was fixed.

	* kcdb.h (DB::increment, DB::increment_double): "orig" parameter was added.

	- Release: 1.2.56

2011-05-13  FAL Labs  <info@fallabs.com>

	* kcplantdb.h (PlantDB::accept): lock promotion was abolished.

	- Release: 1.2.55

2011-05-12  FAL Labs  <info@fallabs.com>

	* kchashdb.h (HashDB::accept, HashDB::accept_bulk): promotion was replaced by try locking.

	* kcplantdb.h (PlantDB::recalc_count): validation checking was added.

	- some spin locks in the database classes were replaced by the system lock primitives.

	- Release: 1.2.54

2011-05-01  FAL Labs  <info@fallabs.com>

	* kcdbext.h (MapReduce::map): MapEmitter was integrated.

	* kcdbext.h (MapReduce::emit): new function.

	* kcdbext.h (MapReduce::execute): a bug of wrong handling of empty databases was fixed.

	- Release: 1.2.53

2011-04-10  FAL Labs  <info@fallabs.com>

	* kcutil.h (OSNAME, PAGESIZ): renamed for portability to Solaris.

	- Release: 1.2.52

2011-03-22  FAL Labs  <info@fallabs.com>

	* kclangc.h (kcidxnew, kcidxdel, kcidxopen, kcidxclose): new functions.

	- Release: 1.2.51

2011-03-08  FAL Labs  <info@fallabs.com>

	* kcplantdb.h (PlantDB::defrag): dirty buffer clean-up was added.

	- Release: 1.2.50

2011-03-06  FAL Labs  <info@fallabs.com>

	* kcutil.h (hexdecode): a bug of boundary violation was fixed.

	* kcthread.cc (SpinLock::unlock, SlottedSpinLock::unlock): release lock is now used.

	* kcmap.h (TinyArrayList): new class.

	* kcdb.h (BasicDB::log): new function.

	* kcdbext.h (IndexDB): new class.

	* kcutiltest.cc (runtalist, proctalist): new functions.

	* kcpolytest.h (runindex, procindex): new functions.

	* kclangctest.cc (runlist, proclist): new functions.

	- Release: 1.2.49

2011-03-01  FAL Labs  <info@fallabs.com>

	* kclangc.h (kcmapnew, kcmapdel, kcmapiterator, kcmapsorter): new functions.

	* kclangctest.cc (runmap, procmap): new functions.

	- Release: 1.2.48

2011-02-25  FAL Labs  <info@fallabs.com>

	* kcdb.h (BasicDB::occupy): new function.

	- Release: 1.2.47

2011-02-23  FAL Labs  <info@fallabs.com>

	* kcutil.h (SIZEMAX, FLTMAX, DBLMAX): new constants.

	* kcplantdb.h (PlantDB::open): repair mechanism was modified.

	* kcplantdb.h (PlantDB::Cursor::accept_spec): a bug related to transactin was fixed.

	- all database classes were refactored to support some old compilers.

	- Release: 1.2.46

2011-02-21  FAL Labs  <info@fallabs.com>

	* kcdbext.h (MapReduce::execute): adaptive comparator was added.

	* kcdbext.h (MapReduce::execute_reduce): new function.

	* kcdbext.h (MapReduce::before, MapReduce::after): new functions.

	- Release: 1.2.45

2011-02-15  FAL Labs  <info@fallabs.com>

	* kcdb.h (DB::Visitor::visit_before, DB::Visitor::visit_after): new functions.

	- configuration files were modified for affinity for binary distributions.

	- all classes were refactored to abolish unnamed namespaces.

	- Release: 1.2.44

2011-02-12  FAL Labs  <info@fallabs.com>

	* kchashdb.h (HashDB): the type of record locking objects was changed.

	* kcdirdb.h (DirDB): the type of record locking objects was changed.

	* kcplantdb.h (PlantDB): the type of page locking objects was changed.

	- Release: 1.2.43

2011-02-10  FAL Labs  <info@fallabs.com>

	* kcdb.h (DB::Cursor::get_key, DB::Cursor::get_value): signature was modified.

	* kcdb.h (DB::Cursor::get_pair, DB::Cursor::get): renamed.

	* kcdb.h (DB::get): signature was modified.

	- Release: 1.2.42

2011-02-07  FAL Labs  <info@fallabs.com>

	* kccommon.h: macros for integer range were added.

	* kchashdb.h (HashDB::begin_transaction): behavior of locking was modified.

	* kcdirdb.h (DirDB::begin_transaction): behavior of locking was modified.

	- Release: 1.2.41

2011-02-05  FAL Labs  <info@fallabs.com>

	* kccompare.h (LexicalDescendingComparator, LexicalDescendingComparator): new classes.

	* kccompare.h (LEXICALCOMP, DECIMALCOMP): the type was changed to pointer.

	* kccompress.h (ZLIBRAWCOMP): the type was changed to pointer.

	* kcplantdb.h (PlantDB::load_meta): a bug related to custom comparator was fixed.

	- Release: 1.2.40

2011-02-01  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::open): checking type type was added.

	* kcplantdb.h (Plantdb::reorganize_file): recovery condition was modified.

	* kcpolymgr.cc (proccheck): a bug related to path handling was fixed.

	- Release: 1.2.39

2011-01-30  FAL Labs  <info@fallabs.com>

	* kcthread.cc: threshold of sleep locking was modified.

	* kcplantdb.h (PlantDB::accept): a bug related to race condition was fixed.

	* kcplantdb.h (PlantDB::save_leaf_node): locking mode was modified.

	- Release: 1.2.38

2011-01-25  FAL Labs  <info@fallabs.com>

	* kcutil.h (strvecdump, strvecload, strmapdump, strmapload): new functions.

	- Release: 1.2.37

2011-01-21  FAL Labs  <info@fallabs.com>

	* kcutil.cc (getsysinfo): a bug related to memory stats was fixed.

	* kcthread.cc (Thread::chill): new function.

	* kcthread.cc (ScopedMutex, ScopedSpinLock): refactored using primitives.

	* kcthread.cc (ScopedRWLock, ScopedSpinRWLock): refactored using primitives.

	- Release: 1.2.36

2011-01-11  FAL Labs  <info@fallabs.com>

	* kcutil.cc: the order of header inclusion was modified.

	* kcthread.cc (SpinRWLock): space efficiency was improved.

	- Release: 1.2.35

2011-01-09  FAL Labs  <info@fallabs.com>

	* kcplantdb.h (PlantDB::accept, PlantDB::accept_bulk): behavior of async was modified.

	- Release: 1.2.34

2011-01-05  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::open): handling the WAL file was modified.

	* kchashdb.h (HashDB::clear): handling the open flag was added.

	* kcplantdb.h (PlantDB::clear): handling the recovery flag was modified.

	- Release: 1.2.33

2011-01-03  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::read_fast): error check was added.

	* kclangc.cc (kcdbacceptbulk, kcdbsetbulk, kcdbremovebulk, kcdbgetbulk): new functions.

	- Release: 1.2.32

2010-12-30  FAL Labs  <info@fallabs.com>

	* kcdb.h (BasicDB::accept_bulk): new function.

	* kcdb.h (BasicDB::set_bulk, BasicDB::remove_bulk, BasicDB::get_bulk): new functions.

	* kcthread.h (SlottedMutex::unlock_all): the order became forward.

	* kcpolymgr.cc (procsetbulk, procremovebulk, procgetbulk): new functions.

	- Release: 1.2.31

2010-12-19  FAL Labs  <info@fallabs.com>

	* kcpolydb.h (PolyDB::set_internal_db): new function.

	- Release: 1.2.30

2010-12-11  FAL Labs  <info@fallabs.com>

	* kccommon.h (modfl): new function for portability to cygwin.

	* kcthread.cc (Mutex::lock_try): cygwin was added to work around cases.

	* cmdcommon.h (oprintf): new function instead of "iprintf".

	- Release: 1.2.29

2010-12-10  FAL Labs  <info@fallabs.com>

	* ktutil.h (atoin, atofn): new functions.

	- Release: 1.2.28

2010-11-30  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::write, File::read): warnings on 32-bit environment were cleared.

	* kcfile.cc (File::write_file, File::make_directory): modified for Win32 virus checkers.

	- Release: 1.2.27

2010-11-28  FAL Labs  <info@fallabs.com>

	* ktutil.h (vstrprintf): solved a compilation warning.

	* kcdbext.h (MapReduce::~MapReduce): modified as a virtual function.

	- Release: 1.2.26

2010-11-17  FAL Labs  <info@fallabs.com>

	* kcdb.h (BasicDB::MetaTrigger): new class.

	* kcdb.h (BasicDB::tune_trigger): new function.

	* kcpolydb.h (PolyDB::StreamMetaTrigger): new class.

	- Release: 1.2.25

2010-11-10  FAL Labs  <info@fallabs.com>

	* kcstashdb.h, kcstashdb.o: new files.

	- Release: 1.2.24

2010-11-06  FAL Labs  <info@fallabs.com>

	* kcutil.h (sizevarnum): new function.

	* kcmap.h (TinyHashMap): new class.

	* kcdbext.h (MapReduce::execute): the cache algorithm was modified.

	- Release: 1.2.23

2010-11-04  FAL Labs  <info@fallabs.com>

	* kcutil.h (strsplit): new function.

	* kcpolydb.h (PolyDB::match_prefix): performance of the prototype tree was improved.

	- Release: 1.2.22

2010-11-02  FAL Labs  <info@fallabs.com>

	* kcdbext.h (MapReduce::Emitter::emit): a bug on 32-bit environment was fixed.

	* kcdbext.h (MapReduce::execute): the naming convention of databases was modified.

	* kcregex.cc (Regex::compile): a bug related to error handling was fixed.

	- Release: 1.2.21

2010-10-29  FAL Labs  <info@fallabs.com>

	* kcdbext.h, kcdbext.cc: new files.

	* kcpolytest.cc (runmapred, procmapred): new functions.

	- Release: 1.2.20

2010-10-21  FAL Labs  <info@fallabs.com>

	* kcpolydb.h (PolyDB::match_prefix, PolyDB::match_regex): new functions.

	* kclangc.h (kcdbmatchprefix, kcdbmatchregex): new functions.

	* kcregex.h: new file.

	- Release: 1.2.19

2010-10-15  FAL Labs  <info@fallabs.com>

	* kchashdb.h (HashDB::accept_impl): hash chaining algorithm was modified.

	* kcpolymgr.cc (runclear, procclear): new functions.

	- Release: 1.2.18

2010-10-11  FAL Labs  <info@fallabs.com>

	* kcdb.h (BasicDB::Error::NOREPOS): new constant instead of "NOENTRY".

	* configure.in: a building problem on Mac OS X was fixed.

	- Release: 1.2.17

2010-10-03  FAL Labs  <info@fallabs.com>

	* kcdb.h (BasicDB::Error::NOENTRY): new constant instead of "NOFILE".

	* kchashdb. (HashDB::synchronize_impl): open flag handling was modified.

	- Release: 1.2.16

2010-10-01  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::open): how to set the recover flag was modified.

	* kcfile.cc (File::rename, File::remove): difference of Win32 was absorbed.

	* kchashdb.h (HashDB::defrag_impl): auto transaction is now supported.

	* kchashdb.h (HashDB::abort_transaction): a bug related to the open flag was fixed.

	- Release: 1.2.15

2010-09-23  FAL Labs  <info@fallabs.com>

	* kcdb.h (BasicDB::tune_logger): new function.

	* kcdb.h (BasicDB::increment_double): new function.

	* kchashdb.h (HashDB::reorganize_file): copying method was modified.

	* kchashdb.h (HashDB::begin_transaction_impl): performance was improved.

	* kcplantdb.h (PlantDB::reorganize_file): copying method was modified.

	* kcdirdb.h (DirDB::calc_magic): broken files are now removed.

	- Release: 1.2.14

2010-09-13  FAL Labs  <info@fallabs.com>

	* kcthread.h (TaskQueue): new class.

	* kcdb.h (DB::Cursor::set_value_str): renamed to solve ambiguity.

	- Release: 1.2.13

2010-09-08  FAL Labs  <info@fallabs.com>

	* kcutil.h (kcurlencode, kcurldecode): new functions.

	* kcutil.h (kcquoteencode, kcquotedecode): new functions.

	* kcutil.h (kcbaseencode, kcbasedecode): new functions.

	* kcutil.h (memdup, strdup, strtoupper, strtolower, strtrim): new functions.

	* kclangc.h (kcmalloc, kcfree): the parameter type was modified.

	- Release: 1.2.12

2010-09-04  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::open, walwrite, walapply): mmap was discarded.

	* kcplantdb.h (PlantDB::recalc_count): performance was improved.

	* kcplantdb.h (PlantDB::fix_auto_transaction_leaf): performance was improved.

	- Release: 1.2.11

2010-09-01  FAL Labs  <info@fallabs.com>

	* kcprotodb.h (ProtoDB::report_valist): new function.

	* kcplantdb.h (PlantDB::report_valist): new function.

	* kchashdb.h (HashDB::read_record_body): magic data checking was added.

	- Release: 1.2.10

2010-08-30  FAL Labs  <info@fallabs.com>

	* kcdb.h (BasicDB::replace): new function.

	* kcpolydb.h (PolyDB::merge): "MREPLACE" mode was added.

	* kchashdb.h (HashDB::synchronize_impl): readers became able to call it.

	* kcplantdb.h (PlantDB::synchronize): readers became able to call it.

	* kcpolymgr.cc (runcopy, proccopy): new functions.

	- Release: 1.2.9

2010-08-20  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::remove_recursively): new function.

	* kcdb.h (BasicDB::Logger): new class.

	* kcdb.h (BasicDB::ProgressChecker): new class.

	* kcfile.cc (File::remove, File::rename): timeout on Win32 was modified.

	* kcpolydb.h (PolyDB::open): "erstrm" and "ervbs" were replaced by "log" and "logvbs".

	* kcpolydb.h (PolyDB::merge): new function.

	* kcpolymgr.cc (runmerge, procmerge): new functions.

	- Release: 1.2.8

2010-08-18  FAL Labs  <info@fallabs.com>

	* kcplantdb.h (PlantDB::rcomp): new function.

	* kctreemgr.cc (runlist, proclist): descending order was added.

	- Release: 1.2.7

2010-08-17  FAL Labs  <info@fallabs.com>

	* kcthread.cc (CondVar): Win32 support was added.

	* kcdb.h (jump_back, step_back): new functions.

	* kcplantdb.h (jump_last, step_back): new functions.

	* kcutiltest.cc (runpara, procpara): parallel tests were added.

	- Release: 1.2.6

2010-08-07  FAL Labs  <info@fallabs.com>

	* kccachedb.h (CacheDB::clear_slot): a bug related to transaction was fixed.

	* kchashdb.h (HashDB::reorganize_file): a bug of overflow was fixed.

	- Release: 1.2.5

2010-08-06  FAL Labs  <info@fallabs.com>

	* kcutil.h (hashpath): variance was improved.

	* kccompress.h (LZO::calculate_crc, LZMA::calculate_crc): new functions.

	- Release: 1.2.4

2010-08-01  FAL Labs  <info@fallabs.com>

	* kcutil.cc (getsysinfo): some information was added for Darwin and Win32.

	* kcutil.cc (setstdiobin): new function.

	* kccompress.h (LZO, LZMA): new classes.

	* kcfile.cc (File::remove, File::rename): modified for Win32 virus checkers.

	* kcpolydb.h (PolyDB::open): "zcomp=lzo" and "zcomp=lzma" were added.

	- Release: 1.2.3

2010-07-29  FAL Labs  <info@fallabs.com>

	* kcutil.cc (getsysinfo): new function.

	* kccache.h (GrassDB): new class.

	* kccachetest.cc: new file.

	- Release: 1.2.2

2010-07-28  FAL Labs  <info@fallabs.com>

	* kcompress.h (ArcfourComressor::ArcfourComressor): suppressed a warning.

	* kccompress.h (ArcfourCompressor::set_compressor): new function.

	* kcpolydb.h (PolyDB::open): "zcomp=arcz" was added.

	* Makefile.in: now deals with an internal bug of GCC 4.2.1 on Mac OS X.

	- Release: 1.2.1

2010-07-26  FAL Labs  <info@fallabs.com>

	* kcdb.h (BasicDB): renamed from FileDB.

	* kcplantdb.h: new file.

	* kctreedb.h: removed.

	* kchashdb.h (TreeDB): re-defined as a type alias.

	* kcdirdb.h (ForestDB): new class as a type alias.

	- Release: 1.2.0

2010-07-24  FAL Labs  <info@fallabs.com>

	* kcutil.h (arccipher): new function.

	* kccopmress.h (ArcfourCompressor): new class.

	* kchashdb.h (HashDB::open): synchronize came to be called when auto sync mode.

	* kcdirdb.h (DirDB::commit_transaction): synchronize came to be called.

	* kcdirmgr.cc (dbmetaprint): status information became detail.

	* kcpolydb.h (PolyDB::open): "zcomp" and "zkey" were added.

	- Release: 1.1.1

2010-07-06  FAL Labs  <info@fallabs.com>

	* kcutil.h (hexencode): performance was improved.

	* kcfile.cc (read_file, write_file): new functions.

	* kcdirdb.h, kcdirdb.cc, kcdirtest.cc, kcdirmgr.cc: new files.

	- Release: 1.1.0

2010-07-04  FAL Labs  <info@fallabs.com>

	* kcdb.h (typestring): refactored.

	- Release: 1.0.4

2010-06-19  FAL Labs  <info@fallabs.com>

	* kcdb.h: useless virtual attributes of some functions were abolished.

	* kctreedb.h (synchronize): a bug related to a call back parameter was fixed.

	* kcpolytest.cc (procqueue): a bug related to a log message was fixed.

	- Release: 1.0.3

2010-06-05  FAL Labs  <info@fallabs.com>

	* cmdcommon.h (mysrand): new function.

	* cmdcommon.h (myrand): algorithm was changed.

	- Release: 1.0.2

2010-05-25  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::open): error messages were added.

	* kcdb.h (DB::dump_snapshot, DB::load_snapshot): error codes were modified.

	* kchashdb.h (HashDB::open): error codes were modified.

	- Release: 1.0.1

2010-05-19  FAL Labs  <info@fallabs.com>

	* kccommon.h: built-in macros with confliction were voided.

	* kclangc.cc (kcdbcopy, kccursetvalue): new functions.

	* kclangc.cc (kcatoi, kcatoix, kcatof): new functions.

	* kclang.cc (kcnan, kcinf, kcchknan, kcchkinf): new functions.

	- Release: 1.0.0

2010-05-06  FAL Labs  <info@fallabs.com>

	* kccachetest.cc (procorder): a bug about record counting was fixed.

	- Release: 0.9.18

2010-05-02  FAL Labs  <info@fallabs.com>

	* kcdb.h (FileProcessor::process): parameters for meta data was modified.

	- Release: 0.9.17

2010-04-28  FAL Labs  <info@fallabs.com>

	* kccommon.h (_yield_, _testyield_, _assert_): new macros.

	* kcfile.h (File::get_current_directory, File::set_current_directory): new functions.

	- Release: 0.9.16

2010-04-21  FAL Labs  <info@fallabs.com>

	* kcutil.h (inf, chknan, chkinf): new functions.

	* kcfile.h (File::rename, File::read_directory): new function.

	* kcdb.h (FileDB::copy): new function.

	* kccommon.h: FreeBSD and Solaris support was added.

	- Release: 0.9.15

2010-04-20  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::close): unlocking operation was added.

	* kcdb.h (FileProcessor::process): the offset parameter was abolished.

	- Release: 0.9.14

2010-04-15  FAL Labs  <info@fallabs.com>

	* kcutil.h (nan): new function.

	* kcdb.h (File::DB::FileProcessor::process): parameters were added.

	* kclangc.cc (kchashmurmur, kchashfnv): new functions.

	* kcthread.cc: Win32 support was added.

	* kcfile.cc: Win32 support was added.

	* VCmakefile: new file.

	- Release: 0.9.13

2010-04-13  FAL Labs  <info@fallabs.com>

	* kcdb.h (DB::typestring): a miscellaneous type was added.

	* kcpolydb.h (PolyDB::PolyDB): a constructor with a database object was added.

	* kcthread.cc (Mutex::lock_try): Mac OS X support was added.

	- Release: 0.9.12

2010-04-06  FAL Labs  <info@fallabs.com>

	* kccommon.h: C++0x check was added.

	* kcdb.h (DB::dump_snapshot, DB::load_snapshot): new functions.

	* kcdb.h (DB::Cursor::set_value): new function.

	* kchashmgr.c (procdump, procload): new functions.

	* kctreemgr.c (procdump, procload): new functions.

	* kclangc.cc (kcmalloc, kcdbdumpsnap, kcdbloadsnap): new functions.

	- Release: 0.9.11

2010-04-01  FAL Labs  <info@fallabs.com>

	* kcdb.h (DB::accept, DB::iterate): default parameters were added.

	* kcdb.h (DB::Cursor::accept, DB::Cursor::get): default parameters were added.

	- Release: 0.9.10

2010-03-28  FAL Labs  <info@fallabs.com>

	* kcprotodb.h (ProtoDB::iterate): calls of empty visiting were abolished.

	* kchashdb.h (HashDB::iterate): calls of empty visiting were abolished.

	- Release: 0.9.9

2010-03-18  FAL Labs  <info@fallabs.com>

	* kcdb.h (Error::operator_int32_t): new function.

	* kcdb.h (FileDB::begin_transaction_try): new function.

	* kcpolydb.h (PolyDB::Cursor::db): the type of the return value was modified.

	* kcpolydb.h (PolyDB::open): the erstrm option was added.

	* kcpolydb.h (PolyDB::Cursor::accept): life checking was added.

	* kcpolytest (runmisc, procmisc): new functions.

	- Release: 0.9.8

2010-03-14  FAL Labs  <info@fallabs.com>

	* kclangc.h, kclangc.cc, kclangctest.c: new files.

	- Release: 0.9.7

2010-03-13  FAL Labs  <info@fallabs.com>

	* kctree.h (TreeDB::Cursor::accept_atom): validation check was added.

	* kctree.h (TreeDB::escape_cursors): new function.

	- Release: 0.9.6

2010-03-09  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::recovered): new function.

	* kchash.h (HashDB::recovered, HashDB::reorganized): new function.

	* kctree.h (TreeDB::Cursor::accept_spec, TreeDB::Cursor::accept_atom): new functions.

	- Release: 0.9.5

2010-03-06  FAL Labs  <info@fallabs.com>

	* kctree.h (TreeDB::sub_link_tree): new function.

	* kctree.h (TreeDB::reorganize_tree): tree trimming mechanism was added.

	- Release: 0.9.4

2010-03-04  FAL Labs  <info@fallabs.com>

	* kctree.h (TreeDB::Cursor::accept): a bug related drifted cursor was fixed.

	* kchashtest.cc (runqueue, procqueue): new functions.

	* kctreetest.cc (runqueue, procqueue): new functions.

	- Release: 0.9.3

2010-03-03  FAL Labs  <info@fallabs.com>

	* kcdb.h (DB::Error::string): abolished.

	* kcdb.h (DB::Error::name, DB::Error::codename): new functions.

	- Release: 0.9.2

2010-03-01  FAL Labs  <info@fallabs.com>

	* kchashdb.h (HashDB::Curosr::jump): a bug of boundary checking was fixed.

	* kchashdb.h (HashDB::report): new function.

	* kcpolydb.h, kcpolydb.cc: new files.

	- Release: 0.9.1

2010-02-16  FAL Labs  <info@fallabs.com>

	* kctreedb.h (TreeDB::accept): auto transaction was added.

	* kctreedb.h (TreeDB::Cursor::accept): auto transaction was added.

	* kctreedb.h (TreeDB::fix_auto_transaction_tree): new function.

	- Release: 0.9.0

2010-02-16  FAL Labs  <info@fallabs.com>

	* kcthread.h (Thread::hash): new function.

	* kchashdb.h (HashDB::accept): lock mechanism was modified to promotion locking.

	* kchashdb.h (HashDB::adjust_record): a bug of boundary checking was fixed.

	* kchashdb.h (HashDB::read_record): validation checking of size was added.

	* kchashdb.h (HashDB::dfunit): new function.

	- Release: 0.5.19

2010-02-13  FAL Labs  <info@fallabs.com>

	* kcdb.h (DB::get): new function.

	* kccompress.h (ZlibRawCompressor): new class.

	* kccompare.h, kccompare.cc: new files.

	* kchashdb.h (HashDB::escape_cursors): end sentry escaping was added.

	- Release: 0.5.18

2010-02-11  FAL Labs  <info@fallabs.com>

	* kcdb.h (Cursor::get, Cursor::get_pair): new functions.

	* kchashmgr.c (runcreate, runinform): "-onr" option was added.

	- Release: 0.5.17

2010-02-08  FAL Labs  <info@fallabs.com>

	* kcdb.h (typestring): new function.

	* kcfile.c (File::refresh): new function.

	* kctreedb.h, kctreedb.cc, kctreetest.cc, kctreemgr.cc: new files.

	* kchashdb.h (HashDB::synchronize_opaque, HashDB::dump_opaque): new functions.

	* kchashdb.h (HashDB::reorganize_file): new functions.

	- Release: 0.5.16

2010-02-07  FAL Labs  <info@fallabs.com>

	* kchashdb.h (HashDB::abort_auto_transaction): new function.

	* kchashdb.h (HashDB::accept_impl): a bug of race condition was fixed.

	- Release: 0.5.15

2010-02-04  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::begin_transaction, File::end_transaction): mmap is now used.

	* kcfile.cc (File::write, File::write_fast): refactored.

	* kchashtest.cc (procorder): a bug of integer overflow was fixed.

	- Release: 0.5.14

2010-02-03  FAL Labs  <info@fallabs.com>

	* kcfile.h (end_transaction, walapply): performance was improved.

	* kchashdb.h (HashDB::commit_auto_transaction, HashDB::dump_auto_meta): new functions.

	* kcutiltest.cc, kcprototest.cc, kccachetest.cc, kchashtest.cc: refactored for strace.

	- Release: 0.5.13

2010-02-02  FAL Labs  <info@fallabs.com>

	* kcdb.h (CacheDB::open): OAUTOTRAN and OAUTOSYNC flags was added.

	* kchashdb.h (HashDB::open): OAUTOTRAN and OAUTOSYNC flags was added.

	* kchashdb.h (HashDB::calc_checksum): shuffling algo was modified.

	* kcfile.cc (walapply): a bug of numeric overflow was fixed.

	- Release: 0.5.12

2010-02-01  FAL Labs  <info@fallabs.com>

	* kccachedb.h (CacheDB::accept_impl): removing algo was modified.

	* kccachedb.h (CacheDB::fold_hash): shuffling algo was modified.

	* kchashdb.h (HashDB::cut_chain): removing algo was modified.

	* kchashdb.h (HashDB::fold_hash): shuffling algo was modified.

	* kcthread.h (PromotiveLock): abolished.

	* kcthread.h (SpinRWLock::promote, SpinRWLock::demote): new functions.

	- Release: 0.5.11

2010-01-29  FAL Labs  <info@fallabs.com>

	* kchashtest.c (runorder, procorder): a transaction parameter was added.

	- Release: 0.5.10

2010-01-26  FAL Labs  <info@fallabs.com>

	* kcthread.h (SpinRWLock, ScopedSpinRWLock, SlottedSpinRWLock): new classes.

	* kcproto.h (ProtoDB): lock primitives were replaced by spin locks.

	* kccachedb.h (CacheDB): lock primitives were replaced by spin locks.

	* kchashdb.h (HashDB): lock primitives were replaced by spin locks.

	- Release: 0.5.9

2010-01-18  FAL Labs  <info@fallabs.com>

	* kchashdb.h (HashDB::Cursor::accept) a bug of iterator increment was fixed.

	* kcprotodb.h (ProtoDB::accept): the structure of the transaction log was fixed.

	* kccachedb.h, kccachedb.cc, kccachetest.cc: new files.

	- Release: 0.5.8

2010-01-14  FAL Labs  <info@fallabs.com>

	* kcprotodb.h (ProtoDB): rewritten as a template class.

	* kchashdb.h (HashDB::dump_free_blocks): a buf related to addressing was fixed.

	* kcprototest.cc: new file.

	- Release: 0.5.7

2010-01-05  FAL Labs  <info@fallabs.com>

	* kcfile.cc (File::end_transaction): a bug of memory management vioration was fixed.

	- Release: 0.5.6

2010-01-05  FAL Labs  <info@fallabs.com>

	* kcfile.cc (walpath, walwrite, walapply, mywrite, myread): new functions.

	* kcfile.cc (File::begin_transaction, File::end_transaction): new functions.

	- Release: 0.5.5

2010-01-04  FAL Labs  <info@fallabs.com>

	* kchashdb.h (HashDB::trim_cursors, HashDB::disable_cursors): new functions.

	* kchashdb.h (HashDB::tune_defrag, HashDB::defrag, HashDB::defrag_impl): new functions.

	* kchashmgr.cc (rundefrag, procdefrag): new functions.

	- Release: 0.5.4

2010-01-03  FAL Labs  <info@fallabs.com>

	* kcutil.h (nearbyprime): performance was improved.

	* kcfile.cc (File::expand): abolished.

	* kcfile.cc (File::write): a bug of race condition was fixed.

	- Release: 0.5.3

2010-01-01  FAL Labs  <info@fallabs.com>

	* kchashdb.h (HashDB::clear): implemented.

	* cmdcommon.h: new file.

	- Release: 0.5.2

2009-12-27  FAL Labs  <info@fallabs.com>

	* kcprotodb.h (ProtoDB::accept): a bug of race condition was fixed.

	* kchashdb.h (HashDB::calc_checksum): new function.

	* kchashdb.h (HashDB::dump_meta, HashDB::load_meta): the data format was modified.

	* kchashdb.h (HashDB::accept_impl): a bug of race condition was fixed.

	* kcfile.cc (File::write): a bug of border vioration was fixed.

	- Release: 0.5.1

2009-12-25  FAL Labs  <info@fallabs.com>

	- The initial version.

	- Release: 0.5.0

