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