Created:      2013-03-23
Home page:    <https://typetiny.toby.ink/>
Home page:    <https://metacpan.org/release/Type-Tiny>
Bug tracker:  <https://github.com/tobyink/p5-type-tiny/issues>
Maintainer:   Toby Inkster (TOBYINK) <tobyink@cpan.org>

2.000000	2022-09-23

 [ Test Suite ]
 - Minor fix for Class::Plain-related tests.

 [ Packaging ]
 - Repackage Type-Tiny 1.999_013 as a stable release.

1.999_013	2022-09-23	Type::Tiny 2.0 Preview N

 [ Documentation ]
 - Document usage with Class::Plain.
 - Fix pod typo in manual.
   Florian Schlichting++
 - Improvements to Type::Params documentation.

 [ Test Suite ]
 - Test usage with Class::Plain.

 [ Other ]
 - Type::Params signature_for will respect inheritance when looking for
   methods to wrap, when the `method` option is true.

1.999_012	2022-09-21	Type::Tiny 2.0 Preview M

 [ Documentation ]
 - Document in Type::Tie that Type::Tie is implicitly loaded when you tie a
   variable to a Type::Tiny type constraint. (It was already documented in
   the manual.)
 - Document the Type::Tie::BASE `type` method.
 - Removed stub pod from a bunch of internal modules. They're internal, so
   nobody should be expecting pod.

 [ Test Suite ]
 - Bundle a (renamed) copy of Type::Nano in the test suite for some tests
   combining Type::Nano and Type::Tiny type constraints, and converting
   Type::Nano to Type::Tiny.
 - Improved test cases for Type::Tie with an aim at 100% coverage.

 [ Packaging ]
 - Add Class::XSAccessor to Type::Tiny's recommendations.

 [ Other ]
 - Adding a type constraint to a type library will now also add it to the
   library's type registry. (Even though this registry is unlikely to be
 - Rewrite much of Type::Tie to no longer use inside-out objects and avoid
   a dependency on Hash::Util::FieldHash or alternative implementations of
 - Type::Parser's internal packages now have version numbers.
 - Type::Tie now supports variables being cloned with Clone::clone(). It
   already supported Storable::dclone().
 - Type::Tie will now try to load Class::XSAccessor::Array for a speed-up.
 - Using Type::Utils to declare a named type will now automatically add the
   type to the caller's type registry.

1.999_011	2022-09-20	Type::Tiny 2.0 Preview L

 - Added: Bundle Type::Tie which was previously in a separate distribution
   on the CPAN.

1.999_010	2022-09-18	Type::Tiny 2.0 Preview K

 [ Test Suite ]
 - More tests.

 [ Other ]
 - Eval::TypeTiny::CodeAccumulator now supports $coderef->compile(alias =>
 - If the `ws parameter is set to true in parameterized DelimitedStr type
   constraints, leading and trailing whitespace will now be permitted.
 - Non-parameterized DelimitedStr now has a coercion from ArrayRef[Str].
 - The ${^TYPE_PARAMS_MULTISIG} magic global variable is now called
   ${^_TYPE_PARAMS_MULTISIG}. The old name will still be supported for at
   least six months after the next stable release.

1.999_009	2022-09-16	Type::Tiny 2.0 Preview J

 [ Test Suite ]
 - Another test for `-base`.

 [ Other ]
 - Added: Types::Common::String now has a DelimitedStr type.
 - Improve cache key generation for parameterized types.
 - Minor improvements to the default name generator, used to generate the
   display_name for parameterized type constraints.

1.999_008	2022-09-14	Type::Tiny 2.0 Preview I

 [ Bug Fixes ]
 - More sensible error message trying to import a type constraint using
   -declare outside a type library.
   Diab Jerius++

 [ Other ]
 - Added: Type::Tiny now has an exportables_by_tag method.
 - Added: Type::Tiny::_DeclaredType is now a separate module. (It was
   previously defined inline in Type/Library.pm.)
 - Eval::TypeTiny::type_to_coderef() can now handle being passed undef as a
   type constraint and will create a Type::Tiny::_DeclaredType object to
   wrap instead.
 - If a type library has been made immutable, you can no longer add new
   types and coercions to it.
 - Type::Params `signature_for` will now delay most of the signature
   compilation until the function is called for the first time, like
   `wrap_subs`/`wrap_methods` used to do. It still does enough up-front to
   detect some common errors in signatures.
 - Various Type::Library cleanups.

1.999_007	2022-09-13	Type::Tiny 2.0 Preview H

 [ Documentation ]
 - Fix pod formatting issue in Type::Params.

 [ Test Suite ]
 - Improved test cases; now 100% coverage on coveralls.io.

 [ Other ]
 - Minor refactoring, mostly to make things more easily testable.

1.999_006	2022-09-12	Type::Tiny 2.0 Preview G

 - If none of a multisig's alternative sigs match the parameter list
   ${^TYPE_PARAMS_MULTISIG} will be explicitly set to undef, instead of
   being left as-is.
 - The Eval::TypeTiny::HAS_LEXICAL_VARS constant no longer exists. It was
   deprecated in Type-Tiny-1.004000 (2018-07-27).

 [ Other ]
 - Get the `multiple` option working with the `signature_for` function from
 - Improved test cases and miscellaneous small bugfixes for slurpy
   parameters in Type::Params.

1.999_005	2022-09-11	Type::Tiny 2.0 Preview F

 [ Bug Fixes ]
 - What was supposed to be a warning for slurpy+default in Type::Params was
   throwing an exception. Corrected to be a warning.

 [ Documentation ]
 - Minor improvements to Type::Params documentation.

 [ Other ]
 - The functionality provided by Type::Params::multisig() is now provided
   in the Type::Params v2 API. (And is slightly more functional!)

1.999_004	2022-09-09	Type::Tiny 2.0 Preview E

 [ Documentation ]
 - Minor documentation clarifications around new constructor methods for
   Type::Tiny subclasses.

 [ Test Suite ]
 - Add versions of tests for the new Type::Params v2 API which don't rely
   on Perl 5.20 features.
 - More tests for Type::Tiny::{Class,Duck,Enum,Role} exporting.

 [ Packaging ]
 - Require Exporter::Tiny 1.004001.

 [ Other ]
 - Type::Tiny::{Class,Duck,Enum,Role} subclass Exporter::Tiny instead of
   handling exports manually.

1.999_003	2022-09-09	Type::Tiny 2.0 Preview D

 [ Bug Fixes ]
 - Setting a default for a slurpy parameter in Type::Params now warns and
   ignores the default instead of failing to compile because of a syntax

 [ Other ]
 - Added: Move two helper subs out of Type::Library and into
   Eval::TypeTiny, clean them up, and document them as part of the API
   (set_subname and type_to_coderef).
 - Added: Type::Tiny now has an `exportables` method which provides a list
   of functions that the type can export. Type libraries now defer to this
   when deciding what they can export.
 - Added: Type::Tiny::Class is now an exporter.
 - Added: Type::Tiny::Duck is now an exporter.
 - Added: Type::Tiny::Enum has an is_word_safe method which indicates
   whether all values in the enumeration are 'words' (i.e. contain only
   word characters).
 - Added: Type::Tiny::Enum is now an exporter.
 - Added: Type::Tiny::Role is now an exporter.
 - Added: Word-safe enumerations export constants for each value.
   Branislav Zahradník++
 - Major simplifications of Type::Library internals.
 - The NICE_PROTOTYPES constant has been moved from Type::Library to
   Eval::TypeTiny, though a copy of it is still available in Type::Library
   for backwards compatibility.
 - The intersection of two Type::Tiny::Enum objects is now a
   Type::Tiny::Enum instead of a Type::Tiny::Intersection.
   Branislav Zahradník++
 - The union of two Type::Tiny::Enum objects is now a Type::Tiny::Enum
   instead of a Type::Tiny::Union.
 - Type::Params will call default coderefs as a method for signatures where
   method => 1.

1.999_002	2022-09-07	Type::Tiny 2.0 Preview C

 [ Bug Fixes ]
 - Types::Common was not correctly handling the -sigs export tag.

 [ Documentation ]
 - Fix up some heading levels in the pod for Type::Params.
 - Update NEWS.

 [ Test Suite ]
 - Better tests for `strictness` option in Type::Params.
 - Improved tests for slurpy handling in Type::Params.
 - The internal module Type::Params::Signature now has some tests of its

 [ Other ]
 - Minor bugfixes and improvements to slurpy handling in Type::Params.
 - The type_default method will accept parameters, and sort-of curry them.

1.999_001	2022-09-05	Type::Tiny 2.0 Preview B

 [ Documentation ]
 - Fix misspelling of 'GitHub' in documentation.
 - Further revisions of Type::Manual.
 - Update the SYNOPSIS for Types::Standard and Type::Tiny.

 [ Test Suite ]
 - Tests for the `type_default` of all builtin types.

 [ Other ]
 - Changes to the `type_default` for a few parameterized types.
 - Types::Common now also extends Types::TypeTiny.

1.999_000	2022-09-04	Type::Tiny 2.0 Preview A

 [ Documentation ]
 - Updated Type::Tiny::Manual to cover new features.

 [ Other ]
 - %Error::TypeTiny::CarpInternal is now an alias for %Carp::CarpInternal.
 - Added: Type::Tiny `type_default` method.
 - Added: Type::Tiny overloads `/`.
 - Added: Types::Common module.
 - The Type::Params API has had a major overhaul, introducing `signature`
   and `signature_for` functions. The `compile`, `compile_named`,
   `compile_named_oo`, `validate`, `validate_named`, `wrap_subs`, and
   `wrap_methods` functions are now considered the legacy API. There are no
   plans to drop support for the legacy API in the foreseeable future.
 - Updated: Dropping support for Perl 5.6.1 (which was released in April
   2001), 5.6.2 (November 2003), and Perl 5.8.0 (July 2002). Type::Tiny now
   requires at least Perl 5.8.1.
 - Updated: Require Exporter::Tiny 1.004000+. (Previously required
   Exporter::Tiny 1.000000.)

1.016010	2022-08-31

 [ Bug Fixes ]
 - Fix an uninitialized warning when calling compile_named_oo outside a
   Diab Jerius++

 [ Documentation ]
 - List which versions of Perl Type::Tiny requires in

1.016009	2022-08-27

 [ Bug Fixes ]
 - Parameterizable type constraints have a name generator, which is a
   coderef that generates the names of their parameterized child type
   constraints. The default name generator now strips ASCII control
   characters (such as null, tab, and new line) from names it generates.

1.016008	2022-08-14

 - Added: Type::Params now has a `goto_next` option, which if set to a
   coderef will generate a signature which on success, instead of returning
   @_, passes @_ to the coderef. If `goto_next` is set to true, the
   signature instead expects to be passed such a coderef as its first
 - Eval::TypeTiny::CodeAccumulator now better handles placeholders.
 - Type::Params `wrap_subs` and `wrap_methods` internally use `goto_next`.

1.016007	2022-08-04

 - Added: Type::Params now has a `strictness` option, which if set to false
   (or certain strings of Perl code that evaluate to false) will skip type
   checks apart from when needed for coercions, skip parameter count
   checks, and skip checks for unknown named parameters. You generally
   don't want to set it to false or indeed set it at all.

1.016006	2022-07-25

 [ Documentation ]
 - Added a new page to the manual: Type::Tiny::Manual::UsingWithMite.

 [ Other ]
 - Type::Tiny now overloads 0+ to return a unique number per type

1.016005	2022-07-23

 [ Bug Fixes ]
 - Minor bugfix in Type::Tiny::cmp where in some cases it was returning '0'
   instead of '0E0'; unlikely to affect anything.

 [ Other ]
 - Updated: Updated Type::Params benchmarking scripts.
 - When Type::Registry/Type::Parser has to create a class or role type
   constraint, use Types::Standard InstanceOf/ConsumerOf instead of
   creating new anonymous Type::Tiny::Class/Type::Tiny::Role constraints.

1.016004	2022-07-22

 - Added: Type::Params now allows named parameters to have aliases.

1.016003	2022-07-22

 - Catalyst was relying on the internals of the old slurpy function. Next
   release of Catalyst should fix that, but this version of Types::Standard
   introduces a workaround for the issue without going back to implementing
   Slurpy the old way. (The Catalyst test suite passes at least!)
 - In most places that accept a Slurpy, happily accept a child of a child
   of a child of Slurpy.
 - Rename Type::Params::Coderef to Eval::TypeTiny::CodeAccumulator as it's
   not really Type::Params-specific. Add test cases for it and make it part
   of the public API.
 - Use Eval::TypeTiny::CodeAccumulator in compile_match_on_type.
 - When Type::Tiny's is_subtype_of, etc methods are called passing a string
   as a parameter, pay attention to calling package's type registry.

1.016002	2022-07-19

 - The slurpy(Foo) function from Types::Standard has been replaced by a new
   Slurpy parameterized type, so you can use Slurpy[Foo] instead. A
   slurpy() function is still provided for backwards compatibility, but if
   you were relying on the internal detail that this used to return an
   unblessed hashref, this release might break that assumption.

1.016001	2022-07-18

 - Allow Type::Utils::extends to extend Type::Library::Compiler libraries.
 - Allow the add_types method of Type::Registry to consume
   Type::Library::Compiler libraries.
 - Improved coercion of Type::Library::Compiler's type constraints to

1.016000	2022-07-16

 - Add a clone option to parameters in Type::Params to clone them with
   Storable::dclone(). This is mostly a test of how much easier improving
   Type::Params is since it was refactored.

1.015_003	2022-07-16

 - The simple case of compile() with no parameters was broken by
   refactoring. It should now work.

1.015_002	2022-07-16

 - Defaults for Type::Params parameters can now be a reference to a string
   of Perl code (like Mite).

1.015_001	2022-07-16

 - Type::Params::Signature now avoids using the word `return` in its
   generated source code, as MooX::Press was using that as a talisman. Also
   avoid using the `return` keyword to return the final results of the
   signature check, as falling through performs better on older Perls, plus
   it enables MooX::Press to convert the coderef into a do{} block.

1.015_000	2022-07-16

 - Type::Params is now smarter at calculating the expected $#_ for
   functions which take named parameters, so it can 'fail early' more often
   when there are extra parameters or missing required parameters. This
   means you may get errors indicating the wrong number of parameters when
   you were previously getting errors indicating particular unrecognized or
   missing required parameters. This may break test suites which were
   looking for particular error messages.

 [ Other ]
 - Major refactoring of Type::Params, splitting out signature compilation
   into separate backend OO-modules which Type::Params now acts as a
   frontend for. Compiling signature checks is probably now a little
   slower, but once they're compiled Type::Params is still the fastest Perl
   implementation of typed parameter checks. This refactor should make the
   code easier to work with, add new features to, and tweak the performance

1.014000	2022-06-27

 [ Documentation ]
 - Update copyright dates to 2022.
 - Various minor documentation improvements.

 [ Test Suite ]
 - Eliminate some warnings and other noise from the test suite.
 - Rename some directories in the test suite to better reflect their

 [ Packaging ]
 - Repackaged as stable version.

 [ Other ]
 - Added: $Type::Tiny::SafePackage variable.
 - Added: Error::TypeTiny now has a `throw_cb` method which acts like
   `throw` but takes an initial callback parameter.
 - Added: Type::Params `compile`, `compile_named`, and `compile_named_oo`
   functions now support an `on_die` callback.
 - Eliminate warnings while generating deep explanations for type
   constraint check fails under some circumstances. (Mostly affects
   StrMatch when Regexp::Util isn't installed.)
   James Wright++

1.013_001	2022-06-23

 [ Documentation ]
 - Various minor documentation improvements.

 [ Other ]
 - Added: $Type::Tiny::SafePackage variable.

1.013_000	2022-06-09

 [ Documentation ]
 - Update copyright dates to 2022.
 - Various minor documentation improvements.

 [ Test Suite ]
 - Eliminate some warnings and other noise from the test suite.
 - Rename some directories in the test suite to better reflect their

 [ Other ]
 - Added: Error::TypeTiny now has a `throw_cb` method which acts like
   `throw` but takes an initial callback parameter.
 - Added: Type::Params `compile`, `compile_named`, and `compile_named_oo`
   functions now support an `on_die` callback.
 - Eliminate warnings while generating deep explanations for type
   constraint check fails under some circumstances. (Mostly affects
   StrMatch when Regexp::Util isn't installed.)
   James Wright++

1.012005	2022-06-07

 [ Bug Fixes ]
 - Ensure coderefs returned by overload::Method are called with three
   parameters, as passing two parameters can break subs imlpemented in XS.
   Hugo van der Sanden++
 - Fix explanation message for NumRange/IntRange
 - Prevent stringification of Error::TypeTiny from clobbering $@.

 [ Documentation ]
 - Fix typos in documentation for wrap_methods from Type::Params.

1.012004	2021-07-29

 [ Documentation ]
 - Fixed typo in Types::Standard documentation where StrMatch regexp
   parameter didn't use qr// properly.
   Lucas Tiago de Moraes++

1.012003	2021-05-09

 [ Documentation ]
 - Fixed typo in Type::Tiny::Enum where the `closest_match` method was
   documented as being called `closet_match`.

 [ Other ]
 - Type::Parser now supports negative hexadecimal integers.

1.012002	2021-05-02

 [ Bug Fixes ]
 - Fix precendence error in generated code for Tuples.
   Philippe Bruhat++

 [ Documentation ]
 - Fixed typo in pod for Type::Tiny::Enum

 [ Test Suite ]
 - Fix testcase for Tuples with slurpy HashRef to pass a literal hashref
   (which should fail) instead of an arrayref (which should also fail, but
   less subtly).
   Philippe Bruhat++
 - Type::Tiny is no longer routinely tested on Perl versions older than

 [ Other ]
 - Type::Parser now supports hexadecimal integers.

1.012001	2021-01-10

 [ Test Suite ]
 - Extra test cases to improve coverage. (100% on Coveralls; 90% on
 - Hide warnings in Kavorka integration tests.

 [ Packaging ]
 - Move issue tracker from RT to Github Issues.
 - Stop hiding Type::Parser::Token, Type::Parser::TokenStream, and
   Type::Parser::AstBuilder from the CPAN indexer.

 [ Other ]
 - Much code tidying using perltidy and manually.
 - When generic validation objects (blessed objects with a `check` method)
   are converted to native Type::Tiny type constraints, no longer require
   them to provide a `get_message` method. This allows Type::Tiny to adopt
   Data::Constraint type constraints.

1.012000	2020-10-28

 [ Documentation ]
 - Update NEWS file.

1.011_011	2020-10-16

 [ Test Suite ]
 - Bugs in old versions of Return::Type prevent integration tests from
   passing on Perl 5.8.x; those tests now require Return::Type 0.007 or
 - More tests for Type::Coercion::FromMoose.

 [ Packaging ]
 - If the EXTENDED_TESTING environment variable is true, Perl 5.8.9 or
   above is being used, and either Type::Tiny's version contains '_' or
   testing is running on Travis CI, then Makefile.PL will add extra testing

 [ Other ]
 - Remove unnecessary BEGIN block in Eval::TypeTiny.

1.011_010	2020-10-16

 - Simple useful coercions from Str for Type::Tiny::Enum (and

1.011_009	2020-10-09

 [ Documentation ]
 - Add _ForeignTypeConstraint to AllTypes.pod.

 [ Test Suite ]
 - Add tests for _ForeignTypeConstraint.
 - Improve test coverage by adding tests for various esoteric parts of the
   distribution and edge cases.

 [ Other ]
 - More efficient use of Type::Tiny::XS by Types::TypeTiny.
 - Refactoring of Types::TypeTiny.
 - Where various parts of Type::Tiny internally use type constraints to
   check values, prefer is_* and assert_* functions over method calls.

1.011_008	2020-10-07

 [ Documentation ]
 - Some minor tidyups and updates to Type::Tiny::Manual.

 [ Test Suite ]
 - Better tests for the placeholder type constraints created by
   Type::Library -declare flag.
 - Test integration with Type::Nano as an example of a generic
   non-Type::Tiny type constraint class.
 - Test that $type->() works with subclasses that override the
   assert_return method.
 - Write tests for some internal undocumented methods.

 [ Other ]
 - Added: Type::Utils::assert() function.

1.011_007	2020-10-06

 [ Bug Fixes ]
 - ArgsObject inlining was closing over a coderef in a way that didn't work
   on archaic versions of Perl. Resolve by calling the coderef outside the

1.011_006	2020-10-02

 [ Documentation ]
 - Include JSONCapable type example.

 [ Test Suite ]
 - Improved test coverage for Type::Library.
 - Improved test coverage for Type::Params.
 - Improved test coverage for Type::Registry.
 - Improved test coverage for Type::Tiny::Union.
 - Improved tests for Type::Utils::is().
 - Various tests for garbage collection using Devel::Refcount.

 [ Other ]
 - Added: Type::Params now exports an ArgsObject type constraint.
 - Test::TypeTiny's should_pass and should_fail exercise type constraints
   in even more ways in EXTENDED_TESTING mode.

1.011_005	2020-09-30

 - Added: Type::Library import now supports -extends and -utils flags.
 - Type::Library -base import flag now marks the caller package as loaded
   in %INC.

1.011_004	2020-09-30

 [ Bug Fixes ]
 - Make predeclared type constraints work better for Zydeco.

 [ Documentation ]
 - Document that ArrayLike and HashLike are now parameterizable.

 [ Test Suite ]
 - Make test suite work better with App::Yath.

1.011_003	2020-09-25

 [ Bug Fixes ]
 - Old versions of Data::Dumper would sometimes die when dumping certain
   overloaded objects. Type::Tiny::_dd() now catches this in an eval {}.
 - Types::Standard would sometimes complain about very old versions of

 [ Other ]
 - ArrayLike and HashLike are now parameterizable, though the
   implementation for the parameterized version is in pure Perl, not XS.
 - Type::Tiny::Enum better caches regexps.
 - Updated: ArrayLike, HashLike, CodeLike, and StringLike type constraints
   can use XS if Type::Tiny::XS 0.022 is installed.

1.011_002	2020-09-22

 - Added: Type::Utils now exports an `is` function but it needs to be
   requested explicitly.

1.011_001	2020-09-21

 [ Documentation ]
 - Update the NEWS file.

 [ Other ]
 - Added: Add new list processing functions to Type::Tiny.

1.011_000	2020-09-15

 [ Documentation ]
 - Describe deficiencies of is_* functions for parameterized types.
   Fixes RT#132918.

 [ Other ]
 - Type::Tiny::Enum now generates faster regexps to validate enums. (Code
   stolen from Regexp::Trie.)

1.010006	2020-09-04

 [ Bug Fixes ]
 - Eliminate recusion warnings when Type::Parser needs to parse complex
   Fixes RT#121957.
   Diab Jerius++

 [ Other ]
 - Better handling of coercions for pre-declared types in Type::Library.
   The type objects created before the type was properly defined will now
   lazily attempt to find coercions from the properly defined type once it
   becomes available.

1.010005	2020-08-26

 - Improvements to $AvoidCallbacks support for
   Type::Tiny::{Class,Role,Duck,Enum,Union,Intersection}, and LaxNum, Ref,
   RegexpRef, FileHandle, Object, Overload, and Tied types from

1.010004	2020-08-18

 [ Bug Fixes ]
 - Fix XSifying Enum[] where the strings contain certain non-word
   Andrew Ruder++
 - Type::Params compile_named using both the head and named_to_list options
   would cause compilation error.
   Fixes RT#132419.
   Hauke D++
   Sandor Patocs++
 - Workaround RT#121957 by avoiding attempting to XSify Enum type
   constraints with more than 50 possible strings.
   Fixes RT#121957.
   Diab Jerius++

 [ Documentation ]
 - Link to HTTPS version of Type::Tiny web page.

1.010003	2020-08-08	The Crazy 88

 [ Bug Fixes ]
 - ClassName type constraint should treat empty @ISA as if no @ISA were
   defined, like Type::Tiny::XS.
   Fixes RT#132583.
   Szymon Nieznański++
 - Fix for Type::Tiny->can called as a class method.
   Meredith Howard++
 - Fix predeclared types in Type::Library.
   Meredith Howard++

 [ Documentation ]
 - Document some edge cases for Types::Standard Int.

1.010002	2020-05-01	Mayday

 [ Bug Fixes ]
 - Better bareword handling on Perl < 5.14.
   Fixes RT#132455.
   Graham Knop++
   Karen Etheridge++
 - If Scalar::Util was below 1.18, the LaxNum type from Types::Standard
   would accept blobs as being numbers. This is now fixed.
   Fixes RT#132426.
   Graham Knop++

1.010001	2020-03-16

 [ Documentation ]
 - MooX::Pression mentions in documentation now refer to Zydeco.

 [ Test Suite ]
 - Test suite passes in cperl, albeit with warnings.

1.010000	2020-02-19

 [ Documentation ]
 - Correct documentation of slurpy with compile_named.
   Fixes RT#131720.

 [ Packaging ]
 - Package as stable.

1.009_003	2020-02-11

 [ Bug Fixes ]
 - Fix importing multiple type libraries into a type registry at once.
   Fixes RT#131744.

 [ Documentation ]
 - Fix typo in documentation of `my_methods`.
   Philippe Bruhat++

1.009_002	2020-02-11

 [ Documentation ]
 - Mention MooX::Pression.

 [ Other ]
 - Added: Type::Params now supports `head` and `tail` options for
   `compile`, `compile_named`, and `compile_named_oo`.
 - Parameterized `Ref` type constraint in Types::Standard now checks its
   parameter is a known Perl ref type.
 - Type::Params on Perl older than 5.10 now uses its own B::perlstring
   implementation to quote strings instead of using B::cstring.

1.009_001	2020-02-06

 [ Test Suite ]
 - More tests for recursively defined type constraints.

 [ Other ]
 - Added: Type::Tiny::Enum now has an `as_regexp` method.
 - In some edge cases, the regexps used by Type::Tiny::Enum will now be
   slightly faster.

1.009_000	2020-02-04

 - Subclasses of Moose::Meta::TypeConstraint are now converted to the
   appropriate subclasses of Type::Tiny by Types::TypeTiny::to_TypeTiny,
   instead of always being converted to the base class. This improves
   inlining amongst other things.
 - When types are declared by Type::Library's -declare import parameter,
   the temporary subs installed can now generate placeholder type
   constraints which allow the types to be used in recursive type

1.008005	2020-01-30

 [ Test Suite ]
 - Remove some Perl 5.012+ syntax from test suite.

1.008004	2020-01-29

 [ Bug Fixes ]
 - When possible, inject `package Type::Tiny` in generated inline code that
   has an appropriate lexical scope to insert it into. This will (mostly)
   avoid inline code mistakenly using overridden versions of CORE::
 - to_TypeTiny will now cowardly refuse to inline Moose types if they have
   anything in their inline environment.

1.008003	2020-01-13

 [ Documentation ]
 - Update copyright dates to 2020.

 [ Packaging ]
 - Makefile.PL will now bail out on cperl if AUTOMATED_TESTING environment
   variable is set to true.

 [ Other ]
 - Added: Type::Registry can now have a parent registry.

1.008002	2020-01-11

 [ Bug Fixes ]
 - Fix bareword errors if certain Type::Tiny subclasses were loaded prior
   to Type::Tiny.
   Fixes RT#131401.

 [ Documentation ]
 - Fix typos.
   Hauke D++

 [ Other ]
 - Type::Tiny didn't accept string constraints for parameterizable type
   constraints; this was not a documented restriction and didn't seem to
   serve any purpose, so the restriction has been lifted.

1.008001	2019-12-28

 - Types::TypeTiny honours $Type::Tiny::AvoidCallbacks.
 - Types::TypeTiny now better mocks Type::Library, offering is_* and
   assert_* functions for export.
 - Use improved inline_assert when building the coderef for &{$type}

1.008000	2019-12-11

 [ Packaging ]
 - Repackage as stable.

1.007_015	2019-12-10

 [ Documentation ]
 - Minor formatting changes.
 - No longer suggest that Type::Tiny::Manual needs rewriting in

1.007_014	2019-12-10

 [ Documentation ]
 - Mostly formatting changes.

1.007_013	2019-12-10

 [ Documentation ]
 - Add links to homepage in pod.

 [ Packaging ]
 - Rebuild with newer RDF::DOAP.

1.007_012	2019-12-10

 [ Bug Fixes ]
 - Fix tr/// stuff on $Type::Tiny::VERSION.

 [ Documentation ]
 - Minor tweaks to Type::Tiny::Manual.

 [ Packaging ]
 - Metadata updates.

 [ Other ]
 - Updated: Type::Tiny will stop trying to use very old versions of
   Type::Tiny::XS. (It already recommended newer versions in META.json.)

1.007_011	2019-12-09

 [ Documentation ]
 - Make the Moo parts of the manual use less Moo-specific syntax, so it is
   more applicable to Moose and Mouse.
 - Rewrite Type::Tiny::Manual::Coercions.

1.007_010	2019-12-08

 [ Bug Fixes ]
 - Avoid undef warnings from Type::Tiny::_failed_check when the type has
   become undefined before the error message can be generated.

 [ Test Suite ]
 - Minor improvements to the test suite.

1.007_009	2019-12-06

 [ Documentation ]
 - Document some undocumented files in the test suite.

 [ Other ]
 - Obscure changes to Error::TypeTiny::Assertion.
 - Type::Tiny's inline_assert method has been overhauled.

1.007_008	2019-12-05

 [ Documentation ]
 - Expand per-type tests of bundled type libraries.
 - More work on the Type::Tiny manual.

1.007_007	2019-12-03

 [ Documentation ]
 - Expand per-type tests of bundled type libraries.
 - More work on the Type::Tiny manual.

1.007_006	2019-12-02

 [ Documentation ]
 - Expand per-type tests of bundled type libraries.

1.007_005	2019-12-01

 [ Bug Fixes ]
 - Fixes for inlining Tuples which have a combination of Optional and
   slurpy slots.

 [ Documentation ]
 - Expand per-type tests of bundled type libraries.

 [ Other ]
 - Improvements to deep coercions for Tuples.

1.007_004	2019-11-30

 [ Bug Fixes ]
 - Fixes for some edge cases in the overidden `can` method on old Perl
   5.8.x versions for types with the secret `is_object` parameter set to
   true. (There were problems in 5.8.1 but 5.8.9 was okay; not sure the
   exact version where the delta was that affected it. Either way, fixed

 [ Documentation ]
 - Expand per-type tests of bundled type libraries.

 [ Test Suite ]
 - Clean up some warnings and stuff from test output.

 [ Other ]
 - Improvements to $AvoidCallbacks support for Types::Standard::Maybe.

1.007_003	2019-11-27

 [ Documentation ]
 - Expand per-type tests of bundled type libraries.
 - More work on the Type::Tiny manual.

1.007_002	2019-11-26

 [ Documentation ]
 - Expand per-type tests of bundled type libraries.
 - Fix various documentation typos.
 - Improve Type::Params SYNOPSIS.
 - Improve Type::Tiny SYNOPSIS.
 - More work on the Type::Tiny manual.
 - Move CONTRIBUTING.pod into the manual.
 - Types::Standard now has a SYNOPSIS.

 [ Other ]
 - (~Types::Standard::Any)->name is now 'None'
 - Control over whether types are allowed to make callbacks in inlined code
   is now via a package variable instead of an environment variable and can
   be toggled at runtime.

1.007_001	2019-11-23

 [ Bug Fixes ]
 - ClassName/RoleName no longer accepts a glob.
 - Fix the 'my variable $base masks earlier declaration' warning caused by
 - The `Tied` type no longer assumes that any reference which isn't a HASH
   or ARRAY must be a SCALAR.

 [ Documentation ]
 - Add a huge amount of tests for the built-in type constraints, intended
   as documentation as well as tests.
 - Complete rewrite of the Type::Tiny manual.

 [ Other ]
 - Added: The `extends` function is now able to extend Specio::Exporter
 - Added: Type::Params now has `wrap_subs` and `wrap_methods` functions.
 - Returning a list of strings from an inlining coderef is now officially
   supported and no longer experimental.
 - Type::Tiny::XS integration is now officially supported and no longer

1.007_000	2019-11-17

 [ Bug Fixes ]
 - Strip underscores in version numbers for dev releases.
   Fixes RT#125839.
 - Type::Params will now keep a reference to all type constraints passed to
   it; this may use more memory in some cases, but will improve exceptions
   Fixes RT#121763.
 - Type::Tiny better mimics the Moose::Meta::TypeConstraint::Parameterized
   API, adding `parameterized_from` and `has_parameterized_from` methods.
   Fixes RT#114915.
 - Type::Tiny::Enum will now avoid triggering a Type::Tiny::XS bug
   involving hyphens in strings.
   Fixes RT#129729.
 - When extending a MooseX::Types library, be more careful checking to see
   if types have coercions, because a Moose::Meta::TypeCoercion object may
   be an empty list of coercions.
   Fixes RT#102748.

 [ Test Suite ]
 - Add a test that Specio type constraints can be converted to Type::Tiny
   types, and inlining works.
 - Bundle some tests for Types::ReadOnly because it does interesting stuff
   with coercions and parameterizable types.
 - Bundle test from RT#104154, which turned out to not be a bug.
 - More tests for extending MooseX::Types libraries.

 [ Packaging ]
 - Dropped the TODO file from the repo and distribution because it was
   mostly out of date. Use RT instead.

 [ Other ]
 - Added: Many type constraints now support `stringifies_to`,
   `numifies_to`, and `with_attribute_values` methods. Type::Tiny 1.006000
   accidentally included an undocumented early implementation of these with
   some differences.
 - Added: Provide a control over whether types are allowed to make
   callbacks in inlined code.
 - Added: Type::Tiny::ConstrainedObject exists as a superclass for
   Type::Tiny::Class, Type::Tiny::Role, and Type::Tiny::Duck.
 - Added: When Types::TypesTiny::to_TypeTiny converts a Moose/Mouse type to
   a Type::Tiny type, the returned type will now be parameterizable if they
   original type was parameterizable.
 - Added: When importing type constraints from non-Moose/non-Mouse blessed
   type constraint systems (Specio, Types::Nano, others?), support
 - Smarter caching and reuse of parameterized types.

1.006000	2019-11-12

 [ Documentation ]
 - Links to Type::Tiny on GitHub/Travis/AppVeyor/Coveralls in Type::Tiny
 - Minor correction to POD header for Type::Params
   Jonas B Nielsen++
 - Types::Standard documentation fix.
   Lucas Buchala++

 [ Test Suite ]
 - Improve test coverage.

 [ Packaging ]
 - Bump minimum required version of Exporter::Tiny to 1.000000.
 - Type::Tiny::XS 0.016 is recommended.

 [ Other ]
 - Added: Type::Library now supports `of` and `where` options when
   importing type constraints.
 - Added: Type::Params multisig function now supports custom error
   Benct Philip Jonsson++
 - Added: Type::Params named_to_list feature.
 - Added: Type::Params signatures with slurpy hashrefs now allow true
   hashrefs to be passed to them.
 - Added: Type::Tiny::Enum now has a `unique_values` method.
 - Added: Types::Standard ArrayRef parameterized type can now take a second
   parameter, the minimum array length.
 - Better implementation of is_subtype_of/is_supertype_of and related
 - Don't use Int from Type::Tiny::XS unless version 0.016 is available.
 - Eliminate memory cycles created by coderef overloading in Type::Tiny and
   Fixes RT#130823.
   Ivanov Anton++
 - Eval::TypeTiny's API is now considered to be stable.
 - Fix Types::Standard's LazyLoad implementation.
 - The `values` attribute of Type::Tiny::Enum now preserves order.
   Fixes RT#129650.
   Daniel Schröer++
 - Tidy up Type::Tiny namespace a little by fully-referencing some
   functions instead of importing them.
 - Tweaks to Type::Tiny and Type::Coercion to avoid unnecessarily loading
   overload.pm and overloading.pm.
 - Types::TypeTiny::TypeTiny->has_coercion is now true.

1.005_004	2019-11-11

1.005_003	2019-02-26

1.005_002	2019-01-29

1.005_001	2019-01-23

1.005_000	2019-01-20

1.004004	2019-01-08

 [ Bug Fixes ]
 - Depend on Exporter::Tiny 0.040; older versions don't provide all the
   functions Type::Library needs.

1.004003	2019-01-08

 [ Bug Fixes ]
 - Fix spelling in error message for Types::Common::String
   Robert Rothenberg++

 [ Documentation ]
 - Fix Type::Params documentation error.
   Nelo Onyiah++
 - Fix Types::Standard documentation error: incorrect third-party module
   Nelo Onyiah++

1.004002	2018-07-29

 [ Bug Fixes ]
 - Skip one particular test on old versions of Moo because it relies on a
   feature introduced in Moo 1.004000.
   Fixes RT#125948.

1.004001	2018-07-28

 [ Bug Fixes ]
 - Add Eval::TypeTiny::Sandbox to the list of packages which should be
   skipped as internal by Error::TypeTiny, as it was mistakenly removed in
   Fixes RT#125942.

 [ Documentation ]
 - Correct release date of 1.004000 in change log.

1.004000	2018-07-27

 [ Documentation ]
 - Update NEWS.
 - Update TODO.

 [ Packaging ]
 - Repackage as a stable release. No functional changes since 1.003_010.

1.003_010	2018-07-25

 [ Test Suite ]
 - Improve test coverage for Type::Utils, Type::Coercion,
   Types::Standard::Tuple, Eval::TypeTiny, Type::Registry,
   Type::Tiny::Class, and Types::Standard::Tied.

1.003_009	2018-07-24

 [ Documentation ]
 - Better documentation of parameterization API.

 [ Test Suite ]
 - Improve testing of Test::TypeTiny itself; the matchfor() function in
 - Test bad parameters to NumRange and IntRange.
 - Test late loading of Sub::Quote.

 [ Other ]
 - Types::Standard::Defined->complementary_type will now return
   Types::Standard::Undef, and vice versa.

1.003_008	2018-07-16

 - Make Error::TypeTiny aware of some newer internal modules.

 [ Bug Fixes ]
 - Fix error messages generating deep explanations of some parameterized
   Fixes RT#125765.
   KB Jørgensen++

 [ Test Suite ]
 - Improve test coverage.
 - Test Type::Utils' match_on_type's support for wantarray on strings of

 [ Other ]
 - Improve processing of parameters to Types::Standard's parameterized type
 - Simplify how Type::Registry generates the `t()` function.
 - Split out some code from Types::Standard into autoloaded modules to
   speed up loading.
 - Types::Common::Numeric's IntRange and NumRange do better checking of
 - Types::Common::String's StrLength does better checking of parameters.

1.003_007	2018-07-12

 [ Test Suite ]
 - Add tests for deep coercions in Tuples.
 - Better tests for Eval::TypeTiny's implementations of alias=>1.
 - Improve coverage.
 - Restructure Types::TypeTiny test cases so more of them run when Moose
   and Mouse aren't available.

 [ Other ]
 - Added: Eval::TypeTiny now supports PadWalker as a fallback
   implementation of alias => 1.
 - Added: Eval::TypeTiny provides a collection of constants to indicate the
   current implementation of alias => 1.
 - Eval::TypeTiny will now throw errors when it detects a mismatch between
   sigils and reference types in the environment hashref but only if
   EXTENDED_TESTING environment variable is true. Perl will probably give
   you its own error message for this later on anyway.
 - Improve progressive exporter in Types::TypeTiny to avoid loading
   Exporter::TypeTiny more often.
 - Removed: Eval::TypeTiny::HAS_LEXICAL_VARS constant is no longer
   documented and will be removed at a later date.
 - Types::Standard does better at checking the parameters of parameterized
   types are valid.
 - Updated: Eval::TypeTiny now supports Perl 5.22 refaliasing as the
   preferred implementation of alias => 1.

1.003_006	2018-07-08

 [ Bug Fixes ]
 - Fix issues with arrayref and hashref defaults in Type::Params.
 - Workaround for Regexp-based check for Int clobbering $1 sometimes (this
   will sometimes slow down Int checks a little, but is needed for
   Fixes RT#125132.

 [ Documentation ]
 - Better documentation of environment variables.
 - Type::Params caller_level option is now documented.

 [ Test Suite ]
 - Improve coverage.

 [ Other ]
 - Added: PERL_TYPE_PARAMS_XS environment variable.
 - Added: Type::Params compile/compile_named now have subname and
   description options.

1.003_005	2018-07-05

 [ Documentation ]
 - Type::Tiny::Manual::Coercions improvements.
   Fixes RT#122305.

 [ Other ]
 - Added: Allow type libraries to mark certain type constraints as
   Fixes RT#124728.

1.003_004	2018-06-12

 [ Bug Fixes ]
 - Load modules with `use` instead of `require` in 00-begin.t.
   Fixes RT#124067.
   Andreas J König++
   Slaven Rezić++

1.003_003	2018-06-10

 - Bool (Types::Standard) is stricter, no longer allowing blessed objects
   that overload stringification because that's weird.

 [ Other ]
 - Added: Bool now allows coercion from Any.

1.003_002	2018-05-28

 - Added: Types::Common::Numeric now has NumRange and IntRange types.
 - Added: Types::Common::String now has a StrLength type.

1.003_001	2018-05-22

 [ Test Suite ]
 - Tests for coercions to CycleTuple from Types::Standard with
   non-inlineable type constraints.

 [ Other ]
 - Don't use Type::Tiny::XS's implementation of Bool in Types::Standard
   unless Type::Tiny::XS >= 0.014.
 - Looser definition of FileHandle in Types::Standard.
   Fixes RT#121762.

1.003_000	2018-05-20

 [ Bug Fixes ]
 - Compatibility with constants and with CV-in-stash optimisation.
   Fixes RT#123408.

 [ Documentation ]
 - Add a new CONTRIBUTING.pod file.
 - Document Type::Library's :coercion export tag.
   Diab Jerius++
 - Fix typo.
   Philippe Bruhat++
 - Improvements to Type::Params documentation.

 [ Test Suite ]
 - Skip t/30-integration/Moose/native-attribute-traits.t on older Moose
   because Test::Moose is broken.

 [ Packaging ]
 - Ref::Util::XS 0.100 should be recommended, not 0.200 (which doesn't
   exist yet).
   Fixes RT#121981.

 [ Other ]
 - Added: Allow Type::Coercion's add_type_coercion to accept a
   Type::Coercion object, which was already documented as working.
   Diab Jerius++
 - Added: Type::Params compile_named now supports bless/class/constructor
 - Added: Type::Params now exports a compile_named_oo function which
   returns a parameters object.
 - Added: Type::Params now supports parameter defaults.
 - Don't use Type::Tiny::XS's implementation of PositiveInt in
   Types::Common::Numeric unless Type::Tiny::XS >= 0.013.

1.002001	2017-06-08

 [ Test Suite ]
 - Skip t/30-integration/Moose/native-attribute-traits.t on older Moose
   because Test::Moose is broken.

 [ Packaging ]
 - Ref::Util::XS 0.100 should be recommended, not 0.200 (which doesn't
   exist yet).
   Fixes RT#121981.

1.002000	2017-06-01

 [ Packaging ]
 - Stable version number.

1.001_016	2017-05-30

 [ Documentation ]
 - Include page-numbers.pl example

1.001_015	2017-05-20

 [ Bug Fixes ]
 - Fix HashRef[Str]|Undef|Str parsing on Perl < 5.14.
   Fixes RT#121764.
   Aran Clary Deltac++
   Graham Knop++

1.001_014	2017-05-19

 - Include trailing line break at the end of stringified version of some
   Peter Valdemar Mørch++

1.001_013	2017-05-18	Kittiversary

 [ Bug Fixes ]
 - Fixed crazy amount of UTF-8 warnings from Type::Params on Perl 5.6.x and
   Perl 5.8.x.
   Fixes RT#101582.
   André Walker++
 - StrMatch changes in previous release broke the ability to check type
   equality between two parameterized StrMatch types under some
   circumstances. Changed how the hash key for stashing regexp references
   gets built — is now closer to the old way. This doesn't revert the
   change in 1.001_012 where regexp checks can be inlined better, but only
   applies to those regexp references that can't easily be inlined.

1.001_012	2017-05-17

 - RegexpRef now accepts blessed objects if $object->isa('Regexp') returns

 [ Other ]
 - StrMatch will use Regexp::Util (if available) to inline regular
   expressions more sensibly.

1.001_011	2017-05-17

 [ Bug Fixes ]
 - Type constraints like Tuple[Int] shouldn't report they have a coercion
   if Int doesn't have a coercion.

 [ Other ]
 - Added: Types::Standard now has a CycleTuple type.

1.001_010	2017-05-16	Puppiversary

 [ Test Suite ]
 - t/00-begin.t will now work around ANDK's apparently broken XS testing

1.001_009	2017-05-13

 - Rewrite some benchmarking scripts to use
 - Use Ref::Util::XS (if it's installed) to speed up certain type checks.

1.001_008	2017-05-10

 [ Bug Fixes ]
 - Type::Params should make sure Type::Utils is loaded before calling

 [ Documentation ]
 - Rearrange the examples directory in the distribution.

 [ Other ]
 - Added: Named parameter validation benchmarking script.
 - Added: Reduce scope of local $SIG{__DIE__} in Type::Registry.
   Graham Knop++

1.001_007	2017-05-04	May the fourth be with you

 [ Documentation ]
 - Comparison of Type::Params with new(ish) CPAN module
 - Show example of how to set defaults for parameters with Type::Params.

 [ Other ]
 - Added: Type::Params' `multisig` function now sets a variable
   `${^TYPE_PARAMS_MULTISIG}` to indicate which signature succeeded.
 - Optimization of Type::Params positional parameter checking for simple
   cases with no slurpy parameter and no coercions.
 - Optimizations for Tuple and StrMatch type constraints from

1.001_006	2017-04-30

 - Allow Type::Tiny's `constraint` parameter to be a string of Perl code.
 - Localize $SIG{__DIE__} in Type::Registry.
   Fixes RT#100780.

1.001_005	2017-04-19

 [ Bug Fixes ]
 - 02-api.t should check version of Moose available.
 - 20-unit/Type-Utils/warnings.t should check version of Test::Warnings.
   Alexandr Ciornii++
 - Fix minor typos in documentation for Types::Standard.
   Zoffix Znet++
 - Fix variable name typo in documentation for Type::Params.
   Lucas Buchala++

 [ Documentation ]
 - Include projected release date for Type::Tiny 1.002000 in NEWS.

 [ Test Suite ]
 - Bundle a test case for GH issue 14.

 [ Other ]
 - Improved error location reporting for Moo
   Peter Valdemar Mørch++
 - Updated: NumericCode now coerces from strings with whitespace in them,
   like MooseX::Types::Common::Numeric.
   Denis Ibaev++

1.001_004	2017-02-06

 - Attempting ArrayRef[Int, Int] or similar now throws an exception.
   Fixes RT#105299.
   Thomas Sibley++

1.001_003	2017-02-02

 - Updated: Merge fixes from stable Type-Tiny 1.000006.

1.001_002	2014-10-25

 [ Bug Fixes ]
 - Fix short-circuiting optimizations for parameterized HashRef, ArrayRef,
   ScalarRef, and Map type constraints.
   Fixes RT#99312.
   Marcel Timmerman++
 - Inlined version of Types::Standard::Int should check that the value is
   not a reference.

 [ Test Suite ]
 - Fix annoying warning message in test suite with recent versions of

 [ Other ]
 - Make equals/is_a_type_of/is_subtype_of/is_supertype_of in
   Type::Tiny::Union work more like Moose::Meta::TypeConstraint::Union.

1.001_001	2014-09-19

 - Lazy-load Text::Balanced in Type::Parser. (Many parses don't even need
 - Lazy-load Type::Tiny::Union in Type::Params.
 - Updated: Prefer Sub::Util over Sub::Name. (The former is smaller.)

1.001_000	2014-09-07

 [ Bug Fixes ]
 - Fix for Type::Registry::DWIM.
   Fixes RT#98458.
   Marcel Montes++
 - Fix issues with coercions and native attribute traits with some oldish
   versions of Moose on oldish versions of Perl.
   Fixes RT#98159.
   Peter Flanigan++

 [ Documentation ]
 - Updated NEWS file.
 - Updated TODO file.
 - Updates to Type::Tiny::Manual::UsingWithMoose,
   Type::Tiny::Manual::UsingWithMoo, and

 [ Test Suite ]
 - Make some of the test case skip_all bits more ambitious; test older
   versions of Moose and Moo than we were testing before.

 [ Other ]
 - Added: Type::Params now provides `compile_named` and `validate_named`
   functions which do the same thing as `compile` and `validate` but are
   better for named arguments.
 - Updated: If Sub::Name is unavailable, but the shiny new core Sub::Util
   is available, then use it instead.
 - Updated: Want Type::Tiny::XS 0.011.
 - `Type::Utils::dwim_type` now allows more control over fallback

1.000006	2017-01-30

 [ Bug Fixes ]
 - Fix escaping within q{...} in a test case.
   Fixes RT#114386.
   Karen Etheridge++

1.000005	2014-10-25

 [ Bug Fixes ]
 - Fix short-circuiting optimizations for parameterized HashRef, ArrayRef,
   ScalarRef, and Map type constraints.
   Fixes RT#99312.
   Marcel Timmerman++

 [ Test Suite ]
 - Fix annoying warning message in test suite with recent versions of

1.000004	2014-09-02

 [ Bug Fixes ]
 - Fix for Type::Registry::DWIM.
   Fixes RT#98458.
   Marcel Montes++
 - Fix issues with coercions and native attribute traits with some oldish
   versions of Moose on oldish versions of Perl.
   Fixes RT#98159.
   Peter Flanigan++

1.000003	2014-08-28

 [ Bug Fixes ]
 - Fix for coercions to parameterized Dict including a mixture of
   inlineable and non-inlineable optional values.
   Fixes RT#98362.
   Gianni Ceccarelli++

1.000002	2014-08-18

 [ Bug Fixes ]
 - Fix for overloaded operation fallback on Perl 5.10.x.
   Fixes RT#98113.
   Dagfinn Ilmari Mannsåker++
   Peter Flanigan++

1.000001	2014-08-18

 [ Bug Fixes ]
 - Changes to dwim_type() in 0.047_09 broke the fallback to creating class
   types in some circumstances. This broke the MooX::late test suite, and
   some usages of MooX::late.
   Shlomi Fish++

1.000000	2014-08-16	Happy CPAN Day!

 [ Documentation ]
 - Document the Type::Tiny versioning policy.
 - Updated NEWS file.
 - Updated TODO file.

0.047_09	2014-08-12

 [ Bug Fixes ]
 - Fix documentation typo.
   Benct Philip Jonsson++

 [ Documentation ]
 - Improvements and clarifications to Type::Coercion documentation.

 [ Test Suite ]
 - Add tests for Error::TypeTiny::Assertion's predicate methods.
 - Add tests for Type::Coercion's i_really_want_to_unfreeze method.

 [ Other ]
 - Better integration between Type::Library and Type::Registry. If you
   import a type constraint from a Type::Library-based module, it will
   automatically be inserted into your modules' type registry.
 - The to_Foo functions exported by Type::Library-based modules are now
   significantly faster. (But only if the type's coercion is frozen.)
 - Type::Utils::dwim_type now takes into account what OO framework the
   caller is using (Moose or Mouse) if it needs to fall back to asking the
   OO framework about a type constraint.

0.047_08	2014-08-05	Sanity++

 [ Bug Fixes ]
 - Fix non-inlined version of NegativeOrZeroInt.

 [ Documentation ]
 - Document the remaining RT#93345-related issues - see "Deep Caveat" in

 [ Test Suite ]
 - Alter the Types::Common::* test cases to use Test::TypeTiny.
 - Test to avoid the "too few arguments for type constraint check
   functions" error.
   Diab Jerius++
 - Update t/30-integration/Moose/coercion.t to Moose 2.1200 which throws an
   exception rather than printing a warning when coerce=>1 is used on a
   type constraint with no coercions.

 [ Other ]
 - Prevent inlining of coercions if they've not been frozen.

0.047_07	2014-08-04

 [ Bug Fixes ]
 - The extract_type function was missing from Type::Parser's @EXPORT_OK

 [ Test Suite ]
 - Test cases for Type::Parser::extract_type.

 [ Other ]
 - Parameterized Maybe constraints are now XS-accelerated.

0.047_06	2014-07-31	What made the Queen go all ice crazy?

 [ Bug Fixes ]
 - Bugfix in coercion inheritance where the child's type_coercion_map
   arrayref would end up as a reference to the parent's type_coercion_map.
   (Which was not good.)

 [ Test Suite ]
 - More Type::Registry test cases.

 [ Other ]
 - Added: Type::Coercion now has a i_really_want_to_unfreeze method.
 - Added: Type::Library now has a make_immutable method.
 - Coercions for the types defined in Types::Common::Numeric are now
 - Coercions for the types defined in Types::Common::String are now frozen.
 - Coercions for the types defined in Types::Standard are now frozen.
 - Parameterized types now have their coercions frozen automatically, so
   you can no longer add coercions to, say, ArrayRef[Int]. However, you can
   create a subtype of ArrayRef[Int] and add coercions to that.
   Michael G Schwern++
 - Type::Registry now has methods for creating
   union/intersection/class/role type constraints. Type::Parser delegates
   to these, making it potentially reusable outside Type::Tiny by simply
   passing it an alternative type registry object.
 - Type::Registry/Type::Parser will now auto-load MouseX::Types libraries.

0.047_05	2014-07-29	Sanity++

 - Introduced bug concerning coercions to parameterized Dicts with a
   mixture of inlineable and non-inlineable optional values.

 [ Documentation ]
 - Improve the documentation of Optional[] and slurpy.

 [ Other ]
 - A far saner implementation of Optional[].
 - A slightly saner implementation of Types::TypeTiny's meta methods.
 - Optimizations for slurpy Any.
 - When slurping the tail of a Tuple into a hashref, check it's an even
   number of elements.

0.047_04	2014-07-28	The 98% Coverage Release

 [ 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
 - 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
 - Type:Utils::match_on_type no longer automatically loads Types::Standard.

0.047_03	2014-07-26	The 96% Coverage Release

 [ 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

 [ 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
 - Test the immutability of Type::Coercion::Union.
 - Tests for `isa`.
 - Tests for non-inlineable type constraints in `match_on_type` and
 - Tests for various little methods which were added for

 [ Packaging ]
 - Bundle my TODO file.

 [ Other ]
 - Better `isa` faking - returns true to Class::MOP::Object.

0.047_02	2014-07-23	The 92% Coverage Release

 [ 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.
 - 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.
 - Type::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.
 - Type::Tiny::Union is now XS-accelerated.

0.047_01	2014-07-21	The 87% Coverage Release

 [ 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.
 - Types::Common::Numeric::PositiveInt is now XS-accelerated.
 - Types::Common::Numeric::PositiveOrZeroInt is now XS-accelerated.
 - Types::Common::String::NonEmptyStr is now XS-accelerated.
 - Types::Standard::Map is now XS-accelerated.
 - Types::Standard::Tuple is now XS-accelerated.
 - Unify _USE_XS/_USE_MOUSE logic in Type::Tiny. (It was previously
   scattered across Types::Standard and various other modules.)

0.046	2014-07-18

 [ Bug Fixes ]
 - Fix for Types::TypeTiny::to_TypeTiny($coderef) when Sub::Quote is loaded
   but not used.
 - Undef no longer passes the Types::TypeTiny::StringLike type constraint.

 [ Test Suite ]
 - Add test cases for Types::TypeTiny (the library of type constraints used
   internally by Type::Tiny).

 [ Other ]
 - Minor optimizations to Types::TypeTiny::to_TypeTiny.

0.045_05	2014-07-18

 [ Bug Fixes ]
 - More sensible use of Sub::Name in Type::Library.

 [ Documentation ]
 - Added a Type::Tiny::Manual::Optimization perldoc page.

 [ Other ]
 - Added: Type::Tiny now has a `where` method which is a shortcut for
   creating a child type with a constraint coderef.
 - Added: Type::Tiny now has an `of` method which is a shortcut for
   `parameterize` which I can never spell properly.
 - Restore and improve Mouse XS stuff dropped in Type-Tiny 0.045_03.

0.045_04	2014-07-15

 [ Bug Fixes ]
 - Type::Params was warning about additional arguments passed to sprintf
   under Perl blead. The additional argument has been removed.

 [ Documentation ]
 - Updated NEWS file.

 [ Test Suite ]
 - Cope with changes to Type::Tie error messages introduced in Type::Tie
 - Fix warnings in 30-integration/Moose/native-attribute-traits.t when run
   under perl -w.
   Peter Karman++
 - Generally stop testing the contents of error messages produced by
   external modules!

0.045_03	2014-07-11

 - The Mouse XS stuff introduced in Type-Tiny 0.003_09 has been partially
   removed. (I do plan on restoring it, and improving it.)

 [ Documentation ]
 - Update benchmark scripts, showing results with/without Type::Tiny::XS.

 [ Test Suite ]
 - When testing equivalence between Types::Standard types and core Moose
   types, don't test `Num` because Types::Standard provides two different
   implementations for it.

 [ Other ]
 - Type::Tiny::XS is now used (if available) to speed up some of the
   Types::Standard type constraints, plus Type::Tiny::Class and

0.045_02	2014-07-10

 [ Bug Fixes ]
 - Remove outdated references to the overloaded + operator from
   Types::Standard documentation.
   Fixes RT#96379.
   Diab Jerius++

 [ Documentation ]
 - Include benchmark/example of Type::Params versus Scalar::Validation.

0.045_01	2014-06-30

 [ Bug Fixes ]
 - Ensure that when a Type::Tiny object is inflated into a
   Moose::Meta::TypeConstraint, inlining still happens via Type::Tiny.
 - Workaround strange behaviour of exists() function when applied to @_ on
   Perl older than 5.20 which caused some uses of Optional[Foo] to accept
   an explicit undef.
   Caleb Cushing++

0.044	2014-06-03

 [ Documentation ]
 - Updated NEWS file.

0.043_05	2014-05-21

 [ Bug Fixes ]
 - Fix inflation of Type::Coercion objects to Moose::Meta::TypeCoercion
   when some of the coercion routines are given as strings.

 [ Documentation ]
 - Document the is_*, to_*, and assert_* functions in
   Alexander Hartmaier++
 - Mention coercion=>1 and why it is useful in
   Alexander Hartmaier++

 [ Test Suite ]
 - Integration tests for MooseX::Getopt.
   Alexander Hartmaier++

 [ Other ]
 - Detect missing comma in declaration of type constraints using
   Type::Utils a la `declare Foo as Bar`, and print a warning.
   Tim Bunce++
 - No longer need to inflate a Type::Tiny object to
   Moose::Meta::TypeConstraint in order to give an answer to

0.043_04	2014-05-21

 [ Test Suite ]
 - Improve test cases for integration with Moose native attribute traits.

0.043_03	2014-05-06

 [ Documentation ]
 - Rename Types::Datetime to Example::Types because there is now really a
   Types::DateTime on CPAN.
 - Type::Tiny::Manual::Libraries add example of using the custom types
   Peter Karman++

 [ Test Suite ]
 - Add some test cases for the Error::TypeTiny class.
 - Improve Eval::TypeTiny test cases.
 - Tests for Type::Library error messages.

 [ Packaging ]
 - Updated bundled version of Try::Tiny.

 [ Other ]
 - Added: Extremely experimental and mostly undocumented my_method stuff.
 - Added: Type::Utils::classifier

0.043_02	2014-04-11

 - Added: Experimental my_methods attribute so that type constraints can
   offer additional methods.
 - Added: Type::Tiny now has a find_parent method.

0.043_01	2014-04-06

 - Sub::Quote quoted coderefs passed to to_TypeTiny() now result in
   inlinable type constraints.

0.042	2014-04-02

 [ Documentation ]
 - Include more recent results in benchmarking example scripts.
 - List currently unstable/experimental parts of the distribution in

0.041_04	2014-03-31

 [ Test Suite ]
 - Add tests for given/when matching against type constraints.

0.041_03	2014-03-28

 [ Documentation ]
 - Improve documentation for the Type::Coercion class; especially its
   constructors, attributes and methods.
 - Improve documentation for the Type::Tiny class; especially its
   constructor, attributes and methods.

0.041_02	2014-03-26

 [ Bug Fixes ]
 - Fix Type::Tiny::Duck's inlining of code when given the variable name
   Fixes RT#94196.
   Diab Jerius++

 [ Documentation ]
 - Type::Tiny::Manual links to various parts of the test suite to document
   concepts. These links had grown stale and have now been updated.
 - Updated NEWS file.

 [ Test Suite ]
 - Prevent 20-unit/Type-Registry/moosextypes.t from failing due to too old
   MooseX::Types::Common - just skip the test script if MXTC is older than

0.041_01	2014-03-17

 - Type::Tiny and Type::Coercion no longer overload addition. This feature
   never really worked very well with regard to precendence, requiring lot
   of parentheses to use. The overload also made solving the
   parameterizable type coercion problem very difficult.

 [ Other ]
 - Parameterizable coercions are now passed a reference to the type
   constraint they should target.

0.040	2014-03-17

 [ Documentation ]
 - Refreshed SEE ALSO section of Type::Tiny::Manual::Libraries.
 - Updated NEWS file.

0.039_13	2014-03-15

 [ Bug Fixes ]
 - Fix occasional segfaults on threaded Perl 5.18.x.
   Graham Knop++

 [ Test Suite ]
 - Test for occasional segfaults on threaded Perl 5.18.x.
   Graham Knop++

0.039_12	2014-03-12

 [ Bug Fixes ]
 - Various Type::Utils functions were trying to dereference undef as a hash
   or array in certain circumstances.
   Matt Phillips++

 [ Other ]
 - Type::Utils' class_type and role_type functions will $name =~ s/:://g.
   Matt Phillips++

0.039_11	2014-03-11

 [ Test Suite ]
 - Because of changes to Data::Dumper in Perl 5.19.x, the test suite was
   previously skipping some Dumper-based test cases depending on Perl
   version. However, Dumper is dual-lifed, so older versions of Perl may
   have shiny, new Dumpers. Skip test cases based on Data::Dumper version

0.039_10	2014-03-10

 [ Documentation ]
 - Document the benefits of freezing coercions, and of defining coercions
   either within the type library, or via $type->plus_coercions.

 [ Other ]
 - $type->plus_coercions and friends now return objects with frozen

0.039_09	2014-02-25

 [ Documentation ]
 - Update Type::Tiny::Manual::Params to mention Kavorka, and newer features
   of Function::Parameters.

 [ Test Suite ]
 - Test integration with Moops.
 - Test integration with Switcheroo.
 - Test that coercions attached to Moose type constraints get inherited by
   Type::Tiny when they are inhaled.
 - Unit tests for Devel::TypeTiny::Perl56Compat.
 - Unit tests for Devel::TypeTiny::Perl58Compat.

0.039_08	2014-02-24

 [ Test Suite ]
 - Test integration with Kavorka.

0.039_07	2014-02-17

 [ Bug Fixes ]
 - Fix hash ordering bug in Return::Type integration tests.

0.039_06	2014-02-17

 [ Bug Fixes ]
 - Type::Tiny's SUPPORT_SMARTMATCH constant was broken; fixed now.
 - Type::Tiny's TIEARRAY and TIEHASH methods were broken; fixed now.

 [ Test Suite ]
 - Enable some old tests that had been disabled as not-yet-implemented for
   parameterized type constraints; the feature they test was implemented
   ages ago.
 - Test integration with Return::Type.
 - Test integration with Type::Tie.
 - Test integration with match::simple.

0.039_05	2014-02-15

 - Apply the Type::Tiny::_HalfOp trick to overloaded addition too.

0.039_04	2014-02-05

 - Make overloaded ops on parameterized type constraints work more
   consistently between Perl above and below 5.14, reducing the need for
   parenthesizing complex type constraint expresssions.
   Graham Knop++

0.039_03	2014-02-05

 [ Bug Fixes ]
 - Make Type::Utils::declare_coercion work outside type libraries.
   Fixes RT#92591.
   Diab Jerius++
 - Weak reference from Type::Coercion objects to target type constraint
   caused bad behaviour in some cases. This has been fixed by retaining
   enough information within the Type::Coercion to be able to reconstruct
   its type constraint if it disappears due to the reference count falling
   to zero.
   Fixes RT#92571.
   Diab Jerius++

0.039_02	2014-01-25

 [ Test Suite ]
 - Add tests for Test::TypeTiny.

0.039_01	2014-01-21

 [ Documentation ]
 - The preferred IRC channel for support is now #moops.

 [ Test Suite ]
 - Restructure the 't' directory.

 [ Other ]
 - Removed: Exporter::TypeTiny.

0.038	2014-01-01

 [ Documentation ]
 - Copyright 2014.
 - Updated NEWS file.

0.037_03	2013-12-30

 [ Bug Fixes ]
 - Fix problems with Moo::HandleMoose integration on threaded Perls.
   Graham Knop++
   Kevin Dawson++
   Matt S Trout++

 [ Test Suite ]
 - Skip leak.t on threaded Perls (for now).

0.037_02	2013-12-29

 [ Documentation ]
 - Link to the Type::Tiny stability policy from the pod of each module it

0.037_01	2013-12-24

 [ Bug Fixes ]
 - Fix a Type::Params/B problem on Perl 5.6.x.

0.036	2013-12-21

 [ Documentation ]
 - Updated NEWS file.

0.035_01	2013-12-17

 - Make Type::Parser work with newer versions of MooseX::Types::Common
   which uses namespace::autoclean.
   Fixes RT#91468.
   David Steinbrunner++
 - Make parameterized Dict and Map type constraints work with Moose native
   hash attribute trait.
   Jason R Mash++

0.034	2013-12-09

 [ Documentation ]
 - Updated NEWS file.

0.033_04	2013-12-06

 [ Test Suite ]
 - Further tests related to RT#90096.
   Diab Jerius++

 [ Other ]
 - Implement coercion_names, get_coercion, has_coercion, and has_type
   methods for Types::TypeTiny, to make it more like a real Type::Library
   type library.
 - The `extends` function from Type::Utils now allows inheritance of
   coercions, not just types.
   Fixes RT#91153.
   Jason R Mash++

0.033_03	2013-11-26

 [ Bug Fixes ]
 - Fix bug in Type::Params::multisig with regard to slurpy parameters.
   Fixes RT#90865.
   Diab Jerius++

 [ Documentation ]
 - Make Error::TypeTiny::Assertion's explain method act more according to
   Fixes RT#90867.
   Diab Jerius++

 [ Packaging ]
 - Recommend Sub::Name in META.json.

0.033_02	2013-11-26

 - Split out some of the longer parts of Types::Standard into other modules
   that will be loaded on demand; this shaves about 20% off the load time
   of Types::Standard.

0.033_01	2013-11-07

 [ Bug Fixes ]
 - Type::Params now localizes $_ before trying to assign anything to it.
   Fixes RT#90096.
   Samuel Kaufman++

 [ Test Suite ]
 - Test case using a Type::Params compiled check within the scope of a
   read-only $_ variable.
   Samuel Kaufman++

 [ Other ]
 - Added: Types::Common::Numeric
 - Added: Types::Common::String

0.032	2013-11-05	Remember, remember the fifth of November

 [ Bug Fixes ]
 - Eliminate a warning under Perl 5.6.x.

 [ Documentation ]
 - Updated NEWS file.

0.031_05	2013-11-04

 [ Documentation ]
 - Fix minor typo.
   David Steinbrunner++

 [ Other ]
 - Allow Dict to take a slurpy parameter - a la Dict[foo => Int, slurpy
   Matt S Trout++

0.031_04	2013-11-03

 [ Bug Fixes ]
 - Type::Parser 0.031_02 introduced a bug under Perl 5.6.x where we relied
   on the existence (or not) of a hash item being affected by `local`; this
   was implemented in Perl 5.8.0. Work around this problem by checking
   definedness instead.

0.031_03	2013-11-03

 - Added: Deep coercions for Maybe[`a].
   Fixes RT#89936.
   Brendan Byrd++

