=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 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: =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 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? =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. XXX FIXME - note how to run Starman with different options. =head2 Upgrading the PSGI Engine If you were using L this new release supercedes 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