X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=Changes;h=2732ae103e349ca715df9c9bf20891af77a58d96;hp=e1eaea0f119896a7033e5ea00890bac2039bb4da;hb=103f2d968b5a1a732c19c39ae03cdd9a44a96a4b;hpb=130b45ec858db6863e3d6959f7a6e3b6908cd48e diff --git a/Changes b/Changes index e1eaea0..2732ae1 100644 --- a/Changes +++ b/Changes @@ -1,10 +1,212 @@ # This file documents the revision history for Perl extension Catalyst. -5.90089_001 - TBA - - New Feature: Type Constraints on Args/CapturArgs. ALlows you to declare +TBD + - Better catching of HTTP style exceptions so that you can reliable use one to + override many core method. + - Documention on better ways to catch and handle Unicode errors + - We now check the unicode in your URL request queries and raise an error if the + check fails. This was done to be consistent with what we do in other parts of + the code (such as in args, or POSTed parameters). If this breaks your code in + ways you don't want to fix, you may disable this using the global configuration + setting, "do_not_check_query_encoding". + - Removed configuration setting, "decode_query_using_global_encoding" since it no + longer does anything useful. Query decoding follows from whatever you set the + global encoding to, unless you specify an alternative or to not decode. + +5.90106 - 2016-07-05 + - Fixed regression in debug screen rendering of the private names in chained + actions caused by commit 5dd46e24eedec447bdfbc4061ed683b5a17a7b0c. + - Fixed incorrect date entered for the release of 5.90105 + - Fixed some incorrect code in a test case that might be causing test fails + in some configurations. + +5.90105 - 2016-06-08 + - Tweak some test cases to try and prevent them from failing in limited cases. + - Changed how we compose traits onto the response, request, and stats class so + that we compose just once at setup time (performance optimization). Also added + a debug screen at startup to display composed classes to help with debugging. + - Fixed a regressed caused by the changes we made to the way ->state works so that + now when you forward to an action and that action throws an exception, $c->state + is set to 0, instead of the value of the exeption (this is to be as indicated by + the documentation). (cventers++ for reported bug and test case). + - Changed the code that detects if you try to set HTTP headers after headers are + finalized to not warn if you are just requested the response header state. Tweaked + this error message a bit to help people understand it. + +5.90104 - 2016-04-04 + - Merged pull request #131, fix for noisy debug logs when used type constraints + in your actions. Additional changes to the developer debug screen output to + improve reporting details. + - Merged pull request #133, fix for case when a file upload filename contains + wide characters which caused the filename to not appear in the uploads hash. + +5.90103 - 2015-11-12 + - More documentation fixes (thanks to the debian maintainers and melmothx++) + - Fixed the way we parse subroutine attribute values to fix a regression + introduced in 5.90102. This is a recommended upgrade (tsibley++, mst++) + - Fixed regression around auto actions that escape by throwing an exception + which was introduced in the last release. + - Bumped namespace::autoclean dep to latest since tests require -except + +5.90102 - 2015-10-29 + - Better warnings when there's an error reading the psgi.input (billmosley++) + - Fixed spurious warnings in uri_for when using no arguments (melmothx++ and + paultcochrane++) + - Documentation improvements (paultcochrane++) + - Improvements to 'search_extra' configuration and tests around using + uri_for as a class method (cngarrison++) + - Fix when Path() is set and not geting registered as action (grim8634++) + - $c->state is now preserved over actions in a chain, and across begin, + auto, ->forward and ->detach. + +5.90101 - 2015-09-04 + - Fixed a regression introduced in the last release which caused test + case failure when using a version of Perl 5.14 or older. + +5.90100 - 2015-08-24 + - Document using namespace::autoclean with controllers that have actions + with type constraints. + - Look for type constraints in super classes and consumed roles. + - Change the way the stash middleware works to no longer localize $psgi_env. + - If you delegate control to a sub Catalyst application, that application + may now return information to the parent application via the stash. + - Fix for RT#106373 (Issue when you try to install and also have an old + version of Test::Mechanize::WWW::Catalyst) + +5.90097 - 2015-07-28 + - $c->uri_for now defines a final argument for setting the URL fragment + /URL anchor. This is now the canonical approach to setting a fragment + via uri_for. + - Reverted how we treat $c->uri_for($path) where $path is a string. When + we introduced the UTF-8 work we started encoding stringy paths, which + breaks code that did not expect that. We now consider stringy $path to + be 'expert' mode and you are expected to perform all nessary encoding. + +5.90096 - 2015-07-27 + - Fixed regression introduced in previous release that prevented a URI + fragment from getting properly encoded. Added more tests around this + to define behavior better. + +5.90095 - 2015-07-27 + - Minor test case tweak that I hope solve some minor hiesenfails reported + on CPAN testers. + - (https://github.com/perl-catalyst/catalyst-runtime/pull/109) added som + additional directions to how to setup a development sandbox + - (https://github.com/perl-catalyst/catalyst-runtime/pull/108) fix bug in + encoding where URI fragment seperator '#' in ->uri_for would get encoded. + +5.90094 - 2015-07-24 + - When there is a multipart POST request and the parts have extended + HTTP headers, try harder to decode and squeeze a meaningful value + out of it before giving up and crying. Updated docs and tests to + reflect this change. This should solve problems when your clients + are posting multipart form values with special character sets. + - Fixed issue where last_error actually returned the first error. Took + the change to add a 'pop_errors' to give the inverse of shift_errors. + - Merged Pull Requests: + - https://github.com/perl-catalyst/catalyst-runtime/pull/95 + - https://github.com/perl-catalyst/catalyst-runtime/pull/96 + - https://github.com/perl-catalyst/catalyst-runtime/pull/97 + - https://github.com/perl-catalyst/catalyst-runtime/pull/98 + - https://github.com/perl-catalyst/catalyst-runtime/pull/106 + - https://github.com/perl-catalyst/catalyst-runtime/pull/107 + +5.90093 - 2015-05-29 + - Fixed a bug where if you used $res->write and then $res->body, the + contents of body would be double encoded (gshank++). + +5.90092 - 2015-05-19 + - Allows you to use a namespace suffix for request, response and stats + class traits. Docs and tests for this. + - Refactor the change introduced in 5.90091 to solve reported issues (for + example Catalyst::Controller::DBIC::API fails its tests) and to be a more + conservative refactor (new code more closely resembles the orginal code + that has proven to work for years.) + +5.90091 - 2015-05-08 + - Fixed a bug where if an injected component expanded sub components, those + sub components would not show up in the startup debug dev console ( + even though they were actually created). + +5.90090 - 2015-04-29 + - Updated some documention in Catalyst::Request::Upload to clarify behavior + that RT ticket reported as confusing or unexpected + - Merged all changes from 5.90089_XXX development cycle. + - removed a mistaken use of Test::Most, which is not a core Catalyst + dependency. Used Test::More instead. + +5.90089_004 - 2015-04-28 + - Added swanky github badges. + - Reverted a change to how the stats engine is setup that was incorrect. + - New application setup hook 'config_for' which allows one to get the + canonical application configuration for a controller, view or model, or + a plugin. Can also be used to override and adapt what configuration is + retrieved. + +5.90089_003 - 2015-04-27 + - Fixed an issue where a delayed controller that did ACCEPT_CONTEXT would + raise an error when registering its actions. + - Updated some documentation around route matching. + - refactored the setup of injected components to allow you to hook into + the injection and do custom injection types. + +5.90089_002 - 2015-04-17 + - Changed the way we check for presence of Type::Tiny in a test case to be + more explicit in the version requirement. Hopefully a fix for reported + test fail. + - When declaring type constraints in Args and CaptureArgs, if you want to + use a Moose builtin type (or a custom stringy type that you've already + defined and associated with the Moose::TypeRegistry) you must now quote + the type name. This is to clearly disambiguate between Moose stringy types + and imported types. + - Additional changes to type constraint detection to between determine when a + type constraint for reference types have a measured number of arguments or + not. clarify restriction on reference type constraints. + - Several bugs with type constraints and uri_for squashed. More test cases + around all the argument type constraints to tighten scope of action. + - NEW FEATURE: New method in Catalyst::Utils 'inject_component', which is a core + version of the previously external addon 'CatalystX::InjectComponent'. You should + start to convert your existing code which uses the stand alone version, since + going forward only the core version will be supported. Also the core version in + Catalyst::Utils has an additional feature to compose roles into the injected + component. + - NEW FEATURE: Concepts from 'CatalystX::RoleApplicator' have been moved to core + so we now have the follow application attributes 'request_class_traits', + 'response_class_traits' and 'stats_class_traits' which allow you to compose + traits for these core Catalyst classes without needing to create subclasses. So + in general any request or response trait on CPAN that used 'CatalystX::RoleApplicator' + should now just work with this core feature. Note that can also set thse roles + via new configuration keys, 'request_class_traits', 'response_class_traits' + and 'stats_class_traits'. If you use both configuration and application class methods, + they are combined. + - NEW FEATURE: Core concepts from 'CatalystX::ComponentsFromConfig'. You can now + setup components directly from configuration. This could save you some effort and + creating 'empty' base classes in your Model/View and Controller directories. This + feature is currently limited in that you can only configure components that are + 'true' Catalyst components (but you may use Catalyst::Model::Adaptor to proxy + stand alone classes...). + - Only create a stats object if you are using stats. This is a minor performance + optimization, but there's a small chance it is a breaking change, so please + report any stats related issues. + - Added a developer mode warning if you call a component with arguments that does not + expect arguments (for example calling $c->model('Foo', 1,2,3,4) where Myapp::Model::Foo + does not ACCEPT_CONTEXT. Only components that ACCEPT_CONTEXT do anything with + passed arguments in $c->controller/view/model. + - Change the way components are setup so that you can now rely on all components + when setting up a component. Previously application scoped components could not + reliably use an existing application scoped component as a dependecy for initialization. + +5.90089_001 - 2015-03-26 + - New development branch synched with 5.90085. + - NEW FEATURE: Type Constraints on Args/CaptureArgs. Allows you to declare a Moose, MooseX::Types or Type::Tiny named constraint on your Arg or CaptureArg. - - New top level document on Route matching. (Catalyst::RouteMatching). + - When using $c->uri_for (or the derived $c->uri_for_action) and the target + action has type constrainted args (or captures), verify that the proposed + URL matches the defined args. In general $c->uri_for will be a bit more + noisy if the supplied arguments are not correct. + - New top level document on Route matching. (Catalyst::RouteMatching). This + document is still in development, but is worth review and comments. 5.90085 - 2015-03-25 - Small change to Catalyst::Action to prevent autovivication of Args value (dim1++)