Establish a Strategy for Major Version Increments
Issue In the past, we've agreed that the 1DS SDK will follow Semantic Versioning. One of the key points for Semantic Versioning is that it allows breaking changes across Major Versions. While certainly we want to avoid breaking changes where possible, we should have a published Strategy for how to deal with those eventual breaking changes.
Breaking changes are inevitable, especially as the number of developers and consumers of the 1DS SDK increases, bringing new requirements over time. Thus, making the process for incrementing the major version as pain free (and well specified) as possible is essential for allowing breaking changes. Equally important in this is defining the support and maintenance story for older major versions.
I'm gonna remove the milestone from this issue for now:
- assuming no API-breaking changes in v3.x
- minor increments may cause ABI breaking changes for C++, but not for C API