whoops
[gitmo/Class-MOP.git] / Changes
1 Revision history for Perl extension Class-MOP.
2
3 0.23
4         * Class::MOP::Class
5           - fixed the way attribute defaults are handled 
6             during instance construction (bug found by chansen)
7
8 0.22 Mon. March 20, 2006
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
14 0.21 Wed. March 15, 2006
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
20 0.20 Thurs. March 2, 2006
21     - removed the dependency for Clone since 
22       we no longer to deep-cloning by default.
23     
24     * Class::MOP::Method
25       - added &package_name, &name and 
26         &fully_qualified_name methods, some of 
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
34
35     * Class::MOP::Class
36       - improved &get_package_variable
37           - &version and &superclasses now use it
38       - methods are now blessed into Class::MOP::Method
39         whenever possible
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
45       - added &find_next_method_by_name which finds the 
46         equivalent of SUPER::method_name
47
48 0.12 Thurs. Feb 23, 2006
49     - reduced the dependency on B, no need to always 
50       have the latest
51
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
57 0.11 Mon Feb. 20, 2006
58     * examples/
59       - added example of changing method dispatch order to C3
60       
61     * Class::MOP::Class
62       - changed how clone_instance behaves, it now only does a
63         shallow clone (see docs for more details)
64         - added docs and tests
65
66 0.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
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%
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.
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      
88     * examples/
89       - fixing the AttributesWithHistory example, it was broken.
90
91 0.06 Thurs Feb. 9, 2006
92     * metaclass
93       - adding new metaclass pragma to make setting up the 
94         metaclass a little more straightforward
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.
102
103     * Class::MOP::Class
104       - fixing minor meta-circularity issue with &meta, it 
105         is now more useful for subclasses
106       - added &get_attribute_map as an accessor for the 
107         hash of attribute meta objects
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
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
116           - added Clone as a dependency
117       - added &new_object and &clone_object convience methods to
118         return blessed new or cloned instances
119           - they handle Class::MOP::Class singletons correctly too
120           - added docs & tests for this
121       - cleaned up the &constuct_class_instance so that it behaves
122         more like &construct_instance (and managed the singletons too)
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
126           
127     * examples/
128       - adjusting code to use the &Class::MOP::Class::meta
129         fix detailed above
130       - adjusting code to use the metaclass pragma
131       
132 0.05 Sat Feb. 4, 2006
133     * Class::MOP::Class
134       - added the &attribute_metaclass and &method_metaclass
135         attributes which contain a metaclass name to use for 
136         attributes/methods respectively
137     
138     * Class::MOP
139       - bootstrap additional attributes for Class::MOP::Class 
140         
141     * examples/
142       - adjusted the example code and tests to use the new
143         &attribute_metaclass feature of Class::MOP::Class
144       - added new example:
145         - LazyClass
146
147 0.04 Fri Feb. 3, 2006
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
157         - ClassEncapsultedAttributes
158
159 0.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     
166     * examples/
167       - refactored the InsideOut example to take advantage 
168         of the Class::MOP::Attribute refactoring
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)
172
173 0.02 Thurs Feb. 2, 2006
174     - moving examples from t/lib/* to examples/*
175         - adding POD documentation to the examples
176
177 0.01 Thurs Feb. 2, 2006
178     - Initial release