Type-Tiny
=========
Created: 2013-03-23
Home page: <https://typetiny.toby.ink/>
Home page: <https://metacpan.org/release/Type-Tiny>
Bug tracker: <https://github.com/tobyink/p5-type-tiny/issues>
Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org>
2.007_002 2024-12-23
[ Documentation ]
- Update most examples to use features (postfix derefs, sub signatures)
from more modern versions of Perl that allow for cleaner, tidier code.
2.007_001 2024-11-24
[ Bug Fixes ]
- If Perl has been built with -Dusequadmath then cowardly refuse to use
Type::Tiny::XS's implementation of is_Int.
Andreas J König++
2.007_000 2024-10-20
- Added: The `signature_for` function in Type::Params now includes most of
the functionality of Return::Type (a separate CPAN distribution not
bundled with Type::Tiny).
- Added: The `signature_for` function in Type::Params now returns a value,
though in most contexts you'll probably want to call it in void context
anyway.
2.006000 2024-09-24
[ Documentation ]
- Update NEWS.
[ Packaging ]
- Repackage as stable. (See also the changelog for 2.005_001 and
2.005_002.)
2.005_002 2024-09-08
[ Bug Fixes ]
- Fix uninitialized warning messages from Error::TypeTiny when processing
very shallow stack traces.
Diab Jerius++
[ Documentation ]
- Fix minor typo in documentation for named parameters in `Type::Params`.
- Update copyright notices in files to 2024.
[ Other ]
- Improved initialization of variables when they are tied to a type
constraint; initialization to explicit values will work even when not
tied via the `ttie` wrapper function; if no explicit values are
provided, tied scalars will be initialized to the type's `type_default`.
So for example, `tie( my $title, Str )` will initialize `$title` to the
empty string instead of undef, and `tie( my $title, Str, 'Foo' )` will
initialize the variable to 'Foo' as was already implied by
documentation.
Daniel Mita++
XSven++
- Inlining `Int` now calls the XS implementation when available. (The
speed improvement is negligible, but it also may result in small memory
savings.)
Zaki Mughal++
<https://github.com/tobyink/p5-type-tiny/pull/145>
- Removed: Support for the ${^TYPE_PARAMS_MULTISIG} global variable has
been dropped. Using this global variable was deprecated in trial version
1.999_010 and stable version 2.000000, both of which are nearly two
years old. Use ${^_TYPE_PARAMS_MULTISIG} instead.
2.005_001 2024-09-07
[ Documentation ]
- Fixes for various typos.
Yoshikazu Sawa++
<https://github.com/tobyink/p5-type-tiny/pull/155>
- Improve documentation for the initialization of the `coercion` attribute
for `Type::Tiny`.
Diab Jerius++
[ Other ]
- Updated: Smartmatch discontinued beginning perl-5.41.3; Type::Tiny will
no longer attempt to support smartmatch if the Perl version is too high.
James E Keenan++
<https://github.com/tobyink/p5-type-tiny/pull/161>
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 ]
- Bugfix for Type::Tie+Storable issue affecting 32-bit builds of Perl.
2.002000 2023-01-01 Happy Fibonacci Day! 1/1/23
[ Bug Fixes ]
- When Foo is a parameterized StrMatch type, ensure is_Foo always returns
a single boolean value, even in list context.
Diab Jerius++
[ Documentation ]
- Update NEWS.
- Update copyright dates to 2023.
[ Packaging ]
- Repackage as stable.
2.001_002 2022-12-03
[ Test Suite ]
- Test `t/20-modules/Type-Tiny-Enum/exporter_lexical.t` will now run on
older versions of Perl, provided Lexical::Sub is installed.
[ Packaging ]
- Depend on Exporter::Tiny 1.006000 which offers lexical export support
for older versions of Perl, provided Lexical::Sub is installed.
[ Other ]
- If Type::Params signatures receive multiple unrecognized named
arguments, the error message now lists them using
Type::Utils::english_list() instead of just joining them with commas.
This means that the error message will include 'and' before the last
unrecognized named argument. If Type::Tiny::AvoidCallbacks is set to
true while the signature is compiled, the old behaviour will be
retained.
- Type::Params no longer attempts to figure out the maximum number of
expected arguments to functions which take key-value pairs. This allows
`yourfunc(y=>1,y=>2)` to behave more intuitively, with the function just
seeing the second value for `y`, instead of it throwing an exception
complaining about too many arguments.
2.001_001 2022-10-19
[ Documentation ]
- Typo fix in Type::Tiny::Manual::UsingWithMoo.
[ Other ]
- Type::Library will better detect if two types result in functions with
the same name.
- Type::Tiny::XS will now provide XS implementations of some parameterized
ArrayLike/HashLike types.
- When importing `use Type::Library -util`, Type::Library will now pass
some relevant import options to Type::Utils.
2.001_000 2022-09-29
[ Bug Fixes ]
- Avoid uninitialized warnings when creating a union between an Enum type
and a non-Enum type.
Diab Jerius++
[ Documentation ]
- Clearer documentation of Types::TypeTiny::to_TypeTiny.
[ Test Suite ]
- No longer report Type::Tie version at start of test suite, as Type::Tie
is now bundled.
[ Other ]
- Added: Type::Library now has an undocumented, but tested and hopefully
stable `_remove_type` method.
- Added: Type::Tiny now has a `definition_context` attribute/method
indicating the file and line number where a type constraint was first
defined.
- The list of packages Type::Tiny considers to be 'internal' has been
moved from Error::TypeTiny to Type::Tiny.
- Type::Tiny will now mark particular parts of its guts as readonly.
Currently this is mainly used to prevent people pushing to and popping
from type constraints which overload `@{}`.
2.000001 2022-09-29
[ Bug Fixes ]
- Avoid uninitialized warnings when creating a union between an Enum type
and a non-Enum type.
Diab Jerius++
[ Documentation ]
- Clearer documentation of Types::TypeTiny::to_TypeTiny.
[ Test Suite ]
- No longer report Type::Tie version at start of test suite, as Type::Tie
is now bundled.
2.000000 2022-09-23
[ Test Suite ]
- Minor fix for Class::Plain-related tests.
[ Packaging ]
- Repackage Type-Tiny 1.999_013 as a stable release.
1.999_013 2022-09-23 Type::Tiny 2.0 Preview N
1.999_012 2022-09-21 Type::Tiny 2.0 Preview M
1.999_011 2022-09-20 Type::Tiny 2.0 Preview L
1.999_010 2022-09-18 Type::Tiny 2.0 Preview K
1.999_009 2022-09-16 Type::Tiny 2.0 Preview J
1.999_008 2022-09-14 Type::Tiny 2.0 Preview I
1.999_007 2022-09-13 Type::Tiny 2.0 Preview H
1.999_006 2022-09-12 Type::Tiny 2.0 Preview G
1.999_005 2022-09-11 Type::Tiny 2.0 Preview F
1.999_004 2022-09-09 Type::Tiny 2.0 Preview E
1.999_003 2022-09-09 Type::Tiny 2.0 Preview D
1.999_002 2022-09-07 Type::Tiny 2.0 Preview C
1.999_001 2022-09-05 Type::Tiny 2.0 Preview B
1.999_000 2022-09-04 Type::Tiny 2.0 Preview A
1.016010 2022-08-31
1.016009 2022-08-27
1.016008 2022-08-14
1.016007 2022-08-04
1.016006 2022-07-25
1.016005 2022-07-23
1.016004 2022-07-22
1.016003 2022-07-22
1.016002 2022-07-19
1.016001 2022-07-18
1.016000 2022-07-16
1.015_003 2022-07-16
1.015_002 2022-07-16
1.015_001 2022-07-16
1.015_000 2022-07-16
1.014000 2022-06-27
1.013_001 2022-06-23
1.013_000 2022-06-09
1.012005 2022-06-07
1.012004 2021-07-29
1.012003 2021-05-09
1.012002 2021-05-02
1.012001 2021-01-10
1.012000 2020-10-28
1.011_011 2020-10-16
1.011_010 2020-10-16
1.011_009 2020-10-09
1.011_008 2020-10-07
1.011_007 2020-10-06
1.011_006 2020-10-02
1.011_005 2020-09-30
1.011_004 2020-09-30
1.011_003 2020-09-25
1.011_002 2020-09-22
1.011_001 2020-09-21
1.011_000 2020-09-15
1.010006 2020-09-04
1.010005 2020-08-26
1.010004 2020-08-18
1.010003 2020-08-08 The Crazy 88
1.010002 2020-05-01 Mayday
1.010001 2020-03-16
1.010000 2020-02-19
1.009_003 2020-02-11
1.009_002 2020-02-11
1.009_001 2020-02-06
1.009_000 2020-02-04
1.008005 2020-01-30
1.008004 2020-01-29
1.008003 2020-01-13
1.008002 2020-01-11
1.008001 2019-12-28
1.008000 2019-12-11
1.007_015 2019-12-10
1.007_014 2019-12-10
1.007_013 2019-12-10
1.007_012 2019-12-10
1.007_011 2019-12-09
1.007_010 2019-12-08
1.007_009 2019-12-06
1.007_008 2019-12-05
1.007_007 2019-12-03
1.007_006 2019-12-02
1.007_005 2019-12-01
1.007_004 2019-11-30
1.007_003 2019-11-27
1.007_002 2019-11-26
1.007_001 2019-11-23
1.007_000 2019-11-17
1.006000 2019-11-12
1.005_004 2019-11-11
1.005_003 2019-02-26
1.005_002 2019-01-29
1.005_001 2019-01-23
1.005_000 2019-01-20
1.004004 2019-01-08
1.004003 2019-01-08
1.004002 2018-07-29
1.004001 2018-07-28
1.004000 2018-07-27
1.003_010 2018-07-25
1.003_009 2018-07-24
1.003_008 2018-07-16
1.003_007 2018-07-12
1.003_006 2018-07-08
1.003_005 2018-07-05
1.003_004 2018-06-12
1.003_003 2018-06-10
1.003_002 2018-05-28
1.003_001 2018-05-22
1.003_000 2018-05-20
1.002001 2017-06-08
1.002000 2017-06-01
1.001_016 2017-05-30
1.001_015 2017-05-20
1.001_014 2017-05-19
1.001_013 2017-05-18 Kittiversary
1.001_012 2017-05-17
1.001_011 2017-05-17
1.001_010 2017-05-16 Puppiversary
1.001_009 2017-05-13
1.001_008 2017-05-10
1.001_007 2017-05-04 May the fourth be with you
1.001_006 2017-04-30
1.001_005 2017-04-19
1.001_004 2017-02-06
1.001_003 2017-02-02
1.001_002 2014-10-25
1.001_001 2014-09-19
1.001_000 2014-09-07
1.000006 2017-01-30
1.000005 2014-10-25
1.000004 2014-09-02
1.000003 2014-08-28
1.000002 2014-08-18
1.000001 2014-08-18
1.000000 2014-08-16 Happy CPAN Day!
0.047_09 2014-08-12
0.047_08 2014-08-05 Sanity++
0.047_07 2014-08-04
0.047_06 2014-07-31 What made the Queen go all ice crazy?
0.047_05 2014-07-29 Sanity++
0.047_04 2014-07-28 The 98% Coverage Release
0.047_03 2014-07-26 The 96% Coverage Release
0.047_02 2014-07-23 The 92% Coverage Release
0.047_01 2014-07-21 The 87% Coverage Release
0.046 2014-07-18
0.045_05 2014-07-18
0.045_04 2014-07-15
0.045_03 2014-07-11
0.045_02 2014-07-10
0.045_01 2014-06-30
0.044 2014-06-03
0.043_05 2014-05-21
0.043_04 2014-05-21
0.043_03 2014-05-06
0.043_02 2014-04-11
0.043_01 2014-04-06
0.042 2014-04-02
0.041_04 2014-03-31
0.041_03 2014-03-28
0.041_02 2014-03-26
0.041_01 2014-03-17
0.040 2014-03-17
0.039_13 2014-03-15
0.039_12 2014-03-12
0.039_11 2014-03-11
0.039_10 2014-03-10
0.039_09 2014-02-25
0.039_08 2014-02-24
0.039_07 2014-02-17
0.039_06 2014-02-17
0.039_05 2014-02-15
0.039_04 2014-02-05
0.039_03 2014-02-05
0.039_02 2014-01-25
0.039_01 2014-01-21
0.038 2014-01-01
0.037_03 2013-12-30
0.037_02 2013-12-29
0.037_01 2013-12-24
0.036 2013-12-21
0.035_01 2013-12-17
0.034 2013-12-09
0.033_04 2013-12-06
0.033_03 2013-11-26
0.033_02 2013-11-26
0.033_01 2013-11-07
0.032 2013-11-05 Remember, remember the fifth of November
0.031_05 2013-11-04
0.031_04 2013-11-03
0.031_03 2013-11-03
0.031_02 2013-11-03
0.031_01 2013-10-28
0.030 2013-10-18
0.029_04 2013-10-17
0.029_03 2013-10-17
0.029_02 2013-10-11
0.029_01 2013-09-26
0.028 2013-09-26
0.027_09 2013-09-20
0.027_08 2013-09-19
0.027_07 2013-09-18
0.027_06 2013-09-18
0.027_05 2013-09-15
0.027_04 2013-09-09
0.027_03 2013-09-09
0.027_02 2013-09-08
0.027_01 2013-09-07
0.026 2013-09-05
0.025_03 2013-09-04
0.025_02 2013-09-02
0.025_01 2013-09-02
0.024 2013-08-27
0.023_03 2013-08-23
0.023_02 2013-08-23
0.023_01 2013-08-16
0.022 2013-08-06
0.021_04 2013-07-30
0.021_03 2013-07-30
0.021_02 2013-07-26
0.021_01 2013-07-24
0.020 2013-07-23
0.019_01 2013-07-23
0.018 2013-07-21
0.017_02 2013-07-20
0.017_01 2013-07-19
0.016 2013-07-16
0.015_05 2013-07-15
0.015_04 2013-07-13
0.015_03 2013-07-08
0.015_02 2013-07-06
0.015_01 2013-07-05
0.014 2013-06-28
0.013_01 2013-06-27
0.012 2013-06-25
0.011_03 2013-06-25
0.011_02 2013-06-25
0.011_01 2013-06-25
0.010 2013-06-24
0.009_07 2013-06-24
0.009_06 2013-06-23
0.009_05 2013-06-23
0.009_04 2013-06-23
0.009_03 2013-06-22
0.009_02 2013-06-22
0.009_01 2013-06-21
0.008 2013-06-21
0.007_10 2013-06-21
0.007_09 2013-06-18
0.007_08 2013-06-17
0.007_07 2013-06-16
0.007_06 2013-06-16
0.007_05 2013-06-12
0.007_04 2013-06-09
0.007_03 2013-06-08
0.007_02 2013-06-04
0.007_01 2013-06-01 Happy birthday to me...
0.006 2013-05-28
0.005_08 2013-05-28
0.005_07 2013-05-28
0.005_06 2013-05-26
0.005_05 2013-05-24
0.005_04 2013-05-17
0.005_03 2013-05-14
0.005_02 2013-05-14
0.005_01 2013-05-07
0.004 2013-05-06
0.003_16 2013-05-05
0.003_15 2013-05-03
0.003_14 2013-05-03
0.003_13 2013-05-03
0.003_12 2013-05-01
0.003_11 2013-04-30
0.003_10 2013-04-29
0.003_09 2013-04-28
0.003_08 2013-04-26
0.003_07 2013-04-26
0.003_06 2013-04-25
0.003_05 2013-04-19
0.003_04 2013-04-18
0.003_03 2013-04-17
0.003_02 2013-04-16
0.003_01 2013-04-16
0.002 2013-04-26
0.001 2013-04-15 First public release
0.000_12 2013-04-12
0.000_11 2013-04-11
0.000_10 2013-04-09
0.000_09 2013-04-08
0.000_08 2013-04-07
0.000_07 2013-04-06
0.000_06 2013-04-05
0.000_05 2013-04-04
0.000_04 2013-04-03
0.000_03 2013-04-03
0.000_02 2013-04-02
0.000_01 2013-04-02 Developer preview