[dpdk-dev] [PATCH v9 2/4] doc: changes to abi policy introducing major abi versions
Thomas Monjalon
thomas at monjalon.net
Fri Nov 8 18:11:54 CET 2019
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.
> +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