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