1Type::Tiny::Manual::PolUisceiresC(o3n)tributed Perl DocuTmyepnet:a:tTiionny::Manual::Policies(3)
2
3
4
6 Type::Tiny::Manual::Policies - Type::Tiny policies
7
9 Type::Tiny Stability Policy
10 Type::Tiny 1.000000 is considered stable. Any changes to the API that
11 are big enough to require changes to the test suite will be preceded by
12 a six month notice period, with the following exceptions:
13
14 • Any changes which are necessary to maintain compatibility with new
15 releases of Moose, Moo, and other software that Type::Tiny needs to
16 integrate with.
17
18 • Changes to maintain compatibility with future versions of Perl
19 itself.
20
21 • Where a change fixes a contradiction between the implementation and
22 documentation of Type::Tiny.
23
24 • Where a feature is explicitly documented as being "experimental" or
25 "unstable".
26
27 • Improvements to the text of error messages.
28
29 Experimental and Unstable Type::Tiny Features
30 The following list is currently non-exhaustive.
31
32 • The following type checks result may vary based on your version of
33 Perl and whether Type::Tiny::XS is installed. Their outcome is
34 currently considered undefined, and may change in future versions.
35
36 • Using Object and similar type checks on unblessed regular
37 expression references, the outcome is undefined.
38
39 • On all current versions of Perl, false ("!!0") stringifies to
40 the empty string (but using Devel::Peek you can tell the
41 difference between this value and a normal empty string), so
42 Int and subtypes of Int do not consider it to be an integer. If
43 Perl's behaviour ever changes, you might not be able to rely on
44 this outcome. True ("!!1") stringifies as "1", so is considered
45 an integer.
46
47 • A glob (not a globref but an actual glob) currently passes the
48 StringLike type constraint but not the Str type constraint.
49
50 • Type::Tiny's "my_methods" attribute and the functionality it
51 provides is experimental.
52
53 • The parameterizable coercion API is subject to change.
54
55 • The interaction of deep coercions and mutable coercions currently
56 results in ill-defined behaviour. This could change at any time.
57
58 • Type::Registry's ability to import MooseX::Types and MouseX::Types
59 type libraries is experimental.
60
61 • These modules are considered part of Type::Tiny's internals, and
62 not covered by the stability policy: Devel::TypeTiny::Perl56Compat,
63 Devel::TypeTiny::Perl58Compat, Type::Coercion::FromMoose,
64 Type::Tiny::_HalfOp, Types::Standard::ArrayRef,
65 Types::Standard::CycleTuple, Types::Standard::Dict,
66 Types::Standard::HashRef, Types::Standard::Map,
67 Types::Standard::ScalarRef, Types::Standard::StrMatch,
68 Types::Standard::Tied, and Types::Standard::Tuple.
69
70 • Reply::Plugin::TypeTiny is not covered by the stability policy.
71
72 Type::Tiny Versioning Policy
73 As of 1.000000, this distribution follows a versioning scheme similar
74 to Moo, which is based on a semver <http://semver.org/>-like three
75 component version number, but with the last two components each
76 represented by three decimal digits in the fractional part of the
77 version number. That is, version 1.003002 of the software represents
78 "1.3.2".
79
80 Additionally, releases where the second component is an odd number will
81 be considered unstable/trial releases. (These will also include an
82 underscore in the version number as per the usual CPAN convention.)
83
85 Here's your next step:
86
87 • Type::Tiny::Manual::Contributing
88
89 Contributing to Type::Tiny development.
90
92 Toby Inkster <tobyink@cpan.org>.
93
95 This software is copyright (c) 2013-2014, 2017-2021 by Toby Inkster.
96
97 This is free software; you can redistribute it and/or modify it under
98 the same terms as the Perl 5 programming language system itself.
99
101 THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
102 WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
103 MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
104
105
106
107perl v5.34.0 2021-09-13 Type::Tiny::Manual::Policies(3)