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