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