forgot to update changes for previous rev
[gitmo/Moose.git] / Changes
diff --git a/Changes b/Changes
index 0ee26f7..676e56c 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,324 @@
 Revision history for Perl extension Moose
 
-0.09_03
+    * Moose::Util::TypeConstraints
+      - fix for prototype undecl issue when type constraint utils loaded
+        before consumers (e.g. Moose::Meta::Attribute) by predeclaring
+        prototypes in TC utils
+
+0.22
+    * Moose::Meta::Method::Accessor
+      - coerce and lazy now work together correctly, thanks to 
+        merlyn for finding this bug
+        - tests added for this
+      - fix reader presedence bug in Moose::Meta::Attribute + tests
+
+0.21 Thursday, May 2nd, 2007
+    * Moose
+      - added SUPER_SLOT and INNER_SLOT class hashes to support unimport
+      - modified unimport to remove super and inner along with the rest
+        - altered unimport tests to handle this
+
+    * Moose::Role
+      - altered super export to populate SUPER_SLOT
+
+    * Moose::Meta::Class
+      - altered augment and override modifier application to use *_SLOT
+        - modified tests for these to unimport one test class each to test
+
+    * Moose::Meta::Role
+      - fixed issue where custom attribute metaclasses
+        where not handled correctly in roles
+        - added tests for this
+    
+    * Moose::Meta::Class
+      - fixed issue where extending metaclasses with 
+        roles would blow up. Thanks to Aankhen`` for
+        finding this insidious error, and it's solution.
+        
+    ~~ lots of spelling and grammer fixes in the docs, 
+       many many thanks to rlb3 and Aankhen for these :)
+
+0.20 Friday, April 6th, 2007
+    >> I messed up the SKIP logic in one test
+       so this release is just to fix that.
+
+    * Moose
+      - 'has' now also accepts an ARRAY ref
+        to create multiple attrs (see docs)
+        (thanks to konobi for this)
+         - added tests and docs 
+
+0.19 Thurs. April 5th, 2007
+    ~~ More documentation updates ~~
+
+    * Moose::Util::TypeConstraints
+      - 'type' now supports messages as well
+        thanks to phaylon for finding this
+        - added tests for this
+      - added &list_all_type_constraints and 
+        &list_all_builtin_type_constraints
+        functions to facilitate introspection.
+    
+    * Moose::Meta::Attribute
+      - fixed regexp 'handles' declarations 
+        to build the list of delegated methods
+        correctly (and not override important 
+        things like &new) thanks to ashleyb 
+        for finding this
+        - added tests and docs for this
+      - added the 'documentation' attributes
+        so that you can actually document your 
+        attributes and inspect them through the 
+        meta-object.
+        - added tests and docs for this
+
+    * Moose::Meta::Class
+      - when loading custom attribute metaclasses
+        it will first look in for the class in the 
+        Moose::Meta::Attribute::Custom::$name, and 
+        then default to just loading $name.
+        - added tests and docs for this
+
+    * Moose::Meta::TypeConstraint
+      - type constraints now stringify to their names.
+        - added test for this
+
+    * misc.
+      - added tests to assure we work with Module::Refresh 
+      - added stricter test skip logic in the Moose POOP 
+        test, ask Rob Kinyon why.
+        - *cough* DBM::Deep 1.0 backwards compatability sucks *cough* ;)
+
+0.18 Sat. March 10, 2007
+    ~~ Many, many documentation updates ~~
+
+    * misc.
+      - We now use Class::MOP::load_class to 
+        load all classes.    
+      - added tests to show types and subtypes 
+        working with Declare::Constraints::Simple
+        and Test::Deep as constraint engines.
+
+0.18_001
+    !! You must have Class::MOP 0.37_001  !!
+    !! for this developer release to work !!
+
+    This release was primarily adding the immutable
+    feature to Moose. An immutable class is one which 
+    you promise not to alter. When you set the class 
+    as immutable it will perform various bits of 
+    memoization and inline certain part of the code
+    (constructors, destructors and accessors). This 
+    minimizes (and in some cases totally eliminates)
+    one of Moose's biggest performance hits. This 
+    feature is not on by default, and is 100% optional.
+    It has several configurable bits as well, so you 
+    can pick and choose to your specific needs.
+    
+    The changes involved in this were fairly wide and 
+    highly specific, but 100% backwards compatible, so 
+    I am not going to enumerate them here. If you are 
+    truely interested in what was changed, please do 
+    a diff :)
+
+0.17 Tues. Nov. 14, 2006
+    * Moose::Meta::Method::Accessor
+      - bugfix for read-only accessors which 
+        are have a type constraint and lazy.
+        Thanks to chansen for finding it.
+
+0.16 Tues. Nov. 14, 2006
+    ++ NOTE ++
+    There are some speed improvements in this release, 
+    but they are only the begining, so stay tuned.
+    
+    * Moose::Object
+      - BUILDALL and DEMOLISHALL no longer get 
+        called unless they actually need to be.
+        This gave us a signifigant speed boost
+        for the cases when there is no BUILD or 
+        DEMOLISH method present.
+        
+    * Moose::Util::TypeConstraints
+    * Moose::Meta::TypeConstraint
+      - added an 'optimize_as' option to the 
+        type constraint, which allows for a
+        hand optimized version of the type 
+        constraint to be used when possible.
+      - Any internally created type constraints
+        now provide an optimized version as well.
+
+0.15 Sun. Nov. 5, 2006
+    ++ NOTE ++
+    This version of Moose *must* have Class::MOP 0.36 in order 
+    to work correctly. A number of small internal tweaks have 
+    been made in order to be compatible with that release.
+
+    * Moose::Util::TypeConstraints
+      - added &unimport so that you can clean out 
+        your class namespace of these exported 
+        keywords
+    
+    * Moose::Meta::Class
+      - fixed minor issue which occasionally 
+        comes up during global destruction 
+        (thanks omega)
+      - moved Moose::Meta::Method::Overriden into 
+        its own file.
+      
+    * Moose::Meta::Role      
+      - moved Moose::Meta::Role::Method into 
+        its own file.
+              
+    * Moose::Meta::Attribute
+      - changed how we do type checks so that 
+        we reduce the overall cost, but still 
+        retain correctness.
+       *** API CHANGE ***
+      - moved accessor generation methods to 
+        Moose::Meta::Method::Accessor to 
+        conform to the API changes from 
+        Class::MOP 0.36
+          
+    * Moose::Meta::TypeConstraint
+      - changed how constraints are compiled
+        so that we do less recursion and more
+        iteration. This makes the type check 
+        faster :)
+      - moved Moose::Meta::TypeConstraint::Union
+        into its own file
+    
+    * Moose::Meta::Method::Accessor
+      - created this from methods formerly found in 
+        Moose::Meta::Attribute
+    
+    * Moose::Meta::Role::Method
+      - moved this from Moose::Meta::Role
+          
+    * Moose::Meta::Method::Overriden
+      - moved this from Moose::Meta::Class
+      
+    * Moose::Meta::TypeConstraint::Union
+      - moved this from Moose::Meta::TypeConstraint
+
+0.14 Mon. Oct. 9, 2006
+
+    * Moose::Meta::Attribute
+      - fixed lazy attributes which were not getting 
+        checked with the type constraint (thanks ashley)
+        - added tests for this
+      - removed the over-enthusiastic DWIMery of the 
+        automatic ArrayRef and HashRef defaults, it 
+        broke predicates in an ugly way.
+        - removed tests for this
+
+0.13 Sat. Sept. 30, 2006
+    ++ NOTE ++
+    This version of Moose *must* have Class::MOP 0.35 in order 
+    to work correctly. A number of small internal tweaks have 
+    been made in order to be compatible with that release.
+
+    * Moose
+      - Removed the use of UNIVERSAL::require to be a better
+        symbol table citizen and remove a dependency 
+        (thanks Adam Kennedy)
+
+      **~~ removed experimental & undocumented feature ~~**
+      - commented out the 'method' and 'self' keywords, see the 
+        comments for more info.
+
+    * Moose::Cookbook
+      - added a FAQ and WTF files to document frequently 
+        asked questions and common problems
+        
+    * Moose::Util::TypeConstraints
+      - added GlobRef and FileHandle type constraint
+        - added tests for this
+        
+    * Moose::Meta::Attribute
+      - if your attribute 'isa' ArrayRef of HashRef, and you have
+        not explicitly set a default, then make the default DWIM.
+        This will also work for subtypes of ArrayRef and HashRef 
+        as well.
+      - you can now auto-deref subtypes of ArrayRef or HashRef too.
+        - new test added for this (thanks to ashley)
+        
+    * Moose::Meta::Role
+      - added basic support for runtime role composition
+        but this is still *highly experimental*, so feedback 
+        is much appreciated :)
+        - added tests for this
+
+    * Moose::Meta::TypeConstraint
+      - the type constraint now handles the coercion process
+        through delegation, this is to support the coercion 
+        of unions
+        
+    * Moose::Meta::TypeConstraint::Union
+      - it is now possible for coercions to be performed 
+        on a type union
+        - added tests for this (thanks to konobi)
+
+    * Moose::Meta::TypeCoercion
+      - properly capturing error when type constraint 
+        is not found
+
+    * Build.PL
+      - Scalar::Util 1.18 is bad on Win32, so temporarily
+        only require version 1.17 for Win32 and cygwin.
+        (thanks Adam Kennedy)        
+
+0.12 Sat. Sept. 1, 2006
+    * Moose::Cookbook
+      - Recipe5 (subtypes & coercion) has been written
+      
+    * Moose
+      - fixed "bad meta" error message to be more descriptive      
+      - fixed &unimport to not remove the &inner and &super  
+        keywords because we need to localize them.
+      - fixed number of spelling/grammer issues, thanks Theory :)
+      
+      **~~ experimental & undocumented feature ~~**
+      - added the method and self keywords, they are basically 
+        just sugar, and they may not stay around.
+        
+    * Moose::Object
+      - added &dump method to easily Data::Dumper 
+        an object
+        
+    * Moose::Meta::TypeConstraint
+      - added the &is_a_type_of method to check both the current
+        and the subtype of a method (similar to &isa with classes)
+
+    * Moose::Meta::Role
+      - this is now a subclass of Class::MOP::Module, and no longer
+        creates the _role_meta ugliness of before. 
+        - fixed tests to reflect this change
+    
+0.11 Wed. July 12, 2006
+    * Moose
+      - added an &unimport method to remove all the keywords
+        that Moose will import, simply add 'no Moose' to the 
+        bottom of your class file. 
+        
+    * t/
+      - fixed some test failures caused by a forgotten test 
+        dependency.
+
+0.10 Thurs. July 6, 2006
+    * Moose
+      - improved error message when loading modules so
+        it is less confusing when you load a role.
+      - added &calculate_all_roles method to 
+        Moose::Meta::Class and Moose::Meta::Role
+        
+    NOTE:
+    This module has been tested against Class::MOP 0.30
+    but it does not yet utilize the optimizations 
+    it makes available. Stay tuned for that ;)
+    
+0.09_03 Fri. June 23, 2006
+    ++ DEVELOPER RELEASE ++
     * Moose
       - 'use strict' and 'use warnings' are no longer
          needed in Moose classes, Moose itself will 
@@ -13,10 +331,6 @@ Revision history for Perl extension Moose
       - as with Moose, strict and warnings are 
         automatically turned on for you.
          - added tests for this        
-
-    * Moose::Meta::Class
-      - now handles some moose-specific options in 
-        &create
         
     * Moose::Meta::Role
       - now handles an edge case for override errors
@@ -24,6 +338,7 @@ Revision history for Perl extension Moose
       - added some more edge case tests
 
 0.09_02 Tues. May 16, 2006
+    ++ DEVELOPER RELEASE ++
     * Moose
       - added prototypes to the exported subs
       - updated docs
@@ -311,4 +626,4 @@ Revision history for Perl extension Moose
            full fledges meta-objects
 
 0.01 Wed. March 15, 2006
-    - Moooooooooooooooooose!!!
\ No newline at end of file
+    - Moooooooooooooooooose!!!