foo
[gitmo/Moose.git] / Changes
1 Revision history for Perl extension Moose
2
3 0.09_03
4     ++ DEVELOPER RELEASE ++
5     * Moose
6       - 'use strict' and 'use warnings' are no longer
7          needed in Moose classes, Moose itself will 
8          turn them on for you.
9          - added tests for this
10       - moved code from exported subs to private methods
11         in Moose::Meta::Class
12          
13     * Moose::Role
14       - as with Moose, strict and warnings are 
15         automatically turned on for you.
16          - added tests for this        
17         
18     * Moose::Meta::Role
19       - now handles an edge case for override errors
20         - added tests for this
21       - added some more edge case tests
22
23 0.09_02 Tues. May 16, 2006
24     ++ DEVELOPER RELEASE ++
25     * Moose
26       - added prototypes to the exported subs
27       - updated docs
28       
29     * Moose::Role
30       - added prototypes to the exported subs      
31       - updated docs
32       
33     * Moose::Util::TypeConstraints
34       - cleaned up prototypes for the subs      
35       - updated docs      
36
37 0.09_01 Fri. May 12, 2006
38     ++ DEVELOPER RELEASE ++
39       - This release works in combination with 
40         Class::MOP 0.29_01, it is a developer 
41         release because it uses the a new 
42         instance sub-protocol and a fairly
43         complete Role implementation. It has 
44         not yet been optimized, so it slower
45         the the previous CPAN version. This 
46         release also lacks good updated docs, 
47         the official release will have updated docs.
48
49     * Moose 
50       - refactored the keyword exports
51         - 'with' now checks Role validaity and 
52           accepts more than one Role at a time
53         - 'extends' makes metaclass adjustments as 
54            needed to ensure metaclass compatability
55           
56     * Moose::Role
57       - refactored the keyword exports
58         - 'with' now checks Role validaity and 
59           accepts more than one Role at a time
60           
61     * Moose::Util::TypeConstraints
62       - added the 'enum' keyword for simple 
63         string enumerations which can be used as 
64         type constraints
65         - see example of usage in t/202_example.t
66         
67     * Moose::Object
68       - more careful checking of params to new()
69       
70     * Moose::Meta::Role
71       - much work done on the role composition
72         - many new tests for conflict detection 
73           and composition edge cases
74         - not enough documentation, I suggest 
75           looking at the tests    
76       
77     * Moose::Meta::Instance
78       - added new Instance metaclass to support 
79         the new Class::MOP instance protocol
80         
81     * Moose::Meta::Class
82       - some small changes to support the new 
83         instance protocol
84       - some small additions to support Roles
85         
86     * Moose::Meta::Attribute
87       - some improvements to the accessor generation code
88         by nothingmuch
89       - some small changes to support the new 
90         instance protocol
91       - (still somewhat) experimental delegation support 
92         with the 'handles' option
93         - added several tests for this
94         - no docs for this yet
95
96 0.05 Thurs. April 27, 2006
97     * Moose
98       - keywords are now exported with Sub::Exporter
99         thanks to chansen for this commit
100       - has keyword now takes a 'metaclass' option 
101         to support custom attribute meta-classes 
102         on a per-attribute basis
103         - added tests for this  
104       - the 'has' keyword not accepts inherited slot
105         specifications (has '+foo'). This is still an 
106         experimental feature and probably not finished
107         see t/038_attribute_inherited_slot_specs.t for 
108         more details, or ask about it on #moose
109         - added tests for this
110         
111     * Moose::Role
112       - keywords are now exported with Sub::Exporter
113
114     * Moose::Utils::TypeConstraints
115       - reorganized the type constraint hierarchy, thanks
116         to nothingmuch and chansen for his help and advice 
117         on this
118         - added some tests for this
119       - keywords are now exported with Sub::Exporter
120         thanks to chansen for this commit
121
122     * Moose::Meta::Class
123       - due to changes in Class::MOP, we had to change
124         construct_instance (for the better)
125         
126     * Moose::Meta::Attribute
127       - due to changes in Class::MOP, we had to add the 
128         initialize_instance_slot method (it's a good thing)
129         
130     * Moose::Meta::TypeConstraint
131       - added type constraint unions 
132         - added tests for this
133       - added the is_subtype_of predicate method
134         - added tests for this
135
136 0.04 Sun. April 16th, 2006
137     * Moose::Role
138       - Roles can now consume other roles
139         - added tests for this
140       - Roles can specify required methods now with 
141         the requires() keyword
142         - added tests for this
143
144     * Moose::Meta::Role
145       - ripped out much of it's guts ,.. much cleaner now
146       - added required methods and correct handling of 
147         them in apply() for both classes and roles
148         - added tests for this
149       - no longer adds a does() method to consuming classes 
150         it relys on the one in Moose::Object
151       - added roles attribute and some methods to support 
152         roles consuming roles
153
154     * Moose::Meta::Attribute
155       - added support for triggers on attributes
156         - added tests for this
157       - added support for does option on an attribute 
158         - added tests for this
159         
160     * Moose::Meta::Class
161       - added support for attribute triggers in the 
162         object construction
163         - added tests for this
164     
165     * Moose
166       - Moose no longer creates a subtype for your class 
167         if a subtype of the same name already exists, this 
168         should DWIM in 99.9999% of all cases
169         
170     * Moose::Util::TypeConstraints
171       - fixed bug where incorrect subtype conflicts were 
172         being reported
173         - added test for this
174         
175     * Moose::Object
176       - this class can now be extended with 'use base' if
177         you need it, it properly loads the metaclass class now
178         - added test for this
179
180 0.03_02 Wed. April 12, 2006
181     * Moose
182       - you must now explictly use Moose::Util::TypeConstraints
183         it no longer gets exported for you automatically
184         
185     * Moose::Object
186       - new() now accepts hash-refs as well as key/value lists
187       - added does() method to check for Roles
188         - added tests for this
189
190     * Moose::Meta::Class
191       - added roles attribute along with the add_role() and 
192         does_role() methods
193         - added tests for this 
194
195     * Moose::Meta::Role
196       - now adds a does() method to consuming classes 
197         which tests the class's hierarchy for roles
198         - added tests for this
199
200 0.03_01 Mon. April 10, 2006
201     * Moose::Cookbook
202       - added new Role recipe (no content yet, only code)
203       
204     * Moose
205       - added 'with' keyword for Role support
206         - added test and docs for this
207       - fixed subtype quoting bug
208         - added test for this 
209
210     * Moose::Role
211       - Roles for Moose
212         - added test and docs
213
214     * Moose::Util::TypeConstraints
215       - added the message keyword to add custom
216         error messages to type constraints        
217       
218     * Moose::Meta::Role
219       - the meta role to support Moose::Role
220         - added tests and docs
221         
222     * Moose::Meta::Class
223       - moved a number of things from Moose.pm 
224         to here, they should have been here 
225         in the first place
226
227     * Moose::Meta::Attribute
228       - moved the attribute option macros here
229         instead of putting them in Moose.pm
230
231     * Moose::Meta::TypeConstraint
232       - added the message attributes and the 
233         validate method
234         - added tests and docs for this
235
236 0.03 Thurs. March 30, 2006
237     * Moose::Cookbook
238       - added the Moose::Cookbook with 5 recipes, 
239         describing all the stuff Moose can do.
240
241     * Moose
242       - fixed an issue with &extends super class loading
243         it now captures errors and deals with inline 
244         packages correctly (bug found by mst, solution 
245         stolen from alias)
246       - added super/override & inner/augment features
247         - added tests and docs for these
248     
249     * Moose::Object
250       - BUILDALL now takes a reference of the %params 
251         that are passed to &new, and passes that to 
252         each BUILD as well.
253         
254     * Moose::Util::TypeConstraints
255       - Type constraints now survive runtime reloading
256         - added test for this
257
258         * Moose::Meta::Class
259           - fixed the way attribute defaults are handled 
260             during instance construction (bug found by chansen)
261
262     * Moose::Meta::Attribute
263       - read-only attributes now actually enforce their
264         read-only-ness (this corrected in Class::MOP as 
265         well)
266
267 0.02 Tues. March 21, 2006
268     * Moose
269       - many more tests, fixing some bugs and  
270         edge cases
271       - &extends now loads the base module with
272         UNIVERSAL::require 
273         - added UNIVERSAL::require to the 
274           dependencies list
275       ** API CHANGES **
276       - each new Moose class will also create 
277         and register a subtype of Object which 
278         correspond to the new Moose class.      
279       - the 'isa' option in &has now only 
280         accepts strings, and will DWIM in 
281         almost all cases
282     
283     * Moose::Util::TypeConstraints
284       - added type coercion features
285         - added tests for this
286         - added support for this in attributes 
287           and instance construction
288       ** API CHANGES **
289       - type construction no longer creates a 
290         function, it registers the type instead.
291         - added several functions to get the 
292           registered types 
293
294     * Moose::Object
295       - BUILDALL and DEMOLISHALL were broken 
296         because of a mis-named hash key, Whoops :)
297     
298     * Moose::Meta::Attribute
299       - adding support for coercion in the
300         autogenerated accessors
301         
302     * Moose::Meta::Class
303       - adding support for coercion in the
304         instance construction  
305
306     * Moose::Meta::TypeConstraint
307     * Moose::Meta::TypeCoercion
308           - type constraints and coercions are now 
309             full fledges meta-objects
310
311 0.01 Wed. March 15, 2006
312     - Moooooooooooooooooose!!!