This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • Experimental APIs are distinguished in code by:
    • double-underscore namespace (names starting with "svn_ _" or "svn_LIB_ _") 2
    • Doxygen annotation "@warning EXPERIMENTAL"
    • Function annotation "SVN_EXPERIMENTAL" (where applicable – that is, for C functions)
    • being in a separate header (question)1
  • New experimental APIs MAY be introduced in the .0 patch release of any minor release series (regular or LTS)
    • and MUST NOT be introduced in a patch release other than .0
  • Compatibility: throughout a minor release series, an experimental API:
    •  MUST be backward- and forward-compatible at the ABI level, so that a caller will not crash;
    • MAY change its functionality in any way, up to and including doing nothing or returning an error indication such as "unsupported feature".
  • In any minor release, an experimental API MAY be incompatible in any way with experimental APIs in the previous minor release, or MAY be removed.
  • When an experimental API is considered stable enough, :
    • it SHOULD be promoted to a stable API in the next minor release.
    • We SHOULD continue to provide the last experimental version of this API as well, for one minor release, if we can make it compatible. (Compatible means the same as when a stable API is changed.)

1 see 'Packaging and Linking' and 'Distinguishing Experimental APIs' below