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