[dpdk-dev] [PATCH v9 2/4] doc: changes to abi policy introducing major abi versions

Ray Kinsella mdr at ashroe.eu
Fri Nov 8 18:12:55 CET 2019



On 08/11/2019 17:11, Thomas Monjalon wrote:
> 08/11/2019 13:46, Ray Kinsella:
>> This policy change introduces major ABI versions, these are
>> declared every year, typically aligned with the LTS release
>> and are supported by subsequent releases in the following year.
>> This change is intended to improve ABI stabilty for those projects
>> consuming DPDK.
>>
>> Signed-off-by: Ray Kinsella <mdr at ashroe.eu>
>> Acked-by: John Mcnamara <john.mcnamara at intel.com>
>> Acked-by: Stephen Hemminger <stephen at networkplumber.org>
> 
> Acked-by: Thomas Monjalon <thomas at monjalon.net>
> 
>> ---
>> +#. Major ABI versions are declared no more frequently than yearly. Compatibility
>> +   with the major ABI version is mandatory in subsequent releases until a new
>> +   major ABI version is declared.
>> +#. Major ABI version are usually but not always declared aligned with a
>> +   :ref:`LTS release <stable_lts_releases>`.
> 
> OK thanks
> 
>> +#. The ABI version is managed at a project level in DPDK, with the ABI version
>> +   reflected in all library's soname.
> 
> It is not specifying the experimental lib exception.
> But I can live without it.

I will fix in a follow up on Monday.

> 
>> +A new major ABI version is declared no more frequently than yearly, with
>> +declarations usually aligning with a LTS release, e.g. ABI 20 for DPDK 19.11.
>> +Compatibility with the major ABI version is then mandatory in subsequent
>> +releases until the next major ABI version is declared, e.g. ABI 21 for DPDK
>> +20.11.
> 
> OK thanks
> 
>> +   Note that, this policy details the method by which the ABI may be changed,
>> +   with due regard to preserving compatibility and observing deprecation
>> +   notices. This process however should not be undertaken lightly, as a general
>> +   rule ABI stability is extremely important for downstream consumers of DPDK.
>> +   The API should only be changed for significant reasons, such as performance
>> +   enhancements. API breakages due to changes such as reorganizing public
>> +   structure fields for aesthetic or readability purposes should be avoided.
> 
> OK thanks
> 
>> +Libraries marked as ``experimental`` are entirely not considered part of an ABI
>> +version, and may change without warning at any time. Experimental libraries
>> +always have a major version of ``0`` to indicate they exist outside of
>> +ABI Versioning, with the minor version incremented with each ABI change
>> +to library.
> 
> OK
> 
> 


More information about the dev mailing list