ITADN

版本发布 8

Protocol Buffers v34.0-rc1v34.0-rc1.1预发布
? · 2026-01-22

# Announcements * **This version includes breaking changes to: C++, Objective-C, PHP, Python.** * [Bazel] Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb) * [C++] Make generator headers private (https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e) * [C++] Add a debug check that the target of CopyFrom is not a descendant of the source. (https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1) * [C++] Add [[nodiscard]] to many APIs. (https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738) * [C++] Make the arena-enabled constructors of `RepeatedField`, `RepeatedPtrField`, and `Map` private. (https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336) * [C++] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292) * [C++] Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae) * [C++] Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8) * [C++] Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536) * [C++] Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() && !is_repeated()) instead (https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af) * [C++] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00) * [C++] All entity names have length limit (2afb0dc) * [Other] Remove deprecated flag for enabling MSVC support (https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7) * [PHP] Remove deprecated PHP APIs (https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5) * [PHP] Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345, https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6, https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345) * [PHP] Add PHP typehints for setters and remove redundant GPBUtil checks (https://github.com/protocolbuffers/protobuf/pull/25296) (https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd) * [PHP] support default values for editions/proto2 (https://github.com/protocolbuffers/protobuf/pull/25161) (https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17) * [Python] Raise errors in OSS when assign bool to int/enum field in Python Proto. (https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c) * [Python] Remove float_format/double_format from python proto text_format (https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488) * [Python] Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c) * [Python] Remove float_precision from python proto json_format (https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5) * [Python] Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292) * [Python] Remove deprecated FieldDescriptor.label (https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9) * [Python] Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00) * [ObjC] Remove generate_minimal_imports generation option warning ([45b1297](https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4)) * [ObjC] Fix nullability annotations on some GPB*Dictionary types. ([ea67d6d](https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50)) * [ObjC] Remove -[GPBFieldDescriptor optional] ([3414dc1](https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4)) * [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. * [Migration Guide](https://protobuf.dev/support/migration/) may include additional guidance for breaking changes. # Bazel * Fix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (#25168) (https://github.com/protocolbuffers/protobuf/commit/8c857c3a1c6a106b0a096f1c9fa504bfaca035a9) * Breaking change: Remove deprecated ProtoInfo.transitive_imports. Use equivalent transitive_sources instead (https://github.com/protocolbuffers/protobuf/commit/0a5c2f6b633c1e5259f566cb42d30fe347b8aadb) * Feat(bazel): wire up prebuilt protoc toolchain (#24115) (https://github.com/protocolbuffers/protobuf/commit/cc23698b486e690ea2eb873cc7596a87c74a3ba6) * Migrate `proto_descriptor_set` (#23369) (https://github.com/protocolbuffers/protobuf/commit/8d4dfdd39a7a242a9ed631a6ab2192c57dd9b9c8) # Compiler * Ruby codegen: support generation of rbs files (#15633) (https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d) * Avoid collision name problems between a message named `Xyz` and a direct sibling enum named `XyzView` (https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1) * Generalizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0) * Fix a bug with custom features outside of the `pb` package. (https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8) * Fix import option handling when include_imports isn't set. (https://github.com/protocolbuffers/protobuf/commit/9ef9e80afd9bc8379d578fe67e5ab0738728c04e) * Fix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f) * Prevent accidental stripping of `debug_redact` options via import option. (https://github.com/protocolbuffers/protobuf/commit/f58b098bffa7ca4045ef7773b09151a6af5d0c28) # C++ * Add EnumerateEnumValues function. (https://github.com/protocolbuffers/protobuf/commit/397d5d99db274b379d1384814074bf7df39d32f7) * Add conformance tests for utf8 validation. (https://github.com/protocolbuffers/protobuf/commit/e8923a8ea72d5573f0380030a482ba440b5eb2dc) * Disable constinit on MSVC for static library builds (https://github.com/protocolbuffers/protobuf/commit/783da0a9407f6bf890455e5ba05e861df11f600f) * Breaking change: Make generator headers private (https://github.com/protocolbuffers/protobuf/commit/3a2af3510f0d454dbe3e4dc281674b61c4d20b9e) * Add bounds checking to ExtractSubrange. (https://github.com/protocolbuffers/protobuf/commit/5687acc54cab007591b60d23e7f055209df03eac) * This CL starts failing on `[unverified_lazy = true]` on extensions, which have been (https://github.com/protocolbuffers/protobuf/commit/d2a42e74b9ee7d7a11c5bca95ab7b49c0d4fea27) * Refine the conditions for the MSVC constinit workaround (https://github.com/protocolbuffers/protobuf/commit/38927bf2b93a42e2a155b49f9d610c70cc5942ec) * Add conformance test cases about handling of google.protobuf.Empty inside any Any in JSON. (https://github.com/protocolbuffers/protobuf/commit/0f3dd063c6fd301cb73c3148f8ac7b570f773e94) * Remove PROTOBUF_CONSTEXPR to unconditionally use constexpr (https://github.com/protocolbuffers/protobuf/commit/7f431bb54a7659725c1b5668a83c7c400ac90026) * Add bounds checking to `DeleteSubrange`, create new helper, `RuntimeAssertInBoundsGE`, and modify `LogIndexOutOfBoundsAndAbort` to customize the message being logged. (https://github.com/protocolbuffers/protobuf/commit/71cc97ce5a81549312d77f62c85024851702b313) * Breaking change: Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00) * Fix issue where BinaryToJson a Skip()'s failure on unknown fields was ignored instead of resulting in a parse failure. (https://github.com/protocolbuffers/protobuf/commit/2ec322ed576f0610b94f43cc9a98211058a93770) * Breaking change: Add [[nodiscard]] to many APIs. (https://github.com/protocolbuffers/protobuf/commit/a70115f33f9af2c4b2202c800b84837e7fe0d738) * Abort on out of bounds accesses. (https://github.com/protocolbuffers/protobuf/commit/3acf23cce5aac088a7c6585484a8b38c48448255) * Fix JSON printing of Any of an empty message in C++Proto. (https://github.com/protocolbuffers/protobuf/commit/014f676e8898e0e47919911cb759094acf607236) * FieldMaskUtil::TrimMessage: Handle repeated messages. (https://github.com/protocolbuffers/protobuf/commit/0f109cb7089805c438b9f64a1cc52bfdddb4bd70) * Breaking change: Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292) * Generalizing and implementing ValidateFeatureSupport for both Options and Features during proto parsing (https://github.com/protocolbuffers/protobuf/commit/ed3c57114d8e2b47cca7697ddaa50c1b3762a6b0) * Breaking change: Remove deprecated FieldDescriptor::has_optional_keyword() in OSS. Use is_repeated() or has_presence() instead (https://github.com/protocolbuffers/protobuf/commit/68346ec9348e932664e58c3ecdcd1478f95233a8) * Test that all entity names have some limit, and that passing that limit will (https://github.com/protocolbuffers/protobuf/commit/2afb0dc390eae546056fb5b3c67b6c015b7b2617) * Breaking change: Remove deprecated FieldDescriptor::is_optional() in OSS. Use (!is_required() && !is_repeated()) instead (https://github.com/protocolbuffers/protobuf/commit/9dbc5d479a8e453921485d8d3de47fb3c005f1af) * Breaking change: Remove AddUnusedImportTrackFile() and ClearUnusedImportTrackFiles(). Remove PROTOBUF_FUTURE_RENAME_ADD_UNUSED_IMPORT (https://github.com/protocolbuffers/protobuf/commit/837a2cd1d6c75402b2503ffe7cd8aeaf25868536) * Breaking change: Removes proto2::util::MessageDifferencer::AddIgnoreCriteria that takes a raw pointer as an argument in favor of the overload that takes a unique_ptr. Remove macro PROTOBUF_FUTURE_REMOVE_ADD_IGNORE_CRITERIA (https://github.com/protocolbuffers/protobuf/commit/b115358c64127896fed88b8b5ef5d91d86d8cbae) * Mark mutable repeated fields/maps as [[nodiscard]] (https://github.com/protocolbuffers/protobuf/commit/bc60e2e8077867eaf9bcc65e42d6d36a7a959a5d) * Apply [[nodiscard]] to constant, non-message accessors. (https://github.com/protocolbuffers/protobuf/commit/46575f0e8d1e16aec817e77711561a983aa13355) * Add [[nodiscard]] to many const methods of Message/Reflection. (https://github.com/protocolbuffers/protobuf/commit/8c981b87ac0902c761920e9d3270242afe63ef31) * Fix a bug with custom features outside of the `pb` package. (https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8) * Delete safe_boundary_check as this now supported via build flag, `--//third_party/protobuf:bounds_check_mode`. (https://github.com/protocolbuffers/protobuf/commit/3079d15176586dff25a2ea43c60921404b2dda2a) * Add [[nodiscard]] to `const` message field accessors. (https://github.com/protocolbuffers/protobuf/commit/60f60d0614fca0787f52484159cc7bf8df321e8a) * CMake: Stop building tests by default (related to #20539) (#24373) (https://github.com/protocolbuffers/protobuf/commit/88261aab23498a853d63dfd008545f3ae6cfe86d) * Optimize TcParser::RepeatedVarint (https://github.com/protocolbuffers/protobuf/commit/88efe88a6bceffa2ec37f172d161a8549f92b133) * Add nodiscard to has_*/*_size accessors. (https://github.com/protocolbuffers/protobuf/commit/40fe103a798b52dc0c3072d249e766063db241ac) * Enable removed arena pointers from all fields. (https://github.com/protocolbuffers/protobuf/commit/1f3fe2eeb79f79fe16d6e8f870acddbf19a4d8ee) * Fix a bug in STRICT check of namespaced enums to properly check for 'reserved 1 to max' (https://github.com/protocolbuffers/protobuf/commit/1229d4adba24c0952ab85ce96bc7b7f8a1fe6d0f) * Breaking change: Add a debug check that the target of CopyFrom is not a descendant of the source. (https://github.com/protocolbuffers/protobuf/commit/7a7589823d2cfaaf7994b050e98d5d553bc9b1c1) * Breaking change: Make the arena-enabled constructors of `RepeatedField`, `RepeatedPtrField`, and `Map` private. (https://github.com/protocolbuffers/protobuf/commit/ef890c3d0c79398c70e047fe5dd893f460ba2336) * Update AddAlreadyReserved/AddNAlreadyReserved to use the runtime bounds checks. (https://github.com/protocolbuffers/protobuf/commit/b8e690a381da9d2f1c55ddd044f2e50ac6db5921) * Use __builtin_operator_new to faciliate compiler optimizations of these allocs. (https://github.com/protocolbuffers/protobuf/commit/4624d8120afd4a71f8ada0ff66cceb04d45d5409) * Add has_default_instance() to ImplicitWeakTypeHandler (https://github.com/protocolbuffers/protobuf/commit/818b8efbaa200bcdbac329930fef4cc3ec70441a) * Add a macro to make `RepeatedField(Arena*)` constructor private in a future release. (https://github.com/protocolbuffers/protobuf/commit/b39f10c4a29d1a3d02906750cac889c4b1b5ee7c) * Use __builtin_operator_new to faciliate compiler optimizations of these allocs. (https://github.com/protocolbuffers/protobuf/commit/195da19b9617eb8da9716db7408cb987faec9085) * Change LogIndexOutOfBoundsAndAbort logging message. (https://github.com/protocolbuffers/protobuf/commit/bc0b635b4bedca2c3e0f55dcce6971db6c024f23) # Java * Optimize TextFormatEscaper to just return the String input if it didn't need any escaping. (https://github.com/protocolbuffers/protobuf/commit/e5362043d3938208e5d469e0d2116746eb0b9e09) * Adding deprecation comment when isInitialized() accessor is deprecated (https://github.com/protocolbuffers/protobuf/commit/2732c601605ef6085ab11e7ca9e5a88531a1f66f) * Deprecating isInitialized() if there aren't required fields (https://github.com/protocolbuffers/protobuf/commit/260759508eced9f0d2a0a6b22734c691c1d834a5) * Avoid skipping descriptors with option dependencies (https://github.com/protocolbuffers/protobuf/commit/1bc2c6352acadf5192c53fce4755553b656360e9) * Remove PROTOBUF_CONSTEXPR to unconditionally use constexpr (https://github.com/protocolbuffers/protobuf/commit/7f431bb54a7659725c1b5668a83c7c400ac90026) * Correctly apply JSON recursion limit when parsing an Any-of-Any. (https://github.com/protocolbuffers/protobuf/commit/33b16e8302d9aae1f4838296443bfebbac5b4978) * Avoid potential exceptions on serialize in the face of malformed lazy extensions. (https://github.com/protocolbuffers/protobuf/commit/531c644c7d2dee3e57e25025fcd6be19191eb5c2) * Remove unused canUseUnsafe() protected method from GeneratedMessage (https://github.com/protocolbuffers/protobuf/commit/1041d6274fa07625f17eb5b574daf624b423c9e9) * Apply [[nodiscard]] to constant, non-message accessors. (https://github.com/protocolbuffers/protobuf/commit/46575f0e8d1e16aec817e77711561a983aa13355) * Add check if sun.misc.Unsafe is present but throws on use, to use the preexisting no-Unsafe paths if it does. (https://github.com/protocolbuffers/protobuf/commit/35149013bfce328da702fee003fff9e69c9e3ba4) * Fix a bug with custom features outside of the `pb` package. (https://github.com/protocolbuffers/protobuf/commit/872d3ce7a4da00d7dcec33ced20cfe45235935e8) * Expose NestedInFileClass naming helpers for Java immutable. (https://github.com/protocolbuffers/protobuf/commit/0c485521586958c5b486954fb4eb1d3028688ea5) * Add nodiscard to has_*/*_size accessors. (https://github.com/protocolbuffers/protobuf/commit/40fe103a798b52dc0c3072d249e766063db241ac) * Remove defunct protected mergeFromAndMakeImmutableInternal method. This method was planned to be used by gencode but was never used in practice. (https://github.com/protocolbuffers/protobuf/commit/57770eb7b7bc75be576cd980cdd08b8579c75731) * Fix bugs in Java Large Enums that have aliased values, and improve performance of valueOf / forNumber. (https://github.com/protocolbuffers/protobuf/commit/57338e8c6df24817f4d0fbaa30eb51f45751d59b) * Remove unused test-only method Protobuf.registerSchemaOverride (https://github.com/protocolbuffers/protobuf/commit/8e623d185b5ff318279127c267f9d9fad9f44a10) * Remove unused method com.google.protobuf.Protobuf.mergeFrom(T,Reader) (https://github.com/protocolbuffers/protobuf/commit/7b6be541e80e54bd8fed61473a806fe1ebbd4752) * Remove unused method com.google.protobuf.Protobuf.makeImmutable (https://github.com/protocolbuffers/protobuf/commit/8fa15e99244e0113276c9c1ebc9654ad8e9e5963) * Mark com.google.protobuf.Protobuf.registerSchema as private (https://github.com/protocolbuffers/protobuf/commit/db16bca5e83cb81bf75851cdb8e51864c38e2ac7) * Remove "public" from methods in com.google.protobuf.Protobuf (https://github.com/protocolbuffers/protobuf/commit/f50c425568b1586738f5ed55211b09a2c32250c8) * Remove unused method com.google.protobuf.Protobuf.getTotalSchemaSize() (https://github.com/protocolbuffers/protobuf/commit/dead64c507f0e5b51d381b6b6bf58af0138a1915) * Fix large java enums not being honored on lite runtime. (https://github.com/protocolbuffers/protobuf/commit/ec3c8a7856642c692b4685e2e0965d93141651ff) # Csharp * Fix: apply recursion limits when parsing JSON well-known types with deep arrays (https://github.com/protocolbuffers/protobuf/commit/c3ddacbd2e67af0f7bbd463ebbe3db814bd5291b) # Objective-C * This CL starts failing on `[unverified_lazy = true]` on extensions, which have been (https://github.com/protocolbuffers/protobuf/commit/d2a42e74b9ee7d7a11c5bca95ab7b49c0d4fea27) * Adds support for 3 modes for proto extension generation: (https://github.com/protocolbuffers/protobuf/commit/0bc41927e92cff886cd306a3545628c713cd27e5) * [ObjC] Remove `generate_minimal_imports` generation option warning (https://github.com/protocolbuffers/protobuf/commit/45b1297fdaad5a9436d0e207422168c38dc45ac4) * Emit hassers for oneofs in objectivec. (https://github.com/protocolbuffers/protobuf/commit/2aae07eafa173b4d0177f11a3ede2ae33e777562) * [ObjC] Fix nullability annotations on some `GPB*Dictionary` types. (https://github.com/protocolbuffers/protobuf/commit/ea67d6d26a48478a567c404679e3bb99cf230d50) * [ObjC] Remove `-[GPBFieldDescriptor optional]` (https://github.com/protocolbuffers/protobuf/commit/3414dc151eb4dcbdb2ca952e2589993bf7af75c4) # Rust * Rust protobuf: use crate name aliases to disambiguate generated dependencies (https://github.com/protocolbuffers/protobuf/commit/1f07ec66e374071f0f58a4a25590a51b3a8a719e) * Avoid collision name problems between a message named `Xyz` and a direct sibling enum named `XyzView` (https://github.com/protocolbuffers/protobuf/commit/eba53e8f172b273d679759a72ce4250131ee3df1) * Mark MessageMut trait as `+ Send` (https://github.com/protocolbuffers/protobuf/commit/bc517b9b92aa47fd2cf476ae0c246fdbca8e312e) * Protobuf-rust: adapt for rules_rust 0.67 (https://github.com/protocolbuffers/protobuf/commit/eb8d34e4d244d7a3ee274874dd55159840281212) * Adapt for rules_rust 0.66.0. (https://github.com/protocolbuffers/protobuf/commit/adb1957e315c3187fe844b7b31189d0dbd035b96) * Expose protobuf::message_eq() free function on the Rust Protobuf runtime api. (https://github.com/protocolbuffers/protobuf/commit/cfa8f677592a11651959105b5286c26b4fa76688) * Protobuf-rust: pass DepVariantInfo's attributes explicitily (https://github.com/protocolbuffers/protobuf/commit/a42e64f906ef715924dd2d19af3cf6b2fd82d462) * *See also UPB changes below, which may affect Rust.* # Python * Prevent crashes when creating objects during interpreter shutdown (https://github.com/protocolbuffers/protobuf/commit/46061cb99d68d8fc0c46833b0ea8cee410bebbb8) * Drop Python 3.9 support (https://github.com/protocolbuffers/protobuf/commit/bbc9dd9e8a1bc669c8ca8cd2bd85a42bc4154255) * Breaking change: Remove deprecated UseDeprecatedLegacyJsonFieldConflicts() (https://github.com/protocolbuffers/protobuf/commit/c301c2ca286327a21c50c0c4cd877afc9c655b00) * Breaking change: Remove deprecated FieldDescriptor::label() in OSS. Use is_repeated() or is_required() instead (https://github.com/protocolbuffers/protobuf/commit/b76faa921fdd244f374c7be0bddd4050fc42c292) * Support more chars in type URLs in the Python text-format parser. (https://github.com/protocolbuffers/protobuf/commit/4459a202053881e6e7ab0badd515b124be626ba3) * Breaking change: Raise errors in OSS when assign bool to int/enum field in Python Proto. (https://github.com/protocolbuffers/protobuf/commit/5b116fe2f14f49dd0cc3b76089983717f211025c) * Breaking change: Remove float_format/double_format from python proto text_format (https://github.com/protocolbuffers/protobuf/commit/e4854a186e0bfa867d5bfa5cd850608a948fd488) * Two new functions in PyProto_API to manage DescriptorPools (https://github.com/protocolbuffers/protobuf/commit/59f2a6e145065b23ea72039e57a2c7d8a6b04246) * Breaking change: Remove deprecated FieldDescriptor.label (https://github.com/protocolbuffers/protobuf/commit/0a8ff55518ea5874478ad5b26515b31d186045a9) * Python Proto scalar repeated numpy binding. (https://github.com/protocolbuffers/protobuf/commit/1eb4e5290a66ff387914f80925936d275453014f) * Python Proto Free Threading tests/experimental (https://github.com/protocolbuffers/protobuf/commit/b8bef14b3c262d48bc9d6458d4de11532dca8247) * Add Python 3.14 test coverage (https://github.com/protocolbuffers/protobuf/commit/8e3543177ef10c5967daeb12456ca9a1b2638942) * Put ABSL annotations back in descriptor (https://github.com/protocolbuffers/protobuf/commit/e2ddebe709ae045df876a93b0268cf459817a067) * Free threading compat - Only access interned_descriptors behind a mutex (https://github.com/protocolbuffers/protobuf/commit/13fe37f25f187b7a2e79faa962df6a69bdb3d5b8) * Breaking change: Remove float_precision from python proto json_format (https://github.com/protocolbuffers/protobuf/commit/f027f1fcd52b9d080b7ee79f4024f53cf54e0dc5) * Breaking change: Raise TypeError when convert non-timedelta to Duration, or convert non-datetime to Timestamp in python proto. (Original code may raise ArributeError) (https://github.com/protocolbuffers/protobuf/commit/00aaca1b4d98954bc2933d7c8a5379ba6088124c) * Python: kwargs initialization would silently swallow some errors with repeated fields. (https://github.com/protocolbuffers/protobuf/commit/412d0a2f07e64d4123d3606b247db8789b0d5967) * Fix Python cpp memory crash when MergeFrom Oneof. (https://github.com/protocolbuffers/protobuf/commit/26d08d51b95fcaf8cfea9d1d12fba1ce3725502b) # PHP * Feat(php): Add PHP typehints for setters and remove redundant GPBUtil checks (#25296) (https://github.com/protocolbuffers/protobuf/commit/aee03b78929c02461a5f9d8e136a2a016359b0cd) * Raise minimum php version to 8.2.0. Drop tests for 8.1. (https://github.com/protocolbuffers/protobuf/commit/5d29dcaed075be6be00ddf669830fca7e5f0e941) * Feat(php): support default values for editions/proto2 (#25161) (https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17) * Breaking change: Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345) * Automated rollback of commit 8f569de0baec06079a1bb6aa149215d369600975. (https://github.com/protocolbuffers/protobuf/commit/94fe944f49ff40db4a29050e98e184d06cd6cd6c) * Breaking change: Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead (https://github.com/protocolbuffers/protobuf/commit/cd76e675b14d00dda5623b30835d2bc7105fccc6) * Breaking change: Remove deprecated PHP APIs (https://github.com/protocolbuffers/protobuf/commit/9c45014099a4f7004fab6dd1278de2f4f2a393c5) * Make PHPDoc for enum getters/setters correspond to enum class. (#24515) (https://github.com/protocolbuffers/protobuf/commit/996e04c5efe88c2f12317e70957931ad5211f128) * Add option for PHP to emit default values for JSON. (#23985) (https://github.com/protocolbuffers/protobuf/commit/6df6c8aace4d6097100558992b384077811f21e9) * Implement hasPresence helper in PHP, remove broken hasOptionalKeyword. (https://github.com/protocolbuffers/protobuf/commit/69efbc67c5a7aac7b2d66d88796895319af799d3) ### PHP C-Extension * Raise minimum php version to 8.2.0. Drop tests for 8.1. (https://github.com/protocolbuffers/protobuf/commit/5d29dcaed075be6be00ddf669830fca7e5f0e941) * Feat(php): support default values for editions/proto2 (#25161) (https://github.com/protocolbuffers/protobuf/commit/b01099d56350551bae3da88b97bf3027274c9f17) * Breaking change: Remove deprecated PHP APIs FieldDescriptor getLabel, use IsRepeated or isRequired instead. (https://github.com/protocolbuffers/protobuf/commit/42081219920c6fad17ba6ddd1e28d111bcfb3345) * Automated rollback of commit 8f569de0baec06079a1bb6aa149215d369600975. (https://github.com/protocolbuffers/protobuf/commit/94fe944f49ff40db4a29050e98e184d06cd6cd6c) * Add option for PHP to emit default values for JSON. (#23985) (https://github.com/protocolbuffers/protobuf/commit/6df6c8aace4d6097100558992b384077811f21e9) * Implement hasPresence helper in PHP, remove broken hasOptionalKeyword. (https://github.com/protocolbuffers/protobuf/commit/69efbc67c5a7aac7b2d66d88796895319af799d3) * *See also UPB changes below, which may affect PHP C-Extension.* # Ruby * Ruby codegen: support generation of rbs files (#15633) (https://github.com/protocolbuffers/protobuf/commit/6ebdf851ba78728f0aa145d38454ed9a316fb08d) * Support Ruby 4.0 (#25051) (https://github.com/protocolbuffers/protobuf/commit/93f4eba2585a84ed26c29c6120a6d2ae37b68b60) # UPB (Python/PHP/Ruby C-Extension) * Add conformance tests for utf8 validation. (https://github.com/protocolbuffers/protobuf/commit/e8923a8ea72d5573f0380030a482ba440b5eb2dc) * Added more validations of `syntax` and `edition` when parsing descriptors. (https://github.com/protocolbuffers/protobuf/commit/4c5c4b2cd0049de2b2baa24b7441d039cf79d56e) * Fixes a compiler crash when building the Windows arm64 Ruby/Python extension (https://github.com/protocolbuffers/protobuf/commit/0e84323cd6fba27c7834b5596f3ef14b7e69e7b8) * Add BTI to branch targets when branch protection is enabled. This resolves (https://github.com/protocolbuffers/protobuf/commit/a3ca522fc5d9e364910dee60e1f30a945ebf6762) * Enable edition 2024 in upb generators (https://github.com/protocolbuffers/protobuf/commit/e44d4210ba0de96ef5c255ad3d04a74e75802c67) # Other * Drop Bazel 7 tests for bazel, python, partially java partially cpp. (https://github.com/protocolbuffers/protobuf/commit/b046c9a30e3c32084dd7732dc776624f9aa8121a) * Update protobuf's dep on bazel-skylib to version 1.9.0 (https://github.com/protocolbuffers/protobuf/commit/27e67a7e30811dfe6247de6915abaca9f0848e10) * Breaking change: Remove deprecated flag for enabling MSVC support (https://github.com/protocolbuffers/protobuf/commit/97c979be6e0907e1051bee62584dac4594e73fa7) * Protobuf: update php from macos-13 to macos-15-intel (https://github.com/protocolbuffers/protobuf/commit/7b9fecae659e31dd75e46b38ba422b498f3e4b65) * Bazel: Remove hardcoded dependency on `//:protoc` from language runtimes (#19679) (https://github.com/protocolbuffers/protobuf/commit/4986a7722460e3163f37c98da1cb47f52c6406e1) * Move ObjC to the next major version to be ready for release in 2026Q1. (https://github.com/protocolbuffers/protobuf/commit/31cadad0ed92060f5405de0f663181b2dc891f94) ## What's Changed * Remove distcheck and dist_install Kokoro tests by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10326 * Integrate from Piper for C++, Java, and Python by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/10325 * Revert third_party/benchmark changes from sync by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/10332 * Add placeholders for further testing by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10336 * Implement correct map merging behavior for C# by @jskeet in https://github.com/protocolbuffers/protobuf/pull/10339 * Clarify C# MessageParser and JSON parsing behavior by @jskeet in https://github.com/protocolbuffers/protobuf/pull/10340 * Bugfix/issue 8101 by @tonydnewell in https://github.com/protocolbuffers/protobuf/pull/10268 * Integrate from Piper for C++, Java, and Python by @fowles in https://github.com/protocolbuffers/protobuf/pull/10341 * Fix typo in tests.cmake (use non-lite instead of lite) ... by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/10337 * docs: add protoc-gen-bq-schema by @aucampia in https://github.com/protocolbuffers/protobuf/pull/10350 * fix: PHP readonly legacy files for nested messages by @bshaffer in https://github.com/protocolbuffers/protobuf/pull/10320 * Fix XML comment warnings for JsonFormatter by @jskeet in https://github.com/protocolbuffers/protobuf/pull/10354 * Adding linux shared library CMake test by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10351 * [PHP] Added getContainingOneof and getRealContainingOneof to descriptor. by @haberman in https://github.com/protocolbuffers/protobuf/pull/10356 * Remove bogus IWYU pragma by @ctiller in https://github.com/protocolbuffers/protobuf/pull/10358 * Integrate from Piper for C++, Java, and Python by @fowles in https://github.com/protocolbuffers/protobuf/pull/10360 * Update ruby README.md by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/10363 * Fix rule for java target in examples/Makefile by @kmizumar in https://github.com/protocolbuffers/protobuf/pull/10368 * Fix Timestamps fromDate for negative 'exact second' java.sql.Timestamps by @q-nathangrand in https://github.com/protocolbuffers/protobuf/pull/10321 * Remove Tools build from csharp release script by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10374 * Add windows tests for C++ builds by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10364 * Use release version instead of libtool version in Makefile by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10355 * Ruby: use a valid instance variable name for `descriptor` by @casperisfine in https://github.com/protocolbuffers/protobuf/pull/10282 * Merge release branch to main by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10384 * Add extension for Oclea Service Layer RPCs by @samsta in https://github.com/protocolbuffers/protobuf/pull/10375 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10388 * Remove all autotools usage by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10132 * Use protoc version for --version by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10386 * Disabling upb tests in python_cpp builds by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10392 * Reverting changes to ruby aarch64 build. by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10394 * Upgrade third_party/googletest submodule to current main branch by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10393 * Fixing php proto generation script to work properly during sync by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10395 * Ruby: Use class inheritance to save memory by @casperisfine in https://github.com/protocolbuffers/protobuf/pull/10281 * Relocate macos protoc build by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10398 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10399 * [cleanup] Suppress MSVC Warning in Generated C++ Files by @tusharb86 in https://github.com/protocolbuffers/protobuf/pull/10353 * Fix python benchmark CI by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10402 * Update CMake configuration to add a dependency on Abseil by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10401 * Clean up conformance test documentation by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10410 * Upgrade python in benchmark kokoro build by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10415 * [Mac] Support bazelisk and drop -j argument. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10412 * Breaking Change: Add a dependency on Abseil by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10416 * Fix Wpedantic warning 'extra ;' for c++ by @marjoleinheyndrickx in https://github.com/protocolbuffers/protobuf/pull/10385 * avoid unused-parameter warning for c++ by @marjoleinheyndrickx in https://github.com/protocolbuffers/protobuf/pull/10390 * Sort dependency manifest by @TrentHouliston in https://github.com/protocolbuffers/protobuf/pull/10414 * update bazel_skylib to latest version (1.2.1) by @Wyverald in https://github.com/protocolbuffers/protobuf/pull/10423 * Fixing python benchmark continuous test by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10420 * Integrate from Piper for C++, Java, and Python @468772608 by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10429 * Bumping Abseil version to latest LTS by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10433 * CMake: Check whether Abseil is already present in the current project by @cblichmann in https://github.com/protocolbuffers/protobuf/pull/10436 * Upgrade to MSVC 2017, since 2015 is no longer supported by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10437 * Fix Bazel 4 support by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10438 * Update bug_report.md by @perezd in https://github.com/protocolbuffers/protobuf/pull/10440 * Minor tweaks to the ObjC build helper. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10442 * Start cleanup/simplification of objc test .proto files by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10444 * Separate protobuf-generate cmake function to own file by @haraldF in https://github.com/protocolbuffers/protobuf/pull/10426 * Use --announce_rc to any bug reports are more likely to include $HOME rc info by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10445 * Continue cleanup/simplification of objc test .proto files by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10447 * [ObjC] Remove prefixes from test files no longer used by ObjC tests. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10448 * Add reserved option range for mypy-protobuf by @nipunn1313 in https://github.com/protocolbuffers/protobuf/pull/10446 * [ObjC] use root relative paths for test proto imports. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10450 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10455 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10457 * Changing windows release to VS 2017 by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10458 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10462 * Implement IComparable<Duration> for the Duration type (C#) by @jskeet in https://github.com/protocolbuffers/protobuf/pull/10441 * Adding detailed documentation on how to run conformance tests with bazel by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10469 * Fully qualify git submodules by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10424 * Delete benchmarks. by @ckennelly in https://github.com/protocolbuffers/protobuf/pull/10479 * Clean up leftover benchmark cruft by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10480 * correct minor grammatical issue by @suchapalaver in https://github.com/protocolbuffers/protobuf/pull/10481 * Enable warnings as errors during tests by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10482 * [ObjC] Test file cleanups by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10484 * Add Javascript at README.md by @nnnnoel in https://github.com/protocolbuffers/protobuf/pull/10476 * [ObjC] Fix the name of the test file. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10494 * Make abseil a public dependency of libprotobuf by @haraldF in https://github.com/protocolbuffers/protobuf/pull/10460 * Update README.md by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10490 * move portable_strdup into the windows ifdef by @fowles in https://github.com/protocolbuffers/protobuf/pull/10506 * Retain existing array in RepeatedField.Clear by @jskeet in https://github.com/protocolbuffers/protobuf/pull/10508 * Add deprecated python proto alias by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10515 * Delete performance.md by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10516 * CMake: Enable projects to set the C++ version by @cblichmann in https://github.com/protocolbuffers/protobuf/pull/10464 * Fixing mac php tests by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10523 * Apply Obsolete attribute to deprecated enums and enum values in C# generated code by @jskeet in https://github.com/protocolbuffers/protobuf/pull/10520 * Dedupe kokoro builds by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10400 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10527 * Fix build with Python 3.11 by @shadchin in https://github.com/protocolbuffers/protobuf/pull/10403 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10540 * Update docs for MessageToJson indent parameter by @alkasm in https://github.com/protocolbuffers/protobuf/pull/10519 * Move note to the top by @grongor in https://github.com/protocolbuffers/protobuf/pull/10493 * Update conformance/README.md for jruby by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/10488 * Fix stale descriptor files after comment change by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10577 * Apply patch by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10546 * Use generated WKT code in Bazel builds by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10576 * Fix 32-bit floating point JSON parsing of maximal values for C# by @jskeet in https://github.com/protocolbuffers/protobuf/pull/10514 * json_name and default pseudo-options have source code info consistent with options by @jhump in https://github.com/protocolbuffers/protobuf/pull/10470 * [ObjC] Clean up includes. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10587 * [ObjC] Add helper for IsCreateName for the CF Create Rule. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10585 * [ObjC] Move generation options out to their own file. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10565 * Merge 21.x release branch into main by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10582 * protoc: fix consistency with parsing very large decimal numbers by @jhump in https://github.com/protocolbuffers/protobuf/pull/10555 * Add "public" modifier to Kotlin generated code by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10599 * Add clang-format for some things are well formatted already. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10600 * Auto-generate CMake file lists in GitHub action by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10592 * Run CMake file auto-generation only on the main protobuf repo by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10611 * Make slight change to ordering in src/file_lists.cmake by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10612 * Fix broken examples build by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10614 * [ObjC] Provide a protocol for GPBExtensionRegistry's lookup support. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10597 * Adding full build to 32 bit tests by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10589 * Improve CMake installation tests by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10615 * Keep the class forward declaration also. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10620 * Add reserved extension number for Pigweed by @tpudlik in https://github.com/protocolbuffers/protobuf/pull/10621 * [ObjC] Use a real import for GPBExtensionRegistry. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10622 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10623 * Correct the link to example WORKSPACE file by @shaod2 in https://github.com/protocolbuffers/protobuf/pull/10629 * protoc: validate reserved names are identifiers by @jhump in https://github.com/protocolbuffers/protobuf/pull/10586 * protoc: validate custom json_name configuration by @jhump in https://github.com/protocolbuffers/protobuf/pull/10581 * Unbreak Windows tests by @mcy in https://github.com/protocolbuffers/protobuf/pull/10635 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10636 * [ObjC] Some prep work and then run clang-format over the ObjC runtime sources and tests by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10626 * Remove the pre Xcode 10.2 support. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10650 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10653 * Add an objc_class_prefix for the proto2 syntax file used in conformance tests by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10649 * [ObjC] Move from `#pragma unused()` to `_unused` by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10651 * [ObjC] Raise the min OS versions (and required Xcode) by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10652 * Revert "Merge pull request #10470 from jhump/jh/source-code-info-pseudo options" by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10658 * Remove NMake support by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10656 * Revert "Merge pull request #10581 from jhump/jh/custom-json-name-validation" by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10657 * Open up visibility for some compiler internals by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10608 * Add missing `public` modifier to Kotlin generated code by @STAR-ZERO in https://github.com/protocolbuffers/protobuf/pull/10616 * Remove deprecated protoc-artifacts directory by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10628 * No longer define no_threadlocal on OpenBSD by @brad0 in https://github.com/protocolbuffers/protobuf/pull/10610 * Fix MSVC C4244 narrowing conversion warning on 64-bit Windows. by @themoox in https://github.com/protocolbuffers/protobuf/pull/10647 * gracefully handle weird placement of linebreaks around comments by @jhump in https://github.com/protocolbuffers/protobuf/pull/10660 * Correct the link name for BUILD.bazel file by @danghai in https://github.com/protocolbuffers/protobuf/pull/10662 * Auto capitalize enums name in Ruby by @tisonkun in https://github.com/protocolbuffers/protobuf/pull/10454 * Refactoring Java parsing (22.x) by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10664 * Clean up TextFormat parser by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10672 * doc: Add documentation for CMake `protobuf_generate` by @Tradias in https://github.com/protocolbuffers/protobuf/pull/10590 * Add a staleness test for src/file_lists.cmake by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10684 * Add a Kokoro release job for running staleness tests by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10687 * fix serialization warnings in generated code when compiling with Java 18 and above by @xvrl in https://github.com/protocolbuffers/protobuf/pull/10561 * Merge release branch 21.x into main by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/10688 * Added staleness test to keep ruby-upb.{c,h} amalgamation files in sync with upb repo by @haberman in https://github.com/protocolbuffers/protobuf/pull/10496 * Fixed spelling error and removed patch from upb. by @haberman in https://github.com/protocolbuffers/protobuf/pull/10693 * Add an objc_class_prefix to conformance.proto by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10702 * Added staleness test to keep PHP copy of upb in sync with the upb repo by @haberman in https://github.com/protocolbuffers/protobuf/pull/10694 * [PHP] Fix empty message serialization for Any by @zajca in https://github.com/protocolbuffers/protobuf/pull/10595 * [PHP] allow dynamic properties in Message by @brettmc in https://github.com/protocolbuffers/protobuf/pull/10594 * Update build-protoc.sh by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10703 * Pin Bazel to 5.1.0 for Windows builds by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10707 * [ObjC] Clean up compiler/objectivec/names.h by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10714 * Add the new compiler/objectivec:line_consumer target. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10720 * Add numpy_test.py and numpy dep to python opensource by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/10722 * Add upb to test_messages_proto2_proto/test_messages_proto3_proto visibility by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/10724 * Auto capitalize enums name in Ruby (#10454) by @tisonkun in https://github.com/protocolbuffers/protobuf/pull/10708 * [PHP]Added missing files and fix phpext_protobuf_ptr export in pecl version by @Cotch22 in https://github.com/protocolbuffers/protobuf/pull/10689 * Add sanitized builds to Kokoro by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10706 * Upgrade kokoro to Xcode 14 by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10726 * [ObjC] Fix up clang-format directives in generate files. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10725 * [ObjC] Bring back some helpers that other plugin authors might need. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10728 * Complete getting all the ObjC related code through clang-format by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10730 * Upgrade to Kotlin 1.6 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10736 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10729 * Make jsoncpp a formal dependency by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10739 * Downgrade jsoncpp for CMake usage by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10751 * Cleanup issues with internal sync by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10752 * protoc: accept capital X to indicate hex escape in string literals by @jhump in https://github.com/protocolbuffers/protobuf/pull/10757 * Adding c++14 flag to msvc builds by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10754 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10760 * [ObjC] Use os_unfair_lock instead of dispatch_semaphore_t. by @thomasvl in https://github.com/protocolbuffers/protobuf/pull/10738 * Declare a dependency on utf8_range repo by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10758 * Mark default instance as immutable first to avoid race during static initialization of default instances. by @googleberg in https://github.com/protocolbuffers/protobuf/pull/10770 * Edit toolchain to work with absl dep by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10766 * Fix bazel builds by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10777 * Bump upb version by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10779 * Do not force C++14 by @mumbleskates in https://github.com/protocolbuffers/protobuf/pull/10773 * Add remote caching to bazel builds by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10767 * C# release fixes by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10784 * Merge 21.8 into main by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10788 * Add serialVersionUID to ByteString and subclasses by @stickfigure in https://github.com/protocolbuffers/protobuf/pull/10718 * Update zlib to 1.2.13. by @benjaminp in https://github.com/protocolbuffers/protobuf/pull/10786 * Fix C# Builds by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10795 * Target macOS 10.9 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10802 * Integrate from Piper for C++, Java, Python, Objective-C, C#, and Ruby by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10797 * Reserve extension id 1156 for perfetto by @altimin in https://github.com/protocolbuffers/protobuf/pull/10808 * Rename C# files to indicate generated code by @jskeet in https://github.com/protocolbuffers/protobuf/pull/10801 * Replace libc strdup usage with internal impl to restore musl compat. by @perezd in https://github.com/protocolbuffers/protobuf/pull/10811 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10817 * Clean up the dotnet test output by @jskeet in https://github.com/protocolbuffers/protobuf/pull/10821 * Integrate from Piper for C++, Java, and Python by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/10827 * Merge 21.x into main by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10829 * Add bazel php:release target for PECL tgz using generated package.xml by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/10830 * Add a staleness test for the well-known types by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10901 * Update cc_dist_library() to include transitive sources by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10816 * Update CMake file generation to avoid including Bazel-specific WKT paths by @acozzette in https://github.com/protocolbuffers/protobuf/pull/10910 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/10941 * Create CODEOWNERS by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/10850 * Standardise Link-Format by @signalwerk in https://github.com/protocolbuffers/protobuf/pull/11045 * Update third_party.md by @yksten in https://github.com/protocolbuffers/protobuf/pull/11039 * Pre-emptively suppress target framework EOL warnings by @jskeet in https://github.com/protocolbuffers/protobuf/pull/11077 * Fix PHP homebrew installation failures by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11090 * Main 202212021626 by @jorgbrown in https://github.com/protocolbuffers/protobuf/pull/11138 * Main 202212081032 by @ericsalo in https://github.com/protocolbuffers/protobuf/pull/11210 * Updating version.json and repo version numbers to: 21.12 by @fowles in https://github.com/protocolbuffers/protobuf/pull/11281 * fix kokoro git config by @esorot in https://github.com/protocolbuffers/protobuf/pull/11286 * Point python setup to zlib after mac update by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/11315 * GitHub Workflows security hardening by @sashashura in https://github.com/protocolbuffers/protobuf/pull/10843 * Update version.json to: 21.13-dev by @fowles in https://github.com/protocolbuffers/protobuf/pull/11337 * Main 202212161220 by @fowles in https://github.com/protocolbuffers/protobuf/pull/11340 * Migrate utf8_range dependency to a git subtree by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/11608 * internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/11607 * Upgrade to Abseil LTS 20230117 by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/11622 * Bump to Abseil LTS 20230124 RC2 by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/11646 * Bump to Abseil 20230125.rc3 for cmake builds by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/11663 * Cherrypick Bazel 4 test fix by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/11728 * Downgrade ruby major version by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11737 * Cherrypick: Fix update php repo GHA. by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11741 * Update UPB dep by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11782 * 22.x 202302022046 by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/11783 * Cherrypick bug fixes to update PHP repo GHA. by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11797 * Fix the macro PROTOBUF_LITTLE_ENDIAN cannot be set correctly on the l… by @fowles in https://github.com/protocolbuffers/protobuf/pull/11806 * Merge main to 22.x by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/11895 * Update protobuf's upb dep to latest upb protobuf dep update commit by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/11907 * 22.x 202302102000 by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/11916 * Delete codeowners file in release branch by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11909 * Backport GHA fixes and optimizations to 22.x by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/11944 * Document known quirks of EnumDescriptor::is_closed() when importing a… by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/11946 * Update UPB dep for 22.0 release by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11970 * 22.x 202302161804 by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/11974 * Merge 22.x back to main after 22.0 release by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11975 * Backport GHA improvements to 22.x by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/11979 * Strip "src" from file name of plugin.proto by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11991 * Add plugin.proto to the list of well known files for python by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/11992 * Fix pom_template dependencies by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12009 * Allow empty commits for update_php_repo by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/12008 * Add OSGi headers to pom files. by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12030 * Ensure VarintParseSlowArm{32,64} are exported with PROTOBUF_EXPORT by @acozzette in https://github.com/protocolbuffers/protobuf/pull/12043 * Java fixes for 22.x by @googleberg in https://github.com/protocolbuffers/protobuf/pull/12035 * Add java8 tests and build flags by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12053 * Add java8 tests and build flags by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12055 * Remove errorprone dependency from kotlin protos. by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12085 * Cherrypick changes in preparation for 22.1 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12096 * Cherrypick fixes in preparation for 22.1 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12097 * Unconditionally generate unknown field accessors. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/12100 * Update UPB dep in preparation for 22.1 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12099 * Cherrypick osx static linking fix by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12109 * Fix toolchain resolution for osx x86_64 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12113 * Add release tests for statically linked binaries by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12152 * Condition executable name on build system by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12165 * Update version numbers for 22.1 release by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12168 * Fix pom file errors caused by the extra "$" by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12177 * Add $ back for osgi header by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12189 * Add version to intra proto dependencies and add kotlin stdlib dependency by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12194 * 22.x 202303101751 by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/12199 * Merge 22.x back to main by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/12200 * Remove erroneous dependencies @com_google_googletest//:gtest and @com… by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/12276 * Only include utf8_range if it hasn't been included already by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/12301 * Add codespell exceptions by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12303 * Suppress -Wunused-parameter warning for GCC and clang. by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12355 * Remove ODR violation from WKT codegen (#12406) by @haberman in https://github.com/protocolbuffers/protobuf/pull/12419 * Fix .gitmodules to use the correct absl branch by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12453 * Update UPB dep for 22.3 release by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12457 * Update version numbers for 22.3 release by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12459 * Ensure the ObjC runtime builds for Apple Silicon. by @fowles in https://github.com/protocolbuffers/protobuf/pull/12487 * Update version.json to 23-dev by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/12496 * Merge 22.x to main by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/12494 * Bump utf8_range to version with working pkg-config by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/12583 * Cherrypick fixes for 23.0-rc2 into 23.x by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12593 * Fixes Clang 6 linker bug by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/12600 * Add -ex switch to all docker bash commands. by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/12601 * Update UPB Dependency by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12607 * Update version numbers for 23.0-rc2 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12608 * fix(libprotoc): export useful symbols from .so by @coryan in https://github.com/protocolbuffers/protobuf/pull/12619 * fix(libprotoc): export useful symbols from .so by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12623 * Cherrypick fixes for 23.0-rc3 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12632 * Turn off `clang::musttail` on i386 by @acozzette in https://github.com/protocolbuffers/protobuf/pull/12635 * Update abseil dependency and reorder dependencies to ensure we use th… by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12638 * Update UPB dep for 23.0-rc3 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12647 * Automated rollback of commit a2c5ea614cd5330de4b56a9937377f65309a31f8. by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12652 * Bump Abseil submodule to 20230125.3 by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/12660 * Cherrypick cmake fixes to 23.x by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/12667 * Update UPB dep by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12659 * Update version numbers for 23.0-rc3 by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12680 * Backport increased C++ test coverage + fixes by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/12695 * Cherry pick various portability fixes from mainline by @fowles in https://github.com/protocolbuffers/protobuf/pull/12702 * Update version numbers for 23.0 release by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12717 * Merge to main after 23.0 release by @deannagarcia in https://github.com/protocolbuffers/protobuf/pull/12721 * chore(deps): update utf8_range by @coryan in https://github.com/protocolbuffers/protobuf/pull/12918 * Updating version.json to: 25-dev by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/13277 * Explicitly delete the destructor for the internal `Rep` structure. by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/13288 * Put a 4k limit on preallocation to prevent OOM from malformed inputs. by @googleberg in https://github.com/protocolbuffers/protobuf/pull/13309 * Backport java linkage monitor fix by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/13312 * Backport editions plugin improvements by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/13316 * Add JRuby 9.4 tests and require Ruby version >=2.7 by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/13334 * Update protobuf's upb dep to latest 24.x commit. by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/13345 * 24.x 202307182032 by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/13351 * In OSS mode omit some extern template specializations. We have seen r… by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/13369 * Automated rollback of commit adb2c4b415c35cda3e4394384ec579ea8dd8ec92. by @seongkim75 in https://github.com/protocolbuffers/protobuf/pull/13323 * Backport dropped support of Bazel 5 to 24.x by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/13417 * Backport dropped support of Bazel 5 to 24.x by @mkruskal-google in https://github.com/protocolbuffers/protobuf/pull/13418 * Update protobuf repo's upb dependency to latest 24.x commit by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/13421 * 24.x 202308011841 by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/13430 * Replace `NonNull<u8>` for raw messages with a dedicated opaque pointer by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/13422 * 24.x 202308082113 by @ericsalo in https://github.com/protocolbuffers/protobuf/pull/13476 * Main 202308091812 by @ericsalo in https://github.com/protocolbuffers/protobuf/pull/13489 * Update absl submodule and dep to latest 20230802.0 LTS by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/13515 * Merge upb into the protobuf repo by @acozzette in https://github.com/protocolbuffers/protobuf/pull/13686 * Fix Git history by @acozzette in https://github.com/protocolbuffers/protobuf/pull/13689 * Copy upb/third_party/lunit to third_party/lunit and add BUILD.bazel by @acozzette in https://github.com/protocolbuffers/protobuf/pull/14057 * Copy upb/third_party/lunit to third_party/lunit and add BUILD.bazel by @acozzette in https://github.com/protocolbuffers/protobuf/pull/14062 * Optimize RepeatedPtrField to use copy constructors where possible by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14198 * Expand lunit visibility to enable moving lua directory by @acozzette in https://github.com/protocolbuffers/protobuf/pull/14199 * Fix cache cleaning workflow by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14315 * Enable editions support for rust by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14307 * Clean up assertions in `DurationsTest` and `TimestampsTest` a bit. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14336 * Prohibit setting LEGACY_REQUIRED by default at the file level by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14344 * upb: s/NULL/nullptr in C++ unit tests by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14342 * Remove synthetic oneofs from Java gencode field accessor tables. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14339 * Implement proto2/proto3 with editions by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14300 * Upgrade setup-dotnet action to hopefully improve network flakes. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14362 * Move {child_parent_test, reserved_test, serialization_test} to googletest-rust by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14351 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14348 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14353 * Remove override for MapEntry::GetTypeName. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14338 * Assert equality between InternalGetArena() and InternalGetOwningArena(). by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14365 * Use GetArena() instead of GetOwningArena() #1 by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14381 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14393 * Update stale checked-in files by @acozzette in https://github.com/protocolbuffers/protobuf/pull/14431 * Cherry-pick: Set `PROTOBUF_EXPORT` on `InternalOutOfLineDeleteMessageLite()` by @acozzette in https://github.com/protocolbuffers/protobuf/pull/14434 * Bump minimum PHP to 8.0 by @fowles in https://github.com/protocolbuffers/protobuf/pull/14444 * Update version numbers for 25.0-rc2 by @acozzette in https://github.com/protocolbuffers/protobuf/pull/14460 * Check that ffi-compiler loads before using it to define tasks. (#14538) by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/14560 * Cherry-pick: Include .inc files directly instead of through a filegroup by @acozzette in https://github.com/protocolbuffers/protobuf/pull/14575 * Fixed Python memory leak in map lookup. by @haberman in https://github.com/protocolbuffers/protobuf/pull/14583 * 25.x 202311012212 by @haberman in https://github.com/protocolbuffers/protobuf/pull/14596 * merge 25.x to main by @anandolee in https://github.com/protocolbuffers/protobuf/pull/14617 * Update utf8_range subtree by @acozzette in https://github.com/protocolbuffers/protobuf/pull/14679 * Adds "Prototiller Requirements for Editions" to the GitHub code repository. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14857 * Support the profile proto analyzer to analyze some statistics of a profile. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14858 * upb: lock down upb_MiniTableExtension by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14836 * Cleanup "mergeable" types. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14868 * Fix typo in comment. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14962 * upb: clean up and lock down the internal oneof accessors by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14940 * upb: inline upb_Message_New() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14943 * Automated rollback of commit 3c75c331d392f9699959bcd57875d79ecaca4785. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14976 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14973 * upb: implement upb_MiniTable_MapKey() and upb_MiniTable_MapValue() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14942 * Remove unused headers. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14966 * Fix DurationToMilliseconds mult overflow by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14954 * Cleanup mutable thunk usage in singular_message by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14922 * Add benchmark for 32 bit repeated fields. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14991 * Move repeated tests into their own file by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14974 * Internal changes by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14955 * Implement Maps for strings by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14869 * Extend the weak descriptor message feature to include extensions. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14999 * Add coverage for default_string and default_bytes in test_default_accessors by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14975 * Fix some of the reflection based algorithms to handle Map entries properly. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14934 * Remove dead code. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14998 * Breaking change: Remove deprecated syntax APIs by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14993 * Add a trivial 2023 edition test case for Rust. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15003 * Remove descriptor_legacy usage from C++ runtime by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14969 * Remove descriptor_legacy usage from compiler code by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14970 * Improve codegen for address pinning. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14986 * upb: delete upb::SymbolTable typedef by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14984 * [ObjC] Improve handing of the WKT ObjC Category additions. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14987 * Add some missing includes by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15018 * Make LazyField::ByteSizeLong consistent with eager message. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15019 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15012 * Remove iteration and item mutators from Repeated by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15007 * Remove PrimitiveMut::clear by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15008 * Fixed UTF-8 TextFormat output to protect against invalid UTF-8 in string fields. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14990 * Breaking change: Remove C++ legacy syntax descriptor APIs by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15020 * Breaking change: Promote ExtensionRange to a proper class by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14996 * Add submessage support for string_mut by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15009 * Breaking change in 26 release: Remove msg.UnknownFields() support in pure python and cpp extension. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15024 * [Python/upb] Fixed SEGV when attempting to delete a message attribute by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15037 * upb: reverse the polarity of the MiniTableField untyped data accessors by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15045 * upb: tag _upb_Message_AddUnknown() as UPB_PRIVATE() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/14989 * Internal Code Change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15049 * Bump rules_cc to 0.0.9 for Bazel 7 support by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15052 * upb: tighten up the upb_Arena code by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15011 * upb: implement upb_Message_FindExtensionByNumber() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15047 * Minor cleanups to conform to clang-tidy, etc. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15064 * Avoid copies in proto map reflection. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15051 * Remove separate setters for singular scalars by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15070 * Add submsg support for bytes_mut by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15063 * Move the descriptor message part of ClassData into a subclass and keep a bool by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15061 * Add minimization for enum_type. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15074 * Move the info about perfect derive to shared.rs by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15079 * Use short name for view primitive in the oneof enums (i32 instead of View<'msg, i32>) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15075 * Slightly relax JSON integer parsing tests to handle a wider range of runtime behaviors around by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15081 * Breaking change: Remove deprecated std::string error collector overrides by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15060 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15068 * Replace the fake ParseMessage/ParseGroup function calls in with ones that accept a lambda. It allows the callers to drop the mock "message" types that only exist to have an _InternalParse function in them. It also gives more freedom to the caller to do things like force inlining when it matters. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15056 * RepeatedPtrField clears elements lazily. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15091 * Make the utf8_range implementation just in C by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15090 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15065 * Allow legacy_closed_enum feature on enum map fields. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15086 * refactor: collapse submsg accessors for bytes and strings by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15082 * Automated rollback of commit 1db8ed47c29fa04b51df373ce5bbb7e7f95cbd56. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15094 * Simplify the type bounds on PrimitiveMut via type erasure by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15095 * Add RepeatedMut::clear, free for owned Repeated by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15080 * Improve thread safety docs/bounds for PrimitiveMut by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15096 * Add Bazel 7 test points. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15078 * Swap order of masks when assigning bytes to byte[] elements. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15088 * Pin bundler version to 2.4.22 for Ruby 2.7 support. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15109 * upb: stop generating hazzers for repeated fields by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15035 * Implement ExactSizeIterator and FusedIterator for repeated fields. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15071 * Allow friendly use of Reflection::MutableRaw(), Reflection::MutableRawNonOneof(). by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15101 * Automated rollback of commit 481c4fede513a606f3cb061cc0ad0a839f21f781. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15120 * Remove unnecessary duplicative +Sized by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15129 * Expose primitive internals just enough for enums by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15118 * Expose repeated _unchecked accessors, interior accessor by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15119 * Remove uses of `incompatible_use_toolchain_transition`. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15131 * Migrate all remaining instances of assert_eq! to googletest-rust sans strings by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15097 * Decouple Context from the Descriptor by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15107 * upb: tag upb_Array.size as UPB_ONLYBITS() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15108 * lzcnt enabled varint size calculation for proto by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15139 * upb: upb_Message_Extension -> upb_Extension by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15104 * upb: tag upb_MiniTableField:offset as UPB_ONLYBITS() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15121 * upb: simplify upb_Map_Insert() down to upb_Map_Set() where possible by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15124 * Add allow dead_code to the oneof case enum. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15141 * Remove uses of `incompatible_use_toolchain_transition`. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15145 * Allow NewStringElement inlining. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15130 * [C#] Fix trimming warning in JSON formatter enum handling (#14789) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15106 * BREAKING CHANGE in v26: check if Timestamp is valid. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15154 * Update lite_unittest to pad varints before calling `internal::VarintParse()` by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15151 * upb: add 'static' to several Python map functions by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15125 * upb: eliminate :mini_table_internal by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15155 * #cleanup Drop MapWithKeyOps::Value type in favor of Proxied::View. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15158 * Change Thunks that take by ref to take by pointer. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15136 * Remove dead code. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15143 * Implement SettableValue[u8] for SerializedData by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15148 * Do not define a `const` static variable as `constexpr`. While this is legal it by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15144 * Implement v0.6 enum definitions by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15117 * Breaking change: remove support for PHP generic services by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15164 * Clarify error language for prefix-conflicting enum values by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15166 * Automated rollback of commit 1250d5f6cccb0a45f959c7219980a0aad5060ee5. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15169 * Small improvements: by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15162 * upb: stop returning void from void functions by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15168 * upb: add more functions to bits/mini_table_field.h by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15142 * Optimized binary/JSON parsing to no longer copy input data into a temp buffer. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15165 * upb: add a non-void typedef for upb_Message by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15134 * Fixed breaking ARM tests by properly aligning default options. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15176 * TextFormat should always escape ASCII 127 (DEL). by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15173 * Bump major versions in version.json for C++, Java, Python, PHP, and Ruby in preparation for v26.x release in January. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15189 * upb: tighten up and lock down upb/wire/ by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15179 * In Ruby repeated fields, each_index actually iterates over the index (#11767) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15190 * upb: the triumphant return of upb/mem:internal by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15191 * upb: add :test_srcs targets for cmake on GH by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15186 * upb: make all mini_table/ includes unidirectional by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15192 * Added `explicit` to a single-arg constructor to fix a ClangTidy warning. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15196 * upb: restore the mini_table:internal target by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15195 * Update Ruby GHA to test against Ruby 3.3. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15198 * upb: start consolidating the upb/message/ build targets by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15185 * Enable Rust conformance test on proto3 message. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15211 * Fix warning from missing (void) on a 0-arg function. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15209 * Disable MacOS C++ Cmake test for now. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15217 * Fixed compiler warnings in the Ruby C extension. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15216 * BREAKING CHANGE in v26: check if Timestamp is valid. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15220 * Update Ruby GHA to test against Ruby 3.3 in Linux / MacOS / Install and FFI combinations. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15218 * upb: clean up some of the includes in upb/message/ by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15219 * Hook up the edition2023 cases to Rust conformance test. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15215 * Removed the unused "JSPB (internal)" from conformance the conformance test suite. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15208 * Internal Code Change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15224 * upb: delete the aliases for base:internal and mini_descriptor:internal by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15226 * Fix textfmt typo: vaid -> valid by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15214 * Fix some non-breaking issues with rust gencode. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15225 * Added JSON parsing/serialization to benchmark by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15228 * Rename Thunk to ThunkName by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15213 * Automated rollback of commit 0bcc8ef9f25273f94a7ce2284b0050dbb4674eda. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15231 * Fix layering check for usage of gtest by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15229 * Fixed non-conformance in upb JSON enum decoding when ignoring unknown enum values. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15230 * upb: make :wire internal headers private by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15233 * Optimize AddAllocatedForParse function. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15223 * upb: clean up and consolidate the upb/message/ build targets by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15222 * upb: factor out message internal data pointers by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15240 * upb: delete the aliases for upb:hash and upb:lex and upb:reflection_internal by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15244 * upb: lock down the internal headers for upb:wire_reader by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15239 * upb: implement _upb_Message_ClearOneofCase() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15181 * Make Rust Conformance skip non-wire output test cases by using an overlay proto. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15246 * impl SettableValue for MsgView by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15204 * Include JSON output tests with Proto2 messages in the conformance test suite. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15248 * upb: fix Ruby bug which allowed map.delete(key) on a frozen map by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15250 * Fix begin iterator for empty arrays. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15252 * Internal Code Change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15258 * Fix typo in cache-clearing workflow by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15257 * Add inner verification code to detect accessors missing required annotations. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15247 * 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). by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15147 * Add manual epilogue for vectorized loop, and use the SIMD loop for 64 bit ints when AVX2 is available. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15263 * internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15266 * Breaking change: make protobuf comply with the C++ layering check by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15212 * upb: move libupb.so from third_party/upb/ to third_party/dart/pb_runtime/ by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15237 * Avoid dereferencing in `operator->`. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15268 * IWYU and format fix. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15267 * [Ruby] Fixed various weirdness with Message#to_h by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15234 * Fix lowerCamelCase to UpperCamelCase (per Cpp style guide) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15273 * Breaking Change: freeze is now recursive, affecting all sub-messages, maps, and repeated fields. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15278 * Skip or adjust tests to work with PROTOBUF_FORCE_SPLIT. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15276 * BREAKING CHANGE in v26: Remove Deprecated APIs that add non top descriptor. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15271 * BREAKING CHANGE in v26: Reject extend repeated field with none iterable (Raise TypeError) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15269 * Automated Code Change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15284 * Automated Code Change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15285 * Automated Code Change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15283 * BREAKING CHANGE in v26: Remove RegisterExtension in message class by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15270 * Extend Proto2 JSON test cases to cover more of the preexisting Proto3 JSON cases. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15274 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15303 * Remove edition getter from python descriptor APIs by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15301 * Add "extend repeated with nothing" tests back for upb python by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15304 * Update comment of "lazy" field option to reflect eager verification. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15292 * Breaking Change: fixed json_encode/json_decode to use the message's pool. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15291 * Add to Proto2 JSON conformance test failure lists for C#, JRuby and PHP C by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15306 * Add self pinning on all message accessors for weak descriptor messages. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15272 * Fix nested enum generation when enums are the sole nested types by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15308 * Change the ids used the unset field tracking to be Message+FieldDescriptor. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15264 * IWYU cleanup. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15311 * Automated Code Change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15275 * Use raw string for Emit by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15312 * Remove unused PROTOBUF_FORCE_RESET_IN_CLEAR by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15317 * Annotate some Kotlin generated protobuf code. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15261 * upb: fix some more compiler warnings in Ruby about missing return values by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15262 * upb: add 'static' to some mini_descriptor decoder functions by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15255 * #refactor Simplify maps through the new ProxiedInMapValue<K> trait by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15333 * upb: distinguish between fields and extensions in the public clear() accessors by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15305 * upb: remove duplicate typedef for upb_TaggedMessagePtr by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15316 * Add SPLIT test coverage to :analyze_profile_proto_test and disable force_split. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15339 * Add enum qualified path naming fns by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15322 * Expand PrimitiveRsTypeName to work with non-primitives, rename, refactor by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15323 * Move enum value name calculation by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15325 * Support enums in DefaultValue by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15326 * Breaking Change: Removed `syntax` and added `has_presence`/`is_packed`. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15314 * Implement singular enum accessors by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15320 * Implement repeated enum accessors by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15342 * Change MsgMut's _mut() accessors to use (&mut self) instead of (&self) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15355 * upb: tag upb_Array.data as UPB_ONLYBITS() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15351 * Allow friendly use of Reflection::MutableRaw(), Reflection::MutableRawNonOneof(). by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15345 * Print usage count if it's rarely used. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15361 * Adds mutable extension accessors to the codegen for upb C and adds a `::protos::MutableExtension` method to upb C++ for getting a mutable extension. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15338 * Breaking change: disallow incorrect ctype usage by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15365 * Make upb::Status final by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15366 * upb: normalize some more function names by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15376 * upb: disable the Fast Table CI tests on GH by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15372 * Automated rollback of commit 0ce457f6e7c15e2574d69ba445ea6cae7e6e44e8. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15371 * Protobuf Java cross-domain Poison Pills. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15259 * Add kUpb_DecodeOption_AlwaysValidateUtf8 decode option, to force UTF-8 validation of proto2 strings. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15378 * Breaking change: remove const GetArena method on RepeatedPtrField by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15364 * Update to call descriptor outer class's getDescriptor() method instead of accessing internal descriptor variable directly. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15373 * Remove public access to Java Edition APIs e.g. getEdition(), getEditionName(). by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15380 * Remove deadcode GenerateDescriptorInitializationCodeForMutable from Java code generator. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15374 * Mint Edition 2024. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15383 * Add proto2::VisitFields() API. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15381 * Fix typos in printer.h by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15382 * #rust #unsafe Fix unsound cast of RepeatedMut to RepeatedView by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15349 * Improve user friendliness of oneof mutator types by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15388 * Pass crate mapping from Bazel to protoc by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15347 * cleanup: reduce warnings on MSVC builds by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15397 * Fix missing ! making it so untyped_message would trigger a invalid Utf8 error IFF the string was _valid_ UTF8. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15399 * Add `upb_Array_GetMutable` accessor by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15386 * singular_message: rename prefix to msg_type for clarity by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15401 * Edit comment in empty_repeated suggesting it's a thread-local value by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15390 * Skip generating oneof message fields referencing other crates by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15389 * Disable linkage-monitor test in anticipation of a breaking (major version) java release: 4.26 by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15408 * upb: finish locking down the upb_Array internals by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15379 * Temporarily turn off extension support for weak descriptor messages. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15403 * upb: implement upb_Message by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15307 * upb: fix gencode bug with Map<*, bytes> by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15410 * Remove edition getter from C++ descriptor APIs by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15415 * Breaking Change: Validate UTF-8 in string setters, [as previously announced](https://protobuf.dev/news/2023-12-27/#php-breaking-changes). by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15412 * Minor cleanup: IWYU, etc. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15417 * Breaking Change: remove unnecessary overloads of methods: by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15414 * Split off file from //src/google/protobuf/testing by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15395 * #rust #protobuf Refactor maps to make ProxiedInMapValue independent of the runtime by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15375 * Remove LegacyDescriptorsUtil.java and JRuby's use of legacy descriptor APIs by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15385 * Breaking Change: Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15409 * Read crate mapping in protoc by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15370 * Breaking Change: Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15426 * Internal changes. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15348 * Internal versioning changes by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15310 * Make `str(msg)` in Python print raw UTF-8 strings. Only invalid UTF-8 is escaped. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15405 * upb: delete upb:upb, upb:collections, upb/upb.hpp, upb/collections/ by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15427 * Return RepeatedMut<c_int> for cpp cast_enum_repeated_mut by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15391 * Internal Protobuf changes by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15353 * Add `Msg::as_{view,mut}()` by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15429 * Internal versioning changes. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15433 * upb: move upb_Message definition back into upb/message/ by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15432 * Make rust_crate_mapping flag optional by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15449 * Remove redundant [[noinline]]. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15444 * Reuse Message's accessor definitions on Msg+MsgMut+MsgView by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15431 * Avoid integer-to-pointer cast in protobuf SerialArena by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15453 * #rust #protobuf Implement bytes as map values by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15419 * Update the r# prefixing logic: by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15454 * Also emit the oneof accessors into $Msg$Mut and $Msg$View by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15460 * Add rust bindings for `upb_Array_GetMutable` by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15423 * Shorten our license headers into an abbreviated form that references LICENSE instead of including it in full. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15463 * Reserve and extension number in proto2.FeatureSet for Go by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15461 * Implement ProxiedInRepeated for Messages by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15424 * Move repeated_scalar.cc to repeated_field.cc by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15435 * Add Repeated<Message> accessors by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15434 * Fix indentation of a macro in simple_nested_test.rs by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15467 * Implement IntoIterator for &Repeated{View,Mut} by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15466 * Initialize scaffolding for ProxiedWithPresence for Messages by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15464 * upb: add upb_MiniTableExtension_CType() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15472 * Use `self` for all methods on views, return `'msg` by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15470 * Rename 'a to 'msg in message gencode by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15469 * Remove Deref from MapMut by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15476 * Simplify format variables in singular_string by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15477 * Allocate an editions FeatureSet extension for https://github.com/bufbuild/protobuf-es by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15439 * Add missing Protobuf Java version checks for enums and missing version info when separate Java files are generated. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15446 * Use char indexOf rather than String, which can have a fast path implementation by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15483 * Change the way pinning and weak references are done in the Weak Descriptor by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15462 * Wrap C++ headers in `#ifdef __cplusplus`. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15478 * Don't emit redundant enum name gencode when has_reflection is false. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15487 * Make sure the pb_defaults section is never empty instead of using __attribute__((weak)). Not all platforms support having a never defined weak symbol. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15493 * Raise minimum PHP version to 8.1, due to PHP 8.0 EOL per https://cloud.google.com/php/getting-started/supported-php-versions by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15475 * Update JSON parser to reject overlong UTF-8 encodings by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15465 * Use `self` accessors for accessing maps in views by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15497 * Add support for repeated strings/bytes by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15502 * Stop codegenning module for .proto package by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15506 * Bump python version to 3.9 for gcloud 460.0.0 by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15514 * Correct raw identifier terminology in rust_keywords by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15515 * Proper fix utf8 command line arguments (#14253) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15519 * Breaking Change: Stop generating the "newInstance" method. This is not used anymore. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15522 * Depend directly on cc_proto_aspect in rust_cc_proto_library by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15508 * Correct type_resolver_util to set syntax=proto3 instead of syntax=proto2 on proto3 files. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15400 * Breaking Change: Use Editions features in Java full runtimes. by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/15210 * Checks that only lite or full binding could exist in a process. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15513 * Mark descriptor features as volatile to avoid data races in double-checked locking by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15527 * Add private constructor for JavaEditionDefaults template by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15528 * Update to latest absl release 20240116.0 by @zhangskz in https://github.com/protocolbuffers/protobuf/pull/15468 * Turn on version checks for Java Lite enum in OSS. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15532 * Breaking Change: Remove unused helper methods for creating new mutable arraylists. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15526 * Refactored a few protos:: methods to no longer access `upb_Extension` directly. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15533 * Internal changes. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15534 * internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15496 * upb: tag _upb_Message_Getext() as UPB_PRIVATE() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15492 * upb: tag _upb_Message_GetOrCreateExtension() as UPB_PRIVATE() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15500 * upb: upb_MiniTable_GetOrPromoteExtension() no longer returns a (upb_Extension*) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15523 * Strip nonfunctional codegen diff from line number in Javadoc for deprecated fields, which may be shifted due to added features post-Editions transform by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15546 * Strip leading spaces from Java codegen doc comments. This is better for consistency, and prevents nonfunctional codegen diffs for editions transforms post-proto formatting. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15548 * Rename IsOptional to IsExplicitPresence and make the types.proto impl match the preexisting descriptor.h impl in returning true for proto3 messages which are not explicitly marked 'optional'. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15545 * upb: upb_Message_ExtensionByIndex() no longer returns a (upb_Extension*) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15512 * upb: remove the last remaining direct upb-internal deps from upb/protos/ by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15538 * Add TODO related to runtime dependency on Rake by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15555 * Fixed a SEGV when deep copying a non-reified sub-message. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15556 * Breaking Change: Made text_format output default to UTF-8. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15539 * upb: fix the map encoder to stop dying under ubsan by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15558 * Fixed a bug in cl/600990001 -- we need to propagate the as_utf8 parameter that was passed. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15565 * Also apply r# prefix to crates whose names are reserved keywords by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15550 * Rollback version validations in Protobuf Java Lite. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15551 * Fixed a bug when deep copying a map field with a closed enum value. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15570 * Update minimum macOS to 10.15. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15574 * Move MessageVTable to $pbr$ from $pbi$ by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15571 * Minor cleanup: IWYU, style guide, etc. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15494 * upb: remove reflection:internal as a dep in upb_generator/ by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15580 * Automated rollback of commit f7dbd3841f859fcb498e522323aa07b8753b0d45. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15582 * upb: remove base:internal as a dep in upb/benchmarks/ by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15581 * Fix bug number in a TODO by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15560 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15501 * #protobuf #rust Generate fields with imported types by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15450 * Support map field by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15529 * upb: upb_Message_FindExtensionByNumber() no longer returns a (upb_Extension*) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15540 * Deduplicate vtables for mutators by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15516 * Remove the space before a comma in singular_string by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15517 * upb: add 'static' to UPB_FORCEINLINE() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15592 * Update internalUpdateFileDescriptor() to synchronize setProto() and resolveAllFeatures() to avoid data races. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15598 * Improve error message in the crate mapping code. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15588 * Internal changes by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15584 * Small fixes for accessing upb from Kotlin/Native. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15578 * Minor cleanup: IWYU, etc. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15594 * [ObjC] Use a local to avoid warnings in 32bit builds. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15609 * Re-enable watchOS cocoapods validations by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15608 * Minor cleanup: IWYU, clang-tidy, etc. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15601 * Small fix for accessing upb from Kotlin/Native. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15612 * Add missing ${$ and $}$ for annotations. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15553 * upb: attempt to reduce the direct use of UPB_PRIVATE() fields by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15616 * Remove unused mut specifiers by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15622 * Remove superfluous unsafe block by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15623 * Extension set uses (relatively) new RepeatedPtrField Message methods. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15564 * Fix generation of HasExtension and ExtensionSize functions to restrict to the by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15630 * [ObjC] Add the privacy manifest to the ObjC CocoaPod. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15631 * Fail building descriptors if `ctype` is used for fields other than string or bytes. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15635 * [CPP] Add the privacy manifest to the C++ CocoaPod. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15637 * Check ctype() in DescriptorBuilder for edition 2023 and beyond. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15639 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15627 * Use consistent thunk prefix between generator and cpp.rs by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15642 * Add a new 'includingDefaultValueWithoutPresenceFields' option to the Java parser which is intended to replace the current 'includingDefaultValueFields'. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15629 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15636 * Implement and use field entries for `_mut` by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15602 * Implement _opt for messages by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15600 * Fix descriptor build bug for cyclic extension references. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15640 * Internal version check changes. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15568 * upb: use upb_MessageValue in upb_Extension by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15614 * Add SettableValue<Msg> for owned Msg. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15645 * When using profiling information and weak descriptors use uniquely named by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15648 * Support proto_library targets that contain '-' by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15657 * Change Any::PackFrom to avoid bringing the full runtime. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15658 * feat: more readable phpdoc escaping (#11208) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15655 * Fail to build descriptor if ctype is specified for non string/bytes fields by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15603 * Fix inconsistent timestamp json encode/decode (#12396) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15668 * Increased the size of the error message buffer by 4x, to 511 bytes. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15649 * Add more test coverage exercising msg_mut and msg_opt by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15669 * Add new including_default_value_without_presence_fields to Python JSON serializer. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15660 * Breaking Change: Removed obsolete/duplicate `setup.py` from Python. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15671 * Automated rollback of commit 2b86c3d9ed696f89156651a6d1a73af878c78aff. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15666 * upb: remove the default arg from upb_Message_GetMessage() by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15611 * Add new 'always_print_without_presence_fields' option to the C++ JSON serializer. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15674 * Avoid unused-parameter warning in field accessor listeners. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15672 * Add a new 'includingDefaultValueWithoutPresenceFields' option to the Java parser which is intended to replace the current 'includingDefaultValueFields'. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15667 * Make map insert return if the value was newly inserted by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15676 * Turn on TDP table generation for messages with weak=true fields. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15681 * Remove tags for arena cleanup nodes now that we have dedicated string cleanup blocks. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15683 * Add "string_type" to CppFeatures. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15653 * Simplify (and optimize) Descriptors.FileDescriptor.latin1Cat. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15689 * Automated rollback of commit 531d4372f4ebe92dcbe8a921c7d2f97a16dd8be5. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15686 * Disable test that seems to be using pre-Java 8 by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15698 * Automated rollback of commit 0ee34d35def2f07a4a5365b68af7ddeba8114df6. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15706 * Force descriptor initialization of dependencies *before* internalUpdateFileDescriptor(). by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15595 * Don't break the trace (#11311) by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15651 * Remove the overlay hack from Rust conformance test now that we can use the enum directly. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15695 * Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15703 * Internal change by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15684 * Prohibit lazy map fields. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15656 * #protobuf #rust publicly export ParseError by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15716 * Add validation for string_type and ctype under edition 2024 and over. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15687 * Move the RubyMessage.java JSON "include defaults" to use alwaysPrintFieldsWithNoPresence. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15721 * use "proto3_optional" option as signal that a field has presence. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15713 * Automated rollback of commit 690f100a6683d51779b3f0eb3300b8a5ff07a678. by @copybara-service[bot] in https://github.com/protocolbuffers/protobuf/pull/15705 * Consolidate PhantomData

Protocol Buffers v33.4v33.4
? · 2026-01-12

# Announcements * [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. # Other * Refactor(bazel): publish a separate .tar.gz (#24065) (https://github.com/protocolbuffers/protobuf/commit/47b33852a15f498c49a5cd20762f2300354545e7) * Bazel: Remove hardcoded dependency on `//:protoc` from language runtimes (#19679) (https://github.com/protocolbuffers/protobuf/commit/453cfb23ffc36fe4cb06c4507fc6dddd7c42bd7a)

Protocol Buffers v33.3v33.3
? · 2026-01-09

# Announcements * [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. # Bazel * Fix: cc_toolchain should prefer protoc when prebuilt flag is flipped. (#25168) (https://github.com/protocolbuffers/protobuf/commit/7b303609abd715df575c5a58543d21b98d687d0b) * Locked down visibility of the new flags and config settings. (https://github.com/protocolbuffers/protobuf/commit/04ca1b7b472113471ae2ba7d9473904ae56bfc9b) * Feat(bazel): wire up prebuilt protoc toolchain (#24115) (https://github.com/protocolbuffers/protobuf/commit/aeaede0d08b40f707dec9fa48af84d5fe899e892) # Compiler * Create editions test_utils to fix existing brittle tests in `command_line_interface_unittest` and `code_generator_unittest`. (https://github.com/protocolbuffers/protobuf/commit/cb0a8c53e7821a8afd16211e329e5afe2bf391b2) * Add edition unstable for development work. (https://github.com/protocolbuffers/protobuf/commit/44e090ccc539f522e4772707447b99d3193f8c4a) * Add conformance test for edition unstable (https://github.com/protocolbuffers/protobuf/commit/d167dd0229d60818c82878880d1a7e410d4294ce) # C++ * Add edition unstable for development work. (https://github.com/protocolbuffers/protobuf/commit/44e090ccc539f522e4772707447b99d3193f8c4a) * Add conformance test for edition unstable (https://github.com/protocolbuffers/protobuf/commit/d167dd0229d60818c82878880d1a7e410d4294ce) # Java * Add conformance test for edition unstable (https://github.com/protocolbuffers/protobuf/commit/d167dd0229d60818c82878880d1a7e410d4294ce) * Correctly apply JSON recursion limit when parsing an Any-of-Any. (https://github.com/protocolbuffers/protobuf/commit/94c7f73824f603e0c0efe0e2968e610d8d5f161e) # Csharp * Add conformance test for edition unstable (https://github.com/protocolbuffers/protobuf/commit/d167dd0229d60818c82878880d1a7e410d4294ce) # Python * Add conformance test for edition unstable (https://github.com/protocolbuffers/protobuf/commit/d167dd0229d60818c82878880d1a7e410d4294ce) * Automated rollback of commit 38ca2d35d30df8ad3be22179a5cfe29223945d8a. (https://github.com/protocolbuffers/protobuf/commit/184b5e8511b21dc50ec1b9b813b735efe03edecf) # UPB (Python/PHP/Ruby C-Extension) * Add conformance test for edition unstable (https://github.com/protocolbuffers/protobuf/commit/d167dd0229d60818c82878880d1a7e410d4294ce) * Fix unused parameter warnings. (https://github.com/protocolbuffers/protobuf/commit/cd0cb21a6239bedbf2adaecec9e309a5509bb580) # Other * Don't ignore platform requirements (https://github.com/protocolbuffers/protobuf/commit/aeedbc6070a1d1336b9cad8c5ea14bf9885db0c9) * Update GitHub Actions to use macOS-14 (again). (https://github.com/protocolbuffers/protobuf/commit/f7b18f862565a35e7e68f8f309a4c84fd73d2e29) * Delete redundant ARM tests (https://github.com/protocolbuffers/protobuf/commit/d4e7a818adc225b919bf69e42528b2b3aaf383df) * Protobuf: update php from macos-13 to macos-15-intel (https://github.com/protocolbuffers/protobuf/commit/9027d6b908528808925e0aa3ef8db39450b37fe3) * Update GitHub Actions to use macOS-14. (https://github.com/protocolbuffers/protobuf/commit/f0907f3c1e7a47de3295be778385ee2b24ae0cce)

Protocol Buffers v33.2v33.2
? · 2025-12-05

# Announcements * [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. # Compiler * Add EDITION_UNSTABLE for new edition development (https://github.com/protocolbuffers/protobuf/commit/92477901aa6738251d8dc208f9ebfcc761f24bc6) * Fix a bug with custom features outside of the `pb` package. (https://github.com/protocolbuffers/protobuf/commit/483173ddc3d18d230c806f6c7a9d170375431c1b) * Reserving a declaration for the Impress proto plugin. (https://github.com/protocolbuffers/protobuf/commit/8a0b43826665857284432afa087637f3d2539a05) # C++ * Remove unnecessary uses of future changes to descriptor.proto (https://github.com/protocolbuffers/protobuf/commit/50c9e62526b7050b94993b8547e6fbd1c8b55625) * Fix a bug with custom features outside of the `pb` package. (https://github.com/protocolbuffers/protobuf/commit/483173ddc3d18d230c806f6c7a9d170375431c1b) # Java * Fix a bug with custom features outside of the `pb` package. (https://github.com/protocolbuffers/protobuf/commit/483173ddc3d18d230c806f6c7a9d170375431c1b) # Csharp * Add EDITION_UNSTABLE for new edition development (https://github.com/protocolbuffers/protobuf/commit/92477901aa6738251d8dc208f9ebfcc761f24bc6) * Use generic Marshal.SizeOf when possible (#21964) (#24673) (https://github.com/protocolbuffers/protobuf/commit/9f263cd5ef14160b17d15bc8b40c89e86d4f7a1f) * Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/058bffaade42d61418d369c3baef1012c9794245) # PHP * Add EDITION_UNSTABLE for new edition development (https://github.com/protocolbuffers/protobuf/commit/92477901aa6738251d8dc208f9ebfcc761f24bc6) ### PHP C-Extension * Regenerate staleness tests (https://github.com/protocolbuffers/protobuf/commit/e9f62c68db781f55271f09a5ab21b023d0b2556c) * Add EDITION_UNSTABLE for new edition development (https://github.com/protocolbuffers/protobuf/commit/92477901aa6738251d8dc208f9ebfcc761f24bc6) * Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/058bffaade42d61418d369c3baef1012c9794245) * *See also UPB changes below, which may affect PHP C-Extension.* # Ruby ### Ruby C-Extension * Regenerate staleness tests (https://github.com/protocolbuffers/protobuf/commit/e9f62c68db781f55271f09a5ab21b023d0b2556c) * Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/058bffaade42d61418d369c3baef1012c9794245) * *See also UPB changes below, which may affect Ruby C-Extension.* # UPB (Python/PHP/Ruby C-Extension) * Regenerate staleness tests (https://github.com/protocolbuffers/protobuf/commit/e9f62c68db781f55271f09a5ab21b023d0b2556c) * Add BTI to branch targets when branch protection is enabled. This resolves (https://github.com/protocolbuffers/protobuf/commit/72a48f9e626a6217d1276e4be1455a296b1e158f) * Extract arm64 asm check (https://github.com/protocolbuffers/protobuf/commit/13ee2ce2cb9dabc0bb058ac1a96ae9d117b9e109)

