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