X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=95fa030292acde0a5d0e76a2c225f68fab794e42;hb=master;hp=16b62959826bd2d9d710947dc3c6da903d882df4;hpb=a95485ca429b33eda98ab4d305cbbf63d51071f0;p=catagits%2FCatalyst-Runtime.git diff --git a/Changes b/Changes index 16b6295..95fa030 100644 --- a/Changes +++ b/Changes @@ -1,54 +1,2091 @@ # This file documents the revision history for Perl extension Catalyst. - - Rename the actions attribute in Catalyt::Controller to _controller_actions to - avoid name clashes with application controller naming. (random) +5.90128 - 2020-09-11 + - fix command to run psgi compile test if Catalyst not already installed + - improve debugging output on psgi compile test + +5.90_127 - 2020-07-27 + - fix TODO tests for uri_for as a class method + - silence warnings in tests + - remove developer prerequisites on Catalyst plugins + - cleanups and fixes for optional tests + - bump Moose prereq to 2.1400, and drop MooseX::Role::WithOverloading prereq + - stop warning about missing Term::Size::Any when it isn't useful + +5.90126 - 2020-01-19 + - fix for broken distribution + +5.90125 - 2020-01-18 + - Support samesite flag for cookies (mitchjacksontech++) + - utility method on Catalyst::Action 'equals' + - new predicate methods 'has_request' and 'has_response'. Useful in + plugins that might run bits before a request is finalized. + +5.90124 - 2019-01-18 + - Fix problem with from_psgi_response and streaming applications ( + https://github.com/perl-catalyst/catalyst-runtime/pull/168). + +5.90123 - 2018-11-27 + - Fix emitting warnings when REMOTE_ADDR is undefined (RT#113388) + - Fix $c->req->hostname empty for IPv6 clients (RT#75731) + - split code to log stats report into a separate log_stats method (RT#127392) + +5.90122 - 2018-11-03 + - releasing as stable + +5.90_121 - 2018-10-22 + - use the :utf8_strict (PerlIO::utf8_strict) rather than :encoding file handle + layer to handle decoding uploads, as a performance boost. + - fix handling of decoding uploaded files. this fixes the usage of sysread + on :utf8 handles, and reenables the tests on all perl versions. Fixes CPAN + RT#125843. See also erl RT#133585. + - giving incorrect types to uri_for will warn to logs rather than via carp + - silence warning and error output from tests + +5.90120 - 2018-10-19 + - avoid problematic test using sysread() on :utf8 filehandles on dev perl + versions where this is fatal (starting with 5.29.4). see RT#125843. + +5.90119 - 2018-09-24 + - fix test for changes in MooseX::Getopt 0.73 (RT#127050) + +5.90118 - 2018-05-01 + - fix handling of fragments in uri_for when path is an unblessed string (GH#160) + - ensure catalyst.pl is included with dist + - drop IO::Scalar prereq + - include optional test prereqs as develop prereqs + - remove unused developer prereq on Catalyst::Engine::PSGI + - use namespace::clean consistently rather than namespace::autoclean + - use JSON for test metadata to avoid needing YAML + - use JSON::MaybeXS consistently in code + - drop unused prereq of HTTP::Request::AsCGI + - drop unneeded prereq of Class::Data::Inheritable + - fix tests to cope with changes in new versions of Time::HiRes + - POD typo and syntax fixes + +5.90117 - 2018-01-21 + - Fixed errors in distribution packaging + +5.90116 - 2018-01-19 + - Switch from Module::Install to Distar (solves problems that MI has with newer Perl) haarg++ + - Killed Test::Aggregate since its clearly doomed + - PR135 - improved test cases for query keywork + - PR158 - improved docs for Catalyst::Test + - PR157 - improved error response for data_handlers + - PR156 - POD fixes + - PR154 - Few dependencies + - PR152 - Better support for HTTP Patch + +5.90115 - 2017-05-01 + - fixes for silent bad behavior in Catalyst::ScriptRole and 'ensure_class_loaded' + (hobbs++) + - do not require MXRWO if Moose is new enough to have cored it (ether++) + - documentation improvements (ether++) + - Encoding documentation improvements (colinnewell++) + - Improve documentation and test cases for 'abort_chain_on_error_fix' configuration + option (melmothx++) + - Better debug output when using Hash::MultiValue (tremor69++) + - Fixes for detecting debug terminal size (simonamor++) + +5.90114 - 2016-12-19 + - Fixed regression introduced in the last version (5.90113) which caused + application to hang when the action private name contained a string + like 'foo/bar..html'. If you are running 5.90113 you should consider this + a required update. + - Tweaked travis CI script. + +5.90113 - 2016-12-15 + - Fixed issue with $controller->action_for when targeting an action in + a namespace nested inside the current controller and the current controller + is a 'root' controller. + - Enhanced $controller->action_for so that you can reference the 'parent' + controller via relative path (eg ->action_for('../foo')). + - Backcompat fix for people that made the mistake of doing $c->{stash} + - Sort controllers in setup_actions so cross-controller precedence is + consistent. + +5.90112 - 2016-07-25 + - Spelling fixes from Debian group. + - Fixed regression introduced in last release that caused the code to crap out + if you set the encoding to 'undef'. + +5.90111 - 2016-07-20 + - Improved documentation around some of the unicode changes; tests (melmothx++) + +5.90110 - 2016-07-20 + - Better catching of HTTP style exceptions so that you can reliable use one to + override many core method. + - Documention on better ways to catch and handle Unicode errors + - We now check the unicode in your URL request queries and raise an error if the + check fails. This was done to be consistent with what we do in other parts of + the code (such as in args, or POSTed parameters). If this breaks your code in + ways you don't want to fix, you may disable this using the global configuration + setting, "do_not_check_query_encoding". + - Removed configuration setting, "decode_query_using_global_encoding" since it no + longer does anything useful. Query decoding follows from whatever you set the + global encoding to, unless you specify an alternative or to not decode. + +5.90106 - 2016-07-05 + - Fixed regression in debug screen rendering of the private names in chained + actions caused by commit 5dd46e24eedec447bdfbc4061ed683b5a17a7b0c. + - Fixed incorrect date entered for the release of 5.90105 + - Fixed some incorrect code in a test case that might be causing test fails + in some configurations. + +5.90105 - 2016-06-08 + - Tweak some test cases to try and prevent them from failing in limited cases. + - Changed how we compose traits onto the response, request, and stats class so + that we compose just once at setup time (performance optimization). Also added + a debug screen at startup to display composed classes to help with debugging. + - Fixed a regressed caused by the changes we made to the way ->state works so that + now when you forward to an action and that action throws an exception, $c->state + is set to 0, instead of the value of the exeption (this is to be as indicated by + the documentation). (cventers++ for reported bug and test case). + - Changed the code that detects if you try to set HTTP headers after headers are + finalized to not warn if you are just requested the response header state. Tweaked + this error message a bit to help people understand it. + +5.90104 - 2016-04-04 + - Merged pull request #131, fix for noisy debug logs when used type constraints + in your actions. Additional changes to the developer debug screen output to + improve reporting details. + - Merged pull request #133, fix for case when a file upload filename contains + wide characters which caused the filename to not appear in the uploads hash. + +5.90103 - 2015-11-12 + - More documentation fixes (thanks to the debian maintainers and melmothx++) + - Fixed the way we parse subroutine attribute values to fix a regression + introduced in 5.90102. This is a recommended upgrade (tsibley++, mst++) + - Fixed regression around auto actions that escape by throwing an exception + which was introduced in the last release. + - Bumped namespace::autoclean dep to latest since tests require -except + +5.90102 - 2015-10-29 + - Better warnings when there's an error reading the psgi.input (billmosley++) + - Fixed spurious warnings in uri_for when using no arguments (melmothx++ and + paultcochrane++) + - Documentation improvements (paultcochrane++) + - Improvements to 'search_extra' configuration and tests around using + uri_for as a class method (cngarrison++) + - Fix when Path() is set and not geting registered as action (grim8634++) + - $c->state is now preserved over actions in a chain, and across begin, + auto, ->forward and ->detach. + +5.90101 - 2015-09-04 + - Fixed a regression introduced in the last release which caused test + case failure when using a version of Perl 5.14 or older. + +5.90100 - 2015-08-24 + - Document using namespace::autoclean with controllers that have actions + with type constraints. + - Look for type constraints in super classes and consumed roles. + - Change the way the stash middleware works to no longer localize $psgi_env. + - If you delegate control to a sub Catalyst application, that application + may now return information to the parent application via the stash. + - Fix for RT#106373 (Issue when you try to install and also have an old + version of Test::Mechanize::WWW::Catalyst) + +5.90097 - 2015-07-28 + - $c->uri_for now defines a final argument for setting the URL fragment + /URL anchor. This is now the canonical approach to setting a fragment + via uri_for. + - Reverted how we treat $c->uri_for($path) where $path is a string. When + we introduced the UTF-8 work we started encoding stringy paths, which + breaks code that did not expect that. We now consider stringy $path to + be 'expert' mode and you are expected to perform all nessary encoding. + +5.90096 - 2015-07-27 + - Fixed regression introduced in previous release that prevented a URI + fragment from getting properly encoded. Added more tests around this + to define behavior better. + +5.90095 - 2015-07-27 + - Minor test case tweak that I hope solve some minor hiesenfails reported + on CPAN testers. + - (https://github.com/perl-catalyst/catalyst-runtime/pull/109) added som + additional directions to how to setup a development sandbox + - (https://github.com/perl-catalyst/catalyst-runtime/pull/108) fix bug in + encoding where URI fragment seperator '#' in ->uri_for would get encoded. + +5.90094 - 2015-07-24 + - When there is a multipart POST request and the parts have extended + HTTP headers, try harder to decode and squeeze a meaningful value + out of it before giving up and crying. Updated docs and tests to + reflect this change. This should solve problems when your clients + are posting multipart form values with special character sets. + - Fixed issue where last_error actually returned the first error. Took + the change to add a 'pop_errors' to give the inverse of shift_errors. + - Merged Pull Requests: + - https://github.com/perl-catalyst/catalyst-runtime/pull/95 + - https://github.com/perl-catalyst/catalyst-runtime/pull/96 + - https://github.com/perl-catalyst/catalyst-runtime/pull/97 + - https://github.com/perl-catalyst/catalyst-runtime/pull/98 + - https://github.com/perl-catalyst/catalyst-runtime/pull/106 + - https://github.com/perl-catalyst/catalyst-runtime/pull/107 + +5.90093 - 2015-05-29 + - Fixed a bug where if you used $res->write and then $res->body, the + contents of body would be double encoded (gshank++). + +5.90092 - 2015-05-19 + - Allows you to use a namespace suffix for request, response and stats + class traits. Docs and tests for this. + - Refactor the change introduced in 5.90091 to solve reported issues (for + example Catalyst::Controller::DBIC::API fails its tests) and to be a more + conservative refactor (new code more closely resembles the orginal code + that has proven to work for years.) + +5.90091 - 2015-05-08 + - Fixed a bug where if an injected component expanded sub components, those + sub components would not show up in the startup debug dev console ( + even though they were actually created). + +5.90090 - 2015-04-29 + - Updated some documention in Catalyst::Request::Upload to clarify behavior + that RT ticket reported as confusing or unexpected + - Merged all changes from 5.90089_XXX development cycle. + - removed a mistaken use of Test::Most, which is not a core Catalyst + dependency. Used Test::More instead. + +5.90089_004 - 2015-04-28 + - Added swanky github badges. + - Reverted a change to how the stats engine is setup that was incorrect. + - New application setup hook 'config_for' which allows one to get the + canonical application configuration for a controller, view or model, or + a plugin. Can also be used to override and adapt what configuration is + retrieved. + +5.90089_003 - 2015-04-27 + - Fixed an issue where a delayed controller that did ACCEPT_CONTEXT would + raise an error when registering its actions. + - Updated some documentation around route matching. + - refactored the setup of injected components to allow you to hook into + the injection and do custom injection types. + +5.90089_002 - 2015-04-17 + - Changed the way we check for presence of Type::Tiny in a test case to be + more explicit in the version requirement. Hopefully a fix for reported + test fail. + - When declaring type constraints in Args and CaptureArgs, if you want to + use a Moose builtin type (or a custom stringy type that you've already + defined and associated with the Moose::TypeRegistry) you must now quote + the type name. This is to clearly disambiguate between Moose stringy types + and imported types. + - Additional changes to type constraint detection to between determine when a + type constraint for reference types have a measured number of arguments or + not. clarify restriction on reference type constraints. + - Several bugs with type constraints and uri_for squashed. More test cases + around all the argument type constraints to tighten scope of action. + - NEW FEATURE: New method in Catalyst::Utils 'inject_component', which is a core + version of the previously external addon 'CatalystX::InjectComponent'. You should + start to convert your existing code which uses the stand alone version, since + going forward only the core version will be supported. Also the core version in + Catalyst::Utils has an additional feature to compose roles into the injected + component. + - NEW FEATURE: Concepts from 'CatalystX::RoleApplicator' have been moved to core + so we now have the follow application attributes 'request_class_traits', + 'response_class_traits' and 'stats_class_traits' which allow you to compose + traits for these core Catalyst classes without needing to create subclasses. So + in general any request or response trait on CPAN that used 'CatalystX::RoleApplicator' + should now just work with this core feature. Note that can also set thse roles + via new configuration keys, 'request_class_traits', 'response_class_traits' + and 'stats_class_traits'. If you use both configuration and application class methods, + they are combined. + - NEW FEATURE: Core concepts from 'CatalystX::ComponentsFromConfig'. You can now + setup components directly from configuration. This could save you some effort and + creating 'empty' base classes in your Model/View and Controller directories. This + feature is currently limited in that you can only configure components that are + 'true' Catalyst components (but you may use Catalyst::Model::Adaptor to proxy + stand alone classes...). + - Only create a stats object if you are using stats. This is a minor performance + optimization, but there's a small chance it is a breaking change, so please + report any stats related issues. + - Added a developer mode warning if you call a component with arguments that does not + expect arguments (for example calling $c->model('Foo', 1,2,3,4) where Myapp::Model::Foo + does not ACCEPT_CONTEXT. Only components that ACCEPT_CONTEXT do anything with + passed arguments in $c->controller/view/model. + - Change the way components are setup so that you can now rely on all components + when setting up a component. Previously application scoped components could not + reliably use an existing application scoped component as a dependecy for initialization. + +5.90089_001 - 2015-03-26 + - New development branch synched with 5.90085. + - NEW FEATURE: Type Constraints on Args/CaptureArgs. Allows you to declare + a Moose, MooseX::Types or Type::Tiny named constraint on your Arg or + CaptureArg. + - When using $c->uri_for (or the derived $c->uri_for_action) and the target + action has type constrainted args (or captures), verify that the proposed + URL matches the defined args. In general $c->uri_for will be a bit more + noisy if the supplied arguments are not correct. + - New top level document on Route matching. (Catalyst::RouteMatching). This + document is still in development, but is worth review and comments. + +5.90085 - 2015-03-25 + - Small change to Catalyst::Action to prevent autovivication of Args value (dim1++) + - Minor typo fixes (Abraxxa++) + - Make sure than when using chained actions and when more than one action + matches the same path specification AND has Args(0), that we follow the + "in a tie, the last action defined wins" rule. There is a small chance + this is a breaking change for you. See Catalyst::Upgrading for more. + You may use the application configuration setting "use_chained_args_0_special_case" + to disable this new behavior, if you must for back-compat reasons. + - Added PATCH HTTP Method action attribute shortcut. + - Several new configuration options aimed to give improved backwards compatibility + for when your URL query parameters or keywords have non UTF-8 encodings. + See Catalyst::Upgrading. + +5.90084 - 2015-02-23 + - Small change to the way body parameters are created in order to prevent + trying to create parameters twice. + - Use new HTTP::Body and code updates to fix issue when POSTed params have + non UTF-8 charset encodings or otherwise complex upload parts that are not + file uploads. In these cases when Catalyst can't determine what the value of + a form upload is, will return an instance of Catalyst::Request::PartData with + all the information need to figure it out. Documentation about this corner + case. For RT https://rt.cpan.org/Ticket/Display.html?id=101556 + - Two new application configuration parameters 'skip_body_param_unicode_decoding' + and 'skip_complex_post_part_handling' to assist you with any backward + compatibility issues with all the new UTF8 work in the most recent stable + Catalyst. You may use these settings to TEMPORARILY disable certain new + features while you are seeking a long term fix. + +5.90083 - 2015-02-16 + - Fixed typo in support for OPTIONS method matching (andre++) + - Stop using $env->{'plack.request.query'} as a query parsing optimization + since 1) it doesn't belong to us and 2) there's subtle differences in the + way plack parses parameters and catalyst does. This fixes a bug when you + are using middleware that uses Plack::Request to do its thing. This change + might have subtle impact on query parsing. Please test this change! + +5.90082 - 2015-01-10 + - Fixed a regression created in $response->from_psgi_response and test case + to prevent it happening again. + +5.90081 - 2015-01-10 + - created class attribute 'finalized_default_middleware' which determines + if the default middleware has been added to the stack yet or not. This + removes a horrible hack that polluted the configuration hash. Added + test case to prevent regressions. + +5.90080 - 2015-01-09 + - Minor documentation corrections + - Make the '79 development series stable + +5.90079_008 - 2015-01-07 + - If we get a response set from $res->from_psgi_response and that response + has a charset for the content type, we clear encoding for the rest of the + response (avoid double encoding). Added more documentation around this. + - Documentation updates and typo fixes across various UTF8 docs (Mark Ellis++) + +5.90079_007 - 2015-01-07 + - Merged from Stable (5.90079) + - reviewed and cleaned up UTF8 related docs + - replace missing utf8 pragma in Catalyst::Engine + - Cleaned up spelling errors in various docs (abbraxxa++) + - New document Catalyst::UTF8 which attempts to summarize UTF8 and encoding + changes introduced in v5.90080. + +5.90079_006 - 2015-01-02 + - Removed unneeded dependency on RenderView in new test case that was causing fails + on CPAN testers that did not just happen to have that dependency already installed + - Updated copyright notices to 2015 + - Documentation patches around the setup methods and clarification on on security + note posted a few months ago. + - Added my name to the contributors list + +5.90079_005 - 2014-12-31 + - Merged changes from 5.90078 + - If configuration 'using_frontend_proxy' is set, we add the correct middleware + to the default middleware list. This way you get the correct and expected + behavior if you are starting your application via one of the generated scripts + or if you are calling MyApp->psgi_app. Previously if you started the application + with ->psgi_app (or to_app) we ignored this configuration option + - New configuration option 'using_frontend_proxy_path' which enables + Plack::Middleware::ReverseProxyPath on your application easily. Please note that + Plack::Middleware::ReverseProxyPath is not an automatic dependency of Catalyst at + this time, so if you want this feature you should add it to your project dependency + list. This is done to avoid continued growth of Catalyst dependencies. + - Tweaks encoding docs a bit to get closer to final. + +5.90079_004 - 2014-12-26 + - Starting adding some docs around the new encoding stuff + - Exposed the reqexp we use to match content types that need encoding via a + global variable. + - Added some test cases for JSON utf8 and tested file uploads with utf8. + - Fixes to decoding on file upload filenames and related methods + - new methods on upload object that tries to do the right thing if we find + a character set on the upload and its UTF8. + - new additional helper methods on the file upload object. + - new helper methods has_encoding and clear_encoding on context. + - Method on Catalyst::Response to determine if the response should be encoded. + - Warn if changing headers only if headers are finalized AND the response callback + has already been called (and headers already sent). + - Centralized rules about detecting if we need to automatically encode or not and + added tests around cases when you choose to skip auto encoding. + +5.90079_003 - 2014-12-03 + - Make sure all tests run even if debug mode is enabled. + - Fixed issue with middleware stash test case that failed on older Perls + +5.90079_002 - 2014-12-02 + - Fixed typo in Makefile.PL which borked the previous distribution. No other + changes. + +5.90079_001 - 2014-12-02 + - MyApp->to_app is now an alias for MyApp->psgi_app in order to better support + existing Plack conventions. + - Modify Catalyst::Response->from_psgi_response to allow the first argument to + be an object that does ->as_psgi. + - Modified Catalyst::Middleware::Stash to be a shallow copy in $env. Added some + docs. Added a test case to make sure stash keys added in a child application + don't bubble back up to the main application. + - We no longer use Encode::is_utf8 since it doesn't work the way we think it + does... This required some UTF-8 changes. If your application is UTF-8 aware + I highly suggest you test this release. + - We always do utf8 decoding on incoming URLs (before we only did so if the server + encoding was utf8. I believe this is correct as per the w3c spec, but please + correct if incorrect :) + - Debug output now shows utf8 characters if those are incoming via Args or as + path or pathparts in your actions. query and body parameter keys are now also + subject to utf8 decoding (or as specified via the encoding configuration value). + - lots of UTF8 changes. Again we think this is now more correct but please test. + - Allow $c->res->redirect($url) to accept $url as an object that does ->as_string + which I think will ease a common case (and common bug) and added documentation. + - !!! UTF-8 is now the default encoding (there used to be none...). You can disable + this if you need to with MyApp->config(encoding => undef) if it causes you trouble. + - Calling $c->res->write($data) now encodes $data based on the configured encoding + (UTF-8 is default). + - $c->res->writer_fh now returns Catalyst::Response::Writer which is a decorator + over the PSGI writer and provides an additional method 'write_encoded' that just + does the right thing for encoding your responses. This is probably the method + you want to use. + - New dispatch matching attribute: Scheme. This lets you match a route based on + the incoming URI scheme (http, https, ws, wss). + - If $c->uri_for targets an action or action chain that defines Scheme, use that + scheme for the generated URI object instead of just using whatever the incoming + request uses. + +5.90079 - 2015-01-02 + - Removed dependency from test case that we don't install for testing ( + rt #101243) + - updated year in copyright notices + +5.90078 - 2014-12-30 + - POD corrections (sergey++) + - New configuration option to disable the HTTP Exception passthrough feature + introduced in 5.90060. You can use this if that feature is causing you + trouble. (davewood++); + - Some additional helper methods for dealing with errors. + - More clear exception when $request->body_data tries to parse malformed POSTed + data. Added documentation and tests around this. + +5.90077 - 2014-11-18 + - We store the PSGI $env in Catalyst::Engine for backcompat reasons. Changed + this so that the storage is a weak reference, so that it goes out of scope + with the request. This solves an issue where items in the stash (now in the + PSGI env) would not get closed at the end of the request. This caused some + regression, primarily in custom testing classes. + +5.90076 - 2014-11-13 + - If throwing an exception object that does the code method, make sure that + method returns an expected HTTP status code before passing it on to the + HTTP Exception middleware. + +5.90075 - 2014-10-06 + - Documentation patch for $c->req->param to point out the recently discovered + potential security issues: http://blog.gerv.net/2014/10/new-class-of-vulnerability-in-perl-web-applications/ + - You don't need to install this update, but you should read about the exploit + and review if your code is vulnerable. If you use the $c->req->param interface + you really need to review this exploit. + +5.90074 - 2014-10-01 + - Specify Carp minimum version to avoid pointless test fails (valy++) + +5.90073 - 2014-09-23 + - Fixed a regression caused by the last release where we broke what happened + when you tried to set request parameters via $c->req->param('foo', 'bar'). + You shouldn't do this, but I guess I shouldn't have busted it either :) + - Allow the term_width to be regenerated (see Catalyst::Utils::term_width, + Frew Schmidt) + - More aggressive skipping of value decoding if the value is undefined. + +5.90072 - 2014-09-15 + - In the case where you call $c->req->param(undef), warn with a more useful + warning (now gives the line of your code that called param with the undef, + so you can go to hunt it out. + +5.90071 - 2014-08-10 + - Travis config now performs basic reverse dependency testing. + - Restored deprecated 'env' code in Engine.pm b/c it is still being used out + in the wild (Catalyst-Plugin-Authentication-0.10023) - (removed in 5.90070) + - Reverted changes to debug log/handling (5.90069_003) to fix + rev dep Catalyst-Plugin-Static-Simple-0.32 test suite. + - Added Italian translation of default error. + +5.90070 - 2014-08-07 + - Retagged previous release as stable; no changes + +5.90069_004 + - Fixed typo in middleware stash that was causing older Perls to fail + certain tests. No other changes. + +5.90069_003 + - The default log level is now 'info', not 'debug'. + - Finished merging all the encoding plugin code to core code. The encoding + plugin is now just an empty package. Also tried to improve encoding docs + a bit. + - Some additional changes to the stash middleware that should not break + anything new. + - Documentation around using Sendfile type http headers with a filehandle + type response. + - Merged from master branch to pick up some additional fixes and documentation + improvements. + +5.90069_002 + - Catalyst stash functionality has been moved to Middleware. It should + work entirely the same when used as a context method, please report + questions or problems! + - Removed code related to supporting the long deprecated stand alone + PSGI Engine. If you are still using this you code is now broken. + Luckily you can just stop using it and likely everything will work + under the new PSGI support built into Catalyst for several years. + - 'abort_chain_on_error_fix' now defaults to true. If this behavior + causes you issues, you can explicitly turn it off by setting it to a + non true defined value (0 is a good option here). + - When throwing an http style exception, make sure we properly flush the + existing log and report other errors in the error stack. + +5.90069_001 + - Set encoding on STDERR when encoding is set in config + - documentation and test fixes + +5.90065 - 2014-06-04 + - The Catalyst::Log object now has 'autoflush' (which defaults to true) and + causes log messages to be written out in real-time. This is helpful for the + test/dev server to be able to see messages during startup as well as before + the end of the request when the log is flushed. + - Fix spelling, grammar and structural errors in POD + - Remove redundant ->setup call in t/head_middleware.t RT#95361 + - Fix test failures when running under CATALYST_DEBUG. RT#95358 + +5.90064 - 2014-05-05 + - Fix for mindless broken tests on Win32 (Haarg++). + - Happy Cinco de Mayo! + +5.90063 - 2014-05-01 + - 'end' and other special actions won't catch HTTP style exceptions anymore. + - Fix bug where Catalyst did not properly detect the terminal width when in + debug mode and thus making the debug output narrow and hard to read. + - Documentation corrections for Util methods around localized PSGI $env. + - Improvements to auto detection of terminal width. + - Updating deprecation list to include Class::Load and ensure_class_loaded + - Added a few docs around middleware and corrected the order that middleware + is loaded when registering it via ->setup_middleware instead of via + configuration. + - Added a test case to make sure default middleware order is correct. +s +5.90062 - 2014-04-14 + - HTTP::Exception objects were not properly bubbled up to middleware since + there was some code in Catalyst that was triggering stringification. + +5.90061 - 2014-03-10 + - Reverted a change related to how plugins get initialized that was + introduced by a change in December. + +5.90060 - 2014-02-07 + - Same as 5.90059_006, just marking it as stable, no functional changes. + + +5.90059_006 - 2014-02-06 + - MyApp->setup now returns $app to allow class method chaining. + - New Util helper functional localize $env to make it easier to mount PSGI + applications under controllers and actions. See Catalyst::Utils/PSGI Helpers. + - NOTICE: Final Development release for Runner, unless significant issues are + raised. Please test. + +5.90059_005 - 2014-01-28 + - Specify newest versions of some middleware in attempt to solve test errors + reported while installing. +5.90059_004 - 2014-01-27 + - Make sure IO handle objects do 'getline' before sending them to the + response callback, to properly support the PSGI specification. + - Added some backcompat code when setting a response body to an object + that does 'read' but not 'getline'. Added deprecation notice for this + case. Added docs to Catalyst::Delta. + - Catalyst::Delta contains a list of behaviors which will be considered + deprecated immediately. Most items have workarounds and tweaks you can + make to avoid issues. These deprecations are targeted for removal/enforcement + in the Catalyst 6 release. Please review and give your feedback. + - More middleware to replace inline code (upasana++) + - Documentation around Exceptions and how we handle them. + - update copyright notices. + +5.90059_003 - 2013-12-24 + - More documentation about alternative ways to setup middleware. + - removed unneeded use of Devel::Dwarn in test case that was causing + fails to install (sorry). + - When finalizing caught errors, if the error conforms to the interface as + described by Plack::Middleware::HTTPExceptions, rethrow it and let the + middleware deal with it. + +5.90059_002 - 2013-12-21 + - We now pass a scalar or filehandle directly to you Plack handler, rather + than always use the streaming interface (we are still always using a + delayed response callback). This means that you can make use of Plack + middleware like Plack::Middleware::XSendfile and we expect better use of + server features (when they exist) like correct use of chunked encoding or + properly non blocking streaming when running under a supporting server like + Twiggy. See Catalyst::Delta for more. This change might cause issues if + you are making heaving use of streaming (although in general we expect things + to work much better. + - In the case when we remove a content body from the response because you set + an information status or a no content type status, warn that we are doing so + when in debug mode. You might see additional debugging information to help + you find and remove unneeded response bodies. + - Updated the code where Catalyst tries to guess a content length when you + fail to provide one. This should cause less issues when trying to guess the + length of a funky filehandle. This now uses Plack::Middleware::ContentLength + - Removed custom code to remove body content when the request is HEAD and + swapped it for Plack::Middleware::Head + - Merged fix for regressions from stable.. + +5.90059_001 - 2013-12-19 + - Removed deprecated Regexp dispatch type from dependency list. If you are + using Regex[p] type dispatching you need to add the standalone distribution + 'Catalyst::DispatchType::Regex' to you build system NOW or you application + will be broken. + +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 + popular 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 . + + - 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 formatting 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 existence 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 (preferring 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 compatibility + 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 validation 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 Perl 5.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 MacOSX 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-existent + 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. + + Documentation: + - 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 through 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 actions + 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 responses 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 explicitly 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 Catalyst::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::Upgrading 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: + - Fix compatibility issue with code which was testing the value of + $c->res->body multiple times. Previously this would cause the value + to be built, and ergo cause the $c->res->has_body predicate to start + returning true. + Having a response body is indicated by $c->res->body being defined. + + - Fix bug with calling $upload->slurp multiple times in one request + not working as expected as the file handle wasn't returned to + the zero position. (Adam Sjøgren) + + - Fix some weird perl 5.8 situations where $c can get squashed unexpectedly + in Catalyst::execute + + - Fix chained dispatch where chains were being compared for length (number + of private parts in the chain) vs where they are being compared for + PathPart length (i.e. number of non-capturing URI elements in your path). + + This bug meant that sometimes multiple Args or CaptureArgs (e.g. /*/*) + type paths would be preferred to those with fixed path elements + (e.g. /account/*) + + New features: + - Add MYAPP_RESTARTER and CATALYST_RESTARTER environment variables to + allow the restarter class to be chosen per application or generally. + + This feature was added to enable GUI restarters (such as the soon to + be released CatalystX::Restarter::GTK to be enabled more easily by + developers without changing their application code. + +5.80031 2011-01-31 08:13:02 + + Bug fixes: + - Update dependency on MooseX::Role::WithOverloading to ensure that + a version which can deal with / depends on a new Package::Stash + is installed. (As if some other dependency is pulled in during upgrading + which results in new Package::Stash, then it can leave you with a broken + version of MooseX::Role::WithOverloading. + + - 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: + - Add a --proc_title option to the FCGI script to set the process + title. + - Allow the response body to be set to `undef' explicitly to indicate the + absence of a body. It can be used to indicate that no body should be sent at + all and processing of views should be skipped. This is especially useful for + things like X-Sendfile, which now no longer require providing fake response + bodies to suppress view processing. In order for this to work, you will also + have upgrade Catalyst::Action::RenderView to at least version 0.15. + + Bug fixes: + - Deal correctly with GLOB file handles in the response body (setting + the Content-Length header appropriately) + - Chained dispatch has been fixed to always prefer paths + with the minimum number of captures (rather than the + maximum number of actions). This means that (for example) + a URI path /foo/* made out of 2 actions will take preference + to a URI path /*/* made out of 3 actions. Please check your applications + if you are using chained action and please write new test to report + failing case. + - Stop relying on bugs in the pure-perl version of Package::Stash. New + versions of Package::Stash load Package::Stash::XS if + available. Package::Stash::XS fixes some of the bugs of the pure-perl + version, exposing our faulty assumption and breaking things. We now work + with both old and new versions of Package::Stash, both with and without + Package::Stash::XS being installed. Older versions of Catalyst-Runtime also + work with both old and new versions of Package::Stash, but only if + Package::Stash::XS is *not* installed. + + Documentation: + - Clarify that when forwarding or detaching, the end action associated + with the original dispatched action will be run afterwards (fallen) + +5.80029 2010-10-03 16:39:00 + + New features: + - Add a warning when $c->view is called and cannot locate a default_view + or current_view. This clarifies the logging when ::RenderView gets + confused. + + Warning fixes: + - Deal warning in with Moose >= 1.15 if you add a method called 'meta' to a + class which already has one by using _add_meta_method. + +5.80028 2010-09-28 20:49:00 + + Bug fixes: + - use Class::MOP in Catalyst::Utils. + + - Do not keep a reference to a closed over context in ctx_request, allowing + the caller to dispose of the request context at their leisure. + + - Changes to be compatible with bleadperl + +5.80027 2010-09-01 22:14:00 + + Bug fixes: + - Fix an issue with newly added test cases which depended on Catalyst::Action::RenderView + +5.80026 2010-09-01 15:14:00 + + Bug fixes: + - Fix so that CATALYST_EXCEPTION_CLASS in MyApp is always respected by + not loading Catalyst::Exception in Utils.pm BEGIN, because some Scripts::* + load Utils before MyApp.pm + + - Fix warnings with new Moose versions about "excludes" during role + application + + - Fix warning from MooseX::Getopt regarding duplicate "help" aliases. + + - parse_on_demand fixed when used in conjunction with debug mode. + A regression was introduced in 5.80022 which would cause the body + to always be parsed for logging at the end of the request when in + debug mode. This has been fixed so that if the body has not been parsed + by the time the request is logged, then the body is omitted. + + - Fix show_internal_actions config setting producing warnings in debug + mode (RT#59738) + + - Make Catalyst::Test::local_request() set the response base from base href + in the returned document so that links can be resolved correctly by + Test::WWW::Mechanize::Catalyst + + Refactoring: + - moved component name sort that happens in setup_components to + locate_components to allow methods to wrap around locate_components + + Documentation: + - Fix some typos + + - Advertise Catalyst::Plugin::SmartURI + + +5.80025 2010-07-29 01:50:00 + + New features: + - An 'action_class' method has been added to Catalyst::Controller to + allow controller base classes, roles or traits + (e.g. Catalyst::Controller::ActionRole) to more easily override + the default action creation. + + Bug fixes: + - Fix the --mech and --mechanize options to the myapp_create.pl script + to operate correctly by fixing the options passed down into the script. + - Fix controllers with no method attributes (where the action definitions + are entirely contained in config). RT#58057 + - Fix running as a CGI under IIS at non-root locations. + - Fix warning about "excludes" during role application + - Fix warning from MooseX::Getopt regarding duplicate "help" aliases + + Documentation: + - Fix missing - in the docs when describing the --mechanize option at one + point. + - Explained the common practice how to access the component's config + values. + - Fixed typo in Catalyst/Script/Server.pm (RT #58474) + +5.80024 2010-05-15 11:55:44 + + Bug fixes: + - Revert the path resolution behaviour to how it used to work before + Catalyst 5.80014_02, so that application paths are (by default) + resolved from $ENV{PATH_INFO} and $ENV{SCRIPT_NAME}. This fixes backward + compatibility breakage seen by a number of people since that release + with mod_rewrite and SSI. + + New features: + - Add a use_request_uri_for_path config setting to optionally + use the (more correct) $ENV{REQUEST_URI} path resolution behaviour. + + Documentation: + - Clarify the documentation for the Catalyst::Stats interface. + - Copious documentation about the use_request_uri_for_path feature + and the implications of setting this to true/false in + Catalyst::Engine::CGI + +5.80023 2010-05-07 23:50:27 + + Bug fixes: + - 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. + - Allow requiring minimum versions of plugins when loading them. + + Documentation: + - The Catalyst::Test::get method is documented as returning the raw + response bytes without any character decoding (RT#53678) + + Cleanups: + - Removal of $Catalyst::PRETTY_VERSION. Future releases will always have the + full and unmangled version number, including trailing zeroes, in + $Catalyst::VERSION. + +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 characters in captures + ($c->request->captures) and correctly encode utf8 characters. + +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->captures) + 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: + - Fix t/optional_http-server.t test. + - Fix t/optional_http-server-restart.t test. + - Fix duplicate components being loaded at setup time, each component is + now loaded at most once + tests. + - Fix backward compatibility - hash key configured actions are stored in + is returned to 'actions'. + - Fix get_action_methods returning duplicate methods when a method is both + decorated with method attributes and set as an action in config. + + Refactoring / cleanups: + - Reduce minimum supported perl version from 5.8.6 to 5.8.4 as there are + many people still running/testing this version with no known issues. + + Tests: + - Make the optional_http_server.t test an author only test which must be + run by authors to stop it being broken again. + - Fix recursion warnings in the test suites. + +5.80011 2009-08-23 13:48:15 + + Bug fixes: + - Remove leftovers of the restarter engine. The removed code caused test + failures, which weren't apparent for anyone still having an old version + installed in @INC. + +5.80010 2009-08-21 23:32:15 + + Bug fixes: + - Fix and add tests for a regression introduced by 5.80008. + Catalyst::Engine is now able to send out data from filehandles larger + than the default chunksize of 64k again. + +5.80009 2009-08-21 22:21:08 + + Bug fixes: + - Fix and add tests for generating inner packages inside the COMPONENT + method, and those packages being correctly registered as components. + This fixes Catalyst::Model::DBIC among others. + +5.80008 2009-08-21 17:47:30 + + Bug fixes: + - Fix replace_constructor warning to actually work if you make your + application class immutable without that option. + - Depend on Module::Pluggable 3.9 to prevent a bug wherein components + in inner packages might not be registered. This especially affected + tests. + - Catalyst::Engine::FastCGI - relax the check for versions of Microsoft + IIS. Provides compatibility with Windows 2008 R2 as well as + (hopefully) future versions. + - In tests which depend on the values of environment variables, + localise the environment, then delete only relevant environment + variables (RT#48555) + - Fix issue with Engine::HTTP not sending headers properly in some cases + (RT#48623) + - Make Catalyst::Engine write at least once when finalizing the response + body from a filehandle, even if the write is empty. This avoids fail + when trying to send out an empty response body from a filehandle. + - Catalyst::Engine::HTTP - Accept a fully qualified absolute URI in the + Request-URI of the Request-Line + + Refactoring / cleanups: + - Deleted the Restarter engine and its Watcher code. Use the + new Catalyst::Restarter in a recent Catalyst::Devel instead. + - New unit test for Catalyst::Action 'unit_core_action.t' + - Bump minimum supported perl version from 5.8.1 to 5.8.6 as there are + known issues with 5.8.3. + - Debug output uses dynamic column sizing to create more readable output + when using a larger $ENV{COLUMNS} setting. (groditi) + + New features: + - Added private_path method for Catalyst::Action + - Allow uri_for($controller_instance) which will produce a URI + for the controller namespace + - Break setup_components into two more parts: locate_components and + expand_component_module (rjbs) + - Allow Components to return anon classed from their COMPONENT method + correctly, and have action registration work on Controllers returned + as such by adding a catalyst_component_name accessor for all components + which returns the component instance's name to be used when building + actions etc. + - Adding X-Forwarded-Port to allow the frontend proxy to dictate the + frontend port (jshirley) + - Added Catalyst::Stats->created accessor for the time at the start of + the request. + + Documentation: + - Fix POD to refer to ->config(key => $val), rather than + ->config->{key} = $val, as the latter form is deprecated. + - Clearer docs for the 'uri_for' method. + - Fix POD referring to CGI::Cookie. We're using CGI::Simple::Cookie. + (Forrest Cahoon) + +5.80007 2009-06-30 23:54:34 + + Bug fixes: + - Don't mangle query parameters passed to uri_for + - Tests for this (Byron Young + Amir Sadoughi) + - Inherited controller methods can now be specified in + config->{action(s)} + - Assigning an undef response body no longer produces warnings + - Fix C3 incompatibility bug caused if you use Moose in MyApp.pm and + add Catalyst to the right hand side of this in @ISA. + - Make Catalyst.pm implement the Component::ApplicationAttribute + interface so defining actions in MyApp.pm works again, if the + actions have attributes that cause $self->_application to be used + (like ActionClass). + + New features: + - Add optional second argument to uri_with which appends to existing + params rather than replacing them. (foo=1 becomes foo=1&foo=2 when + uri_with({ foo => 2 }, { mode => 'append' }) is called on a foo=1 + URI. + +5.80006 2009-06-29 23:37:47 + + Bug fixes: + - Revert change to URL encode things passed into $c->uri_for + Args and CaptureArgs as this causes breakage to pre-existing + applications. + - Remove use of Test::MockObject as it doesn't install from CPAN + in some environments. + - Remove use of dclone to deep copy configs and replace with + Catalyst::Utils::merge_hashes which has the same effect, of + ensuring child classes don't inherit their parent's config, + except works correctly with closures. + - Add Class::C3::reinitialize into Catalyst::Test to avoid weird + bugs in ctx_request (bokutin in RT#46459) + - Fix issues with _parse_PathPrefix_attr method in Catalyst::Controller + (jasonk in RT#42816) + - Fix bugs with action sorting: + - Path actions sorted so that the most specific wins. + - Action methods named default and index fixed. + + New features: + - Use ~ as prefix for plugins or action classes which are located in + MyApp::Plugin / MyApp::Action (mo) + - Controller methods without attributes are now considered actions if + they are specified in config->{action(s)} (mo) + - Add Catalyst::Component::ContextClosure as an easy way to create code + references, that close over the context, without creating leaks. + + Refactoring / cleanups: + - Clean namespaces in Catalyst::Exception*. + - Turn Catalyst::Exception into an actual class and make the throw + method create instances of it. They can still be used as normal + strings, as before, as they are overloaded to stringify to their + error message. + - Add a rethrow method to Catalyst::Exception. + - Add Catalyst::Exception::Detach and ::Go, and refactor detach() and + go() to use them instead of magic, global strings. + Fixes RT#47366 + - Clean up getting metaclass instance and making app class immutable + again in Catalyst::Test + +5.80005 2009-06-06 14:40:00 + + Behaviour changes: + - Arguments ($c->req->args) in Chained dispatch are now automatically + URL decoded to be consistent with Local/Path dispatch + + Documentation: + - Clarify correct techniques for Moose controllers (domm) + + Bug fixes: + - Further change pushing 'env' attribute down into Catalyst::Engine + to make $c->engine->env work in all cases (kmx) + - Also fix $c->engine->env in Catalyst::Test tests (kmx) + - Tests for this + - Fix Catalyst failing to start if any plugin changed $_ whilst + loading + - Tests for this + - Be stricter about arguments to Args attributes for Chained actions, + so that they blow up on load instead of causing undefined behavior + later on + - Tests for this + - Prefer Path actions with a smaller (or set) number of Args (caelum) + Bug reported here: http://stackoverflow.com/questions/931653/catalyst-action-that-matches-a-single-file-in-the-root-directory/933181#933181 + - Tests for this + + New features: + - Add $c->req->remote_user to disambiguate from $c->req->user (dwc) + - Require MooseX::MethodAttributes 0.12 so that action methods + (with attributes) can be used in / composed from Moose roles. + - Allow the generation of cookies with the HTTPOnly flag set + in Catalyst::Engine (kmx) + +5.80004 2009-05-18 17:03:23 + - Rename the actions attribute in Catalyst::Controller to + _controller_actions to avoid name clashes with application + controller naming. (random) - Test for using Moose in components which have a non-Moose base class - Fixed by 349cda in Moose 0.78 (t0m) + Fixed by 349cda in Moose 0.78 - Fix deprecation message for Catalyst::Dispatcher to refer - to the class actually calling the deprecated method. RT#45741 (t0m) + to the class actually calling the deprecated method. RT#45741 - Clarify limitations of $request->base and $request->secure. (Phil Mitchell) - Add 'use Catalyst' to documentation for a Moose MyApp class as - noted by dmaki. (t0m) + noted by dmaki. - Fix so that / (and other special characters) are URL encoded when - passed into $c->uri_for as Args/CaptureArgs (t0m) + passed into $c->uri_for as Args/CaptureArgs - Fix development server so that $c->engine->env returns the correct - environment (t0m) - - Require Moose 0.78 to fix metaclass incompatibility issues (t0m) + environment + - Require Moose 0.78 to fix metaclass incompatibility issues - Require MooseX::MethodAttributes 0.10 and use Moose::Meta::Class->initialize rather than Moose->init_meta to fix - bugs related to having a 'meta' method in your controller (t0m) - - Fix cases where your application failing to complie could cause perl to - report 'Unknown Error' (t0m) + bugs related to having a 'meta' method in your controller + - Fix cases where your application failing to compile could cause perl + to report 'Unknown Error' + - Support adding Moose::Roles to the plugin list. These are applied to + MyApp after plugins have been pushed onto @ISA + - Fix calling $c->req->parameters as the first thing you do when + parse_on_demand is on 5.80003 2009-04-29 16:23:53 - Various POD tweaks. (hdp, dandv) - - Fix formatting error in the regex fallback warning. (rafl) + - Fix formatting error in the regex fallback warning. - Convert the dispatcher's and restarter engine's BUILD method to attribute builders to not override the BUILD method from - MooseX::Emulate::Class::Accessor::Fast. (rafl) + MooseX::Emulate::Class::Accessor::Fast. - Fix classes without metaclasses restarting, when not using - B::Hooks::OP::Check::StashChange (t0m) + B::Hooks::OP::Check::StashChange - Fix the unattached chain debug table for endpoints with no - parents at all. (rafl) - - Turn of test aggregation by default. Only aggregate if the + parents at all. + - Turn off test aggregation by default. Only aggregate if the AGGREGATE_TESTS environment variable is set and a recent - Test::Aggregate is available. (rafl) + Test::Aggregate is available. - Bump to MooseX::MethodAttributes 0.09, to gain the get_nearest_methods_with_attributes method allowing methods without attributes in a subclass to override those with attributes in a superclass. This fixes CatalystX::CRUD's method of overriding / - disabling functionality from base controllers. (t0m) - - Bump HTTP::Request::AsCGI dependency to avoid broken version (t0m) + disabling functionality from base controllers. + - Bump HTTP::Request::AsCGI dependency to avoid broken version - Bump Moose dependency to latest version to fix metaclass - incompatibility issues in some cases. (t0m) - - Additional tests for setup_stats method. (t0m) - - Fix log levels in Catalyst::Log to be properly additive. (t0m) - - Fix RT#43375 by sorting results before testing them (t0m) + incompatibility issues in some cases. + - Additional tests for setup_stats method. + - Fix log levels in Catalyst::Log to be properly additive. + - Fix RT#43375 by sorting results before testing them - Fixes for uri_for_action when using Catalyst::DispatchType::Regex + tests from RT#39369 (norbi) - - Partial rewrite and reoganisation of the C3 docs in - Catalyst::Upgrading based on feedback from kiffin (t0m) + - Partial rewrite and reorganization of the C3 docs in + Catalyst::Upgrading based on feedback from kiffin - If you make your application class immutable and turn off constructor inlining, Catalyst will die and tell you pass the (replace_constructor => 1) argument to @@ -56,29 +2093,29 @@ 5.80002 2009-04-22 01:28:36 - Fix CATALYST_DEBUG and MYAPP_DEBUG environment variables - turning debuging on if defined, rather than if set. + turning debugging on if defined, rather than if set. They now force debugging on or off, taking precedence over - configuration in your application. (t0m) - - Tests for this (t0m) + configuration in your application. + - Tests for this - pass replace_constructor to the immutable call to ensure applications get a Moose constructor rather than a C::A one - Fix issues with restarting the application class due to C3 failures - on perl 5.10 (t0m) + on perl 5.10 - Work around issues in Moose with initialization order of multiple - levels of non-Moose classes inheriting from a Moose class (t0m) + levels of non-Moose classes inheriting from a Moose class - Test for this - Add backwards compatibility method for Catalyst::Log->body, which - has been made private (t0m) + has been made private - Fix so that calling $c->req->parameters(undef) does not flatten - the request parameters with undef + test (t0m) + the request parameters with undef + test - Fix so that width of table of unattached actions for debugging ::DispatchType::Chained varies according to your terminal width (Oleg Kostyuk) - Fix warning message about linearized @ISA in Catalyst::Component (Emanuele Zeppieri) - Require MX::MethodAttributes 0.06 to avoid issues with saying - use base 'Catalyst::Controller'; use Moose; losing actions (t0m) - - Fix all of t0m's typos in ::Upgrading and ::Delta (hobbs) + use base 'Catalyst::Controller'; use Moose; losing actions + - Fix all of's typos in ::Upgrading and ::Delta (hobbs) 5.80001 2009-04-18 22:18 - Don't inline the constructor for Catalyst::Log to avoid a @@ -89,89 +2126,88 @@ - Test uri_with clears query params when they are set to undef (Ian Wells) - Complain about old Catalyst::Devel versions which generated - ->setup(qw/-Debug... etc. as this is not recommended (t0m) + ->setup(qw/-Debug... etc. as this is not recommended 5.8000_07 2009-04-12 13:37 - Add the Catalyst::Dispatcher->dispatch_type method (ash) - Throw an exception rather than loading an app if an action - tries to chain to itself (t0m) + tries to chain to itself - Tests for this - Change the $c->visit and $c->go methods to optionally take - CaptureArgs, making them useful to call ActionChains with (t0m) + CaptureArgs, making them useful to call ActionChains with - Tests for this (radek) - Fix _invoke_as_component method to find the proper action instance for dispatchable actions so that ->visit or ->going to ActionChains - with qw/Class::Name method_name/ works correctly (t0m) + with qw/Class::Name method_name/ works correctly - Tests for this (radek) - Added Catalyst::Test::ctx_request to be able to inspect the context object after a request is made (Jos Boumans) - debug() POD rewrite (jhannah) - Change the warning when you have conflicting components to - present a list (t0m) + present a list - Move NEXT use and testing deprecated features out to its own test application so that the main TestApp isn't polluted with - spurious warnings (t0m) - - Add a warning for the old ::[MVC]:: style naming scheme (t0m) - - Test for this (t0m) + spurious warnings + - Add a warning for the old ::[MVC]:: style naming scheme + - Test for this - Kill Class::C3::Adopt::NEXT warnings for the Catalyst:: namespace - in production versions (t0m) + in production versions - Tidy up Catalyst::ClassData to ensure that all components get - the correct metaclass (t0m) + the correct metaclass - Make MyApp.pm restartable by unsetting setup_finished in - the restarter process (t0m) + the restarter process - Non-naive implementation of making mutable on restart using - B::Hooks::OP::Check::StashChange if installed (t0m) - - Tests for this (t0m) + B::Hooks::OP::Check::StashChange if installed + - Tests for this - Naive implementation of making all components mutable in the forked restart watcher process so native Moose apps using - immutable restart correctly. (t0m) - - Tests for this (t0m) + immutable restart correctly. + - Tests for this - Bump Moose dependency to 0.70 so that we avoid nasty surprises - with is_class_loaded and perl 5.80 when you Moosify MyApp.pm (t0m) + with is_class_loaded and perl 5.80 when you Moosify MyApp.pm - Clarify that request arguments aren't unescaped automatically (Simon Bertrang) (Closes RT#41153) - - Don't require C3 for the MRO test (rafl) - - Bump MX::Emulate::CAF prereq to support list assignment (rafl) - - Remove useless column in chained action debug table. (rafl) - - namespace::clean related cleanups (rafl) - - Import related cleanups and consistency fixes (rafl) - - Fix test suite TestApp /dump/env action (t0m) - - Add $res->code as alias for $res->status (hdp) + - Don't require C3 for the MRO test + - Bump MX::Emulate::CAF prereq to support list assignment + - Remove useless column in chained action debug table. + - namespace::clean related cleanups + - Import related cleanups and consistency fixes + - Fix test suite TestApp /dump/env action + - Add $res->code as alias for $res->status - Make Catalyst::ClassData compatible with the latest Class::MOP::Class - changes. Also depend on the latest Class::MOP. (rafl) - - Add $c->uri_for_action method. (hdp) - - Don't stringify the meta method. Use its name instead. (rafl) + changes. Also depend on the latest Class::MOP. + - Add $c->uri_for_action method. + - Don't stringify the meta method. Use its name instead. - Use MooseX::MethodAttributes::Inheritable to contain action attributes. This means that attributes are now represented in the MOP, - allowing method modifiers on actions to work as expected. (rafl) + allowing method modifiers on actions to work as expected. - Provide a reasonable API in Catalyst::Controller for working with and registering actions, allowing a controller sub-class to replace - subroutine attributes for action declerations with an alternate - syntax. (rafl/hdp) + subroutine attributes for action declarations with an alternate + syntax. - Instantiate correct sub-class of Moose::Meta::Class for non-Moose components where Catalyst forces the creation of a metaclass instance. This is more correct, and avoids metaclass incompatibility in complex - cases (t0m) - - Tests for this (t0m) - - Use of deprecated Catalyst::Base now warns. (t0m) - - Add uri_with tests (gphat) + cases + - Tests for this + - Use of deprecated Catalyst::Base now warns. + - Add uri_with tests 5.8000_06 2009-02-04 21:00 - - Disallow writing to config after setup (rafl) - - Disallow calling setup more than once (rafl) + - Disallow writing to config after setup + - Disallow calling setup more than once - Documentation fix regarding overloading of Engine and Dispatcher - instances (rafl) - - Several documentation typo fixes (rafl) + instances + - Several documentation typo fixes - Stop Makefile.PL from warning about versions that fixed a conflict - (t0m) - - Improved upgrading documentation (t0m, rafl) + - Improved upgrading documentation - Seed the RNG in each FastCGI child process (Andrew Rodland) - - Properly report dynamic bind port for the development server (rafl) + - Properly report dynamic bind port for the development server (Closes RT#38544) - Use the way documented by IO::Socket::INET to get the error message - after trying to create a listening socket (rafl) (Closes RT#41828) + after trying to create a listening socket (Closes RT#41828) - Don't ignore SIGCHLD while handling requests with the dev server - (rafl) (Closes RT#42962) + (Closes RT#42962) 5.8000_05 2008-29-01 00:00 - Text::SimpleTable's go as wide as $ENV{COLUMNS} (jhannah) @@ -181,132 +2217,130 @@ - Added ru/ua translations to error page - Improve the clarity and verbosity of the warning when component resolution uses regex fallback. (jhannah) - - Handle leading CRLF in HTTP requests sometimes sent by IE6 in - keep-alive requests. (andyg) + - Handle leading CRLF in HTTP requests sometimes sent by IE6 in + keep-alive requests. - Fixes for FastCGI with IIS 6.0 (janus) - Passing request method exported by Catalyst::Test an extra parameter used to be ignored, but started breaking if the parameter was not a hash in 5.8000_04. Extra parameter is now ignored if - it isn't a hashref (t0m) - - Fix request argumentss getting corrupted if you override the - dispatcher and call an action which detaches (for - Catalyst::Plugin::Authorization::ACL) (t0m) + it isn't a hashref + - Fix request arguments getting corrupted if you override the + dispatcher and call an action which detaches (for + Catalyst::Plugin::Authorization::ACL) - Fix calling use Catalyst::Test 'MyApp' 'foo' which used to work, - but stopped as the 2nd parameter can be an options hash now (t0m) - - Bump Moose dependency to fix make_immutable bug (t0m) - - Use compile time extends in Catalyst::Controller (t0m) + but stopped as the 2nd parameter can be an options hash now + - Bump Moose dependency to fix make_immutable bug + - Use compile time extends in Catalyst::Controller - Make Catalyst::Request::uploads attribute non-lazy, to fix - test for Catalyst-Engine-Apache (t0m) - - Bump version of MooseX::Emulate::Class::Accessor::Fast (t0m) + test for Catalyst-Engine-Apache + - Bump version of MooseX::Emulate::Class::Accessor::Fast - Stop using MooseX::Adopt::Class::Accessor::Fast by default, to stop breaking other packages which use Class::Accessor::Fast - - Remove unused action_container_class attribute from - Catalyst::Dispatcher (t0m) - - Replace {_body} instance access with calls to _body accessors (t0m) - - Add backwards compatibility alias methods for private attributes on - Catalyst::Dispatcher which used to be public. Needed by - Catalyst::Plugin::Server and Catalyst::Plugin::Authorization::ACL - (t0m) + - Remove unused action_container_class attribute from + Catalyst::Dispatcher + - Replace {_body} instance access with calls to _body accessors + - Add backwards compatibility alias methods for private attributes on + Catalyst::Dispatcher which used to be public. Needed by + Catalyst::Plugin::Server and Catalyst::Plugin::Authorization::ACL - Fix return value of $c->req->body, which delegates to the body - method on the requests HTTP::Body instance (t0m) - - Test for this (t0m) + method on the requests HTTP::Body instance + - Test for this - Fix calling $c->req->body from inside an overridden prepare_action - method in a plugin, as used by Catalyst::Plugin::Server (t0m) - - Test for this (t0m) + method in a plugin, as used by Catalyst::Plugin::Server + - Test for this - Fix assignment to Catalyst::Dispatcher's preload_dispatch_types and - postload_dispatch_types attributes - assigning a list should later - return a listref. Fixes Catalyst::Plugin::Server. (t0m) - - Tests for this (t0m) - - Change streaming test to serve itself rather than 01use.t, making - test sync for engines easier (t0m) + postload_dispatch_types attributes - assigning a list should later + return a listref. Fixes Catalyst::Plugin::Server. + - Tests for this + - Change streaming test to serve itself rather than 01use.t, making + test sync for engines easier - Refactor capturing of $app from Catalyst::Controller into Catalyst::Component::ApplicationAttribute for easier reuse in other - components (Florian Ragwitz) - - Make the test suites YAML dependency optional (Florian Ragwitz) + components + - Make the test suites YAML dependency optional - Make debug output show class name for the engine and dispatcher - rather than the stringified ref. (t0m) + rather than the stringified ref. - Make MyApp immutable at the end of the scope after the setup - method is called, fixing issues with plugins which have their - own new methods by inlining a constructor on MyApp (t0m) - - Test for this and method modifiers in MyApp (t0m) + method is called, fixing issues with plugins which have their + own new methods by inlining a constructor on MyApp + - Test for this and method modifiers in MyApp - Fix bug causing Catalyst::Request::Upload's basename method - to return undef (t0m) + to return undef - Test for this (Carl Franks) - Fix loading of classes which do not define any symbols to not - die, as it didn't in 5.70 (t0m) - - Test for this (t0m) + die, as it didn't in 5.70 + - Test for this - Bump MooseX::Emulate::Class::Accessor::Fast dependency - to force new version which fixes a lot of plugins (t0m) + to force new version which fixes a lot of plugins - Make log levels additive, and add documentation and tests for the setup_log method, which previously had none. - Sewn together by t0m from two patches provided by David E. Wheeler + Sewn together by from two patches provided by David E. Wheeler - Switch an around 'new' in Catalyst::Controller to a BUILDARGS - method as it's much neater and more obvious what is going on (t0m) - - Add a clearer method on request and response _context + method as it's much neater and more obvious what is going on + - Add a clearer method on request and response _context attributes, and use if from ::Engine rather than deleting - the key from the instance hash (t0m) + the key from the instance hash - Use handles on tree attribute of Catalyst::Stats to replace - trivial delegation methods (t0m) + trivial delegation methods - Change the following direct hash accesses into attributes: Catalyst::Engine: _prepared_write Catalyst::Engine::CGI: _header_buf Catalyst::Engine::HTTP: options, _keepalive, _write_error Catalyst::Request: _path Catalyst::Stats: tree - (t0m) - - Fix issues in Catalyst::Controller::WrapCGI - and any other components which import (or define) their + - Fix issues in Catalyst::Controller::WrapCGI + and any other components which import (or define) their own meta method by always explicitly calling - Class::MOP::Object->meta inside Catalyst (t0m) - - Add test for this (t0m) - - Add test case for the bug which is causing the - Catalyst::Plugin::Authentication tests to fail (t0m) + Class::MOP::Object->meta inside Catalyst + - Add test for this + - Add test case for the bug which is causing the + Catalyst::Plugin::Authentication tests to fail - Fix a bug in uri_for which could cause it to generate paths - with multiple slashes in them. (t0m) - - Add test for this (t0m) + with multiple slashes in them. + - Add test for this - Fix SKIP block name in t/optional_http-server-restart.t, - stopping 'Label not found for "last SKIP"' error from - Test::More (t0m) - - Workaround max_redirect 0 bug in LWP (andyg) - - Move live_engine_response_print into aggregate (andyg) - - Fix dependency bug, s/parent/base/ in new test (rafl) - - Fix optional tests to run the live tests in the aggregate - dir (andyg) - - Fix Catalyst->go error in remote tests (andyg) - - Fix upload test to work with remote servers, don't check for - deleted files (andyg) - - Fix engine_request_uri tests to work on remote server with - different URI (andyg) + stopping 'Label not found for "last SKIP"' error from + Test::More + - Workaround max_redirect 0 bug in LWP + - Move live_engine_response_print into aggregate + - Fix dependency bug, s/parent/base/ in new test + - Fix optional tests to run the live tests in the aggregate + dir + - Fix Catalyst->go error in remote tests + - Fix upload test to work with remote servers, don't check for + deleted files + - Fix engine_request_uri tests to work on remote server with + different URI 5.8000_04 2008-12-05 12:15:00 - - Silence Class::C3::Adopt::NEXT warnings in the test suite (rafl) - - Fix loads of 'used once, possible typo' warnings (rafl) - - Additional tests to ensure upload temp files are deleted (andyg) + - Silence Class::C3::Adopt::NEXT warnings in the test suite + - Fix loads of 'used once, possible typo' warnings + - Additional tests to ensure upload temp files are deleted - Remove use of NEXT from the test suite, except for one case - which tests if Class::C3::Adopt::NEXT is working (t0m) + which tests if Class::C3::Adopt::NEXT is working - Use a predicate to avoid recursion in cases where the uri method is overridden by a plugin, and calls the base method, - for example Catalyst::Plugin::SmartURI (t0m) + for example Catalyst::Plugin::SmartURI - Test for this (caelum) - - Compose the MooseX::Emulate::Class::Accessor::Fast role to - Catalyst::Action, Catalyst::Request, and all other modules which + - Compose the MooseX::Emulate::Class::Accessor::Fast role to + Catalyst::Action, Catalyst::Request, and all other modules which inherit from Class::Accessor::Fast in 5.70. This fixes: - Catalyst::Controller::HTML::FormFu (zamolxes) - - Catalyst::Request::REST (t0m) - - Test for this (t0m) + - Catalyst::Request::REST + - Test for this - Make hostname resolution lazy (Marc Mims) - Support mocking virtualhosts in test suite (Jason Gottshall) - - Add README (marcus) - - Fix TODO list (t0m) - - Use Class::C3::Adopt::NEXT (rafl) - - Ignore C3 warnings on 5.10 when testing ensure_class_loaded (rafl) + - Add README + - Fix TODO list + - Use Class::C3::Adopt::NEXT + - Ignore C3 warnings on 5.10 when testing ensure_class_loaded - Add TODO test for chained bug (gbjk) - Fix list address in documentation (zarquon) - - Fix ACCEPT_CONTEXT on MyApp, called as a class method (marcus) - - Test for this (marcus) - - Bump MooseX::Emulate::Class::Accessor::Fast version requirement to - get more back compatibility (t0m) + - Fix ACCEPT_CONTEXT on MyApp, called as a class method + - Test for this + - Bump MooseX::Emulate::Class::Accessor::Fast version requirement to + get more back compatibility - Improve documentation for $req->captures (caelum) - Fix a bug in Catalyst::Stats, stopping garbage being inserted into the stats if a user calls begin => but no end => (jhannah) @@ -314,16 +2348,16 @@ - Trim lines sooner in stats to avoid ugly Text::SimpleTable wrapping (jhannah) - Change Catalyst::ClassData to tweak the symbol table inline for - performance after profiling (mst) + performance after profiling - Fix POD typo in finalize_error (jhannah) - - Add tests to ensure that we delete the temp files created by - HTTP::Body's OctetStream parser (t0m) + - Add tests to ensure that we delete the temp files created by + HTTP::Body's OctetStream parser 5.8000_03 2008-10-14 14:13:00 - - Fix forwarding to Catalyst::Action objects (Rafael Kitover). + - Fix forwarding to Catalyst::Action objects. - Fix links to the mailing lists (RT #39754 and Florian Ragwitz). - - Use Class::MOP instead of Class::Inspector (Florian Ragwitz). - - Change Catalyst::Test to use Sub::Exporter (Florian Ragwitz). + - Use Class::MOP instead of Class::Inspector. + - Change Catalyst::Test to use Sub::Exporter. - Fixed typo in Engine::HTTP::Restarter::Watcher causing -r to complain. 5.8000_02 2008-10-14 07:59:00 @@ -333,11 +2367,11 @@ - Port to Moose - Added test for action stringify - Added test for component instances getting $self->{value} from config. - - Add Catalyst::Response->print() method (ilmari) - - Optionally aggregate tests using Test::Aggregate (Florian Ragwitz). - - Additional docs for uri_for to mention how to use $c->action and + - Add Catalyst::Response->print() method + - Optionally aggregate tests using Test::Aggregate. + - Additional docs for uri_for to mention how to use $c->action and $c->req->captures (jhannah) - - List unattached chained actions in Debug mode (Florian Ragwitz). + - List unattached chained actions in Debug mode. - Pod formatting fix for Engine::FastCGI (Oleg Kostyuk). - Add visit, a returning ->go @@ -346,7 +2380,7 @@ - Back out go() since that feature's been pushed to 5.80 - Fix some Win32 test failures - Add pt translation of error message (wreis) - - Make :Chained('../action') work (Florian Ragwitz) + - Make :Chained('../action') work - Add test actions - Chained doc improvements (rev 8326-8328) @@ -360,7 +2394,7 @@ - Added PathPrefix attribute - Removed Catalyst::Build; we've long since moved to Module::Install - Updated Catalyst::Test docs to mention the use of HTTP::Request - objects (Rafael Kitover) + objects 5.7099_01 2008-06-25 22:36:00 - Refactored component resolution (component(), models(), model(), et al). We now @@ -368,7 +2402,7 @@ 1) model() or view() was called with no arguments, and two results are returned -- set default_(model|view), current_(model|view) or current_(model|view)_instance instead - 2) you call a component resolution method with a string, and it resorts to a regexp + 2) you call a component resolution method with a string, and it resorts to a regexp fallback wherein a result is returned -- if you really want to search, call the method with a regex as the argument - remove 0-length query string components so warnings aren't thrown (RT #36428) @@ -383,13 +2417,13 @@ 5.7014 2008-05-25 15:26:00 - Addition of .conf in restart regex in Catalyst::Engine::HTTP::Restarter::Watcher - - Fix regression for relative uri_for arguments after a forward() - introduced in 5.7013 (Peter Karman) - - Fix regression for "sub foo : Path {}" in the root controller which + - Fix regression for relative uri_for arguments after a forward() + introduced in 5.7013 (Peter Karman) + - Fix regression for "sub foo : Path {}" in the root controller which was introduced when attempting to allow "0" as a Path. 5.7013 2008-05-16 18:20:00 - - Provide backwards compatability methods in Catalyst::Stats + - Provide backwards compatibility methods in Catalyst::Stats - Fix subdirs for scripts that run in subdirs more than one level deep. - Added test and updated docs for handling the Authorization header under mod_fastcgi/mod_cgi. @@ -399,8 +2433,8 @@ - Fix grammar on welcome page (RT #33236) - Fix for Path('0') handling (RT #29334) - Workaround for Win32 and c3_mro.t (RT #26452, tested by Kenichi Ishigaki) - - Fix for encoding query parameters (edenc) - - Fix Chained multiple test (t0m) + - Fix for encoding query parameters + - Fix Chained multiple test 5.7012 2007-12-16 23:44:00 - Fix uri_for()'s and uri_with()'s handling of multibyte chars @@ -434,7 +2468,7 @@ - Resource forks in 5.7009 5.7009 2007-08-22 00:14:00 - - Moved Manual.pod to Manual.pm and clarified status of + - Moved Manual.pod to Manual.pm and clarified status of Catalyst-Manual dist - Doc patches to Catalyst::Controller - remove ignore_loaded from plugin load, commenting why @@ -485,7 +2519,7 @@ 5.7006 2006-11-15 14.18 - Updated manifest - Fix Slurp dependency - - Updated HTTP::Body dependency to 0.6, 0.5 can break on large POST + - Updated HTTP::Body dependency to 0.6, 0.5 can break on large POST requests. - Skip utf8 fix for undef values in uri_with() and uri_for() @@ -504,9 +2538,9 @@ - Allow use of Catalyst::Test without app name (Ton Voon, Altinity) - Catalyst::Manual moved to its own package - Add option to FastCGI engine to send errors to stdout, not the web server - - Use Module::Install's auto_install to install prerequisite modules + - Use Module::Install's auto_install to install prerequisite modules - various documentation fixes and improvements - + 5.7003 2006-09-21 16:29:45 - Additions and updates to tutorial @@ -526,7 +2560,7 @@ - bumped inc::Module::Install to 0.63 in Makefile.PL - fixes to uri_for_action for DispatchType::Chained - Further doc work. - - Minor code cleanups + - Minor code cleanups - Changed catalyst.pl to depend on Catalyst::Devel 5.70_03 2006-06-28 16:42:00 @@ -574,7 +2608,7 @@ - Remove tarballs and OSX metadata files. 5.6901 2006-05-03 11.17:00 - - Module::Install didn't overwrite META.yml. + - Module::Install didn't overwrite META.yml. 5.6900 2006-05-03 11.17:00 - Stupid pause indexer can't count. @@ -582,12 +2616,12 @@ - more tests. 5.682 2006-04-27 13:51:00 - - Damn OSX attributes again :( + - Damn OSX attributes again :( 5.681 2006-04-27 08:47:00 - Updated manifest. - Add basename to core . (Deprecates Catalyst::Plugin::Basename) - + 5.68 2006-04-26 12:23:00 - ConfigLoader: Updated to version 0.06 - fixed undef warnings in uri_for() and uri_with() @@ -766,7 +2800,7 @@ - Added multi process external FastCGI support (see myapp_fastcgi.pl -help) (Sam Vilain) - Restarter process in HTTP engine now properly exits when the - parent app is shut down. + parent app is shut down. - Improved performance of restarter loop while watching for changed files. - Restarter will now detect new files added to an app on systems @@ -775,7 +2809,7 @@ application. - Fixed memory leak in TestApp. -5.49_02 2005-10-26 12:39:00 +5.49_02 2005-10-26 12:39:00 - Whole new dispatcher! - Added index action - Added path_to method @@ -797,7 +2831,7 @@ - Fixed bug in uri_for method when base has no path. - Added automated tests for HTTP, CGI, and FastCGI servers. -5.49_01 2005-10-10 10:15:00 +5.49_01 2005-10-10 10:15:00 - Refactored all internals, should be 99% compatible to previous versions. - *IMPORTANT* The Apache engines have been moved to a separate package @@ -839,21 +2873,21 @@ - Now with updated manifest. 5.32 2005-08-10 15:10:00 - - Dispatcher might fail if object returns false. (Florian Ragwitz) + - Dispatcher might fail if object returns false. 5.31 2005-06-04 12:35:00 (never released to CPAN) - helpers now create .new files where files already exist and differ - fixed $Data::Dumper::Terse (Robin Berjon) - added arguments for detach - - new credits section in pod + - new credits section in POD - fixed detach to allow relative action names (Matt and Robert) - added the ability to have whitespaces in Path( '' ) and Regex( '' ) 5.30 2005-06-04 12:35:00 - - Fixed a bug where it was not possible to $c->forward to a - component + - Fixed a bug where it was not possible to $c->forward to a + component that was not inheriting from Catalyst::Base. - Fix for inheritance bug. - Allow forward with arguments. @@ -931,17 +2965,17 @@ - added plugin() method for instant plugins - FCGI is no more considered experimental -5.02 2005-04-18 10:00:00 +5.02 2005-04-18 10:00:00 - fixed manifest -5.01 2005-04-17 23:00:00 +5.01 2005-04-17 23:00:00 - some documentation bugs fixed - added Catalyst::Utils - fixed regexp bug (Matt S Trout) - fixed upload bug with MP19 - added $c->req->body - aliased $c->res->output to $c->res->body - - Read AUTHOR from passwd or $ENV{AUTHOR} when + - Read AUTHOR from passwd or $ENV{AUTHOR} when generating code. - extended attribute handling - added global config for components @@ -988,7 +3022,7 @@ - previous release was borked! fixed that, but you have to regenerate the scripts again :( -4.30 2005-03-21 23:00:00 +4.30 2005-03-21 23:00:00 - more documentation (Andrew Ford) - added connection informations (Christian Hansen) - HTTP::Request support in Catalyst::Test (Christian Hansen) @@ -1023,9 +3057,9 @@ - improved cgi engine docs (Christoper Hicks) 4.24 2005-03-12 01:00:00 - - updated cookbook example + - updated cookbook example - fixed base for apache and https (Andrew Ruthven) - + 4.23 2005-03-09 20:00:00 - no more regex actions in forward - added support for test directories t/m, t/v and t/c @@ -1084,12 +3118,12 @@ - removed roles management from Catalyst::Engine and added it to Catalyst::Plugin::Authentication::CDBI -3.04 2005-02-17 21:00:00 +3.04 2005-02-17 21:00:00 - error reporting for app class - no more engine debug messages - class->method forwards get resolved now -3.03 2005-02-16 23:00:00 +3.03 2005-02-16 23:00:00 - friendlier statistics 3.02 2005-02-16 22:00:00