Protocol Buffers v33.0v33.0
? · 2025-10-15

# Announcements * [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. # Bazel * Feat: update bazel central registry publish workflow (#23465) (#23913) (https://github.com/protocolbuffers/protobuf/commit/d5217fd016809b3436c30a780216ebd34f4bed2d) * Add target_compatible_with parameter to proto_toolchain in Bazel rules (#22429) (https://github.com/protocolbuffers/protobuf/commit/30d2332ff1b0bcf38563fdaf06434818f67ea87e) * Bazel: add missing rules_cc loads (#23584) (https://github.com/protocolbuffers/protobuf/commit/d98e2ef2d550b735455ab96d804700d57bd60091) # Compiler * Disable symbol visibility enforcement by default in C++ runtime (https://github.com/protocolbuffers/protobuf/commit/ae308fc2807404df156c4dfaca6c62f2a2512993) * Ship all option dependencies to plugins along with regular ones. (https://github.com/protocolbuffers/protobuf/commit/abeb1306914e940bfba257aabce7d111d6a962d0) # C++ * Avoid calling deprecated arena-enabled constructors in arena.h. (https://github.com/protocolbuffers/protobuf/commit/813a7ef2efbef6bebf99bb3361b631291dfcec9e) * Add a macro to make `RepeatedField(Arena*)` constructor private in a future release. (https://github.com/protocolbuffers/protobuf/commit/768db14503597c09a1cd5bf9e4a4c8eb2f165cb7) * Add a macro to make `Map(Arena*)` constructor private in a future release. (https://github.com/protocolbuffers/protobuf/commit/543a17f6553add4fb4df00f865e7abc2218f5fbb) * Optimize ReadPackedVarint (https://github.com/protocolbuffers/protobuf/commit/3d94d839b9117ad67eb57c949b37f824c91ac451) * Add a macro to make `RepeatedPtrField(Arena*)` constructor private in a future release (https://github.com/protocolbuffers/protobuf/commit/6422b9d30b64ac8a0506fe3d808910bcd3d20eb0) * Add IsEmpty() function to reflection. (https://github.com/protocolbuffers/protobuf/commit/b64e490cf28041251616604047f64460b8a95eae) * Refactor `RuntimeAssertInBounds` to remove repeated logic and make `Get`/`Mutable` easier to read. (https://github.com/protocolbuffers/protobuf/commit/2f270c49a2886945fc405dbdaa5fe9467d3d31fa) * Disable symbol visibility enforcement by default in C++ runtime (https://github.com/protocolbuffers/protobuf/commit/ae308fc2807404df156c4dfaca6c62f2a2512993) * Fix a bug in the main C++ JSON parser/serializer camelcasing of certain non-style-compliant names incorrectly, in a way that would prevent it from interoperating with any other implementation on those fields. (https://github.com/protocolbuffers/protobuf/commit/e25e267dea8762e077b4ee76eb247c3e272bb64c) * Fail early for messages with more than 65k fields. (https://github.com/protocolbuffers/protobuf/commit/90824aaa69000452bff5ad8db3240215a3b9a595) * Add option to C++ JSON Parser/Serializer to allow customers to affirmatively disable legacy bug-compatibilty behaviors. (https://github.com/protocolbuffers/protobuf/commit/6ea16402c609dda5a763dc2a32f22687f4206af7) * Fix mishandling on JSON serialization of Timestamp with invalid negative and too-large nanos value. (https://github.com/protocolbuffers/protobuf/commit/a959f27711cf5d148ad6c4053c0b6f14a374ffdc) * Preserve features in type resolver (https://github.com/protocolbuffers/protobuf/commit/c7030f4f24a9d58f9da8ab772c6b41d8e8df865e) * Add a DCHECK that ArenaStringPtr::Set(char*, Arena*) is not called with (https://github.com/protocolbuffers/protobuf/commit/95b1763938b8e9719b26cea65c4d0e6557b831a9) # Java * Switch the pre22 warning to use CopyOnWriteArraySet. (#23969) (https://github.com/protocolbuffers/protobuf/commit/e55224c5bc838f8a920f0d7288cef77cc1deed75) * Expose helpers for checking if messages and enums are nested. (https://github.com/protocolbuffers/protobuf/commit/8de4002fb24edaf50a398f43f5f050e65be6ec6b) * Fix a bug calculating the file name in the absense of directories. (https://github.com/protocolbuffers/protobuf/commit/c4ff7a68fa7f4120f7d1df1530e8344b1ac69f89) * Clarify the public APIs of GeneratorNames helpers. (https://github.com/protocolbuffers/protobuf/commit/537ac3582ab1ed27f294a757cbb0ce19bbc9d674) * Expose helpers to predict generated class names in java. (https://github.com/protocolbuffers/protobuf/commit/eba6df2f4d6140ccf09cdae5e8298076244239e5) * Deprecate ClassName methods in favor of new QualifiedClassName ones. (https://github.com/protocolbuffers/protobuf/commit/ca4fb2fdab93e15a81602aa0c837c675d32a692e) * Restore the 3-argument internalBuildGeneratedFileFrom. (https://github.com/protocolbuffers/protobuf/commit/4376591311aa17e7a1182a77a26f631327a1c70f) * Fix large java enums not being honored on lite runtime. (https://github.com/protocolbuffers/protobuf/commit/a995803cb54ed7bd42748b0edefb00213eeb34d4) * Slightly relax Java Poison Pill on prerelease versions (-rc1, -dev, etc). (https://github.com/protocolbuffers/protobuf/commit/7b0bee3fb50792639fc2bb89fa25afa83316e6b1) * Avoid boxing/unboxing `varint`, `fixed32`, and `fixed64` fields in `UnknownFieldSet.Field` (https://github.com/protocolbuffers/protobuf/commit/810272f3c44bce4133cb4b22a38f52d36425c557) * Readd new*List() methods on GeneratedMessageV3. (https://github.com/protocolbuffers/protobuf/commit/badaf41ecf584ee4ceaec8d44d136cd229442c2c) * Add Values.of(Map<String, Value> values). (https://github.com/protocolbuffers/protobuf/commit/c518f2564ea5e7950f75a032a471f3689e297d36) * Fix handling of optional dependencies in java generator. (https://github.com/protocolbuffers/protobuf/commit/8d51e346ac6801387475fb63dd9d420e620c8c75) * Restore ABI compatibility for extension methods which was previously (knowingly) broken with 4.x: https://github.com/protocolbuffers/protobuf/commit/94a2a448518403341b8aa71335ab1123fbdcccd8 (https://github.com/protocolbuffers/protobuf/commit/ea33ae86154a56eb7fb66566d0927ccd0c99b1f2) * Restore Protobuf Java extension modifiers in gencode that were previously removed in https://github.com/protocolbuffers/protobuf/commit/7bff169d32710b143951ec6ce2c4ea9a56e2ad24 (https://github.com/protocolbuffers/protobuf/commit/f2257f5f52f85e37c8f7fb1ab71e42a487af9eee) * Ship all option dependencies to plugins along with regular ones. (https://github.com/protocolbuffers/protobuf/commit/abeb1306914e940bfba257aabce7d111d6a962d0) * Optimize redaction state calculation (https://github.com/protocolbuffers/protobuf/commit/e05db5cfe90c82b06ccc503791d679639fb1a852) * Add `isPlaceholder()` accessors to file, message, and enum descriptors (https://github.com/protocolbuffers/protobuf/commit/f978ec2040cdcd7ba96fd183f4938cf56c167b08) * Improve Java gencode static initialization to avoid unnecessary temporaries again (https://github.com/protocolbuffers/protobuf/commit/745e15b5840ce2ae9ffebecad00310d6999d3ac7) * Improve Java gencode static initialization to avoid unnecessary temporaries (https://github.com/protocolbuffers/protobuf/commit/b68b6731776bc65d47d874c78322e58b985b4f1d) * Remove protobuf-util usages of guava except annotations. (https://github.com/protocolbuffers/protobuf/commit/5768acddf2399ad1865b2f7f8833a356ffaa1848) * Restore compatibility of runtime with pre-3.22.x gencode impacted by CVE-2022-3171 (https://github.com/protocolbuffers/protobuf/commit/7c51e5b582f098987b6fda8d590c95e9b5d53fd7) * Expose an iterator for `GeneratedMessage.ExtendableMessage.extensions` (https://github.com/protocolbuffers/protobuf/commit/b25d39eee2b2a3425f0f108a4cb9f76315b5e54b) # Rust * Change Rust prelude to bring in traits as `_` (https://github.com/protocolbuffers/protobuf/commit/c3f7e8ded5ee18b11b53efcfbdc8266492fc1dd9) * Make message Muts `Send` (https://github.com/protocolbuffers/protobuf/commit/8bff944735fb21873675af19bf74ae084109e2a7) * *See also UPB changes below, which may affect Rust.* # Python * Publish s390x wheels for Python/upb. (https://github.com/protocolbuffers/protobuf/commit/56b2b89e37ff2adef2d7718e7365857ab0a0235f) * Fix a crash that happens during shutdown due to looking up modules in the cache (https://github.com/protocolbuffers/protobuf/commit/d57d2708b371bda5e7212b0eca63091fa2d7ab42) * Add construction support for repeated Timestamp/Duration/Struct/ListValue. (https://github.com/protocolbuffers/protobuf/commit/5f6c0139a744965f6061e52820285c6d23cf7092) * Fix handling of repeated extension fields in PyProto JSON (https://github.com/protocolbuffers/protobuf/commit/07ef6769c670ab05f9b60531ba463be8bfaf117a) * Fixed a parser bug where closed enums are parsed incorrectly for non-repeated extensions. (https://github.com/protocolbuffers/protobuf/commit/c36f728a3e4352d887f82d53dda330972b27dbf7) * Fixed mypy errors by setting `__slots__` to empty in `.pyi` files. (https://github.com/protocolbuffers/protobuf/commit/38ca2d35d30df8ad3be22179a5cfe29223945d8a) * Raise warnings for float_precision from python json_format. (https://github.com/protocolbuffers/protobuf/commit/4659cd700643b5544416cfaa4f925f939b8a967f) * Raise warnings when assign bool to int/enum field in Python Proto. This will turn into error in 34.0 release. (https://github.com/protocolbuffers/protobuf/commit/4ee55d7e31a939a824fdd91188204e73e729c344) # PHP * Fix(php): php errors on repeated field (#23372) (https://github.com/protocolbuffers/protobuf/commit/6fee29b26704b3838bced6bfadd4c3cc0efd2574) # UPB (Python/PHP/Ruby C-Extension) * Fixed a parser bug where closed enums are parsed incorrectly for non-repeated extensions. (https://github.com/protocolbuffers/protobuf/commit/c36f728a3e4352d887f82d53dda330972b27dbf7) # Other * Update token for BCR release to reuse existing BOT_ACCESS_TOKEN used for staleness_refresh.yml and update_php_repo.yml (#23925) (https://github.com/protocolbuffers/protobuf/commit/dcace2fea6221d509a01eb6748ef6c824258714c) * Use the 'better' JSON parser on the conformance suite harness. (https://github.com/protocolbuffers/protobuf/commit/4b4e405491be99630e3c69b78834d33b83dfc5fa) * Add JSON conformance test that a single value provided for a repeated field should parse fail. (https://github.com/protocolbuffers/protobuf/commit/98069945e4416c9d089e8c4047920b077426be8b) * Add conformance test cases for malformed nanos fields on Durations and Timestamps. (https://github.com/protocolbuffers/protobuf/commit/a6bdd0a7b23d5d6e141f3592c13062e3785fc2fa)

