This file documents the revision history for Perl extension Mojo.

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.