This change gets Recipe 11 working. Here are the details ...
[gitmo/Moose.git] / Changes
1 Revision history for Perl extension Moose
2
3 0.51
4     * Moose::Role
5       - add unimport so "no Moose::Role" actually does something
6     * Moose::Meta::Role::Application::ToRole
7       - when RoleA did RoleB, and RoleA aliased a method from RoleB in
8         order to provide its own implementation, that method still got
9         added to the list of required methods for consumers of
10         RoleB. Now an aliased method is only added to the list of
11         required methods if the role doing the aliasing does not
12         provide its own implementation. See Recipe 11 for an example
13         of all this. (thanks Dave Rolsky)
14         - added tests for this
15
16 0.50 Thurs. Jun 11, 2008
17     - Fixed a version number issue by bumping all modules
18       to 0.50.
19
20 0.49 Thurs. Jun 11, 2008
21     !! This version now approx. 20-25% !!
22     !! faster with new Class::MOP 0.59 !!
23
24     * Moose::Meta::Attribute
25       - fixed how the is => (ro|rw) works with 
26         custom defined reader, writer and accessor
27         options. 
28         - added docs for this (TODO).
29         - added tests for this (Thanks to Penfold)
30       - added the custom attribute alias for regular
31         Moose attributes which is "Moose"
32       - fix builder and default both being used
33         (groditi)
34
35     * Moose
36       Moose::Meta::Class
37       Moose::Meta::Attribute
38       Moose::Meta::Role
39       Moose::Meta::Role::Composite
40       Moose::Util::TypeConstraints
41       - switched usage of reftype to ref because 
42         it is much faster
43         
44     * Moose::Meta::Role
45       - changing add_package_symbol to use the new
46         HASH ref form
47     
48     * Moose::Object
49       - fixed how DEMOLISHALL is called so that it 
50         can be overrided in subclasses (thanks to Sartak)
51         - added test for this (thanks to Sartak)
52
53     * Moose::Util::TypeConstraints
54       - move the ClassName type check code to
55         Class::MOP::is_class_loaded (thanks to Sartak)
56
57     * Moose::Cookbook::Recipe11
58       - add tests for this (thanks to tokuhirom)
59
60 0.48 Thurs. May 29, 2008
61     (early morning release engineering)--
62
63     - fixing the version in Moose::Meta::Method::Destructor
64       which was causing the indexer to choke
65
66 0.47 Thurs. May 29, 2008
67     (late night release engineering)--
68
69     - fixing the version is META.yml, no functional 
70       changes in this release
71
72 0.46 Wed. May 28, 2008
73     !! This version now approx. 20-25% !!
74     !! faster with new Class::MOP 0.57 !!
75
76     * Moose::Meta::Class
77       - some optimizations of the &initialize method
78         since it is called so often by &meta    
79         
80     * Moose::Meta::Class
81       Moose::Meta::Role
82       - now use the get_all_package_symbols from the 
83         updated Class::MOP, test suite is now 10 seconds 
84         faster
85     
86     * Moose::Meta::Method::Destructor
87       - is_needed can now also be called as a class 
88         method for immutablization to check if the 
89         destructor object even needs to be created 
90         at all
91     
92     * Moose::Meta::Method::Destructor
93       Moose::Meta::Method::Constructor
94       - added more descriptive error message to help 
95         keep people from wasting time tracking an error
96         that is easily fixed by upgrading.
97
98 0.45 Saturday, May 24, 2008
99     * Moose
100       - Because of work in Class::MOP 0.56, all 
101         XS based functionality is now optional
102         and a Pure Perl version is supplied
103         - the CLASS_MOP_NO_XS environment variable
104           can now be used to force non-XS versions 
105           to always be used   
106         - several of the packages have been tweaked
107           to take care of this, mostly we added
108           support for the package_name and name 
109           variables in all the Method metaclasses
110       - before/around/after method modifiers now 
111         support regexp matching of names
112         (thanks to Takatoshi Kitano)
113         - tests added for this
114         - NOTE: this only works for classes, it 
115           is currently not supported in roles, 
116           but, ... patches welcome
117       - All usage of Carp::confess have been replaced
118         by Carp::croak in the "keyword" functions since
119         the stack trace is usually not helpful
120       
121     * Moose::Role
122       - All usage of Carp::confess have been replaced
123         by Carp::croak in the "keyword" functions since
124         the stack trace is usually not helpful  
125       - The 'has' keyword for roles now accepts the 
126         same array ref form that Moose.pm does 
127         (has [qw/foo bar/] => (is => 'rw', ...))
128         - added test for this
129       
130     * Moose::Meta::Attribute
131       - trigger on a ro-attribute is no longer an
132         error, as it's useful to trigger off of the
133         constructor
134
135     * Moose::Meta::Class
136       - added same 'add_package_symbol' fix as in 
137         Class::MOP 0.56
138
139     * Moose::Util
140       - does_role now handles non-Moose classes 
141         more gracefully
142         - added tests for this
143       - added the 'add_method_modifier' function 
144         (thanks to Takatoshi Kitano)
145
146     * Moose::Util::TypeConstraints
147       - subtypes of parameterizable types now are 
148         themselves parameterizable types
149
150     * Moose::Meta::Method::Constructor
151       - fixed bug where trigger was not being 
152         called by the inlined immutable 
153         constructors 
154         - added test for this (thanks to Caelum)
155     
156     * Moose::Meta::Role::Application::ToInstance
157       - now uses the metaclass of the instance
158         (if possible) to create the anon-class
159         (thanks Jonathan Rockway)
160     
161     * Moose::Cookbook::Recipe22
162       - added the meta-attribute trait recipe
163         (thanks to Sartak)
164     
165     * t/
166       - fixed hash-ordering test bug that was 
167         causing occasional cpantester failures
168       - renamed the t/000_recipe/*.t tests to be 
169         more descriptive (thanks to Sartak) 
170
171 0.44 Sat. May 10, 2008
172     * Moose
173       - made make_immutable warning cluck to 
174         show where the error is (thanks mst)
175     
176     * Moose::Object
177       - BUILDALL and DEMOLISHALL now call 
178         ->body when looping through the 
179         methods, to avoid the overloaded
180         method call.
181       - fixed issue where DEMOLISHALL was
182         eating the $@ values, and so not 
183         working correctly, it still kind of
184         eats them, but so does vanilla perl 
185         - added tests for this
186       
187     * Moose::Cookbook::Recipe7
188       - added new recipe for immutable 
189         functionality (thanks Dave Rolsky)
190       
191     * Moose::Cookbook::Recipe9
192       - added new recipe for builder and 
193         lazy_build (thanks Dave Rolsky)
194       
195     * Moose::Cookbook::Recipe11
196       - added new recipe for method aliasing 
197         and exclusion with Roles (thanks Dave Rolsky)
198
199     * t/
200       - fixed Win32 test failure (thanks spicyjack)
201
202     ~ removed Build.PL and Module::Build compat 
203       since Module::Install has done that.
204
205 0.43 Wed. April, 30, 2008
206     * NOTE TO SELF:
207         drink more coffee before 
208         doing release engineering
209       
210     - whoops, forgot to do the smolder tests, 
211       and we broke some of the custom meta-attr
212       modules. This fixes that.
213
214 0.42 Mon. April 28, 2008
215     - some bad tests slipped by, nothing else 
216       changed in this release (cpantesters++)
217       
218     - upped the Class::MOP dependency to 0.55 
219       since we have tests which need the C3 
220       support
221
222 0.41 Mon. April 28, 2008
223     ~~ numerous documentation updates ~~
224     
225     - Changed all usage of die to Carp::croak for better
226       error reporting (initial patch by Tod Hagan)
227
228     ** IMPORTANT NOTE **
229     - the make_immutable keyword is now deprecated, don't
230       use it in any new code and please fix your old code
231       as well. There will be 2 releases, and then it will
232       be removed.
233
234     * Moose
235       Moose::Role
236       Moose::Meta::Class
237       - refactored the way inner and super work to avoid
238         any method/@ISA cache penalty (nothingmuch)
239
240     * Moose::Meta::Class
241       - fixing &new_object to make sure trigger gets the 
242         coerced value (spotted by Charles Alderman on the 
243         mailing list)
244         - added test for this
245
246     * Moose::Meta::Method::Constructor
247       - immutable classes which had non-lazy attributes were calling
248         the default generating sub twice in the constructor. (bug
249         found by Jesse Luehrs, fixed by Dave Rolsky)
250         - added tests for this (Dave Rolsky)
251       - fix typo in initialize_body method (nothingmuch)
252       
253     * Moose::Meta::Method::Destructor
254       - fix typo in initialize_body method (nothingmuch)
255
256     * Moose::Meta::Method::Overriden
257       Moose::Meta::Method::Augmented
258       - moved the logic for these into their own 
259         classes (nothingmuch)
260
261     * Moose::Meta::Attribute
262       - inherited attributes may now be extended without 
263         restriction on the type ('isa', 'does') (Sartak)
264         - added tests for this (Sartak)
265       - when an attribute property is malformed (such as lazy without 
266         a default), give the name of the attribute in the error 
267         message (Sartak)
268       - added the &applied_traits and &has_applied_traits methods 
269         to allow introspection of traits
270         - added tests for this
271       - moved 'trait' and 'metaclass' argument handling to here from
272         Moose::Meta::Class
273       - clone_and_inherit_options now handles 'trait' and 'metaclass' (has
274         '+foo' syntax) (nothingmuch)
275         - added tests for this (t0m)
276      
277     * Moose::Object 
278       - localize $@ inside DEMOLISHALL to avoid it 
279         eating $@ (found by Ernesto)
280         - added test for this (thanks to Ernesto)
281
282     * Moose::Util::TypeConstraints
283       - &find_type_constraint now DWIMs when given an 
284         type constraint object or name (nothingmuch)
285       - &find_or_create_type_constraint superseded with a number of more
286         specific functions:
287         - find_or_create_{isa,does}_type_constraint
288         - find_or_parse_type_constraint
289
290     * Moose::Meta::TypeConstraint
291       Moose::Meta::TypeConstraint::Class
292       Moose::Meta::TypeConstraint::Role
293       Moose::Meta::TypeConstraint::Enum
294       Moose::Meta::TypeConstraint::Union
295       Moose::Meta::TypeConstraint::Parameterized
296         - added the &equals method for comparing two type 
297           constraints (nothingmuch)
298           - added tests for this (nothingmuch)
299
300     * Moose::Meta::TypeConstraint
301       - add the &parents method, which is just an alias to &parent. 
302         Useful for polymorphism with TC::{Class,Role,Union} (nothingmuch)
303
304     * Moose::Meta::TypeConstraint::Class
305       - added the class attribute for introspection purposes
306         (nothingmuch)
307         - added tests for this
308         
309     * Moose::Meta::TypeConstraint::Enum
310       Moose::Meta::TypeConstraint::Role
311       - broke these out into their own classes (nothingmuch)
312
313     * Moose::Cookbook::Recipe*
314       - fixed references to test file locations in the POD
315         and updated up some text for new Moose features
316         (Sartak)
317
318     * Moose::Util
319       - Added &resolve_metaclass_alias, a helper function for finding an actual
320         class for a short name (e.g. in the traits list)
321
322 0.40 Fri. March 14, 2008
323     - I hate Pod::Coverage
324
325 0.39 Fri. March 14, 2008
326     * Moose
327       - documenting the use of '+name' with attributes 
328         that come from recently composed roles. It makes
329         sense, people are using it, and so why not just 
330         officially support it.
331       - fixing the 'extends' keyword so that it will not 
332         trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763)
333       
334     * oose
335       - added the perl -Moose=+Class::Name feature to allow 
336         monkeypatching of classes in one liners
337       
338     * Moose::Util
339       - fixing the 'apply_all_roles' keyword so that it will not 
340         trigger Ovid's bug (http://use.perl.org/~Ovid/journal/35763)    
341     
342     * Moose::Meta::Class
343       - added ->create method which now supports roles (thanks to jrockway)
344         - added tests for this
345       - added ->create_anon_class which now supports roles and caching of 
346         the results (thanks to jrockway)
347         - added tests for this
348       - made ->does_role a little more forgiving when it is
349         checking a Class::MOP era metaclasses.
350     
351     * Moose::Meta::Role::Application::ToInstance
352       - it is now possible to pass extra params to be used when 
353         a role is applied to an the instance (rebless_params)
354         - added tests for this
355     
356     * Moose::Util::TypeConstraints
357       - class_type now accepts an optional second argument for a
358         custom message. POD anotated accordingly (groditi)
359         - added tests for this 
360       - it is now possible to make anon-enums by passing 'enum' an 
361         ARRAY ref instead of the $name => @values. Everything else 
362         works as before.
363         - added tests for this
364     
365     * t/
366       - making test for using '+name' on attributes consumed 
367         from a role, it works and makes sense too.    
368
369     * Moose::Meta::Attribute 
370       - fix handles so that it doesn't return nothing 
371         when the method cannot be found, not sure why 
372         it ever did this originally, this means we now
373         have slightly better support for AUTOLOADed 
374         objects
375         - added more delegation tests
376       - adding ->does method to this so as to better 
377         support traits and their introspection.
378         - added tests for this
379     
380     * Moose::Object
381       - localizing the Data::Dumper configurations so 
382         that it does not pollute others (RT #33509)
383       - made ->does a little more forgiving when it is
384         passed Class::MOP era metaclasses.
385
386 0.38 Fri. Feb. 15, 2008
387     * Moose::Meta::Attribute 
388       - fixed initializer to correctly do 
389         type checking and coercion in the 
390         callback 
391         - added tests for this
392
393     * t/
394       - fixed some finicky tests (thanks to konobi)
395
396 0.37 Thurs. Feb. 14, 2008
397     * Moose
398       - fixed some details in Moose::init_meta 
399         and its superclass handling (thanks thepler)
400         - added tests for this (thanks thepler)
401       - 'has' now dies if you don't pass in name 
402         value pairs
403       - added the 'make_immutable' keyword as a shortcut
404         to make_immutable
405
406     * Moose::Meta::Class
407       Moose::Meta::Method::Constructor
408       Moose::Meta::Attribute        
409       - making (init_arg => undef) work here too
410         (thanks to nothingmuch)
411         
412     * Moose::Meta::Attribute        
413       Moose::Meta::Method::Constructor
414       Moose::Meta::Method::Accessor                
415       - make lazy attributes respect attr initializers (rjbs)
416         - added tests for this
417     
418     * Moose::Util::TypeConstraints
419       Moose::Util::TypeConstraints::OptimizedConstraints
420       Moose::Meta::TypeConstraints
421       Moose::Meta::Attribute
422       Moose::Meta::Method::Constructor
423       Moose::Meta::Method::Accessor            
424       - making type errors use the 
425         assigned message (thanks to Sartak)
426         - added tests for this
427
428     * Moose::Meta::Method::Destructor
429       - making sure DESTROY gets inlined properly 
430         with successive DEMOLISH calls (thanks to manito)
431
432     * Moose::Meta::Attribute  
433       Moose::Meta::Method::Accessor 
434       - fixed handling of undef with type constraints 
435         (thanks to Ernesto)               
436         - added tests for this
437     
438     * Moose::Util
439       - added &get_all_init_args and &get_all_attribute_values 
440         (thanks to Sartak and nothingmuch)
441
442 0.36 Sat. Jan. 26, 2008
443     * Moose::Role
444       Moose::Meta::Attribute
445       - role type tests now support when roles are 
446         applied to non-Moose classes (found by ash)
447         - added tests for this (thanks to ash)
448       - couple extra tests to boost code coverage
449
450     * Moose::Meta::Method::Constructor    
451       - improved fix for handling Class::MOP attributes
452         - added test for this        
453       
454     * Moose::Meta::Class
455       - handled the add_attribute($attribute_meta_object)
456         case correctly
457         - added test for this
458
459 0.35 Tues. Jan. 22, 2008
460     * Moose::Meta::Method::Constructor
461       - fix to make sure even Class::MOP attributes 
462         are handled correctly (Thanks to Dave Rolsky)
463         - added test for this (also Dave Rolsky)
464     
465     * Moose::Meta::Class
466       - improved error message on _apply_all_roles, 
467         you should now use Moose::Util::apply_all_roles
468         and you shouldnt have been using a _ prefixed
469         method in the first place ;)
470
471 0.34 Mon. Jan. 21, 2008
472     ~~~ more misc. doc. fixes ~~~
473     ~~ updated copyright dates ~~
474
475     Moose is now a postmodern object system :)
476       - (see the POD for details)
477       
478     * <<Role System Refactoring>>    
479     - this release contains a major reworking and 
480       cleanup of the role system     
481       - 100% backwards compat.
482       - Role application now restructured into seperate
483         classes based on type of applicants
484       - Role summation (combining of more than one role)
485         is much cleaner and anon-classes are no longer 
486         used in this process
487       - new Composite role metaclass    
488       - runtime application of roles to instances
489         is now more efficient and re-uses generated
490         classes when applicable
491         
492     * <<New Role composition features>>
493       - methods can now be excluded from a given role 
494         during composition
495       - methods can now be aliased to another name (and 
496         still retain the original as well)        
497     
498     * Moose::Util::TypeConstraints::OptimizedConstraints
499       - added this module (see above)
500
501     * Moose::Meta::Class
502       - fixed the &_process_attribute method to be called
503         by &add_attribute, so that the API is now correct
504
505     * Moose::Meta::Method::Accessor
506       - fixed bug when passing a list of values to
507         an accessor would get (incorrectly) ignored.
508         Thanks to Sartak for finding this ;)
509         - added tests for this (Sartak again)
510
511     * Moose::Meta::Method::Accessor
512       Moose::Meta::Method::Constructor
513       Moose::Meta::Attribute
514       Moose::Meta::TypeConstraint      
515       Moose::Meta::TypeCoercion      
516       - lots of cleanup of such things as: 
517         - generated methods
518         - type constraint handling
519         - error handling/messages 
520         (thanks to nothingmuch)   
521     
522     * Moose::Meta::TypeConstraint::Parameterizable
523       - added this module to support the refactor 
524         in Moose::Meta::TypeConstraint::Parameterized
525
526     * Moose::Meta::TypeConstraint::Parameterized
527       - refactored how these types are handled so they 
528         are more generic and not confined to ArrayRef
529         and HashRef only
530
531     * t/
532       - shortened some file names for better VMS support (RT #32381)
533
534 0.33 Fri. Dec. 14, 2007
535     !! Moose now loads 2 x faster !!
536     !!  with new Class::MOP 0.49  !!
537
538     ++ new oose.pm module to make command line
539        Moose-ness easier (see POD docs for more)
540
541     * Moose::Meta::Class
542     * Moose::Meta::Role
543       - several tweaks to take advantage of the
544         new method map caching in Class::MOP
545
546     * Moose::Meta::TypeConstraint::Parameterized
547       - allow subtypes of ArrayRef and HashRef to
548         be used as a container (sartak)
549         - added tests for this
550       - basic support for coercion to ArrayRef and
551         HashRef for containers (sartak)
552         - added tests for this
553
554     * Moose::Meta::TypeCoercion
555       - coercions will now create subtypes as needed
556         so you can now add coercions to parameterized
557         types without having to explictly define them
558         - added tests for this
559
560     * Moose::Meta::Method::Accessor
561       - allow subclasses to decide whether we need
562         to copy the value into a new variable (sartak)
563
564 0.32 Tues. Dec. 4, 2007
565     * Moose::Util::TypeConstraints
566       - fixing how subtype aliases of unions work
567         they should inherit the parent's coercion
568         - added tests for this
569       - you can now define multiple coercions on
570         a single type at different times instead of
571         having to do it all in one place
572         - added tests for this
573
574     * Moose::Meta::TypeConstraint
575       - there is now a default constraint of sub { 1 }
576         instead of Moose::Util::TypeConstraints setting
577         this for us
578
579     * Moose::Meta::TypeCoercion
580     * Moose::Meta::TypeCoercion::Union
581       - added the &has_coercion_for_type and
582         &add_type_coercions methods to support the
583         new features above (although you cannot add
584         more type coercions for Union types)
585
586 0.31 Mon. Nov. 26, 2007
587     * Moose::Meta::Attribute
588       - made the +attr syntax handle extending types with
589         parameters. So "has '+foo' => (isa => 'ArrayRef[Int]')"
590         now works if the original foo is an ArrayRef.
591         - added tests for this.
592       - delegation now works even if the attribute does not
593         have a reader method using the get_read_method_ref
594         method from Class::MOP::Attribute.
595         - added tests for this
596         - added docs for this
597
598     * Moose::Util::TypeConstraints
599       - passing no "additional attribute info" to
600         &find_or_create_type_constraint will no longer
601         attempt to create an __ANON__ type for you,
602         instead it will just return undef.
603         - added docs for this
604
605 0.30 Fri. Nov. 23, 2007
606     * Moose::Meta::Method::Constructor
607       -builder related bug in inlined constructor. (groditi)
608
609     * Moose::Meta::Method::Accessor
610       - genereate unnecessary calls to predicates and refactor
611         code generation for runtime speed (groditi)
612
613     * Moose::Util::TypeConstraints
614       - fix ClassName constraint to introspect symbol table (mst)
615         - added more tests for this (mst)
616       - fixed it so that subtype 'Foo' => as 'HashRef[Int]' ...
617         with work correctly.
618         - added tests for this
619
620     * Moose::Cookbook
621       - adding the link to Recipie 11 (written by Sartak)
622         - adding test for SYNOPSIS code
623
624     * t/
625       - New tests for builder bug. Upon instantiation, if an
626         attribute had a builder, no value and was not lazy the
627         builder default was not getting run, oops. (groditi)
628
629 0.29 Tues. Nov. 13, 2007
630     * Moose::Meta::Attribute
631       - Fix error message on missing builder method (groditi)
632
633     * Moose::Meta::Method::Accessor
634       - Fix error message on missing builder method (groditi)
635
636     * t/
637       - Add test to check for the correct error message when
638         builder method is missing (groditi)
639
640 0.28 Tues. Nov. 13, 2007
641     - 0.27 packaged incorrectly (groditi)
642
643 0.27 Tues. Nov. 13, 2007
644     * Moose::Meta::Attribute
645       - Added support for the new builder option (groditi)
646       - Added support for lazy_build option (groditi)
647       - Changed slot initialization for predicate changes (groditi)
648
649     * Moose::Meta::Method::Accessor
650       - Added support for lazy_build option (groditi)
651       - Fix inline methods to work with corrected predicate
652         behavior (groditi)
653
654     * Moose::Meta::Method::Constructor
655       - Added support for lazy_build option (groditi)
656
657     * t/
658       - tests for builder and lazy_build (groditi)
659
660     * fixing some misc. bits in the docs that
661       got mentioned on CPAN Forum & perlmonks
662
663     * Moose::Meta::Role
664       - fixed how required methods are handled
665         when they encounter overriden or modified
666         methods from a class (thanks to confound).
667         - added tests for this
668
669     * Moose::Util::TypeConstraint
670       - fixed the type notation parser so that
671         the | always creates a union and so is
672         no longer a valid type char (thanks to
673         konobi, mugwump and #moose for working
674         this one out.)
675         - added more tests for this
676
677 0.26 Thurs. Sept. 27, 2007
678     == New Features ==
679
680     * Parameterized Types
681       We now support parameterized collection types, such as:
682           ArrayRef[Int]    # array or integers
683           HashRef[Object]  # a hash with object values
684       They can also be nested:
685           ArrayRef[HashRef[RegExpr]] # an array of hashes with regexpr values
686       And work with the type unions as well:
687           ArrayRef[Int | Str]  # array of integers of strings
688
689     * Better Framework Extendability
690       Moose.pm is now "extendable" such that it is now much
691       easier to extend the framework and add your own keywords
692       and customizations. See the "EXTENDING AND EMBEDDING MOOSE"
693       section of the Moose.pm docs.
694
695     * Moose Snacks!
696       In an effort to begin documenting some of the various
697       details of Moose as well as some common idioms, we have
698       created Moose::Cookbook::Snacks as a place to find
699       small (easily digestable) nuggets of Moose code.
700
701     ====
702     ~ Several doc updates/cleanup thanks to castaway ~
703
704     - converted build system to use Module::Install instead of
705       Module::Build (thanks to jrockway)
706
707     * Moose
708       - added all the meta classes to the immutable list and
709         set it to inline the accessors
710       - fix import to allow Sub::Exporter like { into => }
711             and { into_level => } (perigrin)
712       - exposed and documented init_meta() to allow better
713             embedding and extending of Moose (perigrin)
714
715         * t/
716           - complete re-organization of the test suite
717           - added some new tests as well
718           - finally re-enabled the Moose::POOP test since
719             the new version of DBM::Deep now works again
720             (thanks rob)
721
722     * Moose::Meta::Class
723       - fixed very odd and very nasty recursion bug with
724         inner/augment (mst)
725         - added tests for this (eilara)
726
727     * Moose::Meta::Attribute
728       Moose::Meta::Method::Constructor
729       Moose::Meta::Method::Accessor
730       - fixed issue with overload::Overloaded getting called
731         on non-blessed items. (RT #29269)
732         - added tests for this
733
734     * Moose::Meta::Method::Accessor
735       - fixed issue with generated accessor code making
736         assumptions about hash based classes (thanks to dexter)
737
738     * Moose::Coookbook::Snacks
739       - these are bits of documentation, not quite as big as
740         Recipes but which have no clear place in the module docs.
741         So they are Snacks! (horray for castaway++)
742
743     * Moose::Cookbook::Recipe4
744       - updated it to use the new ArrayRef[MyType] construct
745         - updated the accompanying test as well
746
747     +++ Major Refactor of the Type Constraint system +++
748     +++       with new features added as well        +++
749
750     * Moose::Util::TypeConstraint
751       - no longer uses package variable to keep track of
752         the type constraints, now uses the an instance of
753         Moose::Meta::TypeConstraint::Registry to do it
754       - added more sophisticated type notation parsing
755         (thanks to mugwump)
756         - added tests for this
757
758     * Moose::Meta::TypeConstraint
759       - some minor adjustments to make subclassing easier
760       - added the package_defined_in attribute so that we
761         can track where the type constraints are created
762
763     * Moose::Meta::TypeConstraint::Union
764       - this is now been refactored to be a subclass of
765         Moose::Meta::TypeConstraint
766
767     * Moose::Meta::TypeCoercion::Union
768       - this has been added to service the newly refactored
769         Moose::Meta::TypeConstraint::Union and is itself
770         a subclass of Moose::Meta::TypeCoercion
771
772     * Moose::Meta::TypeConstraint::Parameterized
773       - added this module (taken from MooseX::AttributeHelpers)
774         to help construct nested collection types
775         - added tests for this
776
777     * Moose::Meta::TypeConstraint::Registry
778       - added this class to keep track of type constraints
779
780 0.25 Mon. Aug. 13, 2007
781     * Moose
782       - Documentation update to reference Moose::Util::TypeConstraints
783         under 'isa' in 'has' for how to define a new type
784         (thanks to shlomif).
785
786     * Moose::Meta::Attribute
787       - required attributes now will no longer accept undef
788         from the constructor, even if there is a default and lazy
789         - added tests for this
790       - default subroutines must return a value which passes the
791         type constraint
792         - added tests for this
793
794     * Moose::Meta::Attribute
795     * Moose::Meta::Method::Constructor
796     * Moose::Meta::Method::Accessor
797       - type-constraint tests now handle overloaded objects correctly
798         in the error message
799         - added tests for this (thanks to EvanCarroll)
800
801     * Moose::Meta::TypeConstraint::Union
802       - added (has_)hand_optimized_constraint to this class so that
803         it behaves as the regular Moose::Meta::TypeConstraint does.
804
805     * Moose::Meta::Role
806       - large refactoring of this code
807       - added several more tests
808         - tests for subtle conflict resolition issues
809           added, but not currently running
810           (thanks to kolibre)
811
812     * Moose::Cookbook::Recipe7
813       - added new recipe for augment/inner functionality
814         (still in progress)
815         - added test for this
816
817     * Moose::Spec::Role
818       - a formal definition of roles (still in progress)
819
820     * Moose::Util
821       - utilities for easier working with Moose classes
822         - added tests for these
823
824     * Test::Moose
825       - This contains Moose specific test functions
826         - added tests for these
827
828 0.24 Tues. July 3, 2007
829     ~ Some doc updates/cleanup ~
830
831     * Moose::Meta::Attribute
832       - added support for roles to be given as parameters
833         to the 'handles' option.
834         - added tests and docs for this
835       - the has '+foo' attribute form now accepts changes to
836         the lazy option, and the addition of a handles option
837         (but not changing the handles option)
838         - added tests and docs for this
839
840     * Moose::Meta::Role
841       - required methods are now fetched using find_method_by_name
842         so that required methods can come from superclasses
843         - adjusted tests for this
844
845 0.23 Mon. June 18, 2007
846     * Moose::Meta::Method::Constructor
847       - fix inlined constructor for hierarchy with multiple BUILD methods (mst)
848     * Moose::Meta::Class
849       - Modify make_immutable to work with the new Class::MOP immutable
850         mechanism + POD + very basic test (groditi)
851     * Moose::Meta::Attribute
852       - Fix handles to use goto() so that caller() comes out properly on
853         the other side (perigrin)
854
855 0.22 Thurs. May 31, 2007
856     * Moose::Util::TypeConstraints
857       - fix for prototype undeclared issue when Moose::Util::TypeConstraints
858         loaded before consumers (e.g. Moose::Meta::Attribute) by predeclaring
859         prototypes for functions
860       - added the ClassName type constraint, this checks for strings
861         which will respond true to ->isa(UNIVERSAL).
862         - added tests and docs for this
863       - subtyping just in name now works correctly by making the
864         default for where be { 1 }
865         - added test for this
866
867     * Moose::Meta::Method::Accessor
868       - coerce and lazy now work together correctly, thanks to
869         merlyn for finding this bug
870         - tests added for this
871       - fix reader presedence bug in Moose::Meta::Attribute + tests
872
873     * Moose::Object
874       - Foo->new(undef) now gets ignored, it is assumed you meant to pass
875         a HASH-ref and missed. This produces better error messages then
876         having it die cause undef is not a HASH.
877         - added tests for this
878
879 0.21 Thursday, May 2nd, 2007
880     * Moose
881       - added SUPER_SLOT and INNER_SLOT class hashes to support unimport
882       - modified unimport to remove super and inner along with the rest
883         - altered unimport tests to handle this
884
885     * Moose::Role
886       - altered super export to populate SUPER_SLOT
887
888     * Moose::Meta::Class
889       - altered augment and override modifier application to use *_SLOT
890         - modified tests for these to unimport one test class each to test
891
892     * Moose::Meta::Role
893       - fixed issue where custom attribute metaclasses
894         where not handled correctly in roles
895         - added tests for this
896
897     * Moose::Meta::Class
898       - fixed issue where extending metaclasses with
899         roles would blow up. Thanks to Aankhen`` for
900         finding this insidious error, and it's solution.
901
902     ~~ lots of spelling and grammer fixes in the docs,
903        many many thanks to rlb3 and Aankhen for these :)
904
905 0.20 Friday, April 6th, 2007
906     >> I messed up the SKIP logic in one test
907        so this release is just to fix that.
908
909     * Moose
910       - 'has' now also accepts an ARRAY ref
911         to create multiple attrs (see docs)
912         (thanks to konobi for this)
913          - added tests and docs
914
915 0.19 Thurs. April 5th, 2007
916     ~~ More documentation updates ~~
917
918     * Moose::Util::TypeConstraints
919       - 'type' now supports messages as well
920         thanks to phaylon for finding this
921         - added tests for this
922       - added &list_all_type_constraints and
923         &list_all_builtin_type_constraints
924         functions to facilitate introspection.
925
926     * Moose::Meta::Attribute
927       - fixed regexp 'handles' declarations
928         to build the list of delegated methods
929         correctly (and not override important
930         things like &new) thanks to ashleyb
931         for finding this
932         - added tests and docs for this
933       - added the 'documentation' attributes
934         so that you can actually document your
935         attributes and inspect them through the
936         meta-object.
937         - added tests and docs for this
938
939     * Moose::Meta::Class
940       - when loading custom attribute metaclasses
941         it will first look in for the class in the
942         Moose::Meta::Attribute::Custom::$name, and
943         then default to just loading $name.
944         - added tests and docs for this
945
946     * Moose::Meta::TypeConstraint
947       - type constraints now stringify to their names.
948         - added test for this
949
950     * misc.
951       - added tests to assure we work with Module::Refresh
952       - added stricter test skip logic in the Moose POOP
953         test, ask Rob Kinyon why.
954         - *cough* DBM::Deep 1.0 backwards compatability sucks *cough* ;)
955
956 0.18 Sat. March 10, 2007
957     ~~ Many, many documentation updates ~~
958
959     * misc.
960       - We now use Class::MOP::load_class to
961         load all classes.
962       - added tests to show types and subtypes
963         working with Declare::Constraints::Simple
964         and Test::Deep as constraint engines.
965
966 0.18_001
967     !! You must have Class::MOP 0.37_001  !!
968     !! for this developer release to work !!
969
970     This release was primarily adding the immutable
971     feature to Moose. An immutable class is one which
972     you promise not to alter. When you set the class
973     as immutable it will perform various bits of
974     memoization and inline certain part of the code
975     (constructors, destructors and accessors). This
976     minimizes (and in some cases totally eliminates)
977     one of Moose's biggest performance hits. This
978     feature is not on by default, and is 100% optional.
979     It has several configurable bits as well, so you
980     can pick and choose to your specific needs.
981
982     The changes involved in this were fairly wide and
983     highly specific, but 100% backwards compatible, so
984     I am not going to enumerate them here. If you are
985     truely interested in what was changed, please do
986     a diff :)
987
988 0.17 Tues. Nov. 14, 2006
989     * Moose::Meta::Method::Accessor
990       - bugfix for read-only accessors which
991         are have a type constraint and lazy.
992         Thanks to chansen for finding it.
993
994 0.16 Tues. Nov. 14, 2006
995     ++ NOTE ++
996     There are some speed improvements in this release,
997     but they are only the begining, so stay tuned.
998
999     * Moose::Object
1000       - BUILDALL and DEMOLISHALL no longer get
1001         called unless they actually need to be.
1002         This gave us a signifigant speed boost
1003         for the cases when there is no BUILD or
1004         DEMOLISH method present.
1005
1006     * Moose::Util::TypeConstraints
1007     * Moose::Meta::TypeConstraint
1008       - added an 'optimize_as' option to the
1009         type constraint, which allows for a
1010         hand optimized version of the type
1011         constraint to be used when possible.
1012       - Any internally created type constraints
1013         now provide an optimized version as well.
1014
1015 0.15 Sun. Nov. 5, 2006
1016     ++ NOTE ++
1017     This version of Moose *must* have Class::MOP 0.36 in order
1018     to work correctly. A number of small internal tweaks have
1019     been made in order to be compatible with that release.
1020
1021     * Moose::Util::TypeConstraints
1022       - added &unimport so that you can clean out
1023         your class namespace of these exported
1024         keywords
1025
1026     * Moose::Meta::Class
1027       - fixed minor issue which occasionally
1028         comes up during global destruction
1029         (thanks omega)
1030       - moved Moose::Meta::Method::Overriden into
1031         its own file.
1032
1033     * Moose::Meta::Role
1034       - moved Moose::Meta::Role::Method into
1035         its own file.
1036
1037     * Moose::Meta::Attribute
1038       - changed how we do type checks so that
1039         we reduce the overall cost, but still
1040         retain correctness.
1041        *** API CHANGE ***
1042       - moved accessor generation methods to
1043         Moose::Meta::Method::Accessor to
1044         conform to the API changes from
1045         Class::MOP 0.36
1046
1047     * Moose::Meta::TypeConstraint
1048       - changed how constraints are compiled
1049         so that we do less recursion and more
1050         iteration. This makes the type check
1051         faster :)
1052       - moved Moose::Meta::TypeConstraint::Union
1053         into its own file
1054
1055     * Moose::Meta::Method::Accessor
1056       - created this from methods formerly found in
1057         Moose::Meta::Attribute
1058
1059     * Moose::Meta::Role::Method
1060       - moved this from Moose::Meta::Role
1061
1062     * Moose::Meta::Method::Overriden
1063       - moved this from Moose::Meta::Class
1064
1065     * Moose::Meta::TypeConstraint::Union
1066       - moved this from Moose::Meta::TypeConstraint
1067
1068 0.14 Mon. Oct. 9, 2006
1069
1070     * Moose::Meta::Attribute
1071       - fixed lazy attributes which were not getting
1072         checked with the type constraint (thanks ashley)
1073         - added tests for this
1074       - removed the over-enthusiastic DWIMery of the
1075         automatic ArrayRef and HashRef defaults, it
1076         broke predicates in an ugly way.
1077         - removed tests for this
1078
1079 0.13 Sat. Sept. 30, 2006
1080     ++ NOTE ++
1081     This version of Moose *must* have Class::MOP 0.35 in order
1082     to work correctly. A number of small internal tweaks have
1083     been made in order to be compatible with that release.
1084
1085     * Moose
1086       - Removed the use of UNIVERSAL::require to be a better
1087         symbol table citizen and remove a dependency
1088         (thanks Adam Kennedy)
1089
1090       **~~ removed experimental & undocumented feature ~~**
1091       - commented out the 'method' and 'self' keywords, see the
1092         comments for more info.
1093
1094     * Moose::Cookbook
1095       - added a FAQ and WTF files to document frequently
1096         asked questions and common problems
1097
1098     * Moose::Util::TypeConstraints
1099       - added GlobRef and FileHandle type constraint
1100         - added tests for this
1101
1102     * Moose::Meta::Attribute
1103       - if your attribute 'isa' ArrayRef of HashRef, and you have
1104         not explicitly set a default, then make the default DWIM.
1105         This will also work for subtypes of ArrayRef and HashRef
1106         as well.
1107       - you can now auto-deref subtypes of ArrayRef or HashRef too.
1108         - new test added for this (thanks to ashley)
1109
1110     * Moose::Meta::Role
1111       - added basic support for runtime role composition
1112         but this is still *highly experimental*, so feedback
1113         is much appreciated :)
1114         - added tests for this
1115
1116     * Moose::Meta::TypeConstraint
1117       - the type constraint now handles the coercion process
1118         through delegation, this is to support the coercion
1119         of unions
1120
1121     * Moose::Meta::TypeConstraint::Union
1122       - it is now possible for coercions to be performed
1123         on a type union
1124         - added tests for this (thanks to konobi)
1125
1126     * Moose::Meta::TypeCoercion
1127       - properly capturing error when type constraint
1128         is not found
1129
1130     * Build.PL
1131       - Scalar::Util 1.18 is bad on Win32, so temporarily
1132         only require version 1.17 for Win32 and cygwin.
1133         (thanks Adam Kennedy)
1134
1135 0.12 Sat. Sept. 1, 2006
1136     * Moose::Cookbook
1137       - Recipe5 (subtypes & coercion) has been written
1138
1139     * Moose
1140       - fixed "bad meta" error message to be more descriptive
1141       - fixed &unimport to not remove the &inner and &super
1142         keywords because we need to localize them.
1143       - fixed number of spelling/grammer issues, thanks Theory :)
1144
1145       **~~ experimental & undocumented feature ~~**
1146       - added the method and self keywords, they are basically
1147         just sugar, and they may not stay around.
1148
1149     * Moose::Object
1150       - added &dump method to easily Data::Dumper
1151         an object
1152
1153     * Moose::Meta::TypeConstraint
1154       - added the &is_a_type_of method to check both the current
1155         and the subtype of a method (similar to &isa with classes)
1156
1157     * Moose::Meta::Role
1158       - this is now a subclass of Class::MOP::Module, and no longer
1159         creates the _role_meta ugliness of before.
1160         - fixed tests to reflect this change
1161
1162 0.11 Wed. July 12, 2006
1163     * Moose
1164       - added an &unimport method to remove all the keywords
1165         that Moose will import, simply add 'no Moose' to the
1166         bottom of your class file.
1167
1168     * t/
1169       - fixed some test failures caused by a forgotten test
1170         dependency.
1171
1172 0.10 Thurs. July 6, 2006
1173     * Moose
1174       - improved error message when loading modules so
1175         it is less confusing when you load a role.
1176       - added &calculate_all_roles method to
1177         Moose::Meta::Class and Moose::Meta::Role
1178
1179     NOTE:
1180     This module has been tested against Class::MOP 0.30
1181     but it does not yet utilize the optimizations
1182     it makes available. Stay tuned for that ;)
1183
1184 0.09_03 Fri. June 23, 2006
1185     ++ DEVELOPER RELEASE ++
1186     * Moose
1187       - 'use strict' and 'use warnings' are no longer
1188          needed in Moose classes, Moose itself will
1189          turn them on for you.
1190          - added tests for this
1191       - moved code from exported subs to private methods
1192         in Moose::Meta::Class
1193
1194     * Moose::Role
1195       - as with Moose, strict and warnings are
1196         automatically turned on for you.
1197          - added tests for this
1198
1199     * Moose::Meta::Role
1200       - now handles an edge case for override errors
1201         - added tests for this
1202       - added some more edge case tests
1203
1204 0.09_02 Tues. May 16, 2006
1205     ++ DEVELOPER RELEASE ++
1206     * Moose
1207       - added prototypes to the exported subs
1208       - updated docs
1209
1210     * Moose::Role
1211       - added prototypes to the exported subs
1212       - updated docs
1213
1214     * Moose::Util::TypeConstraints
1215       - cleaned up prototypes for the subs
1216       - updated docs
1217
1218 0.09_01 Fri. May 12, 2006
1219     ++ DEVELOPER RELEASE ++
1220       - This release works in combination with
1221         Class::MOP 0.29_01, it is a developer
1222         release because it uses the a new
1223         instance sub-protocol and a fairly
1224         complete Role implementation. It has
1225         not yet been optimized, so it slower
1226         the the previous CPAN version. This
1227         release also lacks good updated docs,
1228         the official release will have updated docs.
1229
1230     * Moose
1231       - refactored the keyword exports
1232         - 'with' now checks Role validaity and
1233           accepts more than one Role at a time
1234         - 'extends' makes metaclass adjustments as
1235            needed to ensure metaclass compatability
1236
1237     * Moose::Role
1238       - refactored the keyword exports
1239         - 'with' now checks Role validaity and
1240           accepts more than one Role at a time
1241
1242     * Moose::Util::TypeConstraints
1243       - added the 'enum' keyword for simple
1244         string enumerations which can be used as
1245         type constraints
1246         - see example of usage in t/202_example.t
1247
1248     * Moose::Object
1249       - more careful checking of params to new()
1250
1251     * Moose::Meta::Role
1252       - much work done on the role composition
1253         - many new tests for conflict detection
1254           and composition edge cases
1255         - not enough documentation, I suggest
1256           looking at the tests
1257
1258     * Moose::Meta::Instance
1259       - added new Instance metaclass to support
1260         the new Class::MOP instance protocol
1261
1262     * Moose::Meta::Class
1263       - some small changes to support the new
1264         instance protocol
1265       - some small additions to support Roles
1266
1267     * Moose::Meta::Attribute
1268       - some improvements to the accessor generation code
1269         by nothingmuch
1270       - some small changes to support the new
1271         instance protocol
1272       - (still somewhat) experimental delegation support
1273         with the 'handles' option
1274         - added several tests for this
1275         - no docs for this yet
1276
1277 0.05 Thurs. April 27, 2006
1278     * Moose
1279       - keywords are now exported with Sub::Exporter
1280         thanks to chansen for this commit
1281       - has keyword now takes a 'metaclass' option
1282         to support custom attribute meta-classes
1283         on a per-attribute basis
1284         - added tests for this
1285       - the 'has' keyword not accepts inherited slot
1286         specifications (has '+foo'). This is still an
1287         experimental feature and probably not finished
1288         see t/038_attribute_inherited_slot_specs.t for
1289         more details, or ask about it on #moose
1290         - added tests for this
1291
1292     * Moose::Role
1293       - keywords are now exported with Sub::Exporter
1294
1295     * Moose::Utils::TypeConstraints
1296       - reorganized the type constraint hierarchy, thanks
1297         to nothingmuch and chansen for his help and advice
1298         on this
1299         - added some tests for this
1300       - keywords are now exported with Sub::Exporter
1301         thanks to chansen for this commit
1302
1303     * Moose::Meta::Class
1304       - due to changes in Class::MOP, we had to change
1305         construct_instance (for the better)
1306
1307     * Moose::Meta::Attribute
1308       - due to changes in Class::MOP, we had to add the
1309         initialize_instance_slot method (it's a good thing)
1310
1311     * Moose::Meta::TypeConstraint
1312       - added type constraint unions
1313         - added tests for this
1314       - added the is_subtype_of predicate method
1315         - added tests for this
1316
1317 0.04 Sun. April 16th, 2006
1318     * Moose::Role
1319       - Roles can now consume other roles
1320         - added tests for this
1321       - Roles can specify required methods now with
1322         the requires() keyword
1323         - added tests for this
1324
1325     * Moose::Meta::Role
1326       - ripped out much of it's guts ,.. much cleaner now
1327       - added required methods and correct handling of
1328         them in apply() for both classes and roles
1329         - added tests for this
1330       - no longer adds a does() method to consuming classes
1331         it relys on the one in Moose::Object
1332       - added roles attribute and some methods to support
1333         roles consuming roles
1334
1335     * Moose::Meta::Attribute
1336       - added support for triggers on attributes
1337         - added tests for this
1338       - added support for does option on an attribute
1339         - added tests for this
1340
1341     * Moose::Meta::Class
1342       - added support for attribute triggers in the
1343         object construction
1344         - added tests for this
1345
1346     * Moose
1347       - Moose no longer creates a subtype for your class
1348         if a subtype of the same name already exists, this
1349         should DWIM in 99.9999% of all cases
1350
1351     * Moose::Util::TypeConstraints
1352       - fixed bug where incorrect subtype conflicts were
1353         being reported
1354         - added test for this
1355
1356     * Moose::Object
1357       - this class can now be extended with 'use base' if
1358         you need it, it properly loads the metaclass class now
1359         - added test for this
1360
1361 0.03_02 Wed. April 12, 2006
1362     * Moose
1363       - you must now explictly use Moose::Util::TypeConstraints
1364         it no longer gets exported for you automatically
1365
1366     * Moose::Object
1367       - new() now accepts hash-refs as well as key/value lists
1368       - added does() method to check for Roles
1369         - added tests for this
1370
1371     * Moose::Meta::Class
1372       - added roles attribute along with the add_role() and
1373         does_role() methods
1374         - added tests for this
1375
1376     * Moose::Meta::Role
1377       - now adds a does() method to consuming classes
1378         which tests the class's hierarchy for roles
1379         - added tests for this
1380
1381 0.03_01 Mon. April 10, 2006
1382     * Moose::Cookbook
1383       - added new Role recipe (no content yet, only code)
1384
1385     * Moose
1386       - added 'with' keyword for Role support
1387         - added test and docs for this
1388       - fixed subtype quoting bug
1389         - added test for this
1390
1391     * Moose::Role
1392       - Roles for Moose
1393         - added test and docs
1394
1395     * Moose::Util::TypeConstraints
1396       - added the message keyword to add custom
1397         error messages to type constraints
1398
1399     * Moose::Meta::Role
1400       - the meta role to support Moose::Role
1401         - added tests and docs
1402
1403     * Moose::Meta::Class
1404       - moved a number of things from Moose.pm
1405         to here, they should have been here
1406         in the first place
1407
1408     * Moose::Meta::Attribute
1409       - moved the attribute option macros here
1410         instead of putting them in Moose.pm
1411
1412     * Moose::Meta::TypeConstraint
1413       - added the message attributes and the
1414         validate method
1415         - added tests and docs for this
1416
1417 0.03 Thurs. March 30, 2006
1418     * Moose::Cookbook
1419       - added the Moose::Cookbook with 5 recipes,
1420         describing all the stuff Moose can do.
1421
1422     * Moose
1423       - fixed an issue with &extends super class loading
1424         it now captures errors and deals with inline
1425         packages correctly (bug found by mst, solution
1426         stolen from alias)
1427       - added super/override & inner/augment features
1428         - added tests and docs for these
1429
1430     * Moose::Object
1431       - BUILDALL now takes a reference of the %params
1432         that are passed to &new, and passes that to
1433         each BUILD as well.
1434
1435     * Moose::Util::TypeConstraints
1436       - Type constraints now survive runtime reloading
1437         - added test for this
1438
1439         * Moose::Meta::Class
1440           - fixed the way attribute defaults are handled
1441             during instance construction (bug found by chansen)
1442
1443     * Moose::Meta::Attribute
1444       - read-only attributes now actually enforce their
1445         read-only-ness (this corrected in Class::MOP as
1446         well)
1447
1448 0.02 Tues. March 21, 2006
1449     * Moose
1450       - many more tests, fixing some bugs and
1451         edge cases
1452       - &extends now loads the base module with
1453         UNIVERSAL::require
1454         - added UNIVERSAL::require to the
1455           dependencies list
1456       ** API CHANGES **
1457       - each new Moose class will also create
1458         and register a subtype of Object which
1459         correspond to the new Moose class.
1460       - the 'isa' option in &has now only
1461         accepts strings, and will DWIM in
1462         almost all cases
1463
1464     * Moose::Util::TypeConstraints
1465       - added type coercion features
1466         - added tests for this
1467         - added support for this in attributes
1468           and instance construction
1469       ** API CHANGES **
1470       - type construction no longer creates a
1471         function, it registers the type instead.
1472         - added several functions to get the
1473           registered types
1474
1475     * Moose::Object
1476       - BUILDALL and DEMOLISHALL were broken
1477         because of a mis-named hash key, Whoops :)
1478
1479     * Moose::Meta::Attribute
1480       - adding support for coercion in the
1481         autogenerated accessors
1482
1483     * Moose::Meta::Class
1484       - adding support for coercion in the
1485         instance construction
1486
1487     * Moose::Meta::TypeConstraint
1488     * Moose::Meta::TypeCoercion
1489           - type constraints and coercions are now
1490             full fledges meta-objects
1491
1492 0.01 Wed. March 15, 2006
1493     - Moooooooooooooooooose!!!