This file documents the revision history for Perl extension Mojolicious.

2.74  2012-04-04
  - Improved documentation.
  - Improved tests.
  - Fixed multiple small bugs in Mojo::UserAgent::Transactor->form.

2.73  2012-04-03
  - Improved documentation.
  - Improved tests.
  - Fixed multiple progress event bugs in Mojo::Message.

2.72  2012-04-03
  - Added kept_alive method to Mojo::Transaction::WebSocket.
  - Improved documentation.

2.71  2012-04-03
  - Improved Hypnotoad error handling.
  - Improved version command to detect proxy servers automatically.
  - Improved documentation.
  - Improved tests.
  - Fixed small argument bug in Mojo::Headers->to_hash.

2.70  2012-03-30
  - Improved speed of version command by switching to the MetaCPAN API.
  - Improved all bundled TLS test certificates to expire at the same time.
  - Improved documentation.
  - Improved tests.
  - Fixed handler detection precedence bug in Mojolicious::Renderer.
  - Fixed ability to disable inactivity timeout in Hypnotoad.
  - Fixed ability to disable accepts limit in Hypnotoad.
  - Fixed small bug in Mojo::Command->get_all_data.
  - Fixed small bug in inflate command. (memowe)

2.69  2012-03-26
  - Removed X-Forwarded-Host support since it is redundant for well
    configured reverse proxies.
  - Changed number of redirects ojo and the get command will follow to 10.
  - Improved ojo to detect proxy servers automatically.
  - Improved Mojo::DOM::CSS performance.
  - Improved documentation.
  - Improved Mojo::Reactor tests to be less strict.
  - Fixed a bug where paths and classes in Mojolicious::Static and
    Mojolicious::Renderer would have the wrong precedence.
  - Fixed small bug where Hypnotoad would ignore the MOJO_REVERSE_PROXY
    environment variable.

2.68  2012-03-24
  - Improved documentation.
  - Fixed generate command.

2.67  2012-03-24
  - Added start_app method to Mojo::Command.
  - Improved documentation.
  - Improved tests.
  - Fixed small bugs in Mojo::Command and Mojolicious::Commands.

2.66  2012-03-23
  - Reformatted "Changes".
  - Improved Mojo::Reactor::Poll performance.
  - Improved tests.
  - Fixed one_tick semantics to be equal in Mojo::Reactor::Poll and

2.65  2012-03-22
  - Deprecated Mojo::IOLoop->drop in favor of Mojo::IOLoop->remove.
  - Renamed Mojo::Reactor->drop to Mojo::Reactor->remove.
  - Added Mojo::Reactor::Poll.
  - Added one_tick method to Mojo::Reactor and Mojo::Reactor::EV.
  - Removed experimental status from Mojo::IOLoop::Client.
  - Removed experimental status from Mojo::IOLoop::Server.
  - Removed experimental status from Mojo::IOLoop::Stream.
  - Removed experimental status from Mojo::Reactor.
  - Removed experimental status from Mojo::Reactor::EV.
  - Removed experimental status from client_class, max_accepts, reactor,
    server_class and stream_class attributes in Mojo::IOLoop.
  - Removed experimental status from client server and stream methods in
  - Updated jQuery to version 1.7.2.
  - Improved documentation.
  - Improved tests.

2.64  2012-03-21
  - Deprecated Mojolicious::Routes->controller_base_class in favor of
  - Removed handle argument from io watchers in Mojo::Reactor.
  - Improved documentation.

2.63  2012-03-20
  - Renamed Mojo::IOWatcher to Mojo::Reactor.
  - Added Mojolicious::Routes::Route.
  - Added find and root methods to Mojolicious::Routes::Route.
  - Improved form_for helper to automatically add method="POST" attributes
    when necessary.
  - Improved memory usage of Mojolicious::Routes.
  - Improved Mojolicious::Renderer performance.
  - Improved documentation.
  - Improved tests.
  - Fixed bug that slowed down Mojolicious::Renderer.
  - Fixed small newline capture bug in Mojolicious::Routes::Match.

2.62  2012-03-17
  - Deprecated Mojolicious::Renderer->default_template_class in favor of 
  - Deprecated Mojolicious::Static->default_static_class in favor of
  - Added options function to Mojolicious::Lite.
  - Added options method to Mojolicious::Routes.
  - Added options method to Mojo::UserAgent.
  - Added options_ok method to Test::Mojo.
  - Added o function to ojo.
  - Removed experimental status from Mojo::Cache.
  - Removed experimental status from Mojo::DOM::CSS.
  - Removed experimental status from Mojo::DOM::HTML.
  - Removed experimental status from Mojo::Server::Morbo.
  - Removed experimental status from Mojo::Transaction::WebSocket.
  - Removed experimental status from Mojo::UserAgent::Transactor.
  - Removed experimental status from Mojolicious::Command::cpanify.
  - Removed experimental status from upgrade event in
  - Removed experimental status from t helper in
  - Removed experimental status from current_route and url_with helpers in
  - Removed experimental status from websocket function in Mojolicious::Lite.
  - Removed experimental status from cache attribute in
  - Removed experimental status from format attribute in
  - Removed experimental status from ca and local_address,
    request_timeout and transactor attributes in Mojo::UserAgent.
  - Removed experimental status from cache attribute in Mojolicious::Routes.
  - Removed experimental status from send method in Mojolicious::Controller.
  - Removed experimental status from finish_ok, message_is, message_isnt,
    message_like, message_unlike, send_ok and websocket_ok methods in
  - Removed experimental status from detect method in Mojolicious::Types.
  - Removed experimental status from app_url, build_websocket_tx and
    websocket methods in Mojo::UserAgent.
  - Removed experimental status from emit_safe method in Mojo::EventEmitter.
  - Removed experimental status from to_psgi_app method in
  - Removed experimental status from clone method in Mojo::Message::Request.
  - Removed experimental status from has_conditions, has_custom_name,
    has_websocket, is_websocket and websocket methods in Mojolicious::Routes.
  - Removed experimental status from clone, is_limit_exceeded and
    max_line_size methods in Mojo::Headers.
  - Removed experimental status from text_after, text_before and xml
    methods, as well as trim arguments in Mojo::DOM.
  - Removed experimental status from boundary, charset, clone, is_dynamic,
    progress and max_leftover_size methods in Mojo::Content.
  - Removed experimental status from clone method in
  - Removed experimental status from clone method in Mojo::Content::Single.
  - Removed experimental status from is_dynamic, is_limit_exceeded and
    max_line_size methods in Mojo::Message.
  - Improved Mojo::IOWatcher exception handling a little.
  - Improved Mojolicious::Routes logging.
  - Improved documentation.
  - Improved tests.
  - Fixed port generation bug. (xaka)
  - Fixed IPv6 listen value bug in Mojo::Server::Daemon.

2.61  2012-03-14
  - Merged Mojolicious exception handling into the around_dispatch hook, this
    will allow a whole new category of exception handling plugins.
  - Improved documentation.

2.60  2012-03-13
  - Added EXPERIMENTAL current_route helper to
  - Made text_area helper a little smarter. (sshaw, sri)
  - Improved inactivity timeout logging for WebSockets.
  - Improved documentation.
  - Improved tests.
  - Fixed escaping bug in select_field and text_area helpers.
  - Fixed Windows bug in "asset.t".

2.59  2012-03-09
  - Removed duplicate 2.58 directory.

2.58  2012-03-09
  - Added support for MOJO_LISTEN environment variable.
  - Removed listen attribute from Mojo::Server::Morbo.
  - Improved event loop compatibility of Mojo::Server::PSGI.
  - Improved documentation.
  - Improved tests.
  - Fixed Mojo::URL object handling bug in url_for.
  - Fixed bug in Hypnotoad that prevented disabling of reverse proxy support
    between zero downtime software upgrades.
  - Fixed small caching bug in Morbo file watcher.
  - Fixed Windows bug in "asset.t".

2.57  2012-03-03
  - Replaced protection from excessively large form values in Mojo::Message
    with documentation.
  - Improved documentation.

2.56  2012-03-01
  - Deprecated custom HTTPS listen values in favor of URLs for all built-in
    web servers.
  - Removed experimental status from patch function in Mojolicious::Lite.
  - Removed experimental status from patch method in Mojolicious::Routes.
  - Removed experimental status from patch method in Mojo::UserAgent.
  - Removed experimental status from patch_ok method in Test::Mojo.
  - Removed experimental status from t function in ojo.
  - Improved documentation.
  - Fixed small inconsistency between Mojo::IOWatcher and Mojo::IOWatcher::EV
    where Mojo::IOWatcher wouldn't stop automatically when not watching for
    events anymore.
  - Fixed Mojo::IOLoop to clean up after itself.

2.55  2012-02-28
  - Combined WebSocket timeout with normal inactivity timeout.
  - Improved documentation.

2.54  2012-02-27
  - Deprecated class and method stash values in favor of controller and
  - Added EXPERIMENTAL patch function to Mojolicious::Lite.
  - Added EXPERIMENTAL patch method to Mojolicious::Routes.
  - Added EXPERIMENTAL patch method to Mojo::UserAgent.
  - Added EXPERIMENTAL patch_ok method to Test::Mojo.
  - Added EXPERIMENTAL t function to ojo.
  - Split up Mojolicious::Guides::Cheatsheet into more reference
  - Increased default connect timeout from 3 to 10 seconds in Mojo::UserAgent
    and Mojo::IOLoop::Client.
  - Improved resilience of Mojo::IOLoop::Stream.
  - Improved test command to colorize by default.
  - Improved documentation.
  - Fixed small rendering bug in Mojolicious::Plugin::PODRenderer.

2.53  2012-02-25
  - Improved Hypnotoad with many info level log messages.
  - Improved resilience of Mojo::IOLoop::Stream.
  - Improved documentation.
  - Fixed Hypnotoad upgrade timeout bug.

2.52  2012-02-24
  - Removed experimental status from config method in Mojo.
  - Renamed send_message method in Mojolicious::Controller to send.
  - Renamed send_message_ok method in Test::mojo to send_ok.
  - Renamed to_psgi method in Mojo::Server::PSGI to to_psgi_app.
  - Combined send_message and send_frame methods in
    Mojo::Transaction::WebSocket to send.
  - Improved emit_chain method in Mojolicious::Plugins to allow reforwarding.
  - Improved documentation.
  - Fixed bug that prevented Mojo::IOLoop from dying when started twice.
  - Fixed a cookie jar path parsing bug. (marcus)
  - Fixed multiple value bug in param method of Mojolicious::Controller.

2.51  2012-02-19
  - Added EXPERIMENTAL to_psgi method to Mojo::Server::PSGI.
  - Removed experimental status from around_dispatch hook.
  - Removed experimental status from emit_chain method in
  - Removed experimental status from drain event in Mojo::Content.
  - Improved portability of scripts.
  - Improved documentation.
  - Fixed bug that can prevent foreign event loops from being able to control

2.50  2012-02-18
  - Added EXPERIMENTAL is_running method to Mojo::IOWatcher and
  - Added file upload support to param method in Mojolicious::Controller.
  - Removed gitignore command.
  - Improved Mojo::IOLoop to be controllable from foreign event loops.
  - Improved protection from excessively large form values in Mojo::Message.
  - Improved resilience of Mojo::IOLoop::Client.
  - Improved documentation.
  - Fixed Mojo::Template expressions and escaped expressions to consistently
    enforce scalar context.
  - Fixed small bugs in makefile command. (tempire, marcus, sri)

2.49  2012-02-13
  - Deprecated Mojolicious::Renderer->root in favor of
    Mojolicious::Renderer->paths. (memowe, sri)
  - Deprecated Mojolicious::Static->root in favor of
    Mojolicious::Static->paths. (memowe, sri)
  - Added support for multiple "templates" and "public" directories to
    Mojolicious. (memowe, sri)
  - Improved version command to be more responsive. (crab)
  - Improved resilience of Mojo::IOLoop::Client.
  - Improved documentation.
  - Improved tests.
  - Fixed parent combinator bug in Mojo::DOM::CSS. (sharifulin, sri)

2.48  2012-02-09
  - Improved documentation.
  - Improved tests.
  - Fixed Hypnotoad HTTPS bug.
  - Fixed small URL escaping bug in Mojo::UserAgent::Transactor.
  - Fixed small MIME::Base64 and MIME::QuotedPrint related bugs in
    Mojo::Util. (sestegra, sri)

