Changes for version 1.008000 - 2019-12-11
- Packaging
- Repackage as stable.
Changes for version 1.007_015 - 2019-12-10
- Documentation
- Minor formatting changes.
- No longer suggest that Type::Tiny::Manual needs rewriting in Contributing.pod.
Changes for version 1.007_014 - 2019-12-10
- Documentation
- Mostly formatting changes.
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
Examples
- examples/benchmarking/benchmark-coercions.pl
- examples/benchmarking/benchmark-constraints.pl
- examples/benchmarking/benchmark-named-param-validation.pl
- examples/benchmarking/benchmark-param-validation.pl
- examples/benchmarking/versus-scalar-validation.pl
- examples/datetime-coercions.pl
- examples/nonempty.pl
- examples/page-numbers.pl