0.031_02	2013-11-03

 - Type::Parser now differentiates between Tuple[] and Tuple too.
 - Type::Parser only treats a comma as an operator within a
   parameterization now, and is thus now able to parse types from the head
   of a string which is a comma-separated list of types.

0.031_01	2013-10-28

 [ Bug Fixes ]
 - Differentiate Tuple[] vs Tuple, and Dict[] vs Dict.
   Fixes RT#89696.
   Benct Philip Jonsson++

 [ Documentation ]
 - Improved documentation for Types::TypeTiny.

 [ Test Suite ]
 - Adjustments to cope with newer Moose is-class-loaded heuristics.
 - Check Moose exception objects with isa rather than regexp matching.

0.030	2013-10-18

 [ Documentation ]
 - Updated NEWS file.

 [ Test Suite ]
 - Skip leak.t on Perl < 5.10.1. Type-Tiny does have some memory leaks in
   particular older versions of Perl: 5.8.8 and 5.10.0 are known to be
   problematic, but 5.8.9 seems fine. Ultimately it would be nice to get
   these fixed, but in the mean time skipping the test case makes the
   distribution easier to install.

0.029_04	2013-10-17

 [ Bug Fixes ]
 - Fix inlining of type checks in Moo which was broken around about version
 - Fix validate_explain error messages in Type::Tiny::Union.
   Fixes RT#89279.
   Brendan Byrd++

 [ Other ]
 - $Type::Tiny::DD can be set numerically.
   Fixes RT#89251.
   Tim Bunce++
 - Improve error messages under Moo.
   Fixes RT#89234.
   Graham Knop++

