# This file documents the revision history for Perl extension Catalyst.
-5.71000_01 UNRELEASED
- - Support Moose components so that attribute defaults work
- and BUILD methods are correctly called (t0m)
- - Add tests for this (Florian Ragwitz)
-
-5.71000 2009-01-19 17:50: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 charracters.
+
+5.80020 2010-02-04 06:51:18
+
+ New features:
+ - Allow components to specify additional components to be set up by
+ overriding the expand_modules method. (Oliver Charles)
+
+5.80019 2010-01-29 01:04:09
+
+ Bug fixed:
+ - Calls to $c->uri_for with private paths as strings (e.g.
+ $c->uri_for('controller/action', 'arg1', 'arg2') ) no longer have
+ / encoded to %2F. This is due to $c->uri_for('static', 'css/foo', $bar)
+ which should not be encoded.
+ Calls with an action object (rather than a string), or uri_for action
+ will still encode / in args and captures to %2F
+
+ - The above noted / => %2F encoding in uri_for_action or uri_for with
+ an action object has been fixed to not just encode the first slash in
+ any set of args/captures.
+
+ - nginx and lighttpd FCGI requests with URI encoded sections as the first
+ path part have been fixed to operate correctly.
+
+ - A source of bogus warnings in Catalyst::Component::BUILDARGS has been
+ removed.
+
+ Documentation:
+ - Improve the documentation about -Home and how Catalyst finds the home path
+ for applications.
+ - Various minor typo fixes.
+
+ New features:
+ - Allow passing additional arguments to action constructors.
+
+5.80018 2010-01-12 22:24:20
+
+ Bug fixed:
+ - Call ->canonical on URI derived from $ENV{REQUEST_URI} to get
+ paths correctly decoded. This bug was previously hidden by a bug
+ in HTTP::Request::AsCGI.
+
+ Documentation:
+ - Clarify that uri_for_action works on private paths, with example.
+ - Clarify documentation about debug
+
+ Deprecations:
+ - Saying use Catalyst::Test; (without an application name or () to stop
+ the importer running is now deprecated and will issue a warning.
+ You should be saying use Catalyst::Test ();
+
+5.80017 2010-01-10 02:27:29
+
+ Documentation:
+ - Fix docs for ->forward method when passed a class name - this should
+ be a component name (e.g. View::HTML, not a full class name, like
+ MyApp::View::HTML).
+
+ Bug fixes:
+ - --daemon and -d options to Catalyst::Script::FastCGI are fixed.
+ - Fix the debug dump for applications which use Catalyst::Plugin::Session
+ (RT#52898)
+ - Fix regression in the case where mod_rewrite is being used to rewrite
+ requests into a path below your application base introduced with the
+ %2F related fixes in 5.80014_02.
+ - Do not crash on SIGHUP if Catalyst::Engine::HTTP->run is not passed the
+ argv key in the options hash.
+ - Correctly pass the arguments to Catalyst::Script::Server through to
+ Catalyst::Engine::HTTP->run so that the server can restart itself
+ with the correct options on SIGHUP.
+ - Require new MooseX::MethodAttributes to be compatible with Moose
+ versions >= 0.93_01
+ - Require new MooseX::Role::WithOverloading to be compatible with Moose
+ versions >= 0.93_01
+
+ Cleanups:
+ - Stop suppressing warnings from Class::C3::Adopt::NEXT now that most plugins
+ have been updated to not use NEXT. If you get warnings then please upgrade
+ your components or log a bug with the component author if an upgrade is
+ not available. The Class::C3::Adopt::NEXT documentation contains information
+ about how to suppress the warnings in your application if you need to.
+
+5.80016 2009-12-11 23:23:33
+
+ Bug fixes:
+
+ - Fix slurping a file to work correctly with binary on Win32 in the
+ encoding test controller.
+
+ Bug fixes in the new scripts (for applications which have been upgraded):
+
+ - Allow --restartdirectory as an option for the Server script, for
+ backwards compatibility. (Dave Rolsky)
+ - The --host option for the server script defaulted to localhost, rather
+ than listening on all interfaces, which was the previous default. (Dave
+ Rolsky)
+ - Restore -p option for pid file in the FastCGI server script.
+ - Fix the script environment variables MYAPP_PORT and MYAPP_RELOAD RT#52604
+ - Fix aliasing applications under non-root paths with mod_rewrite in
+ some apache versions where %ENV{SCRIPT_NAME} is set to the real name of
+ the script, by using $ENV{REDIRECT_URL} which contains the non-rewritten
+ URI.
+ - Fix usage display when myapp_create.pl is run with no arguments. RT#52630
+
+ New features:
+
+ - The __MOP__ hash element is suppressed from being dumped fully
+ (and instead stringified) when dumping the error screen to be
+ less packed with information of no use.
+
+ Documentation:
+
+ - Fix Pod nits (RT#52370)
+
+5.80015 2009-12-02 15:13:54
+ Bug fixes:
+ - Fix bug in Catalyst::Engine which would cause a request parsing to end
+ prematurely in the hypothetical case where calling $engine->read returned
+ the single character '0'.
+ - Fix failing tests when combined with new HTTP::Request::AsCGI
+
+ Documentation:
+ - Improved documentation on read and read_chunk methods in Catalyst::Engine.
+ - Fix reversal of SCRIPT_NAME and PATH_INFO in previously correct nginx
+ FastCGI documentation introduced in _02.
+
+5.80014_02 2009-12-01 00:55:23
+ Bug fixes:
+ - Fix reporting the wrong Content-Length if the response body is an
+ upgraded string. Strings mean the same thing whether or not they are
+ upgraded, may get upgraded even after they are encoded, and will
+ produce the same output either way, but bytes::length returns too big
+ values for upgraded strings containing characters >127
+ - Fix t/live_fork.t with bleadperl (RT#52100)
+ - Set $ENV{PATH_INFO} from $ENV{REQUEST_URI} combined with
+ $ENV{SCRIPT_NAME} if possible. This is many web servers always fully
+ decode PATH_INFO including URI reserved characters. This allows us to
+ tell foo%2cbar from foo%252cbar, and fixes issues with %2F in paths
+ being incorrectly decoded, resulting in too many path parts (rather
+ than 1 path part containing a /, on some web servers (at least nginx).
+ (RT#50082)
+ - Require new HTTP::Request::AsCGI so that it fully decodes $ENV{PATH_INFO}
+ in non CGI contexts. (RT#50082)
+
+ Refactoring / cleanups:
+ - NoTabs and Pod tests moved to t/author so that they're not run
+ (and then skipped) normally.
+
+ Documentation:
+ - Fix Pod nits in Catalyst::Response (RT#51818)
+
+5.80014_01 2009-11-22 20:01:23
+
+ Bug fixes:
+ - Filehandle now forced to binmode in CGI and FastCGI engines. This appears
+ to correct some UTF-8 issues, but may break people's code which relies
+ on the old behaviour.
+
+ Refactoring / cleanups:
+ - Plugins which inherit from Catalyst::Controller or Catalyst::Component
+ are deprecated and now issue warnings.
+
+5.80014 2009-11-21 02:51:14
+
+ Bug fixes:
+ - Require MooseX::MethodAttributes 0.17. This in turn requires new
+ MooseX::Types to stop warnings in Moose 0.91, and correctly supports
+ role combination of roles containing attributed methods.
+ - Catalyst::Dispatcher::dispatch_types no longer throws deprecated warnings
+ as there is no recommended alternative.
+ - Improved the suggested fix warning when component resolution uses regex
+ fallback for fully qualified component names.
+ - Catalyst::Test::local_request sets ->request on the response.
+ - Log flush moved to the end of setup so that roles and plugins which
+ hook setup_finalize can log things and have them appear in application
+ startup, rather than with the first hit.
+ - Require a newer version of LWP to avoid failing tests.
+ - Stop warnings when actions are forwarded to during dispatch.
+ - Remove warnings for using Catalyst::Dispatcher->dispatch_types as this is a
+ valid method to publicly call on the dispatcher.
+ - Args ($c->request->args) and CaptureArgs ($c->request->captrues)
+ passed to $c->uri_for with an action object ($c->action) will now
+ correctly round-trip when args or captures contain / as it is now
+ correctly uri encoded to %2F.
+
+ Documentation:
+ - Document no-args call to $c->uri_for.
+ - Document all top level application configuration parameters.
+ - Clarify how to fix actions in your application class (which is
+ deprecated and causes warnings).
+ - Pod fixes for ContextClosure.
+ - Fix documentation for go/visit to reference captures and arguments
+ in the correct order.
+ - Update $c->forward and $c->state documentation to address scalar
+ context.
+ - Pod fix in Catalyst::Request (RT#51490)
+ - Pod fixes to refer to ::Controller:: rather than ::C:: as the latter
+ is deprecated (RT#51489)
+
+ New features:
+ - Added disable_component_resolution_regex_fallback config option to
+ switch off (deprecated) regex fallback for component resolution.
+ - Added an nginx-specific behavior to the FastCGI engine to allow
+ proper PATH_INFO and SCRIPT_NAME processing for non-root applications
+ - Enable Catalyst::Utils::home() to find home within Dist::Zilla built
+ distributions
+ - Added the Catalyst::Exception::Interface role defining the interface
+ exception classes need to implement.
+ - Added Catalyst::Exception::Basic as a basic implementation of
+ Catalyst::Exception::Interface and made the existing exception classes
+ use it.
+
+ Refactoring / cleanups:
+ - Remove documentation for the case_sensitive setting
+ - Warning is now emitted at application startup if the case_sensitive
+ setting is turned on. This setting is not used by anyone, not
+ believed to be useful and adds unnecessary complexity to controllers
+ and the dispatcher. If you are using this setting and have good reasons
+ why it should stay then you need to be shouting, now.
+ - Writing to $c->req->body now fails as doing this never makes sense.
+
+5.80013 2009-09-17 11:07:04
+
+ Bug fixes:
+ - Preserve immutable_options when temporarily making a class mutable in
+ Catalyst::ClassData as this is needed by new Class::MOP.
+ This could have potentially caused issues when using the deprecated runtime
+ plugins feature in an application with plugins which define their own new
+ method.
+ - Require new Moose version and new versions of various dependencies
+ to avoid warnings from newest Moose release.
+ - Fix go / visit expecting captures and arguments in reverse order.
+
+ Documentation:
+ - Rework the $c->go documentation to make it more clear.
+ - Additional documentation in Catalyst::Upgrading covering more deprecation
+ warnings.
+
+ Refactoring / cleanups:
+ - Action methods in the application class are deprecated and applications
+ using them will now generate a warning at startup.
+ - The -short option has been removed from catalyst.pl, stopping new
+ applications from being generated using the ::[MVC]:: naming scheme as
+ this is deprecated and generates warnings. RT#49771
+
+5.80012 2009-09-09 19:09:09
+
+ Bug fixes:
+ - 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 refering 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 Catalyt::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
+ - Fix deprecation message for Catalyst::Dispatcher to refer
+ 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.
+ - Fix so that / (and other special characters) are URL encoded when
+ passed into $c->uri_for as Args/CaptureArgs
+ - Fix development server so that $c->engine->env returns the correct
+ 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
+ - 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.
+ - 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.
+ - Fix classes without metaclasses restarting, when not using
+ B::Hooks::OP::Check::StashChange
+ - Fix the unattached chain debug table for endpoints with no
+ 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.
+ - 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.
+ - Bump HTTP::Request::AsCGI dependency to avoid broken version
+ - Bump Moose dependency to latest version to fix metaclass
+ 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
+ - 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
+ make_immutable. (Dave Rolsky)
+
+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.
+ They now force debugging on or off, taking precedence over
+ 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
+ - Work around issues in Moose with initialization order of multiple
+ 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
+ - Fix so that calling $c->req->parameters(undef) does not flatten
+ 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
+ - 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
+ warning on recent Moose versions.
+ - Add delta documentation
+ - Clean up recursion errors
+ - Extra cross links in dispatch types POD (Ian Wells)
+ - 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
+
+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
+ - Tests for this
+ - Change the $c->visit and $c->go methods to optionally take
+ 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
+ - 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
+ - Move NEXT use and testing deprecated features out to its own
+ test application so that the main TestApp isn't polluted with
+ 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
+ - Tidy up Catalyst::ClassData to ensure that all components get
+ the correct metaclass
+ - Make MyApp.pm restartable by unsetting setup_finished in
+ the restarter process
+ - Non-naive implementation of making mutable on restart using
+ 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.
+ - 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
+ - Clarify that request arguments aren't unescaped automatically
+ (Simon Bertrang) (Closes RT#41153)
+ - 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.
+ - 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.
+ - 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.
+ - 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
+ - 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
+ - Disallow calling setup more than once
+ - Documentation fix regarding overloading of Engine and Dispatcher
+ instances
+ - Several documentation typo fixes
+ - Stop Makefile.PL from warning about versions that fixed a conflict
+ - Improved upgrading documentation
+ - Seed the RNG in each FastCGI child process (Andrew Rodland)
+ - 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 (Closes RT#41828)
+ - Don't ignore SIGCHLD while handling requests with the dev server
+ (Closes RT#42962)
+
+5.8000_05 2008-29-01 00:00
- Text::SimpleTable's go as wide as $ENV{COLUMNS} (jhannah)
Patch written by Oleg Kostyuk <cub.uanic@gmail.com>
- - backport go doc patch
- - added ru/ua translations to error page
- - backport stripping build_requires
-
-5.7099_04 2009-01-12 13:06:00
- - Add environment hack for FastCGI under IIS (Simon Bertrang)
- - Test for this and preexisting Lighty hack (Simon Bertrang)
- - Change streaming test to serve itself rather than 01use.t, making test
- sync for engines easier (t0m)
+ - Improve docs for visit (mateu)
+ - Add docs for finalize hook (dhoss)
+ - 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.
+ - 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
+ - Fix request argumentss 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
+ - 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
+ - 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
+ - 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
+ - Test for this
+ - Fix calling $c->req->body from inside an overridden prepare_action
+ 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.
+ - 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
+ - Make the test suites YAML dependency optional
+ - Make debug output show class name for the engine and dispatcher
+ 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
+ - Test for this and method modifiers in MyApp
+ - Fix bug causing Catalyst::Request::Upload's basename method
+ 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
+ - Test for this
+ - Bump MooseX::Emulate::Class::Accessor::Fast dependency
+ 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 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
+ - Add a clearer method on request and response _context
+ attributes, and use if from ::Engine rather than deleting
+ the key from the instance hash
+ - Use handles on tree attribute of Catalyst::Stats to replace
+ 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
+ - 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
+ - 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.
+ - 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
+ - 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
+ - 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
+ - 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
+ - Test for this (caelum)
+ - 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
+ - Test for this
+ - Make hostname resolution lazy (Marc Mims)
+ - Support mocking virtualhosts in test suite (Jason Gottshall)
+ - 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
+ - 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)
+ - Test for this (jhannah)
+ - 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
+ - Fix POD typo in finalize_error (jhannah)
+ - 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.
+ - Fix links to the mailing lists (RT #39754 and 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
+ - Fix manifest
+
+5.8000_01 2008-10-13 22:52:00
+ - Port to Moose
+ - Added test for action stringify
+ - Added test for component instances getting $self->{value} from config.
+ - 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.
+ - Pod formatting fix for Engine::FastCGI (Oleg Kostyuk).
+ - Add visit, a returning ->go
+
+5.7XXXXXX XXXX
- Workaround change in LWP that broke a cookie test (RT #40037)
- - Backport go() from 5.8 branch.
+ - 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)
- - Fix forwarding to action object.
- - Handle leading CRLF in HTTP requests sometimes sent by IE6 in keep-alive requests.
+ - Make :Chained('../action') work
+ - Add test actions
+ - Chained doc improvements (rev 8326-8328)
5.7099_03 2008-07-20 10:10:00
- Fix regressions for regexp fallback in model(), view() and controller()
- 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
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)
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
- 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
- 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
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()
- 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
- 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
- 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.
- 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()
- 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
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
- 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
- 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.
- 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
- 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)
- 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
- 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