X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FUpgrading.pod;h=f74f15e5a91c022c1fb68923079c901fe8be2ecd;hb=bb48c5566ee0170fd913574d2393f381d214f86c;hp=8a9993004c17917ffa6911ff38e5ac5f29970ce7;hpb=ade0097285a43b356dd4fd08b124f0839153de28;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Upgrading.pod b/lib/Catalyst/Upgrading.pod index 8a99930..f74f15e 100644 --- a/lib/Catalyst/Upgrading.pod +++ b/lib/Catalyst/Upgrading.pod @@ -1,50 +1,291 @@ +=head1 NAME + +Catalyst::Upgrading - Instructions for upgrading to the latest Catalyst + +=head1 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 is possible +that edge case differences 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 familiar with the L ecosystem +and documentation. Being able to take advantage of L development and +middleware is a major bonus to this upgrade. Documentation about how to +take advantage of L by writing your own C<< .psgi >> file +is contained in L. + +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 supersedes 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: + +=head2 Upgrading the FastCGI Engine + +No upgrade needed if your myapp_fastcgi.pl script is already upgraded +enough to use L. + +=head2 Upgrading the mod_perl / Apache Engines + +The engines that are build upon the various iterations of mod_perl, +L and +L should be seamless 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 + +=head2 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. + +=head2 Upgrading the CGI Engine + +If you were using L there is no upgrade needed if your +myapp_cgi.pl script is already upgraded enough to use L. + +=head2 Upgrading the Preforking Engine + +If you were using L then L +is automatically loaded. + +If you were customising your server script to pass options to the prefork engine, +then this is no longer supported. The recommended route to implement this functionality +is to write a simple .psgi file for your application, then use the L utility. + +=head2 Upgrading the PSGI Engine + +If you were using L this new release supersedes this +engine in supporting L. By default the Engine is now always L. +As a result, you can stop depending on L in your +C. + +Applications that were using L +previously should entirely continue to work in this release with no changes. + +However, if you have an C script, then you no longer +need to specify the PSGI engine. Instead, the L application class +now has a new method C which returns a L compatible coderef +which you can wrap in middleware of your choice. + +Catalyst will use the .psgi for your application if it is located in the C +directory of the application + +For example, if you were using L in the past, you will +have written (or generated) a C