Optimize GeneratedMessage.ExtendableBuilder to avoid temporary allocations when merging empty extendable messages. (a37dbd6)
Stop using sun.misc.Unsafe in isValidUtf8 paths. (421d745)
Use String#encodedLength on JDK versions that support it (efca121)
Add an enforce_proto_limits feature which will be implemented in Edition 2026. (5ddd524)
Java: limit numeric string length before BigDecimal parsing (#26908) (25e7005)
Validate java package and class against injection risks. (f8514d8)
Csharp
Cache custom JSON enum names in JsonParser using Lazy. (156d42d)
Csharp: add support for custom json strings for enum values (f11aac4)
Validate language-specific namespace options in code generators (#28667) (34e959b)
Make default_symbol_visibility STRICT in edition 2026 (fcd68c5)
Advertise that C# supports Edition 2026, and move C# Nullable Reference Type support into that edition. (a1f718c)
First implementation of C# nullable reference types enablement using the current (unreleased) edition. (7a732d1)
Add bazel targets for standalone plugin binaries (#23919) (81880fa)
Csharp: propagate recursion depth into JsonReplayTokenizer to honor Any nesting limit (#26835) (cee45bf)
Fix csharp string interpolation in Timestamp.ToDateTime() exception message (#26341) (a298282)
Objective-C
[ObjC] Carry recursion depth across MessageSet item parsing (#27571) (f89baed)
Add bazel targets for standalone plugin binaries (#23919) (81880fa)
[ObjC] Add DEBUG-only validations to extension values in GPBMessage, along with tests. (290a537)
Rust
Re-export to google-protobuf crate in 0.x.y for 36.0 and above (96e772f)
Remove -release suffix from Rust Crates.io release if minor version >= 36 (e7b3391)
Add bazel targets for standalone plugin binaries (#23919) (81880fa)
RustProto: Add the ability to iterate over the muts of a repeated message-typed field. (70590a5)
See also UPB changes below, which may affect Rust.
Python
Add json_options.proto and json_enumvalue_options.proto and/or gencode derived from them to release artifacts (15e9334)
Emit future warning when mutating GetOptions() in OSS (2255541)
Emit deprecation warning when comparing descriptor containers with unrecognized types in OSS (5865e6b)
Migrate top-level protobuf unittest protos from Edition 2024 to Edition 2026. (271ca53)
Configure extra compile args in setup.py (#28264) (3aa022a)
Python: fix heap-use-after-free in MapIterator after map.clear() (#27257) (9e9dbae)
Add PyDescriptorPool_FromSharedPool(std::shared_ptr) API (abdf212)
Fix memory leak in PyUpb_Descriptor_GetExtensionRanges (3d31b0f)
Warn on out-of-range pop index in upb repeated fields. (a70d121)
Support assigning repeated scalar fields using Python Buffer API. (ea40f1d)
Fix Pure Python map<string, ...> key handling for bytes lookups. (156a0b8)
Change Python DescriptorDatabase FindFileContainingSymbol() to accept leading "." to match DescriptorPool and other languages (e86e536)
Faster Python cpp protos assignment to bytes/string fields. (593ab17)
Serialize length-prefixed protos once (#27252) (e090f8a)
[py/upb] Make GetOptions() return immutable options for scalar type. UPB will raise a TypeError when options returned GetOptions() by is mutated. (403d429)
Add bazel targets for standalone plugin binaries (#23919) (81880fa)
Add mutex protection to DescriptorPool caches. (cecbbf4)
Refactor container comparison function in py/C++ and py/upb to return enum instead of integer. (c857f49)
Py JSON: Fix issue with depth enforcement on Struct/Value WKT paths. (cfcc433)
Fix RepeatedContainer_pop to raise IndexError for out-of-bounds indices. (78a09ad)
Add bazel targets for standalone plugin binaries (#23919) (81880fa)
UPB (Python/PHP/Ruby C-Extension)
Json/upb: Implement json EnumValueName for upb (0e8519e)
Avoid UB in upb by switching to the XCT section, which will run our constructors before the compiler-generated initializers. (58e5ac8)
[py/upb] Make GetOptions() return immutable options for scalar type. UPB will raise a TypeError when options returned GetOptions() by is mutated. (403d429)
Clarify FieldMask JSON warnings/errors in the situation of fields which aren't round-trip representable in JSON format. (0488596)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
Release Notes
protocolbuffers/protobuf (protobuf)v36.0: Protocol Buffers v36.0
Announcements
Bazel
Compiler
C++
Java
Csharp
Objective-C
Rust
Python
PHP
PHP C-Extension
Ruby
UPB (Python/PHP/Ruby C-Extension)
Other
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.