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