0.029_03	2013-10-17

 [ Bug Fixes ]
 - Fix segfault on Perl 5.8.1 to 5.8.3. (And possibly some other 5.8.x
   Perls.) Caused by the combination of eval and goto.
   Dagfinn Ilmari Mannsåker++
   Graham Knop++
   Peter Rabbitson++
 - Older versions of Scalar::Util::looks_like_number return true for undef;
   work around them.

0.029_02	2013-10-11

 - Renamed the Type::Exception modules to Error::TypeTiny.
   Fixes RT#89280.
   Brendan Byrd++

 [ Documentation ]
 - Fix typos in documentation of Error::TypeTiny package variables.

 [ Other ]
 - $Type::Tiny::DD package variable can now be used for a pluggable data
   dumper coderef.
   Fixes RT#89251.
   Tim Bunce++
 - Type::Tiny::Enum type constraints are now subtypes of
   Types::Standard::Str; not Types::Standard::Defined.
   David Golden++
 - Types::Standard::Item is now a subtype of not Types::Standard::Any.
   David Golden++

0.029_01	2013-09-26

 - Replace Exporter::TypeTiny with Exporter::Tiny (an external dependency).

0.028	2013-09-26

 [ Documentation ]
 - Note in documentation for Type::Tiny::Union, etc that
   constraint/inlining coderefs not only should not be provided to the
   constructor, but cannot!
   Fixes RT#88655.
   Brendan Byrd++
 - Updated NEWS file.

0.027_09	2013-09-20

 - Inlining of type checks in Moo broken in this release, or hereabouts.
   Fixed in 0.029_04.

 [ Bug Fixes ]
 - Fix whitespace in error messages.

 [ Test Suite ]
 - Skip leak.t on Perl 5.10.0.

0.027_08	2013-09-19

 [ Bug Fixes ]
 - Fix typo in Type::Utils for coerce=>1 --> coercion=>1.
   Fixes RT#88798.
   Diab Jerius++
 - Fix typo in changelog for previous developer release.
 - Type::Exception::Assertion changes from 0.027_05 are now conditional
   upon Perl version; only take effect on Perl 5.8+; they just weren't
   working on Perl 5.6.

 [ Test Suite ]
 - More changes to version numbers reported by 00-begin.t.

 [ Other ]
 - Explicitly overload boolification (always true!) in Type::Exception.

0.027_07	2013-09-18

 [ Bug Fixes ]
 - Fix missing version number in Type::Coercion::FromMoose

 [ Test Suite ]
 - Changes to version numbers reported by 00-begin.t.

 [ Other ]
 - Also ensure Mouse type constraints converted to Type::Tiny constraints
   retain their coercions.

0.027_06	2013-09-18

 [ Documentation ]
 - Add a draft Stability Policy to Type::Tiny::Manual.

 [ Other ]
 - Added: Override `validate_explain` in all the bundled subclasses of
 - Added: Type::Coercion::FromMoose
 - Added: Type::Tiny::Union now provides a `find_type_for` method which
   should be compatible with Moose's equivalent method.
 - Added: Type::Utils now provides an `english_list` function like
   Moose::Util does. This was useful internally for implementing
   `validate_explain` methods.
 - Loosen the rules for Type::Tiny and Type::Coercion name attributes;
   allow them to begin with one or two leading underscores.
 - Memoize Types::TypeTiny::to_TypeTiny.
 - Stop using base.pm.
 - Type::Tiny::Union's compiled checks no longer close over the type
   constraints which are in the union.
 - Types::TypeTiny::to_TypeTiny now uses Type::Coercion::FromMoose to
   ensure Moose type constraints converted to Type::Tiny constraints retain
   their coercions.

