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