Mojolicious 4.0 released: Perl real-time web framework


It fills me with great joy to announce our classiest release yet, Mojolicious 4.0 (Top Hat).

This is the first major release for the newest member of our core team, please welcome Dr. Joel Berger, he was responsible for many of the new features. It has only been 11 months since our 3.0 release and the new development process is working out very well for us so far. The community keeps growing fast, we’ve now been starred almost 900 times on GitHub and the IRC channel regularly reaches more than 150 visitors, thanks everyone!

While the main focus of this release has been on the removal of legacy APIs, there are also quite a few new features, here are the highlights:

  • Content generators: “json” and “form” generators are built right in. (example)
  • JSON WebSocket messages: Native serialization and deserialization support. (example)
  • JSON WebSocket tests: Just as easy to use as their HTTP equivalents. (example)
  • Event synchronization: Avoid callback spaghetti with delays. (example)
  • Scalability: The event loop got a lot better at managing more than 10k concurrent connections. (example)
  • Smooth restarting: The Morbo development web server does not have any noticeable downtime while restarting anymore.
  • Hooks: The framework got more extensible with new hooks. (example)
  • GZip: Compression is now transparently supported by the user agent.
  • HTML5 forms: Tag helpers have been added for many of the new form elements. (example)
  • Session expiration: Can now be controlled with a relative value that persists within the session. (example)
  • GET/POST parameters: Retrieve multiple values at once with the much more secure multi name form. (example)
  • JSON Pointers: Now fully RFC 6901 compliant. (example)
  • Monotonic clock support: All built-in web servers are now very resilient to time jumps.

And as usual there is a lot more to discover, see Changes on GitHub for the full list of improvements.

Have fun!

  1. alphasdevlog reblogged this from kraih
  2. xiaoyafeng reblogged this from kraih
  3. kraih posted this