GraphBLAS / graphblas-api-c

Other
7 stars 3 forks source link

What is the deprecation policy and how should breaking changes happen? #77

Open eriknw opened 1 year ago

eriknw commented 1 year ago

We should document our policies regarding changes (that aren't strictly additions) to the spec.

We should, of course, try hard to not require changes to be made, but sometimes it's better long term to make backward-incompatible changes.

mcmillan03 commented 1 year ago

Historically:

I always tried to note backward-compatibility breaking changes in the "Revision history" with red text.

In the past we thought that backward-compatibility breaking changes required an increment in the major version number. We may not have realized if we got that wrong until much later (and then were noted in the Revision history).

Regarding deprecation specifically: once we did deprecate a Descriptor enum (renamed it). The old name coexisted with the new name until the next major version increment where the old name was removed from the spec.