mop
[gitmo/Class-MOP.git] / Changes
CommitLineData
7c90a1a8 1Revision history for Perl extension Class-MOP.
2
93b4e576 30.26 Mon. April 24, 2006
e7f732e4 4 * Class::MOP::Class
5 - added find_attribute_by_name method
6 - added tests and docs for this
56a0b530 7 - some small optimizations
8
9 * Class::MOP::Attribute
10 - some small optimizations
e7f732e4 11
46666f33 120.25 Thurs. April 20, 2006
587aca23 13 * Class::MOP::Class
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.
bd4e03f9 19 - attribute slot initialization is now the responsibility
20 of the attribute itself, and construct_instance now
21 delegates appropriately
22
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
fed4cee7 27
28 * examples/
29 - adjusted all the examples to use the new attribute
30 initialize_instance_slot method
587aca23 31
1daaa2b2 320.24 Tues. April 11, 2006
8c936afc 33 * Class::MOP::Class
34 - cleaned up how the before/after/around method
35 modifiers get named with Sub::Name
36
b9dfbf78 370.23 Thurs. March 30, 2006
a977cf65 38 * Class::MOP::Class
39 - fixed the way attribute defaults are handled
40 during instance construction (bug found by chansen)
b9dfbf78 41
42 * Class::MOP::Attribute
43 - read-only accessors ('reader') will now die if
44 passed more than one argument (attempting to write
45 to them basically)
46 - added tests for this
47 - adjusted all /example files to comply
a977cf65 48
f9eba090 490.22 Mon. March 20, 2006
0eff2c16 50 * Class::MOP::Class
51 - localized $@ in the *_package_variable functions
52 because otherwise, it does ugly things in Moose.
53 - added test case for this
54
1988e85e 550.21 Wed. March 15, 2006
2f6d5412 56 * Class::MOP::Class
57 - fixed issue where metaclasses are reaped from
58 our cache in global destruction, and so are not
59 available in DESTORY calls
60
96ceced8 610.20 Thurs. March 2, 2006
d3cb0d4a 62 - removed the dependency for Clone since
63 we no longer to deep-cloning by default.
a4258ffd 64
65 * Class::MOP::Method
96ceced8 66 - added &package_name, &name and
67 &fully_qualified_name methods, some of
a4258ffd 68 which were formerly private subs in
69 Class::MOP::Class
70
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
d3cb0d4a 75
76 * Class::MOP::Class
77 - improved &get_package_variable
96ceced8 78 - &version and &superclasses now use it
a4258ffd 79 - methods are now blessed into Class::MOP::Method
80 whenever possible
a4258ffd 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
96ceced8 86 - added &find_next_method_by_name which finds the
87 equivalent of SUPER::method_name
d3cb0d4a 88
1c020571 890.12 Thurs. Feb 23, 2006
d89c0fad 90 - reduced the dependency on B, no need to always
91 have the latest
92
1c020571 93 * examples/
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
97
0dea7280 980.11 Mon Feb. 20, 2006
f3f5bd34 99 * examples/
100 - added example of changing method dispatch order to C3
a27ae83f 101
102 * Class::MOP::Class
19d4b5b8 103 - changed how clone_instance behaves, it now only does a
104 shallow clone (see docs for more details)
a27ae83f 105 - added docs and tests
f3f5bd34 106
3bf7644b 1070.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".
111
22286063 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%
aa448b16 115
116 * Class::MOP
117 - no longer optionally exports to UNIVERSAL::meta or
118 creates a custom metaclass generator, use the
119 metaclass pragma instead.
22286063 120
121 * Class::MOP::Class
122 - fixed a number of minor issues which came up in the
123 error/edge-case tests
124
125 * Class::MOP::Attribute
126 - fixed a number of minor issues which came up in the
127 error/edge-case tests
128
0b8eb325 129 * examples/
ea263060 130 - fixing the AttributesWithHistory example, it was broken.
663f8198 131
550d56db 1320.06 Thurs Feb. 9, 2006
677eb158 133 * metaclass
550d56db 134 - adding new metaclass pragma to make setting up the
677eb158 135 metaclass a little more straightforward
7b31baf4 136
137 * Class::MOP
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
142 to have around.
677eb158 143
99e5b7e8 144 * Class::MOP::Class
145 - fixing minor meta-circularity issue with &meta, it
146 is now more useful for subclasses
7b31baf4 147 - added &get_attribute_map as an accessor for the
148 hash of attribute meta objects
c9e77dbb 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
5f3c057a 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
550d56db 157 - added Clone as a dependency
5f3c057a 158 - added &new_object and &clone_object convience methods to
159 return blessed new or cloned instances
2a7575a6 160 - they handle Class::MOP::Class singletons correctly too
5f3c057a 161 - added docs & tests for this
2a7575a6 162 - cleaned up the &constuct_class_instance so that it behaves
163 more like &construct_instance (and managed the singletons too)
550d56db 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
5f3c057a 167
99e5b7e8 168 * examples/
169 - adjusting code to use the &Class::MOP::Class::meta
170 fix detailed above
677eb158 171 - adjusting code to use the metaclass pragma
99e5b7e8 172
aa9c883e 1730.05 Sat Feb. 4, 2006
2e41896e 174 * Class::MOP::Class
175 - added the &attribute_metaclass and &method_metaclass
351bd7d4 176 attributes which contain a metaclass name to use for
2e41896e 177 attributes/methods respectively
351bd7d4 178
179 * Class::MOP
180 - bootstrap additional attributes for Class::MOP::Class
2e41896e 181
182 * examples/
183 - adjusted the example code and tests to use the new
184 &attribute_metaclass feature of Class::MOP::Class
aa9c883e 185 - added new example:
186 - LazyClass
2e41896e 187
d7c2cbe3 1880.04 Fri Feb. 3, 2006
d6fbcd05 189 * Class::MOP::Class
190 - some documentation suggestions from #perl6
191
192 * Class::MOP::Attribute
193 - improved error messages
194
195 * examples/
196 - added new examples:
197 - AttributesWithHistory
d7c2cbe3 198 - ClassEncapsultedAttributes
343203ee 199
9ec169fe 2000.03 Fri Feb. 3, 2006
201 - converted to Module::Build instead of EU::MM
202
203 * Class::MOP::Attribute
204 - refactored method generation code
205 - attributes are now associated with class directly
206
f71f4295 207 * examples/
9ec169fe 208 - refactored the InsideOut example to take advantage
209 of the Class::MOP::Attribute refactoring
f71f4295 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)
9ec169fe 213
a57c7fa2 2140.02 Thurs Feb. 2, 2006
215 - moving examples from t/lib/* to examples/*
216 - adding POD documentation to the examples
217
a2e85e6c 2180.01 Thurs Feb. 2, 2006
7c90a1a8 219 - Initial release