X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FUpgrading.pod;h=07a1a673c5df06b1e425d80fb1c8e7476189a14d;hb=cfb5d52a9772eecc218a5a1cec5ae8fe890f4e68;hp=c12ea9043df99c7be3d4f9d7cb46b2d036cc926d;hpb=ae908e7e03307c90b941d8ada68be61f66b10bab;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Upgrading.pod b/lib/Catalyst/Upgrading.pod index c12ea90..07a1a67 100644 --- a/lib/Catalyst/Upgrading.pod +++ b/lib/Catalyst/Upgrading.pod @@ -45,7 +45,7 @@ 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 @@ -63,7 +63,9 @@ 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 opttions 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 untility. =head2 Upgrading the PSGI Engine @@ -106,11 +108,25 @@ Instead, you now say: MyCatalystApp->psgi_app; }; -And also rename C<< script/myapp.psgi >> to C<< myapp.psgi >>. +In the simplest case: -XXX - FIXME - t/psgi_file_testapp_engine_psgi_compat.t + MyCatalystApp->setup_engine('PSGI'); + my $app = sub { MyCatalystApp->run(@_) } + +becomes + + MyCatalystApp->setup_engine('PSGI'); + my $app = MyCatalystApp->psgi_app(@_); + +B: + + my $app = sub { MyCatalystApp->psgi_app(@_) }; + # If you make ^^ this mistake, your app won't work, and will confuse the hell out of you! -If you rename your .psgi file without these modifications, then any tests run via +You can now rename C<< script/myapp.psgi >> to C<< myapp.psgi >>, and the built-in +Catalyst scripts, and your test suite will start using your .psgi file. + +B If you rename your .psgi file without these modifications, then any tests run via L will not be compatible with the new release, and will result in the development server starting, rather than the expected test running. @@ -151,13 +167,24 @@ highly welcomed: =back -=head2 Using middleware +=head2 Specifying the engine in the call to ->setup + +XXX FIXME + +=head2 Plack functionality + +See L. + +=head2 Tests in 5.89 -XXX Should this be here or elsewhere? +Tests should generally work the same in Catalyst 5.89, however there are some differences. -=head2 Making an app.psgi file +Previously, if using L and doing local requests (against a local server), +if the application threw an exception then this exception propagated into the test. -=head2 Running with plackup? +This behaviour has been removed, and now a 500 response will be returned to the test. +This change unifies behaviour, to make local test requests behave similarly to remote +requests. =head1 Upgrading to Catalyst 5.80 @@ -242,7 +269,7 @@ you identify the ones in conflict, and resolve them. To be able to generate a linear @ISA, the list of superclasses for each class must be resolvable using the C3 algorithm. Unfortunately, when superclasses are being used as mixins (to add functionality used in your class), -and with multiple inheritence, it is easy to get this wrong. +and with multiple inheritance, it is easy to get this wrong. Most common is the case of: