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