diff options
author | Étienne Mollier <emollier@debian.org> | 2023-07-21 19:38:59 +0200 |
---|---|---|
committer | Étienne Mollier <emollier@debian.org> | 2023-07-21 19:38:59 +0200 |
commit | af7dac36186af59c604dfd65c5f5ddcd31a0753e (patch) | |
tree | 136678359842f1cb35cef9b77b8d8aebb8ef35c8 /Changes | |
parent | 1151c7816a7ce4d5e6051df7292da33eb928dcc3 (diff) | |
parent | f1e51cb0e0011403e15cba187e77489c40607d23 (diff) |
New upstream version 2.004000
Diffstat (limited to 'Changes')
-rw-r--r-- | Changes | 3080 |
1 files changed, 38 insertions, 3042 deletions
@@ -7,6 +7,44 @@ 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.004000 2023-04-05 + + [ Documentation ] + - Document that the `BoolLike` type is unstable. + - Minor pod changes to Types::Standard. + + [ Packaging ] + - Summarized the change log for versions prior to Type::Tiny 2.000000. If + you need more information, see the Changes file included with Type::Tiny + 2.002001. + <https://metacpan.org/release/TOBYINK/Type-Tiny-2.002001/source/Changes> + +2.003_000 2023-04-02 + + [ Documentation ] + - Add SYNOPSIS for Type::Tiny::Class. + - Add SYNOPSIS for Type::Tiny::Duck. + - Add SYNOPSIS for Type::Tiny::Enum. + - Add SYNOPSIS for Type::Tiny::Intersection. + - Add SYNOPSIS for Type::Tiny::Role. + - Add SYNOPSIS for Type::Tiny::Union. + - Add documentation and tests for the combination of the `goto_next` and + `multiple` options when used with `signature_for`. + - Add example of `signature_for` applying a signature to multiple + functions at once. + - Document changes to `make_immutable` in Type::Library v2.x. + <https://github.com/tobyink/p5-type-tiny/issues/129> + + [ Other ] + - Added: Type::Tiny now has an `exception_class` attribute, allowing a + type to throw exceptions using a custom class. These classes should + usually be a subclass of Error::TypeTiny::Assertion. + <https://github.com/tobyink/p5-type-tiny/issues/133> + - Added: Type::Tiny::Bitfield class. + <https://github.com/tobyink/p5-type-tiny/issues/131> + - Added: Types::TypeTiny::BoolLike type constraint. + <https://github.com/tobyink/p5-type-tiny/issues/137> + 2.002001 2023-01-20 [ Bug Fixes ] @@ -113,1127 +151,172 @@ Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org> 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 - used.) - - Rewrite much of Type::Tie to no longer use inside-out objects and avoid - a dependency on Hash::Util::FieldHash or alternative implementations of - fieldhashes. - - 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 => - 1). - - 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 - [ BACK COMPAT ] - - 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 - Type::Params. - - 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 - error. - Zhtwn++ - - [ 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 - own. - - [ 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 - sub. - Diab Jerius++ - - [ Documentation ] - - List which versions of Perl Type::Tiny requires in - Type::Tiny::Manual::Policies. - 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. - sbuggles++ - 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 - argument. - - 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 - constraint. - 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 - [ BACK COMPAT ] - - 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 - Type::Tiny. - 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 - [ BACK COMPAT ] - - 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 - of. - 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 - contents. - - [ 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. - jsf116++ - - Added: Type::Params `compile`, `compile_named`, and `compile_named_oo` - functions now support an `on_die` callback. - jsf116++ - - 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 - contents. - - [ Other ] - - Added: Error::TypeTiny now has a `throw_cb` method which acts like - `throw` but takes an initial callback parameter. - jsf116++ - - Added: Type::Params `compile`, `compile_named`, and `compile_named_oo` - functions now support an `on_die` callback. - jsf116++ - - 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 $@. - bokutin++ - - [ 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++ - <https://github.com/tobyink/p5-type-tiny/pull/64> - - [ Documentation ] - - Fixed typo in pod for Type::Tiny::Enum - Windymelt++ - <https://github.com/tobyink/p5-type-tiny/pull/70> - - [ 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++ - <https://github.com/tobyink/p5-type-tiny/pull/64> - - Type::Tiny is no longer routinely tested on Perl versions older than - 5.8.1. - <https://github.com/tobyink/p5-type-tiny/actions> - - [ Other ] - - Type::Parser now supports hexadecimal integers. - <https://github.com/tobyink/p5-type-tiny/issues/71> - 1.012001 2021-01-10 - [ Test Suite ] - - Extra test cases to improve coverage. (100% on Coveralls; 90% on - Codecov.) - - 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 - above. - - 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 - dependencies. - - [ Other ] - - Remove unnecessary BEGIN block in Eval::TypeTiny. - 1.011_010 2020-10-16 - - Simple useful coercions from Str for Type::Tiny::Enum (and - Types::Standard::Enum). - 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 - closure. - 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 - Scalar::Util. - - [ 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. - <https://rt.cpan.org/Public/Bug/Display.html?id=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 - types. - Fixes RT#121957. - Diab Jerius++ - <https://rt.cpan.org/Ticket/Display.html?id=121957> - - [ 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 - Types::Standard. - 1.010004 2020-08-18 - [ Bug Fixes ] - - Fix XSifying Enum[] where the strings contain certain non-word - characters. - Andrew Ruder++ - <https://github.com/tobyink/p5-type-tiny-xs/pull/12> - <https://github.com/tobyink/p5-type-tiny/pull/59> - - Type::Params compile_named using both the head and named_to_list options - would cause compilation error. - Fixes RT#132419. - Hauke D++ - Sandor Patocs++ - <https://rt.cpan.org/Public/Bug/Display.html?id=132419> - - Workaround RT#121957 by avoiding attempting to XSify Enum type - constraints with more than 50 possible strings. - Fixes RT#121957. - Diab Jerius++ - <https://rt.cpan.org/Ticket/Display.html?id=121957> - - [ 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=132583> - - Fix for Type::Tiny->can called as a class method. - Meredith Howard++ - <https://github.com/tobyink/p5-type-tiny/pull/57> - - Fix predeclared types in Type::Library. - Meredith Howard++ - <https://github.com/tobyink/p5-type-tiny/pull/58> - - [ Documentation ] - - Document some edge cases for Types::Standard Int. - <https://rt.cpan.org/Ticket/Display.html?id=132754> - 1.010002 2020-05-01 Mayday - [ Bug Fixes ] - - Better bareword handling on Perl < 5.14. - Fixes RT#132455. - Graham Knop++ - Karen Etheridge++ - <https://rt.cpan.org/Public/Bug/Display.html?id=132455> - - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=132426> - 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. - <https://rt.cpan.org/Public/Bug/Display.html?id=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. - <https://rt.cpan.org/Public/Bug/Display.html?id=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 - definitions. - 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:: - functions. - - 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. - <https://rt.cpan.org/Public/Bug/Display.html?id=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. - <https://rt.cpan.org/Ticket/Display.html?id=131238> - 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} - overloading. - 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 - Contributing.pod. - 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 - 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. - 1.007_003 2019-11-27 - [ Documentation ] - - Expand per-type tests of bundled type libraries. - - More work on the Type::Tiny manual. - jplindstrom++ - 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 - 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. - 1.007_000 2019-11-17 - [ Bug Fixes ] - - Strip underscores in version numbers for dev releases. - Fixes RT#125839. - <https://rt.cpan.org/Public/Bug/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/Public/Bug/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/Public/Bug/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/Public/Bug/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/Public/Bug/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. - 1.006000 2019-11-12 - [ Documentation ] - - Links to Type::Tiny on GitHub/Travis/AppVeyor/Coveralls in Type::Tiny - pod. - - Minor correction to POD header for Type::Params - Jonas B Nielsen++ - <https://github.com/tobyink/p5-type-tiny/pull/43> - - Types::Standard documentation fix. - Lucas Buchala++ - <https://github.com/tobyink/p5-type-tiny/pull/48> - - [ 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 - messages. - Benct Philip Jonsson++ - <https://github.com/tobyink/p5-type-tiny/pull/44> - - Added: Type::Params named_to_list feature. - <https://rt.cpan.org/Ticket/Display.html?id=128337> - - 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. - <https://rt.cpan.org/Ticket/Display.html?id=129650> - - 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 - functions. - - Don't use Int from Type::Tiny::XS unless version 0.016 is available. - <https://rt.cpan.org/Ticket/Display.html?id=130411> - - Eliminate memory cycles created by coderef overloading in Type::Tiny and - Type::Coercion. - Fixes RT#130823. - Ivanov Anton++ - <https://rt.cpan.org/Public/Bug/Display.html?id=130823> - - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=129650> - - 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 @@ -1246,2493 +329,406 @@ Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org> 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 - LowerCaseSimpleStr. - Robert Rothenberg++ - <https://github.com/tobyink/p5-type-tiny/pull/47> - - [ Documentation ] - - Fix Type::Params documentation error. - Nelo Onyiah++ - <https://github.com/tobyink/p5-type-tiny/pull/45> - - Fix Types::Standard documentation error: incorrect third-party module - name. - Nelo Onyiah++ - <https://github.com/tobyink/p5-type-tiny/pull/46> - 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. - <https://rt.cpan.org/Public/Bug/Display.html?id=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 - 1.003_008. - Fixes RT#125942. - <https://rt.cpan.org/Public/Bug/Display.html?id=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 - particular. - - 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 - [ REGRESSIONS ] - - Make Error::TypeTiny aware of some newer internal modules. - - [ Bug Fixes ] - - Fix error messages generating deep explanations of some parameterized - types. - Fixes RT#125765. - KB Jørgensen++ - <https://rt.cpan.org/Public/Bug/Display.html?id=125765> - - [ Test Suite ] - - Improve test coverage. - - Test Type::Utils' match_on_type's support for wantarray on strings of - code. - - [ Other ] - - Improve processing of parameters to Types::Standard's parameterized type - constraints - - 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 - parameters. - - 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 - correctness). - Fixes RT#125132. - <https://rt.cpan.org/Public/Bug/Display.html?id=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. - <https://rt.cpan.org/Public/Bug/Display.html?id=122305> - - [ Other ] - - Added: Allow type libraries to mark certain type constraints as - deprecated. - Fixes RT#124728. - <https://rt.cpan.org/Public/Bug/Display.html?id=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ć++ - <https://rt.cpan.org/Public/Bug/Display.html?id=124067> - 1.003_003 2018-06-10 - [ BACK COMPAT ] - - 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. - <https://rt.cpan.org/Public/Bug/Display.html?id=121762> - 1.003_000 2018-05-20 - [ Bug Fixes ] - - Compatibility with constants and with CV-in-stash optimisation. - Fixes RT#123408. - <https://rt.cpan.org/Public/Bug/Display.html?id=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. - <https://rt.cpan.org/Public/Bug/Display.html?id=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 - options. - - 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. - <https://rt.cpan.org/Public/Bug/Display.html?id=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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=121764> - 1.001_014 2017-05-19 - - Include trailing line break at the end of stringified version of some - exceptions. - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=101582> - <https://github.com/tobyink/p5-type-tiny/pull/16> - - 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 - [ BACK COMPAT ] - - RegexpRef now accepts blessed objects if $object->isa('Regexp') returns - true. - - [ 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 - environment. - 1.001_009 2017-05-13 - - Rewrite some benchmarking scripts to use - Benchmark::Featureset::ParamCheck. - - 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 - english_list(). - - [ 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 - Params::ValidationCompiler. - - 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 - Types::Standard. - 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. - <https://rt.cpan.org/Public/Bug/Display.html?id=100780> - 1.001_005 2017-04-19 - [ Bug Fixes ] - - 02-api.t should check version of Moose available. - <https://github.com/tobyink/p5-type-tiny/pull/20> - - 20-unit/Type-Utils/warnings.t should check version of Test::Warnings. - Alexandr Ciornii++ - <https://github.com/tobyink/p5-type-tiny/pull/21> - - Fix minor typos in documentation for Types::Standard. - Zoffix Znet++ - <https://github.com/tobyink/p5-type-tiny/pull/30> - - Fix variable name typo in documentation for Type::Params. - Lucas Buchala++ - <https://github.com/tobyink/p5-type-tiny/pull/37> - - [ Documentation ] - - Include projected release date for Type::Tiny 1.002000 in NEWS. - - [ Test Suite ] - - Bundle a test case for GH issue 14. - <https://github.com/tobyink/p5-type-tiny/issues/14> - - [ Other ] - - Improved error location reporting for Moo - Peter Valdemar Mørch++ - <https://github.com/tobyink/p5-type-tiny/pull/35> - - Updated: NumericCode now coerces from strings with whitespace in them, - like MooseX::Types::Common::Numeric. - Denis Ibaev++ - <https://github.com/tobyink/p5-type-tiny/pull/22> - 1.001_004 2017-02-06 - - Attempting ArrayRef[Int, Int] or similar now throws an exception. - Fixes RT#105299. - Thomas Sibley++ - <https://rt.cpan.org/Public/Bug/Display.html?id=105299> - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=99312> - - 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 - Exporter::Tiny. - - [ 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 - it.) - - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=98458> - - Fix issues with coercions and native attribute traits with some oldish - versions of Moose on oldish versions of Perl. - Fixes RT#98159. - Peter Flanigan++ - <https://rt.cpan.org/Public/Bug/Display.html?id=98159> - - [ Documentation ] - - Updated NEWS file. - - Updated TODO file. - - Updates to Type::Tiny::Manual::UsingWithMoose, - Type::Tiny::Manual::UsingWithMoo, and - Type::Tiny::Manual::UsingWithMouse. - - [ 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 - behaviours. - 1.000006 2017-01-30 - [ Bug Fixes ] - - Fix escaping within q{...} in a test case. - Fixes RT#114386. - Karen Etheridge++ - <https://rt.cpan.org/Public/Bug/Display.html?id=114386> - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=99312> - - [ Test Suite ] - - Fix annoying warning message in test suite with recent versions of - Exporter::Tiny. - 1.000004 2014-09-02 - [ Bug Fixes ] - - Fix for Type::Registry::DWIM. - Fixes RT#98458. - Marcel Montes++ - <https://rt.cpan.org/Public/Bug/Display.html?id=98458> - - Fix issues with coercions and native attribute traits with some oldish - versions of Moose on oldish versions of Perl. - Fixes RT#98159. - Peter Flanigan++ - <https://rt.cpan.org/Public/Bug/Display.html?id=98159> - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=98362> - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=98113> - 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 - Type::Tiny::Manual::Coercions. - <http://purl.org/NET/cpan-uri/rt/ticket/93345> - - [ 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++ - <http://purl.org/NET/cpan-uri/rt/ticket/97684> - - 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. - <http://purl.org/NET/cpan-uri/rt/ticket/93345> - 0.047_07 2014-08-04 - [ Bug Fixes ] - - The extract_type function was missing from Type::Parser's @EXPORT_OK - list. - - [ 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 - frozen. - - 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++ - <http://purl.org/NET/cpan-uri/rt/ticket/97516> - - 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++ - [ REGRESSIONS ] - - Introduced bug concerning coercions to parameterized Dicts with a - mixture of inlineable and non-inlineable optional values. - <http://purl.org/NET/cpan-uri/rt/ticket/98362> - - [ 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 - compile_match_on_type. - - Test code from SYNOPSIS sections (only in xt). - - Test exceptions thrown by Types::Standard::ScalarRef. - - Test that Sub::Quote-enabled coderefs generated by Type::Tiny and - Type::Coercion can actually be retrieved by Sub::Quote. - - Test the Type::Coercion overloading of ~~. - - Test warnings raised by Type::Utils::declare(). - - Tests for Test::TypeTiny::matchfor(). - - Tests for dynamically delegated Type::Tiny an Type::Coercion methods. - - Tests for introspection methods of Type::Coercion. - - Tests for introspection methods of Types::TypeTiny. - - [ Other ] - - Straighten out the relationships between Type::Coercion and its - subclasses. - - Type:Utils::match_on_type no longer automatically loads Types::Standard. - 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 - *type*. - - [ Test Suite ] - - Check Type::Library-based type libraries can extend MouseX::Types-based - type libraries. - - Check that Type::Registry works in conjunction with MouseX::Types. - (There's some TODO stuff there.) - - Checks for more Error::TypeTiny::Assertion explanations (Tuple, Duck, - Intersection, Union, Dicts containing slurpy things). - - Checks non-inlineable deep coercions for Tuple. - - Fake a very old Validation::Class::Simple for a certain test by - overriding $Validation::Class::Simple::VERSION. - - Improved type constraint constructor tests (exceptions thrown for bad - parameters, coercion=>ARRAY|CODE parameter). - - Improved type introspection method tests - (find_parent/is_supertype_of/is_subtype_of/is_strictly_supertype_of/is_s - trictly_subtype_of). - - Test the immutability of Type::Coercion::Union. - - Tests for `isa`. - - Tests for non-inlineable type constraints in `match_on_type` and - `compile_match_on_type`. - - Tests for various little methods which were added for - Moose/Mouse-compatibility. - - [ Packaging ] - - Bundle my TODO file. - - [ Other ] - - Better `isa` faking - returns true to Class::MOP::Object. - 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. - <https://github.com/tobyink/p5-type-tiny-xs/issues/1> - - Stop using base.pm. - - Test exceptions thrown by Type::Tiny::Class. - - Test exceptions thrown by Type::Tiny::Enum. - - Test exceptions thrown by Type::Tiny::Role. - - Test the Error::TypeTiny::Compilation exception class. - - Test the Error::TypeTiny::WrongNumberOfParameters exception class. - - [ Other ] - - Allow Enums containing hyphens to be accelerated by Type::Tiny::XS. - - 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. - <https://gist.github.com/tobyink/71eab715ac16178cbcfb> - - Type::Tiny::Union is now XS-accelerated. - <https://gist.github.com/tobyink/71eab715ac16178cbcfb> - 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. - <https://gist.github.com/tobyink/dfdf9bb826a530781e3d> - - Types::Common::Numeric::PositiveInt is now XS-accelerated. - <https://gist.github.com/tobyink/dcc15cf283c90c749501> - - Types::Common::Numeric::PositiveOrZeroInt is now XS-accelerated. - <https://gist.github.com/tobyink/dcc15cf283c90c749501> - - Types::Common::String::NonEmptyStr is now XS-accelerated. - <https://gist.github.com/tobyink/dcc15cf283c90c749501> - - Types::Standard::Map is now XS-accelerated. - <https://gist.github.com/tobyink/e733f839cecc0dd193a6> - - Types::Standard::Tuple is now XS-accelerated. - <https://gist.github.com/tobyink/e733f839cecc0dd193a6> - - Unify _USE_XS/_USE_MOUSE logic in Type::Tiny. (It was previously - scattered across Types::Standard and various other modules.) - 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 - 0.008. - - 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 - [ REGRESSIONS ] - - 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 - Type::Tiny::Duck. - 0.045_02 2014-07-10 - [ Bug Fixes ] - - Remove outdated references to the overloaded + operator from - Types::Standard documentation. - Fixes RT#96379. - Diab Jerius++ - <https://rt.cpan.org/Public/Bug/Display.html?id=96379> - - [ 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. - omega++ - - 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 - Type::Tiny::Manual::Libraries. - Alexander Hartmaier++ - - Mention coercion=>1 and why it is useful in - Type::Tiny::Manual::Coercions. - 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 - $type->isa('Moose::Meta::TypeConstraint::Union'). - 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 - library. - 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 - Type::Tiny::Manual::Policies. - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=94196> - - [ 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.001004. - 0.041_01 2014-03-17 - [ BACK COMPAT ] - - 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 - instead. - 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 - coercions. - 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++ - <https://github.com/tobyink/p5-type-tiny/pull/8> - 0.039_03 2014-02-05 - [ Bug Fixes ] - - Make Type::Utils::declare_coercion work outside type libraries. - Fixes RT#92591. - Diab Jerius++ - <https://rt.cpan.org/Public/Bug/Display.html?id=92591> - - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=92571> - 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 - covers. - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=91468> - - 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++ - <http://purl.org/NET/cpan-uri/rt/ticket/90096> - - [ 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=91153> - 0.033_03 2013-11-26 - [ Bug Fixes ] - - Fix bug in Type::Params::multisig with regard to slurpy parameters. - Fixes RT#90865. - Diab Jerius++ - <https://rt.cpan.org/Public/Bug/Display.html?id=90865> - - [ Documentation ] - - Make Error::TypeTiny::Assertion's explain method act more according to - documentation. - Fixes RT#90867. - Diab Jerius++ - <https://rt.cpan.org/Public/Bug/Display.html?id=90867> - - [ 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=90096> - - [ 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 - HashRef[Num]]. - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=89936> - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=89696> - - [ 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 - 0.027_09. - - Fix validate_explain error messages in Type::Tiny::Union. - Fixes RT#89279. - Brendan Byrd++ - <https://rt.cpan.org/Public/Bug/Display.html?id=89279> - - [ Other ] - - $Type::Tiny::DD can be set numerically. - Fixes RT#89251. - Tim Bunce++ - <https://rt.cpan.org/Public/Bug/Display.html?id=89251> - - Improve error messages under Moo. - Fixes RT#89234. - Graham Knop++ - <https://rt.cpan.org/Public/Bug/Display.html?id=89234> - 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 - [ BACK COMPAT ] - - Renamed the Type::Exception modules to Error::TypeTiny. - Fixes RT#89280. - Brendan Byrd++ - <https://rt.cpan.org/Public/Bug/Display.html?id=89280> - - [ 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=89251> - - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=88655> - - Updated NEWS file. - 0.027_09 2013-09-20 - [ REGRESSIONS ] - - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=88798> - - 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 - Type::Tiny. - - 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 - Type::Exception::Assertion. - - 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. - <http://purl.org/NET/cpan-uri/rt/ticket/88452> - 0.027_01 2013-09-07 - [ REGRESSIONS ] - - 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++ - <http://purl.org/NET/cpan-uri/rt/ticket/88452> - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=88291> - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=88277> - - [ 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 - paramaters. - Fixes RT#88064. - Brendan Byrd++ - <https://rt.cpan.org/Public/Bug/Display.html?id=88064> - - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=87846> - - Improve ugly type assertion failure messages when given structures of - nested references. - Fixes RT#87999. - Tim Bunce++ - <https://rt.cpan.org/Public/Bug/Display.html?id=87999> - - [ 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 - quoting. - - Fix Types::Standard::Dict differentiating between undef and not exists. - Fixes RT#87443. - Tim Bunce++ - <https://rt.cpan.org/Public/Bug/Display.html?id=87443> - - [ 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 - traits. - - 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 - in. - 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 - suite. - 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++ - <https://github.com/tobyink/p5-type-tiny/pull/4> - - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=86892> - - [ 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=86893> - - Mention in Type::Tiny::Manual::Libraries that the `extends` function is - no longer exported by default; update example code. - Fixes RT#86813. - Pierre Masci++ - <https://rt.cpan.org/Public/Bug/Display.html?id=86813> - <https://github.com/tobyink/p5-type-tiny/pull/2> - - [ 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=86891> - 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 - properly. - 0.014 2013-06-28 - [ Documentation ] - - Updated NEWS file. - 0.013_01 2013-06-27 - [ BACK COMPAT ] - - 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 - signatures.) - - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=86383> - - 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. - <http://purl.org/NET/cpan-uri/rt/ticket/86172> - - 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 - method. - 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 - [ REGRESSIONS ] - - 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. - <https://rt.cpan.org/Ticket/Display.html?id=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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=86233> - - Fix unintuitive Dict deep coercions. - Fixes RT#86239. - Vyacheslav Matyukhin++ - <https://rt.cpan.org/Public/Bug/Display.html?id=86239> - - [ 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=86172> - - [ 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 - [ BACK COMPAT ] - - 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 - involved. - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=85895> - - The combination of Dict, Optional and coercions seems to have been - broken in certain circumstances. - Fixes RT#86001. - Diab Jerius++ - <https://rt.cpan.org/Ticket/Display.html?id=86001> - 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++ - <https://rt.cpan.org/Public/Bug/Display.html?id=85911> - - [ 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 - Types::Standard::Object. - - Type::Tiny::Enum types now have a parent type constraint of - Types::Standard::Str. - - Type::Tiny::Intersection types now have an arbitrary parent type - constraint. - - Type::Tiny::Role types now have a parent type constraint of - Types::Standard::Object. - - 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... - [ BACK COMPAT ] - - 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 - Type::Parser. - 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 - messages. - - 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 - Types::Standard::{ArrayRef,HashRef,ScalarRef}. - - Test::TypeTiny performs more thorough testing if EXTENDED_TESTING - environment variable is set. - - Throw exception if people attempt to set parent types for - Type::Tiny::{Class,Role,Duck,Enum,Union,Intersection}. - 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 - Type::Tiny::Intro. - 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 - descriptions. - - [ Other ] - - Minor updates to to_TypeTiny following Validation::Class 7.900048 - release. - 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 -> - Types::Standard::DeepCoercion. - - 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++ - <https://bitbucket.org/tobyink/p5-type-tiny/pull-request/1/fix-typo-in-d - ocs/diff> - - [ 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 - mid-list. - - [ 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++ - <http://play-perl.org/quest/517efcef53a418983f000012> - 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++ - <http://play-perl.org/quest/51682ae05efa74c95c00001e> - - Automatic coercion for parameterized Tuple will no longer drop values to - force a coercion. - Vyacheslav Matyukhin++ - <http://play-perl.org/quest/51682ae05efa74c95c00001e> - 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 - Eval::TypeTiny. - 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 - Sub::Exporter::Lexical. - - [ Test Suite ] - - Add test case using Exporter::TypeTiny with Sub::Exporter::Lexical. - - [ Other ] - - ASCII-only strings are now accepted by the Chars constraint in - Types::Standard. - - Type::Tiny, Type::Coercion and their subclasses no longer call - Types::TypeTiny->import method. - - Types::TypeTiny lazily loads Exporter::TypeTiny - i.e. it loads - Exporter::TypeTiny when Types::TypeTiny->import is first called. - 0.003_07 2013-04-26 - [ 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 - Mouse::Meta::TypeConstraint. - - 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 - Types::Standard. - - 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, - Exporter::TypeTiny. - 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 - request. - 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 - objects. - - 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 - frameworks. - - 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 - [ BACK COMPAT ] - - 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: - Test::TypeTiny. - - 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 |