The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.047_04 - 2014-07-28

  • Documentation
    • Type::Utils does not export english_list() and classifier() by default.
  • Test Suite
    • Check that Mouse type converted to Type::Tiny objects keep their original error messages.
    • Improve test coverage for Type::Registry.
    • Improve test coverage for Type::Utils' match_on_type and compile_match_on_type.
    • Test code from SYNOPSIS sections (only in xt).
    • Test exceptions thrown by Types::Standard::ScalarRef.
    • Test that Sub::Quote-enabled coderefs generated by Type::Tiny and Type::Coercion can actually be retrieved by Sub::Quote.
    • Test the Type::Coercion overloading of ~~.
    • Test warnings raised by Type::Utils::declare().
    • Tests for Test::TypeTiny::matchfor().
    • Tests for dynamically delegated Type::Tiny an Type::Coercion methods.
    • Tests for introspection methods of Type::Coercion.
    • Tests for introspection methods of Types::TypeTiny.
  • Other
    • Straighten out the relationships between Type::Coercion and its subclasses.
    • Type:Utils::match_on_type no longer automatically loads Types::Standard.

Changes for version 0.047_03 - 2014-07-26

  • Bug Fixes
    • Fix for slurpy Map within a Tuple.
    • Types::TypeTiny->has_type was incorrectly returning whether Types::TypeTiny contained the named *coercion* instead of a named *type*.
  • Test Suite
    • Check Type::Library-based type libraries can extend MouseX::Types-based type libraries.
    • Check that Type::Registry works in conjunction with MouseX::Types. (There's some TODO stuff there.)
    • Checks for more Error::TypeTiny::Assertion explanations (Tuple, Duck, Intersection, Union, Dicts containing slurpy things).
    • Checks non-inlineable deep coercions for Tuple.
    • Fake a very old Validation::Class::Simple for a certain test by overriding $Validation::Class::Simple::VERSION.
    • Improved type constraint constructor tests (exceptions thrown for bad parameters, coercion=>ARRAY|CODE parameter).
    • Improved type introspection method tests (find_parent/is_supertype_of/is_subtype_of/is_strictly_supertype_of/is_s trictly_subtype_of).
    • Test the immutability of Type::Coercion::Union.
    • Tests for `isa`.
    • Tests for non-inlineable type constraints in `match_on_type` and `compile_match_on_type`.
    • Tests for various little methods which were added for Moose/Mouse-compatibility.
  • Packaging
    • Bundle my TODO file.
  • Other
    • Better `isa` faking - returns true to Class::MOP::Object.

Changes for version 0.047_02 - 2014-07-23

  • Documentation
    • Type::Tiny::Manual no longer says that Perl 5.6.x support is at risk.
  • Test Suite
    • Add tests explicitly testing Type::Tiny objects conversion to Moose::Meta::TypeConstraint and Mouse::Meta::TypeConstraint objects.
    • Include test case relating to Type::Tiny::XS GitHub issue #1. <https://github.com/tobyink/p5-type-tiny-xs/issues/1>
    • Stop using base.pm.
    • Test exceptions thrown by Type::Tiny::Class.
    • Test exceptions thrown by Type::Tiny::Enum.
    • Test exceptions thrown by Type::Tiny::Role.
    • Test the Error::TypeTiny::Compilation exception class.
    • Test the Error::TypeTiny::WrongNumberOfParameters exception class.
  • Other
    • Allow Enums containing hyphens to be accelerated by Type::Tiny::XS.
    • Test::Tiny::Class should stop using Class::ISA. Instead, if mro.pm is not available, use a private sub stolen from MRO::Compat.
    • Type::Tiny::Intersection is now XS-accelerated. <https://gist.github.com/tobyink/71eab715ac16178cbcfb>
    • Type::Tiny::Union is now XS-accelerated. <https://gist.github.com/tobyink/71eab715ac16178cbcfb>

Changes for version 0.047_01 - 2014-07-21

  • Bug Fixes
    • Fix a silly test case that was relying on Exporter::Tiny to always load B.pm. (Current versions of Exporter::Tiny do load B.pm, but future versions might not.)
  • Documentation
    • Better document which type constraints will be accelerated by Type::Tiny::XS and Mouse.
  • Other
    • Type::Tiny::Enum is now XS-accelerated. <https://gist.github.com/tobyink/dfdf9bb826a530781e3d>
    • Types::Common::Numeric::PositiveInt is now XS-accelerated. <https://gist.github.com/tobyink/dcc15cf283c90c749501>
    • Types::Common::Numeric::PositiveOrZeroInt is now XS-accelerated. <https://gist.github.com/tobyink/dcc15cf283c90c749501>
    • Types::Common::String::NonEmptyStr is now XS-accelerated. <https://gist.github.com/tobyink/dcc15cf283c90c749501>
    • Types::Standard::Map is now XS-accelerated. <https://gist.github.com/tobyink/e733f839cecc0dd193a6>
    • Types::Standard::Tuple is now XS-accelerated. <https://gist.github.com/tobyink/e733f839cecc0dd193a6>
    • Unify _USE_XS/_USE_MOUSE logic in Type::Tiny. (It was previously scattered across Types::Standard and various other modules.)

Documentation

an overview of Type::Tiny
adding coercions to type constraints
how to build a type library with Type::Tiny, Type::Library and Type::Utils
squeeze the most out of your CPU
coerce and validate arguments to functions and methods
Type::Tiny policies
how to use Type::Tiny and Type::Library with Moo
how to use Type::Tiny and Type::Library with Moose
how to use Type::Tiny and Type::Library with Mouse
how to use Type::Tiny and Type::Library with other OO frameworks

Modules

shims to allow Type::Tiny to run on Perl 5.6.x
shims to allow Type::Tiny to run on Perl 5.8.x
exceptions for Type::Tiny and friends
exception when a value fails a type constraint
exception for Eval::TypeTiny
exception for Type::Params
utility to evaluate a string of Perl code in a clean environment
improved type constraint exceptions in Reply
useful functions for testing the efficacy of type constraints
a set of coercions to a particular target type constraint
a set of coercions borrowed from Moose
a set of coercions to a union type constraint
tiny, yet Moo(se)-compatible type libraries
Params::Validate-like parameter validation using Type::Tiny type constraints and coercions
parse type constraint strings
a glorified hashref for looking up type constraints
tiny, yet Moo(se)-compatible type constraint
type constraints based on the "isa" method
type constraints based on the "can" method
string enum type constraints
intersection type constraints
type constraints based on the "DOES" method
union type constraints
half-completed overloaded operation
utility functions to make defining and using type constraints a little easier
drop-in replacement for MooseX::Types::Common::Numeric
drop-in replacement for MooseX::Types::Common::String
bundled set of built-in types for Type::Tiny
internals for the Types::Standard ArrayRef type constraint
internals for the Types::Standard Dict type constraint
internals for the Types::Standard HashRef type constraint
internals for the Types::Standard Map type constraint
internals for the Types::Standard ScalarRef type constraint
internals for the Types::Standard Tuple type constraint
type constraints used internally by Type::Tiny