Putting the Semantics into Semantic Versioning
summary
Argues for certified, machine-checked semantic versioning: upstream emits machine-readable taxonomy labels for each change and provides provenance and tool results; downstream verifies those claims before upgrading. Demonstrates that existing tools like RevAPI already find mis-tagged breaks, advocates cross-version testing and fuzzing plus hybrid static/dynamic analyses, and proposes a Datalog meta-tool to combine tool outputs into a concise compatibility verdict usable in CI.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 0:10Software reuse is here
- 0:59Technical debt
- 1:54Semantic version numbers
- 3:30Why Semantic Versioning
- 3:41Why do developers upgrade
- 4:29Breaking upgrades
- 5:55Downstream
- 6:52Upgrades
- 7:55Automated Upgrades
- 8:17Contracts
- 8:54API Services
- 9:44Closed World Assumption
- 10:30Taxonomy
- 11:23Tools
- 14:14Conclusion
related talks
30mPutting the Semantics into Semantic Versioning
08mIGNITE: Did Anyone Say SemVer?
01h 29mC++ API & ABI versioning
32mEscaping Version Skew: Formalizing Compatibility in a World of Partial Rollouts
35mThe practical implementation of Documentation as Code
16mWhy Is My Software on Fire?
28mPolicy as [versioned] Code - you're doing it wrong
22mShifting Left, Shifting Right
