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