X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=Changes;h=b78e9105b625a56b285675979d7fddeef61625de;hp=00c0c80c5d3c2a2c95eef9a1089b98a0fc30a9c0;hb=f0580bff341c3d9a8a62bb8e670ff8772745786f;hpb=2e4a8275ce0d9d44cc059e042b0344d9e071150f diff --git a/Changes b/Changes index 00c0c80..b78e910 100644 --- a/Changes +++ b/Changes @@ -1,14 +1,446 @@ # This file documents the revision history for Perl extension Catalyst. +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. + +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: + - 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 + + New features: + + - $c->uri_for_action can now take an array of CaptureArgs and Args + If you have an action which has both, then you can now say: + $c->uri_for_action('/myaction', [@captures, @args]); + whereas before you had to say: + $c->uri_for_action('/myaction', [@captures], @args); + The previous form is still supported, however in many cases it is + easier for the application code to not have to differentiate between + the two. + + - Catalyst::ScriptRunner has been enhanced so that it will now + load and apply traits, making it easier to customise. + - MyApp::TraitFor::Script (if it exists) will be applied to all + scripts in the application. + - MyApp::TraitFor::Script::XXXX will be applied to the relevant script + (for example MyApp::TraitFor::Script::Server will be applied to + MyApp::Script::Server if it exists, or Catalyst::Script::Server + otherwise). + + Documentation: + + - Document how to get the vhost of the request in $c->req->hostname + to avoid confusion + - Remove documentation showing Global / Regex / Private actionsi + as whilst these still exist (and work), they are not recommended. + - Remove references to the -Engine flag. + - Remove references to the deprecated Catalyst->plugin method + - Spelling fixed (and tested) throughout the documentation + - Note that wrapping the setup method will not work with method modifiers + and provide an alternative. + +5.90004 - 2011-10-11 17:12:00 + + Bug fixes: + + - Don't guess engine class names when setting an engine through + MyApp->engine_class. + +5.90003 - 2011-10-05 08:32:00 + Bug fixes: + + - Make default body reponses for 302s W3C compliant. RT#71237 + + - Fix issue where groups of attributes to override controller actions + in config would be (incorrectly) overwritten, if the parser for that + attribute mangled the contents of the attribute. This was found + with Catalyst::Controller::ActionRole, where Does => [ '+Foo' ] + would be transformed to Does => [ 'Foo' ] and written back to config, + whereas Does => '+Foo' would not be changed in config. RT#65463 + + Enhancements: + + - Set a matching Content-type for the redirect if Catalyst sets the + body. This is for compatibility with a WatchGuard Firewall. + + Backward compatibility fixes: + + - Restore (an almost empty) Catalyst::Engine::HTTP to the dist for old + scripts which explictly require Catalyst::Engine::HTTP + + Documentation fixes: + + - Document Catalyst::Plugin::Authentication fails tests unless + you use the latest version with Catalyst 5.9 + + - Clarify that prepare is called as a class method + + - Clarify use of uri_for further. RT#57011 + +5.90002 - 2011-08-22 21:44:00 + Backward compatibility fixes: + + - Deploying via mod_perl in some cases is fixed by making + Catalyst::EngineLoader detect mod_perl in more generic + circumstances. + https://github.com/miyagawa/Plack/issues/239 + + Documentation fixes: + + - Fix incorrect example in Catalyst::PSGI. + - Add note that if you are using the PSGI engine, then $c->req->env + needs to become $c->engine->env when you upgrade. + +5.90001 - 2011-08-15 22:42 + + Realise that we accidentally chopped a digit off the versioning scheme + without anyone noticing, which is a bad thing. + + Feel like a fool. Well done t0m. + + Cut another release. + +5.9000 - 2011-08-15 22:18 + + See Catalyst::Delta for the major changes in this release. + + Changelog since the last TRIAL release: + + Backward compatibility fixes: + + - Fix calling MyApp->engine_class to set the engine class manually. + + - Re-add a $res->headers->{status} field to Catalyst::Test responses. + This _should_ be accessed with $c->res->code instead, but is here + for backward compatibility. + + Documentation: + + - Documentation which was in the now removed Catalyst::Engine::* classes + has been moved to Catalyst::Manual::Deployment + + Changes: + + - nginx specific behaviour is removed as it is not needed with any + web server configuration I can come up with (recommended config is + documented in Catalst::Manual::Deployment::nginx::FastCGI) + +5.89003 2011-07-28 20:11:50 (TRIAL release) + + Backward compatibility fixes: + + - Application scripts which have not been upgraded to newer + Catalyst::Script::XXX style scripts have been fixed + + Bug fixes: + + - mod_perl handler fixed to work with application classes which have manually + been made immutable. + + - Scripts now force the Plack engine choice manually, rather than relying + on auto-detection, as the automatic mechanism gets it wrong if (for + example) Coro is loaded. + + - Server script option for --fork --keepalive are now handled by loading + the Starman server, rather than silently ignored. + + - Server script options for --background and --pid are now fixed by + using MooseX::Deamonize + + - Plack middlewares to deal with issues in Lighttpd and IIS6 are now + automatically applied to applications and deployments which need them + (when there is not a user written .psgi script available). + This fixes compatibility with previous stable releases for applications + deployed in these environments. + + Enhancements: + + - Catalyst::Test's remote_request method not uses Plack::Test to perform + the remote request. + + Documentation: + - Added a Catalyst::PSGI manual page with information about writing a .psgi + file for your application. + + - Catalyst::Uprading has been improved, and the status of old Catalyst + engines clarified. + + Deprecations: + - Catalyst::Test's local_request function is now deprecated. You should just + use the normal request function against a local server instead. + +5.80033 2011-07-24 16:09:00 + Bug fixes: + - Fix Catalyst::Request so that the hostname accessor is not incorrectly + populated with 'localhost' if a reverse DNS lookup fails. + + - Fix Path actions debug screen to display number of arguments + + - Fix a regression that prevented configuring attributes for all actions using + ->config(actions => { '*' => \%attrs }) from working + + - Append $\ in Catalyst::Response->print to more closely match + IO::Handle's behaviour. + + - Fixed situation where a detach($action) from a forward within auto + was not breaking out correctly + - Fix the disable_component_resolution_regex_fallback config setting to also work in the $c->component method. + - Handle users setting cookies with an undef value by not trying to output that cookie (rather than trying to do so and causing an exception as previously happened). A warning is logged if this occurs in debug mode. - Update tests to ignore $ENV{CATALYST_HOME} where required + - Change repository metadata to point at git. + + - Clean namespaces in Catalyst::Request::Upload + + - Catalyst::Test: Fixes to action_ok, action_redirect and action_notfound + test functions to be better documented, and have better default test + names. + + - Update tests to ignore CATALYST_HOME env var. + +5.89002 2011-03-02 11:30:00 (TRIAL release) + + Bug fixes: + - Fix a couple of test failures caused by optional dependencies such as FCGI + not being installed. + + Refactoring: + - Simplified the API for getting a PSGI application code reference for a + Catalyst application for use in, for example, .psgi files. See + Catalyst::Upgrading for details. + +5.89001 2011-03-01 15:27:00 (TRIAL release) + + Bug fixes: + - Fixed command-line argument passing in Catalyst::Script::FastCGI. + + - Fixed Catalyst::Engine::Stomp compatibility. Applications using + Catalyst::Engine::Stomp are believed to continue working without + any changes with the new Catalyst major version. + + - Fixed issues auto-loading engine with older scripts. + + Known problems: + - Catalyst::Engine::Wx is officially unsupported and BROKEN. If you + are using this engine then please get in touch with us and we'll + be happy to help with the changes it needs to be compatible with + the new major version of Catalyst. + + Documentation: + - The section of Catalyst::Upgrading describing how to upgrade to version 5.90 + of Catalyst has been much improved. + 5.80032 2011-02-23 01:10:00 Bug fixes: @@ -53,6 +485,25 @@ - Fix undef warning in Catalyst::Engine::FastCGI when writing an empty body (e.g. doing a redirect) +5.89000 2011-01-24 09:28:45 (TRIAL release) + + This is a development release from psgi branch of Catalyst-Runtime. + + Removed features: + + - All of the Catalyst::Engine::* namespace is now gone. Instead we only have + one Catalyst::Engine class speaking the PSGI protocol natively. Everything + the various Catalyst::Engine:: classes did before is now supposed to happen + through PSGI handlers such as Plack::Handler::FCGI, + Plack::Handler::HTTP::Server::PSGI, Plack::Handler::Apache2, and so + on. However, deployment can still work the same as it did before. The + catalyst scripts still exist and continue to work. + + If you find anything that either doesn't work anymore as it did before or + anything that could be done before with the various Catalyst::Engine:: + classes, but can't be done anymore with the single PSGI Catalyst::Engine + class, please tell us *now*. + 5.80030 2011-01-04 13:13:02 New features: