X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Changes;h=1ed5f1e1bce1f79735fdcc971534ea38248e96d0;hb=c871d3eac7cc21ad8dbe6169100feb0514dc4837;hp=56892fa7ae8673e2d468196e48b2cca7819c5cbd;hpb=a0e27d2e8f8336c08d8b70b4df690224e9b9b5c0;p=gitmo%2FClass-MOP.git diff --git a/Changes b/Changes index 56892fa..1ed5f1e 100644 --- a/Changes +++ b/Changes @@ -1,9 +1,144 @@ Revision history for Perl extension Class-MOP. + * Various + - Internal refactorings to move shared behavior into new "mixin" + classes. This made adding some new features to Moose much + easier. (Dave Rolsky) + +0.97 Fri, Dec 18, 2009 + * No code changes, just packaging fixes to make this distro installable. + +0.96 Fri, Dec 18, 2009 + * tests + - Fixed t/082_get_code_info.t so it passes with bleadperl. (Dave Rolsky) + - Add XS & C files to no tabs check (Dave Rolsky) + - Convert all tests to done_testing. (Florian Ragwitz) + +0.95 Wed, Nov 19, 2009 + * Class::MOP + - Make is_class_loaded without any arguments fail loudly + (Florian Ragwitz). + - Make load_class throw more standard error messages when loading single + modules (nothingmuch). + + * Class::MOP::Package + - Stop add_method from behaving differently under the debugger + (Florian Ragwitz). + + * Class::MOP::Class + * Class::MOP::Package + - Any method which takes a method name as an argument now allows names + which are false (like "0"), but the name must be defined and not be an + empty string. (Dave Rolsky) + + * Class::MOP::Class + - Deprecated get_attribute_map as a public method. You can use a + combination of get_attribute_list and get_attribute instead. (Dave + Rolsky) + +0.94 Tue, Sep 22, 2009 + * Class::MOP::Attribute + - Introduce set_raw_value and get_raw_value, side effect free variants + of {get,set}_value. These don't do anything useful in Class::MOP but + have different behavior that set_value and get_value for Moose + attributes. (nothingmuch) + +0.93 Tue, Sep 15, 2009 + * Class::MOP + - The load_class function just returns true, since it's return value was + confusing (either a metaclass object or a class name). It either loads + a class or dies trying. In the future, this may change to not return + anything, since there's no point in checking its return + value. Addresses RT #45883. (Dave Rolsky) + + * Class::MOP::Class::Trait::Immutable + - When throwing an error because of an immutable method, include that + method's name. Addresses RT #49680. (Shawn M Moore) + + * Class::MOP::Package + - Adding the same sub reference to multiple packages failed to update + the method map properly. RT #48985. Reported by Paul Mooney. (Dave + Rolsky) + - The get_method_map method is now private (and called as + _full_method_map or _method_map). The public version is available as a + deprecated method. (Dave Rolsky) + +0.92_01 Thu, Sep 10, 2009 + * Class::MOP::Package + - Backwards compatibility tweaks to XS for 5.8.1. (Goro Fuji) + + * Class::MOP + - Make sure XS code handles magical scalars correctly. (Goro Fuji) + + * Class::MOP::Class + - Documented the immutable_options method, which is useful if you need + to make a class mutable temporarily, and then nede to restore + immutability. (Dave Rolsky) + + * Many modules + - Deprecated features have been moved to their own module, + Class::MOP::Deprecated, for easier deprecation management. (Goro Fuji) + +0.92 Thu Aug 13, 2009 + * Class::MOP::Class + * Class::MOP::Package + - Move get_method_map and its various scaffolding into Package. (hdp) + + * Class::MOP::Method + - Allow Class::MOP::Method->wrap to take a Class::MOP::Method object as + the first argument, rather than just a coderef. (doy) + + * Class::MOP::Attribute + * Class::MOP::Class + - Allow attribute names to be false (while still requiring them to be + defined). (rafl) + +0.91 Wed Jul 29, 2009 + * Class::MOP::Method::Wrapped + - Fixing variable usage issues with the patch from previous + version, not properly using lexicals in the for + loops. (stevan) + +0.90 Tue Jul 21, 2009 + Japan Perl Association has sponsored Goro Fuji to improve startup + performance of Class::MOP and Moose. These enhancements may break + backwards compatibility if you're doing (or using) complex + metaprogramming, so, as always, test your code! + http://blog.perlassociation.org/2009/07/jpa-sponsors-moose-class-mop-work.html + + * Class::MOP::Class + * XS + - Anonymous classes were not completely destroyed when they went + out of scope, leading to a memory leak. RT #47480. (Goro + Fuji). + + * Class::MOP::Class + - The get_method, has_method, and add_method methods no longer + use get_method_map. Method objects are instantiated + lazily. This significantly improves Class::MOP's load + time. (Goro Fuji) + + * All classes + - Inline fewer metaclass-level constructors since the ones we + have are perfectly fine. This reduces the number of string + evals. (Goro Fuji) + + * Class::MOP::Method::Wrapped + - If a method modifier set $_, this caused the modifier to blow + up, because of some weird internals. (Jeremy Stashewsky) + +0.89 Fri Jul 3, 2009 + * Class::MOP::Class + * Class::MOP::Class::Immutable::Trait + - Made the Trait act like a role with a bunch of "around" + modifiers, rather than sticking it in the inheritance + hierarchy. This fixes various problems that caused with + metaclass compatibility, which broke Fey::ORM. + * Class::MOP::Method - - Fix bug from MooseX::Types passing blessed code references + - Allow a blessed code reference as the method body. Fixes a + problem interaction with MooseX::Types. (ash) -0.89 * Class::MOP::Instance - add inline version of rebless_instance_structure. (doy) - change inline_slot_access to use single quotes (gphat) @@ -142,7 +277,7 @@ Revision history for Perl extension Class-MOP. * Many methods have been renamed with a leading underscore, and a few have been deprecated entirely. The methods with a leading - underscore are consider "internals only". People writing + underscore are considered "internals only". People writing subclasses or extensions to Class::MOP should feel free to override them, but they are not for "public" use. @@ -589,7 +724,7 @@ Revision history for Perl extension Class-MOP. 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 + - Okay, lets give this another try and see if PAUSE recognizes it correct this time. 0.60 Thurs. Jun 12, 2008 @@ -600,21 +735,21 @@ Revision history for Perl extension Class-MOP. !! Several fixes resulting in yet another 25-30% speedup !! * Class::MOP::Class - - now stores the instance of the instance + - 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 + - introduce methods to query Class::MOP::Class for the options used to make it immutable as well as - the proper immutable transformer. (groditi) + the proper immutable transformer. (groditi) * Class::MOP::Package - - {add, has, get, remove}_package_symbol all + - {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 + - 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 @@ -624,19 +759,19 @@ Revision history for Perl extension Class-MOP. load_class (Sartak) - tests for this and other aspects of load_class (Sartak) - + * Class::MOP - Class::MOP::Class + Class::MOP::Class Class::MOP::Method Class::MOP::Method::Wrapped Class::MOP::Attribute - - switched usage of reftype to ref because + - switched usage of reftype to ref because it is much faster 0.58 Thurs. May 29, 2008 (late night release engineering)-- - - - fixing the version is META.yml, no functional + + - fixing the version is META.yml, no functional changes in this release 0.57 Wed. May 28, 2008 @@ -648,13 +783,13 @@ Revision history for Perl extension Class-MOP. instead of manually grabbing each symbol - streamlining &initialize somewhat, since it gets called so much - + * Class::MOP::Package - - made {get, has}_package_symbol not call - &namespace so much - - inlining a few calls to &name with + - made {get, has}_package_symbol not call + &namespace so much + - inlining a few calls to &name with direct HASH access key access - - added get_all_package_symbols to fetch + - added get_all_package_symbols to fetch a HASH of items based on a type filter similar to list_all_package_symbols - added tests for this @@ -663,7 +798,7 @@ Revision history for Perl extension Class-MOP. Class::MOP::Method::Constructor Class::MOP::Method::Generated Class::MOP::Method::Accessor - - added more descriptive error message to help + - added more descriptive error message to help keep people from wasting time tracking an error that is easily fixed by upgrading. @@ -676,7 +811,7 @@ Revision history for Perl extension Class-MOP. * Class::MOP - we now get the &check_package_cache_flag function from MRO::Compat - - All XS based functionality now has a + - All XS based functionality now has a Pure Perl alternative - the CLASS_MOP_NO_XS environment variable can now be used to force non-XS versions @@ -711,15 +846,15 @@ Revision history for Perl extension Class-MOP. Class::MOP::Method::Generated Class::MOP::Method::Accessor Class::MOP::Method::Consructor - - the &wrap constructor method now requires that a - 'package_name' and 'name' attribute are passed. This - is to help support the no-XS version, and will - throw an error if these are not supplied. + - the &wrap constructor method now requires that a + 'package_name' and 'name' attribute are passed. This + is to help support the no-XS version, and will + throw an error if these are not supplied. - all these classes are now bootstrapped properly and now store the package_name and name attributes - correctly as well + correctly as well - ~ Build.PL has been removed since the + ~ Build.PL has been removed since the Module::Install support has been removed 0.55 Mon. April 28, 2008