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

Changes for version 1.007_013 - 2019-12-10

  • Documentation
    • Add links to homepage in pod.
  • Packaging
    • Rebuild with newer RDF::DOAP.

Changes for version 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.)

Changes for version 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.

Changes for version 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.

Changes for version 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.

Changes for version 1.007_008 - 2019-12-05

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

Changes for version 1.007_007 - 2019-12-03

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

Changes for version 1.007_006 - 2019-12-02

  • Documentation
    • Expand per-type tests of bundled type libraries.

Changes for version 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.

Changes for version 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 now.)
  • 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.

Changes for version 1.007_003 - 2019-11-27

  • Documentation
    • Expand per-type tests of bundled type libraries.
    • More work on the Type::Tiny manual. jplindstrom++

Changes for version 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.

Changes for version 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 IntRange/NumRange.
    • 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 libraries.
    • 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 experimental.

Changes for version 1.007_000 - 2019-11-17

  • Bug Fixes
    • Strip underscores in version numbers for dev releases. Fixes RT#125839. <https://rt.cpan.org/Ticket/Display.html?id=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 thrown. Fixes RT#121763. <https://rt.cpan.org/Ticket/Display.html?id=121763>
    • Type::Tiny better mimics the Moose::Meta::TypeConstraint::Parameterized API, adding `parameterized_from` and `has_parameterized_from` methods. Fixes RT#114915. <https://rt.cpan.org/Ticket/Display.html?id=114915>
    • Type::Tiny::Enum will now avoid triggering a Type::Tiny::XS bug involving hyphens in strings. Fixes RT#129729. <https://rt.cpan.org/Ticket/Display.html?id=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. <https://rt.cpan.org/Ticket/Display.html?id=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. <https://rt.cpan.org/Ticket/Display.html?id=104154>
    • 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 inlining.
    • Smarter caching and reuse of parameterized types.

Documentation

an overview of Type::Tiny
alphabetical list of all type constraints bundled with Type::Tiny
advanced information on coercions
contributing to Type::Tiny development.
how to install Type::Tiny
defining your own type libraries
Type::Tiny in non-object-oriented code
squeeze the most out of your CPU
advanced information on Type::Params
Type::Tiny policies
use of Type::Tiny with Class::Tiny
basic use of Type::Tiny with Moo
advanced use of Type::Tiny with Moo
alternative use of Type::Tiny with Moo
how to use Type::Tiny with Moose
how to use Type::Tiny with Mouse
using Type::Tiny with Class::InsideOut, Params::Check, and Object::Accessor.
Type::Tiny for test suites

Modules

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