as required.
L<Catalyst::Engine::Apache2::MP19>, 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
If you were using L<Catalyst::Engine::HTTP::Prefork> then L<Starman>
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<plackup> untility.
=head2 Upgrading the PSGI Engine
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(@_);
-If you rename your .psgi file without these modifications, then any tests run via
+B<NOT>:
+
+ my $app = sub { MyCatalystApp->psgi_app(@_) };
+ # If you make ^^ this mistake, your app won't work, and will confuse the hell out of you!
+
+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<NOTE:> If you rename your .psgi file without these modifications, then any tests run via
L<Catalyst::Test> will not be compatible with the new release, and will result in
the development server starting, rather than the expected test running.
=back
+=head2 Specifying the engine in the call to ->setup
+
+XXX FIXME
+
=head2 Using middleware
-XXX Should this be here or elsewhere?
+XXX FIXME Should this be here or elsewhere?
=head2 Making an app.psgi file
+FIXME
+
=head2 Running with plackup?
+FIXME
+
+=head2 Tests in 5.89
+
+Tests should generally work the same in Catalyst 5.89, however there are some differences.
+
+Previously, if using L<Catalyst::Test> and doing local requests (against a local server),
+if the application threw an exception then this exception propagated into the test.
+
+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
Most applications and plugins should run unaltered on Catalyst 5.80.
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: