X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=2c661b344803122fc7a935b05c04fbeb1a75eda6;hb=16e960bd460d404b809a1e5c24ba77405643342b;hp=ed728aee054d3c677ac0719a6d09531fc961fbc0;hpb=a4258ffd7a0a2bb8db5f01936068185d4f879b1a;p=gitmo%2FClass-MOP.git diff --git a/Changes b/Changes index ed728ae..2c661b3 100644 --- a/Changes +++ b/Changes @@ -1,13 +1,147 @@ Revision history for Perl extension Class-MOP. -0.20 +0.30 Wed. July 5, 2006 + --------------------------------------- + This is the first version of Class::MOP + to introduce the immutable features which + will be used for optimizating the MOP. + This support should still be considered + experimental, but moving towards stability. + --------------------------------------- + + * Created Class::MOP::Class::Immutable + + * Created the Class::MOP::Package and + Class::MOP::Module classes to more + closely conform to Perl 6's meta-model + + * Class::MOP::Class + - now inherits from Class::MOP::Module + - several methods moved to ::Module and + ::Package and now inherited + - added tests for this + + * Class::MOP::Instance + - added an is_inlinable method to allow other + classes to check before they attempt to optimize. + - added an inline_create_instance to inline + instance creation (of course) + + ** API CHANGE ** + - the Class::MOP::Class::*_package_variable + methods are all now methods of Class::MOP::Package + and called *_package_symbol instead. This is + because they are now more general purpose symbol + table manipulation methods. + +0.29_02 Thurs. June 22, 2006 + ++ DEVELOPER RELEASE ++ + * Class::MOP::Class + - small change in &create so that it behaves + properly when inherited + - small fix to &clone_instance + +0.29_01 Fri. May 12, 2006 + ++ DEVELOPER RELEASE ++ + - This release works in combination with + Moose 0.09_01, it is a developer release + because it introduces a new instance + sub-protocol and has not yet been + optimized. + + * Class::MOP::Class + - anon-classes are now properly garbage collected + - added tests for this + - improved method modifier wrapping + + * Class::MOP::Instance + - added new instance protocol + - added tests for this + - changed all relevant modules and examples + - Class::MOP::Class + - Class::MOP::Attribute + - examples/* + + * metaclass + - you no longer need to specify the metaclass + itself, if it is not there, Class::MOP::Class + is just assumed + - updated tests for this + + * examples/ + - added ArrayBasedStorage example to show + instance storage using ARRAY refs instead of + HASH refs. + - added tests for this + - InsideOutClass is totally revised using the + new instance protocol + - added more tests for this + +0.26 Mon. April 24, 2006 + * Class::MOP::Class + - added find_attribute_by_name method + - added tests and docs for this + - some small optimizations + + * Class::MOP::Attribute + - some small optimizations + +0.25 Thurs. April 20, 2006 + * Class::MOP::Class + - added create_anon_class for creating anonymous classes + - added tests for this + - added get_all_metaclasses, get_all_metaclass_names + and get_all_metaclass_instances method to allow + access to all the cached metaclass objects. + - attribute slot initialization is now the responsibility + of the attribute itself, and construct_instance now + delegates appropriately + + * Class::MOP::Attribute + - attribute slot initialization is now the responsibility + of the attribute itself, so we added a method for it + called initialize_instance_slot + + * examples/ + - adjusted all the examples to use the new attribute + initialize_instance_slot method + +0.24 Tues. April 11, 2006 + * Class::MOP::Class + - cleaned up how the before/after/around method + modifiers get named with Sub::Name + +0.23 Thurs. March 30, 2006 + * Class::MOP::Class + - fixed the way attribute defaults are handled + during instance construction (bug found by chansen) + + * Class::MOP::Attribute + - read-only accessors ('reader') will now die if + passed more than one argument (attempting to write + to them basically) + - added tests for this + - adjusted all /example files to comply + +0.22 Mon. March 20, 2006 + * Class::MOP::Class + - localized $@ in the *_package_variable functions + because otherwise, it does ugly things in Moose. + - added test case for this + +0.21 Wed. March 15, 2006 + * Class::MOP::Class + - fixed issue where metaclasses are reaped from + our cache in global destruction, and so are not + available in DESTORY calls + +0.20 Thurs. March 2, 2006 - removed the dependency for Clone since we no longer to deep-cloning by default. - - added dependency for SUPER to support the - method modifier code. * Class::MOP::Method - - added &package_name and &name methods + - added &package_name, &name and + &fully_qualified_name methods, some of which were formerly private subs in Class::MOP::Class @@ -17,17 +151,17 @@ Revision history for Perl extension Class-MOP. - added tests and docs for this feature * Class::MOP::Class - - improved &get_package_variable + - improved &get_package_symbol + - &version and &superclasses now use it - methods are now blessed into Class::MOP::Method whenever possible - - &has_method now uses new method introspection - from Class::MOP::Method to determine where the - sub comes from - added methods to install CLOS-style method modifiers - &add_before_method_modifier - &add_after_method_modifier - &add_around_method_modifier - added tests and docs for these + - added &find_next_method_by_name which finds the + equivalent of SUPER::method_name 0.12 Thurs. Feb 23, 2006 - reduced the dependency on B, no need to always