The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Change Log for OpenResty

0.3.14 Jul 14 2008
* fixed a bug regarding set_user("_global") which breaks creating the first OpenResty account on a fresh Pg.
* now we specify the MaxRows option when calling DBI's selectall_arrayref.
* renamed the Admin API to Unsafe API.
* added some POD for various classes.
* added a new POD document OpenResty::Tutorial::GetttingStarted_cn.

0.3.13 Jul 11 2008
* now we enclose the stats log generation code with an eval rather than die the whole fastcgi process.
* added POD to the bin/openresty script.

0.3.12 Jul 10 2008
* now we no longer check the metamodel version when doing upgrade (it was a cycle.)

0.3.11 Jul 10 2008
* fixed a failure when the config option frontend.stats_log_dir is set to an empty string.

0.3.10 Jul 10 2008
* added (basic) POD docs to most of the .pm files.
* added the OpenResty::Spec::TestSuite document.
* added the OpenResty::Spec::Installation document.
* added the OpenResty::Spec::AccountAdmin document.
* added the OpenResty::Spec::Upgrading document (for real this time).

0.3.9 Jul 9 2008
* added the OpenResty::Spec::Upgrading document.
* now we check if the version of the metamodel is up-to-date during server startup.

0.3.8 Jul 9 2008
* now we can update a col's default back to null and empty strings.
* allowed type ltree in model columns.
* added a new config option frontend.stats_log_dir.
* now we cache has_role as well as the role's login method
* added naive support for the unique key in column spec while creating models.
* now we check unrecognized keys in column spec while creating models
* added 34-unique.t and its pgmocked data
* now "trivial" cache gets completely disabled in recording mode or pgmocked mode

0.3.7 Jul 1 2008
* Bumped the metamodel version number to 0.005.
* Fixed the long standing bug regarding the model column default values saved in the metamodel.
* Exposed the Feed API in the Admin site demo.
* Now we use _rand in openresty.js for defeating web browser caching.
* Now we allow multiple views with identical definitions.

0.3.6 Jun 25 2008
* Now we check the minisql's syntax when the user updates the view's definition.
* Added a new demo, RestyCheck, which is a quick health-checker for *any* OpenResty server.
* The built-in action RunAction is now feature-complete.
* Added support for Pg network addresses' <<, <<=, >>, and >>= operators to minisql.
* The InitFatal error now respects url params like callback and var
* Added OpenResty::Inlined to enable recursive calling of the process_dispatcher method of OpenResty::Dispatcher
* Added support for the ip4r type
* Purge the (file) cache in startup
* Removed file paths from the low-level DB error messages which may expose security holes
* Fixed the restyscript compiler wrapper class OpenResty::RestyScript which has some problem with IPC::Run::run on our production machines ced02.search.cnb and proxy12.search.cnb
* Removed the whitespaces in solution used in cache key which has problems in memcached
* haskell/restyscript - added an optimized2 goal to Makefile to use -fvia-c and -optc-O3 and it makes the restyscript compiler about 20% faster :D

0.3.5 Jun 17 2008
* Now we require 2 OpenResty test accounts to run the test suite.
* Optimized the server by reducing DB queries via agressive user of caching.
* Bypassed some checks for builtin roles Admin and Public to reduce DB uses.
* Added tsearch2 related data types tsvector and tsquery to the Model API.
* Added support for tsearch2's @@ operator to minisql.
* Renamed the builtin action .Select to RunView and also reimplemented it by the restyscript compiler in Haskell.
* Implemented half of the RunAction builtin action via the restyscript compiler in Haskell.
* Added a new "trivial" param to OpenResty::Cache's set method to identify not-so-important caching which is disabled by the backend.recording option or backend.type option in the config file.
* Updated the INSTALLATION doc to mention a second test account required to run the test suite.

0.3.2 June 3 2008
* The perl minisql parser now accepts tsearch2 queries.
* Added support for varchar(\d+) for Model columns' types.
* Added support for select distinct ... in the perl minisql parser.
* Worked around a JSON::XS issue in perl 5.10.0 in t/13-count.t and t/03-model.t
* Updated the bundled Module::Install to the latest version on CPAN [RT #36389].
* Various improvements for the Haskell version of restyview compiler under haskell/.

0.3.1 May 26 2008
* Now the Captcha handler no longer stores IDs in the cache.
* Upgraded the metamodel to 0.004 by adding storage for the new Captcha API.
* Fixed the global metamodel initialization logic (a fresh install works now)
* Added massive documentation, like an initial draft for the Perl GettingStarted tutorial.
* Added a new demo, Click4honor, which was an NCP widget.
* Lots of improvements to the Blog demo.
* Added a working Haskell implementation for the minisql compiler for view (restyview) under haskell/. But it is not yet hooked into the server.

0.2.2 April 23 2008
* Put OpenResty under Artistic Licence 2.0.
* Fixed various nits in OpenResty::Spec::Overview.
* Fixed a typo in the INSTALLATION section in OpenResty.pm.
* Updated the CheatSheet document to reflect recent changes.

0.2.1 April 22 2008
* Added the OpenResty::Spec::Overview document.

0.2.0 April 21 2008
* Now we save the hex MD5 form of role passwords in the _roles table.
* Updated the openresty.js client lib accordingly.
* Added OpenResty::FeedWriter::RSS and the Feed handler to implement the basic Feed API.
* Reported the PL/proxy server's hostname in the openresty shell if the backend is "PgFarm".
* Put a note regarding password encryption in CheatSheet per Dylan Tynan's suggestion.
* Checked if an OpenResty view already exists before creating it.
* Finished the catpcha handler refactoring documentation (chaoslawful).
* demo/Blog - implemented the Archives module using enhanced minisql syntax.
* Renamed MiniSQL to RestyScript since it will no longer be a subset of SQL anyway.
* Added support for various operations (including +, -, *, /, ^, ||, and %) in the RestyScript compiler.
* Fixed the "like" operator in the restyscript compiler for views.
* demo/Admin - the general-purpose OpenResty admin site is now functional and CRUD operations for models, model columns, model rows, views, and roles have been fully implemented. I've also put a compiled version at http://resty.eeeeworks.org/admin/ ).
* Upgraded the metamodel to 0.003

0.1.10 April 4 2008
* Optimized the row bulk insertion and model bulk deletion operations. They are now much much faster.
* Now we use the ping method to test the DBI handle.
* Added demo/Blog2 for eeeeworks.org
* Added demo/SpringBot which is an IRC bot using OpenResty for storage.
* Pushed import-model.pl and export-model.pl into a pretty good shape.
* Added support for the Pg network address types and bigint to the Model handler.

0.1.9 Mar 24 2008
* Implemented the MetaModel automatic upgrading mechanism.
* Using MetaModel 0.001 now.
* Switched to JSON::XS from JSON::Syck for JSON input/output.
* Fixed a bug in GET /=/model/col/UTF8 reported by qyliu++.
* Fixed a bug regarding captcha ID in cookies.
* Added support for "boolean" to the type checker.

0.1.8 Mar 18 2008
* Fixed a typo in Base.pm

0.1.7 Mar 17 2008
* Added OpenResty::Spec::MetaModel.

0.1.6 Mar 16 2008
* Fixed another randomness caused by float-point numbers.

0.1.5 Mar 14 2008
* Fixed the version number for OpenResty::FastCGI to amuse the PAUSE indexer.

0.1.2 Mar 14 2008
* Added much more stuffs to CheatSheet.

0.1.1 Mar 13 2008
* Fixed a random regression caused by the inherent errors in float-point numbers.
* Fixed a bunch of English typos in the POD.

0.1.0 Mar 11 2008
* Asked the user for permission before downloading font/wqy-zenhei.ttf from agentzh.org ( http://rt.cpan.org/Public/Bug/Display.html?id=33982 )
* Implemented the PgMocked backend which mocks up the Pg backend using t/pgmocked-data.json.

0.0.11 Mar 7 2008
* Removed uncomm!ented "use Smart::Comments" from the source.

0.0.10 Mar 6 2008
* No longer croak on the INSTALLDIRS=site argument and others fed to Makefile.PL
* Various improments to the POD.
* Moved "use Data::UUID" from OpenResty::Dispatcher to OpenResty.pm.
* Fixed the InitalFatal in OpenResty::connect bug.
* Fixed a bug in WWW::OpenResty::Embedded by requiring HTTP::Response 1.53
* Fixed the view creation syntax in REST_cn.pod.
* Fixed bin/openresty in dev.mk
* Fixed a bug in the Version handler (regarding the version number with 3 fields)
* Renamed the various OPENAPI_* environments to OPENRESTY_*

0.0.9 Mar 5 2008
* Renamed doc/cheat-sheet.txt to OpenResty::CheatSheet.

0.0.8 Mar 5 2008
* minor tweaks in POD

0.0.7 Mar 5 2008
* Renamed yuting++'s opensearch.pod to OpenResty::Spec::Arch_cn.

0.0.6 Mar 5 2008
* Restricted OpenResty::Handler::* within their own packages to help CPAN indexer.

0.0.5 Mar 4 2008
* Initial CPAN release

0.0.4 Dec 28 2007
* Finished first draf of view support [laser]
* Added Backend directory to put database access layer code. [laser]
* Added Changes files,
* Updated README
* lib/OpenResty.pm: change $Backend->select to $self->select to reduce confision