Deprecation section more complete, and link ::Upgrading
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Delta.pod
index a599868..5ce5114 100755 (executable)
@@ -1,64 +1,90 @@
 =head1 Deltachanges from 5.7 to 5.8
 
-        - Add the Catalyst::Dispatcher->dispatch_type method (ash)
-        - Change the $c->visit and $c->go methods to optionally take
-          CaptureArgs, making them useful to call ActionChains with (t0m)
-        - Added Catalyst::Test::ctx_request to be able to inspect
-          the context object after a request is made (Jos Boumans)
-        - Add a warning for the old ::[MVC]:: style naming scheme (t0m)
-        - Non-naive implementation of making mutable on restart using
-          B::Hooks::OP::Check::StashChange if installed (t0m)
-For a restart the immutable Moose-objects need to turn back to mutable.
-With L<B::Hooks::OP::Check::StashChange> installed this will be done.
-
-        - Add $c->uri_for_action method. (hdp)
+This is an overview of the user visible changes in 5.8
+
+=head2 Deprecations
+
+Please see L<Catalyst::Upgrading> 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:
+
+=over
+
+=item ::[MVC]:: style naming scheme has been deprecated and will warn
+
+=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<Catalyst::Model::Adaptor> instead.
+
+=back
+
+=head2 Dispatcher
+
+Fix forwarding to Catalyst::Action objects (Rafael Kitover).
+
+=head2 Restarter
+
+The development server restarter has been improved to be compatible with
+immutable Moose classes, and also to optionally use 
+L<B::Hooks::OP::Check::StashChange> to handle more complex application layouts
+correctly.
+
+=head2 $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 >>.
 
-        - 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)
-        - Disallow writing to config after setup and
-          disallow calling setup more than once (rafl)
-        - 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)
-        - Make log levels additive, and add documentation and tests
-          for the setup_log method, which previously had none.
-          Sewn together by t0m from two patches provided by David E. Wheeler
-        - Switch an around 'new' in Catalyst::Controller to a BUILDARGS
-          method as it's much neater and more obvious what is going on (t0m)
-        - Use a predicate to avoid recursion in cases where the uri
-          method is overridden by a plugin, and calls the base method,
-          for example Catalyst::Plugin::SmartURI (t0m)
-        - Use Class::C3::Adopt::NEXT (rafl)
-Catalyst 5.80 uses L<Algorithm::C3> method dispatch order. This is built into
-perl 5.10 (new pragma mro), and comes via L<Class::C3> for perl 5.8. This
-replaces L<NEXT> with L<Class::C3::Adopt::NEXT>, forcing all components to
-resolve methods using C3, rather than the unpredictable dispatch order of
-L<NEXT>. Please "use MRO::Compat" in both perl 5.8 and perl 5.10 to activate
-this feature.
-
-        - Fix forwarding to Catalyst::Action objects (Rafael Kitover).
+=head2 Logging
+
+Log levels have been madeadditive, and add documentation to the setup_log 
+method.
+
+=head2 Consequences of the Moose backend
+
+=over
+
+=item *
+
+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)
+
+=item *
+
+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)
+
+=item *
+
+Refactor capturing of $app from Catalyst::Controller into
+Catalyst::Component::ApplicationAttribute for easier reuse in other
+components (Florian Ragwitz)
+
+=item *
+
+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)        
+
+=back
+
+=head2 Test Suite
+
         - Change Catalyst::Test to use Sub::Exporter (Florian Ragwitz).
         - Port to Moose
-        - Add Catalyst::Response->print() method (ilmari)
+        - Support mocking virtualhosts in test suite ()
+        - Add methods like action_ok and action_redirect to write
+          more compact tests
+
+=head2 Catalyst::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<IO::Handle>.
 
-        - Add visit, a returning ->go
-In effect, visit allows you to "wrap" another action, just as it
-would have been called by dispatching from a URL, while the analogous
-go allows you to transfer control to another action as if it had
-been reached directly from a URL.
-C<< $c->stash >> is kept unchanged.
-=cut