Shut up recursion warnings
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Delta.pod
1 =head1 Deltachanges from 5.7 to 5.8
2
3         - Add the Catalyst::Dispatcher->dispatch_type method (ash)
4         - Change the $c->visit and $c->go methods to optionally take
5           CaptureArgs, making them useful to call ActionChains with (t0m)
6         - Added Catalyst::Test::ctx_request to be able to inspect
7           the context object after a request is made (Jos Boumans)
8         - Add a warning for the old ::[MVC]:: style naming scheme (t0m)
9         - Non-naive implementation of making mutable on restart using
10           B::Hooks::OP::Check::StashChange if installed (t0m)
11 For a restart the immutable Moose-objects need to turn back to mutable.
12 With L<B::Hooks::OP::Check::StashChange> installed this will be done.
13
14         - Add $c->uri_for_action method. (hdp)
15 A private path to the Catalyst action you want to create a URI for.
16 This is a shortcut for calling C<< $c->dispatcher->get_action_by_path($path) >>
17 and passing the resulting C<$action> and the remaining arguments to 
18 C<< $c->uri_for >>.
19
20         - Use MooseX::MethodAttributes::Inheritable to contain action
21           attributes. This means that attributes are now represented in the MOP,
22           allowing method modifiers on actions to work as expected. (rafl)
23         - Provide a reasonable API in Catalyst::Controller for working with
24           and registering actions, allowing a controller sub-class to replace
25           subroutine attributes for action declerations with an alternate
26           syntax. (rafl/hdp)
27         - Disallow writing to config after setup and
28           disallow calling setup more than once (rafl)
29         - Refactor capturing of $app from Catalyst::Controller into
30           Catalyst::Component::ApplicationAttribute for easier reuse in other
31           components (Florian Ragwitz)
32         - Make MyApp immutable at the end of the scope after the setup
33           method is called, fixing issues with plugins which have their 
34           own new methods by inlining a constructor on MyApp (t0m)
35         - Make log levels additive, and add documentation and tests
36           for the setup_log method, which previously had none.
37           Sewn together by t0m from two patches provided by David E. Wheeler
38         - Switch an around 'new' in Catalyst::Controller to a BUILDARGS
39           method as it's much neater and more obvious what is going on (t0m)
40         - Use a predicate to avoid recursion in cases where the uri
41           method is overridden by a plugin, and calls the base method,
42           for example Catalyst::Plugin::SmartURI (t0m)
43         - Use Class::C3::Adopt::NEXT (rafl)
44 Catalyst 5.80 uses L<Algorithm::C3> method dispatch order. This is built into
45 perl 5.10 (new pragma mro), and comes via L<Class::C3> for perl 5.8. This
46 replaces L<NEXT> with L<Class::C3::Adopt::NEXT>, forcing all components to
47 resolve methods using C3, rather than the unpredictable dispatch order of
48 L<NEXT>. Please "use MRO::Compat" in both perl 5.8 and perl 5.10 to activate
49 this feature.
50
51         - Fix forwarding to Catalyst::Action objects (Rafael Kitover).
52         - Change Catalyst::Test to use Sub::Exporter (Florian Ragwitz).
53         - Port to Moose
54         - Add Catalyst::Response->print() method (ilmari)
55 Prints @data to the output stream, separated by $,.  This lets you pass
56 the response object to functions that want to write to an L<IO::Handle>.
57
58         - Add visit, a returning ->go
59 In effect, visit allows you to "wrap" another action, just as it
60 would have been called by dispatching from a URL, while the analogous
61 go allows you to transfer control to another action as if it had
62 been reached directly from a URL.
63 C<< $c->stash >> is kept unchanged.
64 =cut