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