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