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