Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
Bazel 9 Support: Upgrade tests to Bazel 9 (3ee8d8a)
Moved protocopt flag out of the cc dir, since it is not a c++-specific flag. (325d8dc)
Add support for bazel 9.x (#26201) (f08d703)
Change @protobuf//bazel/flags:prefer_prebuilt_proto flag to True. (f9f32d2)
Dropped support for Bazel 7. (1816758)
Compiler
Implement the Edition 2026 naming style enforcement feature. This will help prevent field name collisions. (ae0d964)
Add enum to enforce_naming_style feature to avoid field naming collisions which will be implemented in Edition 2026. (e4911a1)
Fail writing files in protoc CLI if any file output path is relative. (3bf2b07)
Mangle types named XyzView if there is any direct sibling named Xyz (63d6ef0)
Improve the namespacing selected by rustc used for gencode types in errors. (ce2eb73)
Fully qualify scalar types in Kotlin/Native proto generator. (adc8d22)
Change _opt() accessors to return an std::Option instead of protobuf::Optional (6ced612)
Make Message's trait bounds much better for generic use (be1292f)
Support more chars in type URLs in the C++ text-format parser. (3a87c6c)
Validate Feature Support on Custom Options (34c1110)
Trait clarity effort: introduce Singular trait, for types which are allowed as simple fields (cdbfaf1)
Trait clarity improvement on Map traits (a8daa95)
C++
Workaround for attribute handling bug in gcc < 13 (78dc67e)
Implement the Edition 2026 naming style enforcement feature. This will help prevent field name collisions. (ae0d964)
Add enum to enforce_naming_style feature to avoid field naming collisions which will be implemented in Edition 2026. (e4911a1)
Enhance ParseInfoTree to provide location of names and values. (1cb4fdb)
Add integer overflow check to RepeatedPtrField::MergeFrom. (cb5fe97)
Adding sanity check for ListFields reflection call (555360e)
Introduce Arena::UniquePtr and Arena::Ptr as smart pointers to better manage (bb00218)
Bug fix for edition 2024 visibility checking. Visibility checking was not properly applied to service method input and output types. This is now applied properly and will error if method input/output types do not have visibility to those messages. (5a56dee)
Fixed data race in Python Free Threading by removing unnecessary SetHasBitForRepeated() call. (8c1a9a4)
Add support for bazel 9.x (#26201) (f08d703)
Add proto2::sort/stable_sort utilities that behave as the standard ones but are optimized for Protobuf containers. (252281f)
Add proto2::erase/erase_if utilities that behave as the standard ones but are optimized for Protobuf containers. (dc9fb35)
Extend Abseil flag support for enums to include std::vector. (bd42ac6)
Dropped support for Bazel 7. (1816758)
Add native Abseil flag support to protobuf message types. (ec42e19)
Support more chars in type URLs in the C++ text-format parser. (3a87c6c)
Stripping empty options (d5d6d4c)
Creating generic MaybeAddError helper function (4bcf773)
Validate Feature Support on Custom Options (34c1110)
Add bounds checks to UnsafeArenaExtractSubrange, ReleaseLast and SwapElements. (d124c2d)
Fix UTF-8 Validation of string extensions in C++ (0936f33)
Remove first implementation of protobuf out of bounds enforcement. (507f86b)
Add native Abseil flag support to protobuf enums. (a203388)
Improve EINTR handling for close in zero_copy_stream_impl.h (a904af9)
Add cc_proto_library for MessageSet in //src/google/protobuf/bridge (6d23e8e)
Java
Add BytecodeClassName functions, matching helpers in the java GeneratorNames utility. (514aceb)
Add enum to enforce_naming_style feature to avoid field naming collisions which will be implemented in Edition 2026. (e4911a1)
Avoid toBigIntegerExact in JsonFormat to avoid degenerate parse behavior in the face of large exponents. (57093a8)
Dropped support for Bazel 7. (1816758)
Add native Abseil flag support to protobuf enums. (a203388)
Csharp