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