X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FUpgrading.pod;h=fbad34cbcd3db6ae86e5d72c046a4ad95c3b0776;hb=7ebac5f89810aab16ec76fc28dea45e936172a67;hp=dc5486110c1488e774eed105b3f59155456512ac;hpb=93a57b4bb80efb5cee28d335a0a2e6a681ecd7d7;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Upgrading.pod b/lib/Catalyst/Upgrading.pod index dc54861..fbad34c 100644 --- a/lib/Catalyst/Upgrading.pod +++ b/lib/Catalyst/Upgrading.pod @@ -2,26 +2,28 @@ Catalyst::Upgrading - Instructions for upgrading to the latest Catalyst -=head1 Upgrading to Catalyst 5.90 +=head1 Upgrading to Catalyst 5.9 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. +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 familar with the L ecosystem -and documentation. Being able to take advantage of L development and -middleware is a major bonus to this upgrade. +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 supercedes that code. +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 @@ -38,12 +40,12 @@ enough to use L. The engines that are build upon the various iterations of mod_perl, L and -L should be seemless upgrades and will +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??? FIXME - is this true? +does not support mod_perl version 1.99 =head2 Upgrading the HTTP Engine @@ -61,19 +63,30 @@ myapp_cgi.pl script is already upgraded enough to use L. If you were using L then L is automatically loaded. -XXX FIXME - note how to run Starman with different options. +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 supercedes this +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. Additionally, if you have an C script you no longer +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. +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) an C file similar to this one: +have written (or generated) a C