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