Changes announced January 5, 2024
Changes announced for Protocol Buffers on January 5, 2024.
This topic covers breaking changes in Ruby and Python in the 26.x line.
Ruby Breaking Changes
Freeze Is Now Recursive in Ruby
Starting in the 26.x line, when freeze is applied it will be applied recursively, affecting all sub-messages, maps, and repeated fields.
Python Breaking Changes
Removing Deprecated APIs
In the 26.x release, the following deprecated APIs will be removed:
Rejecting Extend Repeated Field with None Iterable
Starting in the 26.x release, extending repeated fields with a None
iterable
will be rejected (it will raise a TypeError
). For example,
m.repeated_int32.extend(None)
will be rejected.
Removing RegisterExtension in message class
Starting in the 26.x release,
RegisterExtension
will be removed. You can access extensions in Python using the Extensions
property on message objects.
This affects both pure Python and the C++ implementation of Python, but not upb Python.