Revision history for Perl extension Class-MOP.
-0.37
+0.53
+ ~~~ some misc. doc. fixes ~~~
+
+ * Class::MOP::Instance
+ - added get_all_slot_values method (Sartak)
+ - added tests for this (Sartak)
+
+ * Class::MOP::Class
+ Class::MOP::Method::Constructor
+ Class::MOP::Attribute
+ - making init_arg accept an undefined value
+ to indicate that no constructor args can
+ be passed (thanks to nothingmuch)
+ - added tests for this
+ - added attribute initializer attribute (rjbs)
+
+ * Class::MOP.
+ - making this use the new init_arg => undef
+ feature instead of the silly hack from
+ before (thanks to nothingmuch)
+
+0.52 Tues. Jan. 22, 2008
+ * Class::MOP::Class
+ - fixed bug in rebless_instance
+ (discovered by ash)
+
+ * Class::MOP::Method::Constructor
+ - removed assumptions about the existence of
+ a &meta method
+
+0.51 Mon. Jan. 14, 2008
+ ~~~ some misc. doc. fixes ~~~
+ ~~ updated copyright dates ~~
+
+ * Class::MOP
+ - now sets the IS_RUNNING_ON_5_10
+ constant so that we can take advantage
+ of some of the nice bits of 5.10
+
+ * Class::MOP::Class
+ - uses the IS_RUNNING_ON_5_10 flag to
+ optimize the &linearized_isa method
+ and avoid the hack/check for circular
+ inheritence in &class_precedence_list
+ - added rebless_instance method (Sartak)
+ - added tests for this
+
+ * Class::MOP::Immutable
+ - the immutable class now keeps track of
+ the transformer which immutablized it
+
+ * Class::MOP::Instance
+ - added rebless_instance_structure method (Sartak)
+ - added tests for this
+
+0.50 Fri. Dec. 21, 2007
+ * Class::MOP::Class
+ - fixed bug in immutable to make sure that
+ transformation arguments are saved
+ correctly (mst)
+ - added tests for this
+
+ * Class::MOP::Immutable
+ - fixed a bug (see above)
+
+ * Class::MOP::Attribute
+ - some doc updates
+
+0.49 Fri. Dec. 14, 2007
+ !! Class::MOP now loads 2 x faster !!
+ !! with XS speedups (thanks konobi) !!
+
+ * Class::MOP
+ - removed the dependency on B
+ - added two XS functions (thanks konobi)
+ - get_code_info($code) which replaces all
+ the B fiddling we were doing with
+ faster/leaner XS level fiddling
+ - check_package_cache_flag($pkg_name) which
+ returns the PL_sub_generation variable to
+ be used to help manage method caching.
+
+ NOTE:
+ In 5.10 or greater this will actually
+ use the mro::get_pkg_gen instead to give
+ even more accurate caching information.
+ blblack++ for that stuff :)
+
+ * Class::MOP::Class
+ - added the &subclasses method (thanks rlb)
+ - added the update_package_cache_flag and
+ reset_package_cache_flag which help keep
+ track of when we need to re-fetch the
+ method map.
+ - Several small improvements to take advantage
+ of the new method map caching features
+
+0.48 Mon. Nov. 26, 2007
+ * Class::MOP::Attribute
+ - fixed get_read/write_method to handle the
+ HASH ref case, which makes the
+ get_read/write_method_ref handle it too.
+ - added more tests for this
+
+0.47 Sat. Nov. 24, 2007
+ * Class::MOP::Attribute
+ - fixed misspelling in get_write_method_ref
+ - added more tests for this
+
+0.46 Fri. Nov. 23, 2007
+ * Class::MOP::Class
+ - added the linearized_isa method instead of constantly
+ pruning duplicate classes (this will be even more
+ useful in the 5.10-compat version coming soon)
+
+ * Class::MOP::Attribute
+ - added the get_read_method_ref and get_write_method_ref
+ methods which allow you to retrieve a CODE ref which
+ can always be used to read or write an attribute.
+
+0.45 Thurs. Nov. 13, 2007
+ * Class::MOP::Attribute
+ - Fix error message on confess (groditi)
+
+0.44 Thurs. Nov. 13, 2007
+ - Apparently I didn't make dist correctly (groditi)
+
+0.43 Thurs. Nov. 13, 2007
+ * Class::MOP
+ - Add support for the 'builder' attribute (groditi)
+
+ * Class::MOP::Class
+ - optimise metaclass-already-exists check in
+ construct_class_instance (groditi)
+ - duplicate check into initialize to save a
+ call through (groditi)
+
+ * Class::MOP::Attribute
+ - Add support for the 'builder' attribute (groditi)
+ - Make predicates check for the existence of a value, not whether
+ it is defined (groditi)
+
+ * Class::MOP::Instance
+ - Make predicates check for the existence of a value, not whether
+ it is defined (groditi)
+
+ * Class::MOP::Method::Accessor
+ - made this a subclass of Class::MOP::Method::Generated
+ - removed the relevant attributes
+
+ * Class::MOP::Method::Constructor
+ - fixed the cached values we had to be more sane
+ - made this a subclass of Class::MOP::Method::Generated
+ - fixed generated constructor so it properly handles
+ subclasses now.
+ - added tests for this
+ - added the option to allow for both inlined and
+ non-inlined constructors.
+ - Update inlined methods for builder and predicate changes (groditi)
+
+ * Class::MOP::Method::Generated
+ - added this class as an abstract base for the
+ Class::MOP::Method::{Constructor,Accessor} classes
+ - added tests for this
+
+ *t/
+ - Alter tests (005, 014 020, 021) for new builder addition (groditi)
+ - Tests for new predicate behavior (and corrections to old tests) (groditi)
+
+ *examples/
+ - Update ArrayRef based class example to work with predicate changes
+
+0.42 Mon. July 16, 2007
+ !!! Horray for mst, he fixed it !!!
+
+ * Class::MOP::Package
+ - alter symbol table handling to deal with 5.8.x and 5.9.x
+
+ * t/
+ - Get rid of the crappy workaround from 0.40/41
+
+0.41 Sun. July 15, 2007
+ * t/
+ Arghh!!! My TODO test didn't work, so I handle
+ it manually now so that people can use this
+ with 5.9.5/bleadperl without issue.
+
+0.40 Tues, July 3, 2007
+ * t/
+ ~ marked a test in 003_methods.t as TODO
+ for perl 5.9.5 (this test is irrelvant to
+ the module functioning on 5.9.5 for the most
+ part anyway)
+
+0.39 Mon. June 18, 2007
+ * Class::MOP::Immutable
+ - added make_metaclass_mutable + docs (groditi)
+ - removed unused variable
+ - added create_immutable_transformer
+ necessary for sane overloading of immutable behavior
+ - tests for this (groditi)
+
+ * Class::MOP::Class
+ - Immutability can now be undone,
+ added make_mutable + tests + docs (groditi)
+ - Massive changes to the way Immutable is done
+ for details see comments next to make_immutable
+ This fixes a bug where custom metaclasses broke
+ when made immutable. We are now keeping one immutable
+ metaclass instance per metaclass instead of just one
+ to prevent isa hierarchy corruption. Memory use will go
+ up, but I suspect it will be neglible.
+ - New tests added for this behavior. (groditi)
+
+0.38 Thurs. May 31, 2007
+ ~~ More documentation updates ~~
+
+ * Class::MOP::Package
+ - we now deal with stub methods properly
+ - added tests for this
+ - fixed some tests failing on 5.9.5 (thanks blblack)
+
+ * Class::MOP::Attribute
+ - added get_read_method and get_write_method
+ thanks to groditi for this code, tests
+ and docs.
+ - added tests and POD for this
+
+ * Class::MOP::Class
+ - fixed RT issue #27329, clone object now
+ handles undef values correctly.
+ - added tests for this
+ - Corrected anon-class handling so that they
+ will not get reaped when instances still
+ exist which need to reference them. This is
+ the correct behavior, hopefully this is an
+ obscure enough feature that there are not too
+ many work arounds out in the wild.
+ - added tests for this by groditi
+ - updated docs to explain this
+
+ * metaclass
+ - load custom metaclasses automatically (thanks groditi)
+ - added tests for this behavior
+
+0.37 Sat. March 10, 2007
+ ~~ Many, many documentation updates ~~
+
+ * Class::MOP
+ - added &load_class and &is_class_loaded
+ - added tests and docs for these
+
* Class::MOP::Attribute
- default now checks the instance with defined to
avoid setting off bool-overloads (found by Carl Franks)
- adding POD documentation to the examples
0.01 Thurs Feb. 2, 2006
- - Initial release
\ No newline at end of file
+ - Initial release