merged PR
[catagits/Catalyst-Runtime.git] / Changes
diff --git a/Changes b/Changes
index c9b928a..f5b5718 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,9 +1,171 @@
 # This file documents the revision history for Perl extension Catalyst.
 
-TDB
+5.90099_001 - TBA
+  - Merged Pull Requests:
+    - https://github.com/perl-catalyst/catalyst-runtime/pull/96
+    - https://github.com/perl-catalyst/catalyst-runtime/pull/98
+
+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.
+  - 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++)
+  - Minor typo fixes (Abraxxa++)
+  - Make sure than when using chained actions and when more than one action
+    matches the same path specification AND has Args(0), that we follow the
+    "in a tie, the last action defined wins" rule.  There is a small chance
+    this is a breaking change for you.  See Catalyst::Upgrading for more.
+    You may use the application configuration setting "use_chained_args_0_special_case"
+    to disable this new behavior, if you must for back-compat reasons.
+  - Added PATCH HTTP Method action attribute shortcut.
+  - Several new configuration options aimed to give improved backwards compatibility
+    for when your URL query parameters or keywords have non UTF-8 encodings.
+    See Catalyst::Upgrading.
+
+5.90084 - 2015-02-23
+  - Small change to the way body parameters are created in order to prevent
+    trying to create parameters twice.
+  - Use new HTTP::Body and code updates to fix issue when POSTed params have
+    non UTF-8 charset encodings or otherwise complex upload parts that are not
+    file uploads. In these cases when Catalyst can't determine what the value of
+    a form upload is, will return an instance of Catalyst::Request::PartData with
+    all the information need to figure it out.  Documentation about this corner
+    case. For RT https://rt.cpan.org/Ticket/Display.html?id=101556
+  - Two new application configuration parameters 'skip_body_param_unicode_decoding'
+    and 'skip_complex_post_part_handling' to assist you with any backward
+    compatibility issues with all the new UTF8 work in the most recent stable
+    Catalyst.  You may use these settings to TEMPORARILY disable certain new
+    features while you are seeking a long term fix.
+
+5.90083 - 2015-02-16
+  - Fixed typo in support for OPTIONS method matching (andre++)
+  - Stop using $env->{'plack.request.query'} as a query parsing optimization
+    since 1) it doesn't belong to us and 2) there's subtle differences in the
+    way plack parses parameters and catalyst does.  This fixes a bug when you
+    are using middleware that uses Plack::Request to do its thing.  This change
+    might have subtle impact on query parsing.  Please test this change!
+
+5.90082 - 2015-01-10
+  - Fixed a regression created in $response->from_psgi_response and test case
+    to prevent it happening again.
+
+5.90081 - 2015-01-10
+  - created class attribute 'finalized_default_middleware' which determines
+    if the default middleware has been added to the stack yet or not.  This
+    removes a horrible hack that polluted the configuration hash.  Added
+    test case to prevent regressions.
+
+5.90080 - 2015-01-09
+  - Minor documentation corrections
+  - Make the '79 development series stable
+
+5.90079_008  - 2015-01-07
+  - If we get a response set from $res->from_psgi_response and that response
+    has a charset for the content type, we clear encoding for the rest of the
+    response (avoid double encoding).  Added more documentation around this.
+  - Documentation updates and typo fixes across various UTF8 docs (Mark Ellis++)
+
+5.90079_007  - 2015-01-07
   - Merged from Stable (5.90079)
   - reviewed and cleaned up UTF8 related docs
   - replace missing utf8 pragma in Catalyst::Engine
+  - Cleaned up spelling errors in various docs (abbraxxa++)
+  - New document Catalyst::UTF8 which attempts to summarize UTF8 and encoding
+    changes introduced in v5.90080.
 
 5.90079_006  - 2015-01-02
   - Removed unneeded dependency on RenderView in new test case that was causing fails