X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=405872f2a54022f796601312f33406450dc8c7b3;hb=864826055ffa48aba41ba1a016c09f24b51e85c4;hp=8f3266a39a10a4fa6f3bfdc015c17412f030c1a4;hpb=be960ba18045b2874c9151ff9e0006fc9ede1ced;p=gitmo%2FClass-MOP.git diff --git a/Changes b/Changes index 8f3266a..405872f 100644 --- a/Changes +++ b/Changes @@ -1,28 +1,161 @@ Revision history for Perl extension Class-MOP. -0.29_03 - ++ DEVELOPER RELEASE ++ +0.35 + + * Class::MOP + - non-generated accessors are no longer + copied, but instead are aliased from + the originals + - added Class::MOP::Method (and its subclasses) + to the bootstrap + - adjusted tests for this + - added the Class::MOP::Instance attributes + to the bootstrap + - bootstrap no longer re-compiles accessors + so as to keep the MOP compile-time fast + + * Class::MOP::Method + *** API CHANGE *** + - methods are no longer blessed CODE refs + but are actual objects which can be CODE-ified + - adjusted tests to compensate + - adjusted docs for this + + * Class::MOP::Class + - changed how methods are dealt with to + encapsulate most of the work into the + &get_method_map method + - made several adjustments for the change + in Class::MOP::Method + - &add_attribute now checks if you are adding + a duplicate name, and properly removes the + old one before installing the new one + - added tests for this + - adjusted docs for this - created the Class::MOP::Package and - Class::MOP::Module classes to more - closely conform to Perl 6's meta model + * Class::MOP::Class::Immutable + - added caching of &get_method_map + - fixed issue with &get_package_symbol + - cleaned up the methods that die (patch by David Wheeler) - created Class::MOP::Class::Immutable - which can be used to "close" a class - and then apply some optimizations + * Class::MOP::Package + - added filtering capabilities to + &list_all_package_symbols + +0.34 Sat. Aug. 26, 2006 + * Class::MOP::Class + - added the %:methods attribute, which like + the $:version and such just actually goes + to the symbol table to get it's stuff. + However, it makes the MOP more complete. + ** API CHANGE ** + - The &create method now requires that all + but the package name now is passed in as + named parameters. See docs for more info. + - updated docs and tests for this + + * Class::MOP::Object + - added &dump method to easily Data::Dumper + an object + + * Class::MOP + - cleaned up the initialization of attributes + which do not store things in the instance + - added the %:methods attribute definition to + the bootstrap + + ~ lots of misc. test cleanup + +0.33 Sat. Aug. 19, 2006 + * Class::MOP::Class + - moved the metaclass cache out of here + and it is now in Class::MOP itself. + + * Class::MOP + - moved all the metaclass cache stuff here + - fixed all tests for this + + * Class::MOP::Attribute + - reference values (other than CODE refs) + are no longer allowed for defaults + - added tests for this + + * Class::MOP::Package + - fixed an issue with perl 5.8.1 and how it deals + with symbol tables. The namespace hash is now + always reloaded from the symbol table. + + ~ lots of misc. documentation cleanup + +0.32 Sat. Aug. 12, 2006 + + added Class::MOP::Object so that the + metamodel is more complete (and closer + to what Perl 6 will probably be). + + * Class::MOP::Package + - refactored entire class, this is now + the primary gateway between the metaclass + and the Perl 5 symbol table + - added many tests for this + - this class is now a subclass of + Class::MOP::Object + - added some tests to reflect this + + * Class::MOP::Class + - refactored all symbol table access to + use Class::MOP::Package methods instead + + * Class::MOP::Module + - adding the $:version attribute in the bootstrap + so that Module has a version as an attribute + - see comment in Class::MOP for details + - added the $:authority attribute to this module + as well as an &identifier method, to bring us + ever closer to Perl 6 goodness + - I have added $AUTHORITY to all the modules + - added tests for this + + * Class::MOP::Instance + - added &deinitialize_slot for removing slots + from an instance + - added tests for this + + * Class::MOP::Attribute + - added support for &deinitialize_slot for removing + slots from an instance + - added tests for this + +0.31 Sat. July 15, 2006 + + * Class::MOP::Class + - added &find_method_by_name to locate a method + anywhere within the class hierarchy + + * Class::MOP::Attribute + - added &set_value and &get_value for getting + the value of the attribute for a particular + instance. + +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 - - ** 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. * Class::MOP::Instance - added an is_inlinable method to allow other @@ -30,6 +163,12 @@ Revision history for Perl extension Class-MOP. - 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 ++