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