+2.21
+ 2007-10-18
+ * Add logout_hook to Auth
+ * Remove key_payload
+ * Only accept payload from cram styles
+ * Added disable_simple_cram to enforce protecting server generated payloads
+
+2.20
+ 2007-10-08
+ * Added success_hook and failure_hook to Auth (not documented)
+ * Fix precedence issue in conf reading in App (thanks to Krassimir Berov)
+ * Fix bug in validate.js with LOCAL_PART matching (thanks to Thomas den Braber)
+ * Add support for clear_on_error to validate.js (thanks to Thomas den Braber)
+
+2.19
+ 2007-10-05
+ * Make verify_token more granualar in Auth
+ * Added parse_token method and/or property
+ * Added verify_password method and/or property
+ * Added verify_payload method and/or property
+ * Fix filename based conf reading in App
+ * Added check_valid_auth, handle_success, handle_failure
+ key_loggedout, bounce_on_logout to Auth.
+
+2.18
+ 2007-07-24
+ * Merry Pioneer Day - http://en.wikipedia.org/wiki/Pioneer_Day_(Utah)
+ * Allow for check_valid_auth in App
+ * Allow for set_cookie, delete_cookie, location_bounce to be overridden in Auth
+ * Add get_valid_auth to the history
+ * Massive refactor of CGI::Ex::App
+ * Rename conf_ext to ext_conf to be similar to ext_print and ext_val
+ * Add undocumented conf_die_on_fail (which defaults to true)
+ * Fix bug in handle_error
+ * Allow empty hashrefs passed to Validate - (broken in 2.17)
+ * Add tests to help with Devel::Cover coverage.
+
+2.17
+ 2007-06-26
+ * Add load_conf and conf* methods to App to allow for easier external configuration
+ * Add more documentation
+ * Allow print_content_type('text/html', 'utf-8')
+ * Allow App to pass mimetime and charset to print_out.
+ * Update path methods.
+
+2.16
+ 2007-06-21
+ * Add default __error step which is called by default handle_error method.
+ * Default base_dir_abs to '.'
+
+2.15
+ 2007-06-20
+ * Fix some warning issues with the Recipe sample in App
+ * Cleanup require_auth interface in App (you will want to
+ double check if you have overwritten require_auth in your
+ application to make sure your implementation is still compatible)
+ * Require latest Template::Alloy
+
+2.14
+ 2007-06-12
+ * Moved CGI::Ex::Template to Template::Alloy
+ * Template::Alloy is now required as a dependency
+ * Update some portions of App POD.
+
+2.13
+ 2007-05-21
+ * Added full support for HTML::Template and HTML::Template::Expr.
+ * Added missing HTML::Template::Expr vmethods.
+ * Added support for using Text vmethods as top level items.
+ * Added SYNTAX configuration item.
+ * Added V2EQUALS configuration item.
+ * Broke Extra and HTE out to its own area.
+ * Added many more tests.
+ * Allow QR_PRIVATE to be false.
+
+
+2.12
+ 2007-05-11
+ * Add STAT_TTL
+ * Add NEGATIVE_STAT_TTL
+ * Add WRAPPER configuation
+ * Add ERROR and ERRORS configuration
+ * Cleanup handling of PRE_PROCESS and POST_PROCESS
+ * Add more tests for the file operations
+ * Cleanup some potential argument issues on cached USE and THROW
+
+2.11 2007-05-07
+ * Add more samples to App synopsis.
+ * Add VIEW directive support to Template.
+ * Update data storage to more easily support TT2 parsers.
+ * Add regex support in Template.
+ * Add CONFIG directive in Template.
+ * Better error reporting.
+ * Allow parser to parse all TT2 tests in TT2 test suite.
+ * Add V2PIPE configuration to provide backward support for TT2 non-inline pipes.
+ * Add vmethod url.
+ * Cleanup argument parsing to be more compatible with TT2.
+
+2.10 2007-04-27
+ * Allow for fully regex grammar based engine.
+ * Move to generic operator parse tree. All constructs are now only arrayrefs.
+ This should allow for easy porting to other languages.
+ * Allow for nested tags [% "[% 2 %]" | eval %].
+ * Added back in references in Template - but fast and simple.
+ * Allow for regex based TAGS.
+ * Allow for "unquoted" in TAGS.
+ * Catch parsing bug in "1 - + 2" in Template.
+ * Fix minor bug in Template qw() construct.
+ * Re-added ANYCASE support.
+ * Added V1DOLLAR support.
+ * Remove GROUP support from CGI::Ex::Validate.
+ * Allow for crypted passwords to work in Auth.
+
+2.09 2007-04-05
+ * Add more documentation about file paths
+ * Allow for base_dir_abs to return a single value, or an arrayref of values, or
+ a coderef that returns a single value or arrayref.
+ * Allow CGI::Ex send_status to work on mod_perl2.
+ * Add tests to cover all virtual methods in CGI::Ex::Template.
+ * Bring all virtual methods into line with TT2.18
+
+2.08 2007-03-02
+ * Allow for digits passed to %*s patterns in format, and fmt or CGI::Ex::Template
+ * Fix bug in validate.js to allow for non-existant fields (with replace)
+ * Warn clean in Validate.pm for non-existant field (with replace)
+ * Fix bug in validate.js with trim_control_chars - was broken entirely
+ * Add no_tag_splitting flag to JSONDump
+ * Allow for more types of numbers to be quoted in JSONDump
+ * Add path_info_map_base method to CGI::Ex::App
+ * Add path_info_map hook to CGI::Ex::App
+ * Updated and added much documentation to CGI::Ex::App
+
+2.07 2007-01-30
+ * Add clear_app method which flushes items pertaining to navigation.
+ * Allow for CGI::Ex::Template PLUGIN_BASE to be a scalar OR an arrayref.
+ * Add sort keys to DUMP directive
+ * Add trim_control_chars as a validate directive
+ * Allow for . in the QR_PRIVATE of Template
+ * Add dump_parse_expr to CGI::Ex::Template
+ * Fix JSONDump to handle more number cases
+ * Fix JSONDump to output more IE friendly JS
+ * Allow fill to work only with form elements with attributes
+
+2.06 2006-07-21
+ * Allow for JSONDump to swap --> to --"+">
+ * Fix memory issue in App with closures
+ * Remove weak_copy routine from Template (memory issue)
+
+2.05 2006-07-19
+ * Allow for CGI::Ex to be compatible with Mandrake and Fedora mod_perl 2, as well as debian mod_perl2
+ and older mod_perl1.
+ * Allow for CGI::Ex::Dump to localize the Data::Dumper options to not stomp on anybody elses toes.
+ * Update various perldoc bugs
+ * Fix JSONDump of \t and \r
+ * Change .as to .fmt to coincide with Perl6 (.as is still there - just not documented)
+