xref: /dpdk/doc/guides/contributing/stable.rst (revision 5ecb687a5698d2d8ec1f3b3b5a7a16bceca3e29c)
1..  SPDX-License-Identifier: BSD-3-Clause
2    Copyright 2018 The DPDK contributors
3
4.. stable_lts_releases:
5
6DPDK Stable Releases and Long Term Support
7==========================================
8
9This section sets out the guidelines for the DPDK Stable Releases and the DPDK
10Long Term Support releases (LTS).
11
12
13Introduction
14------------
15
16The purpose of the DPDK Stable Releases is to maintain releases of DPDK with
17backported fixes over an extended period of time. This provides downstream
18consumers of DPDK with a stable target on which to base applications or
19packages.
20
21The Long Term Support release (LTS) is a designation applied to a Stable
22Release to indicate longer term support.
23
24
25Stable Releases
26---------------
27
28Any major release of DPDK can be designated as a Stable Release if a
29maintainer volunteers to maintain it and there is a commitment from major
30contributors to validate it before releases. If a release is to be designated
31as a Stable Release, it should be done by 1 month after the master release.
32
33A Stable Release is used to backport fixes from an ``N`` release back to an
34``N-1`` release, for example, from 16.11 to 16.07.
35
36The duration of a stable is one complete release cycle (3 months). It can be
37longer, up to 1 year, if a maintainer continues to support the stable branch,
38or if users supply backported fixes, however the explicit commitment should be
39for one release cycle.
40
41The release cadence is determined by the maintainer based on the number of
42bugfixes and the criticality of the bugs. Releases should be coordinated with
43the validation engineers to ensure that a tagged release has been tested.
44
45
46LTS Release
47-----------
48
49A stable release can be designated as an LTS release based on community
50agreement and a commitment from a maintainer. The current policy is that each
51year's November (X.11) release will be maintained as an LTS for 2 years.
52
53After the X.11 release, an LTS branch will be created for it at
54http://git.dpdk.org/dpdk-stable where bugfixes will be backported to.
55
56It is anticipated that there will be at least 4 releases per year of the LTS
57or approximately 1 every 3 months. However, the cadence can be shorter or
58longer depending on the number and criticality of the backported
59fixes. Releases should be coordinated with the validation engineers to ensure
60that a tagged release has been tested.
61
62The current maintained LTS branches are 17.11 and 18.11.
63
64At the end of the 2 years, a final X.11.N release will be made and at that
65point the LTS branch will no longer be maintained with no further releases.
66
67
68What changes should be backported
69---------------------------------
70
71Backporting should be limited to bug fixes. All patches accepted on the master
72branch with a Fixes: tag should be backported to the relevant stable/LTS
73branches, unless the submitter indicates otherwise. If there are exceptions,
74they will be discussed on the mailing lists.
75
76Fixes suitable for backport should have a ``Cc: stable@dpdk.org`` tag in the
77commit message body as follows::
78
79     doc: fix some parameter description
80
81     Update the docs, fixing description of some parameter.
82
83     Fixes: abcdefgh1234 ("doc: add some parameter")
84     Cc: stable@dpdk.org
85
86     Signed-off-by: Alex Smith <alex.smith@example.com>
87
88
89Fixes not suitable for backport should not include the ``Cc: stable@dpdk.org`` tag.
90
91Features should not be backported to stable releases. It may be acceptable, in
92limited cases, to back port features for the LTS release where:
93
94* There is a justifiable use case (for example a new PMD).
95* The change is non-invasive.
96* The work of preparing the backport is done by the proposer.
97* There is support within the community.
98
99
100The Stable Mailing List
101-----------------------
102
103The Stable and LTS release are coordinated on the stable@dpdk.org mailing
104list.
105
106All fix patches to the master branch that are candidates for backporting
107should also be CCed to the `stable@dpdk.org <http://mails.dpdk.org/listinfo/stable>`_
108mailing list.
109
110
111Releasing
112---------
113
114A Stable Release will be released by:
115
116* Tagging the release with YY.MM.n (year, month, number).
117* Uploading a tarball of the release to dpdk.org.
118* Sending an announcement to the `announce@dpdk.org <http://mails.dpdk.org/listinfo/announce>`_
119  list.
120
121Stable releases are available on the `dpdk.org download page <http://core.dpdk.org/download/>`_.
122
123
124ABI
125---
126
127The Stable Release should not be seen as a way of breaking or circumventing
128the DPDK ABI policy.
129