Version 5.80001.
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Delta.pod
CommitLineData
25f61108 1=head1 Delta changes from 5.7 to 5.8
6c18e892 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
d5a6de01 81=back
82
25f61108 83=head2 Consequences of the Moose back end
b31499bc 84
796a8358 85=over
86
87=item *
88
7df44a71 89Components are fully compatible with Moose, and all Moose features, such as
90method modifiers, attributes, roles, BUILD and BUILDARGS methods are fully
91supported and may be used in components and applications.
92
93=item *
94
95Many reusable extensions which would previously have been plugins or base
96classes are better implemented as Moose roles.
97
98=item *
99
100L<MooseX::MethodAttributes::Inheritable> is used to contain action
101attributes. This means that attributes are represented in the MOP, and
102decouples action creation from attributes.
796a8358 103
104=item *
105
0a3b8de0 106There is a reasonable API in Catalyst::Controller for working with
796a8358 107and registering actions, allowing a controller sub-class to replace
25f61108 108subroutine attributes for action declarations with an alternate
0a3b8de0 109syntax.
796a8358 110
111=item *
112
0a3b8de0 113Refactored capturing of $app from L<Catalyst::Controller> into
114L<Catalyst::Component::ApplicationAttribute> for easier reuse in other
7df44a71 115components.
116
117=item *
118
119Your application class is forced to become immutable at the end of compilation.
120
121=back
122
123=head2 Bug fixes
124
125=over
126
127=item *
128
25f61108 129Don't ignore SIGCHLD while handling requests with the development server, so that
7df44a71 130system() and other ways of creating child processes work as expected.
131
132=item *
133
134Fixes for FastCGI when used with IIS 6.0
135
136=item *
137
138Fix a bug in uri_for which could cause it to generate paths with multiple
139slashes in them.
796a8358 140
141=item *
142
7df44a71 143Fix a bug in Catalyst::Stats, stopping garbage being inserted into
144the stats if a user calls begin => but no end
796a8358 145
146=back
147