xref: /dpdk/doc/guides/contributing/stable.rst (revision 2d0c29a37a9c080c1cccb1ad7941aba2ccf5437e)
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.
30
31A Stable Release is used to backport fixes from an ``N`` release back to an
32``N-1`` release, for example, from 16.11 to 16.07.
33
34The duration of a stable is one complete release cycle (3 months). It can be
35longer, up to 1 year, if a maintainer continues to support the stable branch,
36or if users supply backported fixes, however the explicit commitment should be
37for one release cycle.
38
39The release cadence is determined by the maintainer based on the number of
40bugfixes and the criticality of the bugs. Releases should be coordinated with
41the validation engineers to ensure that a tagged release has been tested.
42
43
44LTS Release
45-----------
46
47A stable release can be designated as an LTS release based on community
48agreement and a commitment from a maintainer. The current policy is that each
49year's November release will be maintained as an LTS for 2 years.
50
51The current DPDK LTS releases are 17.11 and 18.11.
52
53It is anticipated that there will be at least 4 releases per year of the LTS
54or approximately 1 every 3 months. However, the cadence can be shorter or
55longer depending on the number and criticality of the backported
56fixes. Releases should be coordinated with the validation engineers to ensure
57that a tagged release has been tested.
58
59
60What changes should be backported
61---------------------------------
62
63Backporting should be limited to bug fixes. All patches accepted on the master
64branch with a Fixes: tag should be backported to the relevant stable/LTS
65branches, unless the submitter indicates otherwise. If there are exceptions,
66they will be discussed on the mailing lists.
67
68Fixes suitable for backport should have a ``Cc: stable@dpdk.org`` tag in the
69commit message body as follows::
70
71     doc: fix some parameter description
72
73     Update the docs, fixing description of some parameter.
74
75     Fixes: abcdefgh1234 ("doc: add some parameter")
76     Cc: stable@dpdk.org
77
78     Signed-off-by: Alex Smith <alex.smith@example.com>
79
80
81Fixes not suitable for backport should not include the ``Cc: stable@dpdk.org`` tag.
82
83Features should not be backported to stable releases. It may be acceptable, in
84limited cases, to back port features for the LTS release where:
85
86* There is a justifiable use case (for example a new PMD).
87* The change is non-invasive.
88* The work of preparing the backport is done by the proposer.
89* There is support within the community.
90
91
92The Stable Mailing List
93-----------------------
94
95The Stable and LTS release are coordinated on the stable@dpdk.org mailing
96list.
97
98All fix patches to the master branch that are candidates for backporting
99should also be CCed to the `stable@dpdk.org <http://mails.dpdk.org/listinfo/stable>`_
100mailing list.
101
102
103Releasing
104---------
105
106A Stable Release will be released by:
107
108* Tagging the release with YY.MM.n (year, month, number).
109* Uploading a tarball of the release to dpdk.org.
110* Sending an announcement to the `announce@dpdk.org <http://mails.dpdk.org/listinfo/announce>`_
111  list.
112
113Stable releases are available on the `dpdk.org download page <http://core.dpdk.org/download/>`_.
114
115
116ABI
117---
118
119The Stable Release should not be seen as a way of breaking or circumventing
120the DPDK ABI policy.
121