Revision history for Mouse 0.20 * To improve Moose compat, the third argument to trigger (the attribute metaobject) has been removed (Sartak) * To improve Moose compat, a single undef passed to new is now disallowed (Sartak) * Implemented Mouse::Object->does (wu-lee) * Implemented override and super functions for Mouse::Role. (wu-lee) * Implemented stub augment and inner functions for Mouse::Role, which merely throw an exception as in Moose::Role. (wu-lee) * Stole more tests from Moose (020_roles/*). Not all these pass yet; the rest have been moved to 020_roles/failing for later examination. (wu-lee) * Implemented Mouse::Role->does_role. This does not yet quite seem to pass all the tests it should. (wu-lee) * Fixed bug in Mouse::Meta::Role->apply and ->combine_apply, so that 030_roles/002_role.t tests pass. (wu-lee) * Implemented ->version, ->authority and ->identifier methods in Mouse::Meta::Role and Mouse::Meta::Class (mainly to make more Moose tests pass). (wu-lee) * Implemented emulations of Class::MOP's metaclass accessors (get_metaclass_by_name etc.) in Mouse::Meta::Class. * Mouse attribute property 'isa' now accepts Role names. (wu-lee) * Fixed bug: typecoercion application order was reversed. (wu-lee) * Fixed bug: inlined constructor was invoking BUILD methods in wrong order. (wu-lee) * Fixed bug: immutable constructor now redispatches correctly to Mouse::Object::new when used in derived classes (wu-lee). 0.19 Sun Mar 8 04:38:01 2009 * Parameterized type constraints for ArrayRef and HashRef (lestrrat) * Allow extensible attribute metaclass in traits too(tokuhirom) * Don't use method modifiers in a test since they may not be available (Sartak) 0.18 Fri Mar 6 19:09:33 2009 * Fix the issue preventing Mouse usage on Perl 5.6 - a bug in older Scalar::Util! (tokuhirom) * Allow extensible attribute metaclass (tokuhirom) * Optimization for method modifiers (tokuhirom) * Implement Mouse->import({into_level => 1}) (tokuhirom) * Support for Class->meta->add_attribute($name => %options) (tokuhirom) * Throw a more useful error message when trying to use a parameterized type (Sartak) 0.17 Tue Feb 17 20:10:29 2009 * Load mro directly if Perl is recent enough (Nicholas Clark) * Add dump method from Moose::Object into Mouse::Object (perigrin) * Add role-role composition (tokuhirom) 0.16 Mon Feb 9 20:56:27 2009 * Implement get_all_method_names * Support for anonymous enums: enum [elements] * Moose's make_immutable returns true allowing calling code to skip setting an explicit true value at the end of a source file. (obra) 0.15 Thu Feb 5 11:44:05 2009 * Don't export Mouse's sugar into the package 'main' * Rename Mouse::TypeRegistry to Mouse::Util::TypeConstraints * "type" sugar for when you're not subtyping anything * Keep track of the source package of each type * Moose lets you redefine a type within the same package, so we now do too * Borrow more of Moose's meta API * Mouse::Util::TypeConstraints now uses Exporter so you can select which sugar you want * class_type shouldn't load the class (Moose compat; no easy fix :/) * suppress warnings when we use "around" and "has '+...'" (dann) * use Data::Util to make method modifiers fast if it's available (dann) * Implement "enum" type constraints * Implement "override" and "super" * MouseX::Types is now in its own dist 0.14 Sat Dec 20 16:53:05 2008 * POD fix * Document what changes tokuhirom and Yappo made (see below) 0.13 Tue Dec 16 02:01:40 2008 * Pass in the instance to the default sub in the constructor (reported with failing tests by rjbs) * Tons of new features implemented by tokuhirom++ and Yappo++: - method API in classes and roles! - "requires" and "with" for Mouse::Role - Type coercion - Inject a constructor after make_immutable. Huge speedup! - class_type and role_type - Inject a destructor for more speedup - MouseX::Types (may move into its own dist) - create_anon_class - union type constraints (eg 'Str | Undef') - subtypes and sugar for them 0.12 Thu Dec 4 19:23:10 2008 * Provide Test::Exception function unless it's version 0.27 - RT #41254 * Mouse::Util now provides dies_ok * Make class-like types behave more like Moose; subclasses OK! (rjbs) * Steal more tests from Moose 0.11 Sun Nov 2 11:35:04 2008 * Throw an error if accessor/predicate/clearer/handles code eval fails * Optimizations for generated methods, they should now be on par with Moose 0.10 Tue Oct 28 19:23:07 2008 * Require a recent Moose (which has the bugfix) for t/500_moose_extends_mouse.t * ouse.pm for perl -Mouse one-liners (thanks rjbs) * Doc for init_arg => undef (thanks rjbs) 0.09 Sun Sep 28 22:37:13 2008 * Initial version of Mouse::Tiny, a one-file concatenation of the Mouse classes for easy embedding * Fixes caused by test failures (Carp not being loaded, Moose being required in a test) 0.08 Sun Sep 28 12:46:07 2008 * ALL dependencies have been removed! * Fixes for Class::Method::Modifiers being required for testing 0.07 Sun Sep 28 00:19:07 2008 * All runtime dependencies have been removed! The only change in functionality (hopefully) is that the Sub::Exporter features can no longer be used (we've backed down to regular Exporter). Scalar::Util is required for "weaken" support, and Class::Method::Modifiers is required for method modifier support, but only if you use these features! Having Scalar::Util and MRO::Compat installed will provide only performance increases. * Tests and fixes for extending a Mouse class with Moose (nothingmuch) * Support for adding method modifiers to a role, and composing them into classes (we'll get true methods some day) * Method modifiers now go through the metaclass instead of invoking Class::Method::Modifiers directly * Remove the deprecated before/after/around triggers * Roles keywords 'requires' and 'excludes' now throw errors instead of silently doing nothing (they aren't implemented yet) 0.06 Thu Jul 23 02:10:07 2008 * Deprecating before/after/around triggers! Switch back to coderef + whatever you used to do. Moose is have it implemented it as an extension trait. * Mouse - updated trigger doc (thanks perigrin) - which will not see CPAN :( sorry perigrin! * Mouse::Meta::Class - add a make_immutable method which does nothing(!), for even more Moose compat (nothingmuch's idea) 0.05 Thu Jul 17 01:53:20 2008 * Mouse::Role Mouse::Meta::Role Mouse Squirrel::Role - Begin adding roles! Attributes are mostly there. Still experimental. * Mouse::Meta::Class Mouse::Object - Add clone_object and clone_instance (nothingmuch) * Mouse::Object - Add BUILDARGS (nothingmuch) * Mouse::Meta::Attribute Mouse::Object - Add "before" and "around" triggers. Moose doesn't even have them yet! :) * Everywhere - Improvements to the MOP (e.g. Class->add_method) * (build) - Excise dependency on Test::Warn, we only used it in one simple test 0.04 Tue Jun 17 04:56:36 2008 * Mouse Mouse::Meta::Attribute - Add support for has '+name' - Add lazy_build (nothingmuch) 0.03 Thu Jun 12 21:54:07 2008 * Mouse - Add before/after/around, courtesy of Class::Method::Modifiers * Mouse::Object - Add support for ->new({...}) - Use compute_all_applicable_attributes in the constructor to get the attributes of superclasses - Add better support for undef init_arg * Mouse::Meta::Class - More methods: compute_all_applicable_attributes, has_attribute 0.02 Wed Jun 11 01:56:44 2008 * Squirrel - Add Squirrel which acts as Moose if it's already loaded, otherwise Mouse (thanks nothingmuch) * Mouse::Meta::Object - Fix the order in which BUILD methods are called (thanks Robert Boone) 0.01 Tue Jun 10 02:13:21 2008 * Initial release.