bump version and update Changes for 0.64_04 release
[gitmo/Class-MOP.git] / Changes
diff --git a/Changes b/Changes
index 5614dfe..03dd60f 100644 (file)
--- a/Changes
+++ b/Changes
 Revision history for Perl extension Class-MOP.
 
-0.57
+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)--
+    
+    - fixing the version is META.yml, no functional 
+      changes in this release
+
+0.57 Wed. May 28, 2008
+    !! Several speedups resulting in 20-25% speedups !!
+    || (thanks to konobi, groditi, mst & CataMoose) !!
+
     * Class::MOP::Class
       - made get_method_map use list_all_package_symbols
         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 
+        direct HASH access key access
       - added get_all_package_symbols to fetch 
         a HASH of items based on a type filter
         similar to list_all_package_symbols
@@ -19,7 +164,12 @@ Revision history for Perl extension Class-MOP.
       Class::MOP::Method::Accessor
       - added more descriptive error message to help 
         keep people from wasting time tracking an error
-        that is easily fixed by upgrading.      - 
+        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