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