Wed Jan 8 2020 09:49:49

Asterisk developer's documentation


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