+2.121
+Bug Fixes :
+ Apache::Request is fetched with a new object instead of instance if request options are provided
+ additional, request_options and view_options attributes of Maypole::Config are initialised with hashref
+ do_delete action now has exported attribute in ::Model::CDBI::Base
+ Fixed links in flox to cookbook (bug 22899)
+
+2.12 22 June 2007
+
+SVN revision 573
+
+Bug Fixes :
+ Fixed some db_colinfo test bugs
+ Fixed typo in edit form template
+ AsForm fixes to stringification _to_select
+ made DFV and FromCGI warn instead of die on unexpected cgi params
+ small improvements to some factory templates
+ fix to path handling in mod_perl and CGI when location ends in /
+ fixed template path ordering so i.e. /tablename/list is used before /list when provided with a tablename
+ fixed template path with array refs
+ fix to template being reset from path in plain templates (i.e. where no model), may affect those relying on the bug ( bug 23722 )
+ fix to display_line macro in factory templates (bug 22920)
+ fix to correct problem with LocationMatch and regex based Location directives in apache config.
+ fix to redirect_request
+ Fixed typo in _do_update_or_create (bug 26495)
+
+
+API additions and enhancements :
+ new Class::DBI::DFV based model
+ New config method : additional, for stashing additional info, especially from additional_data method
+ new warn method in maypole/request class/object, over-ridden by Apache::MVC, etc or own driver
+ new build_form_elements attribute for Maypole request and Maypole::Config, set it to 0 to avoid building cgi form if you don't need it
+ added CGI params to TT error template
+ improvements to factory templates
+ added search_columns method to base cdbi model class, provides display_columns unless over-ridden
+ added new hook - preprocess_location
+ added new attribute to Maypole::Config - request_options
+ improved pager template macro
+
+
+Internal additions and enhancements :
+ Inheritence simpler and nicer and less hacked
+ add_model_superclass method moves @ISA munging into the model
+ new test to check everything compiles
+ Model inheritance re-organised
+
+2.111 Mon 30 April 2007
+ - forked - see 2.111 changelog
+
+2.11 Mon 31 July 2006
+
+SVN revision 519
+
+Deprecated:
+ Directly accessing the attributes of the request object, or the parameters
+ in $r->params, or anything else, is DEPRECATED and likely to break in future
+ releases. Be good, and use proper method calls.
+
+ Maypole no longer uses Class::DBI::AsForm, instead Maypole::Model::CDBI::AsForm
+ has replaced it.
+
+ $config->{$table}{required_cols} is deprecated, please use $class->required_columns instead
+
+
+Incompatible API changes:
+ Maypole
+ - is_applicable() deprecated for is_model_applicable(). is_applicable is
+ an alias for is_model_applicable now.
+ Maypole::Constants
+ - ERROR constant now 500, previously -1 (bug #18901)
+ Maypole::Model
+ - delete and search actions are now deprecated - use do_search and do_delete
+ instead
+ Maypole::View
+ - table name rather than moniker is used to find templates
+
+API additions and enhancements:
+ Maypole::Application:
+ - -Init flag (wishlist 14123)
+ - recognises Maypole::HTTPD and installs Maypole::HTTPD::Frontend
+ as its frontend
+ Maypole::Headers:
+ add() alias to push() (wishlist 14142)
+ Maypole:
+ - get_session() method (no-op)
+ - get_user() method (no-op)
+ - get_session() is called during handler_guts() before authenticate()
+ - new preprocess_path() method added and called by parse_path(),
+ parse_path() will leave any properties set by preprocess_path() in
+ place
+ - start_request_hook() added
+ - status() attribute added (though only used by start_request_hook()
+ so far)
+ - setup() split into setup(), setup_model(), and load_model_subclass()
+ - added new path processing methods for ssl and default table/action
+ - added make_path()
+ - added make_uri()
+ - improved exception handling
+ - now uses File::MMagic::XS to guess mime type of output unless already set
+ - new component method provides Maypole::Component functionality
+ - new object method gets/sets first/only object in objects
+ Maypole::Model
+ - do_delete, do_search in place of delete/search actions
+ Maypole::View::TT:
+ - new report_error method
+ - new embedded error report page in __DATA__
+ Templates:
+ - Improved pager macro/include
+ - Improved factory templates
+ - added the status() attribute, although it's not used in many places
+ yet
+ - Changed factory edit/view to use object instead of objects
+ Maypole::Model::CDBI
+ - improved error messages in do_edit action
+ - new required_columns mutator method
+ - new column_required accessor method
+
+Bug fixes:
+ Fix to cgi_maypole.t (bug 11346)
+ Fix to TT error reporting (bug 13991)
+ Template xhtml validation (bug 13975)
+ Apache2 fixes in Apache::MVC (bug 13888)
+ Fixed inheritance issues in Mp::Application - Mp::App now manipulates the
+ caller's @ISA directly, and doesn't inject itself into the chain (bugs
+ 12923 & 14120)
+ Improved Template error reporting (14133)
+ Maypole::Session::generate_unique_id() now returns the id (bug 14124)
+ Moved ar accessor to Apache::MVC (bug 14014)
+ Refactored core to support further development in 2.11 and onwards
+ Fixed related_class() method (bug 14566)
+ Added a cgi() attribute in Maypole::CGI
+ Factory templates now less vulnerable to XSS (bug 16659)
+ Reduced risk of XSS in factory templates (bug 16659)
+ model search/delete methods in model and subclassing the cdbi mode (bug 16661)
+ fixed problems with stringify_self and untaint missing ignore columns (bug 15678)
+ fixed Maypole::Model::CDBI::Plain to JustWork(TM) with plain CDBI Classes (bug 16977)
+ some silent death scenarios resolved
+ Now initializes template_args, stash, parmas, objects and others to correct data type. (bug 15147)
+
+Documentation:
+ Fix to documentation for CGI::Maypole (bug 7263)
+ Simplified Net::Amazon example (bug 14073)
+ Numerous major and minor updates to docs.
+ Renamed Maypole::Manual::Request to Maypole::Manual::Cookbook
+ Added Maypole::Manual::Install, with material removed from
+ Maypole::Manual::About
+ Added Maypole::Manual::Inheritance
+ Added Maypole::Manual::Terminology
+ - updated Maypole::Manual::View
+ - updated Maypole::View:TT
+ Examples of fancy forms and templates using new features
+
+Requirements:
+ HTTP::Body now required
+ CGI::Untaint >= 1.26 now required rather than >= 0
+
+
+2.10 Tue 19 Jul 2005
+ Multiple Template Paths added ( http://rt.cpan.org/NoAuth/Bug.html?id=13447 )
+ Small fix to templates/factory/frontpage ( http://rt.cpan.org/NoAuth/Bug.html?id=11236 )
+ MasonX support in Maypole::Application ( https://rt.cpan.org/NoAuth/Bug.html?id=12383 )
+ Maypole::Model::CDBI::Plain / Maypole Config issue ( http://rt.cpan.org/NoAuth/Bug.html?id=11530 )
+ Repeat Submission detection support ( Bug #6500 )
+ Fix to setup_database in Maypole::Model::CDBI ( Bug #12384 )
+ Fix to plugin to allow Maypole::Plugin::Config::YAML to work
+ Fix to Maypole::Model::CDBI order sub from list
+ Improvement to primary display column using CDBI
+ Improved efficiency of finding stringified columns using new classmetadata field
+ Fixed BeerDB to untaint pub fields
+
+ Additional Requirements : Digest::MD5
+
+2.09 Mon Jan 25 22:00:00 2005
+ Fixes:
+ - Fixed plugin inheritance set up by Maypole::Application, added tests
+
+ Templates:
+ - factory/addnew will only prefill values when there's a row creation error
+
+
+2.08 Mon Jan 24 20:45:00 2005
+ - Added $r->config->template_extension() to set optional file extension
+ for templates (Dave Howorth)
+
+ Fixes:
+ - Maypole::Application adds plugin classes to caller's @ISA (Marcus Ramberg)
+ - FETCH_CODE_ATRIBUTES in M::M::Base should return an empty list if there
+ are no attributes
+ - M::M::CDBI will warn() about Class::DBI::FromCGI errors
+
+
+2.07 Sun Jan 16 18:45:00 2005
+ (This version was not uploaded to CPAN)
+
+ Internal changes:
+ - Removed Maypole::Model->description. It didn't work as expected and
+ clashed with 'description' columns in the database
+
+ Fixes:
+ - Model->process() shouldn't set $r->objects() to a list with a single,
+ undefined element
+ - Fixed overriding $r->template_args->{classmetadata} in M::V::Base
+ (Thanks to Dave Howorth for spotting the mistake)
+ - #9473: Maypole::Model::CDBI->related_class (Thanks David Baird)
+ - #9434: M::M::CDBI->search generated "uninitialized value" warnings
+
+ Templates:
+ - The addnew template will attempt to prefill form fields with request
+ parameters
+ - edit template includes 'addnew' if there is no object to edit
+
+2.06 Wed Dec 29 01:30:00 2004
+ Fixes:
+ - Minor restructuring of the manual so search.cpan.org indexes it better
+ - #9129: Skip t/apache_mvc.t if Apache::Request isn't installed
+
+
+2.05 Fri Dec 24 03:20:00 2004
+ - Revised and updated documentation. Many thanks to Dave Howorth for his
+ hard work and 120kb documentation patches.
+ - Added support for request and response HTTP headers with
+ $r->headers_in & $r->headers_out (Maypole::Headers)
+ - Support for compound primary keys for Maypole::Model::CDBI classes
+ - Template toolkit objects are configurable with M::Config->view_options
+ - Templating performance should be improved when running Maypole with
+ mod_perl since compiled templates remain in memory. CGI users can use
+ TT2's COMPILE_DIR or COMPILE_EXT options with
+ Maypole::Config->view_options to improve performance
+
+ Internal changes:
+ - Added a new override for the model: fetch_objects().
+ - 'classmetadata' template variables can now be overriden individually
+ - New unit tests for Maypole, CGI::Maypole, Maypole::Headers, and others.
+ More to come.
+
+ Fixes:
+ - Maypole::CLI is more tolerant of trailing slashes in the request/uri_base