Commit 9069794e authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

docs/libcurl/ABI: more markdown friendly

parent 7b82b07f
Loading
Loading
Loading
Loading
+13 −6
Original line number Original line Diff line number Diff line
@@ -7,16 +7,16 @@
                          libcurl's binary interface
                          libcurl's binary interface


ABI - Application Binary Interface
ABI - Application Binary Interface
----------------------------------


  First, allow me to define the word for this context: ABI describes the
  "ABI" describes the low-level interface between an application program and a
  low-level interface between an application program and a library. Calling
  library. Calling conventions, function arguments, return values, struct
  conventions, function arguments, return values, struct sizes/defines and
  sizes/defines and more.
  more.


  For a longer description, see
  [Wikipedia has a longer description](http://en.wikipedia.org/wiki/Application_binary_interface)
  http://en.wikipedia.org/wiki/Application_binary_interface


Upgrades
Upgrades
--------


  In the vast majority of all cases, a typical libcurl upgrade does not break
  In the vast majority of all cases, a typical libcurl upgrade does not break
  the ABI at all. Your application can remain using libcurl just as before,
  the ABI at all. Your application can remain using libcurl just as before,
@@ -26,11 +26,13 @@ Upgrades
  it now is defined to work.
  it now is defined to work.


Version Numbers
Version Numbers
---------------


  In libcurl land, you really can't tell by the libcurl version number if that
  In libcurl land, you really can't tell by the libcurl version number if that
  libcurl is binary compatible or not with another libcurl version.
  libcurl is binary compatible or not with another libcurl version.


Soname Bumps
Soname Bumps
------------


  Whenever there are changes done to the library that will cause an ABI
  Whenever there are changes done to the library that will cause an ABI
  breakage, that may require your application to get attention or possibly be
  breakage, that may require your application to get attention or possibly be
@@ -43,7 +45,11 @@ Soname Bumps
  During the first seven years of libcurl releases, there have only been four
  During the first seven years of libcurl releases, there have only been four
  ABI breakages.
  ABI breakages.


  We are determined to bump the SONAME as rarely as possible.  Ideally, we
  never do it again.

Downgrades
Downgrades
----------


  Going to an older libcurl version from one you're currently using can be a
  Going to an older libcurl version from one you're currently using can be a
  tricky thing. Mostly we add features and options to newer libcurls as that
  tricky thing. Mostly we add features and options to newer libcurls as that
@@ -54,6 +60,7 @@ Downgrades
  soname, and then your application may need to adapt to the modified ABI.
  soname, and then your application may need to adapt to the modified ABI.


History
History
-------


  The previous major library soname number bumps (breaking backwards
  The previous major library soname number bumps (breaking backwards
  compatibility) have happened the following times:
  compatibility) have happened the following times: