1 Revision history for Perl extension Class-MOP.
5 - anon-classes are now properly garbage collected
7 - improved method modifier wrapping
10 - added new instance protocol
11 - added tests for this
12 - changed all relevant modules and examples
14 - Class::MOP::Attribute
18 - you no longer need to specify the metaclass
19 itself, if it is not there, Class::MOP::Class
21 - updated tests for this
24 - added ArrayBasedStorage example to show
25 instance storage using ARRAY refs instead of
27 - added tests for this
28 - InsideOutClass is totally revised using the
30 - added more tests for this
32 0.26 Mon. April 24, 2006
34 - added find_attribute_by_name method
35 - added tests and docs for this
36 - some small optimizations
38 * Class::MOP::Attribute
39 - some small optimizations
41 0.25 Thurs. April 20, 2006
43 - added create_anon_class for creating anonymous classes
44 - added tests for this
45 - added get_all_metaclasses, get_all_metaclass_names
46 and get_all_metaclass_instances method to allow
47 access to all the cached metaclass objects.
48 - attribute slot initialization is now the responsibility
49 of the attribute itself, and construct_instance now
50 delegates appropriately
52 * Class::MOP::Attribute
53 - attribute slot initialization is now the responsibility
54 of the attribute itself, so we added a method for it
55 called initialize_instance_slot
58 - adjusted all the examples to use the new attribute
59 initialize_instance_slot method
61 0.24 Tues. April 11, 2006
63 - cleaned up how the before/after/around method
64 modifiers get named with Sub::Name
66 0.23 Thurs. March 30, 2006
68 - fixed the way attribute defaults are handled
69 during instance construction (bug found by chansen)
71 * Class::MOP::Attribute
72 - read-only accessors ('reader') will now die if
73 passed more than one argument (attempting to write
75 - added tests for this
76 - adjusted all /example files to comply
78 0.22 Mon. March 20, 2006
80 - localized $@ in the *_package_variable functions
81 because otherwise, it does ugly things in Moose.
82 - added test case for this
84 0.21 Wed. March 15, 2006
86 - fixed issue where metaclasses are reaped from
87 our cache in global destruction, and so are not
88 available in DESTORY calls
90 0.20 Thurs. March 2, 2006
91 - removed the dependency for Clone since
92 we no longer to deep-cloning by default.
95 - added &package_name, &name and
96 &fully_qualified_name methods, some of
97 which were formerly private subs in
100 * Class::MOP::Method::Wrapped
101 - allows for a method to be wrapped with
102 before, after and around modifiers
103 - added tests and docs for this feature
106 - improved &get_package_variable
107 - &version and &superclasses now use it
108 - methods are now blessed into Class::MOP::Method
110 - added methods to install CLOS-style method modifiers
111 - &add_before_method_modifier
112 - &add_after_method_modifier
113 - &add_around_method_modifier
114 - added tests and docs for these
115 - added &find_next_method_by_name which finds the
116 equivalent of SUPER::method_name
118 0.12 Thurs. Feb 23, 2006
119 - reduced the dependency on B, no need to always
123 - added docs to the C3 method dispatch order test
124 - fixed missing Algorithm::C3 dependency by making
125 the test skip if it is not installed
127 0.11 Mon Feb. 20, 2006
129 - added example of changing method dispatch order to C3
132 - changed how clone_instance behaves, it now only does a
133 shallow clone (see docs for more details)
134 - added docs and tests
136 0.10 Tues Feb. 14, 2006
137 ** This release was mostly about writing more tests and
138 cleaning out old and dusty code, the MOP should now
139 be considered "ready to use".
141 - adding more tests to get coverage up a little higher,
142 mostly testing errors and edge cases.
143 - test coverage is now at 99%
146 - no longer optionally exports to UNIVERSAL::meta or
147 creates a custom metaclass generator, use the
148 metaclass pragma instead.
151 - fixed a number of minor issues which came up in the
152 error/edge-case tests
154 * Class::MOP::Attribute
155 - fixed a number of minor issues which came up in the
156 error/edge-case tests
159 - fixing the AttributesWithHistory example, it was broken.
161 0.06 Thurs Feb. 9, 2006
163 - adding new metaclass pragma to make setting up the
164 metaclass a little more straightforward
167 - clean up bootstrapping to include more complete
168 attribute definitions for Class::MOP::Class and
169 Class::MOP::Attribute (accessors, readers, writers,
170 etc.) ... it is redundant, but is useful meta-info
174 - fixing minor meta-circularity issue with &meta, it
175 is now more useful for subclasses
176 - added &get_attribute_map as an accessor for the
177 hash of attribute meta objects
178 - &compute_all_applicable_attributes now just returns
179 the attribute meta-object, rather than the HASH ref
180 since all the same info can be gotten from the
181 attribute meta-object itself
182 - updated docs & tests to reflect
183 - added &clone_instance method which does a deep clone
184 of the instance structure created by &construct_instance
185 - added docs & tests for this
186 - added Clone as a dependency
187 - added &new_object and &clone_object convience methods to
188 return blessed new or cloned instances
189 - they handle Class::MOP::Class singletons correctly too
190 - added docs & tests for this
191 - cleaned up the &constuct_class_instance so that it behaves
192 more like &construct_instance (and managed the singletons too)
193 - added the &check_metaclass_compatibility method to make sure
194 that metaclasses are upward and downward compatible.
195 - added tests and docs for this
198 - adjusting code to use the &Class::MOP::Class::meta
200 - adjusting code to use the metaclass pragma
202 0.05 Sat Feb. 4, 2006
204 - added the &attribute_metaclass and &method_metaclass
205 attributes which contain a metaclass name to use for
206 attributes/methods respectively
209 - bootstrap additional attributes for Class::MOP::Class
212 - adjusted the example code and tests to use the new
213 &attribute_metaclass feature of Class::MOP::Class
217 0.04 Fri Feb. 3, 2006
219 - some documentation suggestions from #perl6
221 * Class::MOP::Attribute
222 - improved error messages
225 - added new examples:
226 - AttributesWithHistory
227 - ClassEncapsultedAttributes
229 0.03 Fri Feb. 3, 2006
230 - converted to Module::Build instead of EU::MM
232 * Class::MOP::Attribute
233 - refactored method generation code
234 - attributes are now associated with class directly
237 - refactored the InsideOut example to take advantage
238 of the Class::MOP::Attribute refactoring
239 - changed example files to .pod files and hide thier
240 package names from PAUSE (I don't want to own these
241 namespaces really, they are just examples)
243 0.02 Thurs Feb. 2, 2006
244 - moving examples from t/lib/* to examples/*
245 - adding POD documentation to the examples
247 0.01 Thurs Feb. 2, 2006