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