Catalyst 5.70 devel release

LTjake on 2006-06-28T13:21:25

There have been some new developments on the Catalyst front of late. A basic list can be found in the Changes file.

In particular...

Split of development and deployment code

We've called the development distro Catalyst-Devel and the deployment distro Catalyst-Runtime. By doing so, we've accomplished a few things:

  • Unbundled any plugins which used to be "core" modules. They are now just dependencies of Catalyst-Devel.
  • Simplified Catalyst's installation in a server environment. Although they may be required in your app, module such as Template Toolkit, and YAML are no longer needed simply to get Catalyst up and running on a server.

Documentation overhaul

Some serious work has gone in to making the documentation as useful and complete as possible. The inclusion of a multi-part tutorial is particularly nice. It brings together all of the bits of code and documentation that have been spread across the advent calendar, mailing list and various distributions on CPAN.

Dependency juggling/code cleanup

We were able to remove all instances of each(), replace some code with, better, Class::Inspector-based idioms, and add a standard config hash merging sub. With respect to dependencies...

  • Removed UNIVERSAL::require
  • Removed Test::NoWarnings
  • Removed Test::MockObject
  • Swapped out Module::Pluggable::Fast for Module::Pluggable::Object
  • Swapped out CGI::Cookie for CGI::Simple::Cookie
  • Added Data::Dump (nicer debug output)

Dispatcher goodies

In order to create paths like /list/1/message/2/attachment/3 you would normally have to some dispatching trickery on your own. Even have a pulling out a path-prefix (i.e /prefix/regular/path) required a little bit of a "hack".

The introduction of PathPart/Chained/CaptureArgs/Args dispatching removes those ugly hacks.

As the smoke testers and users report back to us, we'll see if another development release is required, or perhaps this is ready for production use.

Enjoy!