This file documents the revision history for Perl extension Mojo. 0.991242 2009-07-20 00:00:00 - Cleaned up the whole script system, this change is mostly backwards compatible except for a few cases. "daemon $port" now becomes "daemon -p $port" "mojolicious mojo $script" becomes "mojolicious $script" - Added HTML escape expression marks "<%==" and "%==" to Mojo::Template. - Added more Mojolicious::Lite examples and reformatted them into a tutorial. - Fixed a bridge bug in MojoX::Dispatcher and added tests. 0.991241 2009-07-20 00:00:00 - Mojolicious::Lite has been introduced as a new entry level web framework example. - Mojo::Message::Response will now default to response code 200, this change is not backwards compatible. In Mojolicious you should use ->render(text => 'Hello!') instead of ->res->body('Hello!') now. - Changed routes syntax again, this change is not entirely backwards compatible but will only affect you if you are using the relaxed and wildcard variations. "/((foo))" becomes "/(.foo)" "/(((foo)))" becomes "/(*foo)" - Updated Mojolicious to support ->render(text => 'Hello World!'). - Updated Mojo::Script::get_data to use "@@ $name" instead of "__$name__". - Updated our routes implementation to support HTTP request methods. - Updated Mojo::Home to fallback to FindBin for detection. - Made Mojolicious much more fault tolerant. - Fixed PATH_INFO handling of the CGI environment parser in Mojo::Message::Request. - Added url_for and render_partial to Mojolicious::Controller. - Added namespace support to Mojo::Template. - Added eplite handler to Mojolicious::Renderer. - Added generator for lite apps. - Added tests. - Allow log level override via environment variable in Mojo::Log. - Code cleanup. 0.991240 2009-07-19 00:00:00 - Turned Mojolicious layout rendering inside out for better exception handling and to make layouts configurable from templates. - Added debug helpers to Mojo::Server::FastCGI. - Fixed detection bug in Mojo::Home. - Fixed generator bug in Mojo::Script. - Fixed Windows related parser bug in Mojo::Loader::Exception. - Cleaned up code. 0.991239 2009-07-16 00:00:00 - Renamed bin directory to script, old apps should not break but you are still encouraged to rename the directory yourself. - Simplified Mojo::Template, this will only affect you if you are using Mojo::Template directly. - Added setuid/setgid support to Mojo::Server::Daemon and Mojo::Server::Daemon::Prefork. (James Duncan) - Updated Mojo::Server::FastCGI and Mojo::Server::Daemon::Prefork to use the application logger. - Fixed import problem in Mojo::Server::Daemon::Prefork. (James Duncan) - Fixed warning in template.t. 0.991238 2009-07-16 00:00:00 - Fixed all shebang lines. 0.991237 2009-07-15 00:00:00 - Renamed process_local to process_app in Mojo::Client, this change is not backward compatible and you might have to change some of your tests. - Simplified MojoX::Renderer. - Simplified Mojo::Loader. - Simplified Mojo::ByteStream. - Simplified exceptions. - Updated all modules to use IO::Poll instead of IO::Select. - Updated exception handling in Mojolicious to work with exceptions in epl templates. - Updated Mojo and Mojolicious to log to STDERR if log directory isn't writable. - Updated Mojo and Mojolicious to work without boilerplate and a single MyApp.pm file. - Added html_encode and html_decode methods to Mojo::ByteStream. - Improved 100 Continue handling and added more tests. (acajou) - Improved Mojo::Template exception handling. - Cleaned up exception code. - Fixed possible infinite loop in Mojo::Server::FastCGI. - Fixed typos. 0.991236 2009-07-05 00:00:00 - Simplified Mojo::Home. - Moved executable detection to Test::Mojo::Server. - Improved Mojo::Loader::Exception. - Moved persistent_error.t tests to app.t. - Cleaned up code. - Fixed at_least_version. (yuki-kimoto) 0.991235 2009-07-05 00:00:00 - Removed prepare/finalize methods from Mojolicious. - Fixed typos. 0.991234 2009-07-03 00:00:00 - Added name and value filters to Mojo::Headers. (acajou) - Added clean multiline value handling to Mojo::Headers. - Added prepare/finalize methods to Mojolicious. - Added some additional mime types to MojoX::Types. - Renamed method add_line to add in Mojo::Headers. - Updated generator scripts to play nice with MM->parse_version. 0.991233 2009-07-01 00:00:00 - Rewrote Mojo::Client::process_local to use the new state machine. - Added Server and X-Powered-By headers. - Fixed external server tests. - Fixed Mojo::Date handling of negative epoch values. 0.991232 2009-06-29 00:00:00 - Fixed tarball. 0.991231 2009-06-29 00:00:00 - Rewrote MojoX::Renderer, it is not backward compatible and templates need to be renamed in the following 3 part format "index.html.tt"! - Added exception support to MojoX::Dispatcher::Routes, this change is not backward compatible and "dispatch" calls now return exception objects for errors and false otherwise. - Changed routes syntax, this change is not backward compatible and you need to change all your existing routes. "/:foo" becomes "/(foo)" "/^foo" becomes "/((foo))" "/*foo" becomes "/(((foo)))" - Added full HTTP 1.1 pipelining support to all Mojo layers. - Added layout support to MojoX::Renderer. - Made render call optional. - Added format support to MojoX::Routes. - Added Mojo::Loader::Exception. - Added wildcard symbol support to MojoX::Routes and rewrote many routes internals. - Added Makefile.PL generator. - Added HttpOnly support to Mojo::Cookie. (burak) - Support more CGI implementations. - Added support for namespaces only dispatching in MojoX::Dispatcher::Routes. - Added encoding support to Mojo::Template and made "utf8" the default. - Added HEAD support to Mojo::Server::Daemon. (acajou) - Added new relaxed placeholder to MojoX::Routes::Pattern. - Added Mojo::Template::Exception. - Added HEAD support to the Mojo::Transaction state machine and related modules. (acajou) - Added safe_post option to Mojo::Pipeline. (acajou) - Made chained => 1 the default in Mojo::Base. - Fixed compiler bug in Mojo::Template that prevented more advanced control structures, you might have to add additional semicolons to some of your templates. - Fixed Mojo::Date to not crash on invalid dates. (vti) - Fixed chunked support in Mojo::Server::Daemon and Mojo::Client. - Fixed tokenizer in MojoX::Routes::Pattern to support "0" values. (Anatoly Sharifulin) - Fixed parsing of "0" in Mojo::Path. (charsbar) - Fix server tests on win32. (charsbar) - Fixed leading whitespace problem in the request parser. (acajou) - Fixed broken pipe problem in Mojo::Server::CGI. (vti) - Added more diagnostics options to Mojo::HelloWorld. (uwe) - Fixed empty cookie parsing. (vti) - Fixed a case where child processes migth hang in Mojo::Server::Daemon::Prefork. (gbarr) - Fixed a bug in MojoX::Dispatcher::Routes where the renderer would be called with an empty stack. (melo) - Fixed a escaping problem in Mojo::Parameters. (vti) - Updated Mojo::URL to be more template friendly. - Improved Solaris compatibility. 0.9002 2009-02-16 00:00:00 - Added local_address(), local_port(), remote_address() and remote_port() to Mojo::Transaction. - Improved tests. - Fixed some typos. 0.9001 2009-01-28 00:00:00 - Added proper home detection to Mojo itself. (charsbar) - Fixed a bug where errors got cached in the routes dispatcher. (charsbar) - Updated error handling in MojoX::Dispatcher::Static. - Fixed Mojo::Message::Request::cookies() to always return a arrayref. - Fixed url_for to support references. (vti) - Fixed unescaping of captures. (vti) - Fixed typos. (uwe) 0.9 2008-12-01 00:00:00 - Added modes to Mojolicious. - Added Mojo::Log and log support for Mojo/Mojolicious. - Changed MojoX::Renderer and Mojo::Template api to make catching errors easier, we now use a scalar ref for results like most template engines. - Added MojoX::Context. - Added multi level controller class support to Mojolicious. - MojoX::Dispatcher::Routes should be able to fail. - Added diagnostics functions to Mojo::HelloWorld. - Made the env parser Apache compatible. - Made Mojo::Server::FastCGI Apache compatible. - Added namespace, class and method captures to MojoX::Dispatcher::Routes. - Made url_for work for rebased applications. - Added ctx, render, req, res and stash methods to Mojolicious controllers. - Changed cookie, param and upload in Mojo::Parameters to return a list. - Added support for templateless renderers to MojoX::Renderer. - Added blacklist to MojoX::Dispatcher::Routes. - Fixed Mojo::Date bugs. (vti) - Fixed / routes matching too much. - New Windows workaround in Mojo::Client and Mojo::Server::Daemon. - Cleaned up Mojo::Transaction. (Ask Bjoern Hansen) - Added .perltidyrc. (Ask Bjoern Hansen) - Allow chains to be broken with return values in MojoX::Dispatcher::Routes. - The stack in MojoX::Routes resets now. - Renamed default_handler to default_format in MojoX::Renderer. - Disallow actions beginning with _ in MojoX::Dispatcher::Routes. - Preload application in servers. (Graham Barr) - Renamed is_version to at_least_version. (Mark Stosberg) - Added documentation. (Ch Lamprecht) - Added param tests. (Mark Stosberg) - Added documentation for Mojo::Log. (Mark Stosberg) - Add test for MojoX::Renderer. (Mark Stosberg) - When testing, allow servers a few seconds to stop. (Leon Brocard) - Fixed typos. 0.8009 2008-11-07 00:00:00 - Cleaned up Mojo::Message callbacks and added tests. - Fixed escaping in Mojo::URL. - Fixed query string support and escaping in Mojo::Parameters. - Optimized randomness in Mojo::Client. (Leon Brocard) - Randomized handle order in Mojo::Client - Mojo::Client now prefers writes over reads. - Added copy_to and move_to to Mojo::File. - Made the daemons about 20% faster. - Cleaned up Mojo::File. (Leon Brocard) - Fallback to default renderer in MojoX::Renderer. (Ask Bjoern Hansen) - Made Mojo::Base instantiation a little bit faster. - Added documentation to Mojo::Base. (Marcus Ramberg) - Moved the home attribute from Mojolicious to Mojo. - Fixed MojoX::Renderer to pass options through to the handler. (Ask Bjoern Hansen) - Fixed Mojo::Server::FastCGI according to the spec. - Dispatchers now return true or false. - Added documentation to Mojo::Home. (Mark Stosberg) - Added documentation to Mojo::Buffer. (Mark Stosberg) - Removed replace from Mojo::Buffer. (Mark Stosberg) - Added buffer tests. (Mark Stosberg) 0.8008 2008-11-07 00:00:00 - Fixed multipart parsing for short requests. - Fixed content file storage to specific file. - Fixed lower case appclasses. 0.8007 2008-11-07 00:00:00 - Cleaned up the api some more. - Added param to Mojo::Message. - Added server.t. (Mark Stosberg) - Added documentation. (Mark Stosberg) - Cleaned up Mojo::File api. - Fixed infinite loop in Mojo::File. (Leon Brocard) 0.8006 2008-11-06 00:00:00 - Simplified api by removing aliases, this will help with subclassing annoyances but might break some existing code if you are using long versions of formerly aliased attributes. - Fixed application/x-www-form-urlencoded. - Fixed support for query strings. - Fixed multi query parameter support. - Added a context class to the Mojolicious generator. - Cleaned up Mojo::Server api. (Mark Stosberg) - Increased Mojo::Template performance. (Pedro Melo) - Added documentation. (Mark Stosberg) - Fixed typos. (Marcus Ramberg) 0.8.5 2008-11-04 00:00:00 - Fixed version. (Andreas Koenig) - Fixed typos. 0.8.4 2008-11-04 00:00:00 - Improved caching in Mojo::Message. - Added upload and cookie method to Mojo::Message. - Changed uploads behavior in Mojo::Message to bring it in line with cookies. - Added documentation. (Mark Stosberg) 0.8.3 2008-11-03 00:00:00 - Removed filter from Mojo::Base and added warnings. - Added caching to uploads in Mojo::Message. (Mark Stosberg) - Fixed typos. (Robert Hicks) - Added documentation. 0.8.2 2008-11-01 00:00:00 - Removed OS X resource fork files. 0.8.1 2008-11-01 00:00:00 - Made daemon.t developer only. - Fixed typos. 0.8 2008-10-21 00:00:00 - Fixed Mojo::Server::Daemon windows support. - Generated applications now have individually named executables. - Cleaned up Mojo::Home. - Changed Mojolicious default application templates to something more sane. - Mojo::Base accessors don't take multiple arguments anymore, this results in a 25% speed increase. - Added MOJO_MAX_MEMORY_SIZE environment variable. - Added prepare_parser and prepare_builder callbacks to Mojo::Message. - Added done and is_done to Mojo::Stateful. - Fixed many win32 related bugs. - Fixed keep alive related bugs in daemon and client. (Pedro Melo) - Allow default in Mojo::Base to have false values. (Pedro Melo) - Fixed chmod_rel_file in Mojo::Script. (Shu Cho). - Mojo::Base attributes can't start with a digit. (Shu Cho). - Fixed Content-Length header for empty messages. - Removed warning from Mojo.pm. - Renamed gate to bridge in MojoX::Routes. - Added waypoint() to MojoX::Routes. - Added named url_for to MojoX::Routes and Mojolicious. - Added Mojolicious documentation. (vti) - Fixed documentation links. - Fixed some typos. 0.7 2008-10-11 00:00:00 - Added the Mojolicious Web Framework example. - Added upload and GET/POST parameter helpers to Mojo::Message. - Hooks for upload progress and stuff added. - Refactored transfer encoding code into Mojo::Filter and Mojo::Filter::Chunked. - Added callbacks for start line and header generators. - Added workaround for missing IO::Seekable support in older versions of File::Temp (Perl 5.8). - script/mojo.pl got renamed to bin/mojo. - Mojo::Cache got renamed to Mojo::File because there will be a cache module named MojoX::Cache, and that could cause confusion later on. - Fixed many escaping related bugs around Mojo::URL. - Fixed 100-Continue support in Mojo::Server::Daemon and Mojo::Client. - Countless small bugs fixed and tests added. 0.6 2008-09-24 00:00:00 - Many more bugfixes. 0.5 2008-09-24 00:00:00 - Many small bugfixes. 0.4 2008-09-24 00:00:00 - Moved everything into the Mojo namespace. 0.3 2008-09-24 00:00:00 - Fixed documentation. 0.2 2008-09-24 00:00:00 - First release.