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