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