X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FDelta.pod;h=a41798e87cec9fa266c3f3f74f0f55a52e6054b7;hb=009b5b2324f83396439a494a56684efb60eb2cd8;hp=4bfd8374e1f63673279305633ed83d483f7fa789;hpb=796a8358086ca35f81c27037c1f99d54e2dab672;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Delta.pod b/lib/Catalyst/Delta.pod index 4bfd837..a41798e 100755 --- a/lib/Catalyst/Delta.pod +++ b/lib/Catalyst/Delta.pod @@ -1,92 +1,151 @@ -=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 + +=head1 DESCRIPTION + +This is an overview of the user-visible changes to Catalyst in version 5.8. =head2 Deprecations +Please see L for a full description of how changes in the +framework may affect your application. + +Below is a brief list of features which have been deprecated in this release: + =over =item ::[MVC]:: style naming scheme has been deprecated and will warn -=item Use Class::C3::Adopt::NEXT (rafl) +=item NEXT is deprecated for all applications and components, use MRO::Compat -Catalyst 5.80 uses L method dispatch order. This is built into -perl 5.10 (new pragma mro), and comes via L for perl 5.8. This -replaces L with L, forcing all components to -resolve methods using C3, rather than the unpredictable dispatch order of -L. Please "use MRO::Compat" in both perl 5.8 and perl 5.10 to activate -this feature. -- Disallow writing to config after setup and disallow calling setup more -than once (rafl) +=item Dispatcher methods which are an implementation detail made private, public versions now warn. -=item Dispatcher methods +=item MyApp->plugin method is deprecated, use L instead. + +=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 Dispatcher +=head2 New features -Fix forwarding to Catalyst::Action objects (Rafael Kitover). +=head3 Dispatcher -=head2 Restarter +=over + +=item Fix forwarding to Catalyst::Action objects. + +=item Add the dispatch_type method + +=back + +=head3 Restarter The development server restarter has been improved to be compatible with immutable Moose classes, and also to optionally use L to handle more complex application layouts correctly. -=head2 $c->uri_for_action method. (hdp) +=head3 $c->uri_for_action method. + +Give a private path to the Catalyst action you want to create a URI for. + +=head3 Logging + +Log levels have been made additive. + +=head3 L + +=over + +=item Change to use L. + +=item Support mocking multiple virtual hosts + +=item New methods like action_ok and action_redirect to write more compact tests + +=back + +=head3 Catalyst::Response + +=over -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 >>. +=item * -=head2 Logging +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. -Log levels have been madeadditive, and add documentation to the setup_log -method. +=item * -=head2 Consequences of the Moose backend +Added code method as an alias for C<< $res->status >> + +=back + +=head2 Consequences of the Moose back end =over =item * -Use MooseX::MethodAttributes::Inheritable to contain action -attributes. This means that attributes are now represented in the MOP, -allowing method modifiers on actions to work as expected. (rafl) +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 * -Provide a reasonable API in Catalyst::Controller for working with +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 -syntax. (rafl/hdp) +subroutine attributes for action declarations with an alternate +syntax. =item * -Refactor capturing of $app from Catalyst::Controller into -Catalyst::Component::ApplicationAttribute for easier reuse in other -components (Florian Ragwitz) +Refactored capturing of $app from L into +L for easier reuse in other +components. =item * -Make MyApp immutable at the end of the scope after the setup -method is called, fixing issues with plugins which have their -own new methods by inlining a constructor on MyApp (t0m) +Your application class is forced to become immutable at the end of compilation. =back -=head2 Test Suite +=head2 Bug fixes - - Change Catalyst::Test to use Sub::Exporter (Florian Ragwitz). - - Port to Moose - - Support mocking virtualhosts in test suite () - - Add methods like action_ok and action_redirect to write - more compact tests +=over -=head2 Catalyst::Response->print() +=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 * + +Fix a bug in Catalyst::Stats, stopping garbage being inserted into +the stats if a user calls begin => but no end -Prints @data to the output stream, separated by $,. This lets you pass -the response object to functions that want to write to an L. +=back