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