2.47  2012-02-06
  - Deprecated Hypnotoad configuration files in favor of more powerful
    application configuration files.
  - Deprecated Mojo::Server::Daemon->prepare_ioloop in favor of
  - Deprecated Mojo::Headers->x_forwarded_for.
  - Added EXPERIMENTAL config method to Mojo.
  - Added EXPERIMENTAL ca attribute to Mojo::UserAgent.
  - Added EXPERIMENTAL drain event to Mojo::Content.
  - Added EXPERIMENTAL drain event to Mojo::Transaction::WebSocket.
  - Added EXPERIMENTAL support for RSV1-3 flags to
  - Added EXPERIMENTAL tls_ca option to Mojo::IOLoop::Client->connect.
  - Added lock_timeout parameter to Hypnotoad.
  - Removed experimental status from JSON Pointer support.
  - Removed Cygwin exception from Hypnotoad.
  - Replaced drop_handle and drop_timer methods in Mojo::IOWatcher with drop
  - Renamed change and watch methods in Mojo::IOWatcher to watch and io.
  - Renamed resume and pause methods in Mojo::IOLoop::Server to start and
  - Renamed resume and pause methods in Mojo::IOLoop::Stream to start
    and stop.
  - Added pdf MIME type. (bfaist)
  - Improved documentation.
  - Improved tests.
  - Improved CSS of some built-in templates.
  - Fixed bug that prevented newer dual-life modules to be loaded.
  - Fixed small bug in Mojo::IOLoop::Stream that caused close events to fail
  - Fixed small relative URL detection bug in get command.

2.46  2012-01-25
  - Added EXPERIMENTAL request_timeout attribute to Mojo::UserAgent.
  - Added EXPERIMENTAL text_after and text_before methods to Mojo::DOM.
  - Improved all uses of syswrite to be more defensive. (bduggan, sri)
  - Improved documentation.
  - Improved tests.
  - Fixed small parser bug in Mojo::Message::Response.
  - Fixed small partial rendering bug.
  - Fixed small HTML5 parser bug in Mojo::DOM::HTML. (dougwilson)

2.45  2012-01-18
  - Removed T-Shirt link.
  - Fixed small caching bug in Mojolicious::Plugin::EPRenderer.
  - Fixed typo in exception template.

2.44  2012-01-18
  - Added new not_found page for development mode.
  - Added EXPERIMENTAL url_with helper to
    Mojolicious::Plugin::DefaultHelpers. (diegok, marcus, judofyr, sri)
  - Added EXPERIMENTAL support for removing query parameters while merging to
    query method of Mojo::URL. (marcus, judofyr, sri)
  - Removed experimental status from Mojo::IOLoop::Delay.
  - Removed defer method from Mojo::IOLoop.
  - Improved exception page for development mode.
  - Improved syntax highlighting in perldoc browser slightly.
  - Improved Mojo::Base tests.
  - Improved documentation.
  - Fixed Mojo::Command->app to be an attribute and not a method.
  - Fixed Mojo::ByteStream, Mojo::Collection and Mojo::DOM to not be
    subclasses of Mojo::Base.

2.43  2012-01-08
  - Improved most commands with shortcut options.
  - Improved get command to automatically enable verbose mode for HEAD
    requests. (simotrone)
  - Improved documentation.

2.42  2012-01-02
  - Deprecated Test::Mojo->max_redirects.
  - Removed exprimental status from respond_to method in
  - Removed experimental status from error event in Mojo::UserAgent.
  - Removed experimental status from connect_timeout attribute in
  - Removed experimental status from connection event in Mojo::Transaction.
  - Removed experimental status from upgrade event in Mojo::Asset::Memory.
  - Removed experimental status from auto_upgrade and max_memory_size
    attributes in Mojo::Asset::Memory.
  - Removed experimental status from part event in Mojo::Content::MultiPart.
  - Removed experimental status from upgrade event in Mojo::Content::Single.
  - Removed experimental status from auto_upgrade attribute in
  - Removed experimental status from body event in Mojo::Content.
  - Removed experimental status from mojo_lib_dir and slurp_rel_file methods
    in Mojo::Home.
  - Removed experimental status from message event in Mojo::Log.
  - Removed experimental status from contains method in Mojo::Path.
  - Removed test_server method from Test::Mojo.
  - Renamed test_server method in Mojo::UserAgent to app_url.
  - Improved RFC 6265 compliance of generated request headers.
  - Improved documentation.
  - Fixed bug that prevented sessions without expiration.

2.41  2011-12-28
  - Deprecated Mojo::Cookie->version.
  - Deprecated Mojo::Cookie::Response->comment and
  - Removed experimental status from group feature of Mojolicious::Lite.
  - Removed experimental status from Mojo::Collection.
  - Removed experimental status from Mojolicious::Plugin::Mount.
  - Removed experimental status from dnt and etag methods in Mojo::Headers.
  - Improved session expiration by allowing it to be disabled.
    (nwatkiss, sri)
  - Improved session cookies to always enable the HttpOnly flag.
    (nwatkiss, sri)
  - Improved RFC 6265 compliance of cookie implementation.
  - Improved documentation.

2.40  2011-12-24
  - Added EXPERIMENTAL JSON Pointer support. (crab)
  - Improved inactivity timeouts by allowing them to be disabled.
  - Improved class detection of inflate command.
  - Improved documentation.
  - Fixed small bug in Mojo::IOLoop::Server that prevented TLS tests from
    running parallel. (nwatkiss)
  - Fixed repository to not favor specific editors.

2.39  2011-12-22
  - Deprecated all keep_alive_timeout attributes and parameters in favor of
  - Added EXPERIMENTAL error event to Mojo::UserAgent.
  - Added EXPERIMENTAL local_address attribute to Mojo::UserAgent.
  - Added EXPERIMENTAL local_address option to Mojo::IOLoop::Client->connect.
  - Added EXPERIMENTAL close method to Mojo::IOLoop::Stream.
  - Added "" and "" to example scripts.
  - Removed log attribute from Mojo::UserAgent.
  - Removed MOJO_STATIC_CLASS and MOJO_TEMPLATE_CLASS environment variables.
  - Improved documentation. (marcus, vervain, sri)
  - Improved tests for many environment variables.
  - Fixed Morbo to ignore hidden directories.
  - Fixed small argument bug in client method of Mojo::IOLoop.
  - Fixed small memory leak in Mojo::IOLoop::Stream.
  - Fixed multiple small error reporting bugs in Mojo::UserAgent.
  - Fixed online tests to not be affected by geographical location. (marcus)

2.38  2011-12-17
  - Changed Mojo::IOLoop->client arguments from ($loop, $stream, $err) to
    ($loop, $err, $stream).
  - Improved resilience of Mojo::IOLoop::Stream.
  - Improved documentation. (marcus, sri)
  - Improved tests.
  - Fixed memory leaks caused by named capture groups bug in Perl. (plu, sri)
  - Fixed small cleanup bug in Mojo::Asset::File.
  - Fixed small multipart bug in Mojo::Message. (augensalat)
  - Fixed missing status method in Mojo::Headers. (crab)
  - Fixed small Mojo::IOLoop::Stream timeout bug.

2.37  2011-12-10
  - Welcome to the Mojolicious core team Marcus Ramberg, Glen Hinkle and
    Abhijit Menon-Sen.
  - Removed cleanup_interval attribute from Mojo::IOLoop.
  - Deprecated Mojo::IOLoop->timeout in favor of
  - Added EXPERIMENTAL timeout event to Mojo::IOLoop::Stream.
  - Added EXPERIMENTAL timeout attribute to Mojo::IOLoop::Stream.
  - Changed default keep alive timeout of Mojo::UserAgent from 15 to 20
  - Improved documentation.
  - Improved unicode tests.
  - Fixed inline template double encoding bug.

2.36  2011-12-05
  - Changed default heartbeat timeout of Hypnotoad from 5 to 10 seconds.
  - Improved documentation.
  - Fixed default keep alive timeout of Hypnotoad.

2.35  2011-12-01
  - Added EXPERIMENTAL etag method to Mojo::Headers.
  - Improved documentation.
  - Fixed one-byte payload bug in Mojo::Transaction::WebSocket. (tinx)
  - Fixed body event in Mojo::Content to work more reliably in CGI
  - Fixed small portability issue in loader test.

2.34  2011-11-28
  - Added "" to example scripts.
  - Improved documentation.
  - Fixed small bugs in example scripts.

2.33  2011-11-28
  - Improved Mojo::EventEmitter performance slightly.
  - Improved documentation.
  - Fixed a few small inline template issues.
  - Fixed small WebSocket handshake bug.

2.32  2011-11-24
  - Added EXPERIMENTAL error event to Mojo::IOWatcher.
  - Updated jQuery to version 1.7.1.
  - Improved Mojo::IOLoop performance by changing the default cleanup
    interval from 0 to 0.025 seconds.
  - Improved documentation.

2.31  2011-11-21
  - Improved stacktraces by making them a lot simpler.
  - Improved documentation.
  - Improved tests.

2.30  2011-11-20
  - Deprecated Mojo::IOLoop->on_lock in favor of Mojo::IOLoop->lock.
  - Deprecated Mojo::IOLoop->on_unlock in favor of Mojo::IOLoop->unlock.

2.29  2011-11-19
  - Deprecated Mojolicious->on_process in favor of around_dispatch hook.
  - Added EXPERIMENTAL emit_chain method to Mojolicious::Plugins.
    (Akron, sri)
  - Added EXPERIMENTAL around_dispatch hook.
  - Fixed small bug in boundary and charset methods of Mojo::Content.

2.28  2011-11-18
  - Improved documentation.
  - Fixed small IPv6 portabilty issue in Mojo::IOLoop::Client.

2.27  2011-11-16
  - Deprecated Mojo::IOLoop->connect in favor of Mojo::IOLoop->client.
  - Deprecated Mojo::IOLoop->listen in favor of Mojo::IOLoop->server.
  - Deprecated Mojo::IOLoop->connection_timeout in favor of
  - Deprecated Mojo::IOLoop->write in favor of Mojo::IOLoop::Stream->write.
  - Deprecated Mojo::IOLoop->connect_timeout in favor of timeout argument.
  - Deprecated on_* methods in Mojo::IOLoop.
  - Removed Mojo::IOLoop::Resolver.
  - Added EXPERIMENTAL connect_timeout attribute to Mojo::UserAgent.
  - Added EXPERIMENTAL is_readable method to Mojo::IOLoop::Stream.
  - Added EXPERIMENTAL charset method to Mojo::Content.
  - Added EXPERIMENTAL write event to Mojo::IOLoop::Stream.
  - Added EXPERIMENTAL connection event to Mojo::Transaction.
  - Improved documentation.
  - Improved CSS of some built-in templates.
  - Fixed many small memory leaks.
  - Fixed multiple drain callback bugs.
  - Fixed small attribute selector bug in Mojo::DOM::CSS. (tladesignz)

2.26  2011-11-10
  - Added EXPERIMENTAL upgrade event to Mojo::Asset::Memory.
  - Added EXPERIMENTAL upgrade event to Mojo::Transaction::HTTP.
  - Added EXPERIMENTAL auto_upgrade attribute to Mojo::Asset::Memory.
  - Improved Mojo::Content::Single and Mojo::Content::MultiPart parsers to
    reuse events.
  - Improved documentation.
  - Fixed small route caching bug.

2.25  2011-11-08
  - Removed canonicalize method from Mojo::URL.
  - Improved documentation.
  - Fixed URL without scheme handling in Mojo::URL.
  - Fixed a few small bugs in Mojo::URL.

2.24  2011-11-05
  - Added EXPERIMENTAL canonicalize method to Mojo::URL.
  - Improved documentation.
  - Fixed small path canonicalization bug in Mojo::URL.
  - Fixed small trailing slash bug in Mojo::Path.

2.23  2011-11-04
  - Changed semantics of get_line function in Mojo::Util.
  - Removed experimental status from Mojo::Util.
  - Updated jQuery to version 1.7.
  - Improved documentation.
  - Improved empty path element handling in Mojo::URL.
  - Fixed empty path element bug in Mojo::Path.

2.22  2011-11-03
  - Added EXPERIMENTAL --verbose flag to routes command.
  - Improved documentation.
  - Fixed a few attribute without value selector bugs in Mojo::DOM::CSS.
  - Fixed template inheritance bug in Mojolicious::Renderer.

