res_rtp_asterisk.c: Fix rtp source address learning for broken clients
[asterisk/asterisk.git] / include / asterisk / doxygen / releases.h
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2009, Digium, Inc.
5  *
6  * See http://www.asterisk.org for more information about
7  * the Asterisk project. Please do not directly contact
8  * any of the maintainers of this project for assistance;
9  * the project provides a web site, mailing lists and IRC
10  * channels for your use.
11  *
12  * This program is free software, distributed under the terms of
13  * the GNU General Public License Version 2. See the LICENSE file
14  * at the top of the source tree.
15  */
16
17 /*!
18  * \file
19  */
20
21 /*!
22  * \page ReleaseStatus Asterisk Release Status
23  *
24  * \section warranty Warranty
25  * The following warranty applies to all open source releases of Asterisk:
26  *
27  * NO WARRANTY
28  *
29  * BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
30  * FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
31  * OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
32  * PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
33  * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
34  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
35  * TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
36  * PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
37  * REPAIR OR CORRECTION.
38
39  * IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
40  * WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
41  * REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
42  * INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
43  * OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
44  * TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
45  * YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
46  * PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
47  * POSSIBILITY OF SUCH DAMAGES.
48  *
49  * \section releasestatustypes Release Status Types
50  *
51  * Release management is a essentially an agreement between the development
52  * community and the %user community on what kind of updates can be expected
53  * for Asterisk releases, and what types of changes these updates will contain.
54  * Once these policies are established, the development community works very
55  * hard to adhere to them.  However, the development community does reserve
56  * the right to make exceptions to these rules for special cases as the need
57  * arises.
58  *
59  * Asterisk releases are in various states of maintenance.  The states are
60  * defined here:
61  *
62  * \arg <b>None</b> - This release series is receiving no updates whatsoever.
63  * \arg <b>Security-Only</b> - This release series is receiving updates, but
64  *      only to address security issues.  Security issues found and fixed in
65  *      this release series will be accompanied by a published security advisory
66  *      from the Asterisk project.
67  * \arg <b>Full-Support</b> - This release series is receiving updates for all
68  *      types of bugs.
69  * \arg <b>Full-Development</b> - Changes in this part of Asterisk include bug
70  *      fixes, as well as new %features and architectural improvements.
71  *
72  * \section AsteriskReleases Asterisk Maintenance Levels
73  *
74  * \htmlonly
75  * <table border="1">
76  *  <tr>
77  *   <td><b>Name</b></td>
78  *   <td><b>SVN Branch</b></td>
79  *   <td><b>Status</b></td>
80  *   <td><b>Notes</b></td>
81  *  </tr>
82  *  <tr>
83  *   <td>Asterisk 1.0</td>
84  *   <td>/branches/1.0</td>
85  *   <td>None</td>
86  *  </tr>
87  *  <tr>
88  *   <td>Asterisk 1.2</td>
89  *   <td>/branches/1.2</td>
90  *   <td>Security-Only</td>
91  *  </tr>
92  *  <tr>
93  *   <td>Asterisk 1.4</td>
94  *   <td>/branches/1.4</td>
95  *   <td>Full-Support</td>
96  *  </tr>
97  *  <tr>
98  *   <td>Asterisk 1.6.0</td>
99  *   <td>/branches/1.6.0</td>
100  *   <td>Full-Support</td>
101  *  </tr>
102  *  <tr>
103  *   <td>Asterisk 1.6.1</td>
104  *   <td>/branches/1.6.1</td>
105  *   <td>Full-Support</td>
106  *   <td>Still in beta</td>
107  *  </tr>
108  *  <tr>
109  *   <td>Asterisk trunk</td>
110  *   <td>/trunk</td>
111  *   <td>Full-Development</td>
112  *   <td>No releases are made directly from trunk.</td>
113  *  </tr>
114  * </table>
115  * \endhtmlonly
116  *
117  * For more information on how and when Asterisk releases are made, see the
118  * release policies page:
119  * \arg \ref ReleasePolicies
120  */
121
122 /*!
123  * \page ReleasePolicies Asterisk Release and Commit Policies
124  *
125  * \section releasestatus Asterisk Release Status
126  *
127  * For more information on the current status of each Asterisk release series,
128  * please see the Asterisk Release Status page:
129  *
130  * \arg \ref ReleaseStatus
131  *
132  * <hr>
133  *
134  * \section commitmonitoring Commit Monitoring
135  *
136  * To monitor commits to Asterisk and related projects, visit 
137  * <a href="http://lists.digium.com/">http://lists.digium.com</a>.  The Digium
138  * mailing list server hosts a %number of mailing lists for commits.
139  *
140  * <hr>
141  *
142  * \section ast10policy Asterisk 1.0
143  *
144  * \subsection svnbranch SVN Branch
145  *
146  * \arg /branches/1.0
147  *
148  * \subsection ast10releases Release and Commit Policy
149  * No more releases of Asterisk 1.0 will be made for any reason.
150  *
151  * No commits should be made to the Asterisk 1.0 branch.
152  * 
153  * <hr>
154  *
155  * \section ast12policy Asterisk 1.2
156  *
157  * \subsection svnbranch SVN Branch
158  *
159  * \arg /branches/1.2
160  *
161  * \subsection ast12releases Release and Commit Policy
162  *
163  * There will be no more scheduled releases of Asterisk 1.2.
164  * 
165  * Commits to the Asterisk 1.2 branch should only address security issues or
166  * regressions introduced by previous security fixes.  For a security issue, the
167  * commit should be accompanied by an 
168  * <a href="http://downloads.asterisk.org/pub/security/">Asterisk Security Advisory</a>
169  * and an immediate release.  When a commit goes in to fix a regression, the previous
170  * security advisory that is related to the change that introduced the bug should get
171  * updated to indicate that there is an updated version of the fix.  A release should
172  * be made immediately for these regression fixes, as well.
173  *
174  * \subsection ast12releasenumbers Release Numbering
175  *
176  *  - 1.2.X - a release that contains new security fixes
177  *  - 1.2.X.Y - a release that contains fixes to the security patches released in
178  *    version 1.2.X
179  *
180  * <hr>
181  *
182  * \section ast14policy Asterisk 1.4
183  *
184  * \subsection svnbranch SVN Branch
185  *
186  * \arg /branches/1.4
187  *
188  * \subsection ast14releases Release and Commit Policy
189  *
190  * Asterisk 1.4 is receiving regular bug fix release updates.  An attempt is made to
191  * make releases of every four to six weeks.  Since this release series is receiving
192  * changes for all types of bugs, the number of changes in a single release can be
193  * significant.  1.4.X releases go through a release candidate testing cycle to help
194  * catch any regressions that may have been introduced.
195  *
196  * Commits to Asterisk 1.4 must be to address bugs only.  No new %features should be
197  * introduced into Asterisk 1.4 to reduce the %number of changes to this established
198  * release series.  The only exceptions to this %rule are for cases where something
199  * that may be considered a feature is needed to address a bug or security issue.
200  *
201  * \subsection ast14releasenumbers Release Numbering
202  *
203  *  - 1.4.X - a release that contains new bug fixes to the 1.4 release series
204  *  - 1.4.X.Y - a release that contains very few changes on top of 1.4.X.  This
205  *    may be for a security patch, or for a regression introduced in 1.4.X.
206  *
207  * <hr>
208  *
209  * \section ast16policy Asterisk 1.6
210  *
211  * \subsection svnbranch SVN Branch
212  *
213  * \arg /branches/1.6.*
214  *
215  * \subsection ast16releases Release and Commit Policy
216  *
217  * Asterisk 1.6 is managed in a different way than previous Asterisk release series.
218  * From a high level, it was inspired by the release model used for Linux 2.6.
219  * The intended time frame for 1.6.X releases is every 2 or 3 months.  Each 1.6.X
220  * release gets its own branch.  The 1.6.X branches are branches off of trunk.
221  * Once the branch is created, it only receives bug fixes.  Each 1.6.X release goes
222  * through a beta and release candidate testing cycle.
223  *
224  * After a 1.6.X release is published, it will be maintained until 1.6.[X + 3] is
225  * released.  While a 1.6.X release branch is still maintained, it will receive only
226  * bug fixes.  Periodic maintenance releases will be made and labeled as 1.6.X.Y.
227  * 1.6.X.Y releases should go through a release candidate test cycle before being
228  * published.
229  *
230  * For now, all previous 1.6 release will be maintained for security issues.  Once
231  * we have more 1.6 releases to deal with, this part of the policy will likely change.
232  * 
233  * For some history on the motivations for Asterisk 1.6 release management, see the
234  * first two sections of this
235  * <a href="http://lists.digium.com/pipermail/asterisk-dev/2007-October/030083.html">mailing list post</a>.
236  *
237  * \subsection ast16releasenumbers Release Numbering
238  *
239  *  - 1.6.X - a release that includes new functionality
240  *  - 1.6.X.Y - a release that contains fixes for bugs or security issues identified
241  *    in the 1.6.X release series.
242  *
243  * <hr>
244  *
245  * \section asttrunk Asterisk Trunk
246  *
247  * \subsection svnbranch SVN Branch
248  *
249  * \arg /trunk
250  *
251  * \subsection asttrunkpolicy Release and Commit Policy
252  *
253  * No releases are ever made directly from Asterisk trunk.
254  *
255  * Asterisk trunk is used as the main development area for upcoming Asterisk 1.6 
256  * releases.  Commits to Asterisk trunk are not limited.  They can be bug fixes,
257  * new %features, and architectural improvements.  However, for larger sets
258  * of changes, developers should work with the Asterisk project leaders to
259  * schedule them for inclusion.  Care is taken not to include too many invasive
260  * sets of changes for each new Asterisk 1.6 release.
261  *
262  * No changes should go into Asterisk trunk that are not ready to go into a
263  * release.  While the upcoming release will go through a beta and release
264  * candidate test cycle, code should not be in trunk until the code has been
265  * tested and reviewed such that there is reasonable belief that the code
266  * is ready to go.
267  *
268  * <hr>
269  *
270  * \section astteam Asterisk Team Branches
271  *
272  * \subsection svnbranch SVN Branch
273  *
274  * \arg /team/&lt;developername&gt;
275  *
276  * \subsection astteampolicy Release and Commit Policy
277  *
278  * The Asterisk subversion repository has a special directory called "team"
279  * where developers can make their own personal development branches.  This is
280  * where new %features, bug fixes, and architectural improvements are developed
281  * while they are in %progress.
282  *
283  * Just about anything goes as far as commits to this area goes.  However,
284  * developers should keep in mind that anything committed here, as well as
285  * anywhere else on Digium's SVN server, falls under the contributor license
286  * agreement.
287  *
288  * In addition to each developer having their own space for working on projects,
289  * there is also a team/group folder where %group development efforts take place.
290  *
291  * Finally, in each developer folder, there is a folder called "private".  This
292  * is where developers can create branches for working on things that they are
293  * not ready for the whole world to see.
294  */