Protocol Buffers v32.0v32.0
? · 2025-08-14

# Announcements * [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. # Bazel * Migrates some Java test protos using java_features.proto to edition 2024 (https://github.com/protocolbuffers/protobuf/commit/6f4a9900f4c590f7c96297b1cff5a2256968e912) * Add generated message reflection unittest for `import option` and `option_deps` test proto in edition 2024. (https://github.com/protocolbuffers/protobuf/commit/c51df736505595461a0ce4c2ca703d08744a8e5e) * Replace the usage of cc_info.debug_context with _debug_context (https://github.com/protocolbuffers/protobuf/commit/776c5f2b7bc176a7eb442ad61803793d917a2e7e) * Generate .pyi files in py_proto_library (#10366) (#21567) (https://github.com/protocolbuffers/protobuf/commit/e3e56c72a9fafb64fd25853e183fffa2bd12b0b7) * Introduce denylisted_protos as a preferred replacement for blacklisted_protos attribute. (https://github.com/protocolbuffers/protobuf/commit/795ab9db868103cd94f9241951b0bda9ab08e122) * Use native.proto_library for Bazel 7 and explicitly error for Bazel 6 which is incompatible and out of support. (https://github.com/protocolbuffers/protobuf/commit/da0077eb6289b6a6eaf307a07c53585cd9d223c5) * Require ProtoInfo provider instead of proto_library rule for bazel cc_proto_library deps. (https://github.com/protocolbuffers/protobuf/commit/639f1c9d21a80a06749528759d44c8c59fd9b5b3) # Compiler * Strip extensions from option imports that are known in CollectExtensions due to polluted pool from protoc parse when used with protoc full + java built in generator. (https://github.com/protocolbuffers/protobuf/commit/ef3f9ca1959d79312a227894b21388f300947e63) * Deprecate `google.protobuf.Method.syntax` and `google.protobuf.Method.edition` (https://github.com/protocolbuffers/protobuf/commit/9ec241ea04f455fe9d941d71447c24da4d9ed412) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Ban `import weak` and `weak` field option in edition 2024 in protoc (parser and c++ runtime). (https://github.com/protocolbuffers/protobuf/commit/a2a051112fc9db0250d7acfb19283c7d1339319f) # C++ * Strip extensions from option imports that are known in CollectExtensions due to polluted pool from protoc parse when used with protoc full + java built in generator. (https://github.com/protocolbuffers/protobuf/commit/ef3f9ca1959d79312a227894b21388f300947e63) * Manually migrate top-level protobuf unittest protos from edition 2023 to edition 2024. (https://github.com/protocolbuffers/protobuf/commit/7359f751a6d22a9ad22c6d175f560884b06c203c) * Add generated message reflection unittest for `import option` and `option_deps` test proto in edition 2024. (https://github.com/protocolbuffers/protobuf/commit/c51df736505595461a0ce4c2ca703d08744a8e5e) * Remove the flag requirement for Bazel+MSVC users. (https://github.com/protocolbuffers/protobuf/commit/c6ba697d950f9277594646bd4dcb280eda6c2ba9) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Cast GetCachedTID() to unsigned to prevent left-shifting a negative number. (https://github.com/protocolbuffers/protobuf/commit/3e935cfe8827510a30f518178cfa9b178a7d1232) * Update comment at the top of message.h and message_lite.h to document that it should only be extended by gencode and not user code. (https://github.com/protocolbuffers/protobuf/commit/6a6ba52361b769f73eb5fcd782421f100c62a383) * Treat warnings encountered in chromium builds as errors. (https://github.com/protocolbuffers/protobuf/commit/21c3c5319634e7faa51c671c7b175cb250c9ad47) * Ban `import weak` and `weak` field option in edition 2024 in protoc (parser and c++ runtime). (https://github.com/protocolbuffers/protobuf/commit/a2a051112fc9db0250d7acfb19283c7d1339319f) # Java * Strip extensions from option imports that are known in CollectExtensions due to polluted pool from protoc parse when used with protoc full + java built in generator. (https://github.com/protocolbuffers/protobuf/commit/ef3f9ca1959d79312a227894b21388f300947e63) * Remove CollectExtensions check banning unknown custom options since unknown custom options are now expected when using `import option` and `option_deps` which exclude the options from the "builder" pool (aka "import" pool). (https://github.com/protocolbuffers/protobuf/commit/694eedd395e2f5bcc4d0dfe28f0ef80efb80edd7) * Manually migrate top-level protobuf unittest protos from edition 2023 to edition 2024. (https://github.com/protocolbuffers/protobuf/commit/7359f751a6d22a9ad22c6d175f560884b06c203c) * Migrates some Java test protos using java_features.proto to edition 2024 (https://github.com/protocolbuffers/protobuf/commit/6f4a9900f4c590f7c96297b1cff5a2256968e912) * Restore compatibility of runtime with pre-3.22.x gencode impacted by CVE-2022-3171 (https://github.com/protocolbuffers/protobuf/commit/adf556f864f5e66afa4645558382eed86145e525) * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) * Restore the long-deprecated static functions on TextFormat. (https://github.com/protocolbuffers/protobuf/commit/5777d3b0a0e05687badfab58882626d66d59c1e9) * Add Kotlin class name helpers to names.h (https://github.com/protocolbuffers/protobuf/commit/527b2ab41e785149a6189dba3052a210959b1372) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Update Java gencode base class documentation to clarify that it is not supported to extend them. (https://github.com/protocolbuffers/protobuf/commit/c3177fb1e26f2c9a4e9c877663ef20898bf07f55) * Add a FieldMaskUtil#trim overload that accepts TrimOptions and allows retaining unset primitive field state. (https://github.com/protocolbuffers/protobuf/commit/84c5b6314a10d48028b6406de323f919666811c8) # Csharp * Update staleness (https://github.com/protocolbuffers/protobuf/commit/001417304f75d5fd9fde61b3f0b2c4c7bfd35671) * Manually migrate top-level protobuf unittest protos from edition 2023 to edition 2024. (https://github.com/protocolbuffers/protobuf/commit/7359f751a6d22a9ad22c6d175f560884b06c203c) * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Include also ARM build of protoc in nuget package (#21568) (https://github.com/protocolbuffers/protobuf/commit/c2b40409edf288be6200f36935dfb21f4cf7897a) * Improve C# handling of Any JSON serialization/deserialization (https://github.com/protocolbuffers/protobuf/commit/dc4e4295a4515c593cd8b96e63b3581cc99ac97f) # Objective-C * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) # Rust * Rust: remove `DEP_UPB_VERSION` check in codegen crate (#22764) (https://github.com/protocolbuffers/protobuf/commit/6f6012a115ba157db7294add4d4420863aae780c) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Update Rust generator to output minidescriptors instead of C minitables (https://github.com/protocolbuffers/protobuf/commit/1b4b5fc1ff28bf642b51008a413c2a65046b2aa1) * Add [clear_and_]parse_dont_enforce_required() to Rust protobuf. (https://github.com/protocolbuffers/protobuf/commit/e2fd7a0d9d9bd1daaf377f30cb55bbbb7abbf278) * Add #[non_exhaustive] on the oneof-case enum (https://github.com/protocolbuffers/protobuf/commit/aba2075ccb087e526621a2036c2c4c14964f8051) * Impl Clone for RepeatedIter (https://github.com/protocolbuffers/protobuf/commit/aca1ed5be8251d2001add8e925da195da393b415) * *See also UPB changes below, which may affect Rust.* # Python * Strip extensions from option imports that are known in CollectExtensions due to polluted pool from protoc parse when used with protoc full + java built in generator. (https://github.com/protocolbuffers/protobuf/commit/ef3f9ca1959d79312a227894b21388f300947e63) * Manually migrate top-level protobuf unittest protos from edition 2023 to edition 2024. (https://github.com/protocolbuffers/protobuf/commit/7359f751a6d22a9ad22c6d175f560884b06c203c) * Raise warnings for float_precision from python json_format. (#23042) (https://github.com/protocolbuffers/protobuf/commit/1a7e012e87423941b19cb1108eb26701a763afc5) * Raise warnings when assign bool to int/enum (#23030) (https://github.com/protocolbuffers/protobuf/commit/0b25f7ba1ed9fdf78608b7ce3a41cca95cc823f4) * Update python edition default maximum edition to 2024 (#22889) (https://github.com/protocolbuffers/protobuf/commit/72abf95272cbe446460d7a464bbebb3f564efaff) * Make protobuf codebase compatible with `--incompatible_config_setting_private_default_visibility` (#22745) (https://github.com/protocolbuffers/protobuf/commit/5e2838e5987468670f933fd3d8861e8890d98596) * Add Python deprecation warnings for Descriptor Label. (https://github.com/protocolbuffers/protobuf/commit/64a76e68e08ba3a55e6cfd94c9df006d0b21239e) * Updating setuptools to patch CVE-2025-47273 (#22094) (https://github.com/protocolbuffers/protobuf/commit/508aba1b50e28d4d1aecd51a64dd4aa44af0de2a) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Extend gencode compatibility support back to 3.20.0 (https://github.com/protocolbuffers/protobuf/commit/1af7fd407c85c9c1f34b6ca8441cfb3a72d4f5ea) * Change proto_api work with custom pool for upb and pure python. (https://github.com/protocolbuffers/protobuf/commit/49d9e2dca5dfc2bd662e87a9039e1270391803ec) * Python pyi print "import datetime" for Duration/Timestamp field (https://github.com/protocolbuffers/protobuf/commit/f59b84abbdc92c3b42a99e92c40dc4f816896f23) * Add reference leak check to Python well_known_types_test. Fix two refleak bugs. (https://github.com/protocolbuffers/protobuf/commit/e5f9ab4d073996b0b7a700a300bb2f9c61976e98) * Add reference leak check to Python timestamp_test and duration_test. Fix a refleak bug when assign datetime/duration to Timestamp/Duration (https://github.com/protocolbuffers/protobuf/commit/e004c8bb3f26af6a45c86fd885d29af928074ff2) * Add recursion depth limits to pure python (https://github.com/protocolbuffers/protobuf/commit/17838beda2943d08b8a9d4df5b68f5f04f26d901) * Remove calls to Label within Protobuf Python. (https://github.com/protocolbuffers/protobuf/commit/f69180a6c13be76254e94548adea9d347c3707a6) * Change Python .pyi stubs to generated _Optional[] for bool fields same with (https://github.com/protocolbuffers/protobuf/commit/69724647ea60c41713b194e0893cc8dce85a056a) * Remove internal/api_implementation.Version() (https://github.com/protocolbuffers/protobuf/commit/cbad4567c0f265142b5de8d98d6e9b3323911909) * Fix python proto_api to work with messages that required fields are not set. (https://github.com/protocolbuffers/protobuf/commit/f63ed55d4b85ad3cd558057e178c035e70c02c77) * Fix python upb crashes on map/repeated reference stub destructor (https://github.com/protocolbuffers/protobuf/commit/42749093dc9adc2b31014edf78860ce65db30756) * Mark Py JSON float_precision deprecated. (https://github.com/protocolbuffers/protobuf/commit/727a8ed2c7144381dff1022990750a12a8b7cd44) # PHP * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Fix(php): use count instead of ->count() to avoid bug in c-extension (https://github.com/protocolbuffers/protobuf/commit/9fbce6259770dafd5ef7ca1ad7f6bf84eac8cd09) * [php][compiler][ext] - Add missing has* methods and other well known types (#20636) (https://github.com/protocolbuffers/protobuf/commit/01a7429792ce5efeb2c6187baf4646a04652f1b2) * Fix PHP 8.4 deprecation in GPBDecodeException (#21232) (https://github.com/protocolbuffers/protobuf/commit/676666ef57f3feb0032650212e518123addb0cac) ### PHP C-Extension * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) * Change 'getLabel is deprecated' to E_USER_DEPRECATED (https://github.com/protocolbuffers/protobuf/commit/158d8acd6e3e69b5c74464e9dc7d76560dad724d) * [php][compiler][ext] - Add missing has* methods and other well known types (#20636) (https://github.com/protocolbuffers/protobuf/commit/01a7429792ce5efeb2c6187baf4646a04652f1b2) * *See also UPB changes below, which may affect PHP C-Extension.* # Ruby * Make protobuf codebase compatible with `--incompatible_config_setting_private_default_visibility` (#22745) (https://github.com/protocolbuffers/protobuf/commit/5e2838e5987468670f933fd3d8861e8890d98596) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Fix silent failure of `rb_test` rules to run test (#21733) (https://github.com/protocolbuffers/protobuf/commit/4f74764bf3860f76e64f20b8bf359a7bad844876) ### Ruby C-Extension * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) * Removed `wrap_memcpy.c` compatibility shim for pre-2.14 glibc (https://github.com/protocolbuffers/protobuf/commit/4ba97331411293082632039c670c2af82a9f0415) * *See also UPB changes below, which may affect Ruby C-Extension.* # UPB (Python/PHP/Ruby C-Extension) * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) * Make protobuf codebase compatible with `--incompatible_config_setting_private_default_visibility` (#22745) (https://github.com/protocolbuffers/protobuf/commit/5e2838e5987468670f933fd3d8861e8890d98596) * Add upb_Message_SetExtensionMessage as a helper for setting a extension field that is a message. This is the extension equivalent of upb_Message_SetBaseFieldMessage. (https://github.com/protocolbuffers/protobuf/commit/f15d28a59ea906fc5b39b885fd00e20b486a4782) # Other * Update github major version tags to be formatted v<MAJOR>.<MINOR>.<MICRO>-<language> for clarity (https://github.com/protocolbuffers/protobuf/commit/e001d57a71c84bce8509ea00f685b718a8b4f435) * Upgrade Abseil dependency to 20250512.1 (https://github.com/protocolbuffers/protobuf/commit/ee68ed1c0d80d4024893319d7669d66cba2d4d5d) * Patch `rules_ruby` to apply `neverlink = True` to the `jars` rule (#21416) (https://github.com/protocolbuffers/protobuf/commit/88e11bd819938bfc3f8a4b09495774b8d2d50cd3)