2.21  2011-11-02
  - Removed profile helper.
  - Removed CSS4 selector subject support from Mojo::DOM::CSS until we
    actually know the exact semantics.
  - Improved Mojo::ByteStream to generate most Mojo::Util based methods
  - Fixed route pattern bug.
  - Fixed bug in "user_agent.t".

2.20  2011-11-01
  - Changed semantics of almost all functions in Mojo::Util.
  - Documentation improvements.

2.19  2011-10-31
  - Deprecated Mojolicious::Plugins->add_hook in favor of
  - Deprecated Mojolicious::Plugins->run_hook in favor of
  - Deprecated Mojolicious::Plugins->run_hook_reverse in favor of
  - Improved documentation.
  - Improved tests.

2.18  2011-10-30
  - Improved documentation.
  - Fixed small rendering bug.

2.17  2011-10-30
  - Fixed bug in "user_agent.t".

2.16  2011-10-30
  - Removed experimental status from Mojo::EventEmitter.
  - Merged unsubscribe and unsubscribe_all methods in Mojo::EventEmitter.
  - Improved documentation.

2.15  2011-10-29
  - Deprecated Mojolicious::Controller->on_finish in favor of
  - Removed Mojolicious::Controller->on_message, you can now use
    Mojolicious::Controller->on instead.
      $c->on(message => sub {...})
  - Added EXPERIMENTAL message event to Mojo::Log.
  - Improved documentation.

2.14  2011-10-29
  - Deprecated Mojo::DOM->new with arguments.
  - Renamed Mojo::IOLoop::Trigger to Mojo::IOLoop::Delay.
  - Renamed watch method in Mojo::IOWatcher to change.
  - Renamed io method in Mojo::IOWatcher to watch.
  - Renamed cancel method in Mojo::IOWatcher to drop_timer.
  - Renamed remove method in Mojo::IOWatcher to drop_handle.
  - Added EXPERIMENTAL --verbose flag to test command.

2.13  2011-10-28
  - Removed experimental status from many classes, methods, attributes and
  - Removed before_render hook.
  - Removed Mojolicious::Plugin::CallbackCondition.
  - Improved documentation.

2.12  2011-10-27
  - Added EXPERIMENTAL cleanup_interval attribute to Mojo::IOLoop.
  - Added EXPERIMENTAL max_leftover_size attribute to Mojo::Content.
  - Replaced handle method in Mojo::IOLoop with stream method.
  - Replaced writing and not_writing methods in Mojo::IOWatcher with watch
  - Replaced is_finished method in Mojo::IOLoop::Stream with is_writing
  - Replaced add method in Mojo::IOWatcher with io method.
  - Reduced memory usage of Mojo::Headers significantly.
  - Fixed finish event timing in Mojo::Server::Daemon.

2.11  2011-10-26
  - Improved Mojo::IOLoop::Stream to only emit close events once.
  - Improved documentation.

2.10  2011-10-25
  - Added EXPERIMENTAL send_frame method to Mojo::Transaction::WebSocket.
  - Added EXPERIMENTAL frame event to Mojo::Transaction::WebSocket.
  - Changed syntax for binary messages in Mojo::Transaction::WebSocket.
      [$bytes] becomes [binary => $bytes]
  - Improved documentation.
  - Improved tests.

2.09  2011-10-23
  - Fixed small environment cleanup bug in Mojo::IOLoop::Server.

2.08  2011-10-23
  - Fixed a few more small test bugs.

2.07  2011-10-23
  - Improved documentation.
  - Fixed a few small test bugs.

2.06  2011-10-23
  - Improved documentation.

2.05  2011-10-22
  - Added EXPERIMENTAL max_memory_size attribute to Mojo::Asset::Memory.
  - Added EXPERIMENTAL is_file method to Mojo::Asset and Mojo::Asset::File.
  - Improved start_tls method in Mojo::IOLoop by allowing it to accept more
  - Improved MOJO_MAX_MEMORY_SIZE handling by moving it from
    Mojo::Content::Single to Mojo::Asset::Memory.
  - Improved documentation.
  - Fixed HTTPS proxy bug in Mojo::UserAgent.

2.04  2011-10-21
  - Improved documentation.
  - Fixed small HTTP response parser bug.
  - Fixed Windows portability issue in "upload_lite_app.t".

2.03  2011-10-20
  - Deprecated all is_done methods in favor of is_finished.
  - Renamed done event in Mojo::IOLoop::Trigger to finish.
  - Added EXPERIMENTAL support for new HTTP status codes from
  - Improved documentation.
  - Fixed small bug in "upload_lite_app.t".

2.02  2011-10-20
  - Merged request and upgrade events in Mojo::Transaction::HTTP.
  - Improved Mojolicious::Controller attribute default values.
  - Improved documentation.

2.01  2011-10-19
  - Added EXPERIMENTAL upgrade event to Mojo::Content::Single.
  - Added EXPERIMENTAL part event to Mojo::Content::MultiPart.
  - Improved documentation.
  - Fixed arguments of upgrade event in Mojo::Transaction::HTTP.
  - Fixed small WebSocket upgrade bug in Mojo::Server::Daemon.

2.0  2011-10-17
  - Code name "Leaf Fluttering In Wind", this is a major release.
  - Increased Perl version requirement to 5.10.1.
  - Renamed Mojo::IOLoop::EventEmitter to Mojo::EventEmitter.
  - Replaced one_tick method in Mojo::IOWatcher with start and stop methods.
  - Added EXPERIMENTAL contains method to Mojo::Path.
  - Added EXPERIMENTAL auto_upgrade attribute to Mojo::Content::Single.
  - Added EXPERIMENTAL boundary method to Mojo::Content.
  - Added EXPERIMENTAL slice method to Mojo::Collection.
  - Added EXPERIMENTAL build and parse methods to Mojo::IOLoop::Resolver.
  - Updated WebSocket implementation to ietf-17.
  - Improved many modules to use events instead of callbacks.
  - Improved message parser performance slightly.
  - Improved Mojo::IOLoop to die if started twice.
  - Improved setuidgid in Mojo::Server::Daemon.
  - Improved Mojo::IOWatcher backend detection.
  - Improved Mojo::IOLoop::Stream to handle unexpected connection close more
  - Improved documentation.
  - Improved tests.
  - Fixed many portability issues.
  - Fixed on_finish callback to work consistently with all servers.
  - Fixed on_finish callback to work consistently with the user agent.
  - Fixed big memory and file descriptor leak in the TLS code of
  - Fixed small memory leak in Mojolicious.
  - Fixed small memory leak in Mojo::DOM.
  - Fixed small memory leak in Mojo::Message.
  - Fixed small boundary bug in Mojo::Content::MultiPart.
  - Fixed small formatting bug in Mojo::Headers.
  - Fixed small proxy message generation bug.
  - Fixed small detection bug in Mojolicious::Types.

1.99  2011-09-29
  - Deprecated direct hash access to the flash in Mojolicious::Controller.
  - Added EXPERIMENTAL group function to Mojolicious::Lite.
  - Added EXPERIMENTAL build_frame and parse_frame methods to
  - Added EXPERIMENTAL accepts attribute to Mojo::IOLoop::Server.
  - Added EXPERIMENTAL profile helper.
  - Added EXPERIMENTAL binary support to Mojo::Transaction::WebSocket.
  - Updated WebSocket implementation to ietf-16.
  - Changed default upgrade timeout of Hypnotoad from 30 to 60 seconds.
  - Improved accept performance of all built-in web servers by up to 1000%
    with the EV backend.
  - Improved connection_timeout method in Mojo::IOLoop by allowing it to be
    called as a class method.
  - Improved documentation.
  - Improved CSS of some built-in templates.
  - Improved resilience of HTTP parser.
  - Fixed CSS of built-in exception template.
  - Fixed close event bug in Mojo::IOLoop.
  - Fixed small redirect_to bug. (judofyr, sri)
  - Fixed small attribute selector bug in Mojo::DOM::CSS.
  - Fixed small unicode bug in Mojolicious::Plugin::EPRenderer.
  - Fixed a few small route bugs.
  - Fixed Perl 5.8.7 compatibility.
  - Fixed typos.

1.98  2011-09-14
  - Removed Mojo::Server::FastCGI so it can be maintained as a separate
  - Added EXPERIMENTAL mojo_lib_dir and slurp_rel_file methods to Mojo::Home.
  - Improved host condition to work in more environments.
  - Improved CSS of all built-in templates.
  - Improved documentation. (rhaen, sri)
  - Improved test command to run tests in alphabetical order. (viliampucik)
  - Improved non-blocking resolver by allowing it to be disabled.
  - Improved DATA templates by removing a whitespace requirement.
  - Improved tests.
  - Fixed small name generation bug in Mojolicious::Plugin::Config.
  - Fixed small bug in cookie jar.
  - Fixed small plugin loader bug.
  - Fixed Hypnotoad to clean up lock files.
  - Fixed small bug that caused exceptions to be logged twice.

1.97  2011-09-03
  - Improved unicode handling to be more correct and less forgiving.
  - Fixed typos.

1.96  2011-09-02
  - Updated jQuery to version 1.6.3.
  - Fixed Mojo::IOLoop to ignore SIGPIPE.

1.95  2011-09-01
  - Improved cookie generation slightly. (cosimo, sri)
  - Improved documentation.
  - Fixed Mojo::IOLoop to not ignore SIGPIPE.
  - Fixed typos. (Akron)

1.94  2011-08-27
  - Fixed lite_app and plugin generators.
  - Fixed typos.

1.93  2011-08-27
  - Added EXPERIMENTAL support for escaped tags to Mojo::Template.
  - Improved Morbo to ignore dotfiles.
  - Improved documentation.
  - Fixed trimming bug in Mojo::Template.
  - Fixed a few small bugs in Mojo::Template.
  - Fixed small version detection bug in Mojo::Cookie.

1.92  2011-08-26
  - Improved documentation.
  - Fixed quoting bug in Mojo::Cookie.

1.91  2011-08-25
  - Added EXPERIMENTAL support for cloning Mojo::Message::Request objects.
  - Improved redirect support in Mojo::UserAgent to be closer to commonly
    used browsers.
  - Improved documentation.

1.90  2011-08-24
  - Improved respond_to to automatically render an empty 204 response for
    unknown formats.
  - Improved render_exception and render_not_found to use the current
    format if available. (alnewkirk)
  - Improved documentation.

1.89  2011-08-23
  - Improved Mojo::Home portability. (omega)
  - Improved documentation.

1.88  2011-08-23
  - Added EXPERIMENTAL split method to Mojo::ByteStream.
  - Improved documentation.
  - Fixed small bug in Mojo::JSON.

1.87  2011-08-23
  - Added EXPERIMENTAL app method to Mojo::Command.
  - Added EXPERIMENTAL t helper to Mojolicious::Plugin::TagHelpers.
  - Made tag helper a little smarter.
  - Made camelize a little smarter.
  - Improved documentation.
  - Fixed small route rendering bug.

1.86  2011-08-21
  - Deprecated camel case command modules and lowercased all the built-in
  - Added EXPERIMENTAL support for testing WebSockets with Test::Mojo.
  - Added GET/POST parameter support to respond_to.
  - Made class_to_file slightly smarter.
  - Improved documentation.

1.85  2011-08-20
  - Fixed a url_for bug where captures would be ignored.

1.84  2011-08-19
  - Added EXPERIMENTAL first, reverse, shuffle and sort methods to
  - Improved documentation.
  - Fixed small test portablity bug.

1.83  2011-08-19
  - Renamed filter method in Mojo::Collection to grep.
  - Improved documentation.

1.82  2011-08-19
  - Added EXPERIMENTAL filter method to Mojo::Collection.
  - Removed while and until methods from Mojo::Collection.
  - Improved documentation.

1.81  2011-08-19
  - Renamed Mojo::DOM::Collection to Mojo::Collection and added a few new
  - Made Mojolicious::Plugins loader quite a bit smarter.
  - Improved documentation.
  - Improved Test::Mojo diagnostics.

1.80  2011-08-17
  - Deprecated Mojolicious::Plugin::EpRenderer in favor of
  - Deprecated Mojolicious::Plugin::EplRenderer in favor of
  - Deprecated Mojolicious::Plugin::I18n in favor of
  - Deprecated Mojolicious::Plugin::JsonConfig in favor of
  - Deprecated Mojolicious::Plugin::PodRenderer in favor of

1.79  2011-08-17
  - Added support for upper case relative plugin names. (lammel)
  - Improved documentation.

