Revision history for Perl extension Class-MOP.
+0.80
+ * 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::MOP::Class
+ - 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. HAS_ISAREV is now deprecated. (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