1 Revision history for Perl extension Moose
6 0.33 Fri. Dec. 14, 2007
7 !! Moose now loads 2 x faster !!
8 !! with new Class::MOP 0.49 !!
10 ++ new ooose.pm module to make command line
11 Moose-ness easier (see POD docs for more)
15 - several tweaks to take advantage of the
16 new method map caching in Class::MOP
18 * Moose::Meta::TypeConstraint::Parameterized
19 - allow subtypes of ArrayRef and HashRef to
20 be used as a container (sartak)
21 - added tests for this
22 - basic support for coercion to ArrayRef and
23 HashRef for containers (sartak)
24 - added tests for this
26 * Moose::Meta::TypeCoercion
27 - coercions will now create subtypes as needed
28 so you can now add coercions to parameterized
29 types without having to explictly define them
30 - added tests for this
32 * Moose::Meta::Method::Accessor
33 - allow subclasses to decide whether we need
34 to copy the value into a new variable (sartak)
36 0.32 Tues. Dec. 4, 2007
37 * Moose::Util::TypeConstraints
38 - fixing how subtype aliases of unions work
39 they should inherit the parent's coercion
40 - added tests for this
41 - you can now define multiple coercions on
42 a single type at different times instead of
43 having to do it all in one place
44 - added tests for this
46 * Moose::Meta::TypeConstraint
47 - there is now a default constraint of sub { 1 }
48 instead of Moose::Util::TypeConstraints setting
51 * Moose::Meta::TypeCoercion
52 * Moose::Meta::TypeCoercion::Union
53 - added the &has_coercion_for_type and
54 &add_type_coercions methods to support the
55 new features above (although you cannot add
56 more type coercions for Union types)
58 0.31 Mon. Nov. 26, 2007
59 * Moose::Meta::Attribute
60 - made the +attr syntax handle extending types with
61 parameters. So "has '+foo' => (isa => 'ArrayRef[Int]')"
62 now works if the original foo is an ArrayRef.
63 - added tests for this.
64 - delegation now works even if the attribute does not
65 have a reader method using the get_read_method_ref
66 method from Class::MOP::Attribute.
67 - added tests for this
70 * Moose::Util::TypeConstraints
71 - passing no "additional attribute info" to
72 &find_or_create_type_constraint will no longer
73 attempt to create an __ANON__ type for you,
74 instead it will just return undef.
77 0.30 Fri. Nov. 23, 2007
78 * Moose::Meta::Method::Constructor
79 -builder related bug in inlined constructor. (groditi)
81 * Moose::Meta::Method::Accessor
82 - genereate unnecessary calls to predicates and refactor
83 code generation for runtime speed (groditi)
85 * Moose::Util::TypeConstraints
86 - fix ClassName constraint to introspect symbol table (mst)
87 - added more tests for this (mst)
88 - fixed it so that subtype 'Foo' => as 'HashRef[Int]' ...
90 - added tests for this
93 - adding the link to Recipie 11 (written by Sartak)
94 - adding test for SYNOPSIS code
97 - New tests for builder bug. Upon instantiation, if an
98 attribute had a builder, no value and was not lazy the
99 builder default was not getting run, oops. (groditi)
101 0.29 Tues. Nov. 13, 2007
102 * Moose::Meta::Attribute
103 - Fix error message on missing builder method (groditi)
105 * Moose::Meta::Method::Accessor
106 - Fix error message on missing builder method (groditi)
109 - Add test to check for the correct error message when
110 builder method is missing (groditi)
112 0.28 Tues. Nov. 13, 2007
113 - 0.27 packaged incorrectly (groditi)
115 0.27 Tues. Nov. 13, 2007
116 * Moose::Meta::Attribute
117 - Added support for the new builder option (groditi)
118 - Added support for lazy_build option (groditi)
119 - Changed slot initialization for predicate changes (groditi)
121 * Moose::Meta::Method::Accessor
122 - Added support for lazy_build option (groditi)
123 - Fix inline methods to work with corrected predicate
126 * Moose::Meta::Method::Constructor
127 - Added support for lazy_build option (groditi)
130 - tests for builder and lazy_build (groditi)
132 * fixing some misc. bits in the docs that
133 got mentioned on CPAN Forum & perlmonks
136 - fixed how required methods are handled
137 when they encounter overriden or modified
138 methods from a class (thanks to confound).
139 - added tests for this
141 * Moose::Util::TypeConstraint
142 - fixed the type notation parser so that
143 the | always creates a union and so is
144 no longer a valid type char (thanks to
145 konobi, mugwump and #moose for working
147 - added more tests for this
149 0.26 Thurs. Sept. 27, 2007
152 * Parameterized Types
153 We now support parameterized collection types, such as:
154 ArrayRef[Int] # array or integers
155 HashRef[Object] # a hash with object values
156 They can also be nested:
157 ArrayRef[HashRef[RegExpr]] # an array of hashes with regexpr values
158 And work with the type unions as well:
159 ArrayRef[Int | Str] # array of integers of strings
161 * Better Framework Extendability
162 Moose.pm is now "extendable" such that it is now much
163 easier to extend the framework and add your own keywords
164 and customizations. See the "EXTENDING AND EMBEDDING MOOSE"
165 section of the Moose.pm docs.
168 In an effort to begin documenting some of the various
169 details of Moose as well as some common idioms, we have
170 created Moose::Cookbook::Snacks as a place to find
171 small (easily digestable) nuggets of Moose code.
174 ~ Several doc updates/cleanup thanks to castaway ~
176 - converted build system to use Module::Install instead of
177 Module::Build (thanks to jrockway)
180 - added all the meta classes to the immutable list and
181 set it to inline the accessors
182 - fix import to allow Sub::Exporter like { into => }
183 and { into_level => } (perigrin)
184 - exposed and documented init_meta() to allow better
185 embedding and extending of Moose (perigrin)
188 - complete re-organization of the test suite
189 - added some new tests as well
190 - finally re-enabled the Moose::POOP test since
191 the new version of DBM::Deep now works again
195 - fixed very odd and very nasty recursion bug with
197 - added tests for this (eilara)
199 * Moose::Meta::Attribute
200 Moose::Meta::Method::Constructor
201 Moose::Meta::Method::Accessor
202 - fixed issue with overload::Overloaded getting called
203 on non-blessed items. (RT #29269)
204 - added tests for this
206 * Moose::Meta::Method::Accessor
207 - fixed issue with generated accessor code making
208 assumptions about hash based classes (thanks to dexter)
210 * Moose::Coookbook::Snacks
211 - these are bits of documentation, not quite as big as
212 Recipes but which have no clear place in the module docs.
213 So they are Snacks! (horray for castaway++)
215 * Moose::Cookbook::Recipe4
216 - updated it to use the new ArrayRef[MyType] construct
217 - updated the accompanying test as well
219 +++ Major Refactor of the Type Constraint system +++
220 +++ with new features added as well +++
222 * Moose::Util::TypeConstraint
223 - no longer uses package variable to keep track of
224 the type constraints, now uses the an instance of
225 Moose::Meta::TypeConstraint::Registry to do it
226 - added more sophisticated type notation parsing
228 - added tests for this
230 * Moose::Meta::TypeConstraint
231 - some minor adjustments to make subclassing easier
232 - added the package_defined_in attribute so that we
233 can track where the type constraints are created
235 * Moose::Meta::TypeConstraint::Union
236 - this is now been refactored to be a subclass of
237 Moose::Meta::TypeConstraint
239 * Moose::Meta::TypeCoercion::Union
240 - this has been added to service the newly refactored
241 Moose::Meta::TypeConstraint::Union and is itself
242 a subclass of Moose::Meta::TypeCoercion
244 * Moose::Meta::TypeConstraint::Parameterized
245 - added this module (taken from MooseX::AttributeHelpers)
246 to help construct nested collection types
247 - added tests for this
249 * Moose::Meta::TypeConstraint::Registry
250 - added this class to keep track of type constraints
252 0.25 Mon. Aug. 13, 2007
254 - Documentation update to reference Moose::Util::TypeConstraints
255 under 'isa' in 'has' for how to define a new type
258 * Moose::Meta::Attribute
259 - required attributes now will no longer accept undef
260 from the constructor, even if there is a default and lazy
261 - added tests for this
262 - default subroutines must return a value which passes the
264 - added tests for this
266 * Moose::Meta::Attribute
267 * Moose::Meta::Method::Constructor
268 * Moose::Meta::Method::Accessor
269 - type-constraint tests now handle overloaded objects correctly
271 - added tests for this (thanks to EvanCarroll)
273 * Moose::Meta::TypeConstraint::Union
274 - added (has_)hand_optimized_constraint to this class so that
275 it behaves as the regular Moose::Meta::TypeConstraint does.
278 - large refactoring of this code
279 - added several more tests
280 - tests for subtle conflict resolition issues
281 added, but not currently running
284 * Moose::Cookbook::Recipe7
285 - added new recipe for augment/inner functionality
287 - added test for this
290 - a formal definition of roles (still in progress)
293 - utilities for easier working with Moose classes
294 - added tests for these
297 - This contains Moose specific test functions
298 - added tests for these
300 0.24 Tues. July 3, 2007
301 ~ Some doc updates/cleanup ~
303 * Moose::Meta::Attribute
304 - added support for roles to be given as parameters
305 to the 'handles' option.
306 - added tests and docs for this
307 - the has '+foo' attribute form now accepts changes to
308 the lazy option, and the addition of a handles option
309 (but not changing the handles option)
310 - added tests and docs for this
313 - required methods are now fetched using find_method_by_name
314 so that required methods can come from superclasses
315 - adjusted tests for this
317 0.23 Mon. June 18, 2007
318 * Moose::Meta::Method::Constructor
319 - fix inlined constructor for hierarchy with multiple BUILD methods (mst)
321 - Modify make_immutable to work with the new Class::MOP immutable
322 mechanism + POD + very basic test (groditi)
323 * Moose::Meta::Attribute
324 - Fix handles to use goto() so that caller() comes out properly on
325 the other side (perigrin)
327 0.22 Thurs. May 31, 2007
328 * Moose::Util::TypeConstraints
329 - fix for prototype undeclared issue when Moose::Util::TypeConstraints
330 loaded before consumers (e.g. Moose::Meta::Attribute) by predeclaring
331 prototypes for functions
332 - added the ClassName type constraint, this checks for strings
333 which will respond true to ->isa(UNIVERSAL).
334 - added tests and docs for this
335 - subtyping just in name now works correctly by making the
336 default for where be { 1 }
337 - added test for this
339 * Moose::Meta::Method::Accessor
340 - coerce and lazy now work together correctly, thanks to
341 merlyn for finding this bug
342 - tests added for this
343 - fix reader presedence bug in Moose::Meta::Attribute + tests
346 - Foo->new(undef) now gets ignored, it is assumed you meant to pass
347 a HASH-ref and missed. This produces better error messages then
348 having it die cause undef is not a HASH.
349 - added tests for this
351 0.21 Thursday, May 2nd, 2007
353 - added SUPER_SLOT and INNER_SLOT class hashes to support unimport
354 - modified unimport to remove super and inner along with the rest
355 - altered unimport tests to handle this
358 - altered super export to populate SUPER_SLOT
361 - altered augment and override modifier application to use *_SLOT
362 - modified tests for these to unimport one test class each to test
365 - fixed issue where custom attribute metaclasses
366 where not handled correctly in roles
367 - added tests for this
370 - fixed issue where extending metaclasses with
371 roles would blow up. Thanks to Aankhen`` for
372 finding this insidious error, and it's solution.
374 ~~ lots of spelling and grammer fixes in the docs,
375 many many thanks to rlb3 and Aankhen for these :)
377 0.20 Friday, April 6th, 2007
378 >> I messed up the SKIP logic in one test
379 so this release is just to fix that.
382 - 'has' now also accepts an ARRAY ref
383 to create multiple attrs (see docs)
384 (thanks to konobi for this)
385 - added tests and docs
387 0.19 Thurs. April 5th, 2007
388 ~~ More documentation updates ~~
390 * Moose::Util::TypeConstraints
391 - 'type' now supports messages as well
392 thanks to phaylon for finding this
393 - added tests for this
394 - added &list_all_type_constraints and
395 &list_all_builtin_type_constraints
396 functions to facilitate introspection.
398 * Moose::Meta::Attribute
399 - fixed regexp 'handles' declarations
400 to build the list of delegated methods
401 correctly (and not override important
402 things like &new) thanks to ashleyb
404 - added tests and docs for this
405 - added the 'documentation' attributes
406 so that you can actually document your
407 attributes and inspect them through the
409 - added tests and docs for this
412 - when loading custom attribute metaclasses
413 it will first look in for the class in the
414 Moose::Meta::Attribute::Custom::$name, and
415 then default to just loading $name.
416 - added tests and docs for this
418 * Moose::Meta::TypeConstraint
419 - type constraints now stringify to their names.
420 - added test for this
423 - added tests to assure we work with Module::Refresh
424 - added stricter test skip logic in the Moose POOP
425 test, ask Rob Kinyon why.
426 - *cough* DBM::Deep 1.0 backwards compatability sucks *cough* ;)
428 0.18 Sat. March 10, 2007
429 ~~ Many, many documentation updates ~~
432 - We now use Class::MOP::load_class to
434 - added tests to show types and subtypes
435 working with Declare::Constraints::Simple
436 and Test::Deep as constraint engines.
439 !! You must have Class::MOP 0.37_001 !!
440 !! for this developer release to work !!
442 This release was primarily adding the immutable
443 feature to Moose. An immutable class is one which
444 you promise not to alter. When you set the class
445 as immutable it will perform various bits of
446 memoization and inline certain part of the code
447 (constructors, destructors and accessors). This
448 minimizes (and in some cases totally eliminates)
449 one of Moose's biggest performance hits. This
450 feature is not on by default, and is 100% optional.
451 It has several configurable bits as well, so you
452 can pick and choose to your specific needs.
454 The changes involved in this were fairly wide and
455 highly specific, but 100% backwards compatible, so
456 I am not going to enumerate them here. If you are
457 truely interested in what was changed, please do
460 0.17 Tues. Nov. 14, 2006
461 * Moose::Meta::Method::Accessor
462 - bugfix for read-only accessors which
463 are have a type constraint and lazy.
464 Thanks to chansen for finding it.
466 0.16 Tues. Nov. 14, 2006
468 There are some speed improvements in this release,
469 but they are only the begining, so stay tuned.
472 - BUILDALL and DEMOLISHALL no longer get
473 called unless they actually need to be.
474 This gave us a signifigant speed boost
475 for the cases when there is no BUILD or
476 DEMOLISH method present.
478 * Moose::Util::TypeConstraints
479 * Moose::Meta::TypeConstraint
480 - added an 'optimize_as' option to the
481 type constraint, which allows for a
482 hand optimized version of the type
483 constraint to be used when possible.
484 - Any internally created type constraints
485 now provide an optimized version as well.
487 0.15 Sun. Nov. 5, 2006
489 This version of Moose *must* have Class::MOP 0.36 in order
490 to work correctly. A number of small internal tweaks have
491 been made in order to be compatible with that release.
493 * Moose::Util::TypeConstraints
494 - added &unimport so that you can clean out
495 your class namespace of these exported
499 - fixed minor issue which occasionally
500 comes up during global destruction
502 - moved Moose::Meta::Method::Overriden into
506 - moved Moose::Meta::Role::Method into
509 * Moose::Meta::Attribute
510 - changed how we do type checks so that
511 we reduce the overall cost, but still
514 - moved accessor generation methods to
515 Moose::Meta::Method::Accessor to
516 conform to the API changes from
519 * Moose::Meta::TypeConstraint
520 - changed how constraints are compiled
521 so that we do less recursion and more
522 iteration. This makes the type check
524 - moved Moose::Meta::TypeConstraint::Union
527 * Moose::Meta::Method::Accessor
528 - created this from methods formerly found in
529 Moose::Meta::Attribute
531 * Moose::Meta::Role::Method
532 - moved this from Moose::Meta::Role
534 * Moose::Meta::Method::Overriden
535 - moved this from Moose::Meta::Class
537 * Moose::Meta::TypeConstraint::Union
538 - moved this from Moose::Meta::TypeConstraint
540 0.14 Mon. Oct. 9, 2006
542 * Moose::Meta::Attribute
543 - fixed lazy attributes which were not getting
544 checked with the type constraint (thanks ashley)
545 - added tests for this
546 - removed the over-enthusiastic DWIMery of the
547 automatic ArrayRef and HashRef defaults, it
548 broke predicates in an ugly way.
549 - removed tests for this
551 0.13 Sat. Sept. 30, 2006
553 This version of Moose *must* have Class::MOP 0.35 in order
554 to work correctly. A number of small internal tweaks have
555 been made in order to be compatible with that release.
558 - Removed the use of UNIVERSAL::require to be a better
559 symbol table citizen and remove a dependency
560 (thanks Adam Kennedy)
562 **~~ removed experimental & undocumented feature ~~**
563 - commented out the 'method' and 'self' keywords, see the
564 comments for more info.
567 - added a FAQ and WTF files to document frequently
568 asked questions and common problems
570 * Moose::Util::TypeConstraints
571 - added GlobRef and FileHandle type constraint
572 - added tests for this
574 * Moose::Meta::Attribute
575 - if your attribute 'isa' ArrayRef of HashRef, and you have
576 not explicitly set a default, then make the default DWIM.
577 This will also work for subtypes of ArrayRef and HashRef
579 - you can now auto-deref subtypes of ArrayRef or HashRef too.
580 - new test added for this (thanks to ashley)
583 - added basic support for runtime role composition
584 but this is still *highly experimental*, so feedback
585 is much appreciated :)
586 - added tests for this
588 * Moose::Meta::TypeConstraint
589 - the type constraint now handles the coercion process
590 through delegation, this is to support the coercion
593 * Moose::Meta::TypeConstraint::Union
594 - it is now possible for coercions to be performed
596 - added tests for this (thanks to konobi)
598 * Moose::Meta::TypeCoercion
599 - properly capturing error when type constraint
603 - Scalar::Util 1.18 is bad on Win32, so temporarily
604 only require version 1.17 for Win32 and cygwin.
605 (thanks Adam Kennedy)
607 0.12 Sat. Sept. 1, 2006
609 - Recipe5 (subtypes & coercion) has been written
612 - fixed "bad meta" error message to be more descriptive
613 - fixed &unimport to not remove the &inner and &super
614 keywords because we need to localize them.
615 - fixed number of spelling/grammer issues, thanks Theory :)
617 **~~ experimental & undocumented feature ~~**
618 - added the method and self keywords, they are basically
619 just sugar, and they may not stay around.
622 - added &dump method to easily Data::Dumper
625 * Moose::Meta::TypeConstraint
626 - added the &is_a_type_of method to check both the current
627 and the subtype of a method (similar to &isa with classes)
630 - this is now a subclass of Class::MOP::Module, and no longer
631 creates the _role_meta ugliness of before.
632 - fixed tests to reflect this change
634 0.11 Wed. July 12, 2006
636 - added an &unimport method to remove all the keywords
637 that Moose will import, simply add 'no Moose' to the
638 bottom of your class file.
641 - fixed some test failures caused by a forgotten test
644 0.10 Thurs. July 6, 2006
646 - improved error message when loading modules so
647 it is less confusing when you load a role.
648 - added &calculate_all_roles method to
649 Moose::Meta::Class and Moose::Meta::Role
652 This module has been tested against Class::MOP 0.30
653 but it does not yet utilize the optimizations
654 it makes available. Stay tuned for that ;)
656 0.09_03 Fri. June 23, 2006
657 ++ DEVELOPER RELEASE ++
659 - 'use strict' and 'use warnings' are no longer
660 needed in Moose classes, Moose itself will
661 turn them on for you.
662 - added tests for this
663 - moved code from exported subs to private methods
664 in Moose::Meta::Class
667 - as with Moose, strict and warnings are
668 automatically turned on for you.
669 - added tests for this
672 - now handles an edge case for override errors
673 - added tests for this
674 - added some more edge case tests
676 0.09_02 Tues. May 16, 2006
677 ++ DEVELOPER RELEASE ++
679 - added prototypes to the exported subs
683 - added prototypes to the exported subs
686 * Moose::Util::TypeConstraints
687 - cleaned up prototypes for the subs
690 0.09_01 Fri. May 12, 2006
691 ++ DEVELOPER RELEASE ++
692 - This release works in combination with
693 Class::MOP 0.29_01, it is a developer
694 release because it uses the a new
695 instance sub-protocol and a fairly
696 complete Role implementation. It has
697 not yet been optimized, so it slower
698 the the previous CPAN version. This
699 release also lacks good updated docs,
700 the official release will have updated docs.
703 - refactored the keyword exports
704 - 'with' now checks Role validaity and
705 accepts more than one Role at a time
706 - 'extends' makes metaclass adjustments as
707 needed to ensure metaclass compatability
710 - refactored the keyword exports
711 - 'with' now checks Role validaity and
712 accepts more than one Role at a time
714 * Moose::Util::TypeConstraints
715 - added the 'enum' keyword for simple
716 string enumerations which can be used as
718 - see example of usage in t/202_example.t
721 - more careful checking of params to new()
724 - much work done on the role composition
725 - many new tests for conflict detection
726 and composition edge cases
727 - not enough documentation, I suggest
730 * Moose::Meta::Instance
731 - added new Instance metaclass to support
732 the new Class::MOP instance protocol
735 - some small changes to support the new
737 - some small additions to support Roles
739 * Moose::Meta::Attribute
740 - some improvements to the accessor generation code
742 - some small changes to support the new
744 - (still somewhat) experimental delegation support
745 with the 'handles' option
746 - added several tests for this
747 - no docs for this yet
749 0.05 Thurs. April 27, 2006
751 - keywords are now exported with Sub::Exporter
752 thanks to chansen for this commit
753 - has keyword now takes a 'metaclass' option
754 to support custom attribute meta-classes
755 on a per-attribute basis
756 - added tests for this
757 - the 'has' keyword not accepts inherited slot
758 specifications (has '+foo'). This is still an
759 experimental feature and probably not finished
760 see t/038_attribute_inherited_slot_specs.t for
761 more details, or ask about it on #moose
762 - added tests for this
765 - keywords are now exported with Sub::Exporter
767 * Moose::Utils::TypeConstraints
768 - reorganized the type constraint hierarchy, thanks
769 to nothingmuch and chansen for his help and advice
771 - added some tests for this
772 - keywords are now exported with Sub::Exporter
773 thanks to chansen for this commit
776 - due to changes in Class::MOP, we had to change
777 construct_instance (for the better)
779 * Moose::Meta::Attribute
780 - due to changes in Class::MOP, we had to add the
781 initialize_instance_slot method (it's a good thing)
783 * Moose::Meta::TypeConstraint
784 - added type constraint unions
785 - added tests for this
786 - added the is_subtype_of predicate method
787 - added tests for this
789 0.04 Sun. April 16th, 2006
791 - Roles can now consume other roles
792 - added tests for this
793 - Roles can specify required methods now with
794 the requires() keyword
795 - added tests for this
798 - ripped out much of it's guts ,.. much cleaner now
799 - added required methods and correct handling of
800 them in apply() for both classes and roles
801 - added tests for this
802 - no longer adds a does() method to consuming classes
803 it relys on the one in Moose::Object
804 - added roles attribute and some methods to support
805 roles consuming roles
807 * Moose::Meta::Attribute
808 - added support for triggers on attributes
809 - added tests for this
810 - added support for does option on an attribute
811 - added tests for this
814 - added support for attribute triggers in the
816 - added tests for this
819 - Moose no longer creates a subtype for your class
820 if a subtype of the same name already exists, this
821 should DWIM in 99.9999% of all cases
823 * Moose::Util::TypeConstraints
824 - fixed bug where incorrect subtype conflicts were
826 - added test for this
829 - this class can now be extended with 'use base' if
830 you need it, it properly loads the metaclass class now
831 - added test for this
833 0.03_02 Wed. April 12, 2006
835 - you must now explictly use Moose::Util::TypeConstraints
836 it no longer gets exported for you automatically
839 - new() now accepts hash-refs as well as key/value lists
840 - added does() method to check for Roles
841 - added tests for this
844 - added roles attribute along with the add_role() and
846 - added tests for this
849 - now adds a does() method to consuming classes
850 which tests the class's hierarchy for roles
851 - added tests for this
853 0.03_01 Mon. April 10, 2006
855 - added new Role recipe (no content yet, only code)
858 - added 'with' keyword for Role support
859 - added test and docs for this
860 - fixed subtype quoting bug
861 - added test for this
865 - added test and docs
867 * Moose::Util::TypeConstraints
868 - added the message keyword to add custom
869 error messages to type constraints
872 - the meta role to support Moose::Role
873 - added tests and docs
876 - moved a number of things from Moose.pm
877 to here, they should have been here
880 * Moose::Meta::Attribute
881 - moved the attribute option macros here
882 instead of putting them in Moose.pm
884 * Moose::Meta::TypeConstraint
885 - added the message attributes and the
887 - added tests and docs for this
889 0.03 Thurs. March 30, 2006
891 - added the Moose::Cookbook with 5 recipes,
892 describing all the stuff Moose can do.
895 - fixed an issue with &extends super class loading
896 it now captures errors and deals with inline
897 packages correctly (bug found by mst, solution
899 - added super/override & inner/augment features
900 - added tests and docs for these
903 - BUILDALL now takes a reference of the %params
904 that are passed to &new, and passes that to
907 * Moose::Util::TypeConstraints
908 - Type constraints now survive runtime reloading
909 - added test for this
912 - fixed the way attribute defaults are handled
913 during instance construction (bug found by chansen)
915 * Moose::Meta::Attribute
916 - read-only attributes now actually enforce their
917 read-only-ness (this corrected in Class::MOP as
920 0.02 Tues. March 21, 2006
922 - many more tests, fixing some bugs and
924 - &extends now loads the base module with
926 - added UNIVERSAL::require to the
929 - each new Moose class will also create
930 and register a subtype of Object which
931 correspond to the new Moose class.
932 - the 'isa' option in &has now only
933 accepts strings, and will DWIM in
936 * Moose::Util::TypeConstraints
937 - added type coercion features
938 - added tests for this
939 - added support for this in attributes
940 and instance construction
942 - type construction no longer creates a
943 function, it registers the type instead.
944 - added several functions to get the
948 - BUILDALL and DEMOLISHALL were broken
949 because of a mis-named hash key, Whoops :)
951 * Moose::Meta::Attribute
952 - adding support for coercion in the
953 autogenerated accessors
956 - adding support for coercion in the
957 instance construction
959 * Moose::Meta::TypeConstraint
960 * Moose::Meta::TypeCoercion
961 - type constraints and coercions are now
962 full fledges meta-objects
964 0.01 Wed. March 15, 2006
965 - Moooooooooooooooooose!!!