updating the Test::more dependecy
[gitmo/Class-MOP.git] / Changes
CommitLineData
7c90a1a8 1Revision history for Perl extension Class-MOP.
2
667cecf3 30.29_01 Fri. May 12, 2006
4 ++ DEVELOPER RELEASE ++
5 - This release works in combination with
6 Moose 0.09_01, it is a developer release
7 because it introduces a new instance
8 sub-protocol and has not yet been
9 optimized.
10
40483095 11 * Class::MOP::Class
12 - anon-classes are now properly garbage collected
13 - added tests for this
195f5bf8 14 - improved method modifier wrapping
40483095 15
2bab2be6 16 * Class::MOP::Instance
1becdfcc 17 - added new instance protocol
2bab2be6 18 - added tests for this
19 - changed all relevant modules and examples
20 - Class::MOP::Class
21 - Class::MOP::Attribute
22 - examples/*
23
1becdfcc 24 * metaclass
25 - you no longer need to specify the metaclass
26 itself, if it is not there, Class::MOP::Class
27 is just assumed
28 - updated tests for this
29
30 * examples/
31 - added ArrayBasedStorage example to show
32 instance storage using ARRAY refs instead of
33 HASH refs.
34 - added tests for this
35 - InsideOutClass is totally revised using the
36 new instance protocol
37 - added more tests for this
38
93b4e576 390.26 Mon. April 24, 2006
e7f732e4 40 * Class::MOP::Class
41 - added find_attribute_by_name method
42 - added tests and docs for this
56a0b530 43 - some small optimizations
44
45 * Class::MOP::Attribute
46 - some small optimizations
e7f732e4 47
46666f33 480.25 Thurs. April 20, 2006
587aca23 49 * Class::MOP::Class
50 - added create_anon_class for creating anonymous classes
51 - added tests for this
52 - added get_all_metaclasses, get_all_metaclass_names
53 and get_all_metaclass_instances method to allow
54 access to all the cached metaclass objects.
bd4e03f9 55 - attribute slot initialization is now the responsibility
56 of the attribute itself, and construct_instance now
57 delegates appropriately
58
59 * Class::MOP::Attribute
60 - attribute slot initialization is now the responsibility
61 of the attribute itself, so we added a method for it
62 called initialize_instance_slot
fed4cee7 63
64 * examples/
65 - adjusted all the examples to use the new attribute
66 initialize_instance_slot method
587aca23 67
1daaa2b2 680.24 Tues. April 11, 2006
8c936afc 69 * Class::MOP::Class
70 - cleaned up how the before/after/around method
71 modifiers get named with Sub::Name
72
b9dfbf78 730.23 Thurs. March 30, 2006
a977cf65 74 * Class::MOP::Class
75 - fixed the way attribute defaults are handled
76 during instance construction (bug found by chansen)
b9dfbf78 77
78 * Class::MOP::Attribute
79 - read-only accessors ('reader') will now die if
80 passed more than one argument (attempting to write
81 to them basically)
82 - added tests for this
83 - adjusted all /example files to comply
a977cf65 84
f9eba090 850.22 Mon. March 20, 2006
0eff2c16 86 * Class::MOP::Class
87 - localized $@ in the *_package_variable functions
88 because otherwise, it does ugly things in Moose.
89 - added test case for this
90
1988e85e 910.21 Wed. March 15, 2006
2f6d5412 92 * Class::MOP::Class
93 - fixed issue where metaclasses are reaped from
94 our cache in global destruction, and so are not
95 available in DESTORY calls
96
96ceced8 970.20 Thurs. March 2, 2006
d3cb0d4a 98 - removed the dependency for Clone since
99 we no longer to deep-cloning by default.
a4258ffd 100
101 * Class::MOP::Method
96ceced8 102 - added &package_name, &name and
103 &fully_qualified_name methods, some of
a4258ffd 104 which were formerly private subs in
105 Class::MOP::Class
106
107 * Class::MOP::Method::Wrapped
108 - allows for a method to be wrapped with
109 before, after and around modifiers
110 - added tests and docs for this feature
d3cb0d4a 111
112 * Class::MOP::Class
113 - improved &get_package_variable
96ceced8 114 - &version and &superclasses now use it
a4258ffd 115 - methods are now blessed into Class::MOP::Method
116 whenever possible
a4258ffd 117 - added methods to install CLOS-style method modifiers
118 - &add_before_method_modifier
119 - &add_after_method_modifier
120 - &add_around_method_modifier
121 - added tests and docs for these
96ceced8 122 - added &find_next_method_by_name which finds the
123 equivalent of SUPER::method_name
d3cb0d4a 124
1c020571 1250.12 Thurs. Feb 23, 2006
d89c0fad 126 - reduced the dependency on B, no need to always
127 have the latest
128
1c020571 129 * examples/
130 - added docs to the C3 method dispatch order test
131 - fixed missing Algorithm::C3 dependency by making
132 the test skip if it is not installed
133
0dea7280 1340.11 Mon Feb. 20, 2006
f3f5bd34 135 * examples/
136 - added example of changing method dispatch order to C3
a27ae83f 137
138 * Class::MOP::Class
19d4b5b8 139 - changed how clone_instance behaves, it now only does a
140 shallow clone (see docs for more details)
a27ae83f 141 - added docs and tests
f3f5bd34 142
3bf7644b 1430.10 Tues Feb. 14, 2006
144 ** This release was mostly about writing more tests and
145 cleaning out old and dusty code, the MOP should now
146 be considered "ready to use".
147
22286063 148 - adding more tests to get coverage up a little higher,
149 mostly testing errors and edge cases.
150 - test coverage is now at 99%
aa448b16 151
152 * Class::MOP
153 - no longer optionally exports to UNIVERSAL::meta or
154 creates a custom metaclass generator, use the
155 metaclass pragma instead.
22286063 156
157 * Class::MOP::Class
158 - fixed a number of minor issues which came up in the
159 error/edge-case tests
160
161 * Class::MOP::Attribute
162 - fixed a number of minor issues which came up in the
163 error/edge-case tests
164
0b8eb325 165 * examples/
ea263060 166 - fixing the AttributesWithHistory example, it was broken.
663f8198 167
550d56db 1680.06 Thurs Feb. 9, 2006
677eb158 169 * metaclass
550d56db 170 - adding new metaclass pragma to make setting up the
677eb158 171 metaclass a little more straightforward
7b31baf4 172
173 * Class::MOP
174 - clean up bootstrapping to include more complete
175 attribute definitions for Class::MOP::Class and
176 Class::MOP::Attribute (accessors, readers, writers,
177 etc.) ... it is redundant, but is useful meta-info
178 to have around.
677eb158 179
99e5b7e8 180 * Class::MOP::Class
181 - fixing minor meta-circularity issue with &meta, it
182 is now more useful for subclasses
7b31baf4 183 - added &get_attribute_map as an accessor for the
184 hash of attribute meta objects
c9e77dbb 185 - &compute_all_applicable_attributes now just returns
186 the attribute meta-object, rather than the HASH ref
187 since all the same info can be gotten from the
188 attribute meta-object itself
189 - updated docs & tests to reflect
5f3c057a 190 - added &clone_instance method which does a deep clone
191 of the instance structure created by &construct_instance
192 - added docs & tests for this
550d56db 193 - added Clone as a dependency
5f3c057a 194 - added &new_object and &clone_object convience methods to
195 return blessed new or cloned instances
2a7575a6 196 - they handle Class::MOP::Class singletons correctly too
5f3c057a 197 - added docs & tests for this
2a7575a6 198 - cleaned up the &constuct_class_instance so that it behaves
199 more like &construct_instance (and managed the singletons too)
550d56db 200 - added the &check_metaclass_compatibility method to make sure
201 that metaclasses are upward and downward compatible.
202 - added tests and docs for this
5f3c057a 203
99e5b7e8 204 * examples/
205 - adjusting code to use the &Class::MOP::Class::meta
206 fix detailed above
677eb158 207 - adjusting code to use the metaclass pragma
99e5b7e8 208
aa9c883e 2090.05 Sat Feb. 4, 2006
2e41896e 210 * Class::MOP::Class
211 - added the &attribute_metaclass and &method_metaclass
351bd7d4 212 attributes which contain a metaclass name to use for
2e41896e 213 attributes/methods respectively
351bd7d4 214
215 * Class::MOP
216 - bootstrap additional attributes for Class::MOP::Class
2e41896e 217
218 * examples/
219 - adjusted the example code and tests to use the new
220 &attribute_metaclass feature of Class::MOP::Class
aa9c883e 221 - added new example:
222 - LazyClass
2e41896e 223
d7c2cbe3 2240.04 Fri Feb. 3, 2006
d6fbcd05 225 * Class::MOP::Class
226 - some documentation suggestions from #perl6
227
228 * Class::MOP::Attribute
229 - improved error messages
230
231 * examples/
232 - added new examples:
233 - AttributesWithHistory
d7c2cbe3 234 - ClassEncapsultedAttributes
343203ee 235
9ec169fe 2360.03 Fri Feb. 3, 2006
237 - converted to Module::Build instead of EU::MM
238
239 * Class::MOP::Attribute
240 - refactored method generation code
241 - attributes are now associated with class directly
242
f71f4295 243 * examples/
9ec169fe 244 - refactored the InsideOut example to take advantage
245 of the Class::MOP::Attribute refactoring
f71f4295 246 - changed example files to .pod files and hide thier
247 package names from PAUSE (I don't want to own these
248 namespaces really, they are just examples)
9ec169fe 249
a57c7fa2 2500.02 Thurs Feb. 2, 2006
251 - moving examples from t/lib/* to examples/*
252 - adding POD documentation to the examples
253
a2e85e6c 2540.01 Thurs Feb. 2, 2006
7c90a1a8 255 - Initial release