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