cpan Moose 0.26

latest releases: 2.2207, 2.2206, 2.2205...
17 years ago

== New Features ==
  • Parameterized Types
    We now support parameterized collection types, such as:
    ArrayRef[Int] # array or integers
    HashRef[Object] # a hash with object values
    They can also be nested:
    ArrayRef[HashRef[RegexpRef]] # an array of hashes with regex values
    And work with the type unions as well:
    ArrayRef[Int | Str] # array of integers of strings

  • Better Framework Extendability
    Moose.pm is now "extendable" such that it is now much
    easier to extend the framework and add your own keywords
    and customizations. See the "EXTENDING AND EMBEDDING MOOSE"
    section of the Moose.pm docs.

  • Moose Snacks!
    In an effort to begin documenting some of the various
    details of Moose as well as some common idioms, we have
    created Moose::Cookbook::Snacks as a place to find
    small (easily digestable) nuggets of Moose code.

====
~ Several doc updates/cleanup thanks to castaway ~

  • converted build system to use Module::Install instead of
    Module::Build (thanks to jrockway)

  • Moose

    • added all the meta classes to the immutable list and
      set it to inline the accessors

    • fix import to allow Sub::Exporter like { into => }
      and { into_level => } (perigrin)

    • exposed and documented init_meta() to allow better
      embedding and extending of Moose (perigrin)

    • t/

      • complete re-organization of the test suite
      • added some new tests as well
      • finally re-enabled the Moose::POOP test since
        the new version of DBM::Deep now works again
        (thanks rob)
  • Moose::Meta::Class

    • fixed very odd and very nasty recursion bug with
      inner/augment (mst)
    • added tests for this (eilara)
  • Moose::Meta::Attribute
    Moose::Meta::Method::Constructor
    Moose::Meta::Method::Accessor

    • fixed issue with overload::Overloaded getting called
      on non-blessed items. (RT #29269)
    • added tests for this
  • Moose::Meta::Method::Accessor

    • fixed issue with generated accessor code making
      assumptions about hash based classes (thanks to dexter)
  • Moose::Coookbook::Snacks

    • these are bits of documentation, not quite as big as
      Recipes but which have no clear place in the module docs.
      So they are Snacks! (horray for castaway++)
  • Moose::Cookbook::Recipe4

    • updated it to use the new ArrayRef[MyType] construct
    • updated the accompanying test as well

+++ Major Refactor of the Type Constraint system +++
+++ with new features added as well +++

  • Moose::Util::TypeConstraint

    • no longer uses package variable to keep track of
      the type constraints, now uses the an instance of
      Moose::Meta::TypeConstraint::Registry to do it
    • added more sophisticated type notation parsing
      (thanks to mugwump)
    • added tests for this
  • Moose::Meta::TypeConstraint

    • some minor adjustments to make subclassing easier
    • added the package_defined_in attribute so that we
      can track where the type constraints are created
  • Moose::Meta::TypeConstraint::Union

    • this is now been refactored to be a subclass of
      Moose::Meta::TypeConstraint
  • Moose::Meta::TypeCoercion::Union

    • this has been added to service the newly refactored
      Moose::Meta::TypeConstraint::Union and is itself
      a subclass of Moose::Meta::TypeCoercion
  • Moose::Meta::TypeConstraint::Parameterized

    • added this module (taken from MooseX::AttributeHelpers)
      to help construct nested collection types
    • added tests for this
  • Moose::Meta::TypeConstraint::Registry

    • added this class to keep track of type constraints

Don't miss a new Moose release

NewReleases is sending notifications on new releases.