Avoid Test::Exception problems with T::E::LessClever
[gitmo/Mouse.git] / Changes
CommitLineData
c3398f5b 1Revision history for Mouse
927982b4 2
c511de8e 30.72
4 [BUG FIXES]
5 * There were a number of incompatibilities in Mouse::PurePerl
6 * Error messages from duck types are now compatible with Moose
7
43c1bb1a 80.71 Fri Sep 24 19:51:04 2010
ea2bc86c 9 [CHANGES]
10 * Inheritance from non-Mouse classes now produces warnings.
11 Use MouseX::Foreign if you want this type of inheritance.
2866c945 12 * A new module Mouse::Meta::Role::Application has been added.
13 It doesn not affect public APIs, but internals are radically
14 changed. For users, using Mouse without roles should consume
15 less memory.
ea2bc86c 16
17 [BUG FIXES]
18 * Meta class reinitialization caused by Mouse::Util::MetaRole
19 did not work correctly
20
86eb0b5e 210.70 Fri Sep 17 19:07:02 2010
22 [BUG FIXES]
23 * Delegations ignored method modifiers
24
aa36910f 250.69 Mon Sep 13 14:04:41 2010
26 [BUG FIXES]
27 * Workaround a problem with Test::Builder 2.00_01, which could cause
28 SEGV (the HEAD in the repository of tb2 is okay)
29
d5888732 300.68 Sat Sep 11 16:24:42 2010
31 [CHANGES]
32 * Remove an optional depenency, Data::Util.
33 This is used to make method modifiers faster, but the effect
34 is limited to 'before' and 'after' modifiers. Rather,
35 D::U's modifiers are slightly different from the standalone version,
36 and sometimes the difference caused problems.
37
12f4a95a 380.67 Fri Sep 10 13:56:38 2010
39 [BUG FIXES]
40 * Oops! Fix a mistake of removing neccesary denepdencies
41
c06ab429 420.66 Fri Sep 10 13:30:41 2010
43 [BUG FIXES]
44 * Workaround older perl's bug that caused segv in throwing errors
45 * Fix looks_like_number portability
46
470.65 Thu Sep 9 13:30:33 2010
e8faa787 48 [CHANGES]
49 * An attribute in a subclass can now override the value of "is"
50 (Moose 1.07 feature)
ab2ab070 51 * Remove long deprecated methods:
1038bfa9 52 _create_args(), compute_all_applicable_attributes(),
53 and clone_instance()
54
55 [BUG FIXES]
56 * Fix tests that misused test functions. This problem was revealed
57 by Test::Builder2
58 * Improve C++ compatibility in Mouse::XS
e8faa787 59
d88885bd 600.64 Mon Jul 26 20:48:13 2010
2fbd7523 61 [BUG FIXES]
62 * Build failure on 5.13.3
63
64 [CHANGES]
65 * Illegal inheritance options for clone_and_inherit_options()
66 is now a black list, not a white list (Moose 1.09 feature)
67 * Remove long deprecated methods in Mouse::Meta::Attribute:
68 clone_parent, get_parent_args, canonicalize_args, create
69
7e0e6837 700.63 Tue Jul 20 19:26:30 2010
01f38ab1 71 [CHANGES]
72 * Resolve RT#59460: Test::Requires is not a required prerequisite unless
73 release-testing... (Curtis Jewell)
74 See also https://rt.cpan.org/Public/Bug/Display.html?id=59460
75
7e0e6837 76 [FEATURES]
77 * Add Mouse::Util::TypeConstraints::register_type_constraint()
78 (Vincent Pit)
79 See also https://rt.cpan.org/Public/Bug/Display.html?id=59539
80
0a3d3fdb 810.62 Tue Jul 6 20:18:58 2010
82 [FEATURES]
83 * Support MouseX::StrictConstructor (gfx)
84
913b5964 850.61 Sat Jun 19 15:35:48 2010
86 [BUG FIXES]
87 * Workaround the Perl_call_sv() problem again (gfx)
88 * Update Module::Install to 0.99 for older versions of perls (gfx)
89
17ae5974 900.60 Wed Jun 9 19:43:55 2010
91 [CHANGES]
92 * BUILDALL is now called by Mouse::Meta::Class::new_object, rather than
93 by Mouse::Object::new. (Moose 1.05)
94
95 [BUG FIXES]
96 * Fix type constraint validation messages to not include the string
97 'failed' twice in the same sentence. (Moose 1.05)
98 * Resolve RT #57975: The prefix "Exception caught" is no longer added
99 to exceptions Mouse catches. (gfx)
100
101 [OTHERS]
102 * A difficult test (t/900_mouse_bugs/006_RT69939.t) will be skipped on
103 some platforms. (gfx)
104
8f0a0704 1050.59 Tue May 18 16:29:57 2010
106 [CHANGES]
107 * Improve error messages on $class->accessor() (gfx)
108
af4995e2 1090.58 Sat May 8 11:18:17 2010
110 [BUG FIX]
111 * Compliant with 5.12.0+
112
1d7d294f 1130.57 Fri May 7 14:27:00 2010
114 [BUG FIX]
115 * Resolve RT #57144: Fix problems in Perl_call_sv() again (gfx)
116
f15e8041 1170.56 Thu Apr 29 11:15:45 2010
118 [BUG FIX]
119 * Resolve RT#56837: Role application to instance with init_arg'd
120 attributes caused problems (Sanko Robinson)
121
ca980dc4 1220.55 Wed Apr 21 13:27:13 2010
f15e8041 123 [BUG FIX]
ca980dc4 124 * Fix a bug that traits could cause panic/SEGV on threads (gfx)
125
1759509c 1260.54 Sat Apr 17 17:15:54 2010
127 [BUG FIX]
128 * Resolve RT#56523: has with reader, writer, lazy and builder
129 could not create a write-only accessor (Michael G Schwern)
130
6cd9dfb6 1310.53 Sun Apr 11 11:39:03 2010
132 [BUG FIX]
133 * Mouse::Meta::Class could not clone objects with "required" attrs (gfx)
134
fdef448e 1350.52 Sat Mar 27 15:38:52 2010
136 * Workaround Perl-RT#69939 (eval "use $module" in Perl_call_sv()
137 may cause segmentation faults,
138 http://rt.perl.org/rt3/Public/Bug/Display.html?id=69939)
139
1f6046f0 1400.51 Mon Mar 15 15:25:58 2010
141 SUMMARY
142
143 [BUG FIXES]
144 * Mouse::Object::DESTROY could cause SEGVs
145 * Attribute triggers could cause panics
0a3d3fdb 146 * Integers > 2**32 were not groked as Int
1f6046f0 147 * Incorrect types, e.g. "Array[Int", was accepted
148 * Metaclass compatibility was sometimes ignored
149
150 [MOOSE COMPATIBILITY]
151 * before/around/after accept regular expressions
152 * has() becomes strict
153 * the global destruction flag is passed to DEMOLISH methods
154 * Delegations can be curried
155 * Built-in type constraints have the same hierarchy as Moose's
156
157
1580.50_09 Mon Mar 15 12:02:28 2010
123fd4f8 159 * (re)fix RT #55048 to grok 2**46+0.5 as Int, but
160 accept 2**46 as Int even on 32 bit environments;
161 note that an Int is exactly what is matched to /^[+-]?[0-9]+$/,
162 so 10e100 will not be groked as Int (gfx)
163
78a4b129 1640.50_08 Thu Mar 11 19:28:58 2010
165 * Makefile.PL
166 - Resolved #55419: Add Devel::PPPort to build_requires (gfx)
8a3fa349 167 * Mouse::Exporter
168 - Turns on warnings FATAL => 'recursion' by default (gfx)
d18ffd12 169 * Mouse::Util::TypeConstraints
170 - Change the type parser to check syntax (gfx)
171 (Now it throws erros to "ArrayRef[]", "ArrayRef[Int", etc.)
172
80680661 1730.50_07 Sun Mar 7 19:59:37 2010
174 * Mouse::Meta::Attribute
175 - Fix a possible panic, caused by triggers, reported by
176 Nobuo Danjou (gfx)
177
6e1e5b31 1780.50_06 Tue Mar 2 18:35:12 2010
179 * Mouse::PurePerl
180 - Fix an issue on metaclass compatibility again (gfx)
181 - Fix more-than-32-bit-int progrem again (gfx)
182
98a8fd12 1830.50_05 Mon Mar 1 11:18:26 2010
184 * Mouse::Util::TypeConstraints
185 - Mouse used an incorrect cast at the C-level which meant that
1f1ccccd 186 its idea of numbers was different from that of Perl's (and
98a8fd12 187 Mouse's). Notably > 2**32 Integers on 32 bit systems didn't
123fd4f8 188 work, RT #55048 (AEvar).
98a8fd12 189 * Mouse::Meta::Classs
190 - Fix an issue on metaclass compatibility (gfx)
1f1ccccd 191
c2168931 1920.50_04 Fri Feb 26 18:57:24 2010
193 * All
194 - Warnings are less noisy, as shown by example/warns.pl (gfx)
195 - Various optimization and refactoring (gfx)
196
4bc73e47 1970.50_03 Mon Feb 22 17:56:47 2010
d503a4f3 198 * Mouse::Meta::Attribute
199 - Catch up about Moose 0.84 about warnings (gfx)
200 - If an attribute generates no accessors, it will be warned
201 - If both 'isa' and 'does' are specified and 'isa' does not do
202 'does', then it will be warned
70425827 203 * Mouse::Object
204 - Fix a possible segv which is caused by destructors (gfx)
df448257 205 * Mouse::Util::TypeConstraints
206 - Implement the built-in type hierarchy (gfx)
207
d990f791 2080.50_02 Sat Feb 20 14:37:16 2010
c28783ef 209 * Mouse::Meta::Attribute
210 - Implement argument currying for delegation (gfx)
06c067b9 211 * Mouse::Meta::Method::Constructor
d990f791 212 - Implement strict constructors experimentally, which will warn
213 unkown constructor arguments (gfx)
c28783ef 214
05a12aa4 2150.50_01 Sat Feb 13 16:39:48 2010
3bf1e61f 216 * Mouse
c28783ef 217 - before/around/after now accept regexps (gfx)
1fc94910 218 * Mouse::Object
219 - Support the global destruction flag in DEMOLISH (gfx)
0d5a1d74 220 * Mouse::Meta::Attribute
221 - Attribute constructors now warn very noisily about unknown (or
222 misspelled) arguments (gfx)
223
1fc94910 224
e9148d13 2250.50 Mon Feb 8 13:43:19 2010
226 * Mouse::Tiny
227 - Allow "use Mouse::Tiny VERSION" with a patch contributed by
228 chocolateboy, RT #54383 (gfx)
6e96640e 229 * Mouse::Util::MetaRole
230 - Add Mouse::Util::MetaRole::apply_metaroles
231 to catch up the latest Moose API for metaroles (gfx)
232
01e830f7 2330.49 Tue Feb 2 12:58:45 2010
234 * MouseAccessor.xs
235 - Fix RT #54203 that writers might return undef in setting values
236 reported by chocolateboy (gfx)
237
ede063cc 2380.48 Sun Jan 31 17:53:31 2010
01e830f7 239 * MouseTypeConstraints.xs
240 - Fix magic handling in type constraints reported by sunnavy (gfx)
ede063cc 241
bd76a699 2420.47 Fri Jan 15 15:07:21 2010
243 * Makefile.PL
244 - Shipped with M::I::XSUtil 0.21 (gfx)
ede063cc 245 - Fix an issue that gcc 4.0 don't support -Wc++-compat (gfx)
bd76a699 246 * Mouse
247 - Add a caveat on XS callbacks to the pod (gfx)
248
8c235ea7 2490.46 Sat Jan 9 17:54:30 2010
939c3d87 250 * Mouse::Meta::Attribute
251 - Add support for code references for handles
252 patched by Frank Cuny (gfx)
253 * Mouse::Util::TypeConstraints
254 - Fix Str and ScalarRef for typeglobs, lvalues, and etc. (gfx)
255 * oose.pm
256 - Add Moose::Util::TypeConstraints exports to allow easier testing
257 of TypeConsraints from the command line (gfx)
258
267711f7 2590.4501 Tue Dec 22 16:02:15 2009
260 * Fix an issue on circular dependencies (RT #52939, thanks to t0m)
261 - (see also http://rt.cpan.org/Public/Bug/Display.html?id=52939 )
262
81fd550d 2630.45 Sat Dec 19 17:22:46 2009
e6996029 264 * Fix filename portability issue (RT #52828, thanks to Peter Edwards)
265
f178e757 266 * Fix an issue that definitions of anonymous types could fail (gfx)
267
63d3339b 268 * Mouse::Meta::Attributes
269 - Add set_value/get_value/has_value/clear_value (gfx)
81fd550d 270 (Note that thsese methods are depend on the accessors)
63d3339b 271
272 * Test::Mouse
273 - Add with_immutable (gfx)
274
58e41d63 2750.44 Wed Dec 9 21:43:21 2009
276dbb23 276 * Shipped with Module::Install::XSUtil 0.19 (gfx)
277
58e41d63 278 * Test::Mouse
276dbb23 279 - Added (gfx)
58e41d63 280
281 * Mouse::Util::TypeConstraints
276dbb23 282 - Add duck_type (gfx)
ec0ef258 283
c565ffb3 2840.43 Mon Dec 7 14:21:59 2009
285 * Improve documents
286
287 * Mouse::Meta::Module
288 - Remove undocumented has_package_symbol and get_package_symbol (gfx)
e83a2ae7 289 (They are introduced in 0.41, but seem useless in Mouse)
c565ffb3 290
5176a3e4 2910.42 Sat Dec 5 16:05:06 2009
292 * Fix a PAUSE indexing issue (gfx)
293
4c0fe06f 2940.41 Sat Dec 5 15:00:33 2009
21276ee2 295 * This is the first stable version of Mouse::XS
4c0fe06f 296 - Mouse::XS is about 2 times faster than Mouse::PurePerl
21276ee2 297
4c0fe06f 298 * SUMMARY
21276ee2 299 - Many stuff are now in XS
4c0fe06f 300 - Support "use Mouse -traits => ..." subdirective
301
302 * INCOMPATIBILITY CHANGES (but compatible with Moose)
303 - The type of default value is constrained correctly
304 - The default values is weakend correctly
305 - BUILDALL/DEMOLISHALL are no longer called
21276ee2 306
506fb74d 3070.40_09 Thu Dec 3 13:42:17 2009
00822cc3 308 * Mouse
309 - Remove @Mouse::EXPORT, which was no longer used (gfx)
310
311 * Mouse::Role
312 - Remove @Mouse::Role::EXPORT, which was no longer used (gfx)
313
314 * Mouse::Util
315 - Fix a bug which caused segv on 5.6.2 (gfx)
316
317 * Mouse::Meta::Module
318 - Add has_package_symbol and get_package_symbol (gfx)
319
320
3210.40_08 Thu Nov 26 21:36:49 2009
e0b77af5 322 * Mouse::Exporter
323 - Add the "-traits => ..." subdirective (gfx)
324
325 * Mouse::Meta::Class
326 - Add metaclass incompatibility resolution (gfx)
327
8aba926d 3280.40_07 Tue Nov 17 18:28:57 2009
329 * Mouse::Util::MetaRole
330 - Implemented, but there are many to be done (gfx)
331
332 * Mouse::Meta::Method::Accessor
333 * Mouse::Meta::Method::Constructor
334 - Fix a bug that default values are not weaken()ed (gfx)
335
3360.40_06 Mon Nov 16 17:21:10 2009
1e582397 337 * Shipped with Module::Install::XSUtil 0.17 (gfx)
22e52758 338 * Mouse::Object
0d615023 339 - BUILDALL and DMELISHALL are no longer called by the default ctr/dtr,
1e582397 340 because generated ctrs/dtrs have never call them anyway (gfx)
341 - new and DESTROY are now in XS (gfx)
342
aee75235 3430.40_05 Mon Nov 2 11:59:01 2009
75c9081b 344 * Shipped with Module::Install::XSUtil 0.16 (gfx)
aee75235 345
3460.40_04 Tue Nov 1 11:58:27 2009
75c9081b 347 * Implement type constraint generators in XS (gfx)
6a97bbda 348
766af1c2 3490.40_03 Fri Oct 30 12:03:58 2009
75c9081b 350 * Update Module::Install::XSUtil to 0.15 (gfx)
766af1c2 351
3feac481 3520.40_02 Tue Oct 27 15:04:10 2009
75c9081b 353 * Add the Mouse::XS documentation (gfx)
9a5d1ed3 354
355 * Mouse::Meta::Method::Accessor
75c9081b 356 - Apply type constraints to default values as Moose does (gfx)
4ab8bb8f 357
56ccf870 3580.40_01 Mon Oct 26 17:31:23 2009
75c9081b 359 * Add an optional XS implementation (gfx)
b06ce1f5 360
1f817abe 3610.40 Mon Oct 19 18:30:32 2009
362 * Mouse::Meta::TypeConstraint
75c9081b 363 - Fix a subtyping issue (Thanks miyagawa san) (gfx)
1f817abe 364 * Mouse/Mouse::Role
75c9081b 365 - Now export their sugars to the "main" package (gfx)
1f817abe 366
4353bfe1 3670.39 Tue Oct 13 16:42:31 2009
368 * Fix RT #50421 (Thanks Michael G Schwern)
369 * Fix RT #50422 (Thanks Michael G Schwern)
370
3710.38 Tue Oct 13 15:40:39 2009
6106ed03 372 * No code changes from 0.37_06
518b3489 373
6106ed03 374 * SUMMARY from 0.37 to 0.38
375 - Add documents about compatiblity and incompatibility to Mouse::Spec
6106ed03 376 - Refactor type constraints and type coercions
377 - Now ArrayRef[Foo | Bar] is parsed correctly
378 - Type coercions are stored in type constraint objects
6106ed03 379 - Add Mouse::Exporter for import/unimport methods
6106ed03 380 - Make roles applicable to instances
6106ed03 381 - Implement inner/augment keywords
6106ed03 382 - Port a lot of Moose's tests
6106ed03 383 - Fix a lot of bugs
83fd4df5 384
385
455994cf 3860.37_06 Mon Oct 12 16:34:18 2009
b3ae10c7 387 * Mouse::Meta::Attribute
388 - Support handles => qr/pattern/ in has() (gfx)
389
390 * Mouse::Meta::Method::Destructor
391 - Locallize $@ and $? in DESTROY as Moose does (gfx)
392
455994cf 393 * Mouse::Meta::Role
394 - Fix role application to instances (gfx)
395
b3ae10c7 396 * Tests
397 - Move t/*.t to t/001_moose/
7cfe5d54 398
6f16d3ce 3990.37_05 Fri Oct 9 15:21:43 2009
9c72aa8c 400 * Mouse::Exporter
401 - Add build_import_methods() (gfx)
402
403 * Mouse::Spec
b644ef5d 404 - Add notes about Moose::Cookbook (gfx)
1639e480 405
406 * Fix some minor bugs (gfx)
407
1dc1f3f1 4080.37_04 Thu Oct 8 20:49:11 2009
c38b841a 409 * Mouse::Meta::Role::Composite
410 - Fix and improve role composition mechanism (gfx)
411
1dc1f3f1 412 * Import a number of tests from Moose, and fix various bugs (gfx)
c38b841a 413
b1a89a06 414 * Mouse::Tiny is always generated in Makefile.PL (gfx)
415
edd20f48 4160.37_03 Wed Oct 7 21:10:05 2009
af8f95f4 417 * Mouse::Exporter
418 - Add Mouse::Exporter (gfx)
419 * Mouse::Meta::Method::Constructor
420 - Optimize generated constructors (gfx)
1f0c967a 421 * Mouse::Meta::Role
422 - Implement role application to instances (gfx)
62cb9505 423
f5511684 4240.37_02 Sun Oct 4 17:29:15 2009
53a7a312 425 * Mouse
426 - Implement the argument/inner keywords
4f90d9ae 427 * Mouse::Meta::Attribute
2e202fdb 428 - Add get_read_method_ref() and get_write_method_ref() (gfx)
53a7a312 429 - Add find_attribute_by_name() (gfx)
2e202fdb 430 - Fix clone_and_inherit_options() to deal with 'traits' (gfx)
431 * Mouse::Util
432 - Fix meta() method, which was not tested (gfx)
53a7a312 433 * Tests
434 - Port t/010_basics/*.t from Moose
4f90d9ae 435
327475b7 4360.37_01 Thu Oct 1 15:32:58 2009
2e202fdb 437 * Type coercions are stored to type constraints (gfx)
2929db0a 438
2e202fdb 439 * Refactor the type parser to parse 'ArrayRef[Object|Int]' (gfx)
2929db0a 440
2e202fdb 441 * Remove Class::MOP specific subroutines from Mouse::Meta::Module (gfx)
327475b7 442 (this change might be reverted in the release version)
b61e0c46 443 - version, authority, identifier,
444 get_all_metaclasses, store_metaclass_by_name,
445 weaken_metaclass, does_metaclass_exist, remove_metaclass_by_name
446
2e202fdb 447 * Add new public utilities to Mouse::Util (gfx)
b61e0c46 448 - class_of, the counterpart for Class::MOP::class_of
449 - get_metaclass_by_name for Class::MOP::get_metaclass_by_name
450
451
31920032 4520.37 Mon Sep 28 10:48:27 2009
0a46aaa0 453 * Ensure backward compatibility by author/test-externa.pl (gfx)
454
455 * Change the algorithm of has_method() for backward compatibility (gfx)
456
31920032 457 * $ENV{MOUSE_VERBOSE}=1 for Moose-compatible warnings (gfx)
0a46aaa0 458
04493075 4590.36 Sun Sep 27 16:53:06 2009
460 * Fix an issue that breaks backward compatibility (gfx)
461 - MouseX::Attribute does work, although make tests doesn't pass
462
81625179 4630.35 Sat Sep 26 12:38:27 2009
464 * Work around Test::Exception 0.27_0x by including authorized ver. (gfx)
465
a573851d 4660.34 Fri Sep 25 21:55:48 2009
32a0f864 467 * Make sure to work on 5.6.2 (gfx)
eb88905f 468
32a0f864 469 * Remove Class::Method::Modifiers dependency (gfx)
7ca5c5fb 470
32a0f864 471 * Remove testing modules from inc/ (gfx)
472
473 * Put t/019-handles.t on ice (gfx)
7a1781ae 474
639f39ef 4750.33_01 Thu Sep 24 16:16:57 2009
121acb8a 476 * Implement traits => [...] in has() (gfx)
477
4780.33 Wed Sep 23 15:06:40 2009
39f9498f 479 * Fix RT #49902: 0.32 fails tests reported by GRUBER (gfx)
480
47a8794f 481 * Add some tests
482
b2a583f8 4830.32 Tue Sep 22 16:44:57 2009
484 * Add many tests copied from Moose (gfx)
7a50b450 485
b2a583f8 486 * Fix Mouse::Util::find_meta() and Mouse::Util::does_role() (gfx)
7a50b450 487
53c495ce 488 * Fix the timing triggers are invoked (gfx)
489
b2a583f8 490 * Implement confliction checks in roles
491
492 * work around create() and create_anon() in Mouse::Meta::Role
3c429663 493
b2a583f8 4940.31 Tue Sep 22 11:08:12 2009
7b133c92 495 * Add find_meta() and does_role() to Mouse::Util (gfx)
496
809fc2c7 497 * Fix tests using Class::Method::Modifiers to be skipped correctly (gfx)
498
499 * Remove Test::Mouse, which was accidentally included (gfx)
500
9c6ff002 5010.30 Mon Sep 21 16:43:05 2009
7b133c92 502 * Implement RT #46930 (accessor/reader/writer in has()) (gfx)
3c429663 503
9c6ff002 504 * Work around anonymous classes as mortal classes (gfx)
ad022aac 505
506 * Implement with $role => -exlucdes => [...] (gfx)
507
508 * Implement get_method() in M::Meta::Class and M::Meta::Role (gfx)
509
eb05b8be 510 * Make get_method_list() compatible with Moose's (gfx)
5f6a73cb 511
eb05b8be 512 * Make unimport() not to remove non-Mouse functions (blessed and confess) (gfx)
5f6a73cb 513
eb05b8be 514 * Remove a lot of duplication code (gfx)
5f6a73cb 515
324d3602 516 * Support is => 'bare', and you must pass and 'is' option to has() (gfx)
9c85e9dc 517
15b4faa9 5180.29 Thu Sep 17 11:49:49 2009
93ac97dd 519
15b4faa9 520 * role class has ->meta in method_list, because it does in Moose since 0.9
93ac97dd 5210.28 Wed Sep 8 20:00:06 2009
e650ba5b 522 * Alter Makefile.PL so in author mode we generate lib/Mouse/Tiny.pm on
523 every run so that 'make dist' actually does what it's meant to (mst)
2bcb073f 524
e0541d44 525 * Only unlink Mouse::Tiny if it exists, otherwise autodie pitches
526 a fit (miyagawa)
26b84079 527
528 * Make auto_deref also handles isa not only ArrayRef and HashRef, but also
529 ArrayRef[Foo::Bar] and HashRef[Foo::Bar]
e0541d44 530
9f917442 5310.27 Thu Jul 2 15:17:37 2009
532 * Doc updates (Sartak)
533
534 * Include missing Mouse::Tiny
fc352e2d 535
f81e2ecb 5360.26 Wed Jul 1 13:39:30 2009
9cc87fff 537 * Fix failing tests by requiring a newer Moose in that test (t0m)
48bf3a6a 538
b79fc28f 5390.25 Fri Jun 19 12:05:42 2009
540 * Fix SIGNATURE (reported by daxim) ... by removing it :)
efeb6d0c 541
34a90485 5420.24 Mon Jun 15 14:47:18 2009
543 * Moose's construct_instance is deprecated, use new_object (tokuhirom)
544
545 * Improve Mouse::Tiny generation (tokuhirom)
546
547 * Inlining destructor fixes (tokuhirom)
548
549 * Add Mouse->init_meta (tokuhirom)
550
551 * Fix failing tests by requiring a newer Moose in that test (Sartak)
eb6f4444 552
b03fda9f 553 * Don't warn in tests about Squirrel deprecations (Sartak)
554
25db76ef 5550.23 Wed May 27 16:52:28 2009
dad3c1af 556 * Take the mro::linearized_isa DEMOLISHALL fix from Moose
557 (originally by doy)
558
559 * Mouse::class_of to mirror Class::MOP::class_of
d5b41c02 560
6d86b341 5610.22 Tue Apr 21 03:26:43 2009
562 * Regenerate broken signature (Sartak)
dad3c1af 563 reported by Michael Gray [rt.cpan.org #45167]
6d86b341 564
565 * does_role now checks parent classes (tokuhirom)
566
567 * Fix for $_ not being available type constraint messages (Sartak)
124fa027 568
240454c2 5690.21 Sat Apr 11 13:52:11 2009
7a96b336 570 * clone_instance has been made private, like in Moose (tokuhirom)
6b646f93 571
7a96b336 572 * Fix method modifiers applying to the wrong class (gfuji)
573 reported by Heikki Lehvaslaiho in [rt.cpan.org #42992]
d9b661d3 574
7a96b336 575 * Fix test failures when user does not have C::Method::Modifiers(::Fast)
576 installed (Joel Bernstein)
577
578 * use get_all_attributes instead of
579 compute_all_applicable_attributes (tokuhirom)
580
581 * fixed pod bug (tokuhirom)
582 reported by Ryan52 in [rt.cpan.org #44928]
583
584 * Parameterized type constraints can now have messages (tokuhirom)
6b646f93 585
5893ee36 586 * Added documentation about type constraints (Mark Stosberg)
6b646f93 587
5880.20 Thu Apr 9 20:22:33 2009
2df74b3a 589 * Squirrel is now deprecated. Use Any::Moose instead (Sartak)
590
cf33c3d9 591 * To improve Moose compat, the third argument to trigger
592 (the attribute metaobject) has been removed (Sartak)
593
594 * To improve Moose compat, a single undef passed to new
595 is now disallowed (Sartak)
c3398f5b 596
31a5ba2c 597 * Implemented Mouse::Object->does (wu-lee)
598
599 * Implemented override and super functions for Mouse::Role.
600 (wu-lee)
927982b4 601
31a5ba2c 602 * Implemented stub augment and inner functions for Mouse::Role,
603 which merely throw an exception as in Moose::Role. (wu-lee)
927982b4 604
31a5ba2c 605 * Stole more tests from Moose (020_roles/*). Not all these pass
606 yet; the rest have been moved to 020_roles/failing for later
607 examination. (wu-lee)
927982b4 608
31a5ba2c 609 * Implemented Mouse::Role->does_role. This does not yet quite
610 seem to pass all the tests it should. (wu-lee)
927982b4 611
31a5ba2c 612 * Fixed bug in Mouse::Meta::Role->apply and ->combine_apply, so that
613 030_roles/002_role.t tests pass. (wu-lee)
927982b4 614
31a5ba2c 615 * Implemented ->version, ->authority and ->identifier methods in
616 Mouse::Meta::Role and Mouse::Meta::Class (mainly to make more
617 Moose tests pass). (wu-lee)
618
bf1b613a 619 * Implemented emulations of Class::MOP's metaclass accessors
620 (get_metaclass_by_name etc.) in Mouse::Meta::Class.
621
31a5ba2c 622 * Mouse attribute property 'isa' now accepts Role names. (wu-lee)
623
624 * Fixed bug: typecoercion application order was reversed. (wu-lee)
625
626 * Fixed bug: inlined constructor was invoking BUILD methods in
627 wrong order. (wu-lee)
65715de3 628
629 * Fixed bug: immutable constructor now redispatches correctly to
630 Mouse::Object::new when used in derived classes (wu-lee).
c9aefe26 631
927982b4 632 * Maybe parameterized type constraint (lestrrat)
633
634 * Performance improvements! (tokuhirom)
635
636 * Improve Moose compat of class_type (lestrrat)
637
638 * Many type-constraint fixes (tokuhirom and lestrrat)
639
640 * Mouse::Meta::Class->has_method and ->get_attribute_list (tokuhirom)
641
642 * Add get_all_attributes, use it internally instead of
643 compute_all_applicable_attributes (nothingmuch)
644
df9e57e8 6450.19 Sun Mar 8 04:38:01 2009
f96bd2aa 646 * Parameterized type constraints for ArrayRef and HashRef (lestrrat)
647
648 * Allow extensible attribute metaclass in traits too(tokuhirom)
649
650 * Don't use method modifiers in a test since they may not be
651 available (Sartak)
c4ec7642 652
423b9699 6530.18 Fri Mar 6 19:09:33 2009
654 * Fix the issue preventing Mouse usage on Perl 5.6 - a bug in older
655 Scalar::Util! (tokuhirom)
656
657 * Allow extensible attribute metaclass (tokuhirom)
658
659 * Optimization for method modifiers (tokuhirom)
660
661 * Implement Mouse->import({into_level => 1}) (tokuhirom)
662
663 * Support for Class->meta->add_attribute($name => %options) (tokuhirom)
664
665 * Throw a more useful error message when trying to use a parameterized
666 type (Sartak)
c3a83939 667
949738a8 6680.17 Tue Feb 17 20:10:29 2009
388b8ebd 669 * Load mro directly if Perl is recent enough (Nicholas Clark)
670
df963a63 671 * Add dump method from Moose::Object into Mouse::Object (perigrin)
672
949738a8 673 * Add role-role composition (tokuhirom)
674
d8edb5a0 6750.16 Mon Feb 9 20:56:27 2009
60cfc6ad 676 * Implement get_all_method_names
67fb42e0 677
01904723 678 * Support for anonymous enums: enum [elements]
679
d8edb5a0 680 * Moose's make_immutable returns true allowing calling code to skip
681 setting an explicit true value at the end of a source file. (obra)
682
4d33522c 6830.15 Thu Feb 5 11:44:05 2009
7daedfff 684 * Don't export Mouse's sugar into the package 'main'
8aeec00e 685
3b46bd49 686 * Rename Mouse::TypeRegistry to Mouse::Util::TypeConstraints
687
0d9fea22 688 * "type" sugar for when you're not subtyping anything
689
7dbebb1b 690 * Keep track of the source package of each type
691
96dbfdb7 692 * Moose lets you redefine a type within the same package, so we now do too
693
694 * Borrow more of Moose's meta API
a5fc1e9a 695
96dbfdb7 696 * Mouse::Util::TypeConstraints now uses Exporter so you can select which
697 sugar you want
698
699 * class_type shouldn't load the class (Moose compat; no easy fix :/)
4859d490 700
96dbfdb7 701 * suppress warnings when we use "around" and "has '+...'" (dann)
4859d490 702
96dbfdb7 703 * use Data::Util to make method modifiers fast if it's available (dann)
47b5feb9 704
a22b1fed 705 * Implement "enum" type constraints
706
707 * Implement "override" and "super"
708
4786262b 709 * MouseX::Types is now in its own dist
710
1595b996 7110.14 Sat Dec 20 16:53:05 2008
712 * POD fix
713
714 * Document what changes tokuhirom and Yappo made (see below)
4216fc14 715
25b08198 7160.13 Tue Dec 16 02:01:40 2008
a9d1cb9d 717 * Pass in the instance to the default sub in the constructor (reported with
718 failing tests by rjbs)
fccd2261 719
1595b996 720 * Tons of new features implemented by tokuhirom++ and Yappo++:
721 - method API in classes and roles!
722 - "requires" and "with" for Mouse::Role
723 - Type coercion
724 - Inject a constructor after make_immutable. Huge speedup!
725 - class_type and role_type
726 - Inject a destructor for more speedup
727 - MouseX::Types (may move into its own dist)
728 - create_anon_class
729 - union type constraints (eg 'Str | Undef')
730 - subtypes and sugar for them
de51e718 731
44231509 7320.12 Thu Dec 4 19:23:10 2008
826828bf 733 * Provide Test::Exception function unless it's version 0.27 - RT #41254
734
826828bf 735 * Mouse::Util now provides dies_ok
736
44231509 737 * Make class-like types behave more like Moose; subclasses OK! (rjbs)
738
739 * Steal more tests from Moose
826828bf 740
e4b38f45 7410.11 Sun Nov 2 11:35:04 2008
742 * Throw an error if accessor/predicate/clearer/handles code eval fails
743
744 * Optimizations for generated methods, they should now be on par with Moose
6430d968 745
2498d94c 7460.10 Tue Oct 28 19:23:07 2008
747 * Require a recent Moose (which has the bugfix) for
748 t/500_moose_extends_mouse.t
749
750 * ouse.pm for perl -Mouse one-liners (thanks rjbs)
751
752 * Doc for init_arg => undef (thanks rjbs)
7a024324 753
274aea60 7540.09 Sun Sep 28 22:37:13 2008
755 * Initial version of Mouse::Tiny, a one-file concatenation of the Mouse
756 classes for easy embedding
757
758 * Fixes caused by test failures (Carp not being loaded, Moose being
759 required in a test)
760
5dbc65ee 7610.08 Sun Sep 28 12:46:07 2008
762 * ALL dependencies have been removed!
763
764 * Fixes for Class::Method::Modifiers being required for testing
eab013b2 765
f38ce2d0 7660.07 Sun Sep 28 00:19:07 2008
465af41f 767 * All runtime dependencies have been removed! The only change in
768 functionality (hopefully) is that the Sub::Exporter features can no
769 longer be used (we've backed down to regular Exporter). Scalar::Util is
770 required for "weaken" support, and Class::Method::Modifiers is required
771 for method modifier support, but only if you use these features!
772 Having Scalar::Util and MRO::Compat installed will provide only
773 performance increases.
774
775 * Tests and fixes for extending a Mouse class with Moose (nothingmuch)
776
777 * Support for adding method modifiers to a role, and composing them into
778 classes (we'll get true methods some day)
779
780 * Method modifiers now go through the metaclass instead of invoking
781 Class::Method::Modifiers directly
782
783 * Remove the deprecated before/after/around triggers
784
785 * Roles keywords 'requires' and 'excludes' now throw errors instead of
786 silently doing nothing (they aren't implemented yet)
5c557f4f 787
844fa049 7880.06 Thu Jul 23 02:10:07 2008
789 * Deprecating before/after/around triggers! Switch back to coderef +
790 whatever you used to do. Moose is have it implemented it as an extension
791 trait.
792
e2a1372d 793 * Mouse
794 - updated trigger doc (thanks perigrin)
844fa049 795 - which will not see CPAN :( sorry perigrin!
ed00ef38 796
60e2164a 797 * Mouse::Meta::Class
798 - add a make_immutable method which does nothing(!), for even more
799 Moose compat (nothingmuch's idea)
800
ed00ef38 8010.05 Thu Jul 17 01:53:20 2008
6681e09c 802 * Mouse::Role
803 Mouse::Meta::Role
804 Mouse
80be11ca 805 Squirrel::Role
806 - Begin adding roles! Attributes are mostly there. Still experimental.
807
808 * Mouse::Meta::Class
809 Mouse::Object
810 - Add clone_object and clone_instance (nothingmuch)
811
812 * Mouse::Object
813 - Add BUILDARGS (nothingmuch)
814
815 * Mouse::Meta::Attribute
816 Mouse::Object
817 - Add "before" and "around" triggers. Moose doesn't even have them yet! :)
6681e09c 818
c5cbafa4 819 * Everywhere
820 - Improvements to the MOP (e.g. Class->add_method)
821
a7f212f1 822 * (build)
823 - Excise dependency on Test::Warn, we only used it in one simple test
824
a3525e9f 8250.04 Tue Jun 17 04:56:36 2008
1bfebf5f 826 * Mouse
827 Mouse::Meta::Attribute
828 - Add support for has '+name'
80be11ca 829 - Add lazy_build (nothingmuch)
66efb1c8 830
74be9978 8310.03 Thu Jun 12 21:54:07 2008
1bfebf5f 832 * Mouse
833 - Add before/after/around, courtesy of Class::Method::Modifiers
b7a74822 834
1bfebf5f 835 * Mouse::Object
836 - Add support for ->new({...})
837 - Use compute_all_applicable_attributes in the constructor to get the
838 attributes of superclasses
839 - Add better support for undef init_arg
ad67865f 840
1bfebf5f 841 * Mouse::Meta::Class
842 - More methods: compute_all_applicable_attributes, has_attribute
66eea168 843
8440.02 Wed Jun 11 01:56:44 2008
1bfebf5f 845 * Squirrel
846 - Add Squirrel which acts as Moose if it's already loaded, otherwise
847 Mouse (thanks nothingmuch)
66eea168 848
1bfebf5f 849 * Mouse::Meta::Object
850 - Fix the order in which BUILD methods are called (thanks Robert
851 Boone)
66eea168 852
8530.01 Tue Jun 10 02:13:21 2008
1bfebf5f 854 * Initial release.
c3398f5b 855