1 =head1 Deltachanges from 5.7 to 5.8
3 This is an overview of the user visible changes in 5.8
7 Please see L<Catalyst::Upgrading> for a full description of how changes in the
8 framework may affect your application.
10 Below is a brief list of features which have been deprecated in this release:
14 =item ::[MVC]:: style naming scheme has been deprecated and will warn
16 =item NEXT is deprecated for all applications and components, use MRO::Compat
18 =item Dispatcher methods which are an implementation detail made private, public versions now warn.
20 =item MyApp->plugin method is deprecated, use L<Catalyst::Model::Adaptor> instead.
22 =item __PACKAGE__->mk_accessors() is supported for backward compatibility only, use Moose attributes instead in new code.
30 Fix forwarding to Catalyst::Action objects (Rafael Kitover).
34 The development server restarter has been improved to be compatible with
35 immutable Moose classes, and also to optionally use
36 L<B::Hooks::OP::Check::StashChange> to handle more complex application layouts
39 =head3 $c->uri_for_action method. (hdp)
41 A private path to the Catalyst action you want to create a URI for.
42 This is a shortcut for calling C<< $c->dispatcher->get_action_by_path($path) >>
43 and passing the resulting C<$action> and the remaining arguments to
48 Log levels have been madeadditive, and add documentation to the setup_log
51 =head3 L<Catalyst::Test>
55 =item Change to use L<Sub::Exporter>.
57 =item Port to L<Moose>.
59 =item Support mocking multiple virtual hosts
61 =item New methods like action_ok and action_redirect to write more compact tests
65 =head3 $c->response->print()
67 Prints @data to the output stream, separated by $,. This lets you pass
68 the response object to functions that want to write to an L<IO::Handle>.
70 =head2 Consequences of the Moose backend
76 L<MooseX::MethodAttributes::Inheritable> used to contain action
77 attributes. This means that attributes are now represented in the MOP,
78 allowing method modifiers on actions to work as expected.
82 There is a reasonable API in Catalyst::Controller for working with
83 and registering actions, allowing a controller sub-class to replace
84 subroutine attributes for action declerations with an alternate
89 Refactored capturing of $app from L<Catalyst::Controller> into
90 L<Catalyst::Component::ApplicationAttribute> for easier reuse in other
95 Your application is forced to become immutable after the setup