Remove the pure-perl fallback of CMOP::Class->subclasses
[gitmo/Class-MOP.git] / Changes
diff --git a/Changes b/Changes
index 661fa5d..44e5129 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,117 @@
 Revision history for Perl extension Class-MOP.
 
+0.80
+    * Class::MOP
+      - HAS_ISAREV is now deprecated. It has always returned 1 so
+        it won't be missed. (Sartak)
+
+    * Class::MOP::*
+      - Call user_class->meta in fewer places, with the eventual
+        goal of allowing the user to rename or exclude ->meta
+        altogether. Instead uses Class::MOP::class_of. (Sartak)
+
+    * Class::MOP
+      - New class_of function that should be used to retrieve a
+        metaclass. This is unlike get_metaclass_by_name in that
+        it accepts instances, not just class names. (Sartak)
+
+    * Class::MOP
+      - load_first_existing_class didn't actually load the first existing
+        class; instead, it loaded the first existing and compiling class.  It
+        now throws an error if a class exists (in @INC) but fails to compile.
+        (hdp)
+
+    * Class::MOP::Class
+    * Class::MOP
+      - we had some semi-buggy code that purported to provide a
+        HAS_ISAREV based on whether mro had get_isarev (due
+        to an oversight, it always returned 1). Since mro and
+        MRO::Compat have always had get_isarev, HAS_ISAREV was
+        pointless. This insight simplified the subclasses method
+        by deleting the pure-perl fallback. (Sartak)
+
+0.79 Fri, March 29, 2009
+    * No changes from 0.78_02.
+
+0.78_02 Thu, March 26, 2009
+    * Class::MOP::Class
+    * Class::MOP::Immutable
+      - A big backwards-incompatible refactoring of the Immutable API,
+        and the make_immutable/make_mutable pieces of the Class
+        API. The core __PACKAGE__->meta->make_immutable API remains
+        the same, however, so this should only affect the most
+        guts-digging code.
+
+    * XS code
+      - The XS code used a macro, XSPROTO, that's only in 5.10.x. This
+        has been fixed to be backwards compatible with 5.8.x.
+
+    * Class::MOP::Class
+      - Add a hook for rebless_instance_away (Sartak)
+      - Use blessed instead of ref to get an instance's class name
+        in rebless_instance. (Sartak)
+
+0.78_01 Wed, March 18, 2009
+    * Class::MOP::*
+      - Revised and reorganized all of the API documentation. All
+        classes now have (more or less) complete API documentation.
+
+    * Class::MOP::Class
+    * Class::MOP::Instance
+      - Reblessing into a package that supports overloading wasn't
+        properly adding overload magic to the object due to a bug
+        in (at least) 5.8.8. We now use $_[1] directly which seems
+        to set the magic properly. (Sartak)
+
+    * Class::MOP::Attribute
+      - The process_accessors method is now private. A public alias
+        exists (and will stick around for a few releases), but it
+        warns that calling the public method is deprecated.
+
+    * Class::MOP::Method::Generated
+      - Removed the new and _new methods, since this is an abstract
+        base class, and all existing subclasses implement their own
+        constructors.
+
+    * MOP.xs
+      - Stop is_class_loaded from thinking a class is loaded if it
+        only has an empty GV (Florian Ragwitz).
+        - Add a test for this (Yappo).
+      - Refactor get_all_package_symbols to allow short-circuiting
+        (Florian Ragwitz).
+        - Use this in is_class_loaded (Florian Ragwitz).
+      - Stop segfaulting when trying to get the name from a sub that's
+        still being compiled (Florian Ragwitz).
+        - Add tests for this (Florian Ragwitz).
+      - Prefix all public symbols with "mop_" (Florian Ragwitz).
+      - Clean up and simplify prehashing of hash keys (Florian Ragwitz).
+      - Simplify creating simple xs reader methods (Florian Ragwitz).
+      - Make everything compile with c++ compilers (Florian Ragwitz).
+      - Upgrade ppport.h from 3.14 to 3.17 (Florian Ragwitz).
+
+    * Tests
+      - Remove optional test plans for tests depending on Sub::Name as
+        we have a hard dependency on Sub::Name anyway (Florian Ragwitz).
+
+    * Makefile.PL
+      - Rebuild all c code if mop.h has changed (Florian Ragwitz)
+
+0.78 Mon, February 23, 2009
+    * No changes from 0.77_01
+
+0.77_01 Sun, February 22, 2009
+    * Everything
+      - This package now requires its XS components. Not using
+        Sub::Name lead to different behavior and bugginess in the pure
+        Perl version of the code. A Moose test would fail when run
+        against the pure Perl version of this code.
+
+    * Class::MOP::Instance
+      - The inline_* methods now quote attribute names themselves, and
+        don't expect to receive a quoted value.
+
+
+0.77 Sat, February 14, 2009
     * MOP.xs
       - Avoid assertion errors on debugging perls in is_class_loaded
         (Florian Ragwitz)
@@ -21,7 +133,12 @@ Revision history for Perl extension Class-MOP.
       - Make sure we generate a BSD-compatible Makefile (Florian
         Ragwitz)
 
-0.76 Thu, January 22, 2008
+    * Class::MOP::Class
+      - The misspelled "check_metaclass_compatability" method we've
+        kept around for backwards compat_i_bility will be removed in a
+        near future release. You've been warned.
+
+0.76 Thu, January 22, 2009
     * Class::MOP::Method::Generated
       - Added new private methods to support code generation, which
         are being used by Moose and can be used by MooseX