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