Remove bits about go/visit as they are in 5.71, clean up / rewrite some of the points
[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 ::[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
23 Fix forwarding to Catalyst::Action objects (Rafael Kitover).
24
25 =head2 Restarter
26
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.
31
32 =head2 $c->uri_for_action method. (hdp)
33
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
39 =head2 Logging
40
41 Log levels have been madeadditive, and add documentation to the setup_log 
42 method.
43
44 =head2 Consequences of the Moose backend
45
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)
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 
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
63
64         - Change Catalyst::Test to use Sub::Exporter (Florian Ragwitz).
65         - Port to Moose
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
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