=head1 Deltachanges from 5.7 to 5.8 This is an overview of the user visible changes in 5.8 =head2 Deprecations Please see L 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: =over =item ::[MVC]:: style naming scheme has been deprecated and will warn =item NEXT is deprecated for all applications and components, use MRO::Compat =item Dispatcher methods which are an implementation detail made private, public versions now warn. =item MyApp->plugin method is deprecated, use L instead. =back =head2 Dispatcher Fix forwarding to Catalyst::Action objects (Rafael Kitover). =head2 Restarter The development server restarter has been improved to be compatible with immutable Moose classes, and also to optionally use L to handle more complex application layouts correctly. =head2 $c->uri_for_action method. (hdp) A private path to the Catalyst action you want to create a URI for. This is a shortcut for calling C<< $c->dispatcher->get_action_by_path($path) >> and passing the resulting C<$action> and the remaining arguments to C<< $c->uri_for >>. =head2 Logging Log levels have been madeadditive, and add documentation to the setup_log method. =head2 Consequences of the Moose backend =over =item * Use MooseX::MethodAttributes::Inheritable to contain action attributes. This means that attributes are now represented in the MOP, allowing method modifiers on actions to work as expected. (rafl) =item * Provide a reasonable API in Catalyst::Controller for working with and registering actions, allowing a controller sub-class to replace subroutine attributes for action declerations with an alternate syntax. (rafl/hdp) =item * Refactor capturing of $app from Catalyst::Controller into Catalyst::Component::ApplicationAttribute for easier reuse in other components (Florian Ragwitz) =item * Make MyApp immutable at the end of the scope after the setup method is called, fixing issues with plugins which have their own new methods by inlining a constructor on MyApp (t0m) =back =head2 Test Suite - Change Catalyst::Test to use Sub::Exporter (Florian Ragwitz). - Port to Moose - Support mocking virtualhosts in test suite () - Add methods like action_ok and action_redirect to write more compact tests =head2 Catalyst::Response->print() Prints @data to the output stream, separated by $,. This lets you pass the response object to functions that want to write to an L.