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