Protobuf

Latest version: v5.27.2

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

Scan your dependencies

Page 2 of 27

26.1

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

C++
* Expand cpp_features_proto_srcs visibility (https://github.com/protocolbuffers/protobuf/commit/2d3d8ba410550082ee20777653a2a1d515ff8036)
* Move java_features.proto to java/core/srce/main/resources (https://github.com/protocolbuffers/protobuf/commit/22f11700bc7b352308a3f49ba99639f9de8aaffa)

Java
* Fix validateFeatures to be called after resolved features are actually set to this.features (https://github.com/protocolbuffers/protobuf/commit/9bf69ecc833757839421b89e92ddb4dc09b2af0d)
* Move java_features.proto to java/core/srce/main/resources (https://github.com/protocolbuffers/protobuf/commit/22f11700bc7b352308a3f49ba99639f9de8aaffa)
* Set label to REQUIRED for descriptors with LEGACY_REQUIRED feature. (https://github.com/protocolbuffers/protobuf/commit/4886a9cd8ffe81caf4c4b5b9ef7ce0de426a7b08)
* Add java_features.proto to kotlin_mvn release (https://github.com/protocolbuffers/protobuf/commit/0e4abf965ca48568457824ddb7944a4e70674411)

Kotlin
* Add java_features.proto to kotlin_mvn release (https://github.com/protocolbuffers/protobuf/commit/0e4abf965ca48568457824ddb7944a4e70674411)

Ruby
* Cherry-pick required label handling in JRuby field descriptor from https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164 (https://github.com/protocolbuffers/protobuf/commit/2e51ff6de3e8c594d965b2ad8952b911383cf0bf)

Other
* Update protoc release to include editions language features protos for Java and C++ (https://github.com/protocolbuffers/protobuf/commit/7f457737f37373c181b649d4eb01e23bd198bcb4)
* Fix Android platforms constraint (16246) (16271) (https://github.com/protocolbuffers/protobuf/commit/b4e18708070a75d80965fb16ced60661e531bd9a)
* Add back android config_setting that looks for //external:android/crosstool (16127) (16264) (https://github.com/protocolbuffers/protobuf/commit/a97c927b51a140bb4b47726a0f61afaef44f0f6e)

26.0

Announcements
* **This version includes breaking changes to: Java, PHP, C++, Ruby, Python.**
* [Java] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
* [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.
* [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)
* [Java] Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
* [Java] The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
* [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 deprecated legacy class aliases. (15709) (https://github.com/protocolbuffers/protobuf/commit/096e127d02ca4f49220f46a42feacf0b1e1bb18f)
* [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)
* [C++] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
* [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)
* [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] 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)
* [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)
* [Python] Made text_format output default to UTF-8. (https://github.com/protocolbuffers/protobuf/commit/bf00034493381f6ae2b49f04e101b3251bb099c9)
* [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)
* [Python] Remove deprecated syntax accessor. (https://github.com/protocolbuffers/protobuf/commit/fd40c87befa92c1b944ae5fbd42bafe41003ad4e)
* [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes.

Compiler
* Add <shellapi.h> include for CommandLineToArgvW (https://github.com/protocolbuffers/protobuf/commit/2299e1db6fdd0e76b7a757241a6a443200477b8e)
* 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++
* Remove rust proto libraries from the editions/BUILD file. (https://github.com/protocolbuffers/protobuf/commit/1f9d9fbe14b78857adab835e8d0dc9c703088078)
* Fix CMake regex escaping. (https://github.com/protocolbuffers/protobuf/commit/3ad69cf8b07ebcd54e76ee5360586a41b4f9d627)
* Escape _from_dir in install.cmake for regex special characters (e.g. c++) before REGEX REPLACE. (https://github.com/protocolbuffers/protobuf/commit/f740f528fa08f9d126650d92472a921e53a95a73)
* Tweak BUILD setup to make the layering check change less disruptive (15838) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721)
* Add missing alias targets for C++ util libraries (15783) (https://github.com/protocolbuffers/protobuf/commit/62e7a56f50d88fdd0ebcb0430103120d60bd9863)
* 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)
* 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
* Resolve features directly in setProto instead of temporarily setting to null. (https://github.com/protocolbuffers/protobuf/commit/aea0e52ec2b5ecab632299eedde77894b75d5495)
* 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)
* 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.
* 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.
* Use Editions features in Java, Kotlin, and Java Lite code generators. (https://github.com/protocolbuffers/protobuf/commit/90e1b49f0f838a3bedb0d485a7f323e468730eb7)

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)
* 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)

Rust
* Tweak BUILD setup to make the layering check change less disruptive (15838) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721)

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)
* 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
* 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)
* 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
* Updated amalgamations for PHP and Ruby. (https://github.com/protocolbuffers/protobuf/commit/c773dc9f640b12ade7de2ce89dc6bc712071ecf9)
* 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
* Ruby implement memsize functions for native types (10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
* Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/9087337e5103d058887c691913b08182ea8da899)
* 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)
* 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
* Updated amalgamations for PHP and Ruby. (https://github.com/protocolbuffers/protobuf/commit/c773dc9f640b12ade7de2ce89dc6bc712071ecf9)
* Ruby implement memsize functions for native types (10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
* Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/9087337e5103d058887c691913b08182ea8da899)
* 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)
* Ruby implement memsize functions for native types (10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
* Increased the size of the error message buffer by 4x, to 511 bytes. (15728) (https://github.com/protocolbuffers/protobuf/commit/ab6bcba754c7c5d57d7b627a83614b77b64a7cf9)
* 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
* Add back error message unconditionally (https://github.com/protocolbuffers/protobuf/commit/64ad139c83aa54028d46f815850b58c542c5e26d)
* Actually fail if staleness fail (https://github.com/protocolbuffers/protobuf/commit/108bec33cda5b8ce080ff88854bf15866f2fca68)
* Disabled macOS 8.2, to match main. (https://github.com/protocolbuffers/protobuf/commit/9dfa2b6d0a452abb85abaaf949400c965f8f3b0c)
* Add PrivacyInfo.xcprivacy (15557) (15661) (https://github.com/protocolbuffers/protobuf/commit/5a5ec6ced8de00306e5ab9773874b5192166811f)
* 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)

26.0rc3

Announcements
* **This version includes breaking changes to Ruby.**
* Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/9087337e5103d058887c691913b08182ea8da899)
* [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes.

C++
* Remove rust proto libraries from the editions/BUILD file. (https://github.com/protocolbuffers/protobuf/commit/1f9d9fbe14b78857adab835e8d0dc9c703088078)
* Fix CMake regex escaping. (https://github.com/protocolbuffers/protobuf/commit/3ad69cf8b07ebcd54e76ee5360586a41b4f9d627)
* Escape _from_dir in install.cmake for regex special characters (e.g. c++) before REGEX REPLACE. (https://github.com/protocolbuffers/protobuf/commit/f740f528fa08f9d126650d92472a921e53a95a73)
* Tweak BUILD setup to make the layering check change less disruptive (15838) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721)
* Add missing alias targets for C++ util libraries (15783) (https://github.com/protocolbuffers/protobuf/commit/62e7a56f50d88fdd0ebcb0430103120d60bd9863)

Rust
* Tweak BUILD setup to make the layering check change less disruptive (15838) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721)

PHP

PHP C-Extension
* Updated amalgamations for PHP and Ruby. (https://github.com/protocolbuffers/protobuf/commit/c773dc9f640b12ade7de2ce89dc6bc712071ecf9)
* *See also UPB changes below, which may affect PHP C-Extension.*

Ruby
* Ruby implement memsize functions for native types (10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
* Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/9087337e5103d058887c691913b08182ea8da899)

Ruby C-Extension
* Updated amalgamations for PHP and Ruby. (https://github.com/protocolbuffers/protobuf/commit/c773dc9f640b12ade7de2ce89dc6bc712071ecf9)
* Ruby implement memsize functions for native types (10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
* Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/9087337e5103d058887c691913b08182ea8da899)
* *See also UPB changes below, which may affect Ruby C-Extension.*

UPB (Python/PHP/Ruby C-Extension)
* Ruby implement memsize functions for native types (10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)

Other
* Disabled macOS 8.2, to match main. (https://github.com/protocolbuffers/protobuf/commit/9dfa2b6d0a452abb85abaaf949400c965f8f3b0c)

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)

Page 2 of 27

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.