1.78  2011-08-16
  - Added EXPERIMENTAL modules Mojolicious::Command::Cpanify and
    Mojolicious::Command::Generate::Plugin. (sri, yko, tempire)
  - Improved documentation.
  - Fixed "websocket_lite_app.t" to require Perl 5.10+.
  - Fixed small empty cookie bug.
  - Fixed small command bug.

1.77  2011-08-14
  - Deprecated Mojo::Path->append in favor of using Mojo::Path->parts
  - Improved handling of preformatted text in Mojo::DOM.
  - Improved Mojo::DOM to allow smart whitespace trimming to be disabled.
  - Improved documentation.
  - Fixed small unicode bug in get command.

1.76  2011-08-12
  - Fixed small Mojo::URL escaping bug.

1.75  2011-08-12
  - Added secure_compare function to Mojo::Util as a precaution against
    timing attacks in the future. (judofyr)
  - Added EXPERIMENTAL CSS4 selector subject support to Mojo::DOM::CSS.
  - Improved documentation.
  - Fixed typos.

1.74  2011-08-09
  - Added EXPERIMENTAL --verbose flag to Morbo.
  - Made "ioloop.t" easier to debug and added more tests.
  - Improved documentation.
  - Fixed typos.

1.73  2011-08-09
  - Added EXPERIMENTAL -strict flag to Mojo::Base.
  - Added EXPERIMENTAL respond_to method to Mojolicious::Controller.
  - Added EXPERIMENTAL detect method to Mojolicious::Types.
  - Added accept method to Mojo::Headers.
  - Made Mojo::UserAgent slightly more efficient.
  - Improved get command to autoflush STDOUT.
  - Improved documentation.

1.72  2011-08-05
  - Changed default keep alive timeout in Mojo::Server::Daemon from 5 to 15
  - Improved documentation.
  - Fixed small alternative placeholder value bug in routes.
  - Fixed small bug in Mojo::IOWatcher.
  - Fixed small bug in Mojo::IOLoop::Client.

1.71  2011-08-05
  - Improved Mojo::IOWatcher to use higher resolution timers.

1.70  2011-08-04
  - Added EXPERIMENTAL defer method to Mojo::IOLoop.
  - Added extended callback support to Mojo::IOLoop::Trigger.
  - Improved documentation.
  - Improved tests.
  - Fixed a few small bugs in Mojo::URL. (sshaw)

1.69  2011-08-03
  - Added EXPERIMENTAL module Mojo::IOLoop::Trigger.
  - Modernized Mojo::HelloWorld.
  - Improved HTML healing capabilities of Mojo::DOM::HTML.
  - Improved HTML rendering in Mojo::DOM::HTML.
  - Improved 64bit support in Mojo::Transaction::WebSocket.
  - Improved documentation.
  - Fixed memory leak in Mojo::IOLoop::Client.
  - Fixed memory leak in Mojolicious.
  - Fixed small bug in Mojo::IOLoop::Server.

1.68  2011-07-29
  - Moved is_ipv4 and is_ipv6 methods from Mojo::URL to
  - Improved documentation.

1.67  2011-07-27
  - Improved documentation.
  - Fixed version command.
  - Fixed small Mojo::DOM bug. (Akron)

1.66  2011-07-27
  - Added EXPERIMENTAL detect method to Mojo::IOWatcher.
  - Improved Mojo::IOLoop::Resolver efficiency.
  - Improved documentation.
  - Fixed typos. (crab)

1.65  2011-07-25
  - Added EXPERIMENTAL modules Mojo::IOLoop::Client,
    Mojo::IOLoop::EventEmitter, Mojo::IOLoop::Server and
    Mojo::IOLoop::Stream, which contain extracted functionality from
  - Added EXPERIMENTAL module Mojo::IOWatcher::EV. (xantus)
  - Removed modules Mojo::IOWatcher::Epoll and Mojo::IOWatcher::KQueue,
    since Mojo::IOWatcher::EV is a much better alternative.
  - Renamed Mojo::Resolver to Mojo::IOLoop::Resolver.
  - Improved Mojolicious::Routes to automatically disable the routing cache
    if conditions are used.
  - Improved route constraint alternatives.
  - Improved documentation browser CSS. (judofyr)
  - Improved documentation.
  - Fixed small bug in get command.

1.64  2011-07-10
  - Added EXPERIMENTAL module Mojo::DOM::HTML.
  - Improved documentation.

1.63  2011-07-10
  - Added EXPERIMENTAL modules Mojo::DOM::CSS and Mojo::DOM::Collection.
  - Renamed Mojo::Transactor to Mojo::UserAgent::Transactor.

1.62  2011-07-10
  - Merged Mojo::HTML into Mojo::DOM again.
  - Improved documentation.

1.61  2011-07-09
  - Added module Mojo::HTML, which contains extracted functionality from
  - Improved documentation.

1.60  2011-07-08
  - Added xsl MIME type. (shiftycow)
  - Improved documentation.
  - Fixed Windows portability issue.

1.59  2011-07-08
  - Added peer method to Mojo::Transactor.
  - Deprecated Test::Mojo->new(app => 'MyApp') in favor of
  - Made $t->app always return the application instance in tests.
  - Fixed typos.

1.58  2011-07-07
  - Improved documentation.
  - Fixed fork bug in Mojo::IOLoop.
  - Fixed small Hypnotoad issues.
  - Fixed typos.

1.57  2011-07-07
  - Added --stop option to Hypnotoad.
  - Made hot deployment with Hypnotoad even easier.
  - Improved documentation.

1.56  2011-07-04
  - Fixed small memory leaks in Hypnotoad and Mojo::IOLoop.

1.55  2011-07-04
  - Improved documentation.
  - Fixed some portability issues in tests.

1.54  2011-07-03
  - Fixed small Windows issue.

1.53  2011-07-02
  - Added EXPERIMENTAL format method to Mojo::Log and simplified the
    default log file format.
  - Improved include helper argument localization. (miyagawa)
  - Fixed typos.

1.52  2011-07-01
  - Fixed typos.
  - Fixed small static file in DATA section bug.

1.51  2011-07-01
  - Renamed build_url method in Test::Mojo to test_server.
  - Improved test_server method in Mojo::UserAgent.
  - Fixed small timing issue in "morbo.t".

1.50  2011-07-01
  - Removed idle event from Mojo::IOLoop.
  - Updated jQuery to version 1.6.2.
  - Fixed typos.
  - Fixed small routes bug that prevented some false values from disabling
    format detection.

1.49  2011-06-30
  - Added EXPERIMENTAL modules Mojo::IOWatcher and Mojo::Resolver, which
    contain extracted functionality from Mojo::IOLoop.
  - Added EXPERIMENTAL module Mojo::Transactor, which contains extracted
    functionality from Mojo::UserAgent.
  - Added EXPERIMENTAL support for simple alternative placeholder values to
  - Improved Morbo restarter to also check for changed file size in addition
    to mtime.
  - Improved documentation.
  - Fixed many small routes bugs.
  - Fixed small reparse bug in Mojo::Parameters. (dmw397)
  - Fixed url_for to incorporate trailing slash for current route.
  - Fixed a few small error reporting bugs around Mojo::UserAgent.
  - Fixed portability issue in "command.t".

1.48  2011-06-24
  - Added debug log message for missing action to router.
  - Improved Mojo::Command tests.
  - Improved documentation.
  - Fixed support for multiple checkboxes with same name in
    Mojolicious::Plugin::TagHelper. (sri, kimoto)
  - Fixed portability issue in "lite_app.t". (marcus)

1.47  2011-06-22
  - Added EXPERIMENTAL callback condition plugin.
  - Added EXPERIMENTAL host condition to
  - Added host support to Mojolicious::Plugin::Mount. (sri, alnewkirk)
  - Removed Mojolicious::Plugin::AgentCondition and added its functionality
    to Mojolicious::Plugin::HeaderCondition.
  - Improved overall performance slightly.
  - Improved documentation.
  - Fixed render_static return value.
  - Fixed dispatcher return values.

1.46  2011-06-21
  - Improved Morbo to only attempt restarting applications after a file
    change has been detected.
  - Improved overall performance by about 3% with many small optimizations.
  - Improved query string support in Mojo::Parameters.
  - Improved tests.
  - Fixed Windows restart issues in Morbo. (lammel)
  - Fixed missing plugin error message.

1.45  2011-06-20
  - Improved documentation.
  - Fixed an exception with layout rendering bug.
  - Fixed small Mojo::Parameters bug.

1.44  2011-06-18
  - Added EXPERIMENTAL self-restarting Morbo development web server and
    removed old "--reload" support since there have been too many negative
    side effects. This also improves overall performance by about 5-10% and
    reduces memory usage by about 10%.
  - Added EXPERIMENTAL application mount plugin.
  - Added EXPERIMENTAL --help support for all commands.
  - Updated prettify.js to version 1-Jun-2011.
  - Updated WebSocket diagnostics test in Mojo::HelloWorld for latest Firefox
  - Improved inline template and static file performance.
  - Improved whitespace trimming in Mojo::DOM. (sri, DaTa)
  - Improved documentation.
  - Improved tests.
  - Fixed Morbo file discovery bug. (crab)
  - Fixed a few application embedding bugs.
  - Fixed link generation bug in Mojolicious::Plugin::PodRenderer.
  - Fixed small embedding bug in Mojolicious::Plugin::RequestTimer.

1.43  2011-06-13
  - Improved after_dispatch hook by allowing it to change session data.
  - Improved documentation.
  - Fixed a bug in Mojo::Template that caused template blocks to be auto
  - Fixed typos.

1.42  2011-06-09
  - Added EXPERIMENTAL support for unquoted wildcard placeholders in
  - Added EXPERIMENTAL status code support to rendred method in
  - Updated WebSocket implementation to ietf-08.
  - Improved layout tests.
  - Improved documentation. (chromatic, sri)
  - Fixed a bug that prevented Mojo::Base subclasses from using the "-base"
  - Fixed a few small default status code bugs.
  - Fixed route suggestion bug in "not_found.development.html.ep".
  - Fixed typos.

1.41  2011-06-03
  - Fixed param list bug in Mojolicious::Controller.
  - Fixed overload bug in Mojo::DOM. (yko)
  - Fixed typos.

1.4  2011-06-02
  - Code name "Smiling Face With Sunglasses", this is a major release.
  - Deprecated Mojo::DOM add_after method in favor of the append method.
  - Deprecated Mojo::DOM add_before method in favor of the prepend method.
  - Deprecated all methods containing the word "inner" in favor of ones
    containing the word "content".
  - Added EXPERIMENTAL direct hash access for attributes and child element
    accessor support to Mojo::DOM.
  - Added EXPERIMENTAL support for collections to children method and element
    accessors in Mojo::DOM.
  - Added EXPERIMENTAL to_xml method to Mojo::DOM collections.
  - Added EXPERIMENTAL eval command.
  - Added EXPERIMENTAL load_app method to Mojo::Server.
  - Added append_content and prepend_content methods to Mojo::DOM.
  - Added HTTP method support to routes command. (trone)
  - Improved long poll support.
  - Improved documentation.
  - Improved compatibility with Feersum PSGI web servers. (audreyt)
  - Switched from Storable to JSON serialization for Mojolicious sessions to
    increase efficiency.
  - Reduced memory usage of Hypnotoad workers by at least 1MB (each).
  - Fixed a small Mojo::Loader bug.
  - Fixed small Windows line ending problem in Mojo::Command. (Akron)
  - Fixed a UTF-8 bug in Mojo::Exception. (jamadam)
  - Fixed "Can't locate object method x via package y" error messages.
  - Fixed woff MIME type.

1.34  2011-05-22
  - Fixed nested selector bug in Mojo::DOM.
  - Fixed small Mojo::DOM HTML5 bug.

1.33  2011-05-20
  - Added EXPERIMENTAL helper function to Mojolicious::Lite.
  - Updated jQuery to version 1.6.1.
  - Improved Mojo::JSON string escaping to make JSONP easier.
  - Improved reloader slightly.
  - Improved documentation.
  - Moved all bundled templates to "lib/Mojolicious/templates".
  - Fixed reserved GET/POST param handling in Mojolicious::Controller.
  - Fixed small XML semantics bug in Mojo::DOM.
  - Fixed all blocking server bindings to default to a 404 status code.

1.32  2011-05-11
  - Added EXPERIMENTAL name support for template exceptions.
  - Updated IO::Socket::SSL requirement to 1.43 due to bugs in older
    versions. Note that the version requirement will keep getting updated
    until we encounter a version that is not broken most of the time.
  - Improved reloading slightly by allowing it to clean up the main
  - Improved documentation.
  - Fixed enabling of Perl 5.10 features in Mojo::Base and Mojolicious::Lite.
    (garu, sri)
  - Fixed render_later to prevent delayed rendering warning.

1.31  2011-05-08
  - Reverted deprecation of Perl 5.8.x support, by popular demand.
  - Added FAQ entry to clarify the Perl 5.8.x situation.
  - Improved documentation.
  - Fixed case sensitivity of Mojo::DOM in XML mode.
  - Fixed pseudo class case handling in Mojo::DOM. (Akron)

1.3  2011-05-05
  - Code name "Tropical Drink", this is a major release.
  - Deprecated Perl 5.8.x support.
  - Deprecated Mojolicious::Renderer get_inline_template method in favor of
    the get_data_template method.
  - Added EXPERIMENTAL before_render hook.
  - Added EXPERIMENTAL hook function to Mojolicious::Lite.
  - Added workaround for uWSGI bug. (miyagawa)
  - Improved Mojo::Template and Mojolicious::Routes exception handling.
  - Improved debug log messages for template rendering.
  - Updated Mojo::Base and Mojolicious::Lite to enable Perl 5.10 features if
  - Updated jQuery to version 1.6.
  - Fixed PSGI read error handling.
  - Fixed 64bit WebSocket message bug.
  - Fixed small Windows bug.
  - Fixed typos. (metaperl)

1.22  2011-05-02
  - Added opposite tests to Test::Mojo.
  - Deprecated Mojo::IOLoop on_tick method in favor of the recurring method.
  - Deprecated Mojo::IOLoop on_hup method in favor of the on_close method.
  - Deprecated on_build_tx methods in favor of on_transaction methods.
  - Deprecated on_handler methods in favor of on_request methods.
  - Updated WebSocket implementation to ietf-07.
  - Renamed on_idle method in Mojo::IOLoop to idle.
  - Reduced memory requirements of cached templates by up to 50%.
  - Fixed controller specific render_exception and render_not_found methods.
  - Fixed Mojo::JSON string size limit. (henryykt)
  - Fixed Windows bug in Mojo::Asset::File. (kimoto)
  - Fixed small memory leak.
  - Fixed small stack localization bug.
  - Fixed small tag helper escaping bug. (cheese)
  - Fixed typos. (metaperl, cheese)

1.21  2011-04-20
  - Improved temporary file handling to avoid a very unlikely race condition.
  - Fixed "multipart/form-data" generation bug in Mojo::UserAgent.
    (sugar, sharifulin, sri)
  - Fixed typos.

1.20  2011-04-20
  - Improved size limit handling.
  - Fixed typos.

1.19  2011-04-20
  - Improved tests.
  - Fixed size limits in message parser.

1.18  2011-04-19
  - Added support for "X-Forwarded-HTTPS" and "X-Forwarded-Host" headers.
  - Added argument localization to the include helper. (crab, moritz, sri)
  - Improved documentation.
  - Fixed test case.

1.17  2011-04-18
  - Deprecated Mojolicious process method in favor of the on_process
  - Added Failraptor.
  - Added support for MOJO_CERT_FILE and MOJO_KEY_FILE environment
  - Added EXPERIMENTAL xml attribute to Mojo::DOM.
  - Added EXPERIMENTAL build_url method to Test::Mojo.
  - Added EXPERIMENTAL dnt (Do Not Track) method to Mojo::Headers.
  - Added WOFF MIME type. (reezer)
  - Updated WebSocket implementation to ietf-06. (sri, crab)
  - Updated jQuery to version 1.5.2.
  - Improved documentation.
  - Improved HTML healing capabilities of Mojo::DOM.
  - Improved Mojo::DOM to ignore useless end tags.
  - Improved Mojo::DOM inline DTD support. (Akron)
  - Improved Mojo::DOM text extraction.
  - Improved Mojolicious::Plugin::I18n default lexicon handling. (yko)
  - Improved a Mojo::IOLoop workaround.
  - Moved all bundled static files to "lib/Mojolicious/public".
  - Made Test::Mojo a little more user-friendly.
  - Fixed small CGI/FastCGI header generation bug.
  - Fixed readonly handle support in Mojo::IOLoop.
  - Fixed a Mojo::IOLoop resolver bug. (Charlie Brady)
  - Fixed small Mojo::Asset::File bug. (crab)
  - Fixed small Mojo::DOM selector bug. (tempire)
  - Fixed small Mojo::DOM namespace detection bug. (Akron)
  - Fixed small route pattern escaping bug.
  - Fixed small reload bug.
  - Fixed small perldoc browser bug. (kberov)
  - Fixed cookbook recipe. (moritz)

1.16  2011-04-15
  - Emergency release for a critical security issue that can expose files on
    your system, everybody should update! (perlninja, sri)

1.15  2011-03-18
  - Changed default log level in "production" mode from "error" to "info".
  - Improved lookup method in Mojo::IOLoop.
  - Fixed small Mojo::Util bug.
  - Fixed a serious Mojo::DOM bug. (moritz)

1.14  2011-03-17
  - Added support for multiple DNS servers to Mojo::IOLoop.
  - Added config helper to Mojolicious::Plugin::Config.
  - Changed resolv.conf parser in Mojo::IOLoop to use the first nameserver.
  - Changed lookup method in Mojo::IOLoop to pick records randomly.
  - Fixed small optional tag bugs in Mojo::DOM.
  - Fixed JavaScript/CSS bug in Mojo::DOM.
  - Fixed Windows home directory detection bug. (Akron)
  - Fixed a few warnings.
  - Fixed typos.

1.13  2011-03-14
  - Deprecated Mojo::Client in favor of the much sleeker Mojo::UserAgent.
  - Made the most common Mojo::IOLoop methods easier to access for the
    singleton instance.
  - Fixed typos.

1.12  2011-03-10
  - Relicensed all artwork to CC-SA, so the whole distribution can be
    considered "open" again.
  - Deprecated MOJO_JSON_CONFIG environment variable in favor of MOJO_CONFIG.
  - Added EXPERIMENTAL support for IPv6.
  - Added more Perl-ish configuration plugin.
  - Added drain callback support for WebSockets.
  - Added line numbers to Mojo::JSON error messages. (marcus)
  - Removed experimental status from Hypnotoad and
  - Removed experimental status from many attributes and methods all over
  - Improved attribute support of the select_field tag helper. (yko)
  - Improved text_field tag helper.
  - Improved tag helper attribute escaping.
  - Improved attrs method in Mojo::DOM.
  - Updated jQuery to version 1.5.1.
  - Fixed XSS issue in link_to helper.
  - Fixed route unescaping bug.
  - Fixed small Mojo::DOM bug. (yko)
  - Fixed small documentation bug.
  - Fixed typos. (kimoto)

1.11  2011-02-18
  - Deprecated Mojo::Client async method in favor of the managed attribute.
  - Added TTL support to resolve in Mojo::IOLoop. (und3f)
  - Relaxed charset handling in and around Mojo::DOM a bit.
  - Fixed Mojo::Client async mode.
  - Fixed session cookie encoding bug.
  - Fixed small route bug.
  - Fixed small Hypnotoad bug. (bduggan)

1.1  2011-02-14
  - Code name "Smiling Cat Face With Heart-Shaped Eyes", this is a major
  - Deprecated wildcard route names in favor of automatically generated
    default names for all routes.
  - Removed native IIS support since it has become unmaintainable.
  - Added EXPERIMENTAL much prettier attribute generator to Mojo::Base.
  - Added EXPERIMENTAL on_start attribute to Mojo::Client.
  - Added EXPERIMENTAL support for route shortcuts.
  - Added EXPERIMENTAL support for NO_PROXY. (l0b0)
  - Added EXPERIMENTAL user_agent attribute to Mojo::Client.
  - Added EXPERIMENTAL support for mode specific not_found and exception
  - Added EXPERIMENTAL support for route caching.
  - Added EXPERIMENTAL support for CSS3 selectors to the get command.
  - Added image helper to Mojolicious::Plugin::TagHelpers.
  - Added support for secure session cookies. (crab)
  - Improved HTML5 compatibility of Mojo::DOM.
  - Replaced Mojo::JSON parser with a much faster and stricter
    implementation. (chansen)
  - Improved Mojo::JSON string encoding. (chansen)
  - Updated to jQuery to version 1.5.
  - Removed experimental status from Mojo::DOM and ojo.
  - Removed experimental status from many attributes and methods all over
  - Renamed after and before in Mojo::DOM to add_after and add_before.
  - Improved documentation browser slightly.
  - Improved CSS3 support in Mojo::DOM.
  - Changed Mojolicious::Plugin::EplRenderer to not render 404 errors for
    missing templates.
  - Changed exception template to use pre instead of h1 tags for error
    messages. (vaneska)
  - Made Simpsons and Futurama quotes easier to distinguish from normal
  - Made routes reusable outside of Mojolicious. (forwardever)
  - Fixed a few home detection bugs.
  - Fixed a complicated application embedding bug.
  - Fixed a Apache mod_rewrite compatibility bug in Mojo::Message::Request.
  - Fixed a small bug in the relaxed HTTP parser.
  - Fixed a small bug in Mojolicious::Command::Get.
  - Fixed a small bug in Mojolicious::Plugin::JsonConfig.
  - Fixed support for broken redirects.
  - Fixed --reload delay problem.
  - Fixed shagadelic function of Mojolicious::Lite.
  - Fixed optgroup support in select_field helper.
  - Fixed tests that can't run on Windows.
  - Fixed delayed rendering bug. (yko)
  - Fixed nested route bug.
  - Fixed a small multipart parser bug.
  - Fixed small any route bug.
  - Fixed small empty route bug.
  - Fixed URL merging in Mojo::URL.
  - Fixed version detection in Mojolicious::Command::Version.
  - Fixed Mojo::Client cloning.
  - Fixed typos.

1.01  2011-01-06
  - Relicensed some of the images to make sure Mojolicious can be shipped
    with commercial products.
  - Updated IO::Socket::SSL requirement to 1.37 due to bugs in older
  - Added EXPERIMENTAL TLS certificate authentication support. (tempire)
  - Added EXPERIMENTAL title helper.
  - Added EXPERIMENTAL render_later method to Mojolicious::Controller.
  - Improved documentation.
  - Improved test. (Charlie Brady)
  - Improved charset handling in Mojolicious slightly.
  - Updated application generators with base tags.
  - Fixed relative path handling in Mojo::URL.
  - Fixed punycode bug. (kits)
  - Fixed a bug where the static dispatcher would eat the flash.

1.0  2010-12-26
  - Code name "Snowflake", this is a major release.
  - Deprecated session method in Mojolicious.
  - Deprecated handler and helper attributes in Mojolicious::Renderer.
  - Added new exception and not_found templates.
  - Added POD browser to Mojolicious::Plugin::PodRenderer.
  - Added EXPERIMENTAL content_for helper.
  - Disabled debug log messages for static files.
  - Improved Hypnotoad web server to restart workers regularly.
  - Improved documentation.
  - Improved query manipulation in Mojo::URL. (yko)
  - Improved TLS exception handling.
  - Improved nested exception handling. (spleenjack)
  - Improved tests. (janus)
  - Fixed relative path handling.
  - Fixed application generator. (yko)
  - Fixed support for multiline expressions in Mojo::Template.
  - Fixed multiple --reload related leaks and reduced overall memory usage.
  - Fixed exception handling for included templates.
  - Fixed a small Mojo::Server::PSGI header bug.
  - Fixed a small Mojo::DOM selector bug.
  - Fixed typos. (punytan)

0.999950  2010-11-30
  - Added EXPERIMENTAL Hypnotoad web server.
  - Added EXPERIMENTAL built-in exception and not_found templates.
  - Added put and del functions to Mojolicious::Lite.
  - Added on_idle and on_tick event handlers to Mojo::IOLoop.
  - Added "*" query support to the Mojo::IOLoop resolver.
  - Added ability to pass plain connection ids to Mojo::Client.
  - Added ability to call Mojo::Base->attr as an instance method. (charsbar)
  - Improved Mojolicious::Lite ability to recover from syntax errors.
  - Improved number detection in Mojo::JSON.
  - Improved Mojo::ByteStream encode/decode. (marcus)
  - Fixed a bug where an empty Mojo::IOLoop would never block.
  - Fixed a possible Mojo::IOLoop descriptor leak.
  - Fixed a small route condition bug.
  - Fixed a small test glitch on some Linux distributions.
  - Fixed typos.

0.999941  2010-11-19
  - Allow Mojolicious::Lite style routes in Mojolicious.
  - Added base_tag helper to Mojolicious::Plugin::TagHelpers.
  - Added CNAME and NS record type support to the Mojo::IOLoop resolver.
  - Improved Mojo::IOLoop responsiveness.
  - Made Mojo::IOLoop resolver results more useful.

0.999940  2010-11-15
  - Improved resolver tests.
  - Fixed IO::Socket::SSL 1.34 compatibility.

0.999939  2010-11-15
  - Removed IPv6 support until Perl itself gets better support for it.
  - Added MX and PTR record type support to the Mojo::IOLoop resolver.
  - Fixed a Mojolicious::Static rendering bug.
  - Fixed a bug that forced connect in Mojo::IOLoop to block.
  - Fixed a bug that prevented on_finish to be triggered for interrupted
  - Fixed a TLS accept bug in Mojo::IOLoop.
  - Fixed a small bug in Mojo::Parameters. (spleenjack)
  - Fixed javascript and stylesheet helper. (sshaw)
  - Fixed IPv4 address detection bug in Mojo::URL.
  - Fixed a Mojo::Client bug where interrupted transactions were still
  - Fixed a small reloader bug.
  - Fixed typos.

0.999938  2010-11-09
  - Moved all commands into the Mojolicious namespace.
  - Fixed typo.
  - Removed OS X resource fork files.

0.999937  2010-11-09
  - Deprecated the MojoX namespace and merged affected modules into the
    Mojolicious namespace, this will make reference documentation a lot more
  - Added important module overview to Mojolicious. (rhaen)
  - Improved Mojo::Loader to allow Mojolicious recovering from tricky syntax
    errors in Controllers.
  - Improved param method in MojoX::Dispatcher::Routes::Controller.
  - Fixed escaping in Mojo::Parameters to work better in the real world.
  - Fixed a small inflate command bug.

0.999936  2010-11-03
  - Improved Mojo::Template performance slightly. (kimoto)
  - Fixed a serious WebSocket bug.
  - Fixed non-blocking DNS resolver bug.
  - Fixed connection reset handling in Mojo::IOLoop.

0.999935  2010-11-03
  - Added EXPERIMENTAL module Mojo::Util as a faster low level alternative to
    Mojo::ByteStream and rewrote many internals to use it instead.
  - Improved Mojo::IOLoop performance by about 20%.
  - Made automatic file storage upgrade smarter.
  - Fixed overload stringification and improved overall performance by about
  - Fixed start line/header buffering and improved performance by 8%.

0.999934  2010-11-01
  - Fixed relaxed HTTP parsing.

0.999933  2010-10-30
  - Fixed small connect bug in Mojo::IOLoop.
  - Fixed WebSocket handshake.

0.999932  2010-10-29
  - Deprecated the old plugin hook calling convention and added EXPERIMENTAL
    hook method to Mojolicious.
  - Fixed a few small connect bugs in Mojo::IOLoop.
  - Fixed typos.

0.999931  2010-10-25
  - Removed tag helpers label and img.
  - Renamed tag helper script to javascript and added CDATA support.
  - Renamed tag helper input to input_tag.
  - Added EXPERIMENTAL non-blocking DNS support to Mojo::IOLoop. (und3f)
  - Added EXPERIMENTAL support for IPv4 and IPv6 address checks to Mojo::URL.
  - Added stylesheet tag helper.
  - Added before and after methods to Mojo::DOM.
  - Hide command overview from prove. (omega)
  - Default to silent tests in Test::Mojo.
  - Fixed optional value support in Mojo::Cookie.
  - Fixed shortcut methods in Mojo::Headers to not be context aware.
  - Fixed url_for to not inherit captures for new endpoints.

0.999930  2010-10-18
  - Code name "Hot Beverage", this is a major release.
  - Removed Mojo::Server::Daemon::Prefork due to unfixable design flaws
    regarding WebSocket support, please use a PSGI server instead for HTTP
    production setups. For scalable WebSocket deployment we will introduce a
    whole new server in one of the next releases!
  - Deprecated old Mojo::Template block syntax and added a very pretty
    replacement. (See documentation for more)
  - Deprecated helper method in Mojolicious::Controller.
  - Deprecated all *_cb methods (and finished/receive_message) in favor of
    on_* methods.
  - Deprecated process method in Mojo::Client and added new start method.
  - Replaced the "mojolicious" command with "mojo", for convenience.
  - Removed Mojo::Command::Generate::App.
  - Renamed the methods name and replace_content to type and replace_inner in
  - Added EXPERIMENTAL support for indented Perl lines in Mojo::Template.
  - Added EXPERIMENTAL support for --mode and --home options to all
    Mojolicious commands.
  - Added EXPERIMENTAL support for helper methods.
  - Added EXPERIMENTAL helper method to Mojolicious.
  - Added EXPERIMENTAL support for inline rendering to Mojolicious.
  - Added EXPERIMENTAL memorize helper to
    Mojolicious::Plugin::DefaultHelpers. (ptomli)
  - Added EXPERIMENTAL write, write_chunk and rendered methods to
  - Added EXPERIMENTAL support for loading of plugins by full module name.
  - Added EXPERIMENTAL tag helpers to Mojolicious.
  - Added EXPERIMENTAL support for radio buttons and select fields to
    Mojolicious::Plugin::TagHelpers. (kvorg)
  - Added EXPERIMENTAL is_limit_exceeded, max_line_size and max_message_size
    methods to Mojo::Message.
  - Added EXPERIMENTAL automatic relaxed parsing support for HTTP responses.
  - Added while, until and inner_xml methods for Mojo::DOM collections. (vti)
  - Added b function to all Mojo::Template templates.
  - Added selector support to the dom method of Mojo::Message. (marcus)
  - Added x function to ojo. (DaTa)
  - Added failed request warnings to ojo. (marcus)
  - Added support for selector groups to Mojo::DOM.
  - Added more attribute selectors, pseudo classes and combinators to
  - Added support for mode specific configuration files to
    Mojolicious::Plugin::JsonConfig. (marcus)
  - Added reserved route name current.
  - Simplified transaction pausing by replacing it with an automatism.
  - Improved RFC 3986 compliance of Mojo::Path. (janus)
  - Improved Mojo::Server::PSGI to preload applications.
  - Improved FastCGI detection for Dreamhost. (garu)
  - Improved keep alive timeout handling in Mojo::Client.
  - Improved documentation. (rhaen)
  - Improved Mojo::ByteStream performance. (mons)
  - Improved Mojo::Parameters performance. (kimoto)
  - Improved Mojo::Message::Response parser resilience.
  - Improved template class handling in MojoX::Renderer. (vti)
  - Fixed a serious design flaw in Mojo::Message and made long poll much
  - Fixed a bug where Mojo::IOLoop connections could be closed too early.
  - Fixed a bug where a broken renderer could cause a fatal exception.
  - Fixed HTTPS support for CGI environments.
  - Fixed a auto rendering bug related to bridges.
  - Fixed Mojo::IOLoop Windows support.
  - Fixed Mojo::DOM class selector bug. (tempire)
  - Fixed small render bug. (skaurus)
  - Fixed a small renderer bug.
  - Fixed automatic reloading for external templates.
  - Fixed after_build_tx plugin hook callback order.
  - Fixed a small under bug in Mojolicious::Lite.
  - Fixed logging of UTF-8 errors. (und3f)
  - Fixed Mojo::DOM parser bug. (esskar)
  - Fixed TLS handshake bug in Mojo::IOLoop. (und3f)
  - Fixed a small Test::Mojo bug.
  - Fixed multiple route condition bugs. (esskar)
  - Fixed a small relative path bug in Mojo::URL.
  - Fixed pod renderer bug. (vti)
  - Fixed a multipart parser bug affecting mostly file uploads.
  - Fixed input tag helper escaping. (vti)
  - Fixed url_for WebSocket support.
  - Fixed url_for format handling.

0.999929  2010-08-17
  - Removed OS X resource fork files.

0.999928  2010-08-15
  - Fixed a security problem with CGI environment detection.
  - Fixed redirect_to without content and render_static bug.
  - Fixed nested partial rendering bug. (yko)
  - Fixed multiple small Mojo::DOM bugs. (yko)

0.999927  2010-08-15
  - Code name "Comet", this is a major release.
  - Added EXPERIMENTAL method defaults to Mojolicious.
  - Added EXPERIMENTAL method detour to MojoX::Dispatcher::Routes.
  - Added EXPERIMENTAL attribute partial to MojoX::Routes.
  - Added EXPERIMENTAL CSS3 selector tests to Test::Mojo.
  - Added EXPERIMENTAL method test_server to Mojo::Client.
  - Added EXPERIMENTAL oneliner module ojo.
  - Added EXPERIMENTAL support for static files in the DATA section of
    Mojolicious applications.
  - Added EXPERIMENTAL Bonjour support.
  - Added EXPERIMENTAL support for route name generation.
  - Added graceful shutdown support to Mojo::Server::Daemon.
  - Added multiple guides and improved documentation substantially.
  - Added finished callback support for HTTP transactions.
  - Added relative path support to Mojo::URL. (marcus)
  - Added simple iterator support to Mojo::DOM.
  - Added XML namespace support to Mojo::DOM.
  - Added is_xhr method to Mojo::Message::Request.
  - Added detect_proxy method to Mojo::Client. (DaTa)
  - Added say and trim methods to Mojo::ByteStream.
  - Added custom socket support to Mojo::Client.
  - Added SHA1 support to Mojo::ByteStream. (vti)
  - Added app helper.
  - Renamed attributes method in Mojo::DOM to attrs.
  - Renamed search method in Mojo::DOM to find.
  - Cleaned up tests. (memowe)
  - Cleaned up regular expressions in Mojo::DOM. (mpu)
  - Improved Mojo::Client error logging.
  - Improved Mojo::Template error messages.
  - Improved generated multipart messages to be 2 bytes shorter.
    (John Kingsley)
  - Improved conditions by allowing them to access the stash.
  - Fixed memory and file descriptor leaks in Mojo::Client.
  - Fixed Mojo::Server::Daemon::Prefork to use a random lock file by default.
  - Fixed Mojo::DOM to support escaped selectors.
  - Fixed Mojo::DOM parser bugs.
  - Fixed Mojo::DOM child listing bug. (evt)
  - Fixed Mojo::DOM multiline attribute bug. (tempire)
  - Fixed charset detection of the dom builder in Mojo::Message. (und3f)
  - Fixed json/data rendering with layouts in MojoX::Renderer.
  - Fixed Mojo::IOLoop to not stop unexpectedly.
  - Fixed graceful shutdown in Mojo::Server::Daemon::Prefork.
  - Fixed Mojo::Server::CGI and Mojo::Server::FastCGI to be more portable.
  - Fixed poll + tls support.
  - Fixed language switching in Mojolicious::Plugin::I18n.
  - Fixed async Mojo::Client tests.
  - Fixed HTML1 and HTML5 compatibility of Mojo::DOM.
  - Fixed a selector bug in Mojo::DOM.
  - Fixed environment detection.
  - Fixed Mojolicious application embedding.
  - Fixed a tutorial bug. (zoul)
  - Fixed tests to not use any optional modules.
  - Fixed small Mojolicious::Lite bug. (sharifulin)
  - Fixed Mojo application generator. (zakame)
  - Fixed edgy stringified return value bug in MojoX::Dispatcher::Routes.
  - Fixed route rendering bug. (koban)
  - Fixed route without namespace bug.
  - Fixed route with mixed format bug. (sharifulin)
  - Fixed small url_for bug.
  - Fixed Mojo::IOLoop to not connect to TLS hosts without checking TLS
    support first. (ashleydev)
  - Fixed multiple WebSocket bugs.
  - Fixed Test::Mojo::Server to be more portable. (afresh1)
  - Fixed url_for to not expose userinfo in absolute URLs.
  - Fixed path detection bug in generated scripts. (merlyn)
  - Fixed a small redirect bug in Mojo::Client.
  - Fixed a route callback inheritance bug.
  - Fixed a security problem in the HMAC MD5 implementation. (vti)

0.999926  2010-06-07
  - Added version requirement for all optional dependencies.
  - Improved documentation.
  - Fixed async client processing.
  - Fixed small renderer bug.

0.999925  2010-06-07
  - Updated WebSocket implementation to draft 76, NOTE THAT THIS CHANGE IS
    (sadly we have no choice when the spec changes)
  - Increased Perl version requirement to 5.8.7 due to unicode bugs in
    earlier releases.
  - Switched to app->start instead of shagadelic as default way to start
    Mojolicious::Lite apps in the documentation.
  - Made tutorial examples more business friendly.
  - Added the ability to use Mojolicious::Lite apps as Mojolicious
  - Added EXPERIMENTAL XML DOM parser with CSS3 selector support.
  - Added EXPERIMENTAL tag_helper plugin to Mojolicious. (vti)
  - Added EXPERIMENTAL success method to Mojo::Transaction.
  - Added EXPERIMENTAL json method and json_class attribute to Mojo::Message.
  - Added EXPERIMENTAL idle_cb attribute to Mojo::IOLoop.
  - Added more Perl-ish block syntax to Mojo::Template.
  - Added non-blocking TLS handshake support to Mojo::IOLoop.
  - Added proxy support to Mojo::Client.
  - Added the ability to have dispatch plugins.
  - Added "under" to Mojolicious::Lite.
  - Added file upload support to Mojo::Client. (yko)
  - Added higher precision timers to Mojo::IOLoop. (vti)
  - Improved exception handling.
  - Improved documentation.
  - Improved IIS compatibility of the CGI implementation.
  - Improved routes by making the leading slash optional and storing route
    names in the stash.
  - Converted README to markdown. (memowe)
  - Fixed connection keep alive with epoll.
  - Fixed bridge bug in MojoX::Routes::Match.
    (Oleg Zhelo, Dmitry Konstantinov)
  - Fixed argument handling of Mojo::Template blocks. (afresh1)
  - Fixed a stash localization bug. (und3f)
  - Fixed Mojo::Log to use flock to sync log file writing.
  - Fixed daemons to listen on "::" for IPv6 and "" for IPv4 with a
    wildcard address.
  - Fixed lock_cb and unlock_cb exceptions to be fatal in Mojo::IOLoop, this
    makes Mojo::Server::Daemon::Prefork much more solid. (ask)
  - Fixed a bug that prevented undef values in the stash. (garu)
  - Fixed Mojo::Message::headers chaining. (markstos)
  - Fixed a bug in Mojo::JSON that prevented BOM characters in strings.
  - Fixed Mojo::JSON to not unescape broken surrogates. (chansen)
  - Fixed UTF-8 bug in Mojolicious::Plugin::JsonConfig. (vti)
  - Fixed Mojo::Parameters to accept array values. (konstantinov)
  - Fixed IRI routes in Mojolicious.
  - Fixed multiple path encoding bugs.
  - Fixed a loader bug.
  - Fixed reloading of inflated Mojolicious::Lite templates.
  - Fixed the client transaction builder. (Curt Tilmes)
  - Fixed unix domain socket support. (sharifulin)
  - Fixed a few regex bugs. (vti)
  - Fixed POD. (memowe)
  - Fixed typos. (jawnsy)

0.999924  2010-03-08
  - Added default TLS cert and key to Mojo::IOLoop to make HTTPS testing
    easier, so "mojo daemon --listen https://*:3000" now just works.
  - Added request limit support to the daemons.
  - Added basic authentication and proxy authentication support to
    Mojo::Message::Request. (esskar)
  - Added tick callback to Mojo::IOLoop to make mixing multiple event loops
  - Added the ability to pass arguments to Mojo::Template blocks.
  - Added layout support for partial rendering, in addition all render
    arguments are now localized.
  - Added more routes tests. (doubi)
  - Cleaned up documentation.
  - Cleaned up tests.
  - Relaxed Mojo::Server::CGI read timeout.
  - Fixed ioloop timers to actually work and added tests.
  - Fixed PSGI environment auto detection and removed .psgi file generator
    since it has become obsolete.
  - Fixed Mojolicious sessions to remove the session cookie immediately if
    it's not needed anymore. (ask)
  - Fixed routes method condition to consider GET and HEAD equal.
  - Fixed test requiring Perl 5.10.
  - Fixed a loader bug. (mvuets)
  - Fixed layout and extends scope in MojoX::Renderer. (korshak)
  - Fixed daemons to create listen sockets before changing user and group.

0.999923  2010-03-07
  - Made Mojo::Client sync by default with optional async support, this
    massively improves usability!
      my $tx = $client->get('');
      print $client->get('')->res->body;
      my $tx = $client->post_form('', {q => 'mojo'});
  - Made plugins much more configurable.
  - Improved PSGI support and added "psgi" command.
  - Added automatic environment detection for Plack based servers, there is
    no technical way to detect all PSGI compliant servers yet though. That
    means "plackup" and "plackup script/myapp" should just work.
  - Added session and flash helpers.
  - Added finished callback to WebSocket client and server.
  - Added referrer method to Mojo::Headers. (esskar)
  - Added finish_cb callback to Mojo::Message.
  - Added render_data method to Mojolicious::Controller.
  - Added formdata tests for multiple browsers. (koban)
  - Changed Mojolicious default secret to a slightly more secure value.
  - Allow parser errors to be handled by frameworks.
  - Removed bundled RFCs.
  - Fixed multiple Mojo::Template parser bugs.
  - Fixed epl rendering bug.
  - Fixed multipart form encoding and decoding.
  - Fixed IRI handling. (sharifulin)
  - Fixed mixed IRI/IDNA handling.
  - Fixed tmpdir detection.
  - Fixed typos.

0.999922  2010-02-11
  - Added session support.
  - Added signed cookie support.
  - Added I18N support. (vti, memowe)
  - Added template detection again, you can now just mix multiple template
    engines and the renderer will automatically pick the right template. So
    you don't have to use the "handler" argument anymore, even though it's
    still available and overrides auto detection.
  - Added Flash Policy Server example. (xantus)
  - Added more reference docs.
  - Added .gitignore generator command. (marcus)
  - Added automatic CGI/FastCGI environment detection to Mojo::Commands.
  - Renamed Mojolicious::Book to Mojolicious::Guides.
  - Removed hot deployment support for Windows because of incompatibilities
    between Active Perl and Strawberry Perl.
  - Made process id and lock file defaults more user-friendly in
  - Updated for Perl 5.12, not using the bytes pragma anymore.
  - Fixed a bug where WebSocket servers could not directly start sending
  - Fixed connection id handling in Mojo::Client.
  - Fixed multiple epoll bugs.
  - Fixed Mojo::IOLoop connection check.
  - Fixed identification headers.
  - Fixed a bug where exception pages would be rendered multiple times.
  - Fixed reverse proxy support. (vti)
  - Fixed error state in Mojo::Stateful. (vti)
  - Fixed seek bug. (lee7)
  - Fixed a PSGI header bug. (lee7)
  - Fixed typos.

0.999921  2010-02-11
  - Fixed a small kqueue bug.

0.999920  2010-02-11
  - Code name "Snowman", this is a major release, which means deprecation
    policies apply. (See also "perldoc Mojolicious::Book::CodingGuidelines")
  - Renamed distribution from Mojo to Mojolicious.
  - Deprecated $VERSION in Mojo, new $VERSION lives in Mojolicious. Make sure
    to update your modules depending on Mojo to depend on Mojolicious in the
  - Deprecated Mojo::Transaction::Single, make sure to update all old code to
    use Mojo::Transaction::HTTP instead.
  - MOJO_RELOAD=1 now works with Mojolicious::Lite, have fun!
  - Allow reloading to be triggered once by a USR1 or WINCH (win32) signal.
  - Added --reload flag to all server bindings as an alternative to
  - Added WebSocket support.
  - Added IPv6 support.
  - Added SSL/TLS support.
  - Added IDNA support.
  - Added UNIX domain socket support to daemons.
  - Added transparent kqueue and epoll support to daemons and client.
  - Added support for listening to multiple locations to the daemons.
      mojo daemon --listen
      mojo daemon --listen http://*:3000,http://*:3001,http://*:3002
      mojo daemon --listen http://[::1]:3000
      mojo daemon --listen https://*:443:/x/server.crt:/x/server.key
  - Added routes captures to params in Mojolicious.
  - Added native PSGI support.
  - Added the ability to have multiple Mojolicious::Lite apps at once.
    (Mojolicious::Lite is not a singleton anymore!)
  - Added charset plugin to Mojolicious. (charsbar)
  - Added simple reverse proxy support with tests.
  - Added simpler way to define default controller and action for a route.
  - Added simple way to define default controller or action for a route.
  - Added multipart post support to Test::Mojo. (yuki-kimoto)
  - Added env attribute to Mojo::Message::Request.
  - Added range support to MojoX::Dispatcher::Static. (xantus)
  - Added version command.
  - Added after_build_tx plugin hook.
  - Added timer support to Mojo::IOLoop.
  - Added the ability to run multiple parallel ioloops that block each other.
  - Added default_template_class attribute to MojoX::Renderer.
  - Added render_static method to Mojolicious::Controller.
  - Added support for embedded Mojolicious applications.
  - Added json_config plugin to Mojolicious. (vti)
  - Added the ability to reload the application and (graceful) restart all
    children to the prefork daemon.
  - Added to_hash and from_hash methods to Mojo::Headers. (vti)
  - Added post_form method to Mojo::Client.
  - Added find_route method to MojoX::Routes.
  - Added buffer size limits to the message parser.
  - Added child_status method to Mojo::Server::Daemon::Prefork. (und3f)
  - Added header_condition plugin to Mojolicious. (xantus)
  - Added finish method to Mojolicious::Controller.
  - Added WebSocket support to Mojolicious and Mojolicious::Lite.
  - Added message body support to Mojo::Client API. (tempire)
  - Added stash helper.
  - Added POD renderer plugin to Mojolicious. (vti)
  - Added inflate command to Mojolicious. (vti, korshak)
  - Added singleton support to Mojo::Client.
  - Started working on the Mojolicious book.
  - Started adding reference documentation. (marcus)
  - Improved HTTP 1.1 state machine.
  - Improved exception handling in Mojo::Client, Mojo::Server::Daemon and
  - Disabled Nagle's algorithm in Mojo::IOLoop.
  - Changed the testing framework to always run real world tests with daemon
    and TCP connections.
  - Changed exceptions to stay out of your way as much as possible.
  - Made all Mojolicious after_* plugin hooks run in reverse order.
  - Made param decoding more defensive and allow malformed data to pass
    through for debugging.
  - Made Mojo::IOLoop very hard to kill.
  - Reduced Mojolicious log output outside of development mode.
  - Polished Mojo::Client API.
  - Fixed connect error handling in Mojo::Client.
  - Fixed double encoding of JSON data with charset plugin. (yuki-kimoto)
  - Fixed prefork daemon signal handling.
  - Fixed backslash encoding bug in Mojo::JSON.
  - Fixed memory leaks in Mojolicious plugins. (sharifulin)
  - Fixed memory leaks in .ep templates. (vti)
  - Fixed makefile and app generators.
  - Fixed a case where an ending tag would be interpreted as a line start in
  - Fixed multipart charset handling and added the ability to disable param
  - Fixed format detection bug. (marcus)
  - Fixed named url_for and added tests. (marcus)
  - Fixed decamelize of multiple upper case characters.
  - Fixed plugins and commands to work with multiple namespaces and
  - Fixed multiple process calls in Mojo::Client.
  - Fixed a routes parser bug.
  - Fixed a bug that caused waypoint actions to run twice.
  - Fixed a bug where to_abs and to_rel could not be called multiple times on
    a Mojo::URL object. (vti)
  - Fixed development mode log level. (ka2u)
  - Fixed query string support in Mojo::URL. (vti)
  - Fixed rendering without template name.
  - Fixed large file upload bug. (vti, sharifulin)
  - Fixed a small inconsistency between relaxed and wildcared plaeholders.

0.999914  2009-11-24
  - Added the Mojolicious plugin system.
  - Added helper method to Mojolicious::Controller.
  - Added encoding support to post_form_ok in Test::Mojo.
  - Made cookies easier to set.
  - Fixed body_contains in Mojo::Content::Single. (yuki-kimoto)
  - Fixed utf8 output in STDERR log. (vti)

0.999913  2009-11-24
  - Added automatic content decoding to content helpers in Test::Mojo.
  - Added json test helper to Test::Mojo.
  - Added the ability to reset a test session in Test::Mojo. (yuki-kimoto)
  - Fixed Mojolicious::Renderer to always default to rendering a 404 error.
  - Fixed a cookiejar bug and added tests. (yuki-kimoto)