0.027_05	2013-09-15

 - Added: Provide a `validate_explain` method as part of Type::Tiny's
   public API.
 - Include a detailed explanation in the stringification of
 - Refactor the explanation generation mechanism.

0.027_04	2013-09-09

 [ Test Suite ]
 - The file t/moose-coercion.t was checking a particular Moose warning
   message. In Moose 2.1100, this warning has been upgraded to an
   exception. For now, disable that particular check.

0.027_03	2013-09-09

 [ Bug Fixes ]
 - Prevent Eval::TypeTiny from leaking stashes by recycling the sandbox.

 [ Test Suite ]
 - Fix the ultra-finicky t/02-api.t to cope with changes to
   Moose::Meta::TypeConstraint API in Moose 2.1100.

0.027_02	2013-09-08

 [ Bug Fixes ]
 - Restore Type::Tiny -> Moose -> Type::Tiny round-tripping broken in
   previous release.

 [ Documentation ]
 - In Type::Tiny::Manual::Coercions, explain how to chain coercions.

0.027_01	2013-09-07

 - Weakening various references to fix memory leaks led to breaking
   Type::Tiny -> Moose -> Type::Tiny round-tripping via
   Types::TypeTiny::to_TypeTiny. Test cases for this marked TODO.

 [ Bug Fixes ]
 - Fixed some memory leaks. Still some work to do in this area.

 [ Other ]
 - Added `coercibles` method to Type::Tiny.
   Diab Jerius++

0.026	2013-09-05

 [ Documentation ]
 - Updated NEWS file.

0.025_03	2013-09-04

 [ Documentation ]
 - Document that multisig() accepts coderefs.

 [ Packaging ]
 - Use a newer version of RDF::DOAP to process this changelog.

0.025_02	2013-09-02

 [ Bug Fixes ]
 - functionparameters.t now requires Moo or Moose and is skipped otherwise.

 [ Other ]
 - Added: Type::Params now provides a multisig() function, allowing you to
   define multiple function signatures, and attempt to validate @_ against
   them each in turn.
   Fixes RT#88291.
   Diab Jerius++

0.025_01	2013-09-02

 [ Bug Fixes ]
 - The Tuple structured type was treating arrays with missing required
   elements as if they were present but undef.
   Fixes RT#88277.
   Steven Lee++

 [ Documentation ]
 - Document the internals of Exporter::TypeTiny.

 [ Packaging ]
 - Take advantage of dynamic_config to ask automated testers to test
   Type::Tiny with Moose present, but only if the Type::Tiny version number
   includes an underscore.
 - use Dist-Inkt

 [ Other ]
 - Exporter::TypeTiny will now use method-style resolution when searching
   for a sub to export.
 - Make Exporter::TypeTiny support generators with less internals-hacking.

0.024	2013-08-27

 [ Documentation ]
 - Updated NEWS file.

0.023_03	2013-08-23

 [ Bug Fixes ]
 - Constructors for some subclasses of Type::Tiny rejected hashrefs of
   Fixes RT#88064.
   Brendan Byrd++
 - Stop considering the empty string to be a valid package name.

 [ Test Suite ]
 - Include additional test cases stolen from Moose.

 [ Other ]
 - Implementation of RegexpRef in Types::Standard is now closer to Moose's
   implementation (accepts blessed Regexps).

