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

Created:      2013-03-23
Home page:    <https://metacpan.org/release/Type-Tiny>
Bug tracker:  <http://rt.cpan.org/Dist/Display.html?Queue=Type-Tiny>
Maintainer:   Toby Inkster <mailto:tobyink@cpan.org>

0.003_13  2013-05-03

 - (Bugfix) Don't crash in old versions of Moose that have no
   Class::MOP::_definition_context() function.
 - BAIL_OUT in test suite if 00-compile.t or 01-api.t fail.
 - Better documentation and tests of Moose/Mouse-compatible API.
 - Fix typo in Type::Params documentation.
   ++$DJERIUS

0.003_12  2013-05-01

 - (Bugfix) Sane behaviour for Types::Standard's 'slurpy' function when it
   appears mid-list.
 - Allow people to use Carp::{confess,cluck,carp} with Type::Params
   validators; default is still croak.
 - Improved Type::Params documentation.
 - Type::Params validators now explicitly check the number of arguments
   passed to them.
   ++$MMCLERIC

0.003_11  2013-04-30

 - (Addition) Test cases for Eval::TypeTiny.
 - Automatic coercion for parameterized Dict will no longer drop key/value
   pairs to force a coercion.
   ++$MMCLERIC
 - Automatic coercion for parameterized Tuple will no longer drop values to
   force a coercion.
   ++$MMCLERIC

0.003_10  2013-04-29

 - (Addition) Bundle Type::Params, which had previously appeared on CPAN in
   a separate developer release.
 - (Addition) Much of the stringy eval stuff has been factored out to a new
   module: Eval::TypeTiny.
 - (Addition) Type::Tiny::SUPPORT_SMARTMATCH constant.
 - (Documentation) Improve Exporter::TypeTiny documentation.
 - (Documentation) Improve advice on inlining type constraints and
   coercions.
 - (Packaging) Bump version of Test::More dependency fom 0.88 to 0.96.
 - General code tidy-up.

0.003_09  2013-04-28

 - (Addition) 'Tied' type constraint added to Types::Standard.
 - (Documentation) Document usage with Params::Check and Object::Accessor.
 - If Mouse is already in memory, Type::Tiny will use its super-fast XS
   subs to validate values when possible.

0.003_08  2013-04-26

 - (Addition) Test case using Exporter::TypeTiny with
   Sub::Exporter::Lexical.
 - (Documentation) More Exporter::TypeTiny docs, including usage with
   Sub::Exporter::Lexical.
 - ASCII-only strings are now accepted by the Chars constraint in
   Types::Standard.
 - Type::Tiny, Type::Coercion and their subclasses no longer call
   Types::TypeTiny->import method.
 - Types::TypeTiny lazily loads Exporter::TypeTiny - i.e. it loads
   Exporter::TypeTiny when Types::TypeTiny->import is first called.

0.003_07  2013-04-26

 - (Bugfix) Fix method conflicts when exporting type constraints to roles.
   ++$BOWTIE
 - (Documentation) Document usage with Class::InsideOut.
 - (Documentation) Minor improvements to manual.

0.002  2013-04-26

 - (Addition) Chars and Bytes types added to Types::Standard.
 - (Bugfix) Fix method conflicts when exporting type constraints to roles.
   ++$BOWTIE
 - (Bugfix) Prevent warnings (about 'my $val' masking a previously declared
   variable) when several Str checks are being inlined in close proximity,
   such as Tuple[Str,Str]
 - (Documentation) Link from Test::TypeTiny to Test::Deep::Type.
 - Avoid unnecessarily regenerating parameterized type constraints.
 - Make Type::Tiny's has_coercion method more DWIM.

0.003_06  2013-04-25

 - (Addition) Types::TypeTiny::to_TypeTiny can now coerce from a
   Mouse::Meta::TypeConstraint.
 - (Documentation) Add lots of stuff to Type::Tiny::Manual::UsingWithMouse.
 - (Documentation) Document deep coercions (feature added in 0.003_01).
 - Add a bunch of stub methods to Type::Tiny and Type::Coercion in order to
   make it less necessary to inflate to Moose/Mouse meta objects.
 - No longer need to add '-mouse' when importing types into Mouse
   libraries. (Same change as what we did for Moose in 0.000_11.)
 - Various minor changes to Exporter::TypeTiny to make it more
   Sub::Exporter compatible.

0.003_05  2013-04-19

 - (Addition) Allow coercions to accept parameters.
 - (Addition) Chars and Bytes types added to Types::Standard.
 - (Addition) Encode, Decode, Join and Split coercions added to
   Types::Standard.
 - (Addition) Type::Tiny::Class now has a plus_constructors method.
 - (Bugfix) Prevent warnings (about 'my $val' masking a previously declared
   variable) when several Str checks are being inlined in close proximity,
   such as Tuple[Str,Str]
 - (Documentation) Document Exporter::TypeTiny.
 - (Documentation) Type::Tiny::Manual::Coercions.

0.003_04  2013-04-18

 - Factor out the sub exporting code scattered around (in Type::Utils,
   Types::TypeTiny and Type::Library) into a single module,
   Exporter::TypeTiny.

0.003_03  2013-04-17

 - (Addition) Add OptList data type to Types::Standard, plus MkOpt
   coercion.
 - Make Type::Tiny's has_coercion method more DWIM.
 - When inflating Moo type constraints to Moose, don't unnecessarily call
   'moose_type' method.

0.003_02  2013-04-16

 - (Documentation) Document how to process sub parameters with Type::Tiny,
   and point people towards Type::Params.
 - Avoid unnecessarily regenerating parameterized type constraints.

0.003_01  2013-04-16

 - (Addition) Allow subtypes to inherit coercions from their parent type
   constraint. (They do not by default.)
 - (Addition) Build coercions automatically for certain type parameterized
   constraints. Say there's a Num->Int coercion defined; then we should be
   able to coerce ArrayRef[Num]->ArrayRef[Int].
 - (Addition) Overload "+" operator for Type::Coercion and Type::Tiny
   allows coercions to be added to each other, and added to type
   constraints.
 - (Addition) Type::Library packages can now include "standalone"
   Type::Coercion objects, not attached to a type constraint. These can be
   exported on request.
 - (Documentation) Link from Test::TypeTiny to Test::Deep::Type.
 - Allow a Type::Tiny object to "freeze" its coercions. This prevents a
   Type::Tiny object from becoming out of sync with its equivalent Mouse or
   Moose constraint objects.

0.001  2013-04-15  # First public release

 - (Addition) More test cases for Optional[`a] within Dict[`a].
 - (Bugfix) Some inline code assumed that it would be compiled in a package
   that had 'blessed' imported.
 - (Bugfix) Some inline code wasn't wrapped in parentheses.
 - (Documentation) Minor improvements.
 - Improve test names generated by Test::TypeTiny; allow test scripts to
   provide test names.
 - Parameterized type constraints in Types::Standard now do some sanity
   checking on their arguments.
 - Weaken the reference from a Moose::Meta::TypeConstraint object to its
   Type::Tiny origin.

0.000_12  2013-04-12

 - (Documentation) Fix minor typo.

0.000_11  2013-04-11

 - (Bugfix) Fix prototype for Type::Utils::as.
 - No longer need to pass '-moose' parameter when importing a library into
   a Moose class; only Mouse needs that treatment now.

0.000_10  2013-04-09

 - (Bugfix) Fix incorrect Test::Requires line in 'mouse-coercion.t'.
 - Improvements to has_coercion_for_{type,value} from Type::Coercion.

0.000_09  2013-04-08

 - (Addition) Bundle benchmarking scripts.
 - (Documentation) Fill in the Usage with Moose section of the fine manual.
 - (Packaging) Tidy up the 'examples' directory.
 - (Packaging) When generating Moose/Mouse constraints from Type::Tiny
   objects, prefer to generate anonymous ones.

