Commit | Line | Data |
6c18e892 |
1 | =head1 Deltachanges from 5.7 to 5.8 |
2 | |
b31499bc |
3 | This is an overview of the user visible changes in 5.8 |
4 | |
5 | =head2 Deprecations |
6 | |
7 | ::[MVC]:: style naming scheme has been deprecated and will warn |
8 | |
9 | |
10 | - Use Class::C3::Adopt::NEXT (rafl) |
11 | |
12 | Catalyst 5.80 uses L<Algorithm::C3> method dispatch order. This is built into |
13 | perl 5.10 (new pragma mro), and comes via L<Class::C3> for perl 5.8. This |
14 | replaces L<NEXT> with L<Class::C3::Adopt::NEXT>, forcing all components to |
15 | resolve methods using C3, rather than the unpredictable dispatch order of |
16 | L<NEXT>. Please "use MRO::Compat" in both perl 5.8 and perl 5.10 to activate |
17 | this feature. |
18 | - Disallow writing to config after setup and disallow calling setup more |
19 | than once (rafl) |
20 | |
21 | =head2 Dispatcher |
22 | |
6171ddd5 |
23 | Fix forwarding to Catalyst::Action objects (Rafael Kitover). |
b31499bc |
24 | |
6171ddd5 |
25 | =head2 Restarter |
b31499bc |
26 | |
6171ddd5 |
27 | The development server restarter has been improved to be compatible with |
28 | immutable Moose classes, and also to optionally use |
29 | L<B::Hooks::OP::Check::StashChange> to handle more complex application layouts |
30 | correctly. |
b31499bc |
31 | |
6171ddd5 |
32 | =head2 $c->uri_for_action method. (hdp) |
b31499bc |
33 | |
6c18e892 |
34 | A private path to the Catalyst action you want to create a URI for. |
35 | This is a shortcut for calling C<< $c->dispatcher->get_action_by_path($path) >> |
36 | and passing the resulting C<$action> and the remaining arguments to |
37 | C<< $c->uri_for >>. |
38 | |
b31499bc |
39 | =head2 Logging |
40 | |
6171ddd5 |
41 | Log levels have been madeadditive, and add documentation to the setup_log |
42 | method. |
b31499bc |
43 | |
44 | =head2 Consequences of the Moose backend |
45 | |
6c18e892 |
46 | - Use MooseX::MethodAttributes::Inheritable to contain action |
47 | attributes. This means that attributes are now represented in the MOP, |
48 | allowing method modifiers on actions to work as expected. (rafl) |
49 | - Provide a reasonable API in Catalyst::Controller for working with |
50 | and registering actions, allowing a controller sub-class to replace |
51 | subroutine attributes for action declerations with an alternate |
52 | syntax. (rafl/hdp) |
6c18e892 |
53 | - Refactor capturing of $app from Catalyst::Controller into |
54 | Catalyst::Component::ApplicationAttribute for easier reuse in other |
55 | components (Florian Ragwitz) |
56 | - Make MyApp immutable at the end of the scope after the setup |
57 | method is called, fixing issues with plugins which have their |
b31499bc |
58 | own new methods by inlining a constructor on MyApp (t0m) |
59 | - Instantiate correct sub-class of Moose::Meta::Class for non-Moose |
60 | components where Catalyst forces the creation of a metaclass instance. |
61 | |
62 | =head2 Test Suite |
6c18e892 |
63 | |
6c18e892 |
64 | - Change Catalyst::Test to use Sub::Exporter (Florian Ragwitz). |
65 | - Port to Moose |
b31499bc |
66 | - Support mocking virtualhosts in test suite () |
67 | - Add methods like action_ok and action_redirect to write |
68 | more compact tests |
69 | |
70 | =head2 Catalyst::Response->print() |
71 | |
6c18e892 |
72 | Prints @data to the output stream, separated by $,. This lets you pass |
73 | the response object to functions that want to write to an L<IO::Handle>. |
74 | |