=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. =item __PACKAGE__->mk_accessors() is supported for backward compatibility only, use Moose attributes instead in new code. =back =head2 New features =head3 Dispatcher Fix forwarding to Catalyst::Action objects (Rafael Kitover). =head3 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. =head3 $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 >>. =head3 Logging Log levels have been madeadditive, and add documentation to the setup_log method. =head3 L =over =item Change to use L. =item Port to L. =item Support mocking multiple virtual hosts =item New methods like action_ok and action_redirect to write more compact tests =back =head3 $c->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. =head2 Consequences of the Moose backend =over =item * L used to contain action attributes. This means that attributes are now represented in the MOP, allowing method modifiers on actions to work as expected. =item * 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 declerations with an alternate syntax. =item * Refactored capturing of $app from L into L for easier reuse in other components =item * Your application is forced to become immutable after the setup method is called. =back