1 Revision history for Perl extension Class-MOP.
5 - added find_attribute_by_name method
6 - added tests and docs for this
8 0.25 Thurs. April 20, 2006
10 - added create_anon_class for creating anonymous classes
11 - added tests for this
12 - added get_all_metaclasses, get_all_metaclass_names
13 and get_all_metaclass_instances method to allow
14 access to all the cached metaclass objects.
15 - attribute slot initialization is now the responsibility
16 of the attribute itself, and construct_instance now
17 delegates appropriately
19 * Class::MOP::Attribute
20 - attribute slot initialization is now the responsibility
21 of the attribute itself, so we added a method for it
22 called initialize_instance_slot
25 - adjusted all the examples to use the new attribute
26 initialize_instance_slot method
28 0.24 Tues. April 11, 2006
30 - cleaned up how the before/after/around method
31 modifiers get named with Sub::Name
33 0.23 Thurs. March 30, 2006
35 - fixed the way attribute defaults are handled
36 during instance construction (bug found by chansen)
38 * Class::MOP::Attribute
39 - read-only accessors ('reader') will now die if
40 passed more than one argument (attempting to write
42 - added tests for this
43 - adjusted all /example files to comply
45 0.22 Mon. March 20, 2006
47 - localized $@ in the *_package_variable functions
48 because otherwise, it does ugly things in Moose.
49 - added test case for this
51 0.21 Wed. March 15, 2006
53 - fixed issue where metaclasses are reaped from
54 our cache in global destruction, and so are not
55 available in DESTORY calls
57 0.20 Thurs. March 2, 2006
58 - removed the dependency for Clone since
59 we no longer to deep-cloning by default.
62 - added &package_name, &name and
63 &fully_qualified_name methods, some of
64 which were formerly private subs in
67 * Class::MOP::Method::Wrapped
68 - allows for a method to be wrapped with
69 before, after and around modifiers
70 - added tests and docs for this feature
73 - improved &get_package_variable
74 - &version and &superclasses now use it
75 - methods are now blessed into Class::MOP::Method
77 - added methods to install CLOS-style method modifiers
78 - &add_before_method_modifier
79 - &add_after_method_modifier
80 - &add_around_method_modifier
81 - added tests and docs for these
82 - added &find_next_method_by_name which finds the
83 equivalent of SUPER::method_name
85 0.12 Thurs. Feb 23, 2006
86 - reduced the dependency on B, no need to always
90 - added docs to the C3 method dispatch order test
91 - fixed missing Algorithm::C3 dependency by making
92 the test skip if it is not installed
94 0.11 Mon Feb. 20, 2006
96 - added example of changing method dispatch order to C3
99 - changed how clone_instance behaves, it now only does a
100 shallow clone (see docs for more details)
101 - added docs and tests
103 0.10 Tues Feb. 14, 2006
104 ** This release was mostly about writing more tests and
105 cleaning out old and dusty code, the MOP should now
106 be considered "ready to use".
108 - adding more tests to get coverage up a little higher,
109 mostly testing errors and edge cases.
110 - test coverage is now at 99%
113 - no longer optionally exports to UNIVERSAL::meta or
114 creates a custom metaclass generator, use the
115 metaclass pragma instead.
118 - fixed a number of minor issues which came up in the
119 error/edge-case tests
121 * Class::MOP::Attribute
122 - fixed a number of minor issues which came up in the
123 error/edge-case tests
126 - fixing the AttributesWithHistory example, it was broken.
128 0.06 Thurs Feb. 9, 2006
130 - adding new metaclass pragma to make setting up the
131 metaclass a little more straightforward
134 - clean up bootstrapping to include more complete
135 attribute definitions for Class::MOP::Class and
136 Class::MOP::Attribute (accessors, readers, writers,
137 etc.) ... it is redundant, but is useful meta-info
141 - fixing minor meta-circularity issue with &meta, it
142 is now more useful for subclasses
143 - added &get_attribute_map as an accessor for the
144 hash of attribute meta objects
145 - &compute_all_applicable_attributes now just returns
146 the attribute meta-object, rather than the HASH ref
147 since all the same info can be gotten from the
148 attribute meta-object itself
149 - updated docs & tests to reflect
150 - added &clone_instance method which does a deep clone
151 of the instance structure created by &construct_instance
152 - added docs & tests for this
153 - added Clone as a dependency
154 - added &new_object and &clone_object convience methods to
155 return blessed new or cloned instances
156 - they handle Class::MOP::Class singletons correctly too
157 - added docs & tests for this
158 - cleaned up the &constuct_class_instance so that it behaves
159 more like &construct_instance (and managed the singletons too)
160 - added the &check_metaclass_compatibility method to make sure
161 that metaclasses are upward and downward compatible.
162 - added tests and docs for this
165 - adjusting code to use the &Class::MOP::Class::meta
167 - adjusting code to use the metaclass pragma
169 0.05 Sat Feb. 4, 2006
171 - added the &attribute_metaclass and &method_metaclass
172 attributes which contain a metaclass name to use for
173 attributes/methods respectively
176 - bootstrap additional attributes for Class::MOP::Class
179 - adjusted the example code and tests to use the new
180 &attribute_metaclass feature of Class::MOP::Class
184 0.04 Fri Feb. 3, 2006
186 - some documentation suggestions from #perl6
188 * Class::MOP::Attribute
189 - improved error messages
192 - added new examples:
193 - AttributesWithHistory
194 - ClassEncapsultedAttributes
196 0.03 Fri Feb. 3, 2006
197 - converted to Module::Build instead of EU::MM
199 * Class::MOP::Attribute
200 - refactored method generation code
201 - attributes are now associated with class directly
204 - refactored the InsideOut example to take advantage
205 of the Class::MOP::Attribute refactoring
206 - changed example files to .pod files and hide thier
207 package names from PAUSE (I don't want to own these
208 namespaces really, they are just examples)
210 0.02 Thurs Feb. 2, 2006
211 - moving examples from t/lib/* to examples/*
212 - adding POD documentation to the examples
214 0.01 Thurs Feb. 2, 2006