1Moose::Manual::Support(U3s)er Contributed Perl DocumentatMiooonse::Manual::Support(3)
2
3
4

NAME

6       Moose::Manual::Support - Policies regarding support, releases, and
7       compatibility.
8

VERSION

10       version 2.2203
11

SUPPORT POLICY

13       There are two principles to Moose's policy of supported behavior.
14
15       1.  Moose favors correctness over everything.
16
17       2.  Moose supports documented and tested behavior, not accidental
18           behavior or side effects.
19
20       If a behavior has never been documented or tested, the behavior is
21       officially undefined. Relying upon undocumented and untested behavior
22       is done at your own risk.
23
24       If a behavior is documented or tested but found to be incorrect later,
25       the behavior will go through a deprecation period. During the
26       deprecation period, use of that feature will cause a warning.
27       Eventually, the deprecated feature will be removed.
28
29       In some cases, it is not possible to deprecate a behavior. In this
30       case, the behavior will simply be changed in a major release.
31

RELEASE SCHEDULE

33       Moose is on a system of quarterly major releases, with minor releases
34       as needed between major releases. A minor release is defined as one
35       that makes every attempt to preserve backwards compatibility. Currently
36       this means that we did not introduce any new dependency conflicts, and
37       that we did not make any changes to documented or tested behavior (this
38       typically means that minor releases will not change any existing tests
39       in the test suite, although they can add new ones). A minor release can
40       include new features and bug fixes.
41
42       Major releases may be backwards incompatible. Moose prioritizes
43       correctness over backwards compatibility or performance; see the
44       DEPRECATION POLICY to understand how backwards incompatible changes are
45       announced.
46
47       Major releases are scheduled to happen during fixed release windows. If
48       the window is missed, then there will not be a major release until the
49       next release window. The release windows are one month long, and occur
50       during the months of January, April, July, and October.
51
52       Before a major release, a series of development releases will be made
53       so that users can test the upcoming major release before it is
54       distributed to CPAN. It is in the best interests of everyone involved
55       if these releases are tested as widely as possible.
56

DEPRECATION POLICY

58       Moose has always prioritized correctness over performance and backwards
59       compatibility.
60
61       Major deprecations or API changes are documented in the Changes file as
62       well as in Moose::Manual::Delta. The Moose developers will also make an
63       effort to warn users of upcoming deprecations and breakage through the
64       Moose blog (http://blog.moose.perl.org).
65
66       Deprecated APIs will be preserved for at least one year after the major
67       release which deprecates that API. Deprecated APIs will only be removed
68       in a major release.
69
70       Moose will also warn during installation if the version of Moose being
71       installed will break an installed dependency. Unfortunately, due to the
72       nature of the Perl install process these warnings may be easy to miss.
73

BACKWARDS COMPATIBILITY

75       We try to ensure compatibility by having a extensive test suite (last
76       count over 18000 tests), as well as testing a number of packages
77       (currently just under 100 packages) that depend on Moose before any
78       release.
79
80       The current list of downstream dependencies that are tested is in
81       "xt/author/test-my-dependents.t".
82

VERSION NUMBERS

84       Moose version numbers consist of three parts, in the form X.YYZZ. The X
85       is the "special magic number" that only gets changed for really big
86       changes. Think of this as being like the "5" in Perl 5.12.1.
87
88       The YY portion is the major version number. Moose uses even numbers for
89       stable releases, and odd numbers for trial releases. The ZZ is the
90       minor version, and it simply increases monotonically. It starts at "00"
91       each time a new major version is released.
92
93       Semantically, this means that any two releases which share a major
94       version should be API-compatible with each other. In other words,
95       2.0200, 2.0201, and 2.0274 are all API-compatible.
96
97       Prior to version 2.0, Moose version numbers were monotonically
98       incrementing two decimal values (0.01, 0.02, ... 1.11, 1.12, etc.).
99
100       Moose was declared production ready at version 0.18 (via
101       <http://www.perlmonks.org/?node_id=608144>).
102

PERL VERSION COMPATIBILITY

104       As of version 2.16, Moose will officially support being run on perl
105       5.10.1+. Our current policy is to support the earliest version of Perl
106       shipped in the latest stable release of any major operating system
107       (this tends to mean CentOS). We will provide at least six months notice
108       (two major releases) when we decide to increase the officially
109       supported Perl version.
110
111       "Officially supported" does not mean that these are the only versions
112       of Perl that Moose will work with. Our declared perl dependency will
113       remain at 5.8.3 as long as our test suite continues to pass on 5.8.3.
114       What this does mean is that the core Moose dev team will not be
115       spending any time fixing bugs on versions that aren't officially
116       supported, and new contributions will not be rejected due to being
117       incompatible with older versions of perl except in the most trivial of
118       cases. We will, however, still welcome patches to make Moose compatible
119       with earlier versions, if other people are still interested in
120       maintaining compatibility. As such, the current minimum required
121       version of 5.8.3 will remain for as long as downstream users are happy
122       to assist with maintenance.
123
124       Note that although performance regressions are acceptable in order to
125       maintain backwards compatibility (as long as they only affect the older
126       versions), functionality changes and buggy behavior will not be. If it
127       becomes impossible to provide identical functionality between modern
128       Perl versions and unsupported Perl versions, we will increase our
129       declared perl dependency instead.
130

CONTRIBUTING

132       Moose has an open contribution policy. Anybody is welcome to submit a
133       patch. Please see Moose::Manual::Contributing for more details.
134

AUTHORS

136       •   Stevan Little <stevan@cpan.org>
137
138       •   Dave Rolsky <autarch@urth.org>
139
140       •   Jesse Luehrs <doy@cpan.org>
141
142       •   Shawn M Moore <sartak@cpan.org>
143
144       •   יובל קוג'מן (Yuval Kogman) <nothingmuch@woobling.org>
145
146       •   Karen Etheridge <ether@cpan.org>
147
148       •   Florian Ragwitz <rafl@debian.org>
149
150       •   Hans Dieter Pearcey <hdp@cpan.org>
151
152       •   Chris Prather <chris@prather.org>
153
154       •   Matt S Trout <mstrout@cpan.org>
155
157       This software is copyright (c) 2006 by Infinity Interactive, Inc.
158
159       This is free software; you can redistribute it and/or modify it under
160       the same terms as the Perl 5 programming language system itself.
161
162
163
164perl v5.36.0                      2023-02-06         Moose::Manual::Support(3)
Impressum