[Catalyst] [ANNOUNCE] Catalyst Runtime 5.80001

Tomas Doran bobtfish at bobtfish.net
Sat Apr 18 20:28:19 GMT 2009


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  
work.

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  
new features.

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:

http://files.perldition.org/Catalyst-Runtime-5.80001.tar.gz

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.
t0m

Full delta from 5.71:

   Deprecations:

     Please see Catalyst::Upgrading for a full description of how  
changes in
     the framework may affect your application.

     Below is a brief list of features which have been deprecated in  
this
     release:

     * ::[MVC]:: style naming scheme has been deprecated and will warn
     NEXT is deprecated for all applications and components, use  
MRO::Compat
     Dispatcher methods which are an implementation detail made private,
     public versions now warn.

     * MyApp->plugin method is deprecated, use Catalyst::Model::Adaptor
     instead.

     * __PACKAGE__->mk_accessors() is supported for backward  
compatibility
     only, use Moose attributes instead in new code.

     * Use of Catalyst::Base now warns

   New features:

    Dispatcher -
     * Fix forwarding to Catalyst::Action objects.
     * Add the dispatch_type method

    Restarter -
     * The development server restarter has been improved to be  
compatible with
       immutable Moose classes, and also to optionally use
       B::Hooks::OP::Check::StashChange to handle more complex  
application
       layouts correctly.

    $c->uri_for_action -
     Give a private path to the Catalyst action you want to create a  
URI for.

    Logging -
     Log levels have been made additive.

    Catalyst::Test -
     * Change to use Sub::Exporter.
     * Support mocking multiple virtual hosts
     * New methods like action_ok and action_redirect to write more  
compact
       tests

    Catalyst::Response -
     *   New print method which prints @data to the output stream,  
separated
         by $,. This lets you pass the response object to functions  
that want
         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,  
BUILD and
             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  
roles.

         *   MooseX::MethodAttributes::Inheritable is used to contain  
action
             attributes. This means that attributes are represented  
in the
             MOP, and decouples action creation from attributes.

         *   There is a reasonable API in Catalyst::Controller for  
working
             with and registering actions, allowing a controller sub- 
class to
             replace subroutine attributes for action declarations  
with an
             alternate syntax.

         *   Refactored capturing of $app from Catalyst::Controller into
             Catalyst::Component::ApplicationAttribute for easier  
reuse in
             other components.

         *   Your application class is forced to become immutable at  
the end
             of compilation.

   Bug fixes:

         *   Don't ignore SIGCHLD while handling requests with the
             development server, so that system() and other ways of  
creating
             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  
paths with
             multiple slashes in them.

         *   Fix a bug in Catalyst::Stats, stopping garbage being  
inserted
             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..



More information about the Catalyst mailing list