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=a47c88470ed3f774134820d8a57787f28c1e4de1;hp=f480a8784a375710b502336a4ab7cca042982894;hb=743f6b46bb7bf5b80dd1c6e02e08352b0c42f987;hpb=cbe1376093c9b39392c907e2444f3044de091877 diff --git a/lib/Catalyst/Delta.pod b/lib/Catalyst/Delta.pod index f480a87..a47c884 100755 --- a/lib/Catalyst/Delta.pod +++ b/lib/Catalyst/Delta.pod @@ -7,12 +7,35 @@ 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.90094 + +=head3 Multipart form POST with character set headers + +When we did the UTF8 work, we punted on Form POSTs when the POST envelope was +multipart and each part had complex headers such as content-types, character +sets and so forth. In those cases instead of returning a possibly incorrect +value, we returned an object describing the part so that you could figure it +out manually. This turned out to be a bad workaround as people did not expect +to find that object. So we changed this to try much harder to get a correct +value. We still return an object if we fail but we try much harder now. If +you used to check for the object you might find that code is no longer needed +(although checking for it should not hurt or break anything either). + +=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+ -=head2 Type constraints on Args and CaptureArgs. +=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) { ... } @@ -24,6 +47,36 @@ 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