diff options
author | Jonas Smedegaard <dr@jones.dk> | 2014-04-30 02:45:08 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2014-04-30 02:45:08 +0200 |
commit | c8c5af50ca5bc22f28dad45270897aa6f38bdedf (patch) | |
tree | 5f36b89ceedeade17a68f292c42515dfec44acc1 /Changes | |
parent | e9e0996971f03804dce8fc3fa768bbb6ba3652e0 (diff) | |
parent | 199119d11ed4d556ca9eff4a4c33ef1cb5816d6c (diff) |
Imported Upstream version 0.042
Diffstat (limited to 'Changes')
-rw-r--r-- | Changes | 1668 |
1 files changed, 1299 insertions, 369 deletions
@@ -4,128 +4,877 @@ Type-Tiny Created: 2013-03-23 Home page: <https://metacpan.org/release/Type-Tiny> Bug tracker: <http://rt.cpan.org/Dist/Display.html?Queue=Type-Tiny> -Maintainer: Toby Inkster <mailto:tobyink@cpan.org> +Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org> -0.016 2013-07-16 +0.042 2014-04-02 - - (Documentation) Add some pod links. - - (Documentation) Updated NEWS file. + [ Documentation ] + - Include more recent results in benchmarking example scripts. + - List currently unstable/experimental parts of the distribution in + Type::Tiny::Manual::Policies. -0.015_05 2013-07-15 +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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/Display.html?id=89279> + + [ Other ] + - $Type::Tiny::DD can be set numerically. + Fixes RT#89251. + Tim Bunce++ + <https://rt.cpan.org/Ticket/Display.html?id=89251> + - Improve error messages under Moo. + Fixes RT#89234. + Graham Knop++ + <https://rt.cpan.org/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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/Ticket/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 - - - (Bugfix Documentation) Clarify when inlining via Sub::Quote may be less - efficient than hand-written inlining. - Fixes RT#86893 - ++$TIMB - - (Bugfix Documentation) Mention in Type::Tiny::Manual::Libraries that the - `extends` function is no longer exported by default; update example - code. - Fixes RT#86813 - ++"Pierre Masci" - - (Bugfix) Allow an inline_as block to return a list of strings (which are +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/Ticket/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/Ticket/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 - ++$TIMB + Fixes RT#86891. + Tim Bunce++ + <https://rt.cpan.org/Ticket/Display.html?id=86891> -0.015_03 2013-07-08 +0.015_03 2013-07-08 - - (Addition) Implement TIESCALAR, TIEARRAY and TIEHASH methods for - Type::Tiny; this improves Type::Tie integration. + - 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 +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 +0.015_01 2013-07-05 - - (Addition) Type::Utils now provides a `dwim_type` function; this is - powered by a hidden Type::Registry::DWIM package. + - 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 +0.014 2013-06-28 - - (Documentation) Updated NEWS file. + [ Documentation ] + - Updated NEWS file. -0.013_01 2013-06-27 +0.013_01 2013-06-27 - - (Addition) 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.) - - (Removal) Type::Parser functions no longer accept an arrayref of tokens, - as they expect to pull tokens from a stream as required. - - (Removal) Type::Parser no longer provides a `tokens` function as it no - longer pre-emptively tokenizes the whole string it is given. + [ 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 +0.012 2013-06-25 - - (Documentation) Updated NEWS file. + [ Documentation ] + - Updated NEWS file. -0.011_03 2013-06-25 +0.011_03 2013-06-25 - - (Bugfix) 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. + [ 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 +0.011_02 2013-06-25 - - (Bugfix) Types::Standard 0.009_02 stopped including 'library' attribute - in its types, and thus broke MooX::late. Type::Library modified to make + [ 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. - ++$HAARG + Graham Knop++ -0.011_01 2013-06-25 +0.011_01 2013-06-25 - - (Addition) 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. - - (Addition) Types::Standard::to_TypeTiny now accepts unblessed coderefs - and converts them to type constraints. This allows things like `Int & - sub { $_ < 10 }` to work. - - (Bugfix) B::SPECIAL-related fix. - Fixes RT#86383 - ++$PJFL - - (Bugfix) 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). + [ Bug Fixes ] + - B::SPECIAL-related fix. + Fixes RT#86383. + Peter Flanigan++ + <https://rt.cpan.org/Ticket/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 +0.010 2013-06-24 - - (Documentation) Updated NEWS file. + [ Documentation ] + - Updated NEWS file. -0.009_07 2013-06-24 +0.009_07 2013-06-24 - - (Packaging) 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. - - (Packaging) More test cases for interacting with MooseX::Types type - constraints. + [ 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. @@ -135,143 +884,198 @@ Maintainer: Toby Inkster <mailto:tobyink@cpan.org> - Types::Standard::to_TypeTiny now sets 'display_name' instead of 'name' on generated type constraints. -0.009_06 2013-06-23 +0.009_06 2013-06-23 - - (Bugfix) Careful calling the DOES method (it doesn't exist in Perl 5.8). + [ Bug Fixes ] + - Careful calling the DOES method (it doesn't exist in Perl 5.8). -0.009_05 2013-06-23 +0.009_05 2013-06-23 - - (Bugfix) Type::Registry does the AUTOLOAD thing, so ought to provide a - DESTROY method. + [ Bug Fixes ] + - Type::Registry does the AUTOLOAD thing, so ought to provide a DESTROY + method. -0.009_04 2013-06-23 +0.009_04 2013-06-23 - - (Bugfix) Type::Tiny::Class shouldn't completely trust @ISA when - establishing parent class heirarchies. - - (Update) Support Type::API interfaces. + [ 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 -0.009_03 2013-06-22 + [ Bug Fixes ] + - Fix Types::Standard compilation errors under Perl 5.8.x. - - (Bugfix) Fix Types::Standard compilation errors under Perl 5.8.x. +0.009_02 2013-06-22 -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. - - (Bugfix) Fix for compiled_checks for type constraints inheriting from + [ Bug Fixes ] + - Fix for compiled_checks for type constraints inheriting from Type::Tiny::Class, etc. - Fixes GH#1 - ++$RSIMOES - - (Regression) 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. + 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 +0.009_01 2013-06-21 - - (Addition) Reply::Plugin::TypeTiny. - - (Bugfix) Fix error messages from type constraints with null constraint - coderefs. + [ Bug Fixes ] + - Fix error messages from type constraints with null constraint coderefs. -0.008 2013-06-21 + [ Other ] + - Added: Reply::Plugin::TypeTiny. - - (Documentation) Updated NEWS file. +0.008 2013-06-21 -0.007_10 2013-06-21 + [ Documentation ] + - Updated NEWS file. - - (Addition) Type::Parser now exports a _std_eval function useful for - testing. - - (Addition) Type::Parser now supports parentheses in its DSL. - - (Bugfix) Fixed many small parsing bugs in Type::Parser. - - (Bugfix) MooseX::Types objects used in Type::Tiny::Union, +0.007_10 2013-06-21 + + [ Bug Fixes ] + - Fixed many small parsing bugs in Type::Parser. + - MooseX::Types objects used in Type::Tiny::Union, Type::Tiny::Intersection and parameterized Type::Tiny type constraints would break in some circumstances, as Types::TypeTiny::to_TypeTiny was failing to convert them to native Type::Tiny type constraints. - Fixes RT#86303 - - (Documentation) Document status of Type::Registry. - - (Packaging) Better test cases for Type::Registry. - - (Packaging) Test cases for Type::Parser. + 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 +0.007_09 2013-06-18 - - (Bugfix) Fix problems inlining Dict deep coercions where the target - constraint could not be inlined. - Fixes RT#86233 - ++$MMCLERIC - - (Bugfix) Fix unintuitive Dict deep coercions. - Fixes RT#86239 - ++$MMCLERIC + [ 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/Ticket/Display.html?id=86233> + - Fix unintuitive Dict deep coercions. + Fixes RT#86239. + Vyacheslav Matyukhin++ + <https://rt.cpan.org/Ticket/Display.html?id=86239> -0.007_08 2013-06-17 + [ Test Suite ] + - Bundle various tests for deep Dict coercions. + Vyacheslav Matyukhin++ - - (Bugfix) Fix problem with interaction between constraints, coercions, - and Moose classes that inherit from Moo classes. - Fixes RT#86172 - ++$PJFL +0.007_08 2013-06-17 -0.007_07 2013-06-16 + [ 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/Ticket/Display.html?id=86172> - - (Bugfix) Partly roll back prototype changes. Now we use `;$` for Perl - since 5.14, but `;@`, for older Perls that don't support `;$` so well. + [ Test Suite ] + - Bundle test for interaction between constraints, coercions, and Moose + classes that inherit from Moo classes. + Peter Flanigan++ -0.007_06 2013-06-16 +0.007_07 2013-06-16 - - (Addition) Type::Exception is now capable of supplying stack traces - (requires Devel::StackTrace). - - (Documentation) Document the evaluation environment used by - Eval::TypeTiny. - - (Documentation) Rearranged documentation for Type::Utils, avoiding - previous split into Moose-like and non-Moose-like functions. + [ 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. - ++$MSTROUT + 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. - - Type::Utils no longer exports 'extends' by default!! -0.007_05 2013-06-12 +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. - - (Addition) Add match_on_type and compile_match_on_type to Type::Utils. - - (Addition) Test cases for InstanceOf, ConsumerOf, HasMethods and Enum - types defined by Types::Standard. - - (Documentation) Mention Scalar::Does and Type::Tie in manual. - - (Documentation) Vastly improved documentation for Type::Utils. - - (Documentation) 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 - - - (Bugfix) Overloading of `$type eq $type` now works in Perl 5.8. - Fixes RT#85895 - ++$MMCLERIC - - (Bugfix) The combination of Dict, Optional and coercions seems to have - been broken in certain circumstances. - Fixes RT#86001 - ++$DJERIUS - -0.007_03 2013-06-08 - - - (Bugfix) 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 - ++$DJERIUS - - (Documentation) Better document Type::Tiny's 'parents' method which - differs from the Moose method of the same name. - -0.007_02 2013-06-04 - - - (Addition) New constraints added to Types::Standard: InstanceOf, - ConsumerOf, HasMethods and Enum. - ++$HAARG - - (Documentation) Improvements to Type::Tiny::Manual. - - (Documentation) Improvements to Type::Tiny::Manual::Params, including - rewritten manual processing section, and processing type constraints in - function signatures via Function::Parameters/Attribute::Constract. - - (Packaging) Test cases for usage with Function::Parameters. +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/Ticket/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/Ticket/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. @@ -288,60 +1092,81 @@ Maintainer: Toby Inkster <mailto:tobyink@cpan.org> - 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... +0.007_01 2013-06-01 Happy birthday to me... - - (Addition) Type::Parser. - - (Addition) Types::Standard now has LaxNum/StrictNum type constraints, - and Num selects between them. - - (Bugfix) Fix $VERSION defined in Type::Library. - - (Packaging) Generate README from Type::Tiny::Manual instead of - Type::Tiny. + [ 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 +0.006 2013-05-28 - - (Packaging) Exporter::TypeTiny::mkopt_hash now works. + [ Bug Fixes ] + - Exporter::TypeTiny::mkopt_hash now works. -0.005_08 2013-05-28 +0.005_08 2013-05-28 - - (Packaging) Rearrange test cases; add 00-begin.t. - - (Update) Use JSON::PP instead of JSON in test cases, because JSON::PP is - a core module since Perl 5.14. + [ 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 +0.005_07 2013-05-28 - - (Addition) Add pure-Perl Mouse to examples/benchmark-constraints.pl. - - (Bugfix) Assertions using the assert_return pattern were triggering - FATAL warnings when inlined with Sub::Quote. Inlined assertions are now + [ 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";'. -0.005_06 2013-05-26 + [ 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. - - (Bugfix) Fix StrMatch to properly support regexps containing slashes. + [ Other ] - Fold Types::Standard::DeepCoercion into Types::Standard. -0.005_05 2013-05-24 +0.005_05 2013-05-24 - - (Addition) Type::Tiny now has an assert_return method, which is used in - most places in preference to assert_valid. - - (Removal) Removed Type::Registry from the release; it will return at a - later date. - - (Update) Suggest newer version of Validation::Class. + [ 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 +0.005_04 2013-05-17 - - (Addition) Deep explanations for - Types::Standard::{Map,Maybe,Ref,Dict,Tuple} type constraint assertion - failures. - - (Addition) Type::Exception::Compilation. - - (Bugfix) Fixed bug in non-inlined code for Types::Standard::MkOpt. + [ 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 @@ -349,108 +1174,146 @@ Maintainer: Toby Inkster <mailto:tobyink@cpan.org> - Throw exception if people attempt to set parent types for Type::Tiny::{Class,Role,Duck,Enum,Union,Intersection}. -0.005_03 2013-05-14 +0.005_03 2013-05-14 - - (Removal) Bytes and Chars type constraints removed from Types::Standard. - - (Removal) Decode and Encode coercions removed from Types::Standard. - 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 -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++ - - (Documentation) Fix a typo in declare_coercion in - Type::Tiny::Manual::Coercions. - ++$MMCLERIC - - (Documentation) Link to Type::Tiny::Manual::Libraries instead of - non-existing Type::Tiny::Intro. - ++$MMCLERIC +0.005_01 2013-05-07 -0.005_01 2013-05-07 + [ Bug Fixes ] + - Type::Library should require Perl 5.8.1, not 5.8.3. - - (Addition) ArrayLike type added to Types::TypeTiny. - - (Addition) Type::Registry. - - (Bugfix) 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 +0.004 2013-05-06 - - (Bugfix) Eval::Closure now strips line breaks and other unsavoury - characters from descriptions. + [ 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 +0.003_16 2013-05-05 + + [ Documentation ] + - Document that Map[`k,`v] has a deep coercion. + - Improve Type::Coercion documentation. - - (Documentation) Document that Map[`k,`v] has a deep coercion. - - (Documentation) 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 +0.003_15 2013-05-03 - - (Addition) Improvements to to_TypeTiny function, including accepting + - Improvements to to_TypeTiny function, including accepting Validation::Class::Simple objects. -0.003_14 2013-05-03 +0.003_14 2013-05-03 +0.003_13 2013-05-03 -0.003_13 2013-05-03 - - - (Bugfix) Don't crash in old versions of Moose that have no + [ 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. - - Fix typo in Type::Params documentation. - ++$DJERIUS -0.003_12 2013-05-01 +0.003_12 2013-05-01 + + [ Bug Fixes ] + - Sane behaviour for Types::Standard's 'slurpy' function when it appears + mid-list. - - (Bugfix) 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. - ++$MMCLERIC + Vyacheslav Matyukhin++ + <http://play-perl.org/quest/517efcef53a418983f000012> -0.003_11 2013-04-30 +0.003_11 2013-04-30 - - (Addition) Test cases for Eval::TypeTiny. + [ Test Suite ] + - Test cases for Eval::TypeTiny. + + [ Other ] - Automatic coercion for parameterized Dict will no longer drop key/value pairs to force a coercion. - ++$MMCLERIC + Vyacheslav Matyukhin++ + <http://play-perl.org/quest/51682ae05efa74c95c00001e> - Automatic coercion for parameterized Tuple will no longer drop values to force a coercion. - ++$MMCLERIC + Vyacheslav Matyukhin++ + <http://play-perl.org/quest/51682ae05efa74c95c00001e> -0.003_10 2013-04-29 +0.003_10 2013-04-29 - - (Addition) Bundle Type::Params, which had previously appeared on CPAN in - a separate developer release. - - (Addition) Much of the stringy eval stuff has been factored out to a new - module: Eval::TypeTiny. - - (Addition) Type::Tiny::SUPPORT_SMARTMATCH constant. - - (Documentation) Improve Exporter::TypeTiny documentation. - - (Documentation) Improve advice on inlining type constraints and - coercions. - - (Packaging) Bump version of Test::More dependency fom 0.88 to 0.96. + [ 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 -0.003_09 2013-04-28 + [ Documentation ] + - Document usage with Params::Check and Object::Accessor. - - (Addition) 'Tied' type constraint added to Types::Standard. - - (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 +0.003_08 2013-04-26 - - (Addition) Test case using Exporter::TypeTiny with - Sub::Exporter::Lexical. - - (Documentation) More Exporter::TypeTiny docs, including usage with + [ 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 @@ -458,96 +1321,123 @@ Maintainer: Toby Inkster <mailto:tobyink@cpan.org> - 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 +0.003_07 2013-04-26 - - (Bugfix) Fix method conflicts when exporting type constraints to roles. - ++$BOWTIE - - (Documentation) Document usage with Class::InsideOut. - - (Documentation) Minor improvements to manual. + [ Bug Fixes ] + - Fix method conflicts when exporting type constraints to roles. + Kevin Dawson++ -0.002 2013-04-26 + [ Documentation ] + - Document usage with Class::InsideOut. + - Minor improvements to manual. - - (Addition) Chars and Bytes types added to Types::Standard. - - (Bugfix) Fix method conflicts when exporting type constraints to roles. - ++$BOWTIE - - (Bugfix) Prevent warnings (about 'my $val' masking a previously declared - variable) when several Str checks are being inlined in close proximity, - such as Tuple[Str,Str] - - (Documentation) Link from Test::TypeTiny to Test::Deep::Type. - - Avoid unnecessarily regenerating parameterized type constraints. - - Make Type::Tiny's has_coercion method more DWIM. +0.003_06 2013-04-25 -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). - - (Addition) Types::TypeTiny::to_TypeTiny can now coerce from a - Mouse::Meta::TypeConstraint. - - (Documentation) Add lots of stuff to Type::Tiny::Manual::UsingWithMouse. - - (Documentation) Document deep coercions (feature added in 0.003_01). + [ 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 +0.003_05 2013-04-19 - - (Addition) Allow coercions to accept parameters. - - (Addition) Chars and Bytes types added to Types::Standard. - - (Addition) Encode, Decode, Join and Split coercions added to - Types::Standard. - - (Addition) Type::Tiny::Class now has a plus_constructors method. - - (Bugfix) Prevent warnings (about 'my $val' masking a previously declared + [ 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) Document Exporter::TypeTiny. - - (Documentation) Type::Tiny::Manual::Coercions. -0.003_04 2013-04-18 + [ 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 +0.003_03 2013-04-17 - - (Addition) Add OptList data type to Types::Standard, plus MkOpt - coercion. + - 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 +0.003_02 2013-04-16 - - (Documentation) Document how to process sub parameters with Type::Tiny, - and point people towards Type::Params. + [ 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 +0.003_01 2013-04-16 - - (Addition) Allow subtypes to inherit coercions from their parent type - constraint. (They do not by default.) - - (Addition) Build coercions automatically for certain type parameterized - constraints. Say there's a Num->Int coercion defined; then we should be - able to coerce ArrayRef[Num]->ArrayRef[Int]. - - (Addition) Overload "+" operator for Type::Coercion and Type::Tiny - allows coercions to be added to each other, and added to type - constraints. - - (Addition) Type::Library packages can now include "standalone" - Type::Coercion objects, not attached to a type constraint. These can be - exported on request. - - (Documentation) Link from Test::TypeTiny to Test::Deep::Type. + [ 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. -0.001 2013-04-15 # First public release + [ Test Suite ] + - More test cases for Optional[`a] within Dict[`a]. - - (Addition) More test cases for Optional[`a] within Dict[`a]. - - (Bugfix) Some inline code assumed that it would be compiled in a package - that had 'blessed' imported. - - (Bugfix) Some inline code wasn't wrapped in parentheses. - - (Documentation) Minor improvements. + [ 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 @@ -555,114 +1445,154 @@ Maintainer: Toby Inkster <mailto:tobyink@cpan.org> - Weaken the reference from a Moose::Meta::TypeConstraint object to its Type::Tiny origin. -0.000_12 2013-04-12 +0.000_12 2013-04-12 - - (Documentation) Fix minor typo. + [ Documentation ] + - Fix minor typo. -0.000_11 2013-04-11 +0.000_11 2013-04-11 - - (Bugfix) Fix prototype for Type::Utils::as. + [ 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 +0.000_10 2013-04-09 + + [ Bug Fixes ] + - Fix incorrect Test::Requires line in 'mouse-coercion.t'. - - (Bugfix) 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 +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. - - (Addition) Bundle benchmarking scripts. - - (Documentation) Fill in the Usage with Moose section of the fine manual. - - (Packaging) Tidy up the 'examples' directory. - - (Packaging) When generating Moose/Mouse constraints from Type::Tiny - objects, prefer to generate anonymous ones. + [ Other ] + - When generating Moose/Mouse constraints from Type::Tiny objects, prefer + to generate anonymous ones. -0.000_08 2013-04-07 +0.000_08 2013-04-07 - - (Addition) Types::TypeTiny::to_TypeTiny can be used to coerce a Moose - type constraint object to Type::Tiny. - Most parts of the API that accept Type::Tiny objects (e.g. Type::Utils::from()) now also accept Moose::Meta::TypeConstraint objects. - Rewrite most of the functions exported by Type::Library-based type libraries to cope better with being used mid-list. + - 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. -0.000_07 2013-04-06 - - - (Addition) Type::Coercion::Union - automatically handles coercion to - union types. - - (Bugfix) Fix inlining for Type::Tiny::Intersection. - - (Bugfix) Fix inlining of certain conditionals into coercion code. - - (Bugfix) Types within libraries, if accessed directly rather than - exported, did not accept parameters. - - (Documentation) Document constructor for Type::Tiny::Class. - - (Packaging) More test cases. - -0.000_06 2013-04-05 - - - (Addition) In Moo, type assertions and coercions are now inlined. - ++$MSTROUT - - (Addition) Monkey patch Moose::Meta::TypeConstraint to be able to - retrieve Type::Tiny constraints from inflated Moose constraints. - - (Addition) Type::Tiny now has an 'inline_assert' function. - - (Documentation) Improved documentation of parameterization attributes. - - (Documentation) Section in manual comparing Type::Tiny with various - other type library frameworks. - - (Documentation) Using Type::Tiny with Moo added to manual. - - (Packaging) More test cases. + [ 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. -0.000_05 2013-04-04 + [ Bug Fixes ] + - Fix is_parameterized method. + - Get Mouse coercions working. - - (Addition) Factor out some functions from test suite into a new module: + [ Test Suite ] + - Factor out some functions from test suite into a new module: Test::TypeTiny. - - (Bugfix) Fix is_parameterized. - - (Bugfix) Get Mouse coercions working. - - (Packaging) Rearrange test suite slightly. + - 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. - - Rename Type::Standard module to Types::Standard. - Sanity checks for type constraint names. - Types::TypeTiny bootstrapping library now takes care of vaious internal type checking requirements. -0.000_04 2013-04-03 +0.000_04 2013-04-03 - - (Addition) Finally implement Type::Coercion's has_coercion_for_type - method. - - (Addition) Type::Tiny equals/is_subtype_of/is_supertype_of/is_a_type_of + - 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. - - (Addition) Type::Tiny plus_coercions/minus_coercions/no_coercions - methods for creating subtypes with different sets of coercions. + - 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 +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]. - - (Addition) Inlined type constraints for all of Type::Standard. - - (Addition) Test cases for ScalarRef[`a]. - - (Bugfix) Fix the crashing t/moo-inflation.t test case. - - (Documentation) Document Type::Coercion's overloading. + [ 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 +0.000_02 2013-04-02 - - (Addition) StrMatch added to Type::Standard. - - (Addition) use Type::Library -base - - (Addition) use Type::Library -declare - - (Bugfix) Anchor enum regexps to beginning and end of string. - - (Documentation) Beginnings of Type::Tiny::Manual. + [ Bug Fixes ] + - Anchor enum regexps to beginning and end of string. -0.000_01 2013-04-02 # Developer preview + [ 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 |