bump copyright year to 2010
[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
9169ec89 8=head1 SUPPORT POLICY
9
1ade5e06 10There are two principles to Moose's policy of supported behavior.
9169ec89 11
5334df05 12=over 4
13
14=item 1.
15
16Moose favors correctness over everything.
17
18=item 2.
19
20Moose supports documented and tested behavior, not accidental behavior or side
21effects.
22
23=back
9169ec89 24
1ade5e06 25If a behavior has never been documented or tested, the behavior is
26I<officially> undefined. Relying upon undocumented and untested behavior is
27done at your own risk.
9169ec89 28
1ade5e06 29If a behavior is documented or tested but found to be incorrect later, the
5334df05 30behavior will go through a deprecation period. During the deprecation period,
31use of that feature will cause a warning. Eventually, the deprecated feature
32will be removed.
9169ec89 33
eda0fb99 34=head1 RELEASE SCHEDULE
35
1ade5e06 36Moose is on a system of weekly minor releases and quarterly major releases. A
5334df05 37minor release is defined as one that makes every attempt to preserve backwards
38compatibility. Currently this means that we did not introduce any new
39dependency conflicts, and that we did not make any changes to documented,
40tested behavior. A minor release can include new features and bug fixes.
3ed42d4f 41
5334df05 42Major releases may be backwards incompatible. Moose prioritizes
43correctness over backwards compatibility or performance; see the L<Deprecation
44Policy> to understand how backwards incompatible changes are announced.
3ed42d4f 45
1ade5e06 46Before a major release, a series of development releases will be made so that
47users can test the upcoming major release before it is distributed to CPAN. It
48is in the best interests of everyone involved if these releases are tested as
49widely as possible.
eda0fb99 50
51=head1 DEPRECATION POLICY
52
53Moose has always prioritized correctness over performance and backwards
79dce67a 54compatibility.
eda0fb99 55
5334df05 56Major deprecations or API changes are documented in the Changes file as well
57as in L<Moose::Manual::Delta>. The Moose developers will also make an effort
58to warn users of upcoming deprecations and breakage through the Moose blog
59(http://blog.moose.perl.org).
eda0fb99 60
265991c5 61Deprecated APIs will be preserved for at least one year I<after the major
62release which deprecates that API>. Deprecated APIs will only be removed in a
63major release.
eda0fb99 64
5334df05 65Moose will also warn during installation if the version of Moose being
66installed will break an installed dependency. Unfortunately, due to the nature
eda0fb99 67of the Perl install process these warnings may be easy to miss.
68
69=head1 BACKWARDS COMPATIBILITY
70
71We try to ensure compatibility by having a extensive test suite (last
72count just over around 5123 tests), as well as testing a number of
ccc47a38 73packages (currently just under 100 packages) that depend on Moose before
eda0fb99 74any release.
75
76The current list of downstream dependencies that are tested is in
77C<xt/author/test-my-dependents.t>.
78
79=head1 VERSION NUMBERS
80
5334df05 81Moose version numbers consist of three parts, in the form X.YYZZ. The X is the
82"special magic number" that only gets changed for really big changes. Think of
83this as being like the "5" in Perl 5.12.1.
84
85The YY portion is the major version number. Moose uses even numbers for stable
86releases, and odd numbers for trial releases. The ZZ is the minor version, and
87it simply increases monotonically. It starts at "00" each time a new major
88version is released.
89
90Semantically, this means that any two releases which share a major version
91should be API-compatible with each other. In other words, 2.0200, 2.0201, and
922.0274 are all API-compatible.
eda0fb99 93
5334df05 94Prior to version 2.0, Moose version numbers were monotonically incrementing
95two decimal values (0.01, 0.02, ... 1.11, 1.12, etc.).
3d5e4dc0 96
eda0fb99 97Moose was declared production ready at version 0.18 (via L<<
98http://www.perlmonks.org/?node_id=608144 >>).
99
100=head1 CONTRIBUTING
101
102Moose has an open contribution policy. Anybody is welcome to submit a
204f629c 103patch. Please see L<Moose::Manual::Contributing> for more details.
eda0fb99 104
79dce67a 105=cut