TODO: mark CDIP task as done
[platform/upstream/ofono.git] / doc / release-faq.txt
1 oFono release FAQ
2 *****************
3
4 What is the release cycle?
5 ==========================
6
7 There is no clear specified release cycle.  The project follows the general
8 open source paradigm of release early and release often.  Historically the
9 release cadence has been about two to three weeks.
10
11 The two weeks release cycle is a general rule of thumb.  It will never be
12 precise down to an exact day.  The decision to release is driven by the
13 code flow and changes made during that cycle.  When a closed set of features
14 has been merged, then a new release is considered.  When a lot changes are
15 merged, then the release cycle can be decreased down to weekly releases.
16 And in case not many changes have been made and no new features are merged,
17 it can happen that the release cycle becomes as long as one month.
18
19 In addition to the normal releases during a cycle, there could be also
20 so called brown-paper-bag type of releases.  The releases are fixing
21 critical issues with the previous release.  Normally they happen in case a
22 serious bug or regression slipped into the source and where it makes sense
23 to fix it right away.  The goal is to keep this type of releases to a bare
24 minimum, but they do happen every now and then.  From past releases they
25 are to be expected around three times per year.
26
27
28 What does the release number mean?
29 ==================================
30
31 Every release contains a major and a minor version.  The major version only
32 indicates an API version and it should not change until the D-Bus API is
33 backwards incompatible.  The same major version can contain new version of
34 the API as long as it is backward compatible.  This allows for extensions
35 of the D-Bus API within the same major version.
36
37 The minor version number is just an increasing number and has itself no
38 special meaning.  The minor version will increase until a new backwards
39 incompatible API is required and a new major number is used.
40
41 There is no stable API guarantee for the internal plugin API.  The release
42 numbers are not covering this.