Re-arrange, reformatting, add a coupla bits, remove a couple of non-relevant bits
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Delta.pod
1 =head1 Deltachanges from 5.7 to 5.8
2
3 This is an overview of the user visible changes in 5.8
4
5 =head2 Deprecations
6
7 Please see L<Catalyst::Upgrading> for a full description of how changes in the
8 framework may affect your application.
9
10 Below is a brief list of features which have been deprecated in this release:
11
12 =over
13
14 =item ::[MVC]:: style naming scheme has been deprecated and will warn
15
16 =item NEXT is deprecated for all applications and components, use MRO::Compat
17
18 =item Dispatcher methods which are an implementation detail made private, public versions now warn.
19
20 =item MyApp->plugin method is deprecated, use L<Catalyst::Model::Adaptor> instead.
21
22 =item __PACKAGE__->mk_accessors() is supported for backward compatibility only, use Moose attributes instead in new code.
23
24 =back
25
26 =head2 New features
27
28 =head3 Dispatcher
29
30 Fix forwarding to Catalyst::Action objects (Rafael Kitover).
31
32 =head3 Restarter
33
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
37 correctly.
38
39 =head3 $c->uri_for_action method. (hdp)
40
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 
44 C<< $c->uri_for >>.
45
46 =head3 Logging
47
48 Log levels have been madeadditive, and add documentation to the setup_log 
49 method.
50
51 =head3 L<Catalyst::Test>
52
53 =over
54
55 =item Change to use L<Sub::Exporter>.
56
57 =item Port to L<Moose>.
58
59 =item Support mocking multiple virtual hosts
60
61 =item New methods like action_ok and action_redirect to write more compact tests
62
63 =back
64
65 =head3 $c->response->print()
66
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>.
69
70 =head2 Consequences of the Moose backend
71
72 =over
73
74 =item *
75
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.
79
80 =item *
81
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
85 syntax.
86
87 =item *
88
89 Refactored capturing of $app from L<Catalyst::Controller> into
90 L<Catalyst::Component::ApplicationAttribute> for easier reuse in other
91 components
92
93 =item *
94
95 Your application is forced to become immutable after the setup
96 method is called.
97
98 =back
99