Что такое breaking change в protobuf?

Middle
190 просмотров
AFK Offer AI

Breaking change — изменение, которое ломает существующих клиентов. Примеры: изменение типа поля (int32 → string), изменение номера поля, удаление поля без reserved, переименование сервиса/метода, изменение streaming типа rpc. Также breaking: изменение семантики поля (price в рублях → в копейках). Как избежать: добавляй новые поля вместо изменения старых, используй reserved для удалённых, версионируй пакеты (v1 → v2) для крупных изменений. buf tool умеет автоматически проверять breaking changes через buf breaking.

Следующий вопрос

Как реализовать Adapter?