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