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