# This file documents the revision history for Perl extension Catalyst.
+ - Fix Catalyst::Plugin::Authentication's authentication
+ plugin backwards compatibility issues by fixing
+ Class::Data::Inheritable compatibility (t0m)
+ - Test for this (t0m)
- Fix bug causing Catalyst::Request::Upload's basename method
to return undef (t0m)
- Test for this (Carl Franks)
- Adopt::NEXT
- updated docs with how to disable it (t0m/rafl)
-Known issues:
+Back-compat investigation / konwon issues:
+
+ - Find out why C::P::A's test suite causes the 'stack' attributes
+ default method to not be called. (new not being run??)
+
+ - Common engine test failures, look into and get tests into core.
+
+ - CatalystX-Imports, Class::MOP doesn't consider anon subs in the symbol
+ table as methods, tests + fix, or explanation and documentation?
+ (rafl & phaylon)
+
+ - Run another round of repository smokes against latest 5.80 trunk, manually
+ go through all the things which are broken (t0m).
+
+ - Issues with TWMC not being loaded when it used to be in 5.70
+ (Bill Moseley)
+
+ - Fix memory leaks (I already tried Devel::Leak::Object, but no joy).
- - Fix t/cdi_backcompat_plugin_accessor_override.t - Catalyst::ClassData
- doesn't emulate Class::Data::Inheritable by crapping on the symbol table
- of the top level MyApp class, which causes back-compat fail.
Cleanups:
- vs 5.70 and optimisation as needed.
-Back-compat investigation:
-
- - Common engine test failures, look into and get tests into core.
-
- - CatalystX-Imports, Class::MOP doesn't consider anon subs in the symbol
- table as methods, tests + fix, or explanation and documentation?
- (rafl & phaylon)
-
- - Run another round of repository smokes against latest 5.80 trunk, manually
- go through all the things which are broken (t0m).
-
- - Issues with TWMC not being loaded when it used to be in 5.70
- (Bill Moseley)
-
- - Fix memory leaks (I already tried Devel::Leak::Object, but no joy).
-
Tests:
- Moosified test application?
BEGIN { require 5.008001; }
-has stack => (is => 'rw', default => sub { [] });
+# FIXME lazy => 1 here makes C::P::Auth tests pass?!?
+has stack => (is => 'ro', default => sub { [] });
has stash => (is => 'rw', default => sub { {} });
has state => (is => 'rw', default => 0);
has stats => (is => 'rw');
return ${$v};
} else {
foreach my $super ( $meta->linearized_isa ) {
+ # If there is a code symbol for this attr in a parent class,
+ # then copy it into our package. Is this the correct
+ # fix for C::D::I back-compat? (t0m)
+ my $parent_symbol = *{"${super}::${attribute}"}{CODE} ? \&{"${super}::${attribute}"} : undef;
+ if (defined $parent_symbol) {
+ *{"${pkg}::${attribute}"} = $parent_symbol;
+ }
# tighter version of same after
# my $super_meta = Moose::Meta::Class->initialize($super);
my $v = ${"${super}::"}{$attribute} ? *{"${super}::${attribute}"}{SCALAR} : undef;