The Catalyst Core Team is proud to announce that we've just shipped
the next major release of the Catalyst framework, version 5.8001.
This release is the result of the helpful contributions of a large
number of people, comprising documentation, new features, bug fixes
and entire branches of refactoring, and has taken over twelve months
Specifically this release would not have been possible without the
hard work put in by Guillermo Roditi and Scott McWhirter for the
initial port, and Florian Ragwitz on method attributes, as well as
their CPAN modules to support this. Huge thanks to those guys, and
also to everyone providing patches for documentation, bug fixes, and
The major focus of this release is refactoring, and porting to Moose,
which enables a lot of additional features, and gives you, the user,
a lot of additional power to use when building your applications, and
gives the Catalyst team a lot of power for extending the framework.
Current applications will still run unmodified, but new code and
extensions can start to fully take advantage of Moose.
A lot of (previously inadvisable) techniques have become officially
deprecated, producing warnings, and full documentation is provided in
the distribution to explain any changes which may affect your
applications or components. Extensive smoke testing for backwards
compatibility has taken place as part of the release process, and
we're confident that we haven't broken anything which wasn't a very
bad idea in the first place :)
The Runtime distributions will be on a CPAN mirror near you before
long, but until then you have the option of getting them here:
A further explanation of all the changes can be found in
Catalyst::Delta (included below).
Thank you for your attention, and for using our software.
Full delta from 5.71:
Please see Catalyst::Upgrading for a full description of how
the framework may affect your application.
Below is a brief list of features which have been deprecated in
* ::[MVC]:: style naming scheme has been deprecated and will warn
NEXT is deprecated for all applications and components, use
Dispatcher methods which are an implementation detail made private,
public versions now warn.
* MyApp->plugin method is deprecated, use Catalyst::Model::Adaptor
* __PACKAGE__->mk_accessors() is supported for backward
only, use Moose attributes instead in new code.
* Use of Catalyst::Base now warns
* Fix forwarding to Catalyst::Action objects.
* Add the dispatch_type method
* The development server restarter has been improved to be
immutable Moose classes, and also to optionally use
B::Hooks::OP::Check::StashChange to handle more complex
Give a private path to the Catalyst action you want to create a
Log levels have been made additive.
* Change to use Sub::Exporter.
* Support mocking multiple virtual hosts
* New methods like action_ok and action_redirect to write more
* New print method which prints @data to the output stream,
by $,. This lets you pass the response object to functions
to write to an IO::Handle.
* Added code method as an alias for "$res->status"
Consequences of the Moose back end:
* Components are fully compatible with Moose, and all Moose
features, such as method modifiers, attributes, roles,
BUILDARGS methods are fully supported and may be used in
components and applications.
* Many reusable extensions which would previously have been
plugins or base classes are better implemented as Moose
* MooseX::MethodAttributes::Inheritable is used to contain
attributes. This means that attributes are represented
MOP, and decouples action creation from attributes.
* There is a reasonable API in Catalyst::Controller for
with and registering actions, allowing a controller sub-
replace subroutine attributes for action declarations
* Refactored capturing of $app from Catalyst::Controller into
Catalyst::Component::ApplicationAttribute for easier
* Your application class is forced to become immutable at
* Don't ignore SIGCHLD while handling requests with the
development server, so that system() and other ways of
child processes work as expected.
* Fixes for FastCGI when used with IIS 6.0
* Fix a bug in uri_for which could cause it to generate
multiple slashes in them.
* Fix a bug in Catalyst::Stats, stopping garbage being
into the stats if a user calls begin => but no end
P.S. This release would also not have been possible without the
relentless list keeping, cat herding, dist smoking and bug fixing
done by t0m Doran, who is apparently too modest to point it out
P.P.S. mst made me add that..