X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=7f4ac3a6c9b78b1198ac5073df36cdd2d7d9a256;hb=94278c1ba6283af20c09a6aef615954825d08162;hp=9f7fae77d618218c2e8d47c8df486060231fafaa;hpb=352c364f8590198c4526a0cb36952325c7e7abc6;p=gitmo%2FClass-MOP.git diff --git a/Changes b/Changes index 9f7fae7..7f4ac3a 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,175 @@ Revision history for Perl extension Class-MOP. +0.65 Mon September 1, 2008 + For those not following the series of dev releases, the changes + from 0.64 from 0.65 can mostly be summed up as a lot performance + improvements by nothingmuch, including new optional XS versions of + some methods. Also, Class::MOP now works _without_ any XS modules, + for sad systems without a compiler. + + * Class::MOP::Method + - Added name and package_name XS accessors, and make sure all + the XS and Perl versions work the same way. (Dave Rolsky) + + * MOP.xs + - The XS versions of various methods just returned undef when + called class methods, rather than dying like the pure Perl + versions. (Dave Rolsky) + +0.64_07 Fri August 29, 2008 + * Class::MOP + - Silenced warnings that managed to break Moose tests when XS + was loaded. (Dave Rolsky) + - Some XS versions of methods were ignored because of typos in + MOP.xs. (Dave Rolsky) + +0.64_06 Mon August 25, 2008 + * Class::MOP (MOP.xs) + - Another MS VC++ fix, cannot declare a variable in the middle + of a scope (Taro Nishino). + +0.64_05 Sun August 24, 2008 + * Class::MOP + - None of the dev releases actually loaded the XS properly, but + we silently fell back to the pure Perl version of the + code. (Dave Rolsky) + + * Class::MOP (MOP.xs) + - Replaced some code that used functions not available on Visual + C++ with some Perl XS API bits (Dave Rolsky). + +0.64_04 Sat August 23, 2008 + * Class::MOP::Class + - Workaround a bug in 5.8.1's goto sub (nothingmuch) + + * pod.t and pod_coveraget.t + - These are no longer shipped with the tarball because of bogus + failures from CPAN testers. (Dave Rolsky) + +0.64_03 Thu August 21, 2008 + * Class::MOP::Package + - Some (legit) code was misparsed by earlier 5.8.x + releases. (nothingmuch) + + * Class::MOP + - Fix a constant in void context warning (nothingmuch) + +0.64_02 Thu August 21, 2008 + * Makefile.PL and Class::MOP + - Explicitly require Perl 5.8.0+ (Dave Rolsky) + + * Makefile.PL + - Add missing prereqs that got lost in the switch away from + Module::Install. + + * Class::MOP::Instance + - New method - get_all_attributes (nothingmuch) + +0.64_01 Wed August 20, 2008 + * Makefile.PL + - We now check to see if you have a compiler. If you don't, the + module installs without some XS bits, but will work the same + as with XS. This should make it easier to install on platforms + without a compiler (like Windows). (Dave Rolsky) + + * many modules + - Perl 6 style attribute naming replaced with sane style ('methods', not + '%!methods'). These changes should not impact any existing API uses. + (nothingmuch). + + * many modules + - Quite a number of optimizations based on profiling, including + allowing constructors to take hash references instead of + hashes, duplicating some frequently used code in XS, and + making constructors immutable. These changes should not impact + any existing API uses. (nothingmuch) + + * Many modules + - Constructors now respect the meta attributes of their subclasses, + facilitating MOP extensibility. More related changes will happen in the + next several releases. (nothingmuch) + + * Class::MOP::Class + - New method - get_all_methods, replaces the deprecated + compute_all_applicable_methods. get_all_attributes provided for + consistency (nothingmuch) + - New method - wrap_method was refactored out of get_method_map + (nothingmuch) + - New API for meta instance invalidation - invalidate_meta_instance, + invalidate_meta_instances, add_dependent_meta_instance, + remove_dependent_meta_instance, called automatically when attribute + definitions change and allows notification of dependent subclasses. + (nothingmuch) + +0.64 Sun August 3, 2008 + * Class::MOP::Immutable + - fixing subtle edge case in immutable when you + call ->meta (stevan) + - clean up option processing (nothingmuch) + + * Class::MOP::Instance + - inlined initialize slot didn't match + non-inlined (nothingmuch) + +0.63 Mon July 7, 2008 + * Class::MOP + - load_class will initialize a metaclass even if + the class is already loaded (sartak) + - load_class now returns the metaclass instance + instead of just 1 (sartak) + + * elsewhere + - better error messages (sartak and Dave Rolsky) + +0.62 Wed June 18, 2008 + - in is_class_loaded, recognize scalar references (as opposed to globs) in + the symbol table as methods (these are optimized constant subs) + +0.61 Fri. June 13, 2008 + - Okay, lets give this another try and see if PAUSE + recognizes it correct this time. + +0.60 Thurs. Jun 12, 2008 + - Fixed a version number issue by bumping all modules + to 0.60. + +0.59 Thurs. Jun 12, 2008 + !! Several fixes resulting in yet another 25-30% speedup !! + + * Class::MOP::Class + - now stores the instance of the instance + metaclass to avoid needless recomputation + and deletes it when the cache is blown + - introduce methods to query Class::MOP::Class for + the options used to make it immutable as well as + the proper immutable transformer. (groditi) + + * Class::MOP::Package + - {add, has, get, remove}_package_symbol all + now accept a HASH ref argument as well as the + string. All internal usages now use the HASH + ref version. + + * Class::MOP + - MOP.xs does sanity checks on the coderef + to avoid a segfault + - is_class_loaded check now uses code that + was improved in Moose's ClassName type + check (Sartak) + - nonsensical (undef, empty, reference) class + names now throw a more direct error in + load_class (Sartak) + - tests for this and other aspects of + load_class (Sartak) + + * Class::MOP + Class::MOP::Class + Class::MOP::Method + Class::MOP::Method::Wrapped + Class::MOP::Attribute + - switched usage of reftype to ref because + it is much faster + 0.58 Thurs. May 29, 2008 (late night release engineering)-- @@ -7,7 +177,7 @@ Revision history for Perl extension Class-MOP. changes in this release 0.57 Wed. May 28, 2008 - !! Seveal speedups resulting in 20-25% speedups !! + !! Several speedups resulting in 20-25% speedups !! || (thanks to konobi, groditi, mst & CataMoose) !! * Class::MOP::Class @@ -34,6 +204,11 @@ Revision history for Perl extension Class-MOP. keep people from wasting time tracking an error that is easily fixed by upgrading. + * Class::MOP::Immutable + - Don't inline a destructor unless the user actually + needs one + - added tests for this + 0.56 Saturday, May 24, 2008 * Class::MOP - we now get the &check_package_cache_flag