Tag
backward-compatibility
- Sep 7, 2026 Schema Evolution and Wire Compatibility Across Formats Why a field number rather than a name is a message field identity, how wire types constrain which retyping is safe, and how Avro resolution differs from Protobuf evolution. software architecture
- Jun 26, 2026 API Versioning and the Mechanics of Schema Evolution Which schema changes are actually breaking, where a version identifier belongs, and how deprecation windows and data migrations interact with old clients. backend systems
- Jun 24, 2026 Mixed-Version Operation: What Two Versions Must Agree On Why every rolling upgrade temporarily runs two builds at once, which interfaces must be bidirectional across that window, and how expand-migrate-contract keeps them so. distributed systems
- Jun 15, 2026 Tolerant Readers, Unknown Fields, and the Cost of Strict Decoding How clients should handle members and enum values they do not recognise, why strict decoding turns every addition into a breaking change, and where tolerance turns into silent corruption. software architecture
- Aug 18, 2025 Breaking Change Detection in API Descriptions Which schema-diff findings are genuinely breaking, which are noise, and why the baseline has to be the released description rather than the previous commit. software architecture
- Nov 25, 2024 Versioning Strategies and What a Version Number Promises How path, header, and media-type versioning differ in what they can express, why a version is a support commitment rather than a name, and when a new version beats a compatible change. software architecture
- Sep 20, 2024 Versioning the Platform Interface Under Existing Tenants How a self-service interface changes without breaking its consumers: explicit versions, compatibility guarantees, and why the parts nobody uses break first. devops
- Aug 7, 2024 Where an API Contract Ends and the Implementation Begins Which parts of an HTTP exchange callers may depend on, which are incidental, and why undocumented behaviour still turns into a maintenance obligation. software architecture
- Mar 12, 2024 Expand and Contract: Changing a Column While Both Versions Run The four-step sequence that lets old and new application code share one schema, which intermediate states must be safe, and where the sequence breaks down. databases
- Jun 10, 2022 Expand and Contract: Schema Changes That Survive an Overlap The three-phase pattern that keeps two application versions reading one schema, which DDL operations take heavy locks, and how to bound the lock window with batched backfills. devops