X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FDelta.pod;h=1366f09e4fee1eb7c47beb87e4716046bac8f7cd;hb=bea82ea182397d9f73400512e92e1bd492643696;hp=2d8c31dfc85f59422fd1d6b9376ae5a5fcb0a663;hpb=8f3c06765620fdc4546c6ebd40573c3fcd3e20ed;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Delta.pod b/lib/Catalyst/Delta.pod index 2d8c31d..1366f09 100755 --- a/lib/Catalyst/Delta.pod +++ b/lib/Catalyst/Delta.pod @@ -7,6 +7,93 @@ Catalyst::Delta - Overview of changes between versions of Catalyst This is an overview of the user-visible changes to Catalyst between major Catalyst releases. +=head2 VERSION 5.90091 + +=head3 'case_sensitive' configuration + +At one point in time we allowed you to set a 'case_sensitive' configuraion value so +that you could find actions by their private names using mixed case. We highly +discourage that. If you are using this 'feature' you should be on notice that we +plan to remove the code around it in the near future. + +=head2 VERSION 5.90090+ + +=head3 Type constraints on Args and CaptureArgs. + +You may now use a type constraint (using L, L or preferably +L in your Args or CaptureArgs action attributes. This can be used +to restrict the value of the Arg. For example: + + sub myaction :Local Args(Int) { ... } + +Would match '.../myaction/5' but not '.../myaction/string'. + +When an action (or action chain) has Args (or CaptureArgs) that declare type constraints +your arguments to $c->uri_for(...) must match those constraints. + +See L for more. + +=head3 Move CatalystX::InjectComponent into core + +L has a new method 'inject_component' which works the same as the method of +the same name in L. + +=head3 inject_components + +New configuration key allows you to inject components directly into your application without +any subclasses. For example: + + MyApp->config({ + inject_components => { + 'Controller::Err' => { from_component => 'Local::Controller::Errors' }, + 'Model::Zoo' => { from_component => 'Local::Model::Foo' }, + 'Model::Foo' => { from_component => 'Local::Model::Foo', roles => ['TestRole'] }, + }, + 'Controller::Err' => { a => 100, b=>200, namespace=>'error' }, + 'Model::Zoo' => { a => 2 }, + 'Model::Foo' => { a => 100 }, + }); + +Injected components are useful to reduce the ammount of nearly empty boilerplate classes +you might have, particularly when first starting an application. + +=head3 Component setup changes. + +Previously you could not depend on an application scoped component doing setup_components +since components were setup 'in order'. Now all components are first registered and then +setup, so you can now reliably use any component doing setup_components. + +=head2 VERSION 5.90080+ + +The biggest change in this release is that UTF8 encoding is now enabled by +default. So you no longer need any plugins (such as L) +which you can just no go ahead and remove. You also don't need to set +the encoding configuration (__PACKAGE__->config(encoding=>'UTF-8')) anymore +as well (although its presence hurts nothing). + +If this change causes you trouble, you can disable it: + + __PACKAGE__->config(encoding=>undef); + +For further information, please see L + +But please report bugs. You will find that a number of common Views have been +updated for this release (such as L). In all cases that the +author is aware of these updates were to fix test cases only. You shouldn't +need to update unless you are installing fresh and want tests to pass. + +L was updated to be compatible with this release. +You will need to upgrade if you are using this plugin. L +also has details. + +A small change is that the configuration setting C +was not doing the right thing if you started your application with C +and did not apply the default middleware. This setting is now honored in +all the ways an application may be started. This could cause trouble if you +are using the configuration value and also adding the proxy middleware +manually with a custom application startup. The solution is that you only +need the configuration value set, or the middleware manually added (not both). + =head2 VERSION 5.90060+ =head3 Catalyst::Log object autoflush on by default