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