fixes
[gitmo/Moose.git] / Changes
1 Revision history for Perl extension Moose
2
3 0.05
4     * Moose
5       - keywords are now exported with Sub::Exporter
6         thanks to chansen for this commit
7       - has keyword now takes a 'metaclass' option 
8         to support custom attribute meta-classes 
9         on a per-attribute basis
10         - added tests for this
11         
12     * Moose::Role
13       - keywords are now exported with Sub::Exporter
14
15     * Moose::Utils::TypeConstraints
16       - added Bool type and CollectionRef type
17         then made ArrayRef and HashRef into subtypes 
18         of the CollectionRef
19       - keywords are now exported with Sub::Exporter
20         thanks chansen for this commit
21
22 0.04 Sun. April 16th, 2006
23     * Moose::Role
24       - Roles can now consume other roles
25         - added tests for this
26       - Roles can specify required methods now with 
27         the requires() keyword
28         - added tests for this
29
30     * Moose::Meta::Role
31       - ripped out much of it's guts ,.. much cleaner now
32       - added required methods and correct handling of 
33         them in apply() for both classes and roles
34         - added tests for this
35       - no longer adds a does() method to consuming classes 
36         it relys on the one in Moose::Object
37       - added roles attribute and some methods to support 
38         roles consuming roles
39
40     * Moose::Meta::Attribute
41       - added support for triggers on attributes
42         - added tests for this
43       - added support for does option on an attribute 
44         - added tests for this
45         
46     * Moose::Meta::Class
47       - added support for attribute triggers in the 
48         object construction
49         - added tests for this
50     
51     * Moose
52       - Moose no longer creates a subtype for your class 
53         if a subtype of the same name already exists, this 
54         should DWIM in 99.9999% of all cases
55         
56     * Moose::Util::TypeConstraints
57       - fixed bug where incorrect subtype conflicts were 
58         being reported
59         - added test for this
60         
61     * Moose::Object
62       - this class can now be extended with 'use base' if
63         you need it, it properly loads the metaclass class now
64         - added test for this
65
66 0.03_02 Wed. April 12, 2006
67     * Moose
68       - you must now explictly use Moose::Util::TypeConstraints
69         it no longer gets exported for you automatically
70         
71     * Moose::Object
72       - new() now accepts hash-refs as well as key/value lists
73       - added does() method to check for Roles
74         - added tests for this
75
76     * Moose::Meta::Class
77       - added roles attribute along with the add_role() and 
78         does_role() methods
79         - added tests for this 
80
81     * Moose::Meta::Role
82       - now adds a does() method to consuming classes 
83         which tests the class's hierarchy for roles
84         - added tests for this
85
86 0.03_01 Mon. April 10, 2006
87     * Moose::Cookbook
88       - added new Role recipe (no content yet, only code)
89       
90     * Moose
91       - added 'with' keyword for Role support
92         - added test and docs for this
93       - fixed subtype quoting bug
94         - added test for this 
95
96     * Moose::Role
97       - Roles for Moose
98         - added test and docs
99
100     * Moose::Util::TypeConstraints
101       - added the message keyword to add custom
102         error messages to type constraints        
103       
104     * Moose::Meta::Role
105       - the meta role to support Moose::Role
106         - added tests and docs
107         
108     * Moose::Meta::Class
109       - moved a number of things from Moose.pm 
110         to here, they should have been here 
111         in the first place
112
113     * Moose::Meta::Attribute
114       - moved the attribute option macros here
115         instead of putting them in Moose.pm
116
117     * Moose::Meta::TypeConstraint
118       - added the message attributes and the 
119         validate method
120         - added tests and docs for this
121
122 0.03 Thurs. March 30, 2006
123     * Moose::Cookbook
124       - added the Moose::Cookbook with 5 recipes, 
125         describing all the stuff Moose can do.
126
127     * Moose
128       - fixed an issue with &extends super class loading
129         it now captures errors and deals with inline 
130         packages correctly (bug found by mst, solution 
131         stolen from alias)
132       - added super/override & inner/augment features
133         - added tests and docs for these
134     
135     * Moose::Object
136       - BUILDALL now takes a reference of the %params 
137         that are passed to &new, and passes that to 
138         each BUILD as well.
139         
140     * Moose::Util::TypeConstraints
141       - Type constraints now survive runtime reloading
142         - added test for this
143
144         * Moose::Meta::Class
145           - fixed the way attribute defaults are handled 
146             during instance construction (bug found by chansen)
147
148     * Moose::Meta::Attribute
149       - read-only attributes now actually enforce their
150         read-only-ness (this corrected in Class::MOP as 
151         well)
152
153 0.02 Tues. March 21, 2006
154     * Moose
155       - many more tests, fixing some bugs and  
156         edge cases
157       - &extends now loads the base module with
158         UNIVERSAL::require 
159         - added UNIVERSAL::require to the 
160           dependencies list
161       ** API CHANGES **
162       - each new Moose class will also create 
163         and register a subtype of Object which 
164         correspond to the new Moose class.      
165       - the 'isa' option in &has now only 
166         accepts strings, and will DWIM in 
167         almost all cases
168     
169     * Moose::Util::TypeConstraints
170       - added type coercion features
171         - added tests for this
172         - added support for this in attributes 
173           and instance construction
174       ** API CHANGES **
175       - type construction no longer creates a 
176         function, it registers the type instead.
177         - added several functions to get the 
178           registered types 
179
180     * Moose::Object
181       - BUILDALL and DEMOLISHALL were broken 
182         because of a mis-named hash key, Whoops :)
183     
184     * Moose::Meta::Attribute
185       - adding support for coercion in the
186         autogenerated accessors
187         
188     * Moose::Meta::Class
189       - adding support for coercion in the
190         instance construction  
191
192     * Moose::Meta::TypeConstraint
193     * Moose::Meta::TypeCoercion
194           - type constraints and coercions are now 
195             full fledges meta-objects
196
197 0.01 Wed. March 15, 2006
198     - Moooooooooooooooooose!!!