Note Catalyst::Base deprecation warnings, tweak setup_finalize doc
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Delta.pod
CommitLineData
6c18e892 1=head1 Deltachanges from 5.7 to 5.8
2
7df44a71 3This is an overview of the user visible changes in 5.8.
b31499bc 4
5=head2 Deprecations
6
e88235ff 7Please see L<Catalyst::Upgrading> for a full description of how changes in the
8framework may affect your application.
9
10Below is a brief list of features which have been deprecated in this release:
11
796a8358 12=over
b31499bc 13
796a8358 14=item ::[MVC]:: style naming scheme has been deprecated and will warn
b31499bc 15
e88235ff 16=item NEXT is deprecated for all applications and components, use MRO::Compat
b31499bc 17
e88235ff 18=item Dispatcher methods which are an implementation detail made private, public versions now warn.
b31499bc 19
e88235ff 20=item MyApp->plugin method is deprecated, use L<Catalyst::Model::Adaptor> instead.
796a8358 21
0a3b8de0 22=item __PACKAGE__->mk_accessors() is supported for backward compatibility only, use Moose attributes instead in new code.
23
7df44a71 24=item Use of Catalyst::Base now warns
25
796a8358 26=back
27
0a3b8de0 28=head2 New features
29
30=head3 Dispatcher
b31499bc 31
7df44a71 32=over
33
34=item Fix forwarding to Catalyst::Action objects.
35
36=item Add the dispatch_type method
37
38=back
b31499bc 39
0a3b8de0 40=head3 Restarter
b31499bc 41
6171ddd5 42The development server restarter has been improved to be compatible with
43immutable Moose classes, and also to optionally use
44L<B::Hooks::OP::Check::StashChange> to handle more complex application layouts
45correctly.
b31499bc 46
7df44a71 47=head3 $c->uri_for_action method.
b31499bc 48
7df44a71 49Give a private path to the Catalyst action you want to create a URI for.
6c18e892 50
0a3b8de0 51=head3 Logging
b31499bc 52
7df44a71 53Log levels have been made additive.
b31499bc 54
0a3b8de0 55=head3 L<Catalyst::Test>
56
57=over
58
59=item Change to use L<Sub::Exporter>.
60
0a3b8de0 61=item Support mocking multiple virtual hosts
62
63=item New methods like action_ok and action_redirect to write more compact tests
64
65=back
66
7df44a71 67=head3 Catalyst::Response
0a3b8de0 68
7df44a71 69=over
70
71=item *
72
73New print method which prints @data to the output stream, separated by $,.
74This lets you pass the response object to functions that want to write to an
75L<IO::Handle>.
76
77=item *
78
79Added code method as an alias for C<< $res->status >>
0a3b8de0 80
b31499bc 81=head2 Consequences of the Moose backend
82
796a8358 83=over
84
85=item *
86
7df44a71 87Components are fully compatible with Moose, and all Moose features, such as
88method modifiers, attributes, roles, BUILD and BUILDARGS methods are fully
89supported and may be used in components and applications.
90
91=item *
92
93Many reusable extensions which would previously have been plugins or base
94classes are better implemented as Moose roles.
95
96=item *
97
98L<MooseX::MethodAttributes::Inheritable> is used to contain action
99attributes. This means that attributes are represented in the MOP, and
100decouples action creation from attributes.
796a8358 101
102=item *
103
0a3b8de0 104There is a reasonable API in Catalyst::Controller for working with
796a8358 105and registering actions, allowing a controller sub-class to replace
106subroutine attributes for action declerations with an alternate
0a3b8de0 107syntax.
796a8358 108
109=item *
110
0a3b8de0 111Refactored capturing of $app from L<Catalyst::Controller> into
112L<Catalyst::Component::ApplicationAttribute> for easier reuse in other
7df44a71 113components.
114
115=item *
116
117Your application class is forced to become immutable at the end of compilation.
118
119=back
120
121=head2 Bug fixes
122
123=over
124
125=item *
126
127Don't ignore SIGCHLD while handling requests with the dev server, so that
128system() and other ways of creating child processes work as expected.
129
130=item *
131
132Fixes for FastCGI when used with IIS 6.0
133
134=item *
135
136Fix a bug in uri_for which could cause it to generate paths with multiple
137slashes in them.
796a8358 138
139=item *
140
7df44a71 141Fix a bug in Catalyst::Stats, stopping garbage being inserted into
142the stats if a user calls begin => but no end
796a8358 143
144=back
145