some speedups in Moose
[gitmo/Moose.git] / Changes
diff --git a/Changes b/Changes
index 49ef020..7d61bd7 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,240 @@
 Revision history for Perl extension Moose
 
-0.39
+0.46
+    * Moose::Meta::Class
+      Moose::Meta::Role
+      - now use the get_all_package_symbols from the 
+        updated Class::MOP, test suite is now 10 seconds 
+        faster
+
+0.45 Saturday, May 24, 2008
+    * Moose
+      - Because of work in Class::MOP 0.56, all 
+        XS based functionality is now optional
+        and a Pure Perl version is supplied
+        - the CLASS_MOP_NO_XS environment variable
+          can now be used to force non-XS versions 
+          to always be used   
+        - several of the packages have been tweaked
+          to take care of this, mostly we added
+          support for the package_name and name 
+          variables in all the Method metaclasses
+      - before/around/after method modifiers now 
+        support regexp matching of names
+        (thanks to Takatoshi Kitano)
+        - tests added for this
+        - NOTE: this only works for classes, it 
+          is currently not supported in roles, 
+          but, ... patches welcome
+      - All usage of Carp::confess have been replaced
+        by Carp::croak in the "keyword" functions since
+        the stack trace is usually not helpful
+      
+    * Moose::Role
+      - All usage of Carp::confess have been replaced
+        by Carp::croak in the "keyword" functions since
+        the stack trace is usually not helpful  
+      - The 'has' keyword for roles now accepts the 
+        same array ref form that Moose.pm does 
+        (has [qw/foo bar/] => (is => 'rw', ...))
+        - added test for this
+      
+    * Moose::Meta::Attribute
+      - trigger on a ro-attribute is no longer an
+        error, as it's useful to trigger off of the
+        constructor
+
+    * Moose::Meta::Class
+      - added same 'add_package_symbol' fix as in 
+        Class::MOP 0.56
+
+    * Moose::Util
+      - does_role now handles non-Moose classes 
+        more gracefully
+        - added tests for this
+      - added the 'add_method_modifier' function 
+        (thanks to Takatoshi Kitano)
+
+    * Moose::Util::TypeConstraints
+      - subtypes of parameterizable types now are 
+        themselves parameterizable types
+
+    * Moose::Meta::Method::Constructor
+      - fixed bug where trigger was not being 
+        called by the inlined immutable 
+        constructors 
+        - added test for this (thanks to Caelum)
+    
+    * Moose::Meta::Role::Application::ToInstance
+      - now uses the metaclass of the instance
+        (if possible) to create the anon-class
+        (thanks Jonathan Rockway)
+    
+    * Moose::Cookbook::Recipe22
+      - added the meta-attribute trait recipe
+        (thanks to Sartak)
+    
+    * t/
+      - fixed hash-ordering test bug that was 
+        causing occasional cpantester failures
+      - renamed the t/000_recipe/*.t tests to be 
+        more descriptive (thanks to Sartak) 
+
+0.44 Sat. May 10, 2008
+    * Moose
+      - made make_immutable warning cluck to 
+        show where the error is (thanks mst)
+    
+    * Moose::Object
+      - BUILDALL and DEMOLISHALL now call 
+        ->body when looping through the 
+        methods, to avoid the overloaded
+        method call.
+      - fixed issue where DEMOLISHALL was
+        eating the $@ values, and so not 
+        working correctly, it still kind of
+        eats them, but so does vanilla perl 
+        - added tests for this
+      
+    * Moose::Cookbook::Recipe7
+      - added new recipe for immutable 
+        functionality (thanks Dave Rolsky)
+      
+    * Moose::Cookbook::Recipe9
+      - added new recipe for builder and 
+        lazy_build (thanks Dave Rolsky)
+      
+    * Moose::Cookbook::Recipe11
+      - added new recipe for method aliasing 
+        and exclusion with Roles (thanks Dave Rolsky)
+
+    * t/
+      - fixed Win32 test failure (thanks spicyjack)
+
+    ~ removed Build.PL and Module::Build compat 
+      since Module::Install has done that.
+
+0.43 Wed. April, 30, 2008
+    * NOTE TO SELF:
+        drink more coffee before 
+        doing release engineering
+      
+    - whoops, forgot to do the smolder tests, 
+      and we broke some of the custom meta-attr
+      modules. This fixes that.
+
+0.42 Mon. April 28, 2008
+    - some bad tests slipped by, nothing else 
+      changed in this release (cpantesters++)
+      
+    - upped the Class::MOP dependency to 0.55 
+      since we have tests which need the C3 
+      support
+
+0.41 Mon. April 28, 2008
+    ~~ numerous documentation updates ~~
+    
+    - Changed all usage of die to Carp::croak for better
+      error reporting (initial patch by Tod Hagan)
+
+    ** IMPORTANT NOTE **
+    - the make_immutable keyword is now deprecated, don't
+      use it in any new code and please fix your old code
+      as well. There will be 2 releases, and then it will
+      be removed.
+
+    * Moose
+      Moose::Role
+      Moose::Meta::Class
+      - refactored the way inner and super work to avoid
+        any method/@ISA cache penalty (nothingmuch)
+
+    * Moose::Meta::Class
+      - fixing &new_object to make sure trigger gets the 
+        coerced value (spotted by Charles Alderman on the 
+        mailing list)
+        - added test for this
+
+    * Moose::Meta::Method::Constructor
+      - immutable classes which had non-lazy attributes were calling
+        the default generating sub twice in the constructor. (bug
+        found by Jesse Luehrs, fixed by Dave Rolsky)
+        - added tests for this (Dave Rolsky)
+      - fix typo in initialize_body method (nothingmuch)
+      
+    * Moose::Meta::Method::Destructor
+      - fix typo in initialize_body method (nothingmuch)
+
+    * Moose::Meta::Method::Overriden
+      Moose::Meta::Method::Augmented
+      - moved the logic for these into their own 
+        classes (nothingmuch)
+
+    * Moose::Meta::Attribute
+      - inherited attributes may now be extended without 
+        restriction on the type ('isa', 'does') (Sartak)
+        - added tests for this (Sartak)
+      - when an attribute property is malformed (such as lazy without 
+        a default), give the name of the attribute in the error 
+        message (Sartak)
+      - added the &applied_traits and &has_applied_traits methods 
+        to allow introspection of traits
+        - added tests for this
+      - moved 'trait' and 'metaclass' argument handling to here from
+        Moose::Meta::Class
+      - clone_and_inherit_options now handles 'trait' and 'metaclass' (has
+        '+foo' syntax) (nothingmuch)
+        - added tests for this (t0m)
+     
+    * Moose::Object 
+      - localize $@ inside DEMOLISHALL to avoid it 
+        eating $@ (found by Ernesto)
+        - added test for this (thanks to Ernesto)
+
+    * Moose::Util::TypeConstraints
+      - &find_type_constraint now DWIMs when given an 
+        type constraint object or name (nothingmuch)
+      - &find_or_create_type_constraint superseded with a number of more
+        specific functions:
+        - find_or_create_{isa,does}_type_constraint
+        - find_or_parse_type_constraint
+
+    * Moose::Meta::TypeConstraint
+      Moose::Meta::TypeConstraint::Class
+      Moose::Meta::TypeConstraint::Role
+      Moose::Meta::TypeConstraint::Enum
+      Moose::Meta::TypeConstraint::Union
+      Moose::Meta::TypeConstraint::Parameterized
+        - added the &equals method for comparing two type 
+          constraints (nothingmuch)
+          - added tests for this (nothingmuch)
+
+    * Moose::Meta::TypeConstraint
+      - add the &parents method, which is just an alias to &parent. 
+        Useful for polymorphism with TC::{Class,Role,Union} (nothingmuch)
+
+    * Moose::Meta::TypeConstraint::Class
+      - added the class attribute for introspection purposes
+        (nothingmuch)
+        - added tests for this
+        
+    * Moose::Meta::TypeConstraint::Enum
+      Moose::Meta::TypeConstraint::Role
+      - broke these out into their own classes (nothingmuch)
+
+    * Moose::Cookbook::Recipe*
+      - fixed references to test file locations in the POD
+        and updated up some text for new Moose features
+        (Sartak)
+
+    * Moose::Util
+      - Added &resolve_metaclass_alias, a helper function for finding an actual
+        class for a short name (e.g. in the traits list)
+
+0.40 Fri. March 14, 2008
+    - I hate Pod::Coverage
+
+0.39 Fri. March 14, 2008
     * Moose
       - documenting the use of '+name' with attributes 
         that come from recently composed roles. It makes
@@ -23,6 +257,8 @@ Revision history for Perl extension Moose
       - added ->create_anon_class which now supports roles and caching of 
         the results (thanks to jrockway)
         - added tests for this
+      - made ->does_role a little more forgiving when it is
+        checking a Class::MOP era metaclasses.
     
     * Moose::Meta::Role::Application::ToInstance
       - it is now possible to pass extra params to be used when 
@@ -49,10 +285,15 @@ Revision history for Perl extension Moose
         have slightly better support for AUTOLOADed 
         objects
         - added more delegation tests
+      - adding ->does method to this so as to better 
+        support traits and their introspection.
+        - added tests for this
     
     * Moose::Object
       - localizing the Data::Dumper configurations so 
         that it does not pollute others (RT #33509)
+      - made ->does a little more forgiving when it is
+        passed Class::MOP era metaclasses.
 
 0.38 Fri. Feb. 15, 2008
     * Moose::Meta::Attribute