X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FDelta.pod;h=81cd3198fcd1b9fd37bf6e24c9d1d856b2daf875;hp=582c03220848a3c77dd8b357af1f1c497f82a3db;hb=d0cacee71a316290bc01f0e12681c16bdc1e84e2;hpb=0a3b8de0727207500a1604340de3bf2dcc6054a5 diff --git a/lib/Catalyst/Delta.pod b/lib/Catalyst/Delta.pod index 582c032..81cd319 100755 --- a/lib/Catalyst/Delta.pod +++ b/lib/Catalyst/Delta.pod @@ -1,8 +1,78 @@ -=head1 Deltachanges from 5.7 to 5.8 +=head1 NAME -This is an overview of the user visible changes in 5.8 +Catalyst::Delta - Overview of changes between versions of Catalyst -=head2 Deprecations +=head1 DESCRIPTION + +This is an overview of the user-visible changes to Catalyst between major Catalyst releases. + +=head2 VERSION 5.9XXXX 'cataplack' + +The Catalyst::Engine sub-classes have all been removed and deprecated, +to be replaced with Plack handlers. + +Plack is an implementation of the L specification, which is +a standard interface between web servers and application frameworks. + +This should be no different for developers, and you should not have to +migrate your applications unless you are using a custom engine already. + +This change benefits Catalyst significantly by reducing the amount of +code inside the framework, and means that the framework gets upstream +bug fixes in L, and automatically gains support for any web server +which a L compliant handler is written for. + +It also allows you more flexibility with your application, and allows +the use of cross web framework 'middleware'. + +Developers are recommended to read L for notes about +upgrading, especially if you are using an unusual deployment method. + +Documentation for how to take advantage of L can be found in +L, and information about deploying your application +has been moved to L. + +=head3 Updated modules: + +A number of modules have been updated to pass their tests or not +produce deprecation warnings with the latest version of Catalyst. +It is recommended that you upgrade any of these that you are using +after installing this version of Catalyst. + +These extensions are: + +=over + +=item L + +This is now deprecated, see L. + +=item L + +Has been updated to not produce deprecation warnings, upgrade recommended. + +=item Catalyst::ActionRole::ACL + +Has been updated to fix failing tests (although older versions still +function perfectly with this version of Catalyst). + +=item Catalyst::Plugin::Session::Store::DBIC + +Has been updated to fix failing tests (although older versions still +function perfectly with this version of Catalyst). + +=item Catalyst::Plugin::Authentication + +Has been updated to fix failing tests (although older versions still +function perfectly with this version of Catalyst). + +=back + +=head1 PREVIOUS VERSIONS + +=head2 VERSION 5.8XXXX 'catamoose' + +=head3 Deprecations Please see L for a full description of how changes in the framework may affect your application. @@ -21,13 +91,21 @@ Below is a brief list of features which have been deprecated in this release: =item __PACKAGE__->mk_accessors() is supported for backward compatibility only, use Moose attributes instead in new code. +=item Use of Catalyst::Base now warns + =back -=head2 New features +=head3 New features =head3 Dispatcher -Fix forwarding to Catalyst::Action objects (Rafael Kitover). +=over + +=item Fix forwarding to Catalyst::Action objects. + +=item Add the dispatch_type method + +=back =head3 Restarter @@ -36,17 +114,13 @@ immutable Moose classes, and also to optionally use L to handle more complex application layouts correctly. -=head3 $c->uri_for_action method. (hdp) +=head3 $c->uri_for_action method. -A private path to the Catalyst action you want to create a URI for. -This is a shortcut for calling C<< $c->dispatcher->get_action_by_path($path) >> -and passing the resulting C<$action> and the remaining arguments to -C<< $c->uri_for >>. +Give a private path to the Catalyst action you want to create a URI for. =head3 Logging -Log levels have been madeadditive, and add documentation to the setup_log -method. +Log levels have been made additive. =head3 L @@ -54,46 +128,90 @@ method. =item Change to use L. -=item Port to L. - =item Support mocking multiple virtual hosts =item New methods like action_ok and action_redirect to write more compact tests =back -=head3 $c->response->print() +=head3 Catalyst::Response -Prints @data to the output stream, separated by $,. This lets you pass -the response object to functions that want to write to an L. +=over + +=item * -=head2 Consequences of the Moose backend +New print method which prints @data to the output stream, separated by $,. +This lets you pass the response object to functions that want to write to an +L. + +=item * + +Added code method as an alias for C<< $res->status >> + +=back + +=head3 Consequences of the Moose back end =over =item * -L used to contain action -attributes. This means that attributes are now represented in the MOP, -allowing method modifiers on actions to work as expected. +Components are fully compatible with Moose, and all Moose features, such as +method modifiers, attributes, roles, BUILD and BUILDARGS methods are fully +supported and may be used in components and applications. + +=item * + +Many reusable extensions which would previously have been plugins or base +classes are better implemented as Moose roles. + +=item * + +L is used to contain action +attributes. This means that attributes are represented in the MOP, and +decouples action creation from attributes. =item * There is a reasonable API in Catalyst::Controller for working with and registering actions, allowing a controller sub-class to replace -subroutine attributes for action declerations with an alternate +subroutine attributes for action declarations with an alternate syntax. =item * Refactored capturing of $app from L into L for easier reuse in other -components +components. + +=item * + +Your application class is forced to become immutable at the end of compilation. + +=back + +=head3 Bug fixes + +=over + +=item * + +Don't ignore SIGCHLD while handling requests with the development server, so that +system() and other ways of creating child processes work as expected. + +=item * + +Fixes for FastCGI when used with IIS 6.0 + +=item * + +Fix a bug in uri_for which could cause it to generate paths with multiple +slashes in them. =item * -Your application is forced to become immutable after the setup -method is called. +Fix a bug in Catalyst::Stats, stopping garbage being inserted into +the stats if a user calls begin => but no end =back