0.999912  2009-11-24
  - Improved ioloop performance. (gbarr)

0.999911  2009-11-14
  - Added template inheritance to Mojolicious.
  - Added block and capturing support to Mojo::Template.
  - Added trimming support to Mojo::Template.
  - Added new testing framework for Mojo and Mojolicious applications.
  - Added redirect support to Mojo::Client. (acajou)
  - Added cookie jar to Mojo::Client. (acajou)
  - Excluded Mojo::ByteStream objects from auto escaping.
  - Updated Mojolicious::Lite tutorial.
  - Fixed a case where routes captures got false positives.
  - Fixed literal name handling in Mojo::JSON. (rsp)
  - Fixed unicode detection in Mojo::JSON. (rsp)
  - Fixed multiple small bugs in Mojo::JSON. (rsp)
  - Fixed Mojolicious default app tests. (yuki-kimoto)
  - Fixed Mojo::Server::FCGI compatibility.

0.999910  2009-11-14
  - Fixed url_for without endpoint bug.
  - Fixed BOM handling in Mojo::JSON. (rsp)
  - Fixed named redirect_to with arguments.
  - Improved Mojo::Exception. (yuki-kimoto)

0.999909  2009-11-11
  - Cleaned up tutorial.
  - FIxed renderer exception bug. (yuki-kimoto)

0.999908  2009-11-11
  - Fixed bridges/ladders and added tests.

0.999907  2009-11-11
  - Fixed another connection close bug in ioloop.
  - Fixed relaxed placeholder format handling in MojoX::Routes::Pattern.

0.999906  2009-11-11
  - Fixed connection close bug in ioloop.

0.999905  2009-11-11
  - Fixed routes bug that prevented the root from having formats.

0.999904  2009-11-10
  - Cleaned up examples.

0.999903  2009-11-10
  - Added ladders to Mojolicious::Lite, they are like bridges but lite.
  - Added encoding support to renderer. (likhatskiy)
  - Added dumper helper.
  - Made tmpdir in Mojo::Asset::File configurable.

0.999902  2009-11-01
  - Added include helper.
  - Optimized buffering a bit.
  - Fixed a case where multiple clients would taint the shared ioloop.
  - Fixed a case where non existing actions were considered a server error.
    (Andre Vieth)
  - Fixed typos.

0.999901  2009-09-01
  - Added new Mojo::Client, because the old one had bugs that prevented
    proper scaling and could not be fixed otherwise. Note that this change is
    not backwards compatible, the decision to make it so close to the 1.0
    release was not easy but the bugs were simply too serious.
  - Added native JSON support.
  - Added more designer friendly .ep templates to Mojolicious. The default
    template format for your application can be controlled with the
    default_handler attribute of the mojolicious renderer.
    Mojolicious (in the startup method):
  - Added helper support for .ep templates.
  - Added callback tests. (melo)
  - Added support for MOJO_CHUNK_SIZE=1. (melo)
  - Added not_found.html.* templates.
  - Added input streaming support to Mojo::Content.
  - Added client, param, pause, redirect_to and resume to
  - Renamed Mojo::Manual to Mojolicious::Book.
  - Updated Mojolicious lite_app generator to use .ep templates.
  - Fixed many bugs in the HTTP 1.1 state machine and added the ability to
    pause transactions.
  - Fixed param to be compatible.
  - Fixed a few cases where exceptions and not found events would result in
    empty pages.
  - Fixed layouts with partial templates.
  - Fixed encoding of non utf8 form data.
  - Fixed body callbacks to get automatic buffering.
  - Fixed a case where Mojo::Server::Daemon and Mojo::Client were too
    defensive and made them in turn 20 times faster.
  - Fixed keep alive problem in Mojo::Transaction::Pipeline.
  - Fixed and simplified Mojo::Parameters. (gbarr)
  - Fixed xml_escape to use character semantics. (vti)
  - Fixed utf8 handling of routes captures. (vti)
  - Fixed body helper in Mojo::Message and added tests. (vti)
  - Fixed padding byte handling in Mojo::Server::FastCGI. (Jaroslav Muhin)
  - Fixed a few small parser bugs in MojoX::Routes and added tests.
  - Fixed Mojo::Asset::File and added tests. (Yuki Kimoto)
  - Fixed generated scripts. (Yuki Kimoto)
  - Fixed CHLD signal handler for prefork children. (sharifulin)
  - Fixed typo.

0.991251  2009-08-18
  - Fixed continue timeout handling in Mojo::Transaction::Simple.
  - Fixed undefined value in If-Modified-Since check in
  - Fixed MojoX::Routes::Pattern::match. (trendels)
  - Fixed default_handler in MojoX::Renderer. (sharifulin)
  - Fixed HTML5 tags. (xantus)
  - Fixed special Apache CGI environment cases.
  - Fixed Mojo::Log to work with older versions of Perl.
  - Fixed typo.

0.991250  2009-08-18
  - This release contains many substantial changes that are not backwards
    compatible, but good news is that it's also the last major feature
    breaking release before 1.0. ;) Older releases of Mojo did contain
    additional Mojo::Script::* and Mojolicious::Script::* modules that are
    obsolete now and might break this version if they are still present on
    your system. Because of this we highly suggest that you DELETE ALL
    MODULES IN THE "Mojo", "MojoX" AND "Mojolicious" NAMESPACES MANUALLY!!!
  - Mojo::Script has been renamed to Mojo::Command, this change is not
    backwards compatible! You will have to regenerate application scripts or
    replace "Mojo(licious)::Script" with "Mojo(licious)::Command" manually.
  - Removed unused features from Mojo::Base and simplified API, this change
    is not backwards compatible!
      __PACKAGE__->attr('foo', default => 'bar');
      __PACKAGE__->attr(foo => 'bar');
  - Merged eplite and epl, this change is not backwards compatible, you will
    have to rename all your eplite templates to epl.
  - Simplified MojoX::Renderer, this change is not backwards compatible!
    Handler can no longer be detected, that means "default_handler" or the
    "handler" argument are required. The template argument can no longer
    contain format or handler.
      $self->render(template => 'foo.html.epl')
      $self->render('foo', format => 'html', handler => 'epl')
    The following forms are available now.
      $self->render(controller => 'foo', action => 'bar');
      $self->render({controller => 'foo', action => 'bar'});
      $self->render(text => 'Hello!');
      $self->render(template => 'index');
      $self->render(template => 'foo/index');
        template => 'index',
        format   => 'html',
        handler  => 'epl'
      $self->render(handler => 'something');
      $self->render('foo/bar', format => 'html');
      $self->render('foo/bar', {format => 'html'});
    For renderers the stash will no longer get an updated template, instead a
    new argument will be passed along.
        {template => 'foo/bar', format => 'html', handler => 'epl'}
  - Simplified context and controller in Mojolicious, this change is not
    backwards compatible! If you've been using a custom context object you'll
    now have to use a custom controller base class. The new controller_class
    attribute can now be used to set the default controller in Mojolicious.
    There is also no $c argument anymore actions get called with, since
    everything is in $self now.
  - Refactored and renamed Mojo::Transaction and Mojo::Pipeline, this change
    is not backwards compatible!
      Mojo::Transaction -> Mojo::Transaction::Single
      Mojo::Pipeline -> Mojo::Transaction::Pipeline
  - Refactored and renamed Mojo::File and Mojo::File::Memory, this change is
    not backwards compatible!
      Mojo::File -> Mojo::Asset::File
      Mojo::File::Memory -> Mojo::Asset::Memory
  - Refactored and renamed Mojo::Content, this change is not backwards
      Mojo::Content -> Mojo::Content::Single
  - Added conditions to MojoX::Routes.
  - Added routes script to Mojolicious.
  - Simplified Mojo::Base.
  - Simplified exceptions.
  - Changed Mojo::Log to default to utf8 when writing to a file.
  - Cleaned up Mojo::Date.
  - Cleaned up Mojo::Transaction.
  - Made build_tx a callback named build_tx_cb in Mojo.
  - Made the exception template a bit more fault tolerant.
  - Made controller base class configurable in MojoX::Dispatcher::Routes.
  - Removed address, password and user methods from Mojo::URL.
  - Fixed Microsoft IIS CGI and FastCGI environment support.
  - Fixed prefix handling in MojoX::Dispatcher::Static.
  - Fixed max_age in Mojo::Cookie.
  - Fixed cloning of urls with base in Mojo::URL.
  - Fixed parsing of multiple headers and cookies with same name.
  - Fixed pipeline support in Mojo::Client. (acajou)
  - Fixed utf8 handling in Mojo::Parameters. (vti)
  - Fixed Mojo::Scripts to only allow word characters in script names.
  - Fixed security problem in MojoX::Dispatcher::Static. (trendels)

0.991246  2009-08-01
  - Fixed typo.

0.991245  2009-07-31
  - Added spin_app to Mojo::Client and simplified API.
  - Added port support to Mojo::Cookie.
  - Made chunk size configurable with MOJO_CHUNK_SIZE environment variable.
  - Simplified script system startup.
  - Cleaned up server tests.
  - Fixed win32 bug where eplite templates would not be detected right.

0.991244  2009-07-30
  - Fixed package.

0.991243  2009-07-28
  - Made eplite ignore everything after __END__.
  - Made proxy support more portable.
  - Simplified progress callbacks.
  - Cleaned up internal Mojo APIs.
  - Added local host bin address support to Mojo::Server::Daemon.
  - Fixed layouts on win32 and made templates portable, "/" is now the
    separator on all platforms. (charsbar)
  - Fixed dependency on Getopt::Long 2.38. (kevinold)
  - Fixed Perl 5.8.1 prereqs. (alias)

0.991242  2009-07-27
  - 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
  - Fixed a bridge bug in MojoX::Dispatcher and added tests.

0.991241  2009-07-20
  - Mojolicious::Lite has been introduced as a new entry level web framework
  - 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
  - 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
  - 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
  - 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
  - Fixed all shebang lines.

0.991237  2009-07-15
  - Renamed process_local to process_app in Mojo::Client, this change is not
    backwards 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
  - Updated Mojo and Mojolicious to log to STDERR if log directory isn't
  - Updated Mojo and Mojolicious to work without boilerplate and a single 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
  - 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
  - Removed prepare/finalize methods from Mojolicious.
  - Fixed typos.

0.991234  2009-07-03
  - 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
  - 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
  - Fixed tarball.

0.991231  2009-06-29
  - Rewrote MojoX::Renderer, it is not backwards compatible and templates
    need to be renamed in the following 3 part format ""!
  - Added exception support to MojoX::Dispatcher::Routes, this change is not
    backwards compatible and "dispatch" calls now return exception objects
    for errors and false otherwise.
  - Changed routes syntax, this change is not backwards 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
  - Added Makefile.PL generator.
  - Added HttpOnly support to Mojo::Cookie. (burak)
  - Support more CGI implementations.
  - Added support for namespaces only dispatching in
  - 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
  - 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
  - Added local_address(), local_port(), remote_address() and remote_port()
    to Mojo::Transaction.
  - Improved tests.
  - Fixed some typos.

0.9001  2009-01-28
  - Added proper home detection to Mojo itself. (charsbar)
  - Fixed a bug where errors got cached in the router. (charsbar)
  - Updated error handling in MojoX::Dispatcher::Static.
  - Fixed Mojo::Message::Request::cookies() to always return an array
  - Fixed url_for to support references. (vti)
  - Fixed unescaping of captures. (vti)
  - Fixed typos. (uwe)

0.9  2008-12-01
  - 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
  - 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
  - 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
  - Fixed multipart parsing for short requests.
  - Fixed content file storage to specific file.
  - Fixed lower case appclasses.

0.8007  2008-11-07
  - 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
  - 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
  - Fixed version. (Andreas Koenig)
  - Fixed typos.

0.8.4  2008-11-04
  - 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
  - Added documentation. (Mark Stosberg)

0.8.3  2008-11-03
  - 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
  - Removed OS X resource fork files.

0.8.1  2008-11-01
  - Made "daemon.t" developer only.
  - Fixed typos.

0.8  2008-10-21
  - 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
  - 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
  - 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
  - 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/ 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
  - Many more bugfixes.

0.5  2008-09-24
  - Many small bugfixes.

0.4  2008-09-24
  - Moved everything into the Mojo namespace.

0.3  2008-09-24
  - Fixed documentation.

0.2  2008-09-24
  - First release.