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