Protocol Buffers v32.0-rc2v32.0-rc2预发布
? · 2025-08-05

# Announcements * [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. # Java * Restore compatibility of runtime with pre-3.22.x gencode impacted by CVE-2022-3171 (https://github.com/protocolbuffers/protobuf/commit/adf556f864f5e66afa4645558382eed86145e525) * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) # Csharp * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) # Rust * Rust: remove `DEP_UPB_VERSION` check in codegen crate (#22764) (https://github.com/protocolbuffers/protobuf/commit/6f6012a115ba157db7294add4d4420863aae780c) * *See also UPB changes below, which may affect Rust.* # Python * Update python edition default maximum edition to 2024 (#22889) (https://github.com/protocolbuffers/protobuf/commit/72abf95272cbe446460d7a464bbebb3f564efaff) * Make protobuf codebase compatible with `--incompatible_config_setting_private_default_visibility` (#22745) (https://github.com/protocolbuffers/protobuf/commit/5e2838e5987468670f933fd3d8861e8890d98596) # PHP ### PHP C-Extension * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) * *See also UPB changes below, which may affect PHP C-Extension.* # Ruby * Make protobuf codebase compatible with `--incompatible_config_setting_private_default_visibility` (#22745) (https://github.com/protocolbuffers/protobuf/commit/5e2838e5987468670f933fd3d8861e8890d98596) ### Ruby C-Extension * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) * *See also UPB changes below, which may affect Ruby C-Extension.* # UPB (Python/PHP/Ruby C-Extension) * Update our compiled_edition_default's maximum_edition to 2024 (#22870) (https://github.com/protocolbuffers/protobuf/commit/6216ae471f22f407b6e74ed70e688872f2761d35) * Make protobuf codebase compatible with `--incompatible_config_setting_private_default_visibility` (#22745) (https://github.com/protocolbuffers/protobuf/commit/5e2838e5987468670f933fd3d8861e8890d98596)

