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