2009-09-21  Wakaba  <wakaba@suika.fam.cx>

	* Lock.pm (check_lockability): Don't allow the same level of lock
	type being locked twice to avoid deadlocks caused by same level of
	locks.

2009-07-19  Wakaba  <wakaba@suika.fam.cx>

	* HashedIndex.pm (_for_each_id): Operator evaluation order was
	wrong.

2009-07-12  Wakaba  <wakaba@suika.fam.cx>

	* HashedIndex.pm (lock, lock_file_name): New methods.

2009-07-12  Wakaba  <wakaba@suika.fam.cx>

	* NamedText.pm (_get_file_name): Typo.

	* Lock.pm: Check whether any preferable locks are already taken or
	not to avoid deadlocks.

	* IDGenerator.pm (get_next_id): Set lock_type to enable lock order
	control.

	* IDLocks.pm (get_lock): Set lock_type to enable lock order
	control.

2009-03-15  Wakaba  <wakaba@suika.fam.cx>

	* NamedText.pm: New module.

2009-03-01  Wakaba  <wakaba@suika.fam.cx>

	* HashedIndex.pm: New module.

	* IDGenerator.pm (get_last_id): New method.

2009-01-12  Wakaba  <wakaba@suika.fam.cx>

	* SuikaWiki3LastModified.pm (get_data): Why this convertion was
	necessary?

2008-11-24  Wakaba  <wakaba@suika.fam.cx>

	* IDHistory.pm, HashedHistory.pm: New modules.

2008-11-14  Wakaba  <wakaba@suika.fam.cx>

	* IDLocks.pm (get_lock): Directories should be created if it does
	not exist.

	* SuikaWiki3PageList2.pm: New module.

2008-11-10  Wakaba  <wakaba@suika.fam.cx>

	* VersionControl.pm (commit_changes): Set "-kb" option to the "cvs
	add" command to avoid keyword substition and newline
	normalization.

2008-11-09  Wakaba  <wakaba@suika.fam.cx>

	* VersionControl.pm: New module.

	* HashedProps.pm, IDText.pm: Support for |version_control|
	property is added.

	* SuikaWiki3PageList.pm (_save_data): Renamed as |save_data|.  Do
	nothing if the data has not been loaded from the file.
	(delete_data): New method.

2008-11-09  Wakaba  <wakaba@suika.fam.cx>

	* IDProps.pm (_get_file_name): Return |undef| if the file is not
	found.

	* IDLocks.pm: New module.

2008-11-09  Wakaba  <wakaba@suika.fam.cx>

	* Lock.pm, HashedProps.pm, IDDOM.pm, IDGenerator.pm, IDProps.pm,
	IDText.pm, SuikaWiki3PageList.pm: New modules.

	* SuikaWiki3.pm, SuikaWiki3LastModified.pm: Changed to use plain
	base 16 encoded file name string as key, rather than array
	reference as in SuikaWiki3.

	* SuikaWiki3LastModified.pm (save_data, set_data): Removed.
	(load_data): Renamed as |_load_data|.
	(get_data): Invoke |_load_data| if and only if necessary.

	* SuikaWiki3Props.pm: Don't treat "%" as a part of hash key.

2008-11-08  Wakaba  <wakaba@suika.fam.cx>

	* SuikaWiki3LastModified.pm, SuikaWiki3Props.pm: New module files.
	
2008-11-08  Wakaba  <wakaba@suika.fam.cx>

	* DOM.pm: New module (some code moved from
	/webroot/gate/2008/sw.cgi).

	* SuikaWiki3.pm: Make a copy of key argument such that the
	original value will not be modified in the method code.
	
2008-11-08  Wakaba  <wakaba@suika.fam.cx>

	* SuikaWiki3.pm: Use euc-jp-sw encoding for compatibility with old
	data.

2008-11-07  Wakaba  <wakaba@suika.fam.cx>

	* SuikaWiki3.pm: New module.

	* ChangeLog: New file.

