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