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