cpan Moose 2.0300

latest releases: 2.2207, 2.2206, 2.2205...
pre-release12 years ago

[DEPRECATIONS]

  • The optimize_as option for type constraints has been deprecated. Use the
    inline_as option to provide inlining code instead. (Dave Rolsky)

[API CHANGES]

  • Methods to introspect a class's methods will now return methods defined in
    UNIVERSAL (isa, can, etc.). This also means that you can wrap these
    methods with method modifiers. RT #69839. Reported by Vyacheslav
    Matyukhin. (Dave Rolsky)

  • The ->parent and ->parents method for a union now return the nearest
    common ancestor of that union's component types. See Moose::Manual::Delta
    for more details. (Dave Rolsky)

  • The ->parents method used to return an arrayref for union types, and a
    list of one or more types for all other types. Now they all return
    lists. (Dave Rolsky)

  • The ->is_subtype_of and ->is_a_type_of methods have changed their behavior
    for union types. Previously, they returned true if any of their member
    types returned true for a given type. Now, all of the member types must
    return true. RT #67731. (Dave Rolsky)

[ENHANCEMENTS]

  • The Moose::Exporter module now has a "meta_lookup" option when creating an
    importer. This allows you to specify an alternate method for determining
    the metaclass of a caller. This is useful for modules like
    MooseX::Role::Parameterized which generate new metaclasses on the
    fly. (sartak)

  • Added a Moose::Meta::Method->is_stub method. (Dave Rolsky)

[BUG FIXES]

  • A subtype of a union type did not return the right results when you called
    ->is_subtype_of or ->is_a_type_of on it. This has been fixed. RT
    #70322. (Dave Rolsky)

  • An attribute accessor or delegation method can overwrite a stub method and
    this will no longer throw an error. Reported by Mark-Jason Dominus. RT
    #69988. (Dave Rolsky)

  • The error generated by unfulfilled method requirements during role
    composition now mentions how to work around imported methods not being
    recognized. Reported by Michael Schwern. RT #60583. (doy)

  • class_type and role_type will now throw errors if you attempt to use them
    to override existing types, just like type and subtype have always done.
    (doy)

  • Implicitly creating class or role types by using them as the 'isa' or
    'does' parameter to attribute construction will now register the type. This
    means that it cannot later be redefined as something else. (doy)

  • $class_type->is_subtype_of no longer returns true if passed the name of the
    class that the class type represents when the class type wasn't registered.
    (doy)

  • Removing anonymous metaclasses prematurely no longer prevents reaping of
    the associated stash. (doy)

[OTHER]

  • The Class::MOP::load_class and Class::MOP::is_class_loaded subroutines are
    no longer documented, and will cause a deprecation warning in the
    future. Moose now uses Class::Load to provide this functionality, and you
    should as well. (Dave Rolsky)

Don't miss a new Moose release

NewReleases is sending notifications on new releases.