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.
+ 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
'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
$class->setup_home( delete $flags->{home} );
+ $class->setup_log( delete $flags->{log} );
$class->setup_plugins( delete $flags->{plugins} );
# Call plugins setup, this is stupid and evil.
$class->setup unless $Catalyst::__AM_RESTARTING;
}
- $class->setup_log( delete $flags->{log} );
$class->setup_middleware();
$class->setup_data_handlers();
$class->setup_dispatcher( delete $flags->{dispatcher} );
Also, we have started migrating code in Catalyst to equivilent Plack
Middleware when such exists and is correct to do so.
+=head2 VERSION 5.90053
+
+We are now clarifying the behavior of log, plugins and configuration during
+the setup phase. Since Plugins might require a log during setup, setup_log
+must run BEFORE setup_plugins. This has the unfortunate side effect that
+anyone using the popular ConfigLoader plugin will not be able to supply
+configuration to custom logs since the configuration is not yet finalized
+when setup_log is run (when using ConfigLoader, which is a plugin and is
+not loaded until later.)
+
+As a workaround, you can supply custom log configuration directly into
+the configuration:
+
+ package MyApp;
+ use Catalyst;
+
+ __PACKAGE__->config(
+ my_custom_log_info => { %custom_args },
+ );
+
+ __PACKAGE__->setup;
+
+If you wish to configure the custom logger differently based on ENV, you can
+try:
+
+ package MyApp;
+
+ use Catalyst;
+ use Catalyst::Utils;
+
+ __PACKAGE__->config(
+ Catalyst::Utils::merge_hashes(
+ +{ my_custom_log_info => { %base_custom_args } },
+ +{ do __PACKAGE__->path_to( $ENV{WHICH_CONF}."_conf.pl") },
+ ),
+ );
+
+ __PACKAGE__->setup;
+
+Or create a standalone Configuration class that does the right thing.
+
+Basically if you want to configure a logger via Catalyst global configuration
+you can't use ConfigLoader because it will always be loaded too late to be of
+any use. Patches and workaround options welcomed!
+
=head2 VERSION 5.9XXXX 'cataplack'
The Catalyst::Engine sub-classes have all been removed and deprecated,