Zacząłem budować aplikację z protobuf 2.2.0, ponieważ była najnowsza. Teraz rozważam uaktualnienie do protokołu protobuf 2.4.0a, który jest najnowszy. Jeśli to zrobię, wiadomości generowane przez jedną wersję aplikacji będą nadal czytelne w innej wersji tego samego schematu? Czy mógłbym coś złamać?Czy komunikaty protobuf są kompatybilne z różnymi wersjami protobuf
Odpowiedz
To powinno wystarczyć. Wersja 2.1.0 wprowadziła spakowane powtarzające się pola, ale nie sądzę, że od tego czasu nastąpiły zmiany w formacie drutu.
I dla podkreślenia (dla OP) istniejące wiadomości byłyby w porządku; kompatybilny wstecz itp. –
@Marc: Yup. Niebezpieczeństwo polegałoby na wypisywaniu spakowanych powtarzających się pól w nowszym kodzie i oczekiwaniu, że starszy kod to odczyta. Nie powinno to jednak stanowić problemu między 2.2 a 2.4, i tak czy inaczej musiałbyś to zrobić jawnie. –
Dla proto3 patrz http://stackoverflow.com/questions/40680273/protobuf-backward-compatibility-and-proto3-vs-proto2 –