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