Protocol Buffers v32.0-rc1v32.0-rc1预发布
? · 2025-07-22

# Announcements * [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. # Bazel * Generate .pyi files in py_proto_library (#10366) (#21567) (https://github.com/protocolbuffers/protobuf/commit/e3e56c72a9fafb64fd25853e183fffa2bd12b0b7) * Introduce denylisted_protos as a preferred replacement for blacklisted_protos attribute. (https://github.com/protocolbuffers/protobuf/commit/795ab9db868103cd94f9241951b0bda9ab08e122) * Use native.proto_library for Bazel 7 and explicitly error for Bazel 6 which is incompatible and out of support. (https://github.com/protocolbuffers/protobuf/commit/da0077eb6289b6a6eaf307a07c53585cd9d223c5) * Require ProtoInfo provider instead of proto_library rule for bazel cc_proto_library deps. (https://github.com/protocolbuffers/protobuf/commit/639f1c9d21a80a06749528759d44c8c59fd9b5b3) # Compiler * Deprecate `google.protobuf.Method.syntax` and `google.protobuf.Method.edition` (https://github.com/protocolbuffers/protobuf/commit/9ec241ea04f455fe9d941d71447c24da4d9ed412) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Ban `import weak` and `weak` field option in edition 2024 in protoc (parser and c++ runtime). (https://github.com/protocolbuffers/protobuf/commit/a2a051112fc9db0250d7acfb19283c7d1339319f) # C++ * Remove the flag requirement for Bazel+MSVC users. (https://github.com/protocolbuffers/protobuf/commit/c6ba697d950f9277594646bd4dcb280eda6c2ba9) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Cast GetCachedTID() to unsigned to prevent left-shifting a negative number. (https://github.com/protocolbuffers/protobuf/commit/3e935cfe8827510a30f518178cfa9b178a7d1232) * Update comment at the top of message.h and message_lite.h to document that it should only be extended by gencode and not user code. (https://github.com/protocolbuffers/protobuf/commit/6a6ba52361b769f73eb5fcd782421f100c62a383) * Treat warnings encountered in chromium builds as errors. (https://github.com/protocolbuffers/protobuf/commit/21c3c5319634e7faa51c671c7b175cb250c9ad47) * Ban `import weak` and `weak` field option in edition 2024 in protoc (parser and c++ runtime). (https://github.com/protocolbuffers/protobuf/commit/a2a051112fc9db0250d7acfb19283c7d1339319f) # Java * Restore the long-deprecated static functions on TextFormat. (https://github.com/protocolbuffers/protobuf/commit/5777d3b0a0e05687badfab58882626d66d59c1e9) * Add Kotlin class name helpers to names.h (https://github.com/protocolbuffers/protobuf/commit/527b2ab41e785149a6189dba3052a210959b1372) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Update Java gencode base class documentation to clarify that it is not supported to extend them. (https://github.com/protocolbuffers/protobuf/commit/c3177fb1e26f2c9a4e9c877663ef20898bf07f55) * Add a FieldMaskUtil#trim overload that accepts TrimOptions and allows retaining unset primitive field state. (https://github.com/protocolbuffers/protobuf/commit/84c5b6314a10d48028b6406de323f919666811c8) # Csharp * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Include also ARM build of protoc in nuget package (#21568) (https://github.com/protocolbuffers/protobuf/commit/c2b40409edf288be6200f36935dfb21f4cf7897a) * Improve C# handling of Any JSON serialization/deserialization (https://github.com/protocolbuffers/protobuf/commit/dc4e4295a4515c593cd8b96e63b3581cc99ac97f) # Objective-C * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) # Rust * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Update Rust generator to output minidescriptors instead of C minitables (https://github.com/protocolbuffers/protobuf/commit/1b4b5fc1ff28bf642b51008a413c2a65046b2aa1) * Add [clear_and_]parse_dont_enforce_required() to Rust protobuf. (https://github.com/protocolbuffers/protobuf/commit/e2fd7a0d9d9bd1daaf377f30cb55bbbb7abbf278) * Add #[non_exhaustive] on the oneof-case enum (https://github.com/protocolbuffers/protobuf/commit/aba2075ccb087e526621a2036c2c4c14964f8051) * Impl Clone for RepeatedIter (https://github.com/protocolbuffers/protobuf/commit/aca1ed5be8251d2001add8e925da195da393b415) * *See also UPB changes below, which may affect Rust.* # Python * Add Python deprecation warnings for Descriptor Label. (https://github.com/protocolbuffers/protobuf/commit/64a76e68e08ba3a55e6cfd94c9df006d0b21239e) * Updating setuptools to patch CVE-2025-47273 (#22094) (https://github.com/protocolbuffers/protobuf/commit/508aba1b50e28d4d1aecd51a64dd4aa44af0de2a) * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Extend gencode compatibility support back to 3.20.0 (https://github.com/protocolbuffers/protobuf/commit/1af7fd407c85c9c1f34b6ca8441cfb3a72d4f5ea) * Change proto_api work with custom pool for upb and pure python. (https://github.com/protocolbuffers/protobuf/commit/49d9e2dca5dfc2bd662e87a9039e1270391803ec) * Python pyi print "import datetime" for Duration/Timestamp field (https://github.com/protocolbuffers/protobuf/commit/f59b84abbdc92c3b42a99e92c40dc4f816896f23) * Add reference leak check to Python well_known_types_test. Fix two refleak bugs. (https://github.com/protocolbuffers/protobuf/commit/e5f9ab4d073996b0b7a700a300bb2f9c61976e98) * Add reference leak check to Python timestamp_test and duration_test. Fix a refleak bug when assign datetime/duration to Timestamp/Duration (https://github.com/protocolbuffers/protobuf/commit/e004c8bb3f26af6a45c86fd885d29af928074ff2) * Add recursion depth limits to pure python (https://github.com/protocolbuffers/protobuf/commit/17838beda2943d08b8a9d4df5b68f5f04f26d901) * Remove calls to Label within Protobuf Python. (https://github.com/protocolbuffers/protobuf/commit/f69180a6c13be76254e94548adea9d347c3707a6) * Change Python .pyi stubs to generated _Optional[] for bool fields same with (https://github.com/protocolbuffers/protobuf/commit/69724647ea60c41713b194e0893cc8dce85a056a) * Remove internal/api_implementation.Version() (https://github.com/protocolbuffers/protobuf/commit/cbad4567c0f265142b5de8d98d6e9b3323911909) * Fix python proto_api to work with messages that required fields are not set. (https://github.com/protocolbuffers/protobuf/commit/f63ed55d4b85ad3cd558057e178c035e70c02c77) * Fix python upb crashes on map/repeated reference stub destructor (https://github.com/protocolbuffers/protobuf/commit/42749093dc9adc2b31014edf78860ce65db30756) * Mark Py JSON float_precision deprecated. (https://github.com/protocolbuffers/protobuf/commit/727a8ed2c7144381dff1022990750a12a8b7cd44) # PHP * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Fix(php): use count instead of ->count() to avoid bug in c-extension (https://github.com/protocolbuffers/protobuf/commit/9fbce6259770dafd5ef7ca1ad7f6bf84eac8cd09) * [php][compiler][ext] - Add missing has* methods and other well known types (#20636) (https://github.com/protocolbuffers/protobuf/commit/01a7429792ce5efeb2c6187baf4646a04652f1b2) * Fix PHP 8.4 deprecation in GPBDecodeException (#21232) (https://github.com/protocolbuffers/protobuf/commit/676666ef57f3feb0032650212e518123addb0cac) ### PHP C-Extension * Change 'getLabel is deprecated' to E_USER_DEPRECATED (https://github.com/protocolbuffers/protobuf/commit/158d8acd6e3e69b5c74464e9dc7d76560dad724d) * [php][compiler][ext] - Add missing has* methods and other well known types (#20636) (https://github.com/protocolbuffers/protobuf/commit/01a7429792ce5efeb2c6187baf4646a04652f1b2) * *See also UPB changes below, which may affect PHP C-Extension.* # Ruby * Enable edition 2024 support in protoc and language generators for cpp, hpb, java, kotlin, objectivec, php, python, pyi, rust. (https://github.com/protocolbuffers/protobuf/commit/26843b3c6064ca7114af971eb46bd6fe6cc9d200) * Fix silent failure of `rb_test` rules to run test (#21733) (https://github.com/protocolbuffers/protobuf/commit/4f74764bf3860f76e64f20b8bf359a7bad844876) ### Ruby C-Extension * Removed `wrap_memcpy.c` compatibility shim for pre-2.14 glibc (https://github.com/protocolbuffers/protobuf/commit/4ba97331411293082632039c670c2af82a9f0415) * *See also UPB changes below, which may affect Ruby C-Extension.* # UPB (Python/PHP/Ruby C-Extension) * Add upb_Message_SetExtensionMessage as a helper for setting a extension field that is a message. This is the extension equivalent of upb_Message_SetBaseFieldMessage. (https://github.com/protocolbuffers/protobuf/commit/f15d28a59ea906fc5b39b885fd00e20b486a4782) # Other * Update github major version tags to be formatted v<MAJOR>.<MINOR>.<MICRO>-<language> for clarity (https://github.com/protocolbuffers/protobuf/commit/e001d57a71c84bce8509ea00f685b718a8b4f435) * Upgrade Abseil dependency to 20250512.1 (https://github.com/protocolbuffers/protobuf/commit/ee68ed1c0d80d4024893319d7669d66cba2d4d5d) * Patch `rules_ruby` to apply `neverlink = True` to the `jars` rule (#21416) (https://github.com/protocolbuffers/protobuf/commit/88e11bd819938bfc3f8a4b09495774b8d2d50cd3)