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