X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FUpgrading.pod;h=337bc0acd821e4cb3e7de7c8dc940867e06f343b;hb=040835f08bfca3531f595fd29cd306aeb64f67da;hp=35cee5de4bc9aff2ebbae001e10d25bc3afb8279;hpb=d76c88f37cf908aaff3f13532f7174ece1b0156b;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Upgrading.pod b/lib/Catalyst/Upgrading.pod index 35cee5d..337bc0a 100644 --- a/lib/Catalyst/Upgrading.pod +++ b/lib/Catalyst/Upgrading.pod @@ -2,6 +2,96 @@ Catalyst::Upgrading - Instructions for upgrading to the latest Catalyst +=head2 Upgrading to Catalyst 5.90 + +The major change is that L now replaces most of the subclasses of +L. If you are using one of the standard subclasses of +L this should be a straightforward upgrade for you. It was +a design goal for this release to be as backwardly compatible as possible. +However since L is different from L it would be +possible that edge case differences would exist. Therefore we recommend care +be taken with this upgrade and that testing should be greater than would be +the case with a minor point update. + +It is highly recommended that you become familar with the L ecosystem +and documentation. Being able to take advantage of L development and +middleware is a major bonus to this upgrade. + +If you have created a custom subclass of L you will need to +convert it to be a subclass of L. + +If you are using the L engine, L, this new +release supercedes that code. + +If you are using a subclass of L that is aimed at nonstandard +or internal / testing uses, such as L you should +still be able to continue using that engine. + +Advice for specific subclasses of L follows: + +=head3 Upgrading the FastCGI Engine + +No upgrade needed if your myapp_fastcgi.pl script is already upgraded +enough to use L. + +=head3 Upgrading the mod_perl / Apache Engines + +The engines that are build upon the various iterations of mod_perl, +L and +L should be seemless upgrades and will +work using using L or L +as required. + +L, is however no longer supported, as Plack +does not support mod_perl version 1.99??? FIXME - is this true? + +=head3 Upgrading the HTTP Engine + +The default development server that comes with the L distribution +should continue to work as expected with no changes as long as your C +script is upgraded to use L. + +=head3 Upgrading the CGI Engine + +If you were using L you should now use... + +No upgrade needed if your myapp_cgi.pl script is already upgraded +enough to use L. + +=head3 Upgrading the Preforking Engine + +If you were using L then L +is automatically loaded. + +=head3 Upgrading the PSGI Engine + +If you were using L this new release supercedes this +engine in supporting L. You should remove the.. FIXME + +=head2 Engines with unknown status + +The following engines have untested or unknown compatibility. Reports are +highly welcomed: + + Catalyst::Engine::Embeddable + Catalyst::Engine::XMPP2 + Catalyst::Engine::SCGI + Catalyst::Engine::Mojo + Catalyst::Engine::Zeus + Catalyst::Engine::JobQueue::POE + Catalyst::Engine::Wx + Catalyst::Engine::Stomp + Catalyst::Engine::Server (Marked as Deprecated) + Catalyst::Engine::HTTP::POE (Marked as Deprecated) + +=head2 Using middleware + +XXX Should this be here or elsewhere? + +=head2 Making an app.psgi file + +=head2 Running with plackup? + =head1 Upgrading to Catalyst 5.80 Most applications and plugins should run unaltered on Catalyst 5.80. @@ -217,7 +307,7 @@ been called, and will not call them again. Using this now causes infinite recursion between MyApp::setup and Catalyst::setup, due to other backwards compatibility issues related to how -plugin setup works. Moose method modifiers like C<< before|after|around 'setup +plugin setup works. Moose method modifiers like C<< before|after|around setup => sub { ... }; >> also will not operate correctly on the setup method. The right way to do it is this: @@ -316,19 +406,19 @@ This warning, also affects tests. You should move actions in your test, creating a myTest::Controller::Root, like the following example: package MyTest::Controller::Root; - + use strict; use warnings; - + use parent 'Catalyst::Controller'; - + __PACKAGE__->config(namespace => ''); - + sub action : Local { my ( $self, $c ) = @_; $c->do_something; } - + 1; =head2 ::[MVC]:: naming scheme @@ -401,7 +491,7 @@ to B of the packages defined within that component. Calling the plugin method is deprecated, and calling it at run time is B. -Instead you are recommended to use L< Catalyst::Model::Adaptor > or similar to +Instead you are recommended to use L or similar to compose the functionality you need outside of the main application name space. Calling the plugin method will not be supported past Catalyst 5.81.