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