Neuigkeiten für Version 21.x
Ankündigungen zu Änderungen für die Version 21.x von Protocol Buffers.
Die folgenden Ankündigungen beziehen sich speziell auf Version 21.x, die am 25. Mai 2022 veröffentlicht wurde. Informationen, die chronologisch dargestellt werden, finden Sie unter Neuigkeiten.
Python-Updates
Wir haben einige Änderungen an der Python-Sprachunterstützung in Protocol Buffers vorgenommen. Version 4.21.0 ist eine neue Hauptversion, die auf 3.20.1 folgt. Die neue Version basiert auf der upb-Bibliothek und bietet eine deutlich bessere Parsing-Leistung als frühere Versionen, insbesondere bei großen Nutzlasten. Sie enthält auch vorab kompilierte Binärmodule für Apple Silicon zur Leistungssteigerung ohne manuelle Kompilierung.
Die neue Version enthält einige Breaking Changes. Insbesondere
- Die Methode
UnknownFields(), die von einer implizit erstellten Klasse abhing, wird durch die explizit erstellte KlasseUnknownFieldSetersetzt. - Einige nicht-kernspezifische Merkmale haben sich möglicherweise geändert, wie z. B. das genaue Format bestimmter Zeichenketten oder Fehlermeldungen. Dies sind keine Breaking Changes, können aber dennoch Ihre bestehende Codebasis beeinträchtigen.
- Anwendungen, die auf dem Austausch von Nachrichten zwischen Python und C++ basieren, sind in der neuen Version nicht mehr kompatibel. Die meisten Entwickler werden davon nicht betroffen sein, aber Benutzer von Nucleus und möglicherweise anderen Bibliotheken schon. Als Workaround können Sie eine Umgebungsvariable setzen, die die Bibliothek zwingt, die Kompatibilität zu erhalten.
- Python upb benötigt generierten Code, der von protoc 3.19.0 oder neuer generiert wurde.