# This file documents the revision history for Perl extension Catalyst.
+5.90091 - 2014-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 - 2014-04-29
- Updated some documention in Catalyst::Request::Upload to clarify behavior
that RT ticket reported as confusing or unexpected
: $class->log->debug(q/Couldn't find home/);
my $column_width = Catalyst::Utils::term_width() - 8 - 9;
+
my $t = Text::SimpleTable->new( [ $column_width, 'Class' ], [ 8, 'Type' ] );
for my $comp ( sort keys %{ $class->components } ) {
my $type = ref $class->components->{$comp} ? 'instance' : 'class';
# of named components in the configuration that are not actually existing (not a
# real file).
- my @injected_components = $class->setup_injected_components;
+ $class->setup_injected_components;
# All components are registered, now we need to 'init' them.
- foreach my $component_name (@comps, @injected_components) {
+ foreach my $component_name (keys %{$class->components||+{}}) {
$class->components->{$component_name} = $class->components->{$component_name}->() if
(ref($class->components->{$component_name}) || '') eq 'CODE';
}
$injected_comp_name,
$class->config->{inject_components}->{$injected_comp_name});
}
-
- return @injected_components;
}
=head2 $app->setup_injected_component( $injected_component_name, $config )
This is an overview of the user-visible changes to Catalyst between major
Catalyst releases.
+=head2 VERSION 5.90091
+
+=head3 'case_sensitive' configuration
+
+At one point in time we allowed you to set a 'case_sensitive' configuraion value so
+that you could find actions by their private names using mixed case. We highly
+discourage that. If you are using this 'feature' you should be on notice that we
+plan to remove the code around it in the near future.
+
=head2 VERSION 5.90090+
-=head2 Type constraints on Args and CaptureArgs.
+=head3 Type constraints on Args and CaptureArgs.
You may now use a type constraint (using L<Moose>, L<MooseX::Types> or preferably
L<Type::Tiny> in your Args or CaptureArgs action attributes. This can be used
See L<Catalyst::RouteMatching> for more.
-=head2 Move CatalystX::InjectComponent into core
+=head3 Move CatalystX::InjectComponent into core
L<Catalyst::Utils> has a new method 'inject_component' which works the same as the method of
the same name in L<CatalystX::InjectComponent>.
-=head2 inject_components
+=head3 inject_components
New configuration key allows you to inject components directly into your application without
any subclasses. For example:
Injected components are useful to reduce the ammount of nearly empty boilerplate classes
you might have, particularly when first starting an application.
-=head2 Component setup changes.
+=head3 Component setup changes.
Previously you could not depend on an application scoped component doing setup_components
since components were setup 'in order'. Now all components are first registered and then