Security Advisories (1)

Changes for version 9.53 - 2026-10-25

  • Added any, delete, get, options, patch, post, put, query, under and websocket methods to Mojolicious, as shortcuts for the same methods on the routes attribute.
  • Added support for all server commands to morbo, like "morbo ./myapp.pl prefork -w 2". The server now runs in a separate process, so the daemon attribute of Mojo::Server::Morbo is only used to create listen sockets, and server settings need to be passed to the command instead, like "morbo ./myapp.pl daemon -p -i 30". That also means Morbo no longer works on platforms with fork emulation, such as native Windows (use WSL instead).
  • Added exec attribute to Mojo::Server::Morbo and -x/--exec option to morbo, to start additional commands like asset bundlers in watch mode alongside the server.
  • Improved url_for_asset in Mojolicious::Controller to find assets that have been rebuilt with different names in development mode.
  • Improved at performance in Mojo::DOM for selectors without combinators, it now stops at the first match.
  • Improved HTML/XML parsing performance in Mojo::DOM by up to 35%, the tokenizer now matches attributes only once.
  • Fixed a bug in Mojo::DOM where many unclosed comments, CDATA sections, processing instructions or RCDATA elements could make parsing extremely slow.

Documentation

The Mojolicious Guide to the Galaxy
Contributing to Mojolicious
Cooking with Mojolicious
Frequently Asked Questions
Growing Mojolicious applications
Rendering content
Routing requests
Web Application Testing Made Easy
Get started with Mojolicious
Hypnotoad HTTP and WebSocket server
The Mojolicious command system
Morbo HTTP and WebSocket development server

Modules

Web development toolkit
HTTP content storage base class
File storage for HTTP content
In-memory storage for HTTP content
Minimal base class for Mojo projects
Common utility functions used in Mojo::Base, re-exported in Mojo::Util
ByteStream
Naive in-memory cache
Collection
HTTP content base class
HTTP multipart content
HTTP content
HTTP cookie base class
HTTP request cookie
HTTP response cookie
Minimalistic HTML/XML DOM parser with CSS selectors
CSS selector engine
HTML/XML engine
HTTP date
Fast dynamic method dispatch
Event emitter base class
Exception base class
File system paths
HTTP headers
Hello World!
Home sweet home
Minimalistic event loop
Non-blocking TCP/IP and UNIX domain socket client
Non-blocking TCP and UNIX domain socket server
Non-blocking I/O stream
Non-blocking TLS handshake
Minimalistic JSON
JSON Pointers
Load all kinds of things
Simple logger
HTTP message base class
HTTP request
HTTP response
Parameters
Path
Promises/A+
Low-level event reactor base class
Low-level event reactor with libev support
Low-level event reactor with poll support
Server-Sent Events
HTTP/WebSocket server base class
CGI server
Non-blocking I/O HTTP and WebSocket server
A production web serv...ALL GLORY TO THE HYPNOTOAD!
Tonight at 11...DOOOOOOOOOOOOOOOM!
Morbo backend base class
Morbo default backend
PSGI server
Pre-forking non-blocking I/O HTTP and WebSocket server
Perl-ish templates
Transaction base class
HTTP transaction
WebSocket transaction
Uniform Resource Locator
Upload
Non-blocking I/O HTTP and WebSocket user agent
Cookie jar for HTTP user agents
User agent proxy manager
Application server
User agent transactor
Portable utility functions
The WebSocket protocol
Real-time web framework
Command base class
Command line interface
Controller base class
Micro real-time web framework
Plugin base class
Perl-ish configuration plugin
Default helpers plugin
Embedded Perl Lite renderer plugin
Embedded Perl renderer plugin
Header condition plugin
JSON configuration plugin
Application mount plugin
Not quite YAML configuration plugin
Tag helpers plugin
Plugin manager
Generate dynamic content
Always find your destination with routes
Session manager based on signed cookies
Serve static files
MIME types
Validate values
Testing Mojo
ojo
Fun one-liners with Mojo

Provides

in lib/Mojo/Log.pm
in lib/Mojo/Server/PSGI.pm
in lib/Mojo/Util.pm