Revision history for Mouse

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.