0.023_02	2013-08-23

 [ Bug Fixes ]
 - Fix quoting in error messages which caused Type::Params to be unable to
   compile some coderefs.
   Fixes RT#87846.
   Tim Bunce++
 - Improve ugly type assertion failure messages when given structures of
   nested references.
   Fixes RT#87999.
   Tim Bunce++

 [ Other ]
 - Added: Type::Registry now has an `add_type` method, for adding a single
   type constraint to a registry.
 - Type::Registry's `add_types` method now supports importing MooseX::Types
   and MouseX::Types libraries.
 - Type::Utils' `extend` function now supports extending MooseX::Types and
   MouseX::Types libraries.

0.023_01	2013-08-16

 [ Bug Fixes ]
 - Fix Moo -> Moose type inflation issue.
   Matt Phillips++

0.022	2013-08-06

 [ Documentation ]
 - Updated NEWS file.

 [ Other ]
 - Improved implementations of is_subtype_of/is_strictly_subtype_of; better
   for subclassing.
 - In Devel::TypeTiny::Perl56Compat, `use strict` and `use warnings`.

0.021_04	2013-07-30

 [ Bug Fixes ]
 - Fix Type::Parser's handling of numeric parameters; they shouldn't need
 - Fix Types::Standard::Dict differentiating between undef and not exists.
   Fixes RT#87443.
   Tim Bunce++

 [ Packaging ]
 - Add dependency on Exporter 5.57 for older versions of Perl.

0.021_03	2013-07-30

 - Improve compatibility between Type::Tiny and Moose attribute native
 - Restore Eval::TypeTiny's pre-0.019_01 behaviour re closing over
   lexicals, but enable the 0.021_02 behaviour if alias=>1 option is passed

0.021_02	2013-07-26

 - Use real lexicals again for Eval::TypeTiny; this requires
   Devel::LexAlias, but there's a fallback to using tied variables.

0.021_01	2013-07-24

 - Added: Type::Tiny is_strictly_a_type_of method.
 - Added: Type::Tiny is_strictly_subtype_of method.
 - Added: Type::Tiny is_strictly_supertype_of method.
 - Added: Type::Tiny strictly_equals method.

0.020	2013-07-23

 [ Documentation ]
 - Updated NEWS file.

0.019_01	2013-07-23

 [ Bug Fixes ]
 - Eval::TypeTiny now closes over variables properly.
 - Work around lack of B::perlstring() function in Perl 5.6.x in test

0.018	2013-07-21

 [ Documentation ]
 - Updated NEWS file.

0.017_02	2013-07-20

 [ Bug Fixes ]
 - Further changes for Perl 5.6.x support.

 [ Other ]
 - Hopefully improved workaround for missing B::perlstring() using
   Data::Dumper instead of quotemeta().
   Peter Rabbitson++

0.017_01	2013-07-19

 [ Bug Fixes ]
 - Work around lack of B::perlstring() function in Perl 5.6.x.

 [ Documentation ]
 - Fix typo in Types::Standard 'regular exception' -> 'regular expression'.
   Mark Stosberg++
 - Give an example of the default error messages thrown by Type::Tiny.
 - Improve examples of custom type constraint error message in Type::Utils
   and Type::Tiny::Manual::Libraries.
   Fixes RT#86892.
   Tim Bunce++

 [ Other ]
 - Updated: Eval::TypeTiny now supports lexical subs under Perl 5.18.

0.016	2013-07-16

 [ Documentation ]
 - Add some pod links.
 - Updated NEWS file.

0.015_05	2013-07-15

 [ Packaging ]
 - Experimentally drop required version of Perl from 5.8.1 to 5.6.1. I've
   not been able to extensively test Type-Tiny on Perl 5.6.x, but I believe
   it should mostly work. (The only feature that seems unlikely to work is
   non-ASCII names for type constraints and coercions.)

 [ Other ]
 - Stop monkey-patching Moose::Meta::TypeContraint; it's not necessary and
   has never been documented.

0.015_04	2013-07-13

 [ Documentation ]
 - Clarify when inlining via Sub::Quote may be less efficient than
   hand-written inlining.
   Fixes RT#86893.
   Tim Bunce++
 - Mention in Type::Tiny::Manual::Libraries that the `extends` function is
   no longer exported by default; update example code.
   Fixes RT#86813.
   Pierre Masci++

 [ Other ]
 - Allow an inline_as block to return a list of strings (which are
   implictly joined with &&); allow the first item on the list to be undef,
   which is treated as the inlined parent type constraint.
   Fixes RT#86891.
   Tim Bunce++

0.015_03	2013-07-08

 - Added: Implement TIESCALAR, TIEARRAY and TIEHASH methods for Type::Tiny;
   this improves Type::Tie integration.
 - Slight speed improvements for `compile_match_on_type`.
 - The `dwim_type` function now prioritizes lookups within the caller
   class' type registry over Types::Standard's built-in types.

0.015_02	2013-07-06

 - Better test cases for `dwim_type`.
 - Improvements to DWIMness of Type::Parser for the benefit of `dwim_type`.

0.015_01	2013-07-05

 - Added: Type::Utils now provides a `dwim_type` function; this is powered
   by a hidden Type::Registry::DWIM package.
 - Type::Parser can now pull in types from MooseX::Types libraries

0.014	2013-06-28

 [ Documentation ]
 - Updated NEWS file.

