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