why not just add to the maddness if its already there?
[catagits/Catalyst-Runtime.git] / Changes
diff --git a/Changes b/Changes
index f369bde..bd99d01 100644 (file)
--- a/Changes
+++ b/Changes
 # This file documents the revision history for Perl extension Catalyst.
 
+5.90049_001 - 2013-07-26
+  - Declare PSGI compliant Middleware as part of your Catalyst Application via
+    a new configuration key, "psgi_middleware".
+  - Increased lowest allowed module version for Module::Pluggable to be 4.7 (up
+    from 3.4) to solve the fact this is no longer bundled with Perl in v5.18.
+
+5.90042 - 2013-06-14
+  - Removed more places where an optional dependency shows up in the test
+    suite. Hopefully really fixed the unicode regression introduced in 5.90040
+  - reverted the change we introduced in 5.90040 where a unicode conversion
+    error warned instead of died.  Now it dies again, like in the stand alone
+    plugin
+  - More work to make sure nothing happens with encoding unless you explicitly
+    ask for encoding
+  - Code to hopefully fix an issue where file uploads using the unicode plugin
+    caused trouble.
+
+5.90041 - 2013-06-14
+  - Bug fix release to fix regressions introduced in previous.  I would consider
+    this a likely upgrade and if you are having trouble with the previous I hope
+    this fixes all of them.
+  - Fix regression with the cored Unicode plugin that broke systems where you are
+    setting encoding type in an external configuration file
+  - Fixed circular dependency introduced when we cored the unicode plugin tests
+  - Fixed a longstanding problem with stats when locale uses , instead of . for
+    number decimals
+  - Fixed some docs that didn't properly date the previous release.
+
+5.90040 - 2013-06-12
+  ! Stricter checking of attributes in Catalyst::DispatchType::Chained:
+    1) Only allow one of either :CaptureArgs or :Args
+    2) :CaptureArgs() argument must be numeric
+    3) :CaptureArgs() and :Args() arguments cannot be negative
+  - Add Devel::InnerPackage to dependencies, fixing tests on perl 5.17.11
+    as it's been removed from core. RT#84787
+  - New support for closing over the PSGI $writer object, useful for working
+    with event loops.
+  - lets you access a psgix.io socket, if your server supports it, for manual
+    handling of the client - server communication, such as for websockets.
+  - Fix waiting for the server to start in t/author/http-server.t
+  - new config flag 'abort_chain_on_error_fix' that exits immediately when a
+    action in an action chain throws and error (fixes issues where currently
+    the remaining actions are processed and the error is handled at chain
+    termination).
+  - Cored the Encoding plugin.  Now get unicode out of the box by just setting
+    $c->config->{encoding} = 'UTF-8'.  BACKCOMPAT WARNING: If you are using 
+    the Encoding plugin on CPAN, we skip it to avoid double encoding issues, so
+    you should remove it from your plugin list, HOWEVER the 'encoding' config
+    setting is now undef, rather than 'UTF-8' (this was done to avoid breaking
+    people's existing applications) so you should add the encoding setting to 
+    you global config.  There's some other changes between the stand alone
+    plugin and the cored version, if you use it be sure to see Catalyst::Upgrading
+    for more.
+  - minor documentation typo fixes and updates
+
+5.90030 - 2013-04-12
+  ! POSSIBLE BREAKING CHANGE: Removed Regexp dispatch type from core, and put
+    it in an external package.  If you need Regexp dispatch types you should
+    add "Catalyst-DispatchType-Regex" as a distribution to your build system.
+  - make $app->uri_for and related methods return something sane, when called
+    as an application method, instead of a context method.  Now if you call
+    MyApp::Web->uri_for(...) you will get a generic URI object that you need to
+    resolve manually.
+  - documentation updates around forwarding to chained actions.
+  - Fixed bug when a PSGI engine need to use psgix logger.
+  - Added cpanfile as a way to notice we are a dev checkout.
+  - Added 'x-tunneled-method' HTTP Header method override to match features in
+    Catalyst::Action::REST and in other similar systems on CPAN.
+  - smarter valiation around action attributes.
+
+5.90020 - 2013-02-22
+  ! Catalyst::Action now defines 'match_captures' so it is no long considered
+    an optional method.  This might break you code if you have made custom
+    action roles/classes where you define 'match_captures'.  You must change
+    your code to use a method modifier (such as 'around').
+  - New match method "Method($HTTP_METHOD)" where $HTTP_METHOD in (GET, POST,
+    PUT, HEAD, DELETE, OPTION) and shortcuts in controllers called "GET, POST
+    PUT, HEAD, DELETE, OPTION").  Tests and documentation.  Please note if you
+    are currently using Catalyst::ActionRole::MatchRequestMethods there may
+    be compatibility issues.  You should remove that actionrole since the built
+    in behavior is compatible on its own.
+  - Initial debug screen now shows HTTP Method Match info
+  - security fixes in the way we handle redirects
+  - Make Catalyst::Engine and Catalyst::Base immutable
+  - Some test and documentation improvements
+
+5.90019 - 2012-12-04 21:31:00
+  - Fix for perl 5.17.6 (commit g7dc8663). RT#81601
+  - Fix for perl 5.8. RT#61122
+  - Remove use of MooseX::Types as MooseX::Types is broken on perl5.8
+    RT#77100 & RT#81121
+
+5.90018 - 2012-10-23 20:55:00
+  - Changed code in test suite so it no longer trips up on recent changes to
+    HTTP::Message.
+
+5.90017 - 2012-10-19 22:33:00
+  - Change Catalyst _parse_attrs so that when sub attr handlers:
+
+    1) Can return multiple pairs of new attributes.
+    2) Get their returned attributes passed through the correct attribute handler.
+
+    e.g sub _parse_Whatever_attr { return Chained => 'foo', PathPart => 'bar' }
+
+    Will now work because both new attributes are respected, and the Chained
+    attribute is passed to _parse_Chained_attr and fixed up correctly by that.
+
+  - In Catalyst::Test, don't mangle headers of non-HTML responses. RT#79043
+
+  - Refactor request and response class construction to add methods
+    that roles can hook to feed extra parameters into the constructor
+    of request or response classes.
+
+5.90016 - 2012-08-16 15:35:00
+  - prepare_parameters is no longer an attribute builder.  It is now a method
+    that calls the correct underlying functionality (Bill Moseley++)
+  - Updated Makefile.PL to handle MacOXS tar
+  - Fix uri_for to handle a stringifiable object
+  - Fix model/view/controller methods to handle stringifiable objects
+  - Fix RT#78377 - IIS7 ignores response body for 3xx requests, which
+    causes (a different) response to be broken when using keepalive.
+    Fixed by applying Middleware which removes the response body and
+    content length that Catalyst supplies with redirects.
+
+5.90015 - 2012-06-30 16:57:00
+  - Fix $c->finalize_headers getting called twice. RT#78090
+  - Fix test fails in Catalyst-Plugin-Session-State-Cookie. RT#76179
+  - Fix test fails in Catalyst-Plugin-StackTrace
+  - Fix test fails in Test-WWW-Mechanize-Catalyst
+
+5.90014 - 2012-06-26 10:00:00
+
+  - Fix calling finalize_headers before writing body when using $c->write /
+    $c->res->write (fixes RT#76179).
+
+5.90013 - 2012-06-21 10:40:00
+
+  - Release previous TRIAL as stable.
+  - We failed to note in the previous changelog that the Makefile.PL has been
+    improved to make it easier for authors to bootstrap a developer install
+    of Catalyst.
+
+5.90013 - TRIAL 2012-06-07 20:21:00
+
+ New features:
+  - Merge Catalyst::Controller::ActionRole into Catalyst::Controller.
+
+ Bug fixes:
+  - Fix warnings in some matching cases for Action methods with
+    Args(), when using Catalyst::DispatchType::Chained
+
+  - Fix request body parameters to not be undef if no parameters
+    are supplied.
+
+  - Fix action_args config so that it can be specified in the
+    top level config.
+
+  - Fix t/author/http-server.t on Win32
+
+  - Fix use of Test::Aggregate to make tests faster.
+
+5.90012 - 2012-05-16 09:59:00
+
+ Distribution META.yml changes:
+  - author key is now correct, rather than what Module::Install
+    mis-parses from the documentation.
+  - x_authority key added.
+
+ Bug fixes:
+  - Fix request body parameters being multiply rebuilt. Fixes both
+    RT#75607 and CatalystX::DebugFilter
+
+  - Make plugin de-duplication work as intended originally, as whilst
+    duplicate plugins are totally unwise, the C3 error given to the user
+    is less than helpful.
+
+  - Remove dependence on obscure behaviour in B::Hooks::EndOfScope
+    for backward compatibility. This fixes issues with behaviour changes
+    in bleadperl. RT#76437
+
+  - Work around Moose bug RT#75367 which breaks
+    Catalyst::Controller::DBIC::API.
+
+ Documentation:
+  - Fix documentation in Catalyst::Component to show attributes and
+    calling readers, rather than accessing elements in the $self->{} hash
+    directly.
+  - Add note in Catalyst::Component to strongly disrecommend $self->config
+  - Fix vague 'checkout' wording in Catalyst::Utils. RT#77000
+  - Fix documentation for the 'secure' method in Catalyst:Request. RT#76710
+
+5.90011 - 2012-03-08 16:43:00
+
+ Bug fixes:
+  - Simplification of the previous changes to Catalyst::ScriptRunner
+    We now just push $FindBin::Bin/../lib to the @INC path again, but
+    only if one of the dist indicator files (Makefile.PL Build.PL or
+    dist.ini) can be found in $FindBin::Bin/../$_
+    This avoids heuristics when the app is unloaded and therefore
+    works better for extensions which have entire applications in
+    their test suites.
+  - Bug fix to again correctly detect checkouts in dist zilla using
+    applications.
+  - --background option for the server script now only closes
+    STDIN, STDOUT and STDERR. This fixes issues with Log::Dispatch
+    and other loggers which open a file handle when
+  - Change incorrect use of File::Spec->catdir to File::Spec->catfile
+    so that we work on platforms which care about this (VMS?)
+  - Make it more obvious if our PSGI server doesn't pass in a response
+    callback.
+
+5.90010 - 2012-02-18 00:01:00
+
+ Bug fixes:
+  - Fix the previous fix to Catalyst::ScriptRunner which was resulting
+    in the lib directory not being pushed onto @INC.
+    This meant perl ./script/myapp_server.pl failed, however
+    perl -Ilib ./script/myapp_server.pl would succeed.
+
+5.90009 - 2012-02-16 09:06:00
+
+ Bug fixes:
+  - Fix the debug page so that it works as expected with the latest
+    refactoring.
+
+  - The Catalyst::Utils::home function is used to find if the application
+    is a checkout in Catalyst::ScriptRunner. This means that a non-existant
+    lib directory that is relative to the script install location is not
+    included when not running from a checkout.
+
+  - Fix dead links to cpansearch.perl.org to point to metacpan.org.
+
+  - Require the latest version of B::Hooks::EndOfScope (0.10) to avoid an
+    issue with new versions of Module::Runtime (0.012) on perl 5.10
+    which stopped Catalyst::Controller from compiling.
+
+  - In Catalyst::Test, don't mangle headers of non-HTML responses. RT#79043
+
+5.90008 - TRIAL 2012-02-06 20:49:00
+
+ New features and refactoring:
+  - Much of the Catalyst::Engine code has been moved into Catalyst::Request
+    and Catalyst::Response, to be able to better support asynchronous web
+    servers such as Twiggy, by making the application engine more reenterant.
+
+    This change is as a prequel to full asynchronous support inside Catalyst
+    for AnyEvent and IO::Async backends, which allow highly scaleable streaming
+    (for applications such as multi-part XML HTTPRequests, and Websockets).
+
+ Deprecations:
+  - This means that the $c->engine->env method to access the PSGI environment
+    is now deprecated. The accessor for the PSGI env is now on Catalyst::Request
+    as per applications which were using Catalyst::Engine::PSGI
+
+    Catalyst::Engine::PSGI is now considered fully deprecated.
+
+  - The private _dump method in Catalyst::Log is now deprecated. The dumper is
+    not pluggable and which dumper to use should be a user choice. Using
+    an imported Dump() or Dumper() function is less typing than $c->log->_dump
+    and as this method is unused anywhere else in Catalyst, it has been scheduled
+    for removal as a cleanup. Calling this method will now emit a stack trace
+    on first call (but not on subsequent calls).
+
+ Back compatibility fixes:
+  - Applications still using Catalyst::Engine::PSGI as they rely on
+    $c->request->env - this is now the provided (and recommended) way of
+    accessing the raw PSGI environment.
+
+ Tests:
+  - Spurious warnings have been removed from the test suite
+
+ Documentation:
+  - Fix the display of PROJECT FOUNDER and CONTRIBUTORS sections in the
+    documentation. These were erroneously being emitted when the Pod
+    was converted to HTML for search.cpan.org
+
+  - Fix documentation for the build_psgi_app app method. Previously the
+    documentation advised that it provided the psgi app already wrapped
+    in default middleware. This is not the case - it is the raw app psgi
+
+5.90007 - 2011-11-22 20:35:00
+
+  New features:
+   - Implement a match_captures hook which, if it exists on an action,
+     is called with the $ctx and \@captures and is expected to return
+     true to continue the chain matching and false to stop matching.
+     This can be used to implement action classes or roles which match
+     conditionally (for example only matching captures which are integers).
+
+  Bug fixes:
+   - Lighttpd script name fix is only applied for lighttpd versions
+     < 1.4.23. This should fix non-root installs of lighttpd in versions
+     over that.
+   - Prepare_action is now inside a try {} block, so that requests containing
+     bad unicode can be appropriately trapped by
+     Catalyst::Plugin::Unicode::Encoding
+
+5.90006 - 2011-10-25 09:18:00
+
   New features:
    - A new 'run_options' class data method has been added to Catalyst.pm
      This is used to store all the options passed by scripts, allowing
      application authors to add custom options to their scripts then
      get them passed through to the application.
 
+  Doumentation:
+   - Clarify that if you manually write your own .psgi file, then optional
+     proxy support (via the using_frontend_proxy config value) will not be
+     enabled unless you explicitly apply the default middlewares from
+     Catalyst, or you apply the middleware manually.
+
   Bug fixes:
-   - Add '1;' to all classes which were relying on the ->make_immutable
-     call to return a true value. Due to perl internals bugs in 5.8 and
-     5.10 (not present in other perl versions) require can pass the
-     context inappropriately, meaning that some methods of loading classes
-     can fail due to void context being passed throuh to make_immutable,
-     causing it to not return a value.
-     This bug is shown by trying to load Catalyst::Script::Create (for example)
-     with Module::Require and is fixed in core by commit 021f53de09926
+   - Fix issue due to perl internals bugs in 5.8 and 5.10 (not present in
+     other perl versions) require can pass the context inappropriately,
+     meaning that some methods of loading classes can fail due to void
+     context being passed throuh to make_immutable, causing it to not return
+     a value.
+     This bug caused loading Catalyst::Script::XXX to fail and is fixed
+     both by bumping the Class::Load dependency, and also adding an explicit
+     '1;' to the end of the classes, avoiding the context issue.
+
+   - Fix using_frontend_proxy support in mod_perl by using the psgi wrapped
+     in default middleware in mod_perl context, rather than the raw psgi.
 
 5.90005 - 2011-10-22 13:35:00