1 Revision history for Perl extension Moose
4 ~~~ more misc. doc. fixes ~~~
5 ~~ updated copyright dates ~~
7 * Moose::Meta::Method::Accessor
8 - fixed bug when passing a list of values to
9 an accessor would get (incorrectly) ignored.
10 Thanks to Sartak for finding this ;)
11 - added tests for this (Sartak again)
13 * Moose::Meta::Method::Accessor
14 Moose::Meta::Method::Constructor
15 Moose::Meta::Method::Attribute
16 - cleanup of some of the generated methods
17 (thanks to nothingmuch)
19 * Moose::Util::TypeConstraints
20 - all optimized type constraint subs are now
21 pulled from the Moose::Util::TypeConstraints::OptimizedConstraints
22 module (thanks to nothingmuch)
24 * Moose::Util::TypeConstraints::OptimizedConstraints
25 - added this module (see above)
27 0.33 Fri. Dec. 14, 2007
28 !! Moose now loads 2 x faster !!
29 !! with new Class::MOP 0.49 !!
31 ++ new oose.pm module to make command line
32 Moose-ness easier (see POD docs for more)
36 - several tweaks to take advantage of the
37 new method map caching in Class::MOP
39 * Moose::Meta::TypeConstraint::Parameterized
40 - allow subtypes of ArrayRef and HashRef to
41 be used as a container (sartak)
42 - added tests for this
43 - basic support for coercion to ArrayRef and
44 HashRef for containers (sartak)
45 - added tests for this
47 * Moose::Meta::TypeCoercion
48 - coercions will now create subtypes as needed
49 so you can now add coercions to parameterized
50 types without having to explictly define them
51 - added tests for this
53 * Moose::Meta::Method::Accessor
54 - allow subclasses to decide whether we need
55 to copy the value into a new variable (sartak)
57 0.32 Tues. Dec. 4, 2007
58 * Moose::Util::TypeConstraints
59 - fixing how subtype aliases of unions work
60 they should inherit the parent's coercion
61 - added tests for this
62 - you can now define multiple coercions on
63 a single type at different times instead of
64 having to do it all in one place
65 - added tests for this
67 * Moose::Meta::TypeConstraint
68 - there is now a default constraint of sub { 1 }
69 instead of Moose::Util::TypeConstraints setting
72 * Moose::Meta::TypeCoercion
73 * Moose::Meta::TypeCoercion::Union
74 - added the &has_coercion_for_type and
75 &add_type_coercions methods to support the
76 new features above (although you cannot add
77 more type coercions for Union types)
79 0.31 Mon. Nov. 26, 2007
80 * Moose::Meta::Attribute
81 - made the +attr syntax handle extending types with
82 parameters. So "has '+foo' => (isa => 'ArrayRef[Int]')"
83 now works if the original foo is an ArrayRef.
84 - added tests for this.
85 - delegation now works even if the attribute does not
86 have a reader method using the get_read_method_ref
87 method from Class::MOP::Attribute.
88 - added tests for this
91 * Moose::Util::TypeConstraints
92 - passing no "additional attribute info" to
93 &find_or_create_type_constraint will no longer
94 attempt to create an __ANON__ type for you,
95 instead it will just return undef.
98 0.30 Fri. Nov. 23, 2007
99 * Moose::Meta::Method::Constructor
100 -builder related bug in inlined constructor. (groditi)
102 * Moose::Meta::Method::Accessor
103 - genereate unnecessary calls to predicates and refactor
104 code generation for runtime speed (groditi)
106 * Moose::Util::TypeConstraints
107 - fix ClassName constraint to introspect symbol table (mst)
108 - added more tests for this (mst)
109 - fixed it so that subtype 'Foo' => as 'HashRef[Int]' ...
111 - added tests for this
114 - adding the link to Recipie 11 (written by Sartak)
115 - adding test for SYNOPSIS code
118 - New tests for builder bug. Upon instantiation, if an
119 attribute had a builder, no value and was not lazy the
120 builder default was not getting run, oops. (groditi)
122 0.29 Tues. Nov. 13, 2007
123 * Moose::Meta::Attribute
124 - Fix error message on missing builder method (groditi)
126 * Moose::Meta::Method::Accessor
127 - Fix error message on missing builder method (groditi)
130 - Add test to check for the correct error message when
131 builder method is missing (groditi)
133 0.28 Tues. Nov. 13, 2007
134 - 0.27 packaged incorrectly (groditi)
136 0.27 Tues. Nov. 13, 2007
137 * Moose::Meta::Attribute
138 - Added support for the new builder option (groditi)
139 - Added support for lazy_build option (groditi)
140 - Changed slot initialization for predicate changes (groditi)
142 * Moose::Meta::Method::Accessor
143 - Added support for lazy_build option (groditi)
144 - Fix inline methods to work with corrected predicate
147 * Moose::Meta::Method::Constructor
148 - Added support for lazy_build option (groditi)
151 - tests for builder and lazy_build (groditi)
153 * fixing some misc. bits in the docs that
154 got mentioned on CPAN Forum & perlmonks
157 - fixed how required methods are handled
158 when they encounter overriden or modified
159 methods from a class (thanks to confound).
160 - added tests for this
162 * Moose::Util::TypeConstraint
163 - fixed the type notation parser so that
164 the | always creates a union and so is
165 no longer a valid type char (thanks to
166 konobi, mugwump and #moose for working
168 - added more tests for this
170 0.26 Thurs. Sept. 27, 2007
173 * Parameterized Types
174 We now support parameterized collection types, such as:
175 ArrayRef[Int] # array or integers
176 HashRef[Object] # a hash with object values
177 They can also be nested:
178 ArrayRef[HashRef[RegExpr]] # an array of hashes with regexpr values
179 And work with the type unions as well:
180 ArrayRef[Int | Str] # array of integers of strings
182 * Better Framework Extendability
183 Moose.pm is now "extendable" such that it is now much
184 easier to extend the framework and add your own keywords
185 and customizations. See the "EXTENDING AND EMBEDDING MOOSE"
186 section of the Moose.pm docs.
189 In an effort to begin documenting some of the various
190 details of Moose as well as some common idioms, we have
191 created Moose::Cookbook::Snacks as a place to find
192 small (easily digestable) nuggets of Moose code.
195 ~ Several doc updates/cleanup thanks to castaway ~
197 - converted build system to use Module::Install instead of
198 Module::Build (thanks to jrockway)
201 - added all the meta classes to the immutable list and
202 set it to inline the accessors
203 - fix import to allow Sub::Exporter like { into => }
204 and { into_level => } (perigrin)
205 - exposed and documented init_meta() to allow better
206 embedding and extending of Moose (perigrin)
209 - complete re-organization of the test suite
210 - added some new tests as well
211 - finally re-enabled the Moose::POOP test since
212 the new version of DBM::Deep now works again
216 - fixed very odd and very nasty recursion bug with
218 - added tests for this (eilara)
220 * Moose::Meta::Attribute
221 Moose::Meta::Method::Constructor
222 Moose::Meta::Method::Accessor
223 - fixed issue with overload::Overloaded getting called
224 on non-blessed items. (RT #29269)
225 - added tests for this
227 * Moose::Meta::Method::Accessor
228 - fixed issue with generated accessor code making
229 assumptions about hash based classes (thanks to dexter)
231 * Moose::Coookbook::Snacks
232 - these are bits of documentation, not quite as big as
233 Recipes but which have no clear place in the module docs.
234 So they are Snacks! (horray for castaway++)
236 * Moose::Cookbook::Recipe4
237 - updated it to use the new ArrayRef[MyType] construct
238 - updated the accompanying test as well
240 +++ Major Refactor of the Type Constraint system +++
241 +++ with new features added as well +++
243 * Moose::Util::TypeConstraint
244 - no longer uses package variable to keep track of
245 the type constraints, now uses the an instance of
246 Moose::Meta::TypeConstraint::Registry to do it
247 - added more sophisticated type notation parsing
249 - added tests for this
251 * Moose::Meta::TypeConstraint
252 - some minor adjustments to make subclassing easier
253 - added the package_defined_in attribute so that we
254 can track where the type constraints are created
256 * Moose::Meta::TypeConstraint::Union
257 - this is now been refactored to be a subclass of
258 Moose::Meta::TypeConstraint
260 * Moose::Meta::TypeCoercion::Union
261 - this has been added to service the newly refactored
262 Moose::Meta::TypeConstraint::Union and is itself
263 a subclass of Moose::Meta::TypeCoercion
265 * Moose::Meta::TypeConstraint::Parameterized
266 - added this module (taken from MooseX::AttributeHelpers)
267 to help construct nested collection types
268 - added tests for this
270 * Moose::Meta::TypeConstraint::Registry
271 - added this class to keep track of type constraints
273 0.25 Mon. Aug. 13, 2007
275 - Documentation update to reference Moose::Util::TypeConstraints
276 under 'isa' in 'has' for how to define a new type
279 * Moose::Meta::Attribute
280 - required attributes now will no longer accept undef
281 from the constructor, even if there is a default and lazy
282 - added tests for this
283 - default subroutines must return a value which passes the
285 - added tests for this
287 * Moose::Meta::Attribute
288 * Moose::Meta::Method::Constructor
289 * Moose::Meta::Method::Accessor
290 - type-constraint tests now handle overloaded objects correctly
292 - added tests for this (thanks to EvanCarroll)
294 * Moose::Meta::TypeConstraint::Union
295 - added (has_)hand_optimized_constraint to this class so that
296 it behaves as the regular Moose::Meta::TypeConstraint does.
299 - large refactoring of this code
300 - added several more tests
301 - tests for subtle conflict resolition issues
302 added, but not currently running
305 * Moose::Cookbook::Recipe7
306 - added new recipe for augment/inner functionality
308 - added test for this
311 - a formal definition of roles (still in progress)
314 - utilities for easier working with Moose classes
315 - added tests for these
318 - This contains Moose specific test functions
319 - added tests for these
321 0.24 Tues. July 3, 2007
322 ~ Some doc updates/cleanup ~
324 * Moose::Meta::Attribute
325 - added support for roles to be given as parameters
326 to the 'handles' option.
327 - added tests and docs for this
328 - the has '+foo' attribute form now accepts changes to
329 the lazy option, and the addition of a handles option
330 (but not changing the handles option)
331 - added tests and docs for this
334 - required methods are now fetched using find_method_by_name
335 so that required methods can come from superclasses
336 - adjusted tests for this
338 0.23 Mon. June 18, 2007
339 * Moose::Meta::Method::Constructor
340 - fix inlined constructor for hierarchy with multiple BUILD methods (mst)
342 - Modify make_immutable to work with the new Class::MOP immutable
343 mechanism + POD + very basic test (groditi)
344 * Moose::Meta::Attribute
345 - Fix handles to use goto() so that caller() comes out properly on
346 the other side (perigrin)
348 0.22 Thurs. May 31, 2007
349 * Moose::Util::TypeConstraints
350 - fix for prototype undeclared issue when Moose::Util::TypeConstraints
351 loaded before consumers (e.g. Moose::Meta::Attribute) by predeclaring
352 prototypes for functions
353 - added the ClassName type constraint, this checks for strings
354 which will respond true to ->isa(UNIVERSAL).
355 - added tests and docs for this
356 - subtyping just in name now works correctly by making the
357 default for where be { 1 }
358 - added test for this
360 * Moose::Meta::Method::Accessor
361 - coerce and lazy now work together correctly, thanks to
362 merlyn for finding this bug
363 - tests added for this
364 - fix reader presedence bug in Moose::Meta::Attribute + tests
367 - Foo->new(undef) now gets ignored, it is assumed you meant to pass
368 a HASH-ref and missed. This produces better error messages then
369 having it die cause undef is not a HASH.
370 - added tests for this
372 0.21 Thursday, May 2nd, 2007
374 - added SUPER_SLOT and INNER_SLOT class hashes to support unimport
375 - modified unimport to remove super and inner along with the rest
376 - altered unimport tests to handle this
379 - altered super export to populate SUPER_SLOT
382 - altered augment and override modifier application to use *_SLOT
383 - modified tests for these to unimport one test class each to test
386 - fixed issue where custom attribute metaclasses
387 where not handled correctly in roles
388 - added tests for this
391 - fixed issue where extending metaclasses with
392 roles would blow up. Thanks to Aankhen`` for
393 finding this insidious error, and it's solution.
395 ~~ lots of spelling and grammer fixes in the docs,
396 many many thanks to rlb3 and Aankhen for these :)
398 0.20 Friday, April 6th, 2007
399 >> I messed up the SKIP logic in one test
400 so this release is just to fix that.
403 - 'has' now also accepts an ARRAY ref
404 to create multiple attrs (see docs)
405 (thanks to konobi for this)
406 - added tests and docs
408 0.19 Thurs. April 5th, 2007
409 ~~ More documentation updates ~~
411 * Moose::Util::TypeConstraints
412 - 'type' now supports messages as well
413 thanks to phaylon for finding this
414 - added tests for this
415 - added &list_all_type_constraints and
416 &list_all_builtin_type_constraints
417 functions to facilitate introspection.
419 * Moose::Meta::Attribute
420 - fixed regexp 'handles' declarations
421 to build the list of delegated methods
422 correctly (and not override important
423 things like &new) thanks to ashleyb
425 - added tests and docs for this
426 - added the 'documentation' attributes
427 so that you can actually document your
428 attributes and inspect them through the
430 - added tests and docs for this
433 - when loading custom attribute metaclasses
434 it will first look in for the class in the
435 Moose::Meta::Attribute::Custom::$name, and
436 then default to just loading $name.
437 - added tests and docs for this
439 * Moose::Meta::TypeConstraint
440 - type constraints now stringify to their names.
441 - added test for this
444 - added tests to assure we work with Module::Refresh
445 - added stricter test skip logic in the Moose POOP
446 test, ask Rob Kinyon why.
447 - *cough* DBM::Deep 1.0 backwards compatability sucks *cough* ;)
449 0.18 Sat. March 10, 2007
450 ~~ Many, many documentation updates ~~
453 - We now use Class::MOP::load_class to
455 - added tests to show types and subtypes
456 working with Declare::Constraints::Simple
457 and Test::Deep as constraint engines.
460 !! You must have Class::MOP 0.37_001 !!
461 !! for this developer release to work !!
463 This release was primarily adding the immutable
464 feature to Moose. An immutable class is one which
465 you promise not to alter. When you set the class
466 as immutable it will perform various bits of
467 memoization and inline certain part of the code
468 (constructors, destructors and accessors). This
469 minimizes (and in some cases totally eliminates)
470 one of Moose's biggest performance hits. This
471 feature is not on by default, and is 100% optional.
472 It has several configurable bits as well, so you
473 can pick and choose to your specific needs.
475 The changes involved in this were fairly wide and
476 highly specific, but 100% backwards compatible, so
477 I am not going to enumerate them here. If you are
478 truely interested in what was changed, please do
481 0.17 Tues. Nov. 14, 2006
482 * Moose::Meta::Method::Accessor
483 - bugfix for read-only accessors which
484 are have a type constraint and lazy.
485 Thanks to chansen for finding it.
487 0.16 Tues. Nov. 14, 2006
489 There are some speed improvements in this release,
490 but they are only the begining, so stay tuned.
493 - BUILDALL and DEMOLISHALL no longer get
494 called unless they actually need to be.
495 This gave us a signifigant speed boost
496 for the cases when there is no BUILD or
497 DEMOLISH method present.
499 * Moose::Util::TypeConstraints
500 * Moose::Meta::TypeConstraint
501 - added an 'optimize_as' option to the
502 type constraint, which allows for a
503 hand optimized version of the type
504 constraint to be used when possible.
505 - Any internally created type constraints
506 now provide an optimized version as well.
508 0.15 Sun. Nov. 5, 2006
510 This version of Moose *must* have Class::MOP 0.36 in order
511 to work correctly. A number of small internal tweaks have
512 been made in order to be compatible with that release.
514 * Moose::Util::TypeConstraints
515 - added &unimport so that you can clean out
516 your class namespace of these exported
520 - fixed minor issue which occasionally
521 comes up during global destruction
523 - moved Moose::Meta::Method::Overriden into
527 - moved Moose::Meta::Role::Method into
530 * Moose::Meta::Attribute
531 - changed how we do type checks so that
532 we reduce the overall cost, but still
535 - moved accessor generation methods to
536 Moose::Meta::Method::Accessor to
537 conform to the API changes from
540 * Moose::Meta::TypeConstraint
541 - changed how constraints are compiled
542 so that we do less recursion and more
543 iteration. This makes the type check
545 - moved Moose::Meta::TypeConstraint::Union
548 * Moose::Meta::Method::Accessor
549 - created this from methods formerly found in
550 Moose::Meta::Attribute
552 * Moose::Meta::Role::Method
553 - moved this from Moose::Meta::Role
555 * Moose::Meta::Method::Overriden
556 - moved this from Moose::Meta::Class
558 * Moose::Meta::TypeConstraint::Union
559 - moved this from Moose::Meta::TypeConstraint
561 0.14 Mon. Oct. 9, 2006
563 * Moose::Meta::Attribute
564 - fixed lazy attributes which were not getting
565 checked with the type constraint (thanks ashley)
566 - added tests for this
567 - removed the over-enthusiastic DWIMery of the
568 automatic ArrayRef and HashRef defaults, it
569 broke predicates in an ugly way.
570 - removed tests for this
572 0.13 Sat. Sept. 30, 2006
574 This version of Moose *must* have Class::MOP 0.35 in order
575 to work correctly. A number of small internal tweaks have
576 been made in order to be compatible with that release.
579 - Removed the use of UNIVERSAL::require to be a better
580 symbol table citizen and remove a dependency
581 (thanks Adam Kennedy)
583 **~~ removed experimental & undocumented feature ~~**
584 - commented out the 'method' and 'self' keywords, see the
585 comments for more info.
588 - added a FAQ and WTF files to document frequently
589 asked questions and common problems
591 * Moose::Util::TypeConstraints
592 - added GlobRef and FileHandle type constraint
593 - added tests for this
595 * Moose::Meta::Attribute
596 - if your attribute 'isa' ArrayRef of HashRef, and you have
597 not explicitly set a default, then make the default DWIM.
598 This will also work for subtypes of ArrayRef and HashRef
600 - you can now auto-deref subtypes of ArrayRef or HashRef too.
601 - new test added for this (thanks to ashley)
604 - added basic support for runtime role composition
605 but this is still *highly experimental*, so feedback
606 is much appreciated :)
607 - added tests for this
609 * Moose::Meta::TypeConstraint
610 - the type constraint now handles the coercion process
611 through delegation, this is to support the coercion
614 * Moose::Meta::TypeConstraint::Union
615 - it is now possible for coercions to be performed
617 - added tests for this (thanks to konobi)
619 * Moose::Meta::TypeCoercion
620 - properly capturing error when type constraint
624 - Scalar::Util 1.18 is bad on Win32, so temporarily
625 only require version 1.17 for Win32 and cygwin.
626 (thanks Adam Kennedy)
628 0.12 Sat. Sept. 1, 2006
630 - Recipe5 (subtypes & coercion) has been written
633 - fixed "bad meta" error message to be more descriptive
634 - fixed &unimport to not remove the &inner and &super
635 keywords because we need to localize them.
636 - fixed number of spelling/grammer issues, thanks Theory :)
638 **~~ experimental & undocumented feature ~~**
639 - added the method and self keywords, they are basically
640 just sugar, and they may not stay around.
643 - added &dump method to easily Data::Dumper
646 * Moose::Meta::TypeConstraint
647 - added the &is_a_type_of method to check both the current
648 and the subtype of a method (similar to &isa with classes)
651 - this is now a subclass of Class::MOP::Module, and no longer
652 creates the _role_meta ugliness of before.
653 - fixed tests to reflect this change
655 0.11 Wed. July 12, 2006
657 - added an &unimport method to remove all the keywords
658 that Moose will import, simply add 'no Moose' to the
659 bottom of your class file.
662 - fixed some test failures caused by a forgotten test
665 0.10 Thurs. July 6, 2006
667 - improved error message when loading modules so
668 it is less confusing when you load a role.
669 - added &calculate_all_roles method to
670 Moose::Meta::Class and Moose::Meta::Role
673 This module has been tested against Class::MOP 0.30
674 but it does not yet utilize the optimizations
675 it makes available. Stay tuned for that ;)
677 0.09_03 Fri. June 23, 2006
678 ++ DEVELOPER RELEASE ++
680 - 'use strict' and 'use warnings' are no longer
681 needed in Moose classes, Moose itself will
682 turn them on for you.
683 - added tests for this
684 - moved code from exported subs to private methods
685 in Moose::Meta::Class
688 - as with Moose, strict and warnings are
689 automatically turned on for you.
690 - added tests for this
693 - now handles an edge case for override errors
694 - added tests for this
695 - added some more edge case tests
697 0.09_02 Tues. May 16, 2006
698 ++ DEVELOPER RELEASE ++
700 - added prototypes to the exported subs
704 - added prototypes to the exported subs
707 * Moose::Util::TypeConstraints
708 - cleaned up prototypes for the subs
711 0.09_01 Fri. May 12, 2006
712 ++ DEVELOPER RELEASE ++
713 - This release works in combination with
714 Class::MOP 0.29_01, it is a developer
715 release because it uses the a new
716 instance sub-protocol and a fairly
717 complete Role implementation. It has
718 not yet been optimized, so it slower
719 the the previous CPAN version. This
720 release also lacks good updated docs,
721 the official release will have updated docs.
724 - refactored the keyword exports
725 - 'with' now checks Role validaity and
726 accepts more than one Role at a time
727 - 'extends' makes metaclass adjustments as
728 needed to ensure metaclass compatability
731 - refactored the keyword exports
732 - 'with' now checks Role validaity and
733 accepts more than one Role at a time
735 * Moose::Util::TypeConstraints
736 - added the 'enum' keyword for simple
737 string enumerations which can be used as
739 - see example of usage in t/202_example.t
742 - more careful checking of params to new()
745 - much work done on the role composition
746 - many new tests for conflict detection
747 and composition edge cases
748 - not enough documentation, I suggest
751 * Moose::Meta::Instance
752 - added new Instance metaclass to support
753 the new Class::MOP instance protocol
756 - some small changes to support the new
758 - some small additions to support Roles
760 * Moose::Meta::Attribute
761 - some improvements to the accessor generation code
763 - some small changes to support the new
765 - (still somewhat) experimental delegation support
766 with the 'handles' option
767 - added several tests for this
768 - no docs for this yet
770 0.05 Thurs. April 27, 2006
772 - keywords are now exported with Sub::Exporter
773 thanks to chansen for this commit
774 - has keyword now takes a 'metaclass' option
775 to support custom attribute meta-classes
776 on a per-attribute basis
777 - added tests for this
778 - the 'has' keyword not accepts inherited slot
779 specifications (has '+foo'). This is still an
780 experimental feature and probably not finished
781 see t/038_attribute_inherited_slot_specs.t for
782 more details, or ask about it on #moose
783 - added tests for this
786 - keywords are now exported with Sub::Exporter
788 * Moose::Utils::TypeConstraints
789 - reorganized the type constraint hierarchy, thanks
790 to nothingmuch and chansen for his help and advice
792 - added some tests for this
793 - keywords are now exported with Sub::Exporter
794 thanks to chansen for this commit
797 - due to changes in Class::MOP, we had to change
798 construct_instance (for the better)
800 * Moose::Meta::Attribute
801 - due to changes in Class::MOP, we had to add the
802 initialize_instance_slot method (it's a good thing)
804 * Moose::Meta::TypeConstraint
805 - added type constraint unions
806 - added tests for this
807 - added the is_subtype_of predicate method
808 - added tests for this
810 0.04 Sun. April 16th, 2006
812 - Roles can now consume other roles
813 - added tests for this
814 - Roles can specify required methods now with
815 the requires() keyword
816 - added tests for this
819 - ripped out much of it's guts ,.. much cleaner now
820 - added required methods and correct handling of
821 them in apply() for both classes and roles
822 - added tests for this
823 - no longer adds a does() method to consuming classes
824 it relys on the one in Moose::Object
825 - added roles attribute and some methods to support
826 roles consuming roles
828 * Moose::Meta::Attribute
829 - added support for triggers on attributes
830 - added tests for this
831 - added support for does option on an attribute
832 - added tests for this
835 - added support for attribute triggers in the
837 - added tests for this
840 - Moose no longer creates a subtype for your class
841 if a subtype of the same name already exists, this
842 should DWIM in 99.9999% of all cases
844 * Moose::Util::TypeConstraints
845 - fixed bug where incorrect subtype conflicts were
847 - added test for this
850 - this class can now be extended with 'use base' if
851 you need it, it properly loads the metaclass class now
852 - added test for this
854 0.03_02 Wed. April 12, 2006
856 - you must now explictly use Moose::Util::TypeConstraints
857 it no longer gets exported for you automatically
860 - new() now accepts hash-refs as well as key/value lists
861 - added does() method to check for Roles
862 - added tests for this
865 - added roles attribute along with the add_role() and
867 - added tests for this
870 - now adds a does() method to consuming classes
871 which tests the class's hierarchy for roles
872 - added tests for this
874 0.03_01 Mon. April 10, 2006
876 - added new Role recipe (no content yet, only code)
879 - added 'with' keyword for Role support
880 - added test and docs for this
881 - fixed subtype quoting bug
882 - added test for this
886 - added test and docs
888 * Moose::Util::TypeConstraints
889 - added the message keyword to add custom
890 error messages to type constraints
893 - the meta role to support Moose::Role
894 - added tests and docs
897 - moved a number of things from Moose.pm
898 to here, they should have been here
901 * Moose::Meta::Attribute
902 - moved the attribute option macros here
903 instead of putting them in Moose.pm
905 * Moose::Meta::TypeConstraint
906 - added the message attributes and the
908 - added tests and docs for this
910 0.03 Thurs. March 30, 2006
912 - added the Moose::Cookbook with 5 recipes,
913 describing all the stuff Moose can do.
916 - fixed an issue with &extends super class loading
917 it now captures errors and deals with inline
918 packages correctly (bug found by mst, solution
920 - added super/override & inner/augment features
921 - added tests and docs for these
924 - BUILDALL now takes a reference of the %params
925 that are passed to &new, and passes that to
928 * Moose::Util::TypeConstraints
929 - Type constraints now survive runtime reloading
930 - added test for this
933 - fixed the way attribute defaults are handled
934 during instance construction (bug found by chansen)
936 * Moose::Meta::Attribute
937 - read-only attributes now actually enforce their
938 read-only-ness (this corrected in Class::MOP as
941 0.02 Tues. March 21, 2006
943 - many more tests, fixing some bugs and
945 - &extends now loads the base module with
947 - added UNIVERSAL::require to the
950 - each new Moose class will also create
951 and register a subtype of Object which
952 correspond to the new Moose class.
953 - the 'isa' option in &has now only
954 accepts strings, and will DWIM in
957 * Moose::Util::TypeConstraints
958 - added type coercion features
959 - added tests for this
960 - added support for this in attributes
961 and instance construction
963 - type construction no longer creates a
964 function, it registers the type instead.
965 - added several functions to get the
969 - BUILDALL and DEMOLISHALL were broken
970 because of a mis-named hash key, Whoops :)
972 * Moose::Meta::Attribute
973 - adding support for coercion in the
974 autogenerated accessors
977 - adding support for coercion in the
978 instance construction
980 * Moose::Meta::TypeConstraint
981 * Moose::Meta::TypeCoercion
982 - type constraints and coercions are now
983 full fledges meta-objects
985 0.01 Wed. March 15, 2006
986 - Moooooooooooooooooose!!!