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