Commit | Line | Data |
6c18e892 |
1 | =head1 Deltachanges from 5.7 to 5.8 |
2 | |
7df44a71 |
3 | This is an overview of the user visible changes in 5.8. |
b31499bc |
4 | |
5 | =head2 Deprecations |
6 | |
e88235ff |
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 | |
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 |
42 | The development server restarter has been improved to be compatible with |
43 | immutable Moose classes, and also to optionally use |
44 | L<B::Hooks::OP::Check::StashChange> to handle more complex application layouts |
45 | correctly. |
b31499bc |
46 | |
7df44a71 |
47 | =head3 $c->uri_for_action method. |
b31499bc |
48 | |
7df44a71 |
49 | Give a private path to the Catalyst action you want to create a URI for. |
6c18e892 |
50 | |
0a3b8de0 |
51 | =head3 Logging |
b31499bc |
52 | |
7df44a71 |
53 | Log 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 | |
73 | New print method which prints @data to the output stream, separated by $,. |
74 | This lets you pass the response object to functions that want to write to an |
75 | L<IO::Handle>. |
76 | |
77 | =item * |
78 | |
79 | Added 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 |
87 | Components are fully compatible with Moose, and all Moose features, such as |
88 | method modifiers, attributes, roles, BUILD and BUILDARGS methods are fully |
89 | supported and may be used in components and applications. |
90 | |
91 | =item * |
92 | |
93 | Many reusable extensions which would previously have been plugins or base |
94 | classes are better implemented as Moose roles. |
95 | |
96 | =item * |
97 | |
98 | L<MooseX::MethodAttributes::Inheritable> is used to contain action |
99 | attributes. This means that attributes are represented in the MOP, and |
100 | decouples action creation from attributes. |
796a8358 |
101 | |
102 | =item * |
103 | |
0a3b8de0 |
104 | There is a reasonable API in Catalyst::Controller for working with |
796a8358 |
105 | and registering actions, allowing a controller sub-class to replace |
106 | subroutine attributes for action declerations with an alternate |
0a3b8de0 |
107 | syntax. |
796a8358 |
108 | |
109 | =item * |
110 | |
0a3b8de0 |
111 | Refactored capturing of $app from L<Catalyst::Controller> into |
112 | L<Catalyst::Component::ApplicationAttribute> for easier reuse in other |
7df44a71 |
113 | components. |
114 | |
115 | =item * |
116 | |
117 | Your 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 | |
127 | Don't ignore SIGCHLD while handling requests with the dev server, so that |
128 | system() and other ways of creating child processes work as expected. |
129 | |
130 | =item * |
131 | |
132 | Fixes for FastCGI when used with IIS 6.0 |
133 | |
134 | =item * |
135 | |
136 | Fix a bug in uri_for which could cause it to generate paths with multiple |
137 | slashes in them. |
796a8358 |
138 | |
139 | =item * |
140 | |
7df44a71 |
141 | Fix a bug in Catalyst::Stats, stopping garbage being inserted into |
142 | the stats if a user calls begin => but no end |
796a8358 |
143 | |
144 | =back |
145 | |