summaryrefslogtreecommitdiffstats
path: root/comm/third_party/botan/doc/abi.rst
diff options
context:
space:
mode:
Diffstat (limited to 'comm/third_party/botan/doc/abi.rst')
-rw-r--r--comm/third_party/botan/doc/abi.rst21
1 files changed, 21 insertions, 0 deletions
diff --git a/comm/third_party/botan/doc/abi.rst b/comm/third_party/botan/doc/abi.rst
new file mode 100644
index 0000000000..faf7bcc44a
--- /dev/null
+++ b/comm/third_party/botan/doc/abi.rst
@@ -0,0 +1,21 @@
+
+ABI Stability
+====================
+
+Botan uses semantic versioning for the API; if API features are added the minor
+version increases, whereas if API compatibility breaks occur the major version
+is increased.
+
+However no guarantees about ABI are made between releases. Maintaining an ABI
+compatible release in a complex C++ API is exceedingly expensive in development
+time; just adding a single member variable or virtual function is enough to
+cause ABI issues.
+
+If ABI changes, the soname revision will increase to prevent applications from
+linking against a potentially incompatible version at runtime.
+
+If you are concerned about long-term ABI issues, considering using the C API
+instead; this subset *is* ABI stable.
+
+You can review a report on ABI changes to Botan at
+https://abi-laboratory.pro/tracker/timeline/botan/