X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FDelta.pod;h=582c03220848a3c77dd8b357af1f1c497f82a3db;hb=0a3b8de0727207500a1604340de3bf2dcc6054a5;hp=370a66a1a31d9cd7314ca864ba6bc26571d77b11;hpb=6171ddd5b5a22f0224a5d7d22d2ec7ffe0b472c7;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Delta.pod b/lib/Catalyst/Delta.pod index 370a66a..582c032 100755 --- a/lib/Catalyst/Delta.pod +++ b/lib/Catalyst/Delta.pod @@ -4,71 +4,96 @@ This is an overview of the user visible changes in 5.8 =head2 Deprecations -::[MVC]:: style naming scheme has been deprecated and will warn +Please see L for a full description of how changes in the +framework may affect your application. +Below is a brief list of features which have been deprecated in this release: - - Use Class::C3::Adopt::NEXT (rafl) +=over -Catalyst 5.80 uses L method dispatch order. This is built into -perl 5.10 (new pragma mro), and comes via L for perl 5.8. This -replaces L with L, forcing all components to -resolve methods using C3, rather than the unpredictable dispatch order of -L. Please "use MRO::Compat" in both perl 5.8 and perl 5.10 to activate -this feature. -- Disallow writing to config after setup and disallow calling setup more -than once (rafl) +=item ::[MVC]:: style naming scheme has been deprecated and will warn -=head2 Dispatcher +=item NEXT is deprecated for all applications and components, use MRO::Compat + +=item Dispatcher methods which are an implementation detail made private, public versions now warn. + +=item MyApp->plugin method is deprecated, use L instead. + +=item __PACKAGE__->mk_accessors() is supported for backward compatibility only, use Moose attributes instead in new code. + +=back + +=head2 New features + +=head3 Dispatcher Fix forwarding to Catalyst::Action objects (Rafael Kitover). -=head2 Restarter +=head3 Restarter The development server restarter has been improved to be compatible with immutable Moose classes, and also to optionally use L to handle more complex application layouts correctly. -=head2 $c->uri_for_action method. (hdp) +=head3 $c->uri_for_action method. (hdp) A private path to the Catalyst action you want to create a URI for. This is a shortcut for calling C<< $c->dispatcher->get_action_by_path($path) >> and passing the resulting C<$action> and the remaining arguments to C<< $c->uri_for >>. -=head2 Logging +=head3 Logging Log levels have been madeadditive, and add documentation to the setup_log method. -=head2 Consequences of the Moose backend +=head3 L + +=over + +=item Change to use L. + +=item Port to L. + +=item Support mocking multiple virtual hosts + +=item New methods like action_ok and action_redirect to write more compact tests + +=back - - Use MooseX::MethodAttributes::Inheritable to contain action - attributes. This means that attributes are now represented in the MOP, - allowing method modifiers on actions to work as expected. (rafl) - - Provide a reasonable API in Catalyst::Controller for working with - and registering actions, allowing a controller sub-class to replace - subroutine attributes for action declerations with an alternate - syntax. (rafl/hdp) - - Refactor capturing of $app from Catalyst::Controller into - Catalyst::Component::ApplicationAttribute for easier reuse in other - components (Florian Ragwitz) - - Make MyApp immutable at the end of the scope after the setup - method is called, fixing issues with plugins which have their - own new methods by inlining a constructor on MyApp (t0m) - - Instantiate correct sub-class of Moose::Meta::Class for non-Moose - components where Catalyst forces the creation of a metaclass instance. - -=head2 Test Suite - - - Change Catalyst::Test to use Sub::Exporter (Florian Ragwitz). - - Port to Moose - - Support mocking virtualhosts in test suite () - - Add methods like action_ok and action_redirect to write - more compact tests - -=head2 Catalyst::Response->print() +=head3 $c->response->print() Prints @data to the output stream, separated by $,. This lets you pass the response object to functions that want to write to an L. +=head2 Consequences of the Moose backend + +=over + +=item * + +L used to contain action +attributes. This means that attributes are now represented in the MOP, +allowing method modifiers on actions to work as expected. + +=item * + +There is a reasonable API in Catalyst::Controller for working with +and registering actions, allowing a controller sub-class to replace +subroutine attributes for action declerations with an alternate +syntax. + +=item * + +Refactored capturing of $app from L into +L for easier reuse in other +components + +=item * + +Your application is forced to become immutable after the setup +method is called. + +=back +