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