0.000_08  2013-04-07

 - (Addition) Types::TypeTiny::to_TypeTiny can be used to coerce a Moose
   type constraint object to Type::Tiny.
 - Most parts of the API that accept Type::Tiny objects (e.g.
   Type::Utils::from()) now also accept Moose::Meta::TypeConstraint
   objects.
 - Rewrite most of the functions exported by Type::Library-based type
   libraries to cope better with being used mid-list.

0.000_07  2013-04-06

 - (Addition) Type::Coercion::Union - automatically handles coercion to
   union types.
 - (Bugfix) Fix inlining for Type::Tiny::Intersection.
 - (Bugfix) Fix inlining of certain conditionals into coercion code.
 - (Bugfix) Types within libraries, if accessed directly rather than
   exported, did not accept parameters.
 - (Documentation) Document constructor for Type::Tiny::Class.
 - (Packaging) More test cases.

0.000_06  2013-04-05

 - (Addition) In Moo, type assertions and coercions are now inlined.
   ++$MSTROUT
 - (Addition) Monkey patch Moose::Meta::TypeConstraint to be able to
   retrieve Type::Tiny constraints from inflated Moose constraints.
 - (Addition) Type::Tiny now has an 'inline_assert' function.
 - (Documentation) Improved documentation of parameterization attributes.
 - (Documentation) Section in manual comparing Type::Tiny with various
   other type library frameworks.
 - (Documentation) Using Type::Tiny with Moo added to manual.
 - (Packaging) More test cases.
 - Footprint reduction: Type::Tiny and Type::Coercion no longer use if.pm.
 - Footprint reduction: Type::Tiny no longer triggers Perl to load its
   Unicode tables (unless you create a type constraint with a non-ASCII
   type name).
 - Footprint reduction: Type::Tiny, Type::Library and Type::Coerce no
   longer automatically load Types::Standard and Type::Utils.

0.000_05  2013-04-04

 - (Addition) Factor out some functions from test suite into a new module:
   Test::TypeTiny.
 - (Bugfix) Fix is_parameterized.
 - (Bugfix) Get Mouse coercions working.
 - (Packaging) Rearrange test suite slightly.
 - Allow null type constraints with no parent type (e.g. 'Any' in
   Types::Standard) to be inlined.
 - Don't die with full stack trace.
 - Rename Type::Standard module to Types::Standard.
 - Sanity checks for type constraint names.
 - Types::TypeTiny bootstrapping library now takes care of vaious internal
   type checking requirements.

0.000_04  2013-04-03

 - (Addition) Finally implement Type::Coercion's has_coercion_for_type
   method.
 - (Addition) Type::Tiny equals/is_subtype_of/is_supertype_of/is_a_type_of
   methods for type constraint comparisons.
 - (Addition) Type::Tiny plus_coercions/minus_coercions/no_coercions
   methods for creating subtypes with different sets of coercions.
 - Allow coercion code to be expressed as a string; quite a bit faster.
 - Create and use compiled coercions; somewhat faster.

0.000_03  2013-04-03

 - (Addition) Inlined type constraints for all of Type::Standard.
 - (Addition) Test cases for ScalarRef[`a].
 - (Bugfix) Fix the crashing t/moo-inflation.t test case.
 - (Documentation) Document Type::Coercion's overloading.
 - Create and use compiled type constraint checks; much faster!
 - Make sure Type::Standard's Moose-like built-ins get inflated to real
   Moose built-in types.
 - Use more unique stringification for %Moo::HandleMoose::TYPE_MAP keys.

0.000_02  2013-04-02

 - (Addition) StrMatch added to Type::Standard.
 - (Addition) use Type::Library -base
 - (Addition) use Type::Library -declare
 - (Bugfix) Anchor enum regexps to beginning and end of string.
 - (Documentation) Beginnings of Type::Tiny::Manual.

0.000_01  2013-04-02  # Developer preview