Protobuf

Latest version: v5.26.1

Safety actively analyzes 629599 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 26

26.0rc2

Announcements
* **This version includes breaking changes to: C++, Java, PHP, Python.**
* [PHP] Remove deprecated legacy class aliases. (15709) (https://github.com/protocolbuffers/protobuf/commit/096e127d02ca4f49220f46a42feacf0b1e1bb18f)
* [Java] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
* [Python] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
* [Python] Removed obsolete/duplicate `setup.py` from Python. (15708) (https://github.com/protocolbuffers/protobuf/commit/5722aeffcad72e9a335a3ec7985858dfa31477be)
* [C++] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
* [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes.

C++
* Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
* Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/fc41e78d7a5ead031f23ba2e1dcf35fdf941751a)
* Add new 'always_print_without_presence_fields' option to the C++ JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/1f3bf1d31ed4b45ff1ac463941784b9dcba15bc8)
* Remove use of mach_absolute_time (15554) (15662) (https://github.com/protocolbuffers/protobuf/commit/8b0f6fdcca7c0344358d415d12548196032e5279)
* Check ctype() in DescriptorBuilder for edition 2023 and beyond. (https://github.com/protocolbuffers/protobuf/commit/0090f195f007cd48f7040746983a7a0905d914d1)
* Fail building descriptors if `ctype` is used for fields other than string or bytes. (https://github.com/protocolbuffers/protobuf/commit/624d65da6aa8bb28421310ba1ae53183fd7066bb)
* [CPP] Add the privacy manifest to the C++ CocoaPod. (15664) (https://github.com/protocolbuffers/protobuf/commit/e7888a1068ddcfd0c91fef4dec76c8cea2befe9a)

Java
* Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
* Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/fc41e78d7a5ead031f23ba2e1dcf35fdf941751a)
* Add a new 'includingDefaultValueWithoutPresenceFields' option to the Java parser which is intended to replace the current 'includingDefaultValueFields'. (https://github.com/protocolbuffers/protobuf/commit/043191b84d6061ed923d1c227ef38030f18fe619)
* Force descriptor initialization of dependencies *before* internalUpdateFileDescriptor(). (15718) (https://github.com/protocolbuffers/protobuf/commit/4dec1a7d410c9380fb0bbb177666764af4bddda2)
* Correctly set maven-compiler-plugin to >= Java 1.8 per our minimum Java version (15707) (https://github.com/protocolbuffers/protobuf/commit/6028cdba533994ee23cc7cf0247e46d561ad379d)
* Update internalUpdateFileDescriptor() to synchronize setProto() and resolveAllFeatures() to avoid data races. (15659) (https://github.com/protocolbuffers/protobuf/commit/225b08088c54f8c89df284ac538b266109cec4c4)

Objective-C
* [ObjC] Use a local to avoid warnings in 32bit builds. (15665) (https://github.com/protocolbuffers/protobuf/commit/394aec87f47f449673c7b32246338b68ac2215fa)
* [ObjC] Add the privacy manifest to the ObjC CocoaPod. (15663) (https://github.com/protocolbuffers/protobuf/commit/935fcb7c6d8c9932081f358c2c2561e9f71e312a)

Python
* Adhere to PEP 8 (15127) (15729) (https://github.com/protocolbuffers/protobuf/commit/3b92f4fe38ec98f081a45dc4a6e7583ecbfa4aaf)
* Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
* Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/fc41e78d7a5ead031f23ba2e1dcf35fdf941751a)
* Add new including_default_value_without_presence_fields to Python JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/c530216544611bad1d5a4be48412c81a5a41d9a7)
* Breaking change: Removed obsolete/duplicate `setup.py` from Python. (15708) (https://github.com/protocolbuffers/protobuf/commit/5722aeffcad72e9a335a3ec7985858dfa31477be)

PHP
* Don't break the trace (11311) (15727) (https://github.com/protocolbuffers/protobuf/commit/3e9902408fecc9a05028d864ee62439360736e94)
* Fix inconsistent timestamp json encode/decode (12396) (15726) (https://github.com/protocolbuffers/protobuf/commit/e99f27ec0691aa3a277cb34125600498617216c7)
* Breaking change: Remove deprecated legacy class aliases. (15709) (https://github.com/protocolbuffers/protobuf/commit/096e127d02ca4f49220f46a42feacf0b1e1bb18f)

Ruby
* Increased the size of the error message buffer by 4x, to 511 bytes. (15728) (https://github.com/protocolbuffers/protobuf/commit/ab6bcba754c7c5d57d7b627a83614b77b64a7cf9)
* Move the RubyMessage.java JSON "include defaults" to use alwaysPrintFieldsWithNoPresence. (https://github.com/protocolbuffers/protobuf/commit/b5beba3aa15f76967c00c3b2c90b58abd51123bb)

UPB (Python/PHP/Ruby C-Extension)
* Increased the size of the error message buffer by 4x, to 511 bytes. (15728) (https://github.com/protocolbuffers/protobuf/commit/ab6bcba754c7c5d57d7b627a83614b77b64a7cf9)

Other
* Add PrivacyInfo.xcprivacy (15557) (15661) (https://github.com/protocolbuffers/protobuf/commit/5a5ec6ced8de00306e5ab9773874b5192166811f)

26.0rc1

Announcements
* **This version includes breaking changes to: C++, Java, PHP, Python, Ruby.**
* [C++] Make protobuf comply with the C++ layering check (https://github.com/protocolbuffers/protobuf/commit/a7b0421c78412baa48704d727601a17ac0f451d1)
* [C++] Remove const GetArena method on RepeatedPtrField (https://github.com/protocolbuffers/protobuf/commit/748ab1608a33dd3d28070d6df54c8956aa893985)
* [C++] Disallow incorrect ctype usage (https://github.com/protocolbuffers/protobuf/commit/755b690a7c31d92103343f20ba32d752495e60a3)
* [C++] Remove deprecated std::string error collector overrides (https://github.com/protocolbuffers/protobuf/commit/543fbcdbd9496de9d93a6eb4645640cb47a5514b)
* [C++] Promote ExtensionRange to a proper class (https://github.com/protocolbuffers/protobuf/commit/5b12bc858f1f0e02477ac3e3e3fea5bc88f1bdc3)
* [C++] Remove deprecated clear APIs on repeated fields (https://github.com/protocolbuffers/protobuf/commit/229906f3091742e05e51445a66164025b0244409)
* [C++] Remove C++ legacy syntax descriptor APIs (https://github.com/protocolbuffers/protobuf/commit/cf2d6965dcb6e15490232041da8b7b6c8ec669eb)
* [C++] Remove deprecated syntax APIs (https://github.com/protocolbuffers/protobuf/commit/715b543e0416006ae17dfd409fe41a070e3cc49c)
* [C++] Remove deprecated SupportsUnknownEnumValues method (https://github.com/protocolbuffers/protobuf/commit/0a6a51655f3f6af554766d88b6d717e31af34b01)
* [Java] Remove unused helper methods for creating new mutable arraylists. (https://github.com/protocolbuffers/protobuf/commit/787447430fc9a69c071393e85a380b664d261ab4)
* [Java] Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
* [Java] Stop generating the "newInstance" method. This is not used anymore. (https://github.com/protocolbuffers/protobuf/commit/c0d08bdcade9d44698015b85c9c23343ca1319b7)
* [Java] Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List. (https://github.com/protocolbuffers/protobuf/commit/3b9bd6db71d20832980e579e0b9b03eb39e96a1f)
* [Java] Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode. (https://github.com/protocolbuffers/protobuf/commit/9310d2e817a987878b03f8b5215fdbfea766ad23)
* [Java] Remove unnecessary overloads of methods: (https://github.com/protocolbuffers/protobuf/commit/94a2a448518403341b8aa71335ab1123fbdcccd8)
* [Java] Remove unnecessary generated overrides for GeneratedMessage.Builder methods: (https://github.com/protocolbuffers/protobuf/commit/7bff169d32710b143951ec6ce2c4ea9a56e2ad24)
* [Java] The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
(https://github.com/protocolbuffers/protobuf/commit/5df0387224e8e3b7c04f48c6f25a8ec1fc957a10)
* [Java] Remove deprecated runtime methods for compatibility with old v2.x.x gencode. (https://github.com/protocolbuffers/protobuf/commit/e555bd23d077216ea40006c45eeaaa5aa385d921)
* [Java] Remove deprecated TextFormat print methods. These should be replaced by corresponding TextFormat.printer() methods. (https://github.com/protocolbuffers/protobuf/commit/dfb8a4c3f75910d37095a990706c0ae2c2e26b0f)
* [Java] Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
* [Java] Make deprecated Java gencode PARSER variable private. (https://github.com/protocolbuffers/protobuf/commit/b4858b255bcf24d05789ce23c297e33524dd37fe)
* [PHP] Validate UTF-8 in string setters, [as previously announced](https://protobuf.dev/news/2023-12-27/#php-breaking-changes). (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
* [PHP] Remove support for PHP generic services (https://github.com/protocolbuffers/protobuf/commit/40ad3fac603ba3c96e52a1266cd785a7adb8e3e4)
* [Python] Made text_format output default to UTF-8. (https://github.com/protocolbuffers/protobuf/commit/bf00034493381f6ae2b49f04e101b3251bb099c9)
* [Python] Remove deprecated syntax accessor. (https://github.com/protocolbuffers/protobuf/commit/fd40c87befa92c1b944ae5fbd42bafe41003ad4e)
* [Python] Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/4ebba684c791416a9131dd01d4c5175a2beb3566)
* [Python] Reject extend repeated field with none iterable (Raise TypeError) (https://github.com/protocolbuffers/protobuf/commit/1658213ba84a641531948aa9cdc3b53bebf20190)
* [Python] Remove Deprecated APIs that add non top descriptor. (https://github.com/protocolbuffers/protobuf/commit/c51f1110224910015ed90d7d6fb27ff24243baa8)
* [Python] check if Timestamp is valid. (https://github.com/protocolbuffers/protobuf/commit/4f77929203cbf33ae3a710f7370794e36912acbc)
* [Python] Remove msg.UnknownFields() support in pure python and cpp extension. (https://github.com/protocolbuffers/protobuf/commit/0eac77c2c6389bd7f3fb21fa43ed13108ab0600f)
* [Ruby] Removed `syntax` and added `has_presence?`/`is_packed?`. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f)
* [Ruby] Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
* [Ruby] Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
* [Ruby] Fixed inconsistencies in `Messageto_h`, [as previously announced](https://protobuf.dev/news/2023-12-27/). (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc)
* [Ruby] Dropped support for Ruby DSL, [as previously announced](https://engdoc.corp.google.com/eng/doc/devguide/proto/news/2023-12-27.md#ruby-breaking-changes). (https://github.com/protocolbuffers/protobuf/commit/5cfc9e775d76acb37e5b554e53dff336a89d000f)
* [Ruby] Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
* [Ruby] Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
* [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes.

Compiler
* Fix getting env variables on windows (15518) (https://github.com/protocolbuffers/protobuf/commit/71b0b4e0a9f2d9080f167c03dcafbd8b1823fb76)
* Proper fix utf8 command line arguments (14253) (https://github.com/protocolbuffers/protobuf/commit/1eff9d74519c7d21592dddc3c3665993bb0f117f)
* Allocate an editions FeatureSet extension for https://github.com/bufbuild/protobuf-es (https://github.com/protocolbuffers/protobuf/commit/fedd34df47ad442e1cc41b1a828955f384a0c9e2)
* Make rules_ruby a dev-only dependency. (https://github.com/protocolbuffers/protobuf/commit/571b727cb66ad51f89fbef565d3a6c123366a1f5)

C++
* Correct type_resolver_util to set syntax=proto3 instead of syntax=proto2 on proto3 files. (https://github.com/protocolbuffers/protobuf/commit/040dde7e37ccb36cd4243292f12116ef242eb3f1)
* Remove edition getter from C++ descriptor APIs (https://github.com/protocolbuffers/protobuf/commit/93b219f4e84d83415ad7b77f5bc0ae2df5490fea)
* Breaking change: Remove const GetArena method on RepeatedPtrField (https://github.com/protocolbuffers/protobuf/commit/748ab1608a33dd3d28070d6df54c8956aa893985)
* Breaking change: Disallow incorrect ctype usage (https://github.com/protocolbuffers/protobuf/commit/755b690a7c31d92103343f20ba32d752495e60a3)
* Breaking change: Remove deprecated std::string error collector overrides (https://github.com/protocolbuffers/protobuf/commit/543fbcdbd9496de9d93a6eb4645640cb47a5514b)
* Breaking change: Promote ExtensionRange to a proper class (https://github.com/protocolbuffers/protobuf/commit/5b12bc858f1f0e02477ac3e3e3fea5bc88f1bdc3)
* Breaking change: Remove deprecated clear APIs on repeated fields (https://github.com/protocolbuffers/protobuf/commit/229906f3091742e05e51445a66164025b0244409)
* Breaking change: Remove C++ legacy syntax descriptor APIs (https://github.com/protocolbuffers/protobuf/commit/cf2d6965dcb6e15490232041da8b7b6c8ec669eb)
* Fixed UTF-8 TextFormat output to protect against invalid UTF-8 in string fields. (https://github.com/protocolbuffers/protobuf/commit/1ac8c04604fe8ba119cdcdaeb1e22ae962de40e3)
* Breaking change: Remove deprecated syntax APIs (https://github.com/protocolbuffers/protobuf/commit/715b543e0416006ae17dfd409fe41a070e3cc49c)
* Fix DurationToMilliseconds mult overflow (https://github.com/protocolbuffers/protobuf/commit/17b8dd6476cf663517393fd866e888af2494bdb2)
* Breaking change: Remove deprecated SupportsUnknownEnumValues method (https://github.com/protocolbuffers/protobuf/commit/0a6a51655f3f6af554766d88b6d717e31af34b01)
* Have Arena::Create support arena constructible types (https://github.com/protocolbuffers/protobuf/commit/578e07e9bd19b4ae959c57bbe4c1524d5642b58e)
* Enforce stricter version checks for Protobuf C++ by removing the notion of "minimal version of protoc/headers"; exact version match is required. (https://github.com/protocolbuffers/protobuf/commit/6eed7a2f53bf29e615e6c34ecb7c98ea8eab4d1c)
* Compare explicit zeroes from prototext in partially. (https://github.com/protocolbuffers/protobuf/commit/8c2416311f7b2c5410e620197baacf9d82b86ebd)
* Move the declarations in SerialArena to more closely match the style guide. (https://github.com/protocolbuffers/protobuf/commit/349122f777a3d6029e9a189729720b0842072a71)

Java
* Drop Protobuf support for Android KitKat per EOL and add existing minimum Java 1.8 in Maven pom.xmls (https://github.com/protocolbuffers/protobuf/commit/303239d74d07daf49ecdba6e23e41c8fe5a9b41e)
* Breaking change: Remove unused helper methods for creating new mutable arraylists. (https://github.com/protocolbuffers/protobuf/commit/787447430fc9a69c071393e85a380b664d261ab4)
* Breaking change: Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
* Breaking change: Stop generating the "newInstance" method. This is not used anymore. (https://github.com/protocolbuffers/protobuf/commit/c0d08bdcade9d44698015b85c9c23343ca1319b7)
* Breaking change: Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List. (https://github.com/protocolbuffers/protobuf/commit/3b9bd6db71d20832980e579e0b9b03eb39e96a1f)
* Breaking change: Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode. (https://github.com/protocolbuffers/protobuf/commit/9310d2e817a987878b03f8b5215fdbfea766ad23)
* Breaking change: Remove unnecessary overloads of methods: (https://github.com/protocolbuffers/protobuf/commit/94a2a448518403341b8aa71335ab1123fbdcccd8)
* Breaking change: Remove unnecessary generated overrides for GeneratedMessage.Builder methods: (https://github.com/protocolbuffers/protobuf/commit/7bff169d32710b143951ec6ce2c4ea9a56e2ad24)
* Breaking change: The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
(https://github.com/protocolbuffers/protobuf/commit/5df0387224e8e3b7c04f48c6f25a8ec1fc957a10)
* Breaking change: Remove deprecated runtime methods for compatibility with old v2.x.x gencode. (https://github.com/protocolbuffers/protobuf/commit/e555bd23d077216ea40006c45eeaaa5aa385d921)
* Breaking change: Remove deprecated TextFormat print methods. These should be replaced by corresponding TextFormat.printer() methods. (https://github.com/protocolbuffers/protobuf/commit/dfb8a4c3f75910d37095a990706c0ae2c2e26b0f)
* Support pretty printing proto2 Extensions inside of proto3 Anys in TextFormat.Printer. (https://github.com/protocolbuffers/protobuf/commit/c8e01607aec4c09f510aa7e0d5df6a204e74189e)
* Breaking change: Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
* Enable Protobuf version validations in Protobuf Java Full. (https://github.com/protocolbuffers/protobuf/commit/a2f92689dac8a7dbea584919c7de52d6a28d66d1)
* Breaking change: Make deprecated Java gencode PARSER variable private. (https://github.com/protocolbuffers/protobuf/commit/b4858b255bcf24d05789ce23c297e33524dd37fe)
* Add Automatic-Module-Name (14562) (https://github.com/protocolbuffers/protobuf/commit/d580fde63aa8ea5c6f4619396e68aaf017fc9d61)
* Use Editions features in Java, Kotlin, and Java Lite code generators. (https://github.com/protocolbuffers/protobuf/commit/90e1b49f0f838a3bedb0d485a7f323e468730eb7)

Kotlin
* Breaking change: Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
* Breaking change: The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
(https://github.com/protocolbuffers/protobuf/commit/5df0387224e8e3b7c04f48c6f25a8ec1fc957a10)
* Use Editions features in Java, Kotlin, and Java Lite code generators. (https://github.com/protocolbuffers/protobuf/commit/90e1b49f0f838a3bedb0d485a7f323e468730eb7)

Objective-C
* Improve handing of the WKT ObjC Category additions. (https://github.com/protocolbuffers/protobuf/commit/b146d14e31e5488978517396406f9afe2664f0b0)
* Add a `unpack` helper for GPBAny with extension support. (https://github.com/protocolbuffers/protobuf/commit/29fca8a64b62491fb0a2ce61878e70eda88dde98)

Python
* Fixed a bug when deep copying a map field with a closed enum value. (https://github.com/protocolbuffers/protobuf/commit/ca5ca62fa60a52bae31f3828e5135cbf034237ae)
* Breaking change: Made text_format output default to UTF-8. (https://github.com/protocolbuffers/protobuf/commit/bf00034493381f6ae2b49f04e101b3251bb099c9)
* Fixed a SEGV when deep copying a non-reified sub-message. (https://github.com/protocolbuffers/protobuf/commit/b9e4894462fab2e35da987a44fbe464b4c1d0140)
* Make `str(msg)` in Python print raw UTF-8 strings. Only invalid UTF-8 is escaped. (https://github.com/protocolbuffers/protobuf/commit/f2a91b33e1d7ccae295a966c932551096881c16a)
* Breaking Change: Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/4ebba684c791416a9131dd01d4c5175a2beb3566)
* Breaking Change: Reject extend repeated field with none iterable (Raise TypeError) (https://github.com/protocolbuffers/protobuf/commit/1658213ba84a641531948aa9cdc3b53bebf20190)
* Breaking Change: Remove Deprecated APIs that add non top descriptor. (https://github.com/protocolbuffers/protobuf/commit/c51f1110224910015ed90d7d6fb27ff24243baa8)
* Breaking Change: Check if Timestamp is valid. (https://github.com/protocolbuffers/protobuf/commit/4f77929203cbf33ae3a710f7370794e36912acbc)
* [Python/upb] Fixed SEGV when attempting to delete a message attribute (https://github.com/protocolbuffers/protobuf/commit/de52944f389c85943f35049cc9cdf9ea0a3ca380)
* Breaking Change: Remove msg.UnknownFields() support in pure python and cpp extension. (https://github.com/protocolbuffers/protobuf/commit/0eac77c2c6389bd7f3fb21fa43ed13108ab0600f)
* Breaking change: Remove deprecated syntax accessor. (https://github.com/protocolbuffers/protobuf/commit/fd40c87befa92c1b944ae5fbd42bafe41003ad4e)
* Fixed a bug where FileDescriptor maps like `message_types_by_name` could return descriptors from other files. (https://github.com/protocolbuffers/protobuf/commit/c05b320d9c18173bfce36c4bef22f9953d340ff9)
* Mark the python generator for editions support. (https://github.com/protocolbuffers/protobuf/commit/b01bd1ba17e85a3922e475f89ccc2fb89ba153a3)
* Add support and partial CI coverage for Python 3.12 (https://github.com/protocolbuffers/protobuf/commit/24fef03259d65987e5df14b06952b6e6bdac88d0)
* Implement Editions in Pure Python. (https://github.com/protocolbuffers/protobuf/commit/15eccf3ec4636cab20a16b7570d3967d79ecfa95)
* Properly untrack Python GC objects during deallocation. (https://github.com/protocolbuffers/protobuf/commit/e32d0948e7b2799037be0e4364816249119acc3f)
* Raise warnings for python syntax usages (https://github.com/protocolbuffers/protobuf/commit/c508a40f40c0b4f1e562ef917cd5606d66d9601c)
* Fixed Python memory leak in map lookup. (https://github.com/protocolbuffers/protobuf/commit/b0eeb356b84fb7e8773c9a0dd76b354ae2e3f218)
* Fix handling of Unicode escapes in string data in textproto files. (https://github.com/protocolbuffers/protobuf/commit/62a435c1ab81ea65850f1b1fb58f7b3c6f498cef)

PHP
* Raise minimum PHP version to 8.1, due to PHP 8.0 EOL per https://cloud.google.com/php/getting-started/supported-php-versions (https://github.com/protocolbuffers/protobuf/commit/3c8a3d27f7c035e977e2eb5226e4154f129a573b)
* Breaking change: Validate UTF-8 in string setters, [as previously announced](https://protobuf.dev/news/2023-12-27/#php-breaking-changes). (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
* Breaking change: Remove support for PHP generic services (https://github.com/protocolbuffers/protobuf/commit/40ad3fac603ba3c96e52a1266cd785a7adb8e3e4)
* Expand PHP generator to support overlapping subset of proto2. (https://github.com/protocolbuffers/protobuf/commit/b603fb69bf0c1aef24dfe5470c9d4ae99b9031b1)
* Feat: better debug info for PHP messages and repeated fields (12718) (https://github.com/protocolbuffers/protobuf/commit/59d5006d6073602675c9d9f418353a566a085658)

PHP C-Extension
* Breaking change: Validate UTF-8 in string setters, [as previously announced](https://protobuf.dev/news/2023-12-27/#php-breaking-changes). (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
* Optimized binary/JSON parsing to no longer copy input data into a temp buffer. (https://github.com/protocolbuffers/protobuf/commit/588d5aa0dbee01c6caf51add7c7ed74edbe0c794)
* *See also UPB changes below, which may affect PHP C-Extension.*

Ruby
* Breaking change: Removed `syntax` and added `has_presence?`/`is_packed?`. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f)
* Breaking change: Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
* Breaking change: Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
* Breaking change: Fixed inconsistencies in `Messageto_h`, [as previously announced](https://protobuf.dev/news/2023-12-27/). (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc)
* Breaking change: Dropped support for Ruby DSL, [as previously announced](https://engdoc.corp.google.com/eng/doc/devguide/proto/news/2023-12-27.md#ruby-breaking-changes). (https://github.com/protocolbuffers/protobuf/commit/5cfc9e775d76acb37e5b554e53dff336a89d000f)
* In Ruby repeated fields, each_index actually iterates over the index (11767) (https://github.com/protocolbuffers/protobuf/commit/f869cfa479c293ecd55c2f8ccbf981cd3bb41ecf)
* Breaking change: Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
* Make rules_ruby a dev-only dependency. (https://github.com/protocolbuffers/protobuf/commit/571b727cb66ad51f89fbef565d3a6c123366a1f5)
* Add support for extensions in CRuby, JRuby, and FFI Ruby (14703) (https://github.com/protocolbuffers/protobuf/commit/42f8b7782ed539d56d0f0e13da4e85603553e828)
* Add support for options in CRuby, JRuby and FFI (14594) (https://github.com/protocolbuffers/protobuf/commit/ae1f2b7e1b329aba1d204e6d3ddc61a88bc35dd9)

Ruby C-Extension
* Breaking change: Removed `syntax` and added `has_presence?`/`is_packed?`. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f)
* Breaking change: Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
* Breaking change: Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
* Breaking change: Fixed inconsistencies in `Messageto_h`, [as previously announced](https://protobuf.dev/news/2023-12-27/). (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc)
* Upb: fix Ruby bug which allowed map.delete(key) on a frozen map (https://github.com/protocolbuffers/protobuf/commit/df57e5474bf3ce211329e55993cb991a7ce1c5e0)
* Add support for extensions in CRuby, JRuby, and FFI Ruby (14703) (https://github.com/protocolbuffers/protobuf/commit/42f8b7782ed539d56d0f0e13da4e85603553e828)
* Add support for options in CRuby, JRuby and FFI (14594) (https://github.com/protocolbuffers/protobuf/commit/ae1f2b7e1b329aba1d204e6d3ddc61a88bc35dd9)
* *See also UPB changes below, which may affect Ruby C-Extension.*

UPB (Python/PHP/Ruby C-Extension)
* Wrap C++ headers in `ifdef __cplusplus`. (https://github.com/protocolbuffers/protobuf/commit/fc2d9da9c06d7469aabba5e49037950e1d9323c9)
* Add kUpb_DecodeOption_AlwaysValidateUtf8 decode option, to force UTF-8 validation of proto2 strings. (https://github.com/protocolbuffers/protobuf/commit/d4dfb9c4a67e24afa0465735a84a381d0833211d)
* Fixed non-conformance in upb JSON enum decoding when ignoring unknown enum values. (https://github.com/protocolbuffers/protobuf/commit/c16ac66e8581b55471eff9860b02e3d32cae7a79)
* Fix upb's json decoder ignoring trailing characters after a successfully parsed object. (https://github.com/protocolbuffers/protobuf/commit/fa15c2160eaeb8d11ed71ba956da0c27d268ec6d)
* Fix upb_MiniTable_GetOneof(miniTable, field) to work correctly if `field` is the very first field in the proto. (https://github.com/protocolbuffers/protobuf/commit/e6ea44c9119b0f5976ea7b335395753833fc382d)
* Enabled editions support for upb generated code. (https://github.com/protocolbuffers/protobuf/commit/cf3a6f5868222d31021e3835e5e7890a847f3d01)
* Upb: stop generating hazzers for repeated fields (https://github.com/protocolbuffers/protobuf/commit/fa62c920716804a576ce388e6894fa15209df41a)

Other
* Extend Proto2 JSON test cases to cover more of the preexisting Proto3 JSON cases. (https://github.com/protocolbuffers/protobuf/commit/42ecd61b3e15430bb393b467bb39520025efdc63)
* Include JSON output tests with Proto2 messages in the conformance test suite. (https://github.com/protocolbuffers/protobuf/commit/255f95e5b19c142ece319cc35c1b3808ec0e259f)
* Make the utf8_range implementation just in C (https://github.com/protocolbuffers/protobuf/commit/9c7d2b9d83e0ad4e8ffeb8535d8c0a31a0a6a0b8)
* Open-source editions Bazel rules for embedding defaults. (https://github.com/protocolbuffers/protobuf/commit/898d8fa1fd6ff07149b283b3bbff00a6a3d8c52b)
* Enable conformance tests over editions protos (https://github.com/protocolbuffers/protobuf/commit/a2ba8bc78e49b8b9053654030f5254fc38a7da93)
* Move utf8_range into the protobuf repo (https://github.com/protocolbuffers/protobuf/commit/5ca84008fcc400276124b14a08a8c32e9b37b2bd)

25.3

Announcements
* [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes.

Apple Privacy Manifest [Requirement](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api)
* [CPP] Add the privacy manifest to the C++ CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/9d1bc1041be5fefa82e8c9823e79c263f6d8b2ac)
* [ObjC] Add the privacy manifest to the ObjC CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/cec08dc615df059d1a93fe03c4e617bba679fa69)
* Add PrivacyInfo.xcprivacy (15557) (https://github.com/protocolbuffers/protobuf/commit/cf87faa29b57a304a0cfe5af4e9b7a5c659c62b4)

C++
* Remove use of mach_absolute_time (15554) (https://github.com/protocolbuffers/protobuf/commit/76d05d4cb9200c371c8894df21f37ba4060bdc8a)

Objective-C
* [ObjC] Use a local to avoid warnings in 32bit builds. (https://github.com/protocolbuffers/protobuf/commit/9dc736d924f6839073028a4d806a3b85f01000cf)

Python
* Bump python version to 3.9 for gcloud 460.0.0 (https://github.com/protocolbuffers/protobuf/commit/17ec19db930216d59eb8efdb0bbf6d1f5355f147)

Ruby
* Update Ruby GHA to test against Ruby 3.3. (https://github.com/protocolbuffers/protobuf/commit/25b1e8112079e6d463196fc137cc8d1925205426)
* Pin bundler version to 2.4.22 for Ruby 2.7 support. (https://github.com/protocolbuffers/protobuf/commit/80b4586fb42cc86c0eab9d5d8c823c0b963eee7e)

25.2

Announcements
* [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes.

C++
* Only substitute prefixes during installation setup. (https://github.com/protocolbuffers/protobuf/commit/05ad6525c3aae2ae5b6e1987227445a420caada7)
* Register a shutdown delete for C++ feature defaults (https://github.com/protocolbuffers/protobuf/commit/3d5c709ebe01f1f9f3d3345cd4239e239081f8fd)

25.1

Announcements
* [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes.

Python
* Raise warnings for deprecated python syntax usages (https://github.com/protocolbuffers/protobuf/commit/74f5cf4106d7bcdd4612caed9f85af5096f4a390)

Ruby
* Add support for extensions in CRuby, JRuby, and FFI Ruby (14703) (14756) (https://github.com/protocolbuffers/protobuf/commit/e4b00c75ecbc40389615ddf5482dbabc3a354eea)
* Add support for options in CRuby, JRuby and FFI (14594) (14739) (https://github.com/protocolbuffers/protobuf/commit/2495d4f96bf4edcc4f770ceb27ae98c71a56fcdb)

25.0

Announcements
* This release fixes **CVE-2024-2410** (note: there may be a delay in the publication of this CVE number), a minor vulnerability in the C++ JSON parser. In certain situations, a malicious JSON input could cause the parser to copy data that has already been freed into an error message. This can only happen if the code is parsing from a stream with separate chunks rather than a contiguous array. The bug was introduced in 4.22.0 and was fixed with b955165ebdcc5a8ba9c267230d6305f4e3d9c118 in 4.25.0 and up.
* [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes.

Compiler
* Implement proto2/proto3 with editions (https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
* Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
* Add utf8_validation feature back to the global feature set. (https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
* Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
* Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
* Editions: Introduce functionality to protoc for generating edition feature set defaults. (https://github.com/protocolbuffers/protobuf/commit/4019e254322b2312cc7431b45ae71bb8e3dfa035)
* Editions: Migrate edition strings to enum in C++ code. (https://github.com/protocolbuffers/protobuf/commit/f083ebf21f56783fd838c006880f8e16e05d1f1e)
* Create a reflection helper for ExtensionIdentifier. (https://github.com/protocolbuffers/protobuf/commit/4d5ab7324ef4d79eda69c8ed5bcb35f35e6db6f1)
* Editions: Provide an API for C++ generators to specify their features. (https://github.com/protocolbuffers/protobuf/commit/e897bcf3ff8004b7446bbe43a1fc28f9a92a11d4)
* Editions: Refactor feature resolution to use an intermediate message. (https://github.com/protocolbuffers/protobuf/commit/57d8049b01b4bd95a1ca156eb375b523dc7d5d56)
* Publish extension declarations with declaration verifications. (https://github.com/protocolbuffers/protobuf/commit/e72b0e181b236ff23c03a9f9f97f58e6989f25c9)
* Editions: Stop propagating partially resolved feature sets to plugins. (https://github.com/protocolbuffers/protobuf/commit/b66ef4c3f0af899e3736ad016259f9446f0adb14)
* Editions: Migrate string_field_validation to a C++ feature (https://github.com/protocolbuffers/protobuf/commit/1f9583069f0e2b11790ea36cc760ee371106f232)
* Editions: Include defaults for any features in the generated pool. (https://github.com/protocolbuffers/protobuf/commit/15863ffc9aff9d31e9f25a7f11a2d499b0170bc3)
* Protoc: parser rejects explicit use of map_entry option (13479) (https://github.com/protocolbuffers/protobuf/commit/8f5929230d5c5d117b84953463ef0da6d29ad36d)
* Protoc: validate that reserved range start is before end (13474) (https://github.com/protocolbuffers/protobuf/commit/3be00f7638b9a61d2f0318ceac9d7d89d5af66b6)
* Protoc: support identifiers as reserved names in addition to string literals (only in editions) (13471) (https://github.com/protocolbuffers/protobuf/commit/e701f4fa77620fc29109efc6902003d2cc93a30d)
* Drop support for Bazel 5. (https://github.com/protocolbuffers/protobuf/commit/a80daa2a2caaaac9ebe9ae6bb1b639c2771c5c55)
* Allow code generators to specify whether or not they support editions. (https://github.com/protocolbuffers/protobuf/commit/2176a145ba210c286177032037e736bf97158f7d)

C++
* Set `PROTOBUF_EXPORT` on `InternalOutOfLineDeleteMessageLite()` (14434) (https://github.com/protocolbuffers/protobuf/commit/db89a51e4557c40abc8845b13277a83cdf917382)
* Update stale checked-in files (14431) (https://github.com/protocolbuffers/protobuf/commit/ada0be86608dc10b3c2c46e7e2a0951015abbcc3)
* Apply PROTOBUF_NOINLINE to declarations of some functions that want it. (https://github.com/protocolbuffers/protobuf/commit/6e848b00c95556d4f4fc7a1a512cd31a33de75d6)
* Implement proto2/proto3 with editions (https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
* Make JSON UTF-8 boundary check inclusive of the largest possible UTF-8 character. (https://github.com/protocolbuffers/protobuf/commit/e80b8ec620d71cdeca000dce835e5a167a8dc370)
* Reduce `Map::size_type` to 32-bits. Protobuf containers can't have more than (https://github.com/protocolbuffers/protobuf/commit/95d2b2ed5039c1b1606a5f8c9d9cb362a2a33c95)
* Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
* Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated oneof accessors. (https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169)
* Fix bug in reflection based Swap of map fields. (https://github.com/protocolbuffers/protobuf/commit/bef5b759f1fa511e3c08380a4e8635832d5d39fd)
* Add utf8_validation feature back to the global feature set. (https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
* Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
* Add prefetching to arena allocations. (https://github.com/protocolbuffers/protobuf/commit/fbdeb5af0b0f89dec79efc371ba75f838ffad2e8)
* Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
* Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated repeated and map field accessors. (https://github.com/protocolbuffers/protobuf/commit/9a0a3cf0cd8b4ac5c8a06db89f76c5d754f850d0)
* Editions: Migrate edition strings to enum in C++ code. (https://github.com/protocolbuffers/protobuf/commit/f083ebf21f56783fd838c006880f8e16e05d1f1e)
* Workaround ICE on gcc 7.5 by not having one overload call the other one with a (https://github.com/protocolbuffers/protobuf/commit/0522054f3ee5e32c9df15af7c11f046e91e77998)
* Create a reflection helper for ExtensionIdentifier. (https://github.com/protocolbuffers/protobuf/commit/4d5ab7324ef4d79eda69c8ed5bcb35f35e6db6f1)
* Editions: Provide an API for C++ generators to specify their features. (https://github.com/protocolbuffers/protobuf/commit/e897bcf3ff8004b7446bbe43a1fc28f9a92a11d4)
* Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated string field accessors. (https://github.com/protocolbuffers/protobuf/commit/18c338a699e7dfe85de014bf74cdf9c8a5ee155f)
* Editions: Refactor feature resolution to use an intermediate message. (https://github.com/protocolbuffers/protobuf/commit/57d8049b01b4bd95a1ca156eb375b523dc7d5d56)
* Fixes for 32-bit MSVC. (https://github.com/protocolbuffers/protobuf/commit/66cf6b1d9c22333a20d83ee02472e2e7162a8da6)
* Publish extension declarations with declaration verifications. (https://github.com/protocolbuffers/protobuf/commit/e72b0e181b236ff23c03a9f9f97f58e6989f25c9)
* Export the constants in protobuf's any.h to support DLL builds. (https://github.com/protocolbuffers/protobuf/commit/fd24b1bef4a5969ca1e1875e53e31f866e4b757b)
* Implement AbslStringify for the Descriptor family of types. (https://github.com/protocolbuffers/protobuf/commit/230232a041d7bce0080f459512ee2162ee9233e7)
* Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated message field accessors. (https://github.com/protocolbuffers/protobuf/commit/064035c0978516dceb64512e2e5fcf26aa2dedaa)
* Editions: Stop propagating partially resolved feature sets to plugins. (https://github.com/protocolbuffers/protobuf/commit/b66ef4c3f0af899e3736ad016259f9446f0adb14)
* Editions: Migrate string_field_validation to a C++ feature (https://github.com/protocolbuffers/protobuf/commit/1f9583069f0e2b11790ea36cc760ee371106f232)
* Editions: Include defaults for any features in the generated pool. (https://github.com/protocolbuffers/protobuf/commit/15863ffc9aff9d31e9f25a7f11a2d499b0170bc3)
* Introduce C++ feature for UTF8 validation. (https://github.com/protocolbuffers/protobuf/commit/c7119e6d56ea8e29f32ce5eb84fca82799095239)
* Protoc: validate that reserved range start is before end (13474) (https://github.com/protocolbuffers/protobuf/commit/3be00f7638b9a61d2f0318ceac9d7d89d5af66b6)
* Remove option to disable the table-driven parser in protoc. (https://github.com/protocolbuffers/protobuf/commit/6d03f9b19bd7aa10d541f6c1a11ac71f2851eece)
* Lock down ctype=CORD in proto file. (https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)
* Support split repeated fields. (https://github.com/protocolbuffers/protobuf/commit/5b5e5bf5444f80033977d22024cf2dffd5d1c89b)
* In OSS mode omit some extern template specializations. We have seen reports of (https://github.com/protocolbuffers/protobuf/commit/ab968248b02842cf7733ba867cb6a53e680956c1)
* Automated rollback of commit adb2c4b415c35cda3e4394384ec579ea8dd8ec92. (https://github.com/protocolbuffers/protobuf/commit/0ea00526a11c405b342463cf75f40ca5753d4a0c)
* Allow code generators to specify whether or not they support editions. (https://github.com/protocolbuffers/protobuf/commit/2176a145ba210c286177032037e736bf97158f7d)
* Handle conflicting macros for FreeBSD (13303) (https://github.com/protocolbuffers/protobuf/commit/2a952958eb1d4ea13fee2ad657a537ad443adf8f)

Java
* Implement proto2/proto3 with editions (https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
* Remove synthetic oneofs from Java gencode field accessor tables. (https://github.com/protocolbuffers/protobuf/commit/9ad2268544a345d9ed449e766999388b895d18a3)
* Timestamps.parse: Add error handling for invalid hours/minutes in the timezone offset. (https://github.com/protocolbuffers/protobuf/commit/8f8513835c0c4ebe206a5ead04a1bd0c8c7d1dbf)
* Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
* Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated oneof accessors. (https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169)
* Automated rollback of commit 2a55706f9d36afd1742c97fd0d611ea8af0ac3f8. (https://github.com/protocolbuffers/protobuf/commit/30b6251dea7a0ff1713a97d7e7d29a48e4880f59)
* Add missing debugging version info to Protobuf Java gencode when multiple files are generated. (https://github.com/protocolbuffers/protobuf/commit/301dfc5aebb37eee302beef408b6ba4b4eaf4425)
* Fix a bad cast in put<X>BuilderIfAbsent when already present due to using the result of put() directly (which is null if it currently has no value) (https://github.com/protocolbuffers/protobuf/commit/785c82dbdea5085628f2a41437aa1198860f3342)
* Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
* Fix a NPE in put<X>BuilderIfAbsent due to using the result of put() directly (which is null if it currently has no value) (https://github.com/protocolbuffers/protobuf/commit/47cec39ab36daf5264c2faf05d2ed4d0f48c1bc7)
* Update Kotlin compiler to escape package names (13310) (https://github.com/protocolbuffers/protobuf/commit/437ec356fbe15d8737d797505aafb8e2b2629e7b)
* Add MapFieldBuilder and change codegen to generate it and the put{field}BuilderIfAbsent method. (https://github.com/protocolbuffers/protobuf/commit/955d4ab0d681d2bf60b481c1d066eee543ab1b8c)
* Introduce recursion limit in Java text format parsing (https://github.com/protocolbuffers/protobuf/commit/bca3bed137d013d4a654ffec52c0d44a3202aab2)
* Consider the protobuf.Any invalid if typeUrl.split("/") returns an empty array. (https://github.com/protocolbuffers/protobuf/commit/004f54af8f014c3e8a65db1b4459cfa70502e3ce)
* Mark `FieldDescriptor.hasOptionalKeyword()` as deprecated. (https://github.com/protocolbuffers/protobuf/commit/d6157f7c7ec78a6942cfd6d96d2e0b40e007ae0d)

Kotlin
* Add ByteString.isNotEmpty Kotlin extension function. (https://github.com/protocolbuffers/protobuf/commit/961779e164a8f8a015a44b082c01da2e1273b26c)

Csharp
* Add C deterministic serialization (13160) (https://github.com/protocolbuffers/protobuf/commit/96100bf1e49c5452f21e4446e43f5e7526f1351f)
* Add .NET debugging attributes (14097) (https://github.com/protocolbuffers/protobuf/commit/67b9c76752b21c894bc8d7d59b3f6b2dc078c7b1)
* Improve .NET debugging of Protobuf messages (13838) (https://github.com/protocolbuffers/protobuf/commit/e519c62f827a5f354c9253419c2fb5c230622311)
* Lock down ctype=CORD in proto file. (https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)

Objective-C
* Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
* [ObjC] Flip the default for two generation options. (https://github.com/protocolbuffers/protobuf/commit/08bbb577e8de8cd9afd56c6f78ab86418ef4bd4e)
* [ObjC] Enable generation of .proto files using editions. (https://github.com/protocolbuffers/protobuf/commit/55ab8316c14569cadc578e15ffdea4f1bcbb0964)
* [ObjC] add "generate_minimal_imports" generation option (https://github.com/protocolbuffers/protobuf/commit/0b817d46d4ca1977d3dccf2442aeee3c9e98e3a1)
* [ObjC] Add generation control for descriptor custom options. (https://github.com/protocolbuffers/protobuf/commit/bd9d6895c3d3f5f186d31b3e41bc0ad6af9d3129)
* Lock down ctype=CORD in proto file. (https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)

Rust
* Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)

Python
* Fixed Python memory leak in map lookup. (https://github.com/protocolbuffers/protobuf/commit/1711ebd4559313555e89d0f56294842779c7e900)
* Loosen upb for json name conflict check in proto2 between json name and field (https://github.com/protocolbuffers/protobuf/commit/41af1d53a2d82ee17d6a3ac8a81ea2a93040ad82)
* Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
* Add `ABSL_ATTRIBUTE_LIFETIME_BOUND` attribute on generated oneof accessors. (https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169)
* Ensure Timestamp.ToDatetime(tz) has correct offset (https://github.com/protocolbuffers/protobuf/commit/f0c56f9bc49b5015293eb5242a1982107b7c8b39)
* Do not check required field for upb python MergeFrom (https://github.com/protocolbuffers/protobuf/commit/1e0bc565a0f02b5f833f6057f13021a96a329eeb)
* Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
* Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
* Comparing a proto message with an object of unknown returns NotImplemented (https://github.com/protocolbuffers/protobuf/commit/12d4f418a7311ed4d381bf82caead11d03ae7911)
* Emit __slots__ in pyi output as a tuple rather than a list for --pyi_out. (https://github.com/protocolbuffers/protobuf/commit/4a4f61589d3b258b5f1d2be752ff5dd01e7283d8)
* Fix a bug that strips options from descriptor.proto in Python. (https://github.com/protocolbuffers/protobuf/commit/27d42c5ba7ab65956e71b9d825f68ef84c38bbde)
* Raise warings for message.UnknownFields() usages and navigate to the new add (https://github.com/protocolbuffers/protobuf/commit/c988759a9bb5ce719721b6581d035c277b147db2)
* Add protobuf python keyword support in path for stub generator. Also added tests for (https://github.com/protocolbuffers/protobuf/commit/4cc258a6a1cb6d3e526e3ca2f6ab7748ee84e2e3)
* Add tuple support to set Struct (https://github.com/protocolbuffers/protobuf/commit/533fbbb45e666784a671aa9cb4ed5dd6a844a5a9)

Python C-Extension (Default)
* Comparing a proto message with an object of unknown returns NotImplemented (https://github.com/protocolbuffers/upb/commit/243add441169730acc42e6bad3a1a06a7f0b8e69)
* *See also UPB changes below, which may affect Python C-Extension (Default).*

PHP
* Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)

PHP C-Extension
* Bump minimum PHP to 8.0 (https://github.com/protocolbuffers/protobuf/commit/b4abcef8a954383d860a9367465fb398e5992d82)
* *See also UPB changes below, which may affect PHP C-Extension.*

Ruby
* Check that ffi-compiler loads before using it to define tasks. (14538) (14560) (https://github.com/protocolbuffers/protobuf/commit/0a5d6d4a45880a3076681cbd7d88e0985b4ccdb7)
* Ruby FFI implementation (13343) (https://github.com/protocolbuffers/protobuf/commit/c52d80cf04274aefd557e2bc93f64bb71c097645)

Ruby C-Extension
* Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
* Ruby: Fix object cache lookups on 32-bit platforms (13494) (https://github.com/protocolbuffers/protobuf/commit/055c3782f6911822667157dab58341e44f9deedc)
* Ruby FFI implementation (13343) (https://github.com/protocolbuffers/protobuf/commit/c52d80cf04274aefd557e2bc93f64bb71c097645)
* *See also UPB changes below, which may affect Ruby C-Extension.*

UPB (Python/PHP/Ruby C-Extension)
* Include .inc files directly instead of through a filegroup (14575) (https://github.com/protocolbuffers/protobuf/commit/8defef58f4367d3a968b44000698e308a035ab9e)
* Loosen upb for json name conflict check in proto2 between json name and field (https://github.com/protocolbuffers/protobuf/commit/41af1d53a2d82ee17d6a3ac8a81ea2a93040ad82)
* Add utf8_validation feature back to the global feature set. (https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
* Do not check required field for upb python MergeFrom (https://github.com/protocolbuffers/protobuf/commit/1e0bc565a0f02b5f833f6057f13021a96a329eeb)
* Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
* Cherry-pick recent changes from the upb repo (13908) (https://github.com/protocolbuffers/protobuf/commit/b2e39c175a690ba76f1cf05ebb17f003f6bcd610)
* Added malloc_trim() calls to Python allocator so RSS will decrease when memory is freed (https://github.com/protocolbuffers/protobuf/commit/56e9f2b4e467a7df5989a61eec142df7c72ab796)
* Upb: fix a Python memory leak in ByteSize() (https://github.com/protocolbuffers/protobuf/commit/e45a6d50682d5d4b204e7d76254b1585b43c6815)
* Support ASAN detection on clang (1424) (https://github.com/protocolbuffers/upb/commit/1b0011dfef3062ac25b0b2250c3140312b97fdf0)
* Upb: bugfix for importing a proto3 enum from within a proto2 file (https://github.com/protocolbuffers/upb/commit/b19edc5ce0b0dd6591e7b8f65430b0f3e3ea1c29)
* Expose methods needed by Ruby FFI using UPB_API (1391) (https://github.com/protocolbuffers/upb/commit/01fed1cc1ba255bf22b49393ba054b8d270e6ba3)
* Fix `PyUpb_Message_MergeInternal` segfault (1338) (https://github.com/protocolbuffers/upb/commit/cefa206f546ce36f895cd02ab5a7e8a1f6918a22)

Other
* Expose alias to protobuf_nowkt runtime (https://github.com/protocolbuffers/protobuf/commit/5b6c2459b57c23669d6efc5a14a874c693004eec)
* Update absl submodule and dep to latest 20230802.0 LTS (13515) (https://github.com/protocolbuffers/protobuf/commit/e7bb34db3c57617f772a04d343a8bfa5109cf6cf)

Page 2 of 26

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.