Revision history for Perl extension Class-MOP.
+0.6?
* Class::MOP
- - MOP.xs does sanity checks on the coderef to avoid a segfault
+ - Class::MOP::load_class loaded modules by turning them into
+ paths, now we just use eval "require $module". This appears to
+ fix some subtle bugs related to load order in Moose. (Dave
+ Rolsky)
-0.59
+0.64_07 Mon August 25, 2008
+ * Class::MOP (MOP.xs)
+ - Another MS VC++ fix, cannot declare a variable in the middle
+ of a scope (Taro Nishino).
+
+0.64_05 Sun August 24, 2008
+ * Class::MOP
+ - None of the dev releases actually loaded the XS properly, but
+ we silently fell back to the pure Perl version of the
+ code. (Dave Rolsky)
+
+ * Class::MOP (MOP.xs)
+ - Replaced some code that used functions not available on Visual
+ C++ with some Perl XS API bits (Dave Rolsky).
+
+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
changes in this release
0.57 Wed. May 28, 2008
- !! Seveal speedups resulting in 20-25% speedups !!
+ !! Several speedups resulting in 20-25% speedups !!
|| (thanks to konobi, groditi, mst & CataMoose) !!
* Class::MOP::Class
keep people from wasting time tracking an error
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
- we now get the &check_package_cache_flag