TypeConstraint::Utils,.. now with find_or_create_type_constraint goodness
[gitmo/Moose.git] / Changes
1 Revision history for Perl extension Moose
2
3 0.26
4     ~ Several doc updates/cleanup thanks to castaway ~
5
6     * Moose
7       - added all the meta classes to the immutable list and 
8         set it to inline the accessors
9       - fix import to allow Sub::Exporter like { into => } 
10             and { into_level => } (perigrin)
11       - exposed and documented init_meta() to allow better 
12             embedding and extending of Moose (perigrin)
13             
14         * t/
15           - complete re-organization of the test suite
16           - added some new tests as well 
17
18     * Moose::Meta::Class
19       - fixed very odd and very nasty recursion bug with 
20         inner/augment (mst)
21         - added tests for this (eilara)
22
23     * Moose::Meta::Attribute
24       Moose::Meta::Method::Constructor
25       Moose::Meta::Method::Accessor
26       - fixed issue with overload::Overloaded getting called 
27         on non-blessed items.
28         - added tests for this
29     
30     * Moose::Coookbook::Snacks
31       - these are bits of documentation, not quite as big as 
32         Recipes but which have no clear place in the module docs. 
33         So they are Snacks! (horray for castaway++)
34
35     +++ Major Refactor of the Type Constraint system +++
36     +++       with new features added as well        +++
37
38     * Moose::Util::TypeConstraint
39       - no longer uses package variable to keep track of 
40         the type constraints, now uses the an instance of
41         Moose::Meta::TypeConstraint::Registry to do it
42
43     * Moose::Meta::TypeConstraint
44       - some minor adjustments to make subclassing easier
45       - added the package_defined_in attribute so that we 
46         can track where the type constraints are created
47       
48     * Moose::Meta::TypeConstraint::Union
49       - this is now been refactored to be a subclass of 
50         Moose::Meta::TypeConstraint
51         
52     * Moose::Meta::TypeCoercion::Union
53       - this has been added to service the newly refactored
54         Moose::Meta::TypeConstraint::Union and is itself 
55         a subclass of Moose::Meta::TypeCoercion
56       
57     * Moose::Meta::TypeConstraint::Container
58       - added this module (taken from MooseX::AttributeHelpers)
59         to help construct nested collection types
60         - added tests for this
61     
62     * Moose::Meta::TypeConstraint::Registry
63       - added this class to keep track of type constraints
64
65 0.25 Mon. Aug. 13, 2007
66     * Moose
67       - Documentation update to reference Moose::Util::TypeConstraints 
68         under 'isa' in 'has' for how to define a new type 
69         (thanks to shlomif).
70
71     * Moose::Meta::Attribute
72       - required attributes now will no longer accept undef 
73         from the constructor, even if there is a default and lazy
74         - added tests for this
75       - default subroutines must return a value which passes the 
76         type constraint
77         - added tests for this
78     
79     * Moose::Meta::Attribute
80     * Moose::Meta::Method::Constructor
81     * Moose::Meta::Method::Accessor        
82       - type-constraint tests now handle overloaded objects correctly
83         in the error message
84         - added tests for this (thanks to EvanCarroll) 
85
86     * Moose::Meta::TypeConstraint::Union
87       - added (has_)hand_optimized_constraint to this class so that 
88         it behaves as the regular Moose::Meta::TypeConstraint does.
89
90     * Moose::Meta::Role
91       - large refactoring of this code
92       - added several more tests 
93         - tests for subtle conflict resolition issues 
94           added, but not currently running
95           (thanks to kolibre)
96
97     * Moose::Cookbook::Recipe7 
98       - added new recipe for augment/inner functionality 
99         (still in progress)
100         - added test for this
101
102     * Moose::Spec::Role
103       - a formal definition of roles (still in progress)
104
105     * Moose::Util
106       - utilities for easier working with Moose classes
107         - added tests for these
108
109     * Test::Moose
110       - This contains Moose specific test functions
111         - added tests for these
112
113 0.24 Tues. July 3, 2007
114     ~ Some doc updates/cleanup ~
115
116     * Moose::Meta::Attribute
117       - added support for roles to be given as parameters 
118         to the 'handles' option.
119         - added tests and docs for this
120       - the has '+foo' attribute form now accepts changes to 
121         the lazy option, and the addition of a handles option
122         (but not changing the handles option)
123         - added tests and docs for this
124
125     * Moose::Meta::Role
126       - required methods are now fetched using find_method_by_name
127         so that required methods can come from superclasses
128         - adjusted tests for this
129
130 0.23 Mon. June 18, 2007
131     * Moose::Meta::Method::Constructor
132       - fix inlined constructor for hierarchy with multiple BUILD methods (mst)
133     * Moose::Meta::Class
134       - Modify make_immutable to work with the new Class::MOP immutable
135         mechanism + POD + very basic test (groditi)
136     * Moose::Meta::Attribute
137       - Fix handles to use goto() so that caller() comes out properly on 
138         the other side (perigrin)
139
140 0.22 Thurs. May 31, 2007
141     * Moose::Util::TypeConstraints
142       - fix for prototype undeclared issue when Moose::Util::TypeConstraints 
143         loaded before consumers (e.g. Moose::Meta::Attribute) by predeclaring
144         prototypes for functions
145       - added the ClassName type constraint, this checks for strings 
146         which will respond true to ->isa(UNIVERSAL). 
147         - added tests and docs for this
148       - subtyping just in name now works correctly by making the 
149         default for where be { 1 }
150         - added test for this 
151
152     * Moose::Meta::Method::Accessor
153       - coerce and lazy now work together correctly, thanks to 
154         merlyn for finding this bug
155         - tests added for this
156       - fix reader presedence bug in Moose::Meta::Attribute + tests
157
158     * Moose::Object
159       - Foo->new(undef) now gets ignored, it is assumed you meant to pass
160         a HASH-ref and missed. This produces better error messages then 
161         having it die cause undef is not a HASH.
162         - added tests for this
163
164 0.21 Thursday, May 2nd, 2007
165     * Moose
166       - added SUPER_SLOT and INNER_SLOT class hashes to support unimport
167       - modified unimport to remove super and inner along with the rest
168         - altered unimport tests to handle this
169
170     * Moose::Role
171       - altered super export to populate SUPER_SLOT
172
173     * Moose::Meta::Class
174       - altered augment and override modifier application to use *_SLOT
175         - modified tests for these to unimport one test class each to test
176
177     * Moose::Meta::Role
178       - fixed issue where custom attribute metaclasses
179         where not handled correctly in roles
180         - added tests for this
181     
182     * Moose::Meta::Class
183       - fixed issue where extending metaclasses with 
184         roles would blow up. Thanks to Aankhen`` for
185         finding this insidious error, and it's solution.
186         
187     ~~ lots of spelling and grammer fixes in the docs, 
188        many many thanks to rlb3 and Aankhen for these :)
189
190 0.20 Friday, April 6th, 2007
191     >> I messed up the SKIP logic in one test
192        so this release is just to fix that.
193
194     * Moose
195       - 'has' now also accepts an ARRAY ref
196         to create multiple attrs (see docs)
197         (thanks to konobi for this)
198          - added tests and docs 
199
200 0.19 Thurs. April 5th, 2007
201     ~~ More documentation updates ~~
202
203     * Moose::Util::TypeConstraints
204       - 'type' now supports messages as well
205         thanks to phaylon for finding this
206         - added tests for this
207       - added &list_all_type_constraints and 
208         &list_all_builtin_type_constraints
209         functions to facilitate introspection.
210     
211     * Moose::Meta::Attribute
212       - fixed regexp 'handles' declarations 
213         to build the list of delegated methods
214         correctly (and not override important 
215         things like &new) thanks to ashleyb 
216         for finding this
217         - added tests and docs for this
218       - added the 'documentation' attributes
219         so that you can actually document your 
220         attributes and inspect them through the 
221         meta-object.
222         - added tests and docs for this
223
224     * Moose::Meta::Class
225       - when loading custom attribute metaclasses
226         it will first look in for the class in the 
227         Moose::Meta::Attribute::Custom::$name, and 
228         then default to just loading $name.
229         - added tests and docs for this
230
231     * Moose::Meta::TypeConstraint
232       - type constraints now stringify to their names.
233         - added test for this
234
235     * misc.
236       - added tests to assure we work with Module::Refresh 
237       - added stricter test skip logic in the Moose POOP 
238         test, ask Rob Kinyon why.
239         - *cough* DBM::Deep 1.0 backwards compatability sucks *cough* ;)
240
241 0.18 Sat. March 10, 2007
242     ~~ Many, many documentation updates ~~
243
244     * misc.
245       - We now use Class::MOP::load_class to 
246         load all classes.    
247       - added tests to show types and subtypes 
248         working with Declare::Constraints::Simple
249         and Test::Deep as constraint engines.
250
251 0.18_001
252     !! You must have Class::MOP 0.37_001  !!
253     !! for this developer release to work !!
254
255     This release was primarily adding the immutable
256     feature to Moose. An immutable class is one which 
257     you promise not to alter. When you set the class 
258     as immutable it will perform various bits of 
259     memoization and inline certain part of the code
260     (constructors, destructors and accessors). This 
261     minimizes (and in some cases totally eliminates)
262     one of Moose's biggest performance hits. This 
263     feature is not on by default, and is 100% optional.
264     It has several configurable bits as well, so you 
265     can pick and choose to your specific needs.
266     
267     The changes involved in this were fairly wide and 
268     highly specific, but 100% backwards compatible, so 
269     I am not going to enumerate them here. If you are 
270     truely interested in what was changed, please do 
271     a diff :)
272
273 0.17 Tues. Nov. 14, 2006
274     * Moose::Meta::Method::Accessor
275       - bugfix for read-only accessors which 
276         are have a type constraint and lazy.
277         Thanks to chansen for finding it.
278
279 0.16 Tues. Nov. 14, 2006
280     ++ NOTE ++
281     There are some speed improvements in this release, 
282     but they are only the begining, so stay tuned.
283     
284     * Moose::Object
285       - BUILDALL and DEMOLISHALL no longer get 
286         called unless they actually need to be.
287         This gave us a signifigant speed boost
288         for the cases when there is no BUILD or 
289         DEMOLISH method present.
290         
291     * Moose::Util::TypeConstraints
292     * Moose::Meta::TypeConstraint
293       - added an 'optimize_as' option to the 
294         type constraint, which allows for a
295         hand optimized version of the type 
296         constraint to be used when possible.
297       - Any internally created type constraints
298         now provide an optimized version as well.
299
300 0.15 Sun. Nov. 5, 2006
301     ++ NOTE ++
302     This version of Moose *must* have Class::MOP 0.36 in order 
303     to work correctly. A number of small internal tweaks have 
304     been made in order to be compatible with that release.
305
306     * Moose::Util::TypeConstraints
307       - added &unimport so that you can clean out 
308         your class namespace of these exported 
309         keywords
310     
311     * Moose::Meta::Class
312       - fixed minor issue which occasionally 
313         comes up during global destruction 
314         (thanks omega)
315       - moved Moose::Meta::Method::Overriden into 
316         its own file.
317       
318     * Moose::Meta::Role      
319       - moved Moose::Meta::Role::Method into 
320         its own file.
321               
322     * Moose::Meta::Attribute
323       - changed how we do type checks so that 
324         we reduce the overall cost, but still 
325         retain correctness.
326        *** API CHANGE ***
327       - moved accessor generation methods to 
328         Moose::Meta::Method::Accessor to 
329         conform to the API changes from 
330         Class::MOP 0.36
331           
332     * Moose::Meta::TypeConstraint
333       - changed how constraints are compiled
334         so that we do less recursion and more
335         iteration. This makes the type check 
336         faster :)
337       - moved Moose::Meta::TypeConstraint::Union
338         into its own file
339     
340     * Moose::Meta::Method::Accessor
341       - created this from methods formerly found in 
342         Moose::Meta::Attribute
343     
344     * Moose::Meta::Role::Method
345       - moved this from Moose::Meta::Role
346           
347     * Moose::Meta::Method::Overriden
348       - moved this from Moose::Meta::Class
349       
350     * Moose::Meta::TypeConstraint::Union
351       - moved this from Moose::Meta::TypeConstraint
352
353 0.14 Mon. Oct. 9, 2006
354
355     * Moose::Meta::Attribute
356       - fixed lazy attributes which were not getting 
357         checked with the type constraint (thanks ashley)
358         - added tests for this
359       - removed the over-enthusiastic DWIMery of the 
360         automatic ArrayRef and HashRef defaults, it 
361         broke predicates in an ugly way.
362         - removed tests for this
363
364 0.13 Sat. Sept. 30, 2006
365     ++ NOTE ++
366     This version of Moose *must* have Class::MOP 0.35 in order 
367     to work correctly. A number of small internal tweaks have 
368     been made in order to be compatible with that release.
369
370     * Moose
371       - Removed the use of UNIVERSAL::require to be a better
372         symbol table citizen and remove a dependency 
373         (thanks Adam Kennedy)
374
375       **~~ removed experimental & undocumented feature ~~**
376       - commented out the 'method' and 'self' keywords, see the 
377         comments for more info.
378
379     * Moose::Cookbook
380       - added a FAQ and WTF files to document frequently 
381         asked questions and common problems
382         
383     * Moose::Util::TypeConstraints
384       - added GlobRef and FileHandle type constraint
385         - added tests for this
386         
387     * Moose::Meta::Attribute
388       - if your attribute 'isa' ArrayRef of HashRef, and you have
389         not explicitly set a default, then make the default DWIM.
390         This will also work for subtypes of ArrayRef and HashRef 
391         as well.
392       - you can now auto-deref subtypes of ArrayRef or HashRef too.
393         - new test added for this (thanks to ashley)
394         
395     * Moose::Meta::Role
396       - added basic support for runtime role composition
397         but this is still *highly experimental*, so feedback 
398         is much appreciated :)
399         - added tests for this
400
401     * Moose::Meta::TypeConstraint
402       - the type constraint now handles the coercion process
403         through delegation, this is to support the coercion 
404         of unions
405         
406     * Moose::Meta::TypeConstraint::Union
407       - it is now possible for coercions to be performed 
408         on a type union
409         - added tests for this (thanks to konobi)
410
411     * Moose::Meta::TypeCoercion
412       - properly capturing error when type constraint 
413         is not found
414
415     * Build.PL
416       - Scalar::Util 1.18 is bad on Win32, so temporarily
417         only require version 1.17 for Win32 and cygwin.
418         (thanks Adam Kennedy)        
419
420 0.12 Sat. Sept. 1, 2006
421     * Moose::Cookbook
422       - Recipe5 (subtypes & coercion) has been written
423       
424     * Moose
425       - fixed "bad meta" error message to be more descriptive      
426       - fixed &unimport to not remove the &inner and &super  
427         keywords because we need to localize them.
428       - fixed number of spelling/grammer issues, thanks Theory :)
429       
430       **~~ experimental & undocumented feature ~~**
431       - added the method and self keywords, they are basically 
432         just sugar, and they may not stay around.
433         
434     * Moose::Object
435       - added &dump method to easily Data::Dumper 
436         an object
437         
438     * Moose::Meta::TypeConstraint
439       - added the &is_a_type_of method to check both the current
440         and the subtype of a method (similar to &isa with classes)
441
442     * Moose::Meta::Role
443       - this is now a subclass of Class::MOP::Module, and no longer
444         creates the _role_meta ugliness of before. 
445         - fixed tests to reflect this change
446     
447 0.11 Wed. July 12, 2006
448     * Moose
449       - added an &unimport method to remove all the keywords
450         that Moose will import, simply add 'no Moose' to the 
451         bottom of your class file. 
452         
453     * t/
454       - fixed some test failures caused by a forgotten test 
455         dependency.
456
457 0.10 Thurs. July 6, 2006
458     * Moose
459       - improved error message when loading modules so
460         it is less confusing when you load a role.
461       - added &calculate_all_roles method to 
462         Moose::Meta::Class and Moose::Meta::Role
463         
464     NOTE:
465     This module has been tested against Class::MOP 0.30
466     but it does not yet utilize the optimizations 
467     it makes available. Stay tuned for that ;)
468     
469 0.09_03 Fri. June 23, 2006
470     ++ DEVELOPER RELEASE ++
471     * Moose
472       - 'use strict' and 'use warnings' are no longer
473          needed in Moose classes, Moose itself will 
474          turn them on for you.
475          - added tests for this
476       - moved code from exported subs to private methods
477         in Moose::Meta::Class
478          
479     * Moose::Role
480       - as with Moose, strict and warnings are 
481         automatically turned on for you.
482          - added tests for this        
483         
484     * Moose::Meta::Role
485       - now handles an edge case for override errors
486         - added tests for this
487       - added some more edge case tests
488
489 0.09_02 Tues. May 16, 2006
490     ++ DEVELOPER RELEASE ++
491     * Moose
492       - added prototypes to the exported subs
493       - updated docs
494       
495     * Moose::Role
496       - added prototypes to the exported subs      
497       - updated docs
498       
499     * Moose::Util::TypeConstraints
500       - cleaned up prototypes for the subs      
501       - updated docs      
502
503 0.09_01 Fri. May 12, 2006
504     ++ DEVELOPER RELEASE ++
505       - This release works in combination with 
506         Class::MOP 0.29_01, it is a developer 
507         release because it uses the a new 
508         instance sub-protocol and a fairly
509         complete Role implementation. It has 
510         not yet been optimized, so it slower
511         the the previous CPAN version. This 
512         release also lacks good updated docs, 
513         the official release will have updated docs.
514
515     * Moose 
516       - refactored the keyword exports
517         - 'with' now checks Role validaity and 
518           accepts more than one Role at a time
519         - 'extends' makes metaclass adjustments as 
520            needed to ensure metaclass compatability
521           
522     * Moose::Role
523       - refactored the keyword exports
524         - 'with' now checks Role validaity and 
525           accepts more than one Role at a time
526           
527     * Moose::Util::TypeConstraints
528       - added the 'enum' keyword for simple 
529         string enumerations which can be used as 
530         type constraints
531         - see example of usage in t/202_example.t
532         
533     * Moose::Object
534       - more careful checking of params to new()
535       
536     * Moose::Meta::Role
537       - much work done on the role composition
538         - many new tests for conflict detection 
539           and composition edge cases
540         - not enough documentation, I suggest 
541           looking at the tests    
542       
543     * Moose::Meta::Instance
544       - added new Instance metaclass to support 
545         the new Class::MOP instance protocol
546         
547     * Moose::Meta::Class
548       - some small changes to support the new 
549         instance protocol
550       - some small additions to support Roles
551         
552     * Moose::Meta::Attribute
553       - some improvements to the accessor generation code
554         by nothingmuch
555       - some small changes to support the new 
556         instance protocol
557       - (still somewhat) experimental delegation support 
558         with the 'handles' option
559         - added several tests for this
560         - no docs for this yet
561
562 0.05 Thurs. April 27, 2006
563     * Moose
564       - keywords are now exported with Sub::Exporter
565         thanks to chansen for this commit
566       - has keyword now takes a 'metaclass' option 
567         to support custom attribute meta-classes 
568         on a per-attribute basis
569         - added tests for this  
570       - the 'has' keyword not accepts inherited slot
571         specifications (has '+foo'). This is still an 
572         experimental feature and probably not finished
573         see t/038_attribute_inherited_slot_specs.t for 
574         more details, or ask about it on #moose
575         - added tests for this
576         
577     * Moose::Role
578       - keywords are now exported with Sub::Exporter
579
580     * Moose::Utils::TypeConstraints
581       - reorganized the type constraint hierarchy, thanks
582         to nothingmuch and chansen for his help and advice 
583         on this
584         - added some tests for this
585       - keywords are now exported with Sub::Exporter
586         thanks to chansen for this commit
587
588     * Moose::Meta::Class
589       - due to changes in Class::MOP, we had to change
590         construct_instance (for the better)
591         
592     * Moose::Meta::Attribute
593       - due to changes in Class::MOP, we had to add the 
594         initialize_instance_slot method (it's a good thing)
595         
596     * Moose::Meta::TypeConstraint
597       - added type constraint unions 
598         - added tests for this
599       - added the is_subtype_of predicate method
600         - added tests for this
601
602 0.04 Sun. April 16th, 2006
603     * Moose::Role
604       - Roles can now consume other roles
605         - added tests for this
606       - Roles can specify required methods now with 
607         the requires() keyword
608         - added tests for this
609
610     * Moose::Meta::Role
611       - ripped out much of it's guts ,.. much cleaner now
612       - added required methods and correct handling of 
613         them in apply() for both classes and roles
614         - added tests for this
615       - no longer adds a does() method to consuming classes 
616         it relys on the one in Moose::Object
617       - added roles attribute and some methods to support 
618         roles consuming roles
619
620     * Moose::Meta::Attribute
621       - added support for triggers on attributes
622         - added tests for this
623       - added support for does option on an attribute 
624         - added tests for this
625         
626     * Moose::Meta::Class
627       - added support for attribute triggers in the 
628         object construction
629         - added tests for this
630     
631     * Moose
632       - Moose no longer creates a subtype for your class 
633         if a subtype of the same name already exists, this 
634         should DWIM in 99.9999% of all cases
635         
636     * Moose::Util::TypeConstraints
637       - fixed bug where incorrect subtype conflicts were 
638         being reported
639         - added test for this
640         
641     * Moose::Object
642       - this class can now be extended with 'use base' if
643         you need it, it properly loads the metaclass class now
644         - added test for this
645
646 0.03_02 Wed. April 12, 2006
647     * Moose
648       - you must now explictly use Moose::Util::TypeConstraints
649         it no longer gets exported for you automatically
650         
651     * Moose::Object
652       - new() now accepts hash-refs as well as key/value lists
653       - added does() method to check for Roles
654         - added tests for this
655
656     * Moose::Meta::Class
657       - added roles attribute along with the add_role() and 
658         does_role() methods
659         - added tests for this 
660
661     * Moose::Meta::Role
662       - now adds a does() method to consuming classes 
663         which tests the class's hierarchy for roles
664         - added tests for this
665
666 0.03_01 Mon. April 10, 2006
667     * Moose::Cookbook
668       - added new Role recipe (no content yet, only code)
669       
670     * Moose
671       - added 'with' keyword for Role support
672         - added test and docs for this
673       - fixed subtype quoting bug
674         - added test for this 
675
676     * Moose::Role
677       - Roles for Moose
678         - added test and docs
679
680     * Moose::Util::TypeConstraints
681       - added the message keyword to add custom
682         error messages to type constraints        
683       
684     * Moose::Meta::Role
685       - the meta role to support Moose::Role
686         - added tests and docs
687         
688     * Moose::Meta::Class
689       - moved a number of things from Moose.pm 
690         to here, they should have been here 
691         in the first place
692
693     * Moose::Meta::Attribute
694       - moved the attribute option macros here
695         instead of putting them in Moose.pm
696
697     * Moose::Meta::TypeConstraint
698       - added the message attributes and the 
699         validate method
700         - added tests and docs for this
701
702 0.03 Thurs. March 30, 2006
703     * Moose::Cookbook
704       - added the Moose::Cookbook with 5 recipes, 
705         describing all the stuff Moose can do.
706
707     * Moose
708       - fixed an issue with &extends super class loading
709         it now captures errors and deals with inline 
710         packages correctly (bug found by mst, solution 
711         stolen from alias)
712       - added super/override & inner/augment features
713         - added tests and docs for these
714     
715     * Moose::Object
716       - BUILDALL now takes a reference of the %params 
717         that are passed to &new, and passes that to 
718         each BUILD as well.
719         
720     * Moose::Util::TypeConstraints
721       - Type constraints now survive runtime reloading
722         - added test for this
723
724         * Moose::Meta::Class
725           - fixed the way attribute defaults are handled 
726             during instance construction (bug found by chansen)
727
728     * Moose::Meta::Attribute
729       - read-only attributes now actually enforce their
730         read-only-ness (this corrected in Class::MOP as 
731         well)
732
733 0.02 Tues. March 21, 2006
734     * Moose
735       - many more tests, fixing some bugs and  
736         edge cases
737       - &extends now loads the base module with
738         UNIVERSAL::require 
739         - added UNIVERSAL::require to the 
740           dependencies list
741       ** API CHANGES **
742       - each new Moose class will also create 
743         and register a subtype of Object which 
744         correspond to the new Moose class.      
745       - the 'isa' option in &has now only 
746         accepts strings, and will DWIM in 
747         almost all cases
748     
749     * Moose::Util::TypeConstraints
750       - added type coercion features
751         - added tests for this
752         - added support for this in attributes 
753           and instance construction
754       ** API CHANGES **
755       - type construction no longer creates a 
756         function, it registers the type instead.
757         - added several functions to get the 
758           registered types 
759
760     * Moose::Object
761       - BUILDALL and DEMOLISHALL were broken 
762         because of a mis-named hash key, Whoops :)
763     
764     * Moose::Meta::Attribute
765       - adding support for coercion in the
766         autogenerated accessors
767         
768     * Moose::Meta::Class
769       - adding support for coercion in the
770         instance construction  
771
772     * Moose::Meta::TypeConstraint
773     * Moose::Meta::TypeCoercion
774           - type constraints and coercions are now 
775             full fledges meta-objects
776
777 0.01 Wed. March 15, 2006
778     - Moooooooooooooooooose!!!