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