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