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