X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=4ec3cdc76af349047f12c83afab36a06fed22ad5;hb=78d9bb3863ec6ddf5537fc9913fba3b170a8b88d;hp=d223792c6b584e5453371516c946f9cb4d05aa5c;hpb=88dd563c8b2edea359b8500535b8b46a8bbe6340;p=gitmo%2FClass-MOP.git diff --git a/Changes b/Changes index d223792..4ec3cdc 100644 --- a/Changes +++ b/Changes @@ -1,6 +1,264 @@ Revision history for Perl extension Class-MOP. -0.34 +0.47 Sat. Nov. 24, 2007 + * Class::MOP::Attribute + - fixed misspelling in get_write_method_ref + - added more tests for this + +0.46 Fri. Nov. 23, 2007 + * Class::MOP::Class + - added the linearized_isa method instead of constantly + pruning duplicate classes (this will be even more + useful in the 5.10-compat version coming soon) + + * Class::MOP::Attribute + - added the get_read_method_ref and get_write_method_ref + methods which allow you to retrieve a CODE ref which + can always be used to read or write an attribute. + +0.45 Thurs. Nov. 13, 2007 + * Class::MOP::Attribute + - Fix error message on confess (groditi) + +0.44 Thurs. Nov. 13, 2007 + - Apparently I didn't make dist correctly (groditi) + +0.43 Thurs. Nov. 13, 2007 + * Class::MOP + - Add support for the 'builder' attribute (groditi) + + * Class::MOP::Class + - optimise metaclass-already-exists check in + construct_class_instance (groditi) + - duplicate check into initialize to save a + call through (groditi) + + * Class::MOP::Attribute + - Add support for the 'builder' attribute (groditi) + - Make predicates check for the existence of a value, not whether + it is defined (groditi) + + * Class::MOP::Instance + - Make predicates check for the existence of a value, not whether + it is defined (groditi) + + * Class::MOP::Method::Accessor + - made this a subclass of Class::MOP::Method::Generated + - removed the relevant attributes + + * Class::MOP::Method::Constructor + - fixed the cached values we had to be more sane + - made this a subclass of Class::MOP::Method::Generated + - fixed generated constructor so it properly handles + subclasses now. + - added tests for this + - added the option to allow for both inlined and + non-inlined constructors. + - Update inlined methods for builder and predicate changes (groditi) + + * Class::MOP::Method::Generated + - added this class as an abstract base for the + Class::MOP::Method::{Constructor,Accessor} classes + - added tests for this + + *t/ + - Alter tests (005, 014 020, 021) for new builder addition (groditi) + - Tests for new predicate behavior (and corrections to old tests) (groditi) + + *examples/ + - Update ArrayRef based class example to work with predicate changes + +0.42 Mon. July 16, 2007 + !!! Horray for mst, he fixed it !!! + + * Class::MOP::Package + - alter symbol table handling to deal with 5.8.x and 5.9.x + + * t/ + - Get rid of the crappy workaround from 0.40/41 + +0.41 Sun. July 15, 2007 + * t/ + Arghh!!! My TODO test didn't work, so I handle + it manually now so that people can use this + with 5.9.5/bleadperl without issue. + +0.40 Tues, July 3, 2007 + * t/ + ~ marked a test in 003_methods.t as TODO + for perl 5.9.5 (this test is irrelvant to + the module functioning on 5.9.5 for the most + part anyway) + +0.39 Mon. June 18, 2007 + * Class::MOP::Immutable + - added make_metaclass_mutable + docs (groditi) + - removed unused variable + - added create_immutable_transformer + necessary for sane overloading of immutable behavior + - tests for this (groditi) + + * Class::MOP::Class + - Immutability can now be undone, + added make_mutable + tests + docs (groditi) + - Massive changes to the way Immutable is done + for details see comments next to make_immutable + This fixes a bug where custom metaclasses broke + when made immutable. We are now keeping one immutable + metaclass instance per metaclass instead of just one + to prevent isa hierarchy corruption. Memory use will go + up, but I suspect it will be neglible. + - New tests added for this behavior. (groditi) + +0.38 Thurs. May 31, 2007 + ~~ More documentation updates ~~ + + * Class::MOP::Package + - we now deal with stub methods properly + - added tests for this + - fixed some tests failing on 5.9.5 (thanks blblack) + + * Class::MOP::Attribute + - added get_read_method and get_write_method + thanks to groditi for this code, tests + and docs. + - added tests and POD for this + + * Class::MOP::Class + - fixed RT issue #27329, clone object now + handles undef values correctly. + - added tests for this + - Corrected anon-class handling so that they + will not get reaped when instances still + exist which need to reference them. This is + the correct behavior, hopefully this is an + obscure enough feature that there are not too + many work arounds out in the wild. + - added tests for this by groditi + - updated docs to explain this + + * metaclass + - load custom metaclasses automatically (thanks groditi) + - added tests for this behavior + +0.37 Sat. March 10, 2007 + ~~ Many, many documentation updates ~~ + + * Class::MOP + - added &load_class and &is_class_loaded + - added tests and docs for these + + * Class::MOP::Attribute + - default now checks the instance with defined to + avoid setting off bool-overloads (found by Carl Franks) + +0.37_002 + * /t + - bad name in a test, causing meaningless failuress. + No other changes. + +0.37_001 + + ~~ GLOBAL CHANGES ~~ + - All attribute names are now consistent and follow Perl 6 + style (prefixed with the sigil, and ! as the twigil for + private attrs). This should not affect any code, unless + you broke encapsulation, in which case, it is your problem + anyway. + + !! Class::MOP::Class::Immutable has been removed + + * Class::MOP::Method::Constructor + - this has been moved out of Class::MOP::Class::Immutable + and is a proper subclass of Class::MOP::Method now. + + * Class::MOP::Class + - this module now uses Class::MOP::Immutable for the + immutable transformation instead of + Class::MOP::Class::Immutable. + + + Class::MOP::Immutable + - this module now controls the transformation from a mutable + to an immutable version of the class. Docs for this will + be coming eventually. + + +0.36 Sun. Nov. 5, 2006 + * Class::MOP::Class + - added a few 'no warnings' lines to keep annoying + (and meaningless) warnings from chirping during + global destruction. + + * Class::MOP + - some more bootstrapping is now done on the new + classes + + * Class::MOP::Class::Immutable + *** API CHANGE *** + - constructor generation is now handled by + the Class::MOP::Method::Constructor class + + * Class::MOP::Method::Constructor + - created this to handle constructor generation + in Class::MOP::Class::Immutable + + * Class::MOP::Attribute + *** API CHANGE *** + - attributes now delegate to the + Class::MOP::Method::Accessor to generate + accessors + + * Class::MOP::Method::Accessor + - all accessor generation functions from + Class::MOP::Attribute have been moved here + +0.35 Sat. Sept. 30, 2006 + + * scripts/class_browser.pl + - initial prototype of a class browser, more + on this to come. Comments and patches are + very much welcome. + + * Class::MOP + - All Class::MOP::* accessors are no longer + re-generated in the bootstrap, instead + they are aliased from the originals + - fixed tests to reflect + - added Class::MOP::Method (and its subclasses) + to the bootstrap + - adjusted tests for this + - added the Class::MOP::Instance attributes + to the bootstrap + + * 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 + + * 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) + + * 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 @@ -387,4 +645,4 @@ Revision history for Perl extension Class-MOP. - adding POD documentation to the examples 0.01 Thurs Feb. 2, 2006 - - Initial release \ No newline at end of file + - Initial release