API Versioning and ABI Stability
Plan for semantic versioning and protect ABI stability across releases.
Two Different Compatibilities
Two compatibility concerns:
- API compatibility — source code that compiles against version N also compiles against N+1
- ABI compatibility — binaries compiled against version N work with version N+1 without recompiling
Why ABI Matters
ABI compatibility lets shared libraries be upgraded without recompiling dependents. Critical for distributions, plugins, and long-lived applications.
All lessons in this course
- Header-Only vs Compiled Libraries
- API Versioning and ABI Stability
- Hiding Implementation with PIMPL
- Writing a Modern Header-Only Utility Library