adding unimport to Moose::Util::TypeConstraints
[gitmo/Moose.git] / Changes
diff --git a/Changes b/Changes
index 13da993..ef0d9fb 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,278 @@
 Revision history for Perl extension Moose
 
-0.04
+0.15
+
+    * 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)
+        
+    * Moose::Meta::Attribute
+      - changed how we do type checks so that 
+        we reduce the overall cost, but still 
+        retain correctness.
+          
+    * Moose::Meta::TypeConstraint
+      - changed how constraints are compiled
+        so that we do less recursion and more
+        iteration. This makes the type check 
+        faster :)
+
+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 
+         turn them on for you.
+         - added tests for this
+      - moved code from exported subs to private methods
+        in Moose::Meta::Class
+         
+    * Moose::Role
+      - as with Moose, strict and warnings are 
+        automatically turned on for you.
+         - added tests for this        
+        
+    * Moose::Meta::Role
+      - now handles an edge case for override errors
+        - added tests for this
+      - added some more edge case tests
+
+0.09_02 Tues. May 16, 2006
+    ++ DEVELOPER RELEASE ++
+    * Moose
+      - added prototypes to the exported subs
+      - updated docs
+      
+    * Moose::Role
+      - added prototypes to the exported subs      
+      - updated docs
+      
+    * Moose::Util::TypeConstraints
+      - cleaned up prototypes for the subs      
+      - updated docs      
+
+0.09_01 Fri. May 12, 2006
+    ++ DEVELOPER RELEASE ++
+      - This release works in combination with 
+        Class::MOP 0.29_01, it is a developer 
+        release because it uses the a new 
+        instance sub-protocol and a fairly
+        complete Role implementation. It has 
+        not yet been optimized, so it slower
+        the the previous CPAN version. This 
+        release also lacks good updated docs, 
+        the official release will have updated docs.
+
+    * Moose 
+      - refactored the keyword exports
+        - 'with' now checks Role validaity and 
+          accepts more than one Role at a time
+        - 'extends' makes metaclass adjustments as 
+           needed to ensure metaclass compatability
+          
+    * Moose::Role
+      - refactored the keyword exports
+        - 'with' now checks Role validaity and 
+          accepts more than one Role at a time
+          
+    * Moose::Util::TypeConstraints
+      - added the 'enum' keyword for simple 
+        string enumerations which can be used as 
+        type constraints
+        - see example of usage in t/202_example.t
+        
+    * Moose::Object
+      - more careful checking of params to new()
+      
+    * Moose::Meta::Role
+      - much work done on the role composition
+        - many new tests for conflict detection 
+          and composition edge cases
+        - not enough documentation, I suggest 
+          looking at the tests    
+      
+    * Moose::Meta::Instance
+      - added new Instance metaclass to support 
+        the new Class::MOP instance protocol
+        
+    * Moose::Meta::Class
+      - some small changes to support the new 
+        instance protocol
+      - some small additions to support Roles
+        
+    * Moose::Meta::Attribute
+      - some improvements to the accessor generation code
+        by nothingmuch
+      - some small changes to support the new 
+        instance protocol
+      - (still somewhat) experimental delegation support 
+        with the 'handles' option
+        - added several tests for this
+        - no docs for this yet
+
+0.05 Thurs. April 27, 2006
+    * Moose
+      - keywords are now exported with Sub::Exporter
+        thanks to chansen for this commit
+      - has keyword now takes a 'metaclass' option 
+        to support custom attribute meta-classes 
+        on a per-attribute basis
+        - added tests for this  
+      - the 'has' keyword not accepts inherited slot
+        specifications (has '+foo'). This is still an 
+        experimental feature and probably not finished
+        see t/038_attribute_inherited_slot_specs.t for 
+        more details, or ask about it on #moose
+        - added tests for this
+        
+    * Moose::Role
+      - keywords are now exported with Sub::Exporter
+
+    * Moose::Utils::TypeConstraints
+      - reorganized the type constraint hierarchy, thanks
+        to nothingmuch and chansen for his help and advice 
+        on this
+        - added some tests for this
+      - keywords are now exported with Sub::Exporter
+        thanks to chansen for this commit
+
+    * Moose::Meta::Class
+      - due to changes in Class::MOP, we had to change
+        construct_instance (for the better)
+        
+    * Moose::Meta::Attribute
+      - due to changes in Class::MOP, we had to add the 
+        initialize_instance_slot method (it's a good thing)
+        
+    * Moose::Meta::TypeConstraint
+      - added type constraint unions 
+        - added tests for this
+      - added the is_subtype_of predicate method
+        - added tests for this
+
+0.04 Sun. April 16th, 2006
     * Moose::Role
       - Roles can now consume other roles
         - added tests for this
@@ -18,6 +290,32 @@ Revision history for Perl extension Moose
       - added roles attribute and some methods to support 
         roles consuming roles
 
+    * Moose::Meta::Attribute
+      - added support for triggers on attributes
+        - added tests for this
+      - added support for does option on an attribute 
+        - added tests for this
+        
+    * Moose::Meta::Class
+      - added support for attribute triggers in the 
+        object construction
+        - added tests for this
+    
+    * Moose
+      - Moose no longer creates a subtype for your class 
+        if a subtype of the same name already exists, this 
+        should DWIM in 99.9999% of all cases
+        
+    * Moose::Util::TypeConstraints
+      - fixed bug where incorrect subtype conflicts were 
+        being reported
+        - added test for this
+        
+    * Moose::Object
+      - this class can now be extended with 'use base' if
+        you need it, it properly loads the metaclass class now
+        - added test for this
+
 0.03_02 Wed. April 12, 2006
     * Moose
       - you must now explictly use Moose::Util::TypeConstraints