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