(0.5.0)
 * SQLiteDBMS
  * feature: replication
   * 1:n multi slave replication
   * add new config entry for master
    * replication is master, replication master port
   * add new config entry for slave
    * replication is slave, replication master host, replication master port, replication master user, replication master password
  * feature: logger
   * rotate every day
   * server message, DB sql, http access
   * add new config entry(log dir, log filerule, log sql)
  * feature: support for memory DB
   * support for :memory: DB(session dependency)
  * fix: config entry memory violate


2006-09-15 (0.4.2a, b)
 * SQLiteDBMS
  * fix: string type config entry
 * libsqlited
  * fix: wrong shared object file suffix
 * SQLiteDBMS client
  * improve: SQLiteDBMS client(JavaScript client)


2006-07-04 (0.4.2)
 * fix bug wrong client socket (* IMPORTANT *)
 * load & run shared object's external method
 * fix bug on load config file


2006-06-30 (0.4.1)
 * perfomance improvements
  * query cache(req. SQLite >= 3.3.5)
   * global query cache pool
   * add "cache use", "cache slot", "cache size" config entry
  * improve SQL switcher
   * "INSERT", "DELETE" SQL is faster than older version
 * no limit timeout: timeout set to 0
 * SQLiteDBMS Client
  * implove FireFox compatible(move and resize box)
 * HTML Client
  * support for SSL


2006-06-25 (0.4.0)
 * support for SSL
  * add "-s" option
  * add "SSL", "SSL cert", "SSL key" config entry
 * libsqlited
  * support for SSL("https://" connection info string)
  * fix wrong error message pointer


2006-06-11 (0.3.1)
 * support prepared statement
  * OPTION HTTP method
 * libsqlited
  * support prepared statement
   * add sqlited_prepare, sqlited_bind_*, sqlited_reset, sqlited_finaiyze
  * fix wrote request content length
 * SQLiteDBMS client
  * fix empty grid error
 * support MacOS X


2006-05-14 (0.3.0)
 * add WebDAV feature
  * PUT, DELETE HTTP method
  * "webdav use = true" config entry added
 * OPTION HTTP method works like POST
  * OPTION method will process prepared statement
 * libsqlited(beta)
  * support WebDAV
   * sqlited_content_* added
  * support large chunked response


2006-05-13
 * add libsqlited(client API:C, alpha)
 * fix configure script
 * fix #1482894


2006-04-17
 * rewrite HTTP protocol parser
  * 3x faster for GET method
  * 2~3x faster for POST method(DB process)
 * add "ALTER USER" extended SQL


2006-04-15
 * "SHOW STATUS" improve and fix
  * wrong dbname return
  * "SHOW STATUS" result's format is same as data result
 * access control "SHOW" extended SQL
 * fix authorizer's wrong dbname pointer
 * result includes process time
  * SQLiteDBMS client show process time on status bar
 * fix memory leak


2006-04-13
 * add "SHOW USER" extended SQL
 * support access control
  * add "GRANT [CREATE]" extended SQL
  * add "REVOKE [CREATE]" extended SQL
  * add "access control" configuration entry
 * improve SQLiteDBMS client and fix some bug
  * improve grid
  * improve/fix syntax highright
 * load user/auth info to memory when startup(auto refresh when grant/revoke)
 * "CREATE USER" extended SQL change to "CREATE USER id password [superuser]"


2006-04-09 (beta)
 * add "SHOW" extended SQL
  * add "SHOW DATABASE" extended SQL
  * change "SHOW TABLES" to "SHOW TABLE"
  * add "SHOW INDEX" extended SQL
  * add "SHOW TRIGGER" extended SQL
  * add "SHOW VERSION" extended SQL
 * add "DESC" extended SQL
 * add JavaScript version client
  * web base GUI
  * support Firefox and MS-IE
  * include XMLHTTPRequest lib(like AJAX)
  * MDI box model
  * table/view/index/trigger designer
  * SQL syntax highright
  * data editor(support transaction)
 * configure script support RPM version of sqlite3
 * homepage renewal


2006-03-23
 * add "SHOW TRIGGER" extended SQL
 * JS version client improve


2006-03-15(2)
 * fix #1450192
  * wrong idle time response when show status SQL
 * fix #1450184
  * wrong content-length response headers
 * implove #1450193
  * ctrl+enter -> execute SQL in HTML version client tool


2006-03-15
 * fix admin sql crash
  * int admin_process( struct thread_t *self ); -> int admin_process( struct thread_t *self, int db_open_res );


2006-03-08
 * proc.c, response.c
  * support large response bigger than 1MB(chunked transfer encoding)
  * add int response_flush( struct thread_t *self, short is_last )
 * libnetwork.c
  * polling when send buffer


2006-02-28
 * monitor.c
  * add monitor_thread_push, monitor_thread_delete, monitor_response
 * add SHOW STATUS extend SQL
  * show sessions with infomation
 * client_auth_proc in proc.c
  * fix session auth
 * response in response.c
  * remove document-length header where 304 response
 * add -v flag(show version)


2006-02-14
 * admin.c
  * add SHOW SQL commands
 * htdocs/
  * add doc/index.htm
  * add common.css
  * update client/menu.htm


2005-12-09
 * request.c
  * add int request_decode( char *to, char *from, int from_len )
  * add int request_decode_hexit( char c )
  * ignore 'query='
  * post data url decode
 * proc.c
  * make void client_session_init( struct thread_t *self )
  * make int client_process( struct thread_t *self )
 * libsqlite3.c
  * add int db_table_columns( struct db_t *db )
  * add int db_table_column_name( char **column_name, struct db_t *db, int offset )
  * add long long int db_last_rowid( struct db_t *db )
  * add int db_changes( struct db_t *db )


2005-12-06
 * add error response
 * admin.c
  * CREATE DATABASE, DROP DATABASE, CREATE USER, DROP USER
  * add alter user command
 * add response.c
  * define error/info message array
  * add int response_info( struct thread_t *self, int status, char *infomsg )
  * add int response_error( struct thread_t *self, int status, char *errmsg )
  * add int response( struct thread_t *self )
  * add int response_xml_printf( char *dst, const char *src, const int src_len )
 * request.c
  * add short request_keep_alive( struct request_t *request )
 * struct.h
  * add struct db_user_t
  * add struct thread_t.keep_alive
  * add struct response_t.status and struct response_t.errmsg
 * libsqlite3.c
  * add char *db_printf( const char *sql, ...)
  * add void db_free( char *sql )
 * proc.c
  * support keep-alive connection
 * libnetwork.c
  * add int net_send( int sock, void *buf, int len )


2005-12-05
 * add admin.c
  * add extend sql parser
 * main.c
  * pre compile regex
 * add request.c
  * add int request_end( struct request_t *request )
  * add int request_get_char( char **dst, struct request_t *request, char *field )
  * add int request_get_int( struct request_t *request, char *field )
  * add int base64_decode( char *dst, const char *src, unsigned int len )
 * proc.c
  * add int client_open_db( struct thread_t *self )
  * rewrite int client_auth_proc( struct thread_t *self )
  * client process structure redefine
 * libsqlite3.c
  * fix int db_open( struct db_t *db, char *filename )
  * fix int db_open_init( struct db_t *db, char *filename, char *init_sql )
  * fix int db_close( struct db_t *db )
  * add int db_get_table( struct db_t *db, char *sql )
  * add int db_table_num_rows( struct db_t *db )
  * add int db_table_has_rows( struct db_t *db )
  * add char *db_table_result( struct db_t *db, int row, int col )
  * add void db_free_table( struct db_t *db )
 * struct.h
  * new struct request_node_t
  * fix struct request_t
  * add struct thread_t.super_user
  * add struct db_t.opened
  * add struct request_header_t.db_name_len
