The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 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 future.
  • 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 MOJO_RELOAD=1.
  • 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 http://127.0.0.1:3000 mojo daemon --listen http://127.0.0.1:3000,file:///tmp/my.sock 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. $r->route('/foo')->to('mycontroller#myaction');
  • Added simple way to define default controller or action for a route. (mvuets) $r->route('/foo/:controller')->to('#myaction'); $r->route('/foo/:action')->to('mycontroller#');
  • 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 Mojo::IOLoop.
  • 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 Mojo::Template.
  • Fixed multipart charset handling and added the ability to disable param decoding.
  • Fixed format detection bug. (marcus)
  • Fixed named url_for and added tests. (marcus)
  • Fixed decamelize of multiple uppercase characters.
  • Fixed plugins and commands to work with multiple namespaces and reloading.
  • 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.

Documentation

The Definitive Guide To Mojolicious
Frequently Asked Questions

Modules

The Box!
Asset Base Class
File Asset
In-Memory Asset
Minimal Base Class For Mojo Projects
ByteStream
Async IO HTTP 1.1 And WebSocket Client
Command Base Class
CGI Command
Daemon Command
Prefork Daemon Command
FastCGI Command
Generator Command
Application Generator Command
Makefile Generator Command
PSGI Generator Command
Get Command
Test Command
Version Command
Commands
HTTP 1.1 Content Base Class
HTTP 1.1 MultiPart Content Container
HTTP 1.1 Content Container
HTTP 1.1 Cookie Base Class
HTTP 1.1 Request Cookie Container
HTTP 1.1 Response Cookie Container
Cookie Jar For HTTP 1.1 User Agents
HTTP 1.1 Date Container
Exceptions With Context
HTTP 1.1 Filter Base Class
HTTP 1.1 Chunked Filter
Headers
Hello World!
Detect And Access The Project Root Directory In Mojo
Minimalistic Event Loop For TCP Clients And Servers
Minimalistic JSON
Loader
Simple Logger For Mojo
HTTP 1.1 Message Base Class
HTTP 1.1 Request Container
HTTP 1.1 Response Container
Parameter Container
Path
HTTP Server Base Class
CGI Server
Async IO HTTP 1.1 And WebSocket Server
Preforking HTTP 1.1 And WebSocket Server
FastCGI Server
PSGI Server
Stateful Base Class
Perlish Templates!
Transaction Base Class
HTTP 1.1 Transaction Container
WebSocket Transaction Container
Uniform Resource Locator
Upload Container
Controller Base Class
Routes Dispatcher
Serve Static Files
MIME Type Based Renderer
Always Find Your Destination With Routes
Routes Visitor
Routes Pattern
MIME Types
The Web In A Box!
Generator Command
App Generator Command
Lite App Generator Command
Controller Base Class
Micro Web Framework
Plugin Base Class
Agent Condition Plugin
Default Helpers Plugin
EP Renderer Plugin
EPL Renderer Plugin
Header Condition Plugin
JSON Configuration Plugin
POD Renderer Plugin
Powered By Plugin
Request Timer Plugin
Testing Mojo!
Server Tests

Provides

in lib/Mojo/JSON.pm
in lib/Mojo/Server/PSGI.pm