News Announcements for Version 25.x
The following announcements are specific to Version 25.x. For information presented chronologically, see News.
Python Breaking Change
In v25
message.UnknownFields()
will be deprecated in pure Python and C++ extensions. It will be removed in v26.
Use the new
UnknownFieldSet(message)
support in unknown_fields.py
as a replacement.
μpb Moving to the Protobuf Git Repository
Starting with the v25 release, μpb now lives in the protobuf repo instead of in its former location in a separate repo. All μpb development going forward will take place only in the new location.
The merger of the two repos will simplify and speed up our development process by removing the need to update pinned version dependencies between protobuf and μpb. Changes to μpb now take effect immediately in protobuf code and vice versa, without the need for a manual upgrade step.
We expect that most users will not need to take much, if any, action to accommodate the change. μpb is the engine behind our Ruby, PHP, and Python implementations, but you will most likely not notice the change unless you have code that refers to μpb directly.
If you refer to μpb from a Bazel project, you will need to update μpb references
to point to protobuf instead (for example, replace @upb
with
@com_google_protobuf
). We are keeping μpb file paths and Bazel targets the
same to minimize the need for additional changes, but there are two exceptions:
- The
upbc
directory has been renamedupb_generator
. - The top-level
BUILD
file for μpb has moved into theupb
directory. So, for example, references to@upb//:reflection
should now be written@com_google_protobuf//upb:reflection
.