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