X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=Changes;h=4220eeb11cfab1d692511e2850f38d966b090b77;hp=b8770fcdcfc677dc4ee0dfac12e55e598f0c43e0;hb=02352a283d954f8837277e40ba141b5c2c07af1b;hpb=a53e36d1c89298c1421aa5a9cc5ab9a8ebb972c9 diff --git a/Changes b/Changes index b8770fc..4220eeb 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,246 @@ # This file documents the revision history for Perl extension Catalyst. + - Fixed first block of startup debug messages missing when using a custom + logger that gets set at runtime, for example by overriding finalize_config + +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. + - Fixed a warning in the server script (bokutin++) + - We now populate various Plack $env keys in order to play nice with + downstream middleware or plack apps (and to reduce processing if + those keys already exist). Keys added: + - plack.request.query + - 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 + sucks up the body input but its not buffered so downstream apps can't + 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 + - Merged from master many important bugfixes and forward compatiblity + updates, including: + - Use modern preferred method for Moose metaclass access and many other + small changes to how we use Moose for better forward compat (ether++) + - Killed some evil use of $@ (ether++) + - spelling fixes and documentation updates (ether++), (gerda++) + - use Test::Fatal over Test::Exception (ether++) + - Misc. test case fixes to modernize code (ether++) + - Added a first pass cpanfile, to try and make it easier to bootstrap + a development setup (ether++) + +5.90049_002 - 2013-08-20 + - Fixed loading middleware from project directory + - Fixed some pointless warnings when middleware class lacked VERSION + - NEW FEATURE: Declare global 'data_handlers' for parsing HTTP POST/PUT + alternative content, and created default JSON handler. Yes, now Catalyst + handles JSON request content out of the box! More docs eventually but + for now see the DATA HANDLERS section in Catalyst.pm (or review the test + case t/data_handler.t + +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 @@ -10,6 +251,10 @@ - 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: @@ -85,6 +330,8 @@ 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: