X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=Changes;h=7ea3d84c2e6ed3b7b05e882b90927892cc2545a9;hp=88ad12510335cf619091b2f0f692950fe4b3b908;hb=62b6b631cf9141ffd9ae02e4b87c182b080b335a;hpb=534d1a9a087f71197b10aa45ae38bffccafca5be diff --git a/Changes b/Changes index 88ad125..7ea3d84 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,308 @@ # This file documents the revision history for Perl extension Catalyst. -# + + Bug fixes: + - Additional fix for getting the base application path right when rewriting + requests into an application sub path with mod_alias and mod_rewrite on + Apache. + - Ensure to always cleanup temporary uploaded files in all cases, even + when exceptions occur during request processing, using HTTP::Body's + ->cleanup feature. (RT#41442) + - Ensure that Catalyst::Engine::HTTP's options hash is defined before + dereferencing it. (RT#49267) + - Fix regex special characters in REDIRECT_URL variable breaking + the request base. (2nd part of RT#24951) + - Fix not stripping backslashes in DispatchType::Regex::uri_for_action + + New features: + - Setting __PACKAGE__->config(enable_catalyst_header => 1); in your MyApp.pm + now enables the X-Catalyst header being printed when not in debug mode. + - Require CGI::Simple::Cookie version 1.109 to ensure support for the + HttpOnly flag + - Allow the myapp_test.pl script to be given a list of paths which it + will retrieve all of. (RT#53653) + - Allow parameterized roles to be applied as plugins. + + Documentation: + - The Catalyst::Test::get method is documented as returning the raw + response bytes without any character decoding (RT#53678) + +5.80022 2010-03-28 19:43:01 + + New features: + - Log an extra line in debug mode with the response status code, + the content type and content length if available. + + Refactoring / optimizations: + - Display of the end of hit debug messages has been factored out into + log_headers, log_request, log_request_headers, log_response, + log_response_status_line and log_response_headers methods so that + plugins which customise how much information is shown on the debug + screen as easy to write. + - Make all logging of request and response state get the information from + $c->dump_these so that there is a unified point from which to hook + in parameter filtering (for example). + - $c->model/view/controller have become a lot faster for non-regexp names + by using direct hash lookup instead of looping. + - IP address => hostname mapping for the server is only done once and cached + by Catalyst::Engine::HTTP to somewhat mitigate the problem of people + developing on machines pointed at slow DNS servers. + + Bugs fixed: + - DispatchType::Index's uri_for_action only returns for actions registered + with it (prevents 'index :Path' or similar resolving to the wrong URI) + - Make sure to construct Upload objects properly, even if there are + multiple Content-Type headers (Closes RT#55976). + +5.80021 2010-03-03 23:02:01 + + Bug fixed: + - $c->uri_for will now escape unsafe characterss in captures + ($c->request->captures) and correctly encode utf8 charracters. + +5.80020 2010-02-04 06:51:18 + + New features: + - Allow components to specify additional components to be set up by + overriding the expand_modules method. (Oliver Charles) + +5.80019 2010-01-29 01:04:09 + + Bug fixed: + - Calls to $c->uri_for with private paths as strings (e.g. + $c->uri_for('controller/action', 'arg1', 'arg2') ) no longer have + / encoded to %2F. This is due to $c->uri_for('static', 'css/foo', $bar) + which should not be encoded. + Calls with an action object (rather than a string), or uri_for action + will still encode / in args and captures to %2F + + - The above noted / => %2F encoding in uri_for_action or uri_for with + an action object has been fixed to not just encode the first slash in + any set of args/captures. + + - nginx and lighttpd FCGI requests with URI encoded sections as the first + path part have been fixed to operate correctly. + + - A source of bogus warnings in Catalyst::Component::BUILDARGS has been + removed. + + Documentation: + - Improve the documentation about -Home and how Catalyst finds the home path + for applications. + - Various minor typo fixes. + + New features: + - Allow passing additional arguments to action constructors. + +5.80018 2010-01-12 22:24:20 + + Bug fixed: + - Call ->canonical on URI derived from $ENV{REQUEST_URI} to get + paths correctly decoded. This bug was previously hidden by a bug + in HTTP::Request::AsCGI. + + Documentation: + - Clarify that uri_for_action works on private paths, with example. + - Clarify documentation about debug + + Deprecations: + - Saying use Catalyst::Test; (without an application name or () to stop + the importer running is now deprecated and will issue a warning. + You should be saying use Catalyst::Test (); + +5.80017 2010-01-10 02:27:29 + + Documentation: + - Fix docs for ->forward method when passed a class name - this should + be a component name (e.g. View::HTML, not a full class name, like + MyApp::View::HTML). + + Bug fixes: + - --daemon and -d options to Catalyst::Script::FastCGI are fixed. + - Fix the debug dump for applications which use Catalyst::Plugin::Session + (RT#52898) + - Fix regression in the case where mod_rewrite is being used to rewrite + requests into a path below your application base introduced with the + %2F related fixes in 5.80014_02. + - Do not crash on SIGHUP if Catalyst::Engine::HTTP->run is not passed the + argv key in the options hash. + - Correctly pass the arguments to Catalyst::Script::Server through to + Catalyst::Engine::HTTP->run so that the server can restart itself + with the correct options on SIGHUP. + - Require new MooseX::MethodAttributes to be compatible with Moose + versions >= 0.93_01 + - Require new MooseX::Role::WithOverloading to be compatible with Moose + versions >= 0.93_01 + + Cleanups: + - Stop suppressing warnings from Class::C3::Adopt::NEXT now that most plugins + have been updated to not use NEXT. If you get warnings then please upgrade + your components or log a bug with the component author if an upgrade is + not available. The Class::C3::Adopt::NEXT documentation contains information + about how to suppress the warnings in your application if you need to. + +5.80016 2009-12-11 23:23:33 + + Bug fixes: + + - Fix slurping a file to work correctly with binary on Win32 in the + encoding test controller. + + Bug fixes in the new scripts (for applications which have been upgraded): + + - Allow --restartdirectory as an option for the Server script, for + backwards compatibility. (Dave Rolsky) + - The --host option for the server script defaulted to localhost, rather + than listening on all interfaces, which was the previous default. (Dave + Rolsky) + - Restore -p option for pid file in the FastCGI server script. + - Fix the script environment variables MYAPP_PORT and MYAPP_RELOAD RT#52604 + - Fix aliasing applications under non-root paths with mod_rewrite in + some apache versions where %ENV{SCRIPT_NAME} is set to the real name of + the script, by using $ENV{REDIRECT_URL} which contains the non-rewritten + URI. + - Fix usage display when myapp_create.pl is run with no arguments. RT#52630 + + New features: + + - The __MOP__ hash element is suppressed from being dumped fully + (and instead stringified) when dumping the error screen to be + less packed with information of no use. + + Documentation: + + - Fix Pod nits (RT#52370) + +5.80015 2009-12-02 15:13:54 + Bug fixes: + - Fix bug in Catalyst::Engine which would cause a request parsing to end + prematurely in the hypothetical case where calling $engine->read returned + the single character '0'. + - Fix failing tests when combined with new HTTP::Request::AsCGI + + Documentation: + - Improved documentation on read and read_chunk methods in Catalyst::Engine. + - Fix reversal of SCRIPT_NAME and PATH_INFO in previously correct nginx + FastCGI documentation introduced in _02. + +5.80014_02 2009-12-01 00:55:23 + Bug fixes: + - Fix reporting the wrong Content-Length if the response body is an + upgraded string. Strings mean the same thing whether or not they are + upgraded, may get upgraded even after they are encoded, and will + produce the same output either way, but bytes::length returns too big + values for upgraded strings containing characters >127 + - Fix t/live_fork.t with bleadperl (RT#52100) + - Set $ENV{PATH_INFO} from $ENV{REQUEST_URI} combined with + $ENV{SCRIPT_NAME} if possible. This is many web servers always fully + decode PATH_INFO including URI reserved characters. This allows us to + tell foo%2cbar from foo%252cbar, and fixes issues with %2F in paths + being incorrectly decoded, resulting in too many path parts (rather + than 1 path part containing a /, on some web servers (at least nginx). + (RT#50082) + - Require new HTTP::Request::AsCGI so that it fully decodes $ENV{PATH_INFO} + in non CGI contexts. (RT#50082) + + Refactoring / cleanups: + - NoTabs and Pod tests moved to t/author so that they're not run + (and then skipped) normally. + + Documentation: + - Fix Pod nits in Catalyst::Response (RT#51818) + +5.80014_01 2009-11-22 20:01:23 + + Bug fixes: + - Filehandle now forced to binmode in CGI and FastCGI engines. This appears + to correct some UTF-8 issues, but may break people's code which relies + on the old behaviour. + + Refactoring / cleanups: + - Plugins which inherit from Catalyst::Controller or Catalyst::Component + are deprecated and now issue warnings. + +5.80014 2009-11-21 02:51:14 + + Bug fixes: + - Require MooseX::MethodAttributes 0.17. This in turn requires new + MooseX::Types to stop warnings in Moose 0.91, and correctly supports + role combination of roles containing attributed methods. + - Catalyst::Dispatcher::dispatch_types no longer throws deprecated warnings + as there is no recommended alternative. + - Improved the suggested fix warning when component resolution uses regex + fallback for fully qualified component names. + - Catalyst::Test::local_request sets ->request on the response. + - Log flush moved to the end of setup so that roles and plugins which + hook setup_finalize can log things and have them appear in application + startup, rather than with the first hit. + - Require a newer version of LWP to avoid failing tests. + - Stop warnings when actions are forwarded to during dispatch. + - Remove warnings for using Catalyst::Dispatcher->dispatch_types as this is a + valid method to publicly call on the dispatcher. + - Args ($c->request->args) and CaptureArgs ($c->request->captrues) + passed to $c->uri_for with an action object ($c->action) will now + correctly round-trip when args or captures contain / as it is now + correctly uri encoded to %2F. + + Documentation: + - Document no-args call to $c->uri_for. + - Document all top level application configuration parameters. + - Clarify how to fix actions in your application class (which is + deprecated and causes warnings). + - Pod fixes for ContextClosure. + - Fix documentation for go/visit to reference captures and arguments + in the correct order. + - Update $c->forward and $c->state documentation to address scalar + context. + - Pod fix in Catalyst::Request (RT#51490) + - Pod fixes to refer to ::Controller:: rather than ::C:: as the latter + is deprecated (RT#51489) + + New features: + - Added disable_component_resolution_regex_fallback config option to + switch off (deprecated) regex fallback for component resolution. + - Added an nginx-specific behavior to the FastCGI engine to allow + proper PATH_INFO and SCRIPT_NAME processing for non-root applications + - Enable Catalyst::Utils::home() to find home within Dist::Zilla built + distributions + - Added the Catalyst::Exception::Interface role defining the interface + exception classes need to implement. + - Added Catalyst::Exception::Basic as a basic implementation of + Catalyst::Exception::Interface and made the existing exception classes + use it. + + Refactoring / cleanups: + - Remove documentation for the case_sensitive setting + - Warning is now emitted at application startup if the case_sensitive + setting is turned on. This setting is not used by anyone, not + believed to be useful and adds unnecessary complexity to controllers + and the dispatcher. If you are using this setting and have good reasons + why it should stay then you need to be shouting, now. + - Writing to $c->req->body now fails as doing this never makes sense. + +5.80013 2009-09-17 11:07:04 + + Bug fixes: + - Preserve immutable_options when temporarily making a class mutable in + Catalyst::ClassData as this is needed by new Class::MOP. + This could have potentially caused issues when using the deprecated runtime + plugins feature in an application with plugins which define their own new + method. + - Require new Moose version and new versions of various dependencies + to avoid warnings from newest Moose release. + - Fix go / visit expecting captures and arguments in reverse order. + + Documentation: + - Rework the $c->go documentation to make it more clear. + - Additional documentation in Catalyst::Upgrading covering more deprecation + warnings. + + Refactoring / cleanups: + - Action methods in the application class are deprecated and applications + using them will now generate a warning at startup. + - The -short option has been removed from catalyst.pl, stopping new + applications from being generated using the ::[MVC]:: naming scheme as + this is deprecated and generates warnings. RT#49771 + 5.80012 2009-09-09 19:09:09 Bug fixes: @@ -227,7 +530,7 @@ B::Hooks::OP::Check::StashChange - Fix the unattached chain debug table for endpoints with no parents at all. - - Turn of test aggregation by default. Only aggregate if the + - Turn off test aggregation by default. Only aggregate if the AGGREGATE_TESTS environment variable is set and a recent Test::Aggregate is available. - Bump to MooseX::MethodAttributes 0.09, to gain the