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