roles
[gitmo/Moose.git] / Changes
CommitLineData
e522431d 1Revision history for Perl extension Moose
2
98aae381 30.06
4 * Moose
5 - refactored the keyword exports
db1ab48d 6 - 'with' now checks Role validaity and
7 accepts more than one Role at a time
98aae381 8 - 'extends' makes metaclass adjustments as
9 needed to ensure metaclass compatability
10
11 * Moose::Util::TypeConstraints
12 - added the 'enum' keyword for simple
13 string enumerations which can be used as
14 type constraints
db1ab48d 15 - see example of usage in t/202_example.t
98aae381 16
17 * Moose::Object
18 - more careful checking of params to new()
19
20 * Moose::Meta::Instance
21 - added new Instance metaclass to support
22 the new Class::MOP instance protocol
23
24 * Moose::Meta::Class
25 - some small changes to support the new
26 instance protocol
27
28 * Moose::Meta::Attribute
29 - some improvements to the accessor generation code
30 by nothingmuch
31 - some small changes to support the new
32 instance protocol
33 - (still somewhat) experimental delegation support
34 with the 'handles' option
35 - added several tests for this
db1ab48d 36 - no docs for this yet
98aae381 37
35c8b8f2 380.05 Thurs. April 27, 2006
2d562421 39 * Moose
40 - keywords are now exported with Sub::Exporter
41 thanks to chansen for this commit
590868a3 42 - has keyword now takes a 'metaclass' option
43 to support custom attribute meta-classes
44 on a per-attribute basis
daea75c9 45 - added tests for this
46 - the 'has' keyword not accepts inherited slot
47 specifications (has '+foo'). This is still an
48 experimental feature and probably not finished
49 see t/038_attribute_inherited_slot_specs.t for
50 more details, or ask about it on #moose
fcb7afc2 51 - added tests for this
2d562421 52
53 * Moose::Role
54 - keywords are now exported with Sub::Exporter
55
5204cd52 56 * Moose::Utils::TypeConstraints
cce8198b 57 - reorganized the type constraint hierarchy, thanks
58 to nothingmuch and chansen for his help and advice
59 on this
60 - added some tests for this
7eaef7ad 61 - keywords are now exported with Sub::Exporter
35c8b8f2 62 thanks to chansen for this commit
5204cd52 63
d500266f 64 * Moose::Meta::Class
65 - due to changes in Class::MOP, we had to change
66 construct_instance (for the better)
67
68 * Moose::Meta::Attribute
69 - due to changes in Class::MOP, we had to add the
70 initialize_instance_slot method (it's a good thing)
c07af9d2 71
cce8198b 72 * Moose::Meta::TypeConstraint
c07af9d2 73 - added type constraint unions
74 - added tests for this
cce8198b 75 - added the is_subtype_of predicate method
76 - added tests for this
d500266f 77
02a0fb52 780.04 Sun. April 16th, 2006
1331430a 79 * Moose::Role
80 - Roles can now consume other roles
81 - added tests for this
82 - Roles can specify required methods now with
83 the requires() keyword
84 - added tests for this
85
bdabd620 86 * Moose::Meta::Role
87 - ripped out much of it's guts ,.. much cleaner now
1331430a 88 - added required methods and correct handling of
fa1be058 89 them in apply() for both classes and roles
90 - added tests for this
1331430a 91 - no longer adds a does() method to consuming classes
92 it relys on the one in Moose::Object
93 - added roles attribute and some methods to support
94 roles consuming roles
8c9d74e7 95
96 * Moose::Meta::Attribute
97 - added support for triggers on attributes
98 - added tests for this
02a0fb52 99 - added support for does option on an attribute
100 - added tests for this
8c9d74e7 101
102 * Moose::Meta::Class
103 - added support for attribute triggers in the
104 object construction
105 - added tests for this
256903b6 106
107 * Moose
108 - Moose no longer creates a subtype for your class
109 if a subtype of the same name already exists, this
110 should DWIM in 99.9999% of all cases
111
112 * Moose::Util::TypeConstraints
113 - fixed bug where incorrect subtype conflicts were
114 being reported
8c9d74e7 115 - added test for this
116
117 * Moose::Object
118 - this class can now be extended with 'use base' if
119 you need it, it properly loads the metaclass class now
120 - added test for this
bdabd620 121
0677220d 1220.03_02 Wed. April 12, 2006
05d9eaf6 123 * Moose
124 - you must now explictly use Moose::Util::TypeConstraints
125 it no longer gets exported for you automatically
126
127 * Moose::Object
128 - new() now accepts hash-refs as well as key/value lists
0677220d 129 - added does() method to check for Roles
130 - added tests for this
05d9eaf6 131
0677220d 132 * Moose::Meta::Class
133 - added roles attribute along with the add_role() and
134 does_role() methods
135 - added tests for this
136
137 * Moose::Meta::Role
138 - now adds a does() method to consuming classes
139 which tests the class's hierarchy for roles
140 - added tests for this
141
1420.03_01 Mon. April 10, 2006
e9ec68d6 143 * Moose::Cookbook
76d37e5a 144 - added new Role recipe (no content yet, only code)
e9ec68d6 145
146 * Moose
147 - added 'with' keyword for Role support
148 - added test and docs for this
149 - fixed subtype quoting bug
150 - added test for this
151
152 * Moose::Role
153 - Roles for Moose
154 - added test and docs
76d37e5a 155
156 * Moose::Util::TypeConstraints
157 - added the message keyword to add custom
158 error messages to type constraints
e9ec68d6 159
160 * Moose::Meta::Role
161 - the meta role to support Moose::Role
162 - added tests and docs
163
164 * Moose::Meta::Class
165 - moved a number of things from Moose.pm
166 to here, they should have been here
167 in the first place
168
169 * Moose::Meta::Attribute
170 - moved the attribute option macros here
171 instead of putting them in Moose.pm
e185c027 172
76d37e5a 173 * Moose::Meta::TypeConstraint
174 - added the message attributes and the
175 validate method
176 - added tests and docs for this
177
0ac928d2 1780.03 Thurs. March 30, 2006
e9bb8a31 179 * Moose::Cookbook
180 - added the Moose::Cookbook with 5 recipes,
181 describing all the stuff Moose can do.
182
d7f17ebb 183 * Moose
184 - fixed an issue with &extends super class loading
185 it now captures errors and deals with inline
186 packages correctly (bug found by mst, solution
187 stolen from alias)
159da176 188 - added super/override & inner/augment features
189 - added tests and docs for these
d7f17ebb 190
191 * Moose::Object
192 - BUILDALL now takes a reference of the %params
193 that are passed to &new, and passes that to
194 each BUILD as well.
471c4f09 195
196 * Moose::Util::TypeConstraints
197 - Type constraints now survive runtime reloading
198 - added test for this
d7f17ebb 199
8339fae2 200 * Moose::Meta::Class
201 - fixed the way attribute defaults are handled
202 during instance construction (bug found by chansen)
203
d7f17ebb 204 * Moose::Meta::Attribute
205 - read-only attributes now actually enforce their
9deed647 206 read-only-ness (this corrected in Class::MOP as
207 well)
d7f17ebb 208
076c81ed 2090.02 Tues. March 21, 2006
fc5609d2 210 * Moose
b841b2a3 211 - many more tests, fixing some bugs and
212 edge cases
b841b2a3 213 - &extends now loads the base module with
214 UNIVERSAL::require
215 - added UNIVERSAL::require to the
216 dependencies list
6ba6d68c 217 ** API CHANGES **
b841b2a3 218 - each new Moose class will also create
219 and register a subtype of Object which
220 correspond to the new Moose class.
b841b2a3 221 - the 'isa' option in &has now only
222 accepts strings, and will DWIM in
223 almost all cases
224
225 * Moose::Util::TypeConstraints
226 - added type coercion features
227 - added tests for this
228 - added support for this in attributes
229 and instance construction
6ba6d68c 230 ** API CHANGES **
b841b2a3 231 - type construction no longer creates a
232 function, it registers the type instead.
233 - added several functions to get the
234 registered types
6ba6d68c 235
236 * Moose::Object
237 - BUILDALL and DEMOLISHALL were broken
238 because of a mis-named hash key, Whoops :)
b841b2a3 239
240 * Moose::Meta::Attribute
241 - adding support for coercion in the
242 autogenerated accessors
243
244 * Moose::Meta::Class
245 - adding support for coercion in the
6ba6d68c 246 instance construction
247
248 * Moose::Meta::TypeConstraint
249 * Moose::Meta::TypeCoercion
250 - type constraints and coercions are now
251 full fledges meta-objects
fc5609d2 252
e522431d 2530.01 Wed. March 15, 2006
254 - Moooooooooooooooooose!!!