openssl / technical-policies

Mirror of the repository for technical policies, governed by the OTC (OpenSSL Technical Committee)
20 stars 32 forks source link

Clarify what constitutes API break and what not #65

Open t8m opened 1 year ago

t8m commented 1 year ago

DDvO commented Mar 21, 2023

The problem is that basically anything that changes in the public API headers that can potential break a compilation for > anyone is an API break. So until we found that this is very unlikely to break anyone it was considered an API break. Not > sure how to record this and where.

Thanks for your response, which more or less includes a definition of an API break. Unfortunately, it won't be easy to give simple syntactic rules to correctly and completely determine what will constitute an API break or not.

For instance, the following header file changes do not lead to API breaks:

I suggest adding something like this to the technical policies, next to the coding style.

DDvO commented 11 months ago

@t8m wrote in https://github.com/openssl/openssl/pull/22304#issuecomment-1753174465:

Unfortunately even constifying reference type arguments is nowadays considered an API break because in theory someone could use that function in a function pointer variable.

arapov commented 9 months ago