# 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
+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.
- 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.
+ 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, please!
- - uri_for now does more aggressing testing and warning if your args and captures
- do not match expected number and type.
+ 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++)