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