0.013_01	2013-06-27

 - Type::Parser functions no longer accept an arrayref of tokens, as they
   expect to pull tokens from a stream as required.
 - Type::Parser no longer provides a `tokens` function as it no longer
   pre-emptively tokenizes the whole string it is given.

 [ Other ]
 - Added: Type::Parser now provides a `extract_type` function which parses
   a type constraint expression from the head of a string and returns a
   Type::Tiny object, plus the tail of the string. (This is designed to
   make it easier to use Type::Parser to parse things like function
 - Type::Parser's tokenization is now done on a pull basis, allowing
   one-pass building of the AST.

0.012	2013-06-25

 [ Documentation ]
 - Updated NEWS file.

0.011_03	2013-06-25

 [ Bug Fixes ]
 - Type::Tiny now overloads `cmp`. Necessary because Mouse does a sort on
   type constraints in a union, and overload's fallback doesn't seem to
   cover `cmp` on Perl prior to 5.12.

0.011_02	2013-06-25

 [ Bug Fixes ]
 - Types::Standard 0.009_02 stopped including 'library' attribute in its
   types, and thus broke MooX::late. Type::Library modified to make
   'library' attribute more automatic, and less reliant on Type::Utils to
   do the right thing.
   Graham Knop++

0.011_01	2013-06-25

 [ Bug Fixes ]
 - B::SPECIAL-related fix.
   Fixes RT#86383.
   Peter Flanigan++
 - Unions of Type::Tiny and Mouse::Meta::TypeConstraints now work properly.
   This makes Type::Tiny and MouseX::Types play nice together (much like
   Type::Tiny already plays nice with MooseX::Types).

 [ Other ]
 - Cleanups within Type::Coercion. Necessary because in some places the
   entire type_coercion_map (including conversion coderefs) was passed
   through Types::Standard::to_TypeTiny, when really only the type
   constraints should have been.
 - Types::Standard::to_TypeTiny now accepts any object implementing the
   Type::API::Constraint or Type::API::Constraint::Coercion interfaces. As
   Mouse::Meta::TypeConstraint implements this interface, specific support
   for importing Mouse types has been dropped; the generic Type::API import
   'just works' for Mouse types.
 - Types::Standard::to_TypeTiny now accepts unblessed coderefs and converts
   them to type constraints. This allows things like `Int & sub { $_ < 10
   }` to work.

0.010	2013-06-24

 [ Documentation ]
 - Updated NEWS file.

0.009_07	2013-06-24

 [ Test Suite ]
 - Make rt86172.t an 'xt' test case because it's causing random CPAN
   testers failures unrelated to the feature it's supposed to be testing.
 - More test cases for interacting with MooseX::Types type constraints.

 [ Other ]
 - If a Type::Tiny object is instantiated with a Sub::Quote quoted
   constraint coderef, and no inlined coderef, then Type::Tiny will use
   Sub::Quote to make an inlined coderef.
 - Subclasses of Type::Tiny reject 'inlined' coderef, just like they
   already reject 'constraint' coderef.
 - Type::Params no longer uses Type::Utils.
 - Types::Standard::to_TypeTiny now sets 'display_name' instead of 'name'
   on generated type constraints.

0.009_06	2013-06-23

 [ Bug Fixes ]
 - Careful calling the DOES method (it doesn't exist in Perl 5.8).

0.009_05	2013-06-23

 [ Bug Fixes ]
 - Type::Registry does the AUTOLOAD thing, so ought to provide a DESTROY

0.009_04	2013-06-23

 [ Bug Fixes ]
 - Type::Tiny::Class shouldn't completely trust @ISA when establishing
   parent class heirarchies.

 [ Other ]
 - Constructors for Type::Tiny subclasses no longer accept the 'constraint'
   parameter; it doesn't make sense.
 - Updated: Support Type::API interfaces.

0.009_03	2013-06-22

 [ Bug Fixes ]
 - Fix Types::Standard compilation errors under Perl 5.8.x.

0.009_02	2013-06-22

 - Types::Standard types no longer have 'library' attribute set; this
   subtly breaks Moo type inflation, and breaks the MooX::late test suite
   which relies on type inflation working correctly.

 [ Bug Fixes ]
 - Fix for compiled_checks for type constraints inheriting from
   Type::Tiny::Class, etc.
   Richard Simões++

 [ Other ]
 - Types::Standard no longer uses Type::Utils.
 - Various minor optimizations for Eval::TypeTiny, Type::Tiny, etc.

0.009_01	2013-06-21

 [ Bug Fixes ]
 - Fix error messages from type constraints with null constraint coderefs.

 [ Other ]
 - Added: Reply::Plugin::TypeTiny.

0.008	2013-06-21

 [ Documentation ]
 - Updated NEWS file.

0.007_10	2013-06-21

 [ Bug Fixes ]
 - Fixed many small parsing bugs in Type::Parser.
 - MooseX::Types objects used in Type::Tiny::Union,
   Type::Tiny::Intersection and parameterized Type::Tiny type constraints
   would break in some circumstances, as Types::TypeTiny::to_TypeTiny was
   failing to convert them to native Type::Tiny type constraints.
   Fixes RT#86303.

 [ Documentation ]
 - Document status of Type::Registry.

 [ Test Suite ]
 - Add test cases for Type::Parser.
 - Better test cases for Type::Registry.

 [ Other ]
 - Added: Type::Parser now exports a _std_eval function useful for testing.
 - Improved error messages from Type::Parser.
 - Type::Parser now supports parentheses in its DSL.

0.007_09	2013-06-18

 [ Bug Fixes ]
 - Fix problems inlining Dict deep coercions where the target constraint
   could not be inlined.
   Fixes RT#86233.
   Vyacheslav Matyukhin++
 - Fix unintuitive Dict deep coercions.
   Fixes RT#86239.
   Vyacheslav Matyukhin++

 [ Test Suite ]
 - Bundle various tests for deep Dict coercions.
   Vyacheslav Matyukhin++

0.007_08	2013-06-17

 [ Bug Fixes ]
 - Fix problem with interaction between constraints, coercions, and Moose
   classes that inherit from Moo classes.
   Fixes RT#86172.
   Peter Flanigan++

 [ Test Suite ]
 - Bundle test for interaction between constraints, coercions, and Moose
   classes that inherit from Moo classes.
   Peter Flanigan++

0.007_07	2013-06-16

 [ Bug Fixes ]
 - Partly roll back prototype changes. Now we use `;$` for Perl since 5.14,
   but `;@`, for older Perls that don't support `;$` so well.

0.007_06	2013-06-16

 - Better prototypes (was `;@`, now `;$`) for parameterizable type
   'constants' exported by type libraries.
   Matt S Trout++
 - Type::Utils no longer exports 'extends' by default.

 [ Documentation ]
 - Document the evaluation environment used by Eval::TypeTiny.
 - Rearranged documentation for Type::Utils, avoiding previous split into
   Moose-like and non-Moose-like functions.

 [ Other ]
 - Added: Type::Exception is now capable of supplying stack traces
   (requires Devel::StackTrace).
 - Exceptions thrown for Moo isa/coerce now indicate which attribute was

0.007_05	2013-06-12

 [ Documentation ]
 - Mention Scalar::Does and Type::Tie in manual.
 - Vastly improved documentation for Type::Utils.
 - Vastly improved documentation for Types::Standard.

 [ Test Suite ]
 - Added test cases for InstanceOf, ConsumerOf, HasMethods and Enum types
   defined by Types::Standard.

 [ Other ]
 - Added: Add match_on_type and compile_match_on_type to Type::Utils.
 - Support '0' and '1' as shortcuts for Optional[Any] and Any in
   Type::Params. (Not documented yet.)

0.007_04	2013-06-09

 [ Bug Fixes ]
 - Overloading of `$type eq $type` now works in Perl 5.8.
   Fixes RT#85895.
   Vyacheslav Matyukhin++
 - The combination of Dict, Optional and coercions seems to have been
   broken in certain circumstances.
   Fixes RT#86001.
   Diab Jerius++

0.007_03	2013-06-08

 [ Bug Fixes ]
 - Inlining of certain deep Dict, Tuple and Map coercions was broken, but
   Type::Params attempted to inline them anyway, leading to death.
   Fixes RT#85911.
   Diab Jerius++

 [ Documentation ]
 - Better document Type::Tiny's 'parents' method which differs from the
   Moose method of the same name.

0.007_02	2013-06-04

 [ Documentation ]
 - Improvements to Type::Tiny::Manual.
 - Improvements to Type::Tiny::Manual::Params, including rewritten manual
   processing section, and processing type constraints in function
   signatures via Function::Parameters/Attribute::Constract.

 [ Test Suite ]
 - Test cases for usage with Function::Parameters.

 [ Other ]
 - Added: New constraints added to Types::Standard: InstanceOf, ConsumerOf,
   HasMethods and Enum.
   Graham Knop++
 - Allow constraint_generators (for parameterizable type constraints) to
   return full Type::Tiny objects instead of plain coderefs.
 - Drop use of Carp in Type::Parser.
 - Type::Tiny::Class types now have an automatically calculated parent type
   constraint based on @ISA.
 - Type::Tiny::Duck types now have a parent type constraint of
 - Type::Tiny::Enum types now have a parent type constraint of
 - Type::Tiny::Intersection types now have an arbitrary parent type
 - Type::Tiny::Role types now have a parent type constraint of
 - Type::Tiny::Union types now have an automatically calculated parent type
   constraint based on the most specific common parent type constraint.

0.007_01	2013-06-01	Happy birthday to me...

 - Types::Standard's Num constraint is now a subtype of either LaxNum and
   StrictNum (depending on environment).

 [ Bug Fixes ]
 - Fix $VERSION defined in Type::Library.

 [ Packaging ]
 - Generate README from Type::Tiny::Manual instead of Type::Tiny.

 [ Other ]
 - Added: Type::Parser.
 - Added: Types::Standard now has LaxNum/StrictNum type constraints.
 - Implemented Types::TypeTiny->meta->get_type.
 - Re-introduce Type::Registry, with improved parsing thanks to

0.006	2013-05-28

 [ Bug Fixes ]
 - Exporter::TypeTiny::mkopt_hash now works.

0.005_08	2013-05-28

 [ Test Suite ]
 - Add 00-begin.t.
 - Rearrange test cases
 - Use JSON::PP instead of JSON in test cases, because JSON::PP is a core
   module since Perl 5.14.

0.005_07	2013-05-28

 [ Bug Fixes ]
 - Assertions using the assert_return pattern were triggering FATAL
   warnings when inlined with Sub::Quote. Inlined assertions are now
   prefixed with 'no warnings "void";'.

 [ Documentation ]
 - Add pure-Perl Mouse to examples/benchmark-constraints.pl.

0.005_06	2013-05-26

 [ Bug Fixes ]
 - Fix StrMatch to properly support regexps containing slashes.

 [ Other ]
 - Fold Types::Standard::DeepCoercion into Types::Standard.

0.005_05	2013-05-24

 [ Documentation ]
 - Suggest newer version of Validation::Class.

 [ Other ]
 - Added: Type::Tiny now has an assert_return method, which is used in most
   places in preference to assert_valid.
 - Fix warnings under Perl 5.18.
 - Removed: Removed Type::Registry from the release; it will return at a
   later date.

0.005_04	2013-05-17

 [ Bug Fixes ]
 - Fixed bug in non-inlined code for Types::Standard::MkOpt.

 [ Other ]
 - Added: Type::Exception::Compilation.
 - All error conditions now throw exception objects instead of string error
 - Allow the slurpy tail of a Types::Standard::Tuple to be a treated as a
   hashref rather than an arrayref.
 - Deep explanations for Types::Standard::{Map,Maybe,Ref,Dict,Tuple} type
   constraint assertion failures.
 - Improved deep explanations for
 - Test::TypeTiny performs more thorough testing if EXTENDED_TESTING
   environment variable is set.
 - Throw exception if people attempt to set parent types for

0.005_03	2013-05-14

 - Many error conditions now throw exception objects instead of string
   error messages.
 - Removed: Bytes and Chars type constraints removed from Types::Standard.
 - Removed: Decode and Encode coercions removed from Types::Standard.

0.005_02	2013-05-14

 [ Documentation ]
 - Fix a typo in declare_coercion in Type::Tiny::Manual::Coercions.
   Vyacheslav Matyukhin++
 - Link to Type::Tiny::Manual::Libraries instead of non-existing
   Vyacheslav Matyukhin++

0.005_01	2013-05-07

 [ Bug Fixes ]
 - Type::Library should require Perl 5.8.1, not 5.8.3.

 [ Other ]
 - Added: ArrayLike type added to Types::TypeTiny.
 - Added: Type::Registry.

0.004	2013-05-06

 [ Bug Fixes ]
 - Eval::Closure now strips line breaks and other unsavoury characters from

 [ Other ]
 - Minor updates to to_TypeTiny following Validation::Class 7.900048

0.003_16	2013-05-05

 [ Documentation ]
 - Document that Map[`k,`v] has a deep coercion.
 - Improve Type::Coercion documentation.

 [ Other ]
 - Minor updates to coderef overloading following Moo 1.002000 release.
 - Rename Types::Standard::AutomaticCoercion ->
 - Type::Params produces nicer error messages.

0.003_15	2013-05-03

 - Improvements to to_TypeTiny function, including accepting
   Validation::Class::Simple objects.

0.003_14	2013-05-03

0.003_13	2013-05-03

 [ Bug Fixes ]
 - Don't crash in old versions of Moose that have no
   Class::MOP::_definition_context() function.

 [ Documentation ]
 - Fix typo in Type::Params documentation.
   Diab Jerius++

 [ Test Suite ]
 - BAIL_OUT in test suite if 00-compile.t or 01-api.t fail.

 [ Other ]
 - Better documentation and tests of Moose/Mouse-compatible API.

0.003_12	2013-05-01

 [ Bug Fixes ]
 - Sane behaviour for Types::Standard's 'slurpy' function when it appears

 [ Other ]
 - 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.
   Vyacheslav Matyukhin++

0.003_11	2013-04-30

 [ Test Suite ]
 - Test cases for Eval::TypeTiny.

 [ Other ]
 - Automatic coercion for parameterized Dict will no longer drop key/value
   pairs to force a coercion.
   Vyacheslav Matyukhin++
 - Automatic coercion for parameterized Tuple will no longer drop values to
   force a coercion.
   Vyacheslav Matyukhin++

0.003_10	2013-04-29

 [ Documentation ]
 - Improve Exporter::TypeTiny documentation.
 - Improve advice on inlining type constraints and coercions.

 [ Packaging ]
 - Bump version of Test::More dependency fom 0.88 to 0.96.

 [ Other ]
 - Added: Bundle Type::Params, which had previously appeared on CPAN in a
   separate developer release.
 - Added: New module, Eval::TypeTiny
 - Added: Type::Tiny::SUPPORT_SMARTMATCH constant.
 - General code tidy-up.
 - Much of the stringy eval stuff has been factored out into

0.003_09	2013-04-28

 [ Documentation ]
 - Document usage with Params::Check and Object::Accessor.

 [ Other ]
 - Added: 'Tied' type constraint added to Types::Standard.
 - 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

 [ Documentation ]
 - More Exporter::TypeTiny docs, including usage with

 [ Test Suite ]
 - Add test case using Exporter::TypeTiny with Sub::Exporter::Lexical.

 [ Other ]
 - ASCII-only strings are now accepted by the Chars constraint in
 - 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

 [ Bug Fixes ]
 - Fix method conflicts when exporting type constraints to roles.
   Kevin Dawson++

 [ Documentation ]
 - Document usage with Class::InsideOut.
 - Minor improvements to manual.

0.003_06	2013-04-25

 [ Documentation ]
 - Add lots of stuff to Type::Tiny::Manual::UsingWithMouse.
 - Document deep coercions (feature added in 0.003_01).

 [ Other ]
 - 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.)
 - Types::TypeTiny::to_TypeTiny can now coerce from a
 - Various minor changes to Exporter::TypeTiny to make it more
   Sub::Exporter compatible.

0.003_05	2013-04-19

 [ Bug Fixes ]
 - 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 ]
 - Create a new manual page Type::Tiny::Manual::Coercions.
 - Document Exporter::TypeTiny.

 [ Other ]
 - Added: Chars and Bytes types added to Types::Standard.
 - Added: Encode, Decode, Join and Split coercions added to
 - Added: Type::Tiny::Class now has a plus_constructors method.
 - Allow coercions to accept parameters.

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,

0.003_03	2013-04-17

 - Added: 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.

 [ Other ]
 - Avoid unnecessarily regenerating parameterized type constraints.

0.003_01	2013-04-16

 [ Documentation ]
 - Link from Test::TypeTiny to Test::Deep::Type.

 [ Other ]
 - 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.
 - Allow subtypes to inherit coercions from their parent type constraint.
   (They do not by default.)
 - 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].
 - Overload "+" operator for Type::Coercion and Type::Tiny allows coercions
   to be added to each other, and added to type constraints.
 - Type::Library packages can now include "standalone" Type::Coercion
   objects, not attached to a type constraint. These can be exported on

0.002	2013-04-26

 [ Bug Fixes ]
 - Fix method conflicts when exporting type constraints to roles.
   Kevin Dawson++
 - 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.

 [ Other ]
 - Added: Chars and Bytes types added to Types::Standard.
 - Avoid unnecessarily regenerating parameterized type constraints.
 - Make Type::Tiny's has_coercion method more DWIM.

0.001	2013-04-15	First public release

 [ Bug Fixes ]
 - Some inline code assumed that it would be compiled in a package that had
   'blessed' imported.
 - Some inline code wasn't wrapped in parentheses.

 [ Documentation ]
 - Minor improvements.

 [ Test Suite ]
 - More test cases for Optional[`a] within Dict[`a].

 [ Other ]
 - 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

 [ Bug Fixes ]
 - Fix prototype for Type::Utils::as.

 [ Other ]
 - 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

 [ Bug Fixes ]
 - Fix incorrect Test::Requires line in 'mouse-coercion.t'.

 [ Other ]
 - Improvements to has_coercion_for_{type,value} from Type::Coercion.

0.000_09	2013-04-08

 [ Documentation ]
 - Bundle benchmarking scripts.
 - Fill in the Usage with Moose section of the fine manual.

 [ Packaging ]
 - Tidy up the 'examples' directory.

 [ Other ]
 - When generating Moose/Mouse constraints from Type::Tiny objects, prefer
   to generate anonymous ones.

0.000_08	2013-04-07

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

0.000_07	2013-04-06

 [ Bug Fixes ]
 - Fix inlining for Type::Tiny::Intersection.
 - Fix inlining of certain conditionals into coercion code.
 - Types within libraries, if accessed directly rather than exported, did
   not accept parameters.

 [ Documentation ]
 - Document constructor for Type::Tiny::Class.

 [ Test Suite ]
 - More test cases.

 [ Other ]
 - Added: New module Type::Coercion::Union automatically handles coercion
   to union types.

0.000_06	2013-04-05

 [ Documentation ]
 - Improved documentation of parameterization attributes.
 - Section in manual comparing Type::Tiny with various other type library
 - Using Type::Tiny with Moo added to manual.

 [ Test Suite ]
 - More test cases.

 [ Other ]
 - Added: Type::Tiny now has an 'inline_assert' function.
 - 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.
 - In Moo, type assertions and coercions are now inlined.
   Matt S Trout++
 - Monkey patch Moose::Meta::TypeConstraint to be able to retrieve
   Type::Tiny constraints from inflated Moose constraints.

0.000_05	2013-04-04

 - Rename Type::Standard module to Types::Standard.

 [ Bug Fixes ]
 - Fix is_parameterized method.
 - Get Mouse coercions working.

 [ Test Suite ]
 - Factor out some functions from test suite into a new module:
 - Rearrange test suite slightly.

 [ Other ]
 - Allow null type constraints with no parent type (e.g. 'Any' in
   Types::Standard) to be inlined.
 - Don't die with full stack trace.
 - 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

 - Added: Finally implement Type::Coercion's has_coercion_for_type method.
 - Added: Type::Tiny equals/is_subtype_of/is_supertype_of/is_a_type_of
   methods for type constraint comparisons.
 - Added: 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

 [ Bug Fixes ]
 - Fix the crashing t/moo-inflation.t test case.

 [ Documentation ]
 - Document Type::Coercion's overloading.

 [ Test Suite ]
 - Add test cases for ScalarRef[`a].

 [ Other ]
 - All of Type::Standard cannow be inlined.
 - 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

 [ Bug Fixes ]
 - Anchor enum regexps to beginning and end of string.

 [ Documentation ]
 - Beginnings of Type::Tiny::Manual.

 [ Other ]
 - Added: StrMatch added to Type::Standard.
 - use Type::Library -base
 - use Type::Library -declare

0.000_01	2013-04-02	Developer preview