Versioning strategy for a complex internal API
summary
Internal RPC/protobuf mobile API (JSON for web) uses client‑server capability negotiation: client sends supported feature list and flags like SUPPORT_IMAGE_SIZE_VIA_URL, server returns per‑feature status (enabled/disabled, enableable by purchase). Team runs daily releases across five client families, keeps ~200 feature flags and 161 negotiable features, and uses an experimental subset (e.g. Windows Phone) for fast AB tests. Result: API evolves since 2010 with no major breaking release, desktop moved 98% to the new protocol, and dashboard plus upgrade screens drive deprecation.
AI-written summary · about
chapters (4)
related talks
34mEffective collaboration with backend engineers
25mHow to Approach Retroactive API Versioning
35mBuilding Your API for Longevity
50mAPI Versioning for REST: In Real Life, How Do We Do It?
26mEvolving from a monolithic to a distributed public API
35mVersioning in a Microservice Architecture
51mHow We Maintain 100 Different Client Versions at Badoo
53mAPI Standards 2.0
