Forward-compatible Codable: old clients must never destroy what new clients wrote
A pitfall report in two acts: the default String-enum
decode that silently freezes sync the day a newer app writes a new value —
and the “tolerant” fix that's worse, erasing newer fields under
last-writer-wins. Raw-preserving enums, an unknown-field bag, and the three
tests that pin the contract.
Also in: 中文 · 日本語 · Español · Français · 한국어 · Українська
Read the post