X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=ccde218f69b1a6dc9c72b1a38a77bf7f78143a79;hb=2a2b84587843665ec0c541f4635455f490480595;hp=82683753de579d4dcbcab954b390f87a50347171;hpb=cdc1ecba1f883743a6580b3f4d210aef3d2c857c;p=gitmo%2FClass-MOP.git diff --git a/Changes b/Changes index 8268375..ccde218 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,271 @@ Revision history for Perl extension Class-MOP. +0.52 + * Class::MOP::Class + - fixed bug in rebless_instance + (discovered by ash) + + * Class::MOP::Method::Constructor + - removed assumptions about the existence of + a &meta method + +0.51 Mon. Jan. 14, 2008 + ~~~ some misc. doc. fixes ~~~ + ~~ updated copyright dates ~~ + + * Class::MOP + - now sets the IS_RUNNING_ON_5_10 + constant so that we can take advantage + of some of the nice bits of 5.10 + + * Class::MOP::Class + - uses the IS_RUNNING_ON_5_10 flag to + optimize the &linearized_isa method + and avoid the hack/check for circular + inheritence in &class_precedence_list + - added rebless_instance method (Sartak) + - added tests for this + + * Class::MOP::Immutable + - the immutable class now keeps track of + the transformer which immutablized it + + * Class::MOP::Instance + - added rebless_instance_structure method (Sartak) + - added tests for this + +0.50 Fri. Dec. 21, 2007 + * Class::MOP::Class + - fixed bug in immutable to make sure that + transformation arguments are saved + correctly (mst) + - added tests for this + + * Class::MOP::Immutable + - fixed a bug (see above) + + * Class::MOP::Attribute + - some doc updates + +0.49 Fri. Dec. 14, 2007 + !! Class::MOP now loads 2 x faster !! + !! with XS speedups (thanks konobi) !! + + * Class::MOP + - removed the dependency on B + - added two XS functions (thanks konobi) + - get_code_info($code) which replaces all + the B fiddling we were doing with + faster/leaner XS level fiddling + - check_package_cache_flag($pkg_name) which + returns the PL_sub_generation variable to + be used to help manage method caching. + + NOTE: + In 5.10 or greater this will actually + use the mro::get_pkg_gen instead to give + even more accurate caching information. + blblack++ for that stuff :) + + * Class::MOP::Class + - added the &subclasses method (thanks rlb) + - added the update_package_cache_flag and + reset_package_cache_flag which help keep + track of when we need to re-fetch the + method map. + - Several small improvements to take advantage + of the new method map caching features + +0.48 Mon. Nov. 26, 2007 + * Class::MOP::Attribute + - fixed get_read/write_method to handle the + HASH ref case, which makes the + get_read/write_method_ref handle it too. + - added more tests for this + +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 @@ -462,4 +728,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