update the support policy with changes to time-box the release schedule
[gitmo/Moose.git] / lib / Moose / Manual / Support.pod
1 =pod
2
3 =head1 NAME
4
5 Moose::Manual::Support - Policies regarding support, releases, and
6 compatibility.
7
8 =head1 RELEASE SCHEDULE
9
10 Moose uses the release early, release often philosophy. 
11
12 Moose is on a system of monthly minor Releases, and quarterly major releases. A minor release is
13 deifined as one that makes every attempt to not break backwards compatibility. Currently this means
14 that the dependency conflict lists, and test suite did not change substantially, or that any changes
15 were additive.
16
17 Major releases are potentially backwards incompatibiliy. Moose prioritizes correcness over backwards
18 compatibility or performance, see the Deprecation Policy below for how backwards incompatible changes
19 are announced.
20
21 Between the last minor release and the next major release, a series of Development Releases will be
22 made so that users can test the upcoming major release before it is distributed to CPAN. It is in the
23 best interests of everyone involved if these releases are tested as widely as possible.
24
25 =head1 DEPRECATION POLICY
26
27 Moose has always prioritized correctness over performance and backwards
28 compatibility.
29
30 Major deprecations or API changes are first documented in the Changes
31 file as well as in L<Moose::Manual::Delta>.
32
33 Moose then attempts to warn for deprecated features and API changes for
34 a reasonable number of releases before breaking any tested API.
35
36 Moose will also warn during installation if the version being installed
37 will break a known installed dependency. Unfortunately due to the nature
38 of the Perl install process these warnings may be easy to miss.
39
40 =head1 BACKWARDS COMPATIBILITY
41
42 We try to ensure compatibility by having a extensive test suite (last
43 count just over around 5123 tests), as well as testing a number of
44 packages (currently just under 100 packages) that depend on Moose before
45 any release.
46
47 The current list of downstream dependencies that are tested is in
48 C<xt/author/test-my-dependents.t>.
49
50 =head1 VERSION NUMBERS
51
52 Moose's version numbers are monotonically incrementing two decimal
53 values. The version numbers in Moose are I<not> semantic. This means
54 that version 1.00 will be the hundredth release, nothing more.
55
56 Occasionally, we will release a test release with a version like
57 0.90_03. These versions may be less stable than non-test releases, and exist
58 so that developers can test potentially code-breaking changes. By default, the
59 CPAN client will not install a distribution which has an underscore in its
60 version.
61
62 Moose was declared production ready at version 0.18 (via L<<
63 http://www.perlmonks.org/?node_id=608144 >>).
64
65 =head1 CONTRIBUTING
66
67 Moose has an open contribution policy. Anybody is welcome to submit a
68 patch. Please see L<Moose::Manual::Contributing> for more details.
69
70 =cut