remove Build.PL, switch to tests_recursive, add auto_install
[gitmo/Moose.git] / Changes
CommitLineData
e522431d 1Revision history for Perl extension Moose
2
ceb8945d 30.44
4 * Moose::Cookbook::Recipe7
5 - added new recipe for immutable functionality (Dave Rolsky)
6 * Moose::Cookbook::Recipe9
a82e0fd0 7 - added new recipe for builder and lazy_build (Dave Rolsky)
2e3d0a0a 8 * Moose::Cookbook::Recipe1
9 - added new recipe for method aliasing and exclusion with Roles (Dave Rolsky)
ceb8945d 10
27cabcda 110.43 Wed. April, 30, 2008
cbd141ca 12 * NOTE TO SELF:
13 drink more coffee before
14 doing release engineering
15
16 - whoops, forgot to do the smolder tests,
17 and we broke some of the custom meta-attr
18 modules. This fixes that.
19
c93e8e7d 200.42 Mon. April 28, 2008
21 - some bad tests slipped by, nothing else
22 changed in this release (cpantesters++)
23
24 - upped the Class::MOP dependency to 0.55
25 since we have tests which need the C3
26 support
27
a5e883ae 280.41 Mon. April 28, 2008
004222dc 29 ~~ numerous documentation updates ~~
547dda77 30
31 - Changed all usage of die to Carp::croak for better
32 error reporting (initial patch by Tod Hagan)
004222dc 33
c2922d69 34 ** IMPORTANT NOTE **
35 - the make_immutable keyword is now deprecated, don't
36 use it in any new code and please fix your old code
37 as well. There will be 2 releases, and then it will
38 be removed.
39
6c36eeaa 40 * Moose
41 Moose::Role
42 Moose::Meta::Class
43 - refactored the way inner and super work to avoid
44 any method/@ISA cache penalty (nothingmuch)
45
4078709c 46 * Moose::Meta::Class
47 - fixing &new_object to make sure trigger gets the
48 coerced value (spotted by Charles Alderman on the
49 mailing list)
50 - added test for this
51
51c107ef 52 * Moose::Meta::Method::Constructor
53 - immutable classes which had non-lazy attributes were calling
54 the default generating sub twice in the constructor. (bug
55 found by Jesse Luehrs, fixed by Dave Rolsky)
56 - added tests for this (Dave Rolsky)
ae8d63f2 57 - fix typo in initialize_body method (nothingmuch)
58
59 * Moose::Meta::Method::Destructor
60 - fix typo in initialize_body method (nothingmuch)
51c107ef 61
6c36eeaa 62 * Moose::Meta::Method::Overriden
63 Moose::Meta::Method::Augmented
64 - moved the logic for these into their own
65 classes (nothingmuch)
66
5e98d2b6 67 * Moose::Meta::Attribute
aed87761 68 - inherited attributes may now be extended without
2ea379cb 69 restriction on the type ('isa', 'does') (Sartak)
cf12a691 70 - added tests for this (Sartak)
547dda77 71 - when an attribute property is malformed (such as lazy without
72 a default), give the name of the attribute in the error
73 message (Sartak)
88f23977 74 - added the &applied_traits and &has_applied_traits methods
75 to allow introspection of traits
76 - added tests for this
37905a64 77 - moved 'trait' and 'metaclass' argument handling to here from
78 Moose::Meta::Class
79 - clone_and_inherit_options now handles 'trait' and 'metaclass' (has
80 '+foo' syntax) (nothingmuch)
81 - added tests for this (t0m)
7c60f730 82
83 * Moose::Object
84 - localize $@ inside DEMOLISHALL to avoid it
85 eating $@ (found by Ernesto)
86 - added test for this (thanks to Ernesto)
cf12a691 87
ae8d63f2 88 * Moose::Util::TypeConstraints
89 - &find_type_constraint now DWIMs when given an
6c36eeaa 90 type constraint object or name (nothingmuch)
37905a64 91 - &find_or_create_type_constraint superseded with a number of more
92 specific functions:
93 - find_or_create_{isa,does}_type_constraint
94 - find_or_parse_type_constraint
ae8d63f2 95
96 * Moose::Meta::TypeConstraint
4078709c 97 Moose::Meta::TypeConstraint::Class
37905a64 98 Moose::Meta::TypeConstraint::Role
4078709c 99 Moose::Meta::TypeConstraint::Enum
100 Moose::Meta::TypeConstraint::Union
101 Moose::Meta::TypeConstraint::Parameterized
102 - added the &equals method for comparing two type
103 constraints (nothingmuch)
104 - added tests for this (nothingmuch)
105
106 * Moose::Meta::TypeConstraint
ae8d63f2 107 - add the &parents method, which is just an alias to &parent.
37905a64 108 Useful for polymorphism with TC::{Class,Role,Union} (nothingmuch)
ae8d63f2 109
110 * Moose::Meta::TypeConstraint::Class
ae8d63f2 111 - added the class attribute for introspection purposes
112 (nothingmuch)
113 - added tests for this
4078709c 114
115 * Moose::Meta::TypeConstraint::Enum
6c36eeaa 116 Moose::Meta::TypeConstraint::Role
37905a64 117 - broke these out into their own classes (nothingmuch)
ae8d63f2 118
119 * Moose::Cookbook::Recipe*
120 - fixed references to test file locations in the POD
121 and updated up some text for new Moose features
37905a64 122 (Sartak)
123
124 * Moose::Util
125 - Added &resolve_metaclass_alias, a helper function for finding an actual
126 class for a short name (e.g. in the traits list)
ae8d63f2 127
52338af5 1280.40 Fri. March 14, 2008
6e2840b7 129 - I hate Pod::Coverage
130
e0328ed4 1310.39 Fri. March 14, 2008
8d62bf6d 132 * Moose
133 - documenting the use of '+name' with attributes
134 that come from recently composed roles. It makes
135 sense, people are using it, and so why not just
136 officially support it.
9c10b5ad 137 - fixing the 'extends' keyword so that it will not
138 trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763)
94075501 139
1321f087 140 * oose
141 - added the perl -Moose=+Class::Name feature to allow
142 monkeypatching of classes in one liners
143
9c10b5ad 144 * Moose::Util
145 - fixing the 'apply_all_roles' keyword so that it will not
146 trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763)
8d62bf6d 147
48045612 148 * Moose::Meta::Class
149 - added ->create method which now supports roles (thanks to jrockway)
150 - added tests for this
6d5cbd2b 151 - added ->create_anon_class which now supports roles and caching of
152 the results (thanks to jrockway)
153 - added tests for this
81c3738f 154 - made ->does_role a little more forgiving when it is
155 checking a Class::MOP era metaclasses.
48045612 156
94075501 157 * Moose::Meta::Role::Application::ToInstance
158 - it is now possible to pass extra params to be used when
159 a role is applied to an the instance (rebless_params)
160 - added tests for this
161
9f4334a1 162 * Moose::Util::TypeConstraints
4ab662d6 163 - class_type now accepts an optional second argument for a
164 custom message. POD anotated accordingly (groditi)
165 - added tests for this
9f4334a1 166 - it is now possible to make anon-enums by passing 'enum' an
167 ARRAY ref instead of the $name => @values. Everything else
168 works as before.
169 - added tests for this
170
8d62bf6d 171 * t/
172 - making test for using '+name' on attributes consumed
173 from a role, it works and makes sense too.
174
80d955e4 175 * Moose::Meta::Attribute
176 - fix handles so that it doesn't return nothing
177 when the method cannot be found, not sure why
f4f3e701 178 it ever did this originally, this means we now
179 have slightly better support for AUTOLOADed
180 objects
181 - added more delegation tests
587e457d 182 - adding ->does method to this so as to better
183 support traits and their introspection.
184 - added tests for this
1a386a6c 185
186 * Moose::Object
187 - localizing the Data::Dumper configurations so
188 that it does not pollute others (RT #33509)
9b1aa0c3 189 - made ->does a little more forgiving when it is
190 passed Class::MOP era metaclasses.
80d955e4 191
1920.38 Fri. Feb. 15, 2008
c3b81505 193 * Moose::Meta::Attribute
194 - fixed initializer to correctly do
195 type checking and coercion in the
196 callback
197 - added tests for this
198
1a740d8a 199 * t/
200 - fixed some finicky tests (thanks to konobi)
201
80d955e4 2020.37 Thurs. Feb. 14, 2008
688fcdda 203 * Moose
204 - fixed some details in Moose::init_meta
205 and its superclass handling (thanks thepler)
206 - added tests for this (thanks thepler)
a28fe77b 207 - 'has' now dies if you don't pass in name
208 value pairs
2a5e59d0 209 - added the 'make_immutable' keyword as a shortcut
9df136d0 210 to make_immutable
688fcdda 211
212 * Moose::Meta::Class
213 Moose::Meta::Method::Constructor
214 Moose::Meta::Attribute
649b9340 215 - making (init_arg => undef) work here too
216 (thanks to nothingmuch)
be771c43 217
218 * Moose::Meta::Attribute
219 Moose::Meta::Method::Constructor
220 Moose::Meta::Method::Accessor
5fec9b97 221 - make lazy attributes respect attr initializers (rjbs)
be771c43 222 - added tests for this
688fcdda 223
224 * Moose::Util::TypeConstraints
225 Moose::Util::TypeConstraints::OptimizedConstraints
c14746bc 226 Moose::Meta::TypeConstraints
688fcdda 227 Moose::Meta::Attribute
228 Moose::Meta::Method::Constructor
229 Moose::Meta::Method::Accessor
649b9340 230 - making type errors use the
231 assigned message (thanks to Sartak)
232 - added tests for this
233
234 * Moose::Meta::Method::Destructor
235 - making sure DESTROY gets inlined properly
236 with successive DEMOLISH calls (thanks to manito)
688fcdda 237
ab76842e 238 * Moose::Meta::Attribute
239 Moose::Meta::Method::Accessor
240 - fixed handling of undef with type constraints
241 (thanks to Ernesto)
242 - added tests for this
c14746bc 243
244 * Moose::Util
245 - added &get_all_init_args and &get_all_attribute_values
246 (thanks to Sartak and nothingmuch)
ab76842e 247
e472c9a5 2480.36 Sat. Jan. 26, 2008
238b424d 249 * Moose::Role
250 Moose::Meta::Attribute
251 - role type tests now support when roles are
252 applied to non-Moose classes (found by ash)
253 - added tests for this (thanks to ash)
e472c9a5 254 - couple extra tests to boost code coverage
238b424d 255
256 * Moose::Meta::Method::Constructor
257 - improved fix for handling Class::MOP attributes
258 - added test for this
259
260 * Moose::Meta::Class
261 - handled the add_attribute($attribute_meta_object)
262 case correctly
263 - added test for this
264
3285fae9 2650.35 Tues. Jan. 22, 2008
45fd4af3 266 * Moose::Meta::Method::Constructor
267 - fix to make sure even Class::MOP attributes
472b7401 268 are handled correctly (Thanks to Dave Rolsky)
c3b35392 269 - added test for this (also Dave Rolsky)
4498537c 270
271 * Moose::Meta::Class
272 - improved error message on _apply_all_roles,
273 you should now use Moose::Util::apply_all_roles
274 and you shouldnt have been using a _ prefixed
275 method in the first place ;)
45fd4af3 276
fe05ce9c 2770.34 Mon. Jan. 21, 2008
778db3ac 278 ~~~ more misc. doc. fixes ~~~
279 ~~ updated copyright dates ~~
9b28d20b 280
281 Moose is now a postmodern object system :)
8bdc7f13 282 - (see the POD for details)
ccf49e80 283
284 * <<Role System Refactoring>>
285 - this release contains a major reworking and
286 cleanup of the role system
9b28d20b 287 - 100% backwards compat.
288 - Role application now restructured into seperate
289 classes based on type of applicants
290 - Role summation (combining of more than one role)
ccf49e80 291 is much cleaner and anon-classes are no longer
9b28d20b 292 used in this process
ccf49e80 293 - new Composite role metaclass
9b28d20b 294 - runtime application of roles to instances
295 is now more efficient and re-uses generated
296 classes when applicable
ccf49e80 297
9b28d20b 298 * <<New Role composition features>>
ccf49e80 299 - methods can now be excluded from a given role
9b28d20b 300 during composition
ccf49e80 301 - methods can now be aliased to another name (and
302 still retain the original as well)
4734114b 303
304 * Moose::Util::TypeConstraints::OptimizedConstraints
305 - added this module (see above)
306
d7d8a8c7 307 * Moose::Meta::Class
308 - fixed the &_process_attribute method to be called
4734114b 309 by &add_attribute, so that the API is now correct
310
e7c06c1e 311 * Moose::Meta::Method::Accessor
4734114b 312 - fixed bug when passing a list of values to
e7c06c1e 313 an accessor would get (incorrectly) ignored.
314 Thanks to Sartak for finding this ;)
315 - added tests for this (Sartak again)
32dd4a95 316
a4e516f6 317 * Moose::Meta::Method::Accessor
318 Moose::Meta::Method::Constructor
28412c0b 319 Moose::Meta::Attribute
ccf49e80 320 Moose::Meta::TypeConstraint
321 Moose::Meta::TypeCoercion
322 - lots of cleanup of such things as:
28412c0b 323 - generated methods
324 - type constraint handling
ccf49e80 325 - error handling/messages
326 (thanks to nothingmuch)
a4e516f6 327
4734114b 328 * Moose::Meta::TypeConstraint::Parameterizable
329 - added this module to support the refactor
330 in Moose::Meta::TypeConstraint::Parameterized
331
332 * Moose::Meta::TypeConstraint::Parameterized
333 - refactored how these types are handled so they
334 are more generic and not confined to ArrayRef
335 and HashRef only
a4e516f6 336
2de7e794 337 * t/
338 - shortened some file names for better VMS support (RT #32381)
339
25374f01 3400.33 Fri. Dec. 14, 2007
32dd4a95 341 !! Moose now loads 2 x faster !!
342 !! with new Class::MOP 0.49 !!
25374f01 343
f7865ec8 344 ++ new oose.pm module to make command line
25374f01 345 Moose-ness easier (see POD docs for more)
4734114b 346
25374f01 347 * Moose::Meta::Class
348 * Moose::Meta::Role
4734114b 349 - several tweaks to take advantage of the
25374f01 350 new method map caching in Class::MOP
351
39aba5c9 352 * Moose::Meta::TypeConstraint::Parameterized
353 - allow subtypes of ArrayRef and HashRef to
acb8a5db 354 be used as a container (sartak)
4734114b 355 - added tests for this
acb8a5db 356 - basic support for coercion to ArrayRef and
357 HashRef for containers (sartak)
4734114b 358 - added tests for this
359
25374f01 360 * Moose::Meta::TypeCoercion
361 - coercions will now create subtypes as needed
362 so you can now add coercions to parameterized
363 types without having to explictly define them
364 - added tests for this
365
ac211120 366 * Moose::Meta::Method::Accessor
367 - allow subclasses to decide whether we need
368 to copy the value into a new variable (sartak)
39aba5c9 369
dc26a424 3700.32 Tues. Dec. 4, 2007
8de73ff1 371 * Moose::Util::TypeConstraints
372 - fixing how subtype aliases of unions work
373 they should inherit the parent's coercion
374 - added tests for this
4734114b 375 - you can now define multiple coercions on
41e007e4 376 a single type at different times instead of
377 having to do it all in one place
378 - added tests for this
4734114b 379
8de73ff1 380 * Moose::Meta::TypeConstraint
381 - there is now a default constraint of sub { 1 }
382 instead of Moose::Util::TypeConstraints setting
383 this for us
384
4734114b 385 * Moose::Meta::TypeCoercion
386 * Moose::Meta::TypeCoercion::Union
387 - added the &has_coercion_for_type and
388 &add_type_coercions methods to support the
41e007e4 389 new features above (although you cannot add
390 more type coercions for Union types)
391
ffcb48b4 3920.31 Mon. Nov. 26, 2007
f3c4e20e 393 * Moose::Meta::Attribute
4734114b 394 - made the +attr syntax handle extending types with
f3c4e20e 395 parameters. So "has '+foo' => (isa => 'ArrayRef[Int]')"
396 now works if the original foo is an ArrayRef.
397 - added tests for this.
398 - delegation now works even if the attribute does not
399 have a reader method using the get_read_method_ref
4734114b 400 method from Class::MOP::Attribute.
f3c4e20e 401 - added tests for this
402 - added docs for this
4734114b 403
f3c4e20e 404 * Moose::Util::TypeConstraints
4734114b 405 - passing no "additional attribute info" to
406 &find_or_create_type_constraint will no longer
407 attempt to create an __ANON__ type for you,
f3c4e20e 408 instead it will just return undef.
409 - added docs for this
410
1edfdf1c 4110.30 Fri. Nov. 23, 2007
ca168e89 412 * Moose::Meta::Method::Constructor
413 -builder related bug in inlined constructor. (groditi)
414
3822d5ee 415 * Moose::Meta::Method::Accessor
416 - genereate unnecessary calls to predicates and refactor
417 code generation for runtime speed (groditi)
418
5d776bdf 419 * Moose::Util::TypeConstraints
0e0709ea 420 - fix ClassName constraint to introspect symbol table (mst)
a0f8153d 421 - added more tests for this (mst)
422 - fixed it so that subtype 'Foo' => as 'HashRef[Int]' ...
423 with work correctly.
424 - added tests for this
5d776bdf 425
1edfdf1c 426 * Moose::Cookbook
427 - adding the link to Recipie 11 (written by Sartak)
428 - adding test for SYNOPSIS code
429
4734114b 430 * t/
ca168e89 431 - New tests for builder bug. Upon instantiation, if an
432 attribute had a builder, no value and was not lazy the
433 builder default was not getting run, oops. (groditi)
434
b97b9655 4350.29 Tues. Nov. 13, 2007
0b26305c 436 * Moose::Meta::Attribute
5d776bdf 437 - Fix error message on missing builder method (groditi)
0b26305c 438
439 * Moose::Meta::Method::Accessor
5d776bdf 440 - Fix error message on missing builder method (groditi)
0b26305c 441
4734114b 442 * t/
5d776bdf 443 - Add test to check for the correct error message when
444 builder method is missing (groditi)
0b26305c 445
98c4c382 4460.28 Tues. Nov. 13, 2007
4734114b 447 - 0.27 packaged incorrectly (groditi)
98c4c382 448
e134cd19 4490.27 Tues. Nov. 13, 2007
26fbace8 450 * Moose::Meta::Attribute
451 - Added support for the new builder option (groditi)
6af1a927 452 - Added support for lazy_build option (groditi)
1ed0b94f 453 - Changed slot initialization for predicate changes (groditi)
26fbace8 454
455 * Moose::Meta::Method::Accessor
6af1a927 456 - Added support for lazy_build option (groditi)
4734114b 457 - Fix inline methods to work with corrected predicate
28669f89 458 behavior (groditi)
26fbace8 459
7a5b07b3 460 * Moose::Meta::Method::Constructor
461 - Added support for lazy_build option (groditi)
462
26fbace8 463 * t/
28669f89 464 - tests for builder and lazy_build (groditi)
26fbace8 465
4734114b 466 * fixing some misc. bits in the docs that
28669f89 467 got mentioned on CPAN Forum & perlmonks
4734114b 468
e7f8d0c2 469 * Moose::Meta::Role
4734114b 470 - fixed how required methods are handled
e7f8d0c2 471 when they encounter overriden or modified
472 methods from a class (thanks to confound).
473 - added tests for this
5af6a16d 474
3796382a 475 * Moose::Util::TypeConstraint
4734114b 476 - fixed the type notation parser so that
477 the | always creates a union and so is
478 no longer a valid type char (thanks to
479 konobi, mugwump and #moose for working
3796382a 480 this one out.)
481 - added more tests for this
482
77a18c28 4830.26 Thurs. Sept. 27, 2007
484 == New Features ==
4734114b 485
77a18c28 486 * Parameterized Types
4734114b 487 We now support parameterized collection types, such as:
77a18c28 488 ArrayRef[Int] # array or integers
489 HashRef[Object] # a hash with object values
490 They can also be nested:
491 ArrayRef[HashRef[RegExpr]] # an array of hashes with regexpr values
492 And work with the type unions as well:
493 ArrayRef[Int | Str] # array of integers of strings
4734114b 494
77a18c28 495 * Better Framework Extendability
4734114b 496 Moose.pm is now "extendable" such that it is now much
497 easier to extend the framework and add your own keywords
77a18c28 498 and customizations. See the "EXTENDING AND EMBEDDING MOOSE"
499 section of the Moose.pm docs.
4734114b 500
77a18c28 501 * Moose Snacks!
4734114b 502 In an effort to begin documenting some of the various
503 details of Moose as well as some common idioms, we have
504 created Moose::Cookbook::Snacks as a place to find
77a18c28 505 small (easily digestable) nuggets of Moose code.
4734114b 506
77a18c28 507 ====
fb697a87 508 ~ Several doc updates/cleanup thanks to castaway ~
4734114b 509
510 - converted build system to use Module::Install instead of
e46f5cc2 511 Module::Build (thanks to jrockway)
fb697a87 512
d67145ed 513 * Moose
4734114b 514 - added all the meta classes to the immutable list and
d67145ed 515 set it to inline the accessors
4734114b 516 - fix import to allow Sub::Exporter like { into => }
e59a5c29 517 and { into_level => } (perigrin)
4734114b 518 - exposed and documented init_meta() to allow better
e59a5c29 519 embedding and extending of Moose (perigrin)
4734114b 520
e59a5c29 521 * t/
522 - complete re-organization of the test suite
4734114b 523 - added some new tests as well
77a18c28 524 - finally re-enabled the Moose::POOP test since
525 the new version of DBM::Deep now works again
526 (thanks rob)
b468a3d3 527
528 * Moose::Meta::Class
4734114b 529 - fixed very odd and very nasty recursion bug with
b468a3d3 530 inner/augment (mst)
531 - added tests for this (eilara)
d67145ed 532
3726f905 533 * Moose::Meta::Attribute
534 Moose::Meta::Method::Constructor
535 Moose::Meta::Method::Accessor
4734114b 536 - fixed issue with overload::Overloaded getting called
f1917f58 537 on non-blessed items. (RT #29269)
3726f905 538 - added tests for this
4734114b 539
3ccdc84a 540 * Moose::Meta::Method::Accessor
4734114b 541 - fixed issue with generated accessor code making
3ccdc84a 542 assumptions about hash based classes (thanks to dexter)
4734114b 543
3726f905 544 * Moose::Coookbook::Snacks
4734114b 545 - these are bits of documentation, not quite as big as
546 Recipes but which have no clear place in the module docs.
3726f905 547 So they are Snacks! (horray for castaway++)
548
07cde929 549 * Moose::Cookbook::Recipe4
550 - updated it to use the new ArrayRef[MyType] construct
551 - updated the accompanying test as well
552
3726f905 553 +++ Major Refactor of the Type Constraint system +++
554 +++ with new features added as well +++
555
22aed3c0 556 * Moose::Util::TypeConstraint
4734114b 557 - no longer uses package variable to keep track of
22aed3c0 558 the type constraints, now uses the an instance of
559 Moose::Meta::TypeConstraint::Registry to do it
f1917f58 560 - added more sophisticated type notation parsing
561 (thanks to mugwump)
562 - added tests for this
22aed3c0 563
d67145ed 564 * Moose::Meta::TypeConstraint
565 - some minor adjustments to make subclassing easier
4734114b 566 - added the package_defined_in attribute so that we
22aed3c0 567 can track where the type constraints are created
4734114b 568
d67145ed 569 * Moose::Meta::TypeConstraint::Union
4734114b 570 - this is now been refactored to be a subclass of
3726f905 571 Moose::Meta::TypeConstraint
4734114b 572
3726f905 573 * Moose::Meta::TypeCoercion::Union
574 - this has been added to service the newly refactored
4734114b 575 Moose::Meta::TypeConstraint::Union and is itself
3726f905 576 a subclass of Moose::Meta::TypeCoercion
4734114b 577
0fbd4b0a 578 * Moose::Meta::TypeConstraint::Parameterized
d67145ed 579 - added this module (taken from MooseX::AttributeHelpers)
580 to help construct nested collection types
581 - added tests for this
4734114b 582
22aed3c0 583 * Moose::Meta::TypeConstraint::Registry
584 - added this class to keep track of type constraints
d67145ed 585
887169d7 5860.25 Mon. Aug. 13, 2007
8eca434b 587 * Moose
4734114b 588 - Documentation update to reference Moose::Util::TypeConstraints
589 under 'isa' in 'has' for how to define a new type
8eca434b 590 (thanks to shlomif).
591
ab859145 592 * Moose::Meta::Attribute
4734114b 593 - required attributes now will no longer accept undef
ab859145 594 from the constructor, even if there is a default and lazy
595 - added tests for this
4734114b 596 - default subroutines must return a value which passes the
7a5ebc40 597 type constraint
598 - added tests for this
4734114b 599
a909a4df 600 * Moose::Meta::Attribute
601 * Moose::Meta::Method::Constructor
4734114b 602 * Moose::Meta::Method::Accessor
a909a4df 603 - type-constraint tests now handle overloaded objects correctly
604 in the error message
4734114b 605 - added tests for this (thanks to EvanCarroll)
ab859145 606
8eca434b 607 * Moose::Meta::TypeConstraint::Union
4734114b 608 - added (has_)hand_optimized_constraint to this class so that
8eca434b 609 it behaves as the regular Moose::Meta::TypeConstraint does.
610
5868294f 611 * Moose::Meta::Role
887169d7 612 - large refactoring of this code
4734114b 613 - added several more tests
614 - tests for subtle conflict resolition issues
7125b244 615 added, but not currently running
616 (thanks to kolibre)
617
4734114b 618 * Moose::Cookbook::Recipe7
619 - added new recipe for augment/inner functionality
887169d7 620 (still in progress)
7125b244 621 - added test for this
5868294f 622
24a8fe99 623 * Moose::Spec::Role
7125b244 624 - a formal definition of roles (still in progress)
24a8fe99 625
9a641848 626 * Moose::Util
887169d7 627 - utilities for easier working with Moose classes
7125b244 628 - added tests for these
9a641848 629
630 * Test::Moose
887169d7 631 - This contains Moose specific test functions
7125b244 632 - added tests for these
9a641848 633
6b4c1bdd 6340.24 Tues. July 3, 2007
635 ~ Some doc updates/cleanup ~
c84f324f 636
637 * Moose::Meta::Attribute
4734114b 638 - added support for roles to be given as parameters
c84f324f 639 to the 'handles' option.
640 - added tests and docs for this
4734114b 641 - the has '+foo' attribute form now accepts changes to
83cc9094 642 the lazy option, and the addition of a handles option
643 (but not changing the handles option)
644 - added tests and docs for this
c84f324f 645
1db8ecc7 646 * Moose::Meta::Role
647 - required methods are now fetched using find_method_by_name
648 so that required methods can come from superclasses
649 - adjusted tests for this
650
81941e9b 6510.23 Mon. June 18, 2007
73b84d2e 652 * Moose::Meta::Method::Constructor
653 - fix inlined constructor for hierarchy with multiple BUILD methods (mst)
ac2dc464 654 * Moose::Meta::Class
655 - Modify make_immutable to work with the new Class::MOP immutable
656 mechanism + POD + very basic test (groditi)
cbe25729 657 * Moose::Meta::Attribute
4734114b 658 - Fix handles to use goto() so that caller() comes out properly on
cbe25729 659 the other side (perigrin)
ac2dc464 660
db53853c 6610.22 Thurs. May 31, 2007
3969267d 662 * Moose::Util::TypeConstraints
4734114b 663 - fix for prototype undeclared issue when Moose::Util::TypeConstraints
db53853c 664 loaded before consumers (e.g. Moose::Meta::Attribute) by predeclaring
665 prototypes for functions
4734114b 666 - added the ClassName type constraint, this checks for strings
667 which will respond true to ->isa(UNIVERSAL).
9af1d28b 668 - added tests and docs for this
4734114b 669 - subtyping just in name now works correctly by making the
86629f93 670 default for where be { 1 }
4734114b 671 - added test for this
3969267d 672
d7611a4a 673 * Moose::Meta::Method::Accessor
4734114b 674 - coerce and lazy now work together correctly, thanks to
d7611a4a 675 merlyn for finding this bug
676 - tests added for this
df492bba 677 - fix reader presedence bug in Moose::Meta::Attribute + tests
d7611a4a 678
86629f93 679 * Moose::Object
680 - Foo->new(undef) now gets ignored, it is assumed you meant to pass
4734114b 681 a HASH-ref and missed. This produces better error messages then
86629f93 682 having it die cause undef is not a HASH.
683 - added tests for this
684
74a0a945 6850.21 Thursday, May 2nd, 2007
52c7c330 686 * Moose
687 - added SUPER_SLOT and INNER_SLOT class hashes to support unimport
688 - modified unimport to remove super and inner along with the rest
689 - altered unimport tests to handle this
690
691 * Moose::Role
692 - altered super export to populate SUPER_SLOT
693
694 * Moose::Meta::Class
695 - altered augment and override modifier application to use *_SLOT
696 - modified tests for these to unimport one test class each to test
697
492d4d76 698 * Moose::Meta::Role
699 - fixed issue where custom attribute metaclasses
700 where not handled correctly in roles
701 - added tests for this
4734114b 702
5cb193ed 703 * Moose::Meta::Class
4734114b 704 - fixed issue where extending metaclasses with
5cb193ed 705 roles would blow up. Thanks to Aankhen`` for
706 finding this insidious error, and it's solution.
4734114b 707
708 ~~ lots of spelling and grammer fixes in the docs,
0305961b 709 many many thanks to rlb3 and Aankhen for these :)
492d4d76 710
e518dfb4 7110.20 Friday, April 6th, 2007
a60285b3 712 >> I messed up the SKIP logic in one test
713 so this release is just to fix that.
714
93c435b3 715 * Moose
716 - 'has' now also accepts an ARRAY ref
717 to create multiple attrs (see docs)
718 (thanks to konobi for this)
4734114b 719 - added tests and docs
93c435b3 720
cd7eeaf5 7210.19 Thurs. April 5th, 2007
722 ~~ More documentation updates ~~
723
c899258b 724 * Moose::Util::TypeConstraints
c1935ade 725 - 'type' now supports messages as well
ddbdc0cb 726 thanks to phaylon for finding this
c899258b 727 - added tests for this
4734114b 728 - added &list_all_type_constraints and
c1935ade 729 &list_all_builtin_type_constraints
943596a6 730 functions to facilitate introspection.
4734114b 731
d022f632 732 * Moose::Meta::Attribute
4734114b 733 - fixed regexp 'handles' declarations
d022f632 734 to build the list of delegated methods
4734114b 735 correctly (and not override important
736 things like &new) thanks to ashleyb
ddbdc0cb 737 for finding this
738 - added tests and docs for this
c1935ade 739 - added the 'documentation' attributes
4734114b 740 so that you can actually document your
741 attributes and inspect them through the
ddbdc0cb 742 meta-object.
d022f632 743 - added tests and docs for this
744
c1935ade 745 * Moose::Meta::Class
746 - when loading custom attribute metaclasses
4734114b 747 it will first look in for the class in the
748 Moose::Meta::Attribute::Custom::$name, and
c1935ade 749 then default to just loading $name.
750 - added tests and docs for this
751
900466d6 752 * Moose::Meta::TypeConstraint
753 - type constraints now stringify to their names.
754 - added test for this
755
d022f632 756 * misc.
4734114b 757 - added tests to assure we work with Module::Refresh
758 - added stricter test skip logic in the Moose POOP
ddbdc0cb 759 test, ask Rob Kinyon why.
760 - *cough* DBM::Deep 1.0 backwards compatability sucks *cough* ;)
c899258b 761
af5199c6 7620.18 Sat. March 10, 2007
763 ~~ Many, many documentation updates ~~
ddbdc0cb 764
765 * misc.
4734114b 766 - We now use Class::MOP::load_class to
767 load all classes.
768 - added tests to show types and subtypes
ddbdc0cb 769 working with Declare::Constraints::Simple
770 and Test::Deep as constraint engines.
b77fdbed 771
587ae0d2 7720.18_001
d01f1dab 773 !! You must have Class::MOP 0.37_001 !!
774 !! for this developer release to work !!
775
734d1752 776 This release was primarily adding the immutable
4734114b 777 feature to Moose. An immutable class is one which
778 you promise not to alter. When you set the class
779 as immutable it will perform various bits of
734d1752 780 memoization and inline certain part of the code
4734114b 781 (constructors, destructors and accessors). This
734d1752 782 minimizes (and in some cases totally eliminates)
4734114b 783 one of Moose's biggest performance hits. This
734d1752 784 feature is not on by default, and is 100% optional.
4734114b 785 It has several configurable bits as well, so you
734d1752 786 can pick and choose to your specific needs.
4734114b 787
788 The changes involved in this were fairly wide and
789 highly specific, but 100% backwards compatible, so
790 I am not going to enumerate them here. If you are
791 truely interested in what was changed, please do
734d1752 792 a diff :)
587ae0d2 793
7940.17 Tues. Nov. 14, 2006
795 * Moose::Meta::Method::Accessor
4734114b 796 - bugfix for read-only accessors which
587ae0d2 797 are have a type constraint and lazy.
798 Thanks to chansen for finding it.
799
8000.16 Tues. Nov. 14, 2006
801 ++ NOTE ++
4734114b 802 There are some speed improvements in this release,
587ae0d2 803 but they are only the begining, so stay tuned.
4734114b 804
587ae0d2 805 * Moose::Object
4734114b 806 - BUILDALL and DEMOLISHALL no longer get
587ae0d2 807 called unless they actually need to be.
808 This gave us a signifigant speed boost
4734114b 809 for the cases when there is no BUILD or
587ae0d2 810 DEMOLISH method present.
4734114b 811
587ae0d2 812 * Moose::Util::TypeConstraints
813 * Moose::Meta::TypeConstraint
4734114b 814 - added an 'optimize_as' option to the
587ae0d2 815 type constraint, which allows for a
4734114b 816 hand optimized version of the type
587ae0d2 817 constraint to be used when possible.
818 - Any internally created type constraints
819 now provide an optimized version as well.
820
ecb59493 8210.15 Sun. Nov. 5, 2006
946289d1 822 ++ NOTE ++
4734114b 823 This version of Moose *must* have Class::MOP 0.36 in order
824 to work correctly. A number of small internal tweaks have
946289d1 825 been made in order to be compatible with that release.
571dd39f 826
827 * Moose::Util::TypeConstraints
4734114b 828 - added &unimport so that you can clean out
829 your class namespace of these exported
571dd39f 830 keywords
4734114b 831
37ee30c9 832 * Moose::Meta::Class
4734114b 833 - fixed minor issue which occasionally
834 comes up during global destruction
37ee30c9 835 (thanks omega)
4734114b 836 - moved Moose::Meta::Method::Overriden into
946289d1 837 its own file.
4734114b 838
839 * Moose::Meta::Role
840 - moved Moose::Meta::Role::Method into
946289d1 841 its own file.
4734114b 842
43123819 843 * Moose::Meta::Attribute
4734114b 844 - changed how we do type checks so that
845 we reduce the overall cost, but still
7623f774 846 retain correctness.
946289d1 847 *** API CHANGE ***
4734114b 848 - moved accessor generation methods to
849 Moose::Meta::Method::Accessor to
850 conform to the API changes from
946289d1 851 Class::MOP 0.36
4734114b 852
43123819 853 * Moose::Meta::TypeConstraint
854 - changed how constraints are compiled
855 so that we do less recursion and more
4734114b 856 iteration. This makes the type check
43123819 857 faster :)
946289d1 858 - moved Moose::Meta::TypeConstraint::Union
859 into its own file
4734114b 860
946289d1 861 * Moose::Meta::Method::Accessor
4734114b 862 - created this from methods formerly found in
946289d1 863 Moose::Meta::Attribute
4734114b 864
946289d1 865 * Moose::Meta::Role::Method
866 - moved this from Moose::Meta::Role
4734114b 867
946289d1 868 * Moose::Meta::Method::Overriden
869 - moved this from Moose::Meta::Class
4734114b 870
946289d1 871 * Moose::Meta::TypeConstraint::Union
872 - moved this from Moose::Meta::TypeConstraint
37ee30c9 873
3ec7b7a3 8740.14 Mon. Oct. 9, 2006
4fd69d6c 875
876 * Moose::Meta::Attribute
4734114b 877 - fixed lazy attributes which were not getting
4fd69d6c 878 checked with the type constraint (thanks ashley)
879 - added tests for this
4734114b 880 - removed the over-enthusiastic DWIMery of the
881 automatic ArrayRef and HashRef defaults, it
3ec7b7a3 882 broke predicates in an ugly way.
883 - removed tests for this
4fd69d6c 884
c0c41f76 8850.13 Sat. Sept. 30, 2006
093b12c2 886 ++ NOTE ++
4734114b 887 This version of Moose *must* have Class::MOP 0.35 in order
888 to work correctly. A number of small internal tweaks have
093b12c2 889 been made in order to be compatible with that release.
890
3c2bc5e2 891 * Moose
892 - Removed the use of UNIVERSAL::require to be a better
4734114b 893 symbol table citizen and remove a dependency
093b12c2 894 (thanks Adam Kennedy)
3c2bc5e2 895
2a0f3bd3 896 **~~ removed experimental & undocumented feature ~~**
4734114b 897 - commented out the 'method' and 'self' keywords, see the
2a0f3bd3 898 comments for more info.
899
e95c7c42 900 * Moose::Cookbook
4734114b 901 - added a FAQ and WTF files to document frequently
e95c7c42 902 asked questions and common problems
4734114b 903
3f7376b0 904 * Moose::Util::TypeConstraints
0a5bd159 905 - added GlobRef and FileHandle type constraint
3f7376b0 906 - added tests for this
4734114b 907
3f7376b0 908 * Moose::Meta::Attribute
909 - if your attribute 'isa' ArrayRef of HashRef, and you have
910 not explicitly set a default, then make the default DWIM.
4734114b 911 This will also work for subtypes of ArrayRef and HashRef
94b8bbb8 912 as well.
913 - you can now auto-deref subtypes of ArrayRef or HashRef too.
914 - new test added for this (thanks to ashley)
4734114b 915
b805c70c 916 * Moose::Meta::Role
917 - added basic support for runtime role composition
4734114b 918 but this is still *highly experimental*, so feedback
0a5bd159 919 is much appreciated :)
b805c70c 920 - added tests for this
e95c7c42 921
0a5bd159 922 * Moose::Meta::TypeConstraint
923 - the type constraint now handles the coercion process
4734114b 924 through delegation, this is to support the coercion
0a5bd159 925 of unions
4734114b 926
0a5bd159 927 * Moose::Meta::TypeConstraint::Union
4734114b 928 - it is now possible for coercions to be performed
0a5bd159 929 on a type union
930 - added tests for this (thanks to konobi)
931
e95c7c42 932 * Moose::Meta::TypeCoercion
4734114b 933 - properly capturing error when type constraint
e95c7c42 934 is not found
935
3c2bc5e2 936 * Build.PL
937 - Scalar::Util 1.18 is bad on Win32, so temporarily
938 only require version 1.17 for Win32 and cygwin.
4734114b 939 (thanks Adam Kennedy)
3c2bc5e2 940
40e89659 9410.12 Sat. Sept. 1, 2006
2bdd01cd 942 * Moose::Cookbook
943 - Recipe5 (subtypes & coercion) has been written
4734114b 944
2bdd01cd 945 * Moose
4734114b 946 - fixed "bad meta" error message to be more descriptive
947 - fixed &unimport to not remove the &inner and &super
3279ab4a 948 keywords because we need to localize them.
68efb014 949 - fixed number of spelling/grammer issues, thanks Theory :)
4734114b 950
0558683c 951 **~~ experimental & undocumented feature ~~**
4734114b 952 - added the method and self keywords, they are basically
68efb014 953 just sugar, and they may not stay around.
4734114b 954
f742dfef 955 * Moose::Object
4734114b 956 - added &dump method to easily Data::Dumper
68efb014 957 an object
4734114b 958
b26e162e 959 * Moose::Meta::TypeConstraint
960 - added the &is_a_type_of method to check both the current
961 and the subtype of a method (similar to &isa with classes)
f008ac1f 962
68efb014 963 * Moose::Meta::Role
964 - this is now a subclass of Class::MOP::Module, and no longer
4734114b 965 creates the _role_meta ugliness of before.
68efb014 966 - fixed tests to reflect this change
4734114b 967
8c835eba 9680.11 Wed. July 12, 2006
31f8ec72 969 * Moose
970 - added an &unimport method to remove all the keywords
4734114b 971 that Moose will import, simply add 'no Moose' to the
972 bottom of your class file.
973
31f8ec72 974 * t/
4734114b 975 - fixed some test failures caused by a forgotten test
31f8ec72 976 dependency.
977
864cd714 9780.10 Thurs. July 6, 2006
01a8e221 979 * Moose
980 - improved error message when loading modules so
981 it is less confusing when you load a role.
4734114b 982 - added &calculate_all_roles method to
2b14ac61 983 Moose::Meta::Class and Moose::Meta::Role
4734114b 984
2b14ac61 985 NOTE:
986 This module has been tested against Class::MOP 0.30
4734114b 987 but it does not yet utilize the optimizations
2b14ac61 988 it makes available. Stay tuned for that ;)
4734114b 989
2b14ac61 9900.09_03 Fri. June 23, 2006
715ea0b7 991 ++ DEVELOPER RELEASE ++
4276ccb4 992 * Moose
993 - 'use strict' and 'use warnings' are no longer
4734114b 994 needed in Moose classes, Moose itself will
4276ccb4 995 turn them on for you.
996 - added tests for this
1341f10c 997 - moved code from exported subs to private methods
998 in Moose::Meta::Class
4734114b 999
4276ccb4 1000 * Moose::Role
4734114b 1001 - as with Moose, strict and warnings are
4276ccb4 1002 automatically turned on for you.
4734114b 1003 - added tests for this
1004
e39d707f 1005 * Moose::Meta::Role
1006 - now handles an edge case for override errors
1007 - added tests for this
b7f2d25b 1008 - added some more edge case tests
1341f10c 1009
43d599e5 10100.09_02 Tues. May 16, 2006
715ea0b7 1011 ++ DEVELOPER RELEASE ++
2c0cbef7 1012 * Moose
1013 - added prototypes to the exported subs
43d599e5 1014 - updated docs
4734114b 1015
2c0cbef7 1016 * Moose::Role
4734114b 1017 - added prototypes to the exported subs
43d599e5 1018 - updated docs
4734114b 1019
2c0cbef7 1020 * Moose::Util::TypeConstraints
4734114b 1021 - cleaned up prototypes for the subs
1022 - updated docs
2c0cbef7 1023
72c4f6d1 10240.09_01 Fri. May 12, 2006
1025 ++ DEVELOPER RELEASE ++
4734114b 1026 - This release works in combination with
1027 Class::MOP 0.29_01, it is a developer
1028 release because it uses the a new
72c4f6d1 1029 instance sub-protocol and a fairly
4734114b 1030 complete Role implementation. It has
72c4f6d1 1031 not yet been optimized, so it slower
4734114b 1032 the the previous CPAN version. This
1033 release also lacks good updated docs,
72c4f6d1 1034 the official release will have updated docs.
1035
4734114b 1036 * Moose
98aae381 1037 - refactored the keyword exports
4734114b 1038 - 'with' now checks Role validaity and
db1ab48d 1039 accepts more than one Role at a time
4734114b 1040 - 'extends' makes metaclass adjustments as
98aae381 1041 needed to ensure metaclass compatability
4734114b 1042
72c4f6d1 1043 * Moose::Role
1044 - refactored the keyword exports
4734114b 1045 - 'with' now checks Role validaity and
72c4f6d1 1046 accepts more than one Role at a time
4734114b 1047
98aae381 1048 * Moose::Util::TypeConstraints
4734114b 1049 - added the 'enum' keyword for simple
1050 string enumerations which can be used as
98aae381 1051 type constraints
db1ab48d 1052 - see example of usage in t/202_example.t
4734114b 1053
98aae381 1054 * Moose::Object
1055 - more careful checking of params to new()
4734114b 1056
72c4f6d1 1057 * Moose::Meta::Role
1058 - much work done on the role composition
4734114b 1059 - many new tests for conflict detection
72c4f6d1 1060 and composition edge cases
4734114b 1061 - not enough documentation, I suggest
1062 looking at the tests
1063
98aae381 1064 * Moose::Meta::Instance
4734114b 1065 - added new Instance metaclass to support
98aae381 1066 the new Class::MOP instance protocol
4734114b 1067
98aae381 1068 * Moose::Meta::Class
4734114b 1069 - some small changes to support the new
98aae381 1070 instance protocol
72c4f6d1 1071 - some small additions to support Roles
4734114b 1072
98aae381 1073 * Moose::Meta::Attribute
1074 - some improvements to the accessor generation code
1075 by nothingmuch
4734114b 1076 - some small changes to support the new
98aae381 1077 instance protocol
4734114b 1078 - (still somewhat) experimental delegation support
98aae381 1079 with the 'handles' option
1080 - added several tests for this
db1ab48d 1081 - no docs for this yet
98aae381 1082
35c8b8f2 10830.05 Thurs. April 27, 2006
2d562421 1084 * Moose
1085 - keywords are now exported with Sub::Exporter
1086 thanks to chansen for this commit
4734114b 1087 - has keyword now takes a 'metaclass' option
1088 to support custom attribute meta-classes
590868a3 1089 on a per-attribute basis
4734114b 1090 - added tests for this
daea75c9 1091 - the 'has' keyword not accepts inherited slot
4734114b 1092 specifications (has '+foo'). This is still an
daea75c9 1093 experimental feature and probably not finished
4734114b 1094 see t/038_attribute_inherited_slot_specs.t for
daea75c9 1095 more details, or ask about it on #moose
fcb7afc2 1096 - added tests for this
4734114b 1097
2d562421 1098 * Moose::Role
1099 - keywords are now exported with Sub::Exporter
1100
5204cd52 1101 * Moose::Utils::TypeConstraints
cce8198b 1102 - reorganized the type constraint hierarchy, thanks
4734114b 1103 to nothingmuch and chansen for his help and advice
cce8198b 1104 on this
1105 - added some tests for this
7eaef7ad 1106 - keywords are now exported with Sub::Exporter
35c8b8f2 1107 thanks to chansen for this commit
5204cd52 1108
d500266f 1109 * Moose::Meta::Class
1110 - due to changes in Class::MOP, we had to change
1111 construct_instance (for the better)
4734114b 1112
d500266f 1113 * Moose::Meta::Attribute
4734114b 1114 - due to changes in Class::MOP, we had to add the
d500266f 1115 initialize_instance_slot method (it's a good thing)
4734114b 1116
cce8198b 1117 * Moose::Meta::TypeConstraint
4734114b 1118 - added type constraint unions
c07af9d2 1119 - added tests for this
cce8198b 1120 - added the is_subtype_of predicate method
1121 - added tests for this
d500266f 1122
02a0fb52 11230.04 Sun. April 16th, 2006
1331430a 1124 * Moose::Role
1125 - Roles can now consume other roles
1126 - added tests for this
4734114b 1127 - Roles can specify required methods now with
1331430a 1128 the requires() keyword
1129 - added tests for this
1130
bdabd620 1131 * Moose::Meta::Role
1132 - ripped out much of it's guts ,.. much cleaner now
4734114b 1133 - added required methods and correct handling of
fa1be058 1134 them in apply() for both classes and roles
1135 - added tests for this
4734114b 1136 - no longer adds a does() method to consuming classes
1331430a 1137 it relys on the one in Moose::Object
4734114b 1138 - added roles attribute and some methods to support
1331430a 1139 roles consuming roles
8c9d74e7 1140
1141 * Moose::Meta::Attribute
1142 - added support for triggers on attributes
1143 - added tests for this
4734114b 1144 - added support for does option on an attribute
02a0fb52 1145 - added tests for this
4734114b 1146
8c9d74e7 1147 * Moose::Meta::Class
4734114b 1148 - added support for attribute triggers in the
8c9d74e7 1149 object construction
1150 - added tests for this
4734114b 1151
256903b6 1152 * Moose
4734114b 1153 - Moose no longer creates a subtype for your class
1154 if a subtype of the same name already exists, this
256903b6 1155 should DWIM in 99.9999% of all cases
4734114b 1156
256903b6 1157 * Moose::Util::TypeConstraints
4734114b 1158 - fixed bug where incorrect subtype conflicts were
256903b6 1159 being reported
8c9d74e7 1160 - added test for this
4734114b 1161
8c9d74e7 1162 * Moose::Object
1163 - this class can now be extended with 'use base' if
1164 you need it, it properly loads the metaclass class now
1165 - added test for this
bdabd620 1166
0677220d 11670.03_02 Wed. April 12, 2006
05d9eaf6 1168 * Moose
1169 - you must now explictly use Moose::Util::TypeConstraints
1170 it no longer gets exported for you automatically
4734114b 1171
05d9eaf6 1172 * Moose::Object
1173 - new() now accepts hash-refs as well as key/value lists
0677220d 1174 - added does() method to check for Roles
1175 - added tests for this
05d9eaf6 1176
0677220d 1177 * Moose::Meta::Class
4734114b 1178 - added roles attribute along with the add_role() and
0677220d 1179 does_role() methods
4734114b 1180 - added tests for this
0677220d 1181
1182 * Moose::Meta::Role
4734114b 1183 - now adds a does() method to consuming classes
0677220d 1184 which tests the class's hierarchy for roles
1185 - added tests for this
1186
11870.03_01 Mon. April 10, 2006
e9ec68d6 1188 * Moose::Cookbook
76d37e5a 1189 - added new Role recipe (no content yet, only code)
4734114b 1190
e9ec68d6 1191 * Moose
1192 - added 'with' keyword for Role support
1193 - added test and docs for this
1194 - fixed subtype quoting bug
4734114b 1195 - added test for this
e9ec68d6 1196
1197 * Moose::Role
1198 - Roles for Moose
1199 - added test and docs
76d37e5a 1200
1201 * Moose::Util::TypeConstraints
1202 - added the message keyword to add custom
4734114b 1203 error messages to type constraints
1204
e9ec68d6 1205 * Moose::Meta::Role
1206 - the meta role to support Moose::Role
1207 - added tests and docs
4734114b 1208
e9ec68d6 1209 * Moose::Meta::Class
4734114b 1210 - moved a number of things from Moose.pm
1211 to here, they should have been here
e9ec68d6 1212 in the first place
1213
1214 * Moose::Meta::Attribute
1215 - moved the attribute option macros here
1216 instead of putting them in Moose.pm
e185c027 1217
76d37e5a 1218 * Moose::Meta::TypeConstraint
4734114b 1219 - added the message attributes and the
76d37e5a 1220 validate method
1221 - added tests and docs for this
1222
0ac928d2 12230.03 Thurs. March 30, 2006
e9bb8a31 1224 * Moose::Cookbook
4734114b 1225 - added the Moose::Cookbook with 5 recipes,
e9bb8a31 1226 describing all the stuff Moose can do.
1227
d7f17ebb 1228 * Moose
1229 - fixed an issue with &extends super class loading
4734114b 1230 it now captures errors and deals with inline
1231 packages correctly (bug found by mst, solution
d7f17ebb 1232 stolen from alias)
159da176 1233 - added super/override & inner/augment features
1234 - added tests and docs for these
4734114b 1235
d7f17ebb 1236 * Moose::Object
4734114b 1237 - BUILDALL now takes a reference of the %params
1238 that are passed to &new, and passes that to
d7f17ebb 1239 each BUILD as well.
4734114b 1240
471c4f09 1241 * Moose::Util::TypeConstraints
1242 - Type constraints now survive runtime reloading
1243 - added test for this
d7f17ebb 1244
8339fae2 1245 * Moose::Meta::Class
4734114b 1246 - fixed the way attribute defaults are handled
8339fae2 1247 during instance construction (bug found by chansen)
1248
d7f17ebb 1249 * Moose::Meta::Attribute
1250 - read-only attributes now actually enforce their
4734114b 1251 read-only-ness (this corrected in Class::MOP as
9deed647 1252 well)
d7f17ebb 1253
076c81ed 12540.02 Tues. March 21, 2006
fc5609d2 1255 * Moose
4734114b 1256 - many more tests, fixing some bugs and
b841b2a3 1257 edge cases
b841b2a3 1258 - &extends now loads the base module with
4734114b 1259 UNIVERSAL::require
1260 - added UNIVERSAL::require to the
b841b2a3 1261 dependencies list
6ba6d68c 1262 ** API CHANGES **
4734114b 1263 - each new Moose class will also create
1264 and register a subtype of Object which
1265 correspond to the new Moose class.
1266 - the 'isa' option in &has now only
1267 accepts strings, and will DWIM in
b841b2a3 1268 almost all cases
4734114b 1269
b841b2a3 1270 * Moose::Util::TypeConstraints
1271 - added type coercion features
1272 - added tests for this
4734114b 1273 - added support for this in attributes
b841b2a3 1274 and instance construction
6ba6d68c 1275 ** API CHANGES **
4734114b 1276 - type construction no longer creates a
b841b2a3 1277 function, it registers the type instead.
4734114b 1278 - added several functions to get the
1279 registered types
6ba6d68c 1280
1281 * Moose::Object
4734114b 1282 - BUILDALL and DEMOLISHALL were broken
6ba6d68c 1283 because of a mis-named hash key, Whoops :)
4734114b 1284
b841b2a3 1285 * Moose::Meta::Attribute
1286 - adding support for coercion in the
1287 autogenerated accessors
4734114b 1288
b841b2a3 1289 * Moose::Meta::Class
1290 - adding support for coercion in the
4734114b 1291 instance construction
6ba6d68c 1292
1293 * Moose::Meta::TypeConstraint
1294 * Moose::Meta::TypeCoercion
4734114b 1295 - type constraints and coercions are now
6ba6d68c 1296 full fledges meta-objects
fc5609d2 1297
e522431d 12980.01 Wed. March 15, 2006
900466d6 1299 - Moooooooooooooooooose!!!