typo fixes and reformatting
[gitmo/Moose.git] / lib / Moose / Manual / Support.pod
CommitLineData
eda0fb99 1=pod
2
3=head1 NAME
4
5Moose::Manual::Support - Policies regarding support, releases, and
6compatibility.
7
995b7d56 8=head1 SUPPORT POLICY
9
a0214906 10There are two principles to Moose's policy of supported behavior.
995b7d56 11
121. Moose favors correctness over everything.
a0214906 132. Moose supports documented and tested behavior, not accidental behavior or
14side effects.
995b7d56 15
a0214906 16If a behavior has never been documented or tested, the behavior is
17I<officially> undefined. Relying upon undocumented and untested behavior is
18done at your own risk.
995b7d56 19
a0214906 20If a behavior is documented or tested but found to be incorrect later, the
21behavior will go through a deprecation period in which it warns before being
22removed.
995b7d56 23
eda0fb99 24=head1 RELEASE SCHEDULE
25
a0214906 26Moose uses the release early, release often philosophy.
eda0fb99 27
a0214906 28Moose is on a system of weekly minor releases and quarterly major releases. A
29minor release is defined as one that makes every attempt to not break
30backwards compatibility. Currently this means that the dependency conflict
31lists and test suite did not change substantially, or that any changes were
32additive.
d1e4fecf 33
a0214906 34Major releases are potentially backwards incompatible. Moose prioritizes
35correctness over backwards compatibility or performance; see the Deprecation
36Policy below for how backwards incompatible changes are announced.
d1e4fecf 37
a0214906 38Before a major release, a series of development releases will be made so that
39users can test the upcoming major release before it is distributed to CPAN. It
40is in the best interests of everyone involved if these releases are tested as
41widely as possible.
eda0fb99 42
43=head1 DEPRECATION POLICY
44
45Moose has always prioritized correctness over performance and backwards
79dce67a 46compatibility.
eda0fb99 47
ccc47a38 48Major deprecations or API changes are first documented in the Changes
204f629c 49file as well as in L<Moose::Manual::Delta>.
eda0fb99 50
ccc47a38 51Moose then attempts to warn for deprecated features and API changes for
52a reasonable number of releases before breaking any tested API.
eda0fb99 53
54Moose will also warn during installation if the version being installed
55will break a known installed dependency. Unfortunately due to the nature
56of the Perl install process these warnings may be easy to miss.
57
58=head1 BACKWARDS COMPATIBILITY
59
60We try to ensure compatibility by having a extensive test suite (last
61count just over around 5123 tests), as well as testing a number of
ccc47a38 62packages (currently just under 100 packages) that depend on Moose before
eda0fb99 63any release.
64
65The current list of downstream dependencies that are tested is in
66C<xt/author/test-my-dependents.t>.
67
68=head1 VERSION NUMBERS
69
70Moose's version numbers are monotonically incrementing two decimal
71values. The version numbers in Moose are I<not> semantic. This means
72that version 1.00 will be the hundredth release, nothing more.
73
3d5e4dc0 74Occasionally, we will release a test release with a version like
750.90_03. These versions may be less stable than non-test releases, and exist
76so that developers can test potentially code-breaking changes. By default, the
77CPAN client will not install a distribution which has an underscore in its
78version.
79
eda0fb99 80Moose was declared production ready at version 0.18 (via L<<
81http://www.perlmonks.org/?node_id=608144 >>).
82
83=head1 CONTRIBUTING
84
85Moose has an open contribution policy. Anybody is welcome to submit a
204f629c 86patch. Please see L<Moose::Manual::Contributing> for more details.
eda0fb99 87
79dce67a 88=cut