secretflow / yacl

YACL (Yet Another Common crypto library) is a C++ library that contains cryptography, network and io modules which other SecretFlow code depends on.
Apache License 2.0
73 stars 61 forks source link

Update dependency com_google_protobuf to v27 #332

Closed renovate[bot] closed 3 months ago

renovate[bot] commented 3 months ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
com_google_protobuf http_archive major v21.12 -> v27.0

Release Notes

protocolbuffers/protobuf (com_google_protobuf) ### [`v27.0`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v27.0): Protocol Buffers v27.0 [Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v26.1...v27.0-rc3) ### Announcements - [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. ### Compiler - Future-proof edition 2023 against feature value support windows. (https://github.com/protocolbuffers/protobuf/commit/fea6847e408d58e40a2f10ab124ae795afd703d4) - Mark deleted fields in `descriptor.proto` reserved (https://github.com/protocolbuffers/protobuf/commit/d2da4636c06ccad04371434dabbf24ca1c6ee83e) - Add extension declarations for known features. (https://github.com/protocolbuffers/protobuf/commit/f8d0a5b1dd6f5655be3c0d1a8aa1fec88e80c13a) - Refactored the Java generator into separate packages and targets. (https://github.com/protocolbuffers/protobuf/commit/bd81fd95f30af51e86a36cf0279abec17890a324) - Officially release Editions in 27.0. (https://github.com/protocolbuffers/protobuf/commit/baa83b6b43113a9b39c77e40dc4b10640abda657) - Define lifetimes of edition 2023 features (https://github.com/protocolbuffers/protobuf/commit/77f62de93e2e84d6aab0364629919779970fb9f1) - Implement feature lifetime validation in protoc and the C++ runtime. (https://github.com/protocolbuffers/protobuf/commit/b3b4497d61cabf1d0d37b10178f93c570ec67ac6) - Add edition lifetime options for feature specs. (https://github.com/protocolbuffers/protobuf/commit/b09b3e46fe2a111d412251f6d043649334e9cbee) - Enable editions support for Java Lite. (https://github.com/protocolbuffers/protobuf/commit/500c953d105d0447479be259a5fb0b6f7124e978) - Release edition defaults CLI arguments. (https://github.com/protocolbuffers/protobuf/commit/7a0e10e0219fd753b97c2879eb9a92584a419105) - Update protoc release to include editions language features protos for Java and C++ (https://github.com/protocolbuffers/protobuf/commit/6483c4755daadf1bceb95c4519851c52e8842d2e) ### C++ - Future-proof edition 2023 against feature value support windows. (https://github.com/protocolbuffers/protobuf/commit/fea6847e408d58e40a2f10ab124ae795afd703d4) - Prohibit using features in the same file they're defined in. (https://github.com/protocolbuffers/protobuf/commit/8c5f3a747bae377c92a780970416945c32780bfd) - Fix validation checks of implicit presence. (https://github.com/protocolbuffers/protobuf/commit/bdf6b10e7c2cca02a79a96dac05560fba330cb96) - Clarify map behaviors in editions. (https://github.com/protocolbuffers/protobuf/commit/61c91874c6817cdda85c2c256c3093be34f3eb41) - Ensure we allocate overaligned types with aligned `operator new`. (https://github.com/protocolbuffers/protobuf/commit/11ef0ffb873ebd270ab0266270ea965a04c5f2e5) - Fix text-format delimited field handling.(https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6) - In debug mode, after clearing `oneof` messages on arenas, poison them if ASAN. (https://github.com/protocolbuffers/protobuf/commit/8826bafcf507120bdb77883e9a9c0c43a5f5a302) - Allow `string_type` for Edition 2023. (https://github.com/protocolbuffers/protobuf/commit/d8251ebc43cb21d3239a38554a2f0a618f368a78) - Breaking change: Ensure we allocate overaligned types with aligned `operator new`. (https://github.com/protocolbuffers/protobuf/commit/11ef0ffb873ebd270ab0266270ea965a04c5f2e5) - Python JSON parser: Ignore invalid enum string values if `ignore_unknown_fields` is set ([#​15887](https://togithub.com/protocolbuffers/protobuf/issues/15887)) (https://github.com/protocolbuffers/protobuf/commit/86abf35ef5ee5b1004ec11bebb36d84c2ef6645e) - Move `java_features.proto` to `java/core/srce/main/resources` (https://github.com/protocolbuffers/protobuf/commit/274bc7f26ff9da996714cf5cd011a7edaf6ce34c) - Add an RAII namespace printer helper for C++ codegen. (https://github.com/protocolbuffers/protobuf/commit/8599ab5a5934579e9cb775b2cf2bcc69e67c2747) - Enable editions support for Java Lite. (https://github.com/protocolbuffers/protobuf/commit/500c953d105d0447479be259a5fb0b6f7124e978) - Add an RAII `ifndef` helper for C++ codegen. (https://github.com/protocolbuffers/protobuf/commit/1087274e7dc3ea6864af39a46091160b98e809f1) - Clear `oneof` message fields even on arena on non-OPT builds. (https://github.com/protocolbuffers/protobuf/commit/5c183bda866e4410a66cda550d6afa2428408879) - Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164) - Release edition defaults CLI arguments. (https://github.com/protocolbuffers/protobuf/commit/7a0e10e0219fd753b97c2879eb9a92584a419105) - Deprecate `Arena::CreateMessage` for OSS. (https://github.com/protocolbuffers/protobuf/commit/d4bfe52d998dae068ea7e2d44decd234bb090c46) - Open sourcing `reflection_visit_fieds`. (https://github.com/protocolbuffers/protobuf/commit/cfc07df845a6b5cfc6837e56f3bf8ed20e06eb76) - Fixed the use of c++ keywords within namespace names ([#​15954](https://togithub.com/protocolbuffers/protobuf/issues/15954)) (https://github.com/protocolbuffers/protobuf/commit/988194a591f0b82b1ae52590e4daa5f0519ef8c7) - Fix pkg-config metadata for shared abseil on windows ([#​15888](https://togithub.com/protocolbuffers/protobuf/issues/15888)) (https://github.com/protocolbuffers/protobuf/commit/fe6edca15b2d80df79ab31117dc49621ef461202) - Add `GetStringView()` and `GetRepeatedStringView()` with scratch. (https://github.com/protocolbuffers/protobuf/commit/a3f5af066fcb16bc2e90e28c006597aef1904eab) - Avoid a 'may be used uninitialized' warning when built with '-c opt'. ([#​15846](https://togithub.com/protocolbuffers/protobuf/issues/15846)) (https://github.com/protocolbuffers/protobuf/commit/eb70b343aab7584ed164a6ab4b39789427d0474f) - Add software prefetch to `ByteSizeLong` (https://github.com/protocolbuffers/protobuf/commit/948ca2e0f3e74a2444bc4c3cc8da1d0a4cb82058) - Add prefetching in arena blocks. (https://github.com/protocolbuffers/protobuf/commit/9e57b8e0d800b90d38ab70ac12f086310eb2484e) - Rename the `includingDefaultValueWithoutPresenceFields` and `always_print_without_presence_fields` to `alwaysPrintFieldsWithNoPresence` in the C++, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/7d43131a0a3a2a7640208849eeac016c6c61374e) - Remove tags for arena cleanup nodes now that we have dedicated string cleanup blocks. (https://github.com/protocolbuffers/protobuf/commit/202b10639242d3ee1d10c5577618aa008e222ec4) - Avoid unused-parameter warning in field accessor listeners. (https://github.com/protocolbuffers/protobuf/commit/f4d5c2c571038146de2ee2b22f399527510501d2) - Add new `always_print_without_presence_fields` option to the C++ JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/671b61b523dbec8bf8e41a61d5a8f689c3e2bb9f) - Fail to build descriptor if `ctype` is specified for non string/bytes fields (https://github.com/protocolbuffers/protobuf/commit/8b4c7a1f33eb6849b57b6457d12adbd001109273) - Check `ctype()` in `DescriptorBuilder` for edition 2023 and beyond. (https://github.com/protocolbuffers/protobuf/commit/307aeac9cf1b31a217921198e46a847179723240) - Fail building descriptors if `ctype` is used for fields other than string or bytes. (https://github.com/protocolbuffers/protobuf/commit/403e2078b4501359f04b2c0b60bf37b9305a9e0e) - Fix generation of `HasExtension` and `ExtensionSize` functions to restrict to the (https://github.com/protocolbuffers/protobuf/commit/9f5be076540d3b7374987ba42499080075dd6678) - Add the privacy manifest to the C++ CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/982ea24a9471f5bfbf411568aec8c938dfa7f5ae) ### Java - Lazily resolve features for proto2 and proto3 for compatibility with old open source gencode that does not invoke feature resolution from gencode static init. ([#​16907](https://togithub.com/protocolbuffers/protobuf/issues/16907)) (https://github.com/protocolbuffers/protobuf/commit/4483c6bb28a117a3c9e635a5a87465278218b6c7) - Add `java` to reserved names to escape extensions to `java_`. This may break existing references to gencode for extensions named `java`. (https://github.com/protocolbuffers/protobuf/commit/c18cb9578209b74038e663fe62398b8f9633ccce) - Deprecate building from source with Maven to be removed in 4.28.x. (https://github.com/protocolbuffers/protobuf/commit/51b48a47913516f9985b232c0ed6e05d4631f753) - Split bootstrapped `java_features.proto` to keep it from leaking out. (https://github.com/protocolbuffers/protobuf/commit/d56cb7d768e19f5b64b49ff6fd91688973bdedb6) - Refactored the Java generator into separate packages and targets. (https://github.com/protocolbuffers/protobuf/commit/bd81fd95f30af51e86a36cf0279abec17890a324) - Define lifetimes of edition 2023 features (https://github.com/protocolbuffers/protobuf/commit/77f62de93e2e84d6aab0364629919779970fb9f1) - Check that size is non-negative when reading string or bytes in `StreamDecoder`. (https://github.com/protocolbuffers/protobuf/commit/a94f57bd69e9a5999ba67736e4d70a9d7f96aaf5) - Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6) - Move `java_features.proto` to `java/core/srce/main/resources` (https://github.com/protocolbuffers/protobuf/commit/274bc7f26ff9da996714cf5cd011a7edaf6ce34c) - Add `java_features.proto` to `kotlin_mvn` release (https://github.com/protocolbuffers/protobuf/commit/369732a581f44adc5a4dc5a03c866e9c7f04dc14) - Enable editions support for Java Lite. (https://github.com/protocolbuffers/protobuf/commit/500c953d105d0447479be259a5fb0b6f7124e978) - Fix descriptor to access type via `getType()` s.t. messages using delimited encoding are consistently treated as groups for Java lite. (https://github.com/protocolbuffers/protobuf/commit/9f001a965872b1c82e0f61e53aefb92109357213) - Make `UnsafeByteOperations` stable; removing experimental annotation. (https://github.com/protocolbuffers/protobuf/commit/0070ac118863d7bfd12fa3eeab09e78178e41c65) - Fix features inheritance of `oneof` fields and extensions and fix/move unit tests to actually run. (https://github.com/protocolbuffers/protobuf/commit/eb10ebd169593600e57106d6cdc84d6ad226f9a8) - Add software prefetch to `ByteSizeLong` (https://github.com/protocolbuffers/protobuf/commit/948ca2e0f3e74a2444bc4c3cc8da1d0a4cb82058) - Rename the `includingDefaultValueWithoutPresenceFields` and `always_print_without_presence_fields` to `alwaysPrintFieldsWithNoPresence` in the C++, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/7d43131a0a3a2a7640208849eeac016c6c61374e) - Add a new `includingDefaultValueWithoutPresenceFields` option to the Java parser which is intended to replace the current `includingDefaultValueFields`. (https://github.com/protocolbuffers/protobuf/commit/58baeb4c3b664f8918d24cef5151083d9da9767c) ##### Kotlin - Add `java_features.proto` to `kotlin_mvn` release (https://github.com/protocolbuffers/protobuf/commit/369732a581f44adc5a4dc5a03c866e9c7f04dc14) ### Csharp - Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/c3417f582fd3d1f825bde4edfd9dc8a9fb3ba65c) - Optimize JSON parsing in `JsonTokenizer`. (https://github.com/protocolbuffers/protobuf/commit/68e6e3e8eecd31b0078422f688a3f01fb881d367) - Avoid string concatenation when looking up enum values by name. (https://github.com/protocolbuffers/protobuf/commit/e6684ac037940c962c7fc3bd7b247b0e583bae2e) - Cache `StringBuilder` instances in the .NET `JsonTextTokenizer`. (https://github.com/protocolbuffers/protobuf/commit/fac929d9aa607ccdfd078344ac12cee7d2b3fdda) - Enable Editions in the C# generator. (https://github.com/protocolbuffers/protobuf/commit/421040b32b002828f0a37404b62e1454fb610761) - Runtime support for Protobuf Editions in C#. (https://github.com/protocolbuffers/protobuf/commit/450022de9939f5eaf9f33696c17005ee7609eecc) - Tweak "group to property name" mapping for C#. Under editions, where fields using a delimited encoding have independent field names from type names, we want to use the specified field name. (https://github.com/protocolbuffers/protobuf/commit/139ea4d38525281349e38bcfadce449a6990421c) - Ignore invalid enum string values in JSON, when invalid fields are being ignored. (https://github.com/protocolbuffers/protobuf/commit/55e50ba40679eb82269c62872116b76c5923d74d) ### Objective-C - Optimize startup be reducing selector lookup. (https://github.com/protocolbuffers/protobuf/commit/b375d010bf57a6d673125330ec47f6e6a7e03f5c) - Add the privacy manifest to the ObjC CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/0d9151519f28a2221c980594257d88c8bfe1be51) ### Python - Add temporary alias for `system_python.bzl` at previous location . ([#​16787](https://togithub.com/protocolbuffers/protobuf/issues/16787)) (https://github.com/protocolbuffers/protobuf/commit/ffd753fb637b35b9b9c937eec31efc532546da5d) - Implement feature lifetime validation in `protoc` and the C++ runtime. (https://github.com/protocolbuffers/protobuf/commit/b3b4497d61cabf1d0d37b10178f93c570ec67ac6) - Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6) - Python JSON parser: Ignore invalid enum string values if `ignore_unknown_fields` is set ([#​15887](https://togithub.com/protocolbuffers/protobuf/issues/15887)) (https://github.com/protocolbuffers/protobuf/commit/86abf35ef5ee5b1004ec11bebb36d84c2ef6645e) - Fix upb python: DO NOT create empty optional field after sorting empty repeated field (https://github.com/protocolbuffers/protobuf/commit/7cf02389b30088182269a862f235712f60ab278a) - Enable Protobuf Python version check. (https://github.com/protocolbuffers/protobuf/commit/0442ed62cbea989742933d6c90f4f0a70078959a) - Register Scalar/MessageMapContainerTypes as virtual subclasses of MutableMapping instead of inheriting directly. (https://github.com/protocolbuffers/protobuf/commit/5b32936822e64b796fa18fcff53df2305c6b7686) - Rename the `includingDefaultValueWithoutPresenceFields` and `always_print_without_presence_fields` to `alwaysPrintFieldsWithNoPresence` in the C++, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/7d43131a0a3a2a7640208849eeac016c6c61374e) - Add new `including_default_value_without_presence_fields` to Python JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/25c6d34d4ef6e19e490790b015764847f172a1a5) - Adhere to PEP 8 ([#​15127](https://togithub.com/protocolbuffers/protobuf/issues/15127)) (https://github.com/protocolbuffers/protobuf/commit/21ab7459ee43c0d5079e9f7708d453f68a5fd0e5) ### PHP - Don't break the trace ([#​11311](https://togithub.com/protocolbuffers/protobuf/issues/11311)) (https://github.com/protocolbuffers/protobuf/commit/d67f921f90e3aa03f65c3e1e507ca7017c8327a6) - Fix inconsistent timestamp json encode/decode ([#​12396](https://togithub.com/protocolbuffers/protobuf/issues/12396)) (https://github.com/protocolbuffers/protobuf/commit/47e92cd689466a01ab128ac0bb02cfbde3a1fb46) - Feat: more readable phpdoc escaping ([#​11208](https://togithub.com/protocolbuffers/protobuf/issues/11208)) (https://github.com/protocolbuffers/protobuf/commit/f929439ccd19872d71f56050e6ba7af3cd7c753c) ##### PHP C-Extension - Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/c3417f582fd3d1f825bde4edfd9dc8a9fb3ba65c) - *See also UPB changes below, which may affect PHP C-Extension.* ### Ruby - Add bigdecimal to dependencies ([#​16379](https://togithub.com/protocolbuffers/protobuf/issues/16379)) (https://github.com/protocolbuffers/protobuf/commit/d810ef6be77c079b890e92a20e5b37cfd8768a0b) - Implement service & method descriptor lookup in Ruby ([#​15817](https://togithub.com/protocolbuffers/protobuf/issues/15817)) (https://github.com/protocolbuffers/protobuf/commit/2082ee8bb5a7966d7e921c848778eb0dec431d56) - Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164) - Ruby implement `memsize` functions for native types ([#​10291](https://togithub.com/protocolbuffers/protobuf/issues/10291)) (https://github.com/protocolbuffers/protobuf/commit/87cbdddbf0055d2dfeb87245984126fba7549d3e) - Moved `ObjectCache` into an internal module. (https://github.com/protocolbuffers/protobuf/commit/f824f6d0d7337b193e5a6d277236b79706a6c319) - \[Ruby] Delegate difference, intersection, union from `RepeatedField` to `Array` ([#​15652](https://togithub.com/protocolbuffers/protobuf/issues/15652)) (https://github.com/protocolbuffers/protobuf/commit/11eab86cc0ba1aecaa0dbb5e4a530cec274aa989) - Move the `RubyMessage.java` JSON "include defaults" to use alwaysPrintFieldsWithNoPresence. (https://github.com/protocolbuffers/protobuf/commit/4d23fa068a5eed1284645ef0d5ed32068986068f) - Increased the size of the error message buffer by 4x, to 511 bytes. (https://github.com/protocolbuffers/protobuf/commit/32a6f7a18c1bbf6c6eab3fa027bd0b33b62654d0) ##### Ruby C-Extension - Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/c3417f582fd3d1f825bde4edfd9dc8a9fb3ba65c) - Implement service & method descriptor lookup in Ruby ([#​15817](https://togithub.com/protocolbuffers/protobuf/issues/15817)) (https://github.com/protocolbuffers/protobuf/commit/2082ee8bb5a7966d7e921c848778eb0dec431d56) - Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164) - Ruby implement `memsize` functions for native types ([#​10291](https://togithub.com/protocolbuffers/protobuf/issues/10291)) (https://github.com/protocolbuffers/protobuf/commit/87cbdddbf0055d2dfeb87245984126fba7549d3e) - Moved `ObjectCache` into an internal module. (https://github.com/protocolbuffers/protobuf/commit/f824f6d0d7337b193e5a6d277236b79706a6c319) - *See also UPB changes below, which may affect Ruby C-Extension.* ### UPB (Python/PHP/Ruby C-Extension) - Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/c3417f582fd3d1f825bde4edfd9dc8a9fb3ba65c) - Setup upb installation with `cmake`. (https://github.com/protocolbuffers/protobuf/commit/6898451f5e4c84e79a6f48ea6c46959960743970) - Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6) - Print non-extension fields by field number order instead of `.proto` file order. (https://github.com/protocolbuffers/protobuf/commit/8612d5e771877123e7fb74d91aaef3912a870a9a) - Implement service & method descriptor lookup in Ruby ([#​15817](https://togithub.com/protocolbuffers/protobuf/issues/15817)) (https://github.com/protocolbuffers/protobuf/commit/2082ee8bb5a7966d7e921c848778eb0dec431d56) - Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164) - Adds mutable extension accessors to the codegen for upb C for getting mutable extension messages. (https://github.com/protocolbuffers/protobuf/commit/e8244da7c65cac3a410711fd324de73b78a645e7) - Ruby implement `memsize` functions for native types ([#​10291](https://togithub.com/protocolbuffers/protobuf/issues/10291)) (https://github.com/protocolbuffers/protobuf/commit/87cbdddbf0055d2dfeb87245984126fba7549d3e) - Increased the size of the error message buffer by 4x, to 511 bytes. (https://github.com/protocolbuffers/protobuf/commit/32a6f7a18c1bbf6c6eab3fa027bd0b33b62654d0) ### Other - MODULE.bazel fixes for protobuf BCR release. ([#​16927](https://togithub.com/protocolbuffers/protobuf/issues/16927)) (https://github.com/protocolbuffers/protobuf/commit/f396506571fa1837704588b38cfb099f36c84fe3) - Fix whitespace merge issue in gencode (https://github.com/protocolbuffers/protobuf/commit/f8a4a6880ec6453c5a9427a240169e917eacd3a3) - Work around windows path length limitations by moving immutable -> full in open source (new generator paths) and shortening long file names. ([#​16825](https://togithub.com/protocolbuffers/protobuf/issues/16825)) (https://github.com/protocolbuffers/protobuf/commit/615e7045c5cee13cff3484f67dfb5d7fdd851909) - Move the windows path length workarounds out of protobuf-ci (https://github.com/protocolbuffers/protobuf/commit/9d715cb69d198c520a0ff953251a08ddc909f7a7) - Update `src/file_lists.cmake` for staleness (https://github.com/protocolbuffers/protobuf/commit/cd337dda70a25ccfee0f53daf758f8516b8af0c1) - Add `system_python` to `protobuf_deps.bzl`. (https://github.com/protocolbuffers/protobuf/commit/65ee12380e284c1ca8a3a1921c2682876896a87c) - Migrate bazel tests to protobuf-ci. (https://github.com/protocolbuffers/protobuf/commit/1ee203b04546d3575b102535b57188b2ccbaaca1) - Fix bazel cache issues in 7.0.0 (https://github.com/protocolbuffers/protobuf/commit/16acf7ed86f5fcc2f2b68b108b397412121bb6c6) - Add redirects for C++ and Java proto rules (https://github.com/protocolbuffers/protobuf/commit/9da1b86c30a12286f63501fe7eace2153ed2bc34) - Add redirects for proto rules (https://github.com/protocolbuffers/protobuf/commit/d4d34abd7d66dc93c8f7f52f28411cd9c2867c29) - Feat: automate publishing releases to Bazel Central Registry ([#​16014](https://togithub.com/protocolbuffers/protobuf/issues/16014)) (https://github.com/protocolbuffers/protobuf/commit/d2b71b347df6c8af5c3ee1c833f41b7772e3f250) - Add PrivacyInfo.xcprivacy ([#​15557](https://togithub.com/protocolbuffers/protobuf/issues/15557)) (https://github.com/protocolbuffers/protobuf/commit/684660f025703afbc4775dedf9a0bf732b696cf1) ### [`v26.1`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v26.1): Protocol Buffers v26.1 [Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v26.0...v26.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](https://togithub.com/protocolbuffers/protobuf/issues/16246)) ([#​16271](https://togithub.com/protocolbuffers/protobuf/issues/16271)) (https://github.com/protocolbuffers/protobuf/commit/b4e18708070a75d80965fb16ced60661e531bd9a) - Add back android config_setting that looks for //external:android/crosstool ([#​16127](https://togithub.com/protocolbuffers/protobuf/issues/16127)) ([#​16264](https://togithub.com/protocolbuffers/protobuf/issues/16264)) (https://github.com/protocolbuffers/protobuf/commit/a97c927b51a140bb4b47726a0f61afaef44f0f6e) ### [`v26.0`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v26.0): Protocol Buffers v26.0 [Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v25.3...v26.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://togithub.com/protocolbuffers/protobuf/issues/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 `Message#to_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 `Message#to_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://togithub.com/protocolbuffers/protobuf/issues/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 \ include for CommandLineToArgvW (https://github.com/protocolbuffers/protobuf/commit/2299e1db6fdd0e76b7a757241a6a443200477b8e) - Fix getting env variables on windows ([#​15518](https://togithub.com/protocolbuffers/protobuf/issues/15518)) (https://github.com/protocolbuffers/protobuf/commit/71b0b4e0a9f2d9080f167c03dcafbd8b1823fb76) - Proper fix utf8 command line arguments ([#​14253](https://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/15838)) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721) - Add missing alias targets for C++ util libraries ([#​15783](https://togithub.com/protocolbuffers/protobuf/issues/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](https://togithub.com/protocolbuffers/protobuf/issues/15554)) ([#​15662](https://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/15718)) (https://github.com/protocolbuffers/protobuf/commit/4dec1a7d410c9380fb0bbb177666764af4bddda2) - Correctly set maven-compiler-plugin to >= Java 1.8 per our minimum Java version ([#​15707](https://togithub.com/protocolbuffers/protobuf/issues/15707)) (https://github.com/protocolbuffers/protobuf/commit/6028cdba533994ee23cc7cf0247e46d561ad379d) - Update internalUpdateFileDescriptor() to synchronize setProto() and resolveAllFeatures() to avoid data races. ([#​15659](https://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/15665)) (https://github.com/protocolbuffers/protobuf/commit/394aec87f47f449673c7b32246338b68ac2215fa) - \[ObjC] Add the privacy manifest to the ObjC CocoaPod. ([#​15663](https://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/15838)) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721) ### Python - Adhere to PEP 8 ([#​15127](https://togithub.com/protocolbuffers/protobuf/issues/15127)) ([#​15729](https://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/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](https://togithub.com/protocolbuffers/protobuf/issues/11311)) ([#​15727](https://togithub.com/protocolbuffers/protobuf/issues/15727)) (https://github.com/protocolbuffers/protobuf/commit/3e9902408fecc9a05028d864ee62439360736e94) - Fix inconsistent timestamp json encode/decode ([#​12396](https://togithub.com/protocolbuffers/protobuf/issues/12396)) ([#​15726](https://togithub.com/protocolbuffers/protobuf/issues/15726)) (https://github.com/protocolbuffers/protobuf/commit/e99f27ec0691aa3a277cb34125600498617216c7) - Breaking change: Remove deprecated legacy class aliases. ([#​15709](https://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/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 `Message#to_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://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/14703)) (https://github.com/protocolbuffers/protobuf/commit/42f8b7782ed539d56d0f0e13da4e85603553e828) - Add support for options in CRuby, JRuby and FFI ([#​14594](https://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/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 `Message#to_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://togithub.com/protocolbuffers/protobuf/issues/14703)) (https://github.com/protocolbuffers/protobuf/commit/42f8b7782ed539d56d0f0e13da4e85603553e828) - Add support for options in CRuby, JRuby and FFI ([#​14594](https://togithub.com/protocolbuffers/protobuf/issues/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://togithub.com/protocolbuffers/protobuf/issues/10291)) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a) - Increased the size of the error message buffer by 4x, to 511 bytes. ([#​15728](https://togithub.com/protocolbuffers/protobuf/issues/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/p

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.