run CI against 5.8
[catagits/Catalyst-Runtime.git] / Changes
diff --git a/Changes b/Changes
index 3b18e0e..d903a0f 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,72 @@
 # This file documents the revision history for Perl extension Catalyst.
 
-5.90049_004 - TBA
+5.90053 - 2013-12-21
+  - Reverted a change in the previous release that moved the setup_log phase
+    to after setup_config.  This change was made to allow people to use
+    configuration that is late loaded (such as via the ConfigLoader Plugin)
+    to setup the plugin.  However it also broke the ability to use the log
+    during plugin setup (ie, it breaks lots of plugins).  Reverting the 
+    change.  See Catalyst::Delta for workarounds.
+
+5.90052 - 2013-12-18
+
+  - Fixed first block of startup debug messages missing when using a custom
+    logger that gets set at runtime, for example by overriding finalize_config
+  - Give a more descriptive error message when trying to load middleware that
+    does not exist.
+  - Change the way we initialize plugins to fix a bug where when using the 
+    populare ConfigLoader plugin, configs merged are not available for setting
+    up middleware and data handlers (and probably other things as well).
+
+    NOTE: This change might cause issues if you had code that was relying on the
+    broken behavior.  For example external configuration that was being loaded to
+    late to have effect might now take effect.  Please test you code carefully and
+    be aware of this possible issue </NOTE>.
+
+  - You may now also call 'setup_middleware' as a package method if you think
+    that loading middleware via configuration is a weird or broken idea.
+  - Various POD formating fixed.
+  - Improved some documentation about what type of filehandles that ->body can
+    accept and issues that might arise.
+
+5.90051 - 2013-11-06
+  - Be more skeptical of the existance of $request->env to fix a regression
+    introduced in Catalyst::Action::REST by the previous release
+
+5.90050 - 2013-11-05
+  - Previously public predicates on the following attributes are now considered
+    private and their method names have been changed to follow Perl convention
+    for internal methods:
+
+      -- Catalyst::Request->has_io_fh ==> _has_io_fh
+      -- Catalyst::Request->has_env ==> _has_env
+      -- Catalyst::Response->has_write_fh ==> _has_write_fh
+
+    These are breaking changes but these methods were never documented and serve
+    no use for external code.  If you are using thing, you need to make the noted
+    change (but please consider finding another way to do what you are trying to
+    do).  t0m++ for code review of Hamburg branch.
+
+5.90049_006 - 2013-11-04
+  - Fixed case where test could fail when Starman was partly installed (n0body++)
+  - Fixed missing date information in previous release
+
+5.90049_005 - 2013-10-31
+  - NEW FEATURE:  New Controller action attribute 'Consumes', which allows you
+    to specify the content type of the incoming request.  This makes it easier
+    to create actions that only handle certain content type POST or PUT, such
+    as actions that only handle JSON or actions that only understand classic
+    HTML forms.
+  - NEW FEATURE: Request->body_data is now also populated from classic HTML 
+    Forms using CGI::Struct to support nested data.  For non nested data you
+    should use the classic ->body_parameters method.
+  - Removed PSGI $env keys that are added on the 'plack.request.*' namespace
+    since after discussion it was clear those keys are not part of the public
+    API.  Keys removed: 'plack.request.query', 'plack.request.body', 
+    'plack.request.merged' and 'plack.request.http.body'. Altered some test
+    cases to reflect this change.
+
+5.90049_004 - 2013-10-18
   - JSON Data handler looks for both JSON::MaybeXS and JSON, and uses
     whichever is first (prefering to find JSON::MaybeXS).  This should
     improve compatibility as you likely already have one installed.
@@ -12,6 +78,7 @@
       - plack.request.body
       - plack.request.merged
       - plack.request.http.body
+    (NOTE: REMOVED IN 5.90049_005)
   - If incoming input (from a POST or PUT) is not buffered, create the
     buffer and set the correct psgi env keys to note this for downstream
     psgi apps / middleware.  This should solve some issues where Catalyst
     read it (for example FCGI does not buffer).  We now also try to make
     sure the body content input is reset to the start of the filehandle
     so that we are polite to downstream middleware /apps.
+  - NEW FEATURE: Catalyst::Response can now pull response from a PSGI
+    specification response.  This makes it easier to host external Plack
+    applications under Catalyst.  See Catalyst::Response->from_psgi_response
+  - NEW FEATURE: New configuration option 'use_hash_multivalue_in_request'
+    will populate $request methods 'parameters', 'body_parameters' and
+    'query_parameters' with an instance of Hash::MultiValue instead of a
+    HashRef.  This is used by Plack and is intended to reduce the need to
+    write defensive logic since you are never sure if an incoming parameter
+    is a scalar or arrayref.
+  - NEW FEATURE: We now experimentally support Net::Async::HTTP::Server
+    and IO-Async based event loops.  Examples will follow.
 
 5.90049_003 - 2013-09-20
   - Documented the new body_data method added in the previous release