SONAME and binary compatibilty #1339
-
I am creating deb packages for this project, and I would like to know what binary compatibility you promise. Since you have not yet changed the major version (0), does this mean that every release so far is ABI compatible? Or does every minor version number change break backwards compatibility? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @misje, we follow the semantic versioning idea that major == 0 is "initial development". However, we only "break" in minor bumps and not otherwise, meaning the semantic versioning line of "Anything MAY change at any time." is certainly not true for the Native SDK. Even our "breaks" are rarely related to API or even ABI changes; most of the breaks affect build-time parameters or runtime behavior that we didn't even provide a contract for, but which users might still consider surprising if they relied on that behavior. The versioning includes build-time parameters because the Native SDK is first and foremost a source distribution that can be configured to run in a broad range of environments. Although we run the Native SDK at a major 0, we take breakage of API or ABI very seriously, and during the time I contributed to the maintenance of the SDK (which started with
In all other cases, we strongly favor adding interfaces rather than changing either API or ABI. |
Beta Was this translation helpful? Give feedback.
Hi @misje, we follow the semantic versioning idea that major == 0 is "initial development".
However, we only "break" in minor bumps and not otherwise, meaning the semantic versioning line of "Anything MAY change at any time." is certainly not true for the Native SDK.
Even our "breaks" are rarely related to API or even ABI changes; most of the breaks affect build-time parameters or runtime behavior that we didn't even provide a contract for, but which users might still consider surprising if they relied on that behavior. The versioning includes build-time parameters because the Native SDK is first and foremost a source distribution that can be configured to run in a broad range of environm…