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
CommitLineData
6c18e892 1=head1 Deltachanges from 5.7 to 5.8
2
b31499bc 3This 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
12Catalyst 5.80 uses L<Algorithm::C3> method dispatch order. This is built into
13perl 5.10 (new pragma mro), and comes via L<Class::C3> for perl 5.8. This
14replaces L<NEXT> with L<Class::C3::Adopt::NEXT>, forcing all components to
15resolve methods using C3, rather than the unpredictable dispatch order of
16L<NEXT>. Please "use MRO::Compat" in both perl 5.8 and perl 5.10 to activate
17this feature.
18- Disallow writing to config after setup and disallow calling setup more
19than once (rafl)
20
21=head2 Dispatcher
22
6171ddd5 23Fix forwarding to Catalyst::Action objects (Rafael Kitover).
b31499bc 24
6171ddd5 25=head2 Restarter
b31499bc 26
6171ddd5 27The development server restarter has been improved to be compatible with
28immutable Moose classes, and also to optionally use
29L<B::Hooks::OP::Check::StashChange> to handle more complex application layouts
30correctly.
b31499bc 31
6171ddd5 32=head2 $c->uri_for_action method. (hdp)
b31499bc 33
6c18e892 34A private path to the Catalyst action you want to create a URI for.
35This is a shortcut for calling C<< $c->dispatcher->get_action_by_path($path) >>
36and passing the resulting C<$action> and the remaining arguments to
37C<< $c->uri_for >>.
38
b31499bc 39=head2 Logging
40
6171ddd5 41Log levels have been madeadditive, and add documentation to the setup_log
42method.
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 72Prints @data to the output stream, separated by $,. This lets you pass
73the response object to functions that want to write to an L<IO::Handle>.
74