Recent Releases of https://github.com/protocolbuffers/protobuf
https://github.com/protocolbuffers/protobuf - Protocol Buffers v34.0-rc1
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, andMapprivate. (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)
- [ObjC] Fix nullability annotations on some GPB*Dictionary types. (ea67d6d)
- [ObjC] Remove -[GPBFieldDescriptor optional] (3414dc1)
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
- Migration Guide 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
Xyzand a direct sibling enum namedXyzView(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
pbpackage. (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_redactoptions 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 modifyLogIndexOutOfBoundsAndAbortto 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
pbpackage. (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
constmessage 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, andMapprivate. (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
pbpackage. (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
- Adds support for 3 modes for proto extension generation: (https://github.com/protocolbuffers/protobuf/commit/0bc41927e92cff886cd306a3545628c713cd27e5)
- [ObjC] Remove
generate_minimal_importsgeneration 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*Dictionarytypes. (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
Xyzand a direct sibling enum namedXyzView(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
syntaxandeditionwhen 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
//:protocfrom 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
descriptorby @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 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_unusedby @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
publicmodifier 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_generateby @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::musttailon 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
Repstructure. 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
DurationsTestandTimestampsTesta 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_EXPORTonInternalOutOfLineDeleteMessageLite()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
conststatic variable asconstexpr. 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
explicitto 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. 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 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
syntaxand addedhas_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::MutableExtensionmethod 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_GetMutableaccessor 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. 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_GetMutableby @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 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
selffor all methods on views, return'msgby @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
selfaccessors 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_Extensiondirectly. 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
ctypeis 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
_mutby @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 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.pyfrom 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/
- C++
Published by zhangskz about 1 month ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v33.4
Announcements
- Protobuf 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
//:protocfrom language runtimes (#19679) (https://github.com/protocolbuffers/protobuf/commit/453cfb23ffc36fe4cb06c4507fc6dddd7c42bd7a)
- C++
Published by zhangskz about 2 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v33.3
Announcements
- Protobuf 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_unittestandcode_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)
- C++
Published by karenwuz about 2 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v33.2
Announcements
- Protobuf 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
pbpackage. (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
pbpackage. (https://github.com/protocolbuffers/protobuf/commit/483173ddc3d18d230c806f6c7a9d170375431c1b)
Java
- Fix a bug with custom features outside of the
pbpackage. (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)
- C++
Published by PilgrimMemoirs 3 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v33.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix
Anyhasbit consistency issue in OSS. (#24400) (https://github.com/protocolbuffers/protobuf/commit/59db671e945233f9acb556af43cdbb67d1d75d68)
Java
- Expose NestedInFileClass naming helpers for Java immutable. (#24401) (https://github.com/protocolbuffers/protobuf/commit/5737cd2bb3a4e220752b28282e70d758c0a7a95d)
- C++
Published by zhangskz 4 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v33.0
Announcements
- Protobuf 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
RuntimeAssertInBoundsto remove repeated logic and makeGet/Mutableeasier 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, andfixed64fields inUnknownFieldSet.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.pyifiles. (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)
- C++
Published by shaod2 5 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v33.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
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)
Java
- 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)
- C++
Published by mkruskal-google 5 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v33.0-rc1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Add target_compatible_with parameter to proto_toolchain in Bazel rules (#22429) (https://github.com/protocolbuffers/protobuf/commit/30d2332ff1b0bcf38563fdaf06434818f67ea87e)
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++
- 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
RuntimeAssertInBoundsto remove repeated logic and makeGet/Mutableeasier 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
- Slightly relax Java Poison Pill on prerelease versions (-rc1, -dev, etc). (https://github.com/protocolbuffers/protobuf/commit/7b0bee3fb50792639fc2bb89fa25afa83316e6b1)
- Avoid boxing/unboxing
varint,fixed32, andfixed64fields inUnknownFieldSet.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.pyifiles. (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
- 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)
- C++
Published by honglooker 5 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v32.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Ship all option dependencies to plugins along with regular ones. (https://github.com/protocolbuffers/protobuf/commit/34d6c85206e33cb9620fcc9fe882111864020d72)
- Unify plugin and built-in generators to use request/response interface (https://github.com/protocolbuffers/protobuf/commit/b98f6ee02113550c1bc7bacbde9909724532723e)
- Disable symbol visibility enforcement by default in C++ runtime (https://github.com/protocolbuffers/protobuf/commit/aad0daacdf3dbaf3bdd0381115231975c28b789d)
C++
- Disable symbol visibility enforcement by default in C++ runtime (https://github.com/protocolbuffers/protobuf/commit/aad0daacdf3dbaf3bdd0381115231975c28b789d)
Java
- Fix handling of optional dependencies in java generator. (https://github.com/protocolbuffers/protobuf/commit/892e0d526e9478814fdedbc576d65ea55c5f71dd)
- 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/4a18be6f448dd5b29026864f4642ef63fe90d83a)
- 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/501f4a52207aebd9642c9f005d27fa6d1011e89f)
- Cherrypick test improvements (https://github.com/protocolbuffers/protobuf/commit/d365736f4f6e4e496deca7051b5fa574c52cc45f)
- Fix handling of optional dependencies in java generator. (https://github.com/protocolbuffers/protobuf/commit/9325480155d79a31985ba54a7f07864dc80389c3)
- Ship all option dependencies to plugins along with regular ones. (https://github.com/protocolbuffers/protobuf/commit/34d6c85206e33cb9620fcc9fe882111864020d72)
- Unify plugin and built-in generators to use request/response interface (https://github.com/protocolbuffers/protobuf/commit/b98f6ee02113550c1bc7bacbde9909724532723e)
Csharp
- Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/299774c2c31bb9bdfd1304489a366f358f394ba8)
PHP
- Fix: remove provide from composer.json (https://github.com/protocolbuffers/protobuf/commit/bc5f3034da72f8703c1b81eab7b994d94d5faa59)
- C++
Published by ericsalo 6 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v32.0
Announcements
- Protobuf 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 optionandoption_depstest 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.syntaxandgoogle.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 weakandweakfield 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 optionandoption_depstest 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 weakandweakfield 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 optionandoption_depswhich 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_VERSIONcheck 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_testrules 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.ccompatibility 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..- for clarity (https://github.com/protocolbuffers/protobuf/commit/e001d57a71c84bce8509ea00f685b718a8b4f435)
- Upgrade Abseil dependency to 20250512.1 (https://github.com/protocolbuffers/protobuf/commit/ee68ed1c0d80d4024893319d7669d66cba2d4d5d)
- Patch
rules_rubyto applyneverlink = Trueto thejarsrule (#21416) (https://github.com/protocolbuffers/protobuf/commit/88e11bd819938bfc3f8a4b09495774b8d2d50cd3)
- C++
Published by anandolee 7 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v32.0-rc2
Announcements
- Protobuf 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_VERSIONcheck 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)
- C++
Published by googleberg 7 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v32.0-rc1
Announcements
- Protobuf 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.syntaxandgoogle.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 weakandweakfield 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 weakandweakfield 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_testrules to run test (#21733) (https://github.com/protocolbuffers/protobuf/commit/4f74764bf3860f76e64f20b8bf359a7bad844876)
Ruby C-Extension
- Removed
wrap_memcpy.ccompatibility 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..- for clarity (https://github.com/protocolbuffers/protobuf/commit/e001d57a71c84bce8509ea00f685b718a8b4f435)
- Upgrade Abseil dependency to 20250512.1 (https://github.com/protocolbuffers/protobuf/commit/ee68ed1c0d80d4024893319d7669d66cba2d4d5d)
- Patch
rules_rubyto applyneverlink = Trueto thejarsrule (#21416) (https://github.com/protocolbuffers/protobuf/commit/88e11bd819938bfc3f8a4b09495774b8d2d50cd3)
- C++
Published by acozzette 7 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v29.5
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Remove fast-path check for non-clang compilers in MessageCreator. (#21612) (https://github.com/protocolbuffers/protobuf/commit/69cca9b7f591ab0edcbd348a5f12ad7103e98f84)
Java
- Add volatile to featuresResolved (#20767) (https://github.com/protocolbuffers/protobuf/commit/128f0aafd9d32dc537fffb6b6fd9aa7f680ee55c)
Python
- Add recursion depth limits to pure python (https://github.com/protocolbuffers/protobuf/commit/05ba1a8104c5cc39a7b00b749883bbd2de8bca79)
- Internal pure python fixes (https://github.com/protocolbuffers/protobuf/commit/1ef3f01c4647df8e63d989489bf1ec1acbcbf8aa)
- Fix: contains check segfaults on empty map (#20446) (#20904) (https://github.com/protocolbuffers/protobuf/commit/21fdb7acdb11fbca234570fa30d2e5687eaf12f6)
Other
- Re-enable aarch64 tests. (#20853) (https://github.com/protocolbuffers/protobuf/commit/03c50e38747da472e47ad1ceae5dfb02fa90ff66)
- C++
Published by jguamie 9 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v31.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Support allowing late injection of language feature set defaults from FeatureSet extensions while getting feature set extension values. (https://github.com/protocolbuffers/protobuf/commit/3419598d4252ac82ef23d80881488283378113c5)
C++
- Support allowing late injection of language feature set defaults from FeatureSet extensions while getting feature set extension values. (https://github.com/protocolbuffers/protobuf/commit/3419598d4252ac82ef23d80881488283378113c5)
Java
- Add missing
coptsattribute (#21982) (https://github.com/protocolbuffers/protobuf/commit/bec5b5a39db05e81415284816cb3785f58ad2d06) - Support allowing late injection of language feature set defaults from FeatureSet extensions while getting feature set extension values. (https://github.com/protocolbuffers/protobuf/commit/3419598d4252ac82ef23d80881488283378113c5)
Python
- Support allowing late injection of language feature set defaults from FeatureSet extensions while getting feature set extension values. (https://github.com/protocolbuffers/protobuf/commit/3419598d4252ac82ef23d80881488283378113c5)
- Python pyi print "import datetime" for Duration/Timestamp field (#21885) (https://github.com/protocolbuffers/protobuf/commit/0fe099acdea70edd98179e2be2b72f97fba2659e)
- Add recursion depth limits to pure python (https://github.com/protocolbuffers/protobuf/commit/a3921fb6d17a2acef96a40d39d8cb29ff8c0db3b)
Other
- Fix cmake staleness test (https://github.com/protocolbuffers/protobuf/commit/96a9ef65f56fbbdb4d6160574fc2e7ba27b6e07a)
- C++
Published by esrauchg 9 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.8
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Java
- Change pre-22 poison pill to only log once per affected message type. (#21754) (https://github.com/protocolbuffers/protobuf/commit/88a3b9033014bfd4185d934bd199191667a67d2a)
- Weaken vulnerable gencode poison pill to a warning by default. (https://github.com/protocolbuffers/protobuf/commit/320eafa0b7ab3c649f75bcbe851e0d3acf868cf3)
Python
- Backport recursion limit enforcement to 25.x (https://github.com/protocolbuffers/protobuf/commit/29445be43d3235115f1f60c874a04c2147ea0488)
- C++
Published by sbenzaquen 9 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v31.0
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Loosen py_proto_library check to be on the import path instead of full directory (i.e. excluding external/module-name prefix). (https://github.com/protocolbuffers/protobuf/commit/a4be867133971b21f0fa4a7523733dd1b62db4c1)
Compiler
- Add support for import option for protoc.(https://github.com/protocolbuffers/protobuf/commit/9901db60704ff248383da620d615bec06f19850e)
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file. (https://github.com/protocolbuffers/protobuf/commit/7a2648649128d5ef36d6d3626328d4007508ba5f)
- Move upb minitable code generator into protoc (https://github.com/protocolbuffers/protobuf/commit/dce6b0f14bd264d2fc9d92a7f5005d7a87b80b02)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
C++
- Remove fast-path check for non-clang compilers in MessageCreator. (https://github.com/protocolbuffers/protobuf/commit/aa5410dd95b9bceeca78e308481a46032ae79cd9)
- Add missing include. (https://github.com/protocolbuffers/protobuf/commit/d39063184a826bd53bc7b78734a39db9f93c8342)
- Add weak attribute to GetClassData to speed up clang builds. (https://github.com/protocolbuffers/protobuf/commit/d8964801b196a65cb9ab26f7c17872993c76b140)
- Add nontemporal software prefetcher to repeated ptr field dtor to improve performance. (https://github.com/protocolbuffers/protobuf/commit/73f34695e6cd1124f4e64e9173e94866789691af)
- Warn on unused RepeatedPtrField. (https://github.com/protocolbuffers/protobuf/commit/683e9d2365273c951c89a377b678898ea083e178)
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file. (https://github.com/protocolbuffers/protobuf/commit/7a2648649128d5ef36d6d3626328d4007508ba5f)
- Fix a bug in handling of implicit-presence string_view fields. (https://github.com/protocolbuffers/protobuf/commit/bd70a7cc7bbbc6ce039e998d3778351e22d10bd4)
- Control bounds checks via BUILD flags. (https://github.com/protocolbuffers/protobuf/commit/d21e8ef1d521576d4add656138afb1725204f394)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
- Create hardened versions of
GetandMutablefor repeated_field. (https://github.com/protocolbuffers/protobuf/commit/ffade4a9f5a7b0728457855049e61d621ed529ec)
Java
- Add weak attribute to GetClassData to speed up clang builds. (https://github.com/protocolbuffers/protobuf/commit/d8964801b196a65cb9ab26f7c17872993c76b140)
- Use ProtobufToStringOutput to control the output format of AbstractMessage.Builder.toString. (https://github.com/protocolbuffers/protobuf/commit/f5cb16242d15d4c6159f51b048f0dc76387827a2)
- Implement Protobuf Java Immutable API
nest_in_file_classfeature for Edition 2024. (https://github.com/protocolbuffers/protobuf/commit/0416c3e1073ac08fe99fbd964833bae70e3c6cd0) - Introduce a
Generatedannotation to eventually replacejavax.annotation.Generated(https://github.com/protocolbuffers/protobuf/commit/31e57fc64a87d52a57d3373d7088c60a84ae79ff) - Add volatile to featuresResolved (https://github.com/protocolbuffers/protobuf/commit/9e03ca531fb8eccd841f022ca57cac757a2c5624)
- Fix Java concurrency issue in feature resolution for old <=3.25.x gencode using lazy feature resolution. (https://github.com/protocolbuffers/protobuf/commit/fafb0fd5db2d0d7c590e65dbb57e100ec1a802f6)
- Remove Java runtime classes from kotlin release. (https://github.com/protocolbuffers/protobuf/commit/079be27925955348d1b3cb30ffbfa33dcec5778c)
- Split maven dependencies into dev vs local (#20549) (https://github.com/protocolbuffers/protobuf/commit/e045fc60cf7e43a840d147138338ad5b2913fe7a)
- Improve error messaging when detecting and erroring out on integer overflow of byte count limit variables. (https://github.com/protocolbuffers/protobuf/commit/097fdb86ff7017c425ff90ee55caf97027888f40)
Kotlin
- Remove Java runtime classes from kotlin release. (https://github.com/protocolbuffers/protobuf/commit/079be27925955348d1b3cb30ffbfa33dcec5778c)
Csharp
- Remove "experimental API" warnings from members in the .NET protobuf runtime. (https://github.com/protocolbuffers/protobuf/commit/afea52fb44e826601f5936fda9110670cfc0f1aa)
- Improve performace of repeated packed fixedSize fields (#19667) (https://github.com/protocolbuffers/protobuf/commit/85507b98a603bfee2ee0685f7825e5e903e1716a)
Objective-C
- [ObjC] Deprecate
GPBFieldDescriptor.isOptional. (https://github.com/protocolbuffers/protobuf/commit/86ab252a9f5990ec804e14e84efd6a24169fdf8a) - [ObjC] Raise the library version and enable new generated code. (https://github.com/protocolbuffers/protobuf/commit/a639cf8548d4c1596575005d84cc13bb8705b1d9)
Rust
- Cherry-pick Rust fix to 31.x (#21617) (https://github.com/protocolbuffers/protobuf/commit/01b42bbd549c8f30ef9a27cd4964a7ae2632955a)
- Add upb_Map_GetMutable API to upb (https://github.com/protocolbuffers/protobuf/commit/dd5bf5e9b24d0462b981da05f4dcfd1499a4686c)
- See also UPB changes below, which may affect Rust.
Python
- Update GetCurrentTime to use datetime.datetime.now (https://github.com/protocolbuffers/protobuf/commit/01b154c85317e1ddaf0da7a125fc3d5c34f85d7b)
- Make Py JSON
float_precisionapply to both float and double fields. (https://github.com/protocolbuffers/protobuf/commit/5b54ee3c91e9d6d7790488aed35b3f6b7d081281) - -Add '+' and '-' annotations for Timestamp and Duration in Python (https://github.com/protocolbuffers/protobuf/commit/fff783ef874ed6b1f88e567a610757933516f21e)
- Bug fix for
FieldMask.MergeFrom()with unset fields. (https://github.com/protocolbuffers/protobuf/commit/1c87ac371607546d2971aae619a7d72ac19f4159) - Make python text_format able to skip unknown fields for repeated messages (https://github.com/protocolbuffers/protobuf/commit/dcafca20856007ca2e00426d3a477184ff8f026d)
- Fix segment fault for UPB Pyhon 'in' method of empty repeated extensions (https://github.com/protocolbuffers/protobuf/commit/da04261f2bf8a023458171cd95e7b375dfce1161)
- Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field (https://github.com/protocolbuffers/protobuf/commit/b23430512ad9bcf6d392aa77e428855e3bc842e6)
- Check with fallback descriptorDB for FindExtensionByNumber()/FindAllExtensions in UPB python pool. (https://github.com/protocolbuffers/protobuf/commit/9fd28d969ee326eb8492893d9c17f587dcdcd849)
- Add clear() method to repeated fields in Python. (https://github.com/protocolbuffers/protobuf/commit/0324f39dabc605c11e56241b374da700bc9e3d62)
- Register Scalar/MessageMapContainerTypes as virtual subclasses of (https://github.com/protocolbuffers/protobuf/commit/9a0b5914cb0a6e0f5eb898df25c4b55fa79e346a)
- Fix python codegen crash when C++ features are used. (https://github.com/protocolbuffers/protobuf/commit/308aaf47686229b7c6f5f9534e254910cebd28c2)
- Add more detail to the comment for GetMessageClassesForFiles (https://github.com/protocolbuffers/protobuf/commit/9befb58bf3e0d0179e06a554968c1a8e5e72a1f4)
- Add constructing unpack routine to Python Protobuf Any API. (https://github.com/protocolbuffers/protobuf/commit/fb78c09e1671eed5321bc41816e4656bf966cfa3)
- Implement typing for proto Timestamp/Duration assignments. (https://github.com/protocolbuffers/protobuf/commit/0e3326bbbbf42641a6c8392bde3ebff5d2b53b22)
PHP
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Feat(php): improve return typehint when repeatedfield (#11734) (https://github.com/protocolbuffers/protobuf/commit/e04fe69a9f5fa44a89ef3b4410363776101eac0d)
PHP C-Extension
- Automated rollback of commit f9863dfd3c98278e703be0e3c19ded2d09e60fde. (#21355) (https://github.com/protocolbuffers/protobuf/commit/a59988ceac3295d2bfd702fef807a9d18cdde067)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Feat(php): improve return typehint when repeatedfield (#11734) (https://github.com/protocolbuffers/protobuf/commit/e04fe69a9f5fa44a89ef3b4410363776101eac0d)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Fix silent failure of
rb_testrules to run test (#21733) (https://github.com/protocolbuffers/protobuf/commit/0cf5489ca0f42df903ba1abd1f5f0a75aa95f045) - Ruby | Add support for a protobuf debug build (#21060) (https://github.com/protocolbuffers/protobuf/commit/59e1f0f6bdb85e93b60f7d9e36985be2c290578b)
- Ruby | Support installing the gem via git and some other small build tweaks (#21061) (https://github.com/protocolbuffers/protobuf/commit/d3560e72e791cb61c24df2a1b35946efbd972738)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- [Ruby]Implement
#to_hashfor message classes (#20866) (https://github.com/protocolbuffers/protobuf/commit/5596f6d8afc72e99c19d2c72e8d39e6d2e88acf4) - Drop Ruby 3.0 (https://github.com/protocolbuffers/protobuf/commit/5de7c80e325a254081a5b08b47783b39b19ec1d9)
- Fixes #18726 by backslash escaping descriptor data containing
#if the hashmark appears immediately before any of$,{, or@. (https://github.com/protocolbuffers/protobuf/commit/fffa3da9845491f76173d1eafe4fe914811c0ea7) - Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Ruby: fix bug in Map.hash (https://github.com/protocolbuffers/protobuf/commit/b968d0daa86158039de22887e4ac3914b77ea4b0)
Ruby C-Extension
- Ruby | Add support for a protobuf debug build (#21060) (https://github.com/protocolbuffers/protobuf/commit/59e1f0f6bdb85e93b60f7d9e36985be2c290578b)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Ruby: fix bug in Map.hash (https://github.com/protocolbuffers/protobuf/commit/b968d0daa86158039de22887e4ac3914b77ea4b0)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Fixed LTO-only linker error in upb linker arrays. (https://github.com/protocolbuffers/protobuf/commit/3434a21151055b597915f6ff94255a1a195a9ed5)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Add upb_Map_GetMutable API to upb (https://github.com/protocolbuffers/protobuf/commit/dd5bf5e9b24d0462b981da05f4dcfd1499a4686c)
- Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field (https://github.com/protocolbuffers/protobuf/commit/b23430512ad9bcf6d392aa77e428855e3bc842e6)
- Upb: delete functions in map_gencode_util. They're unused after the Map iterator API change. (https://github.com/protocolbuffers/protobuf/commit/f3988070e937e401efb6b81b37a461cfe2f27efb)
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API. (https://github.com/protocolbuffers/protobuf/commit/e4cdf44dd221e05aa2a62f739e08718af54842f9)
- Change upb C generated map iteration function to not hand out MapEntry pointers. (https://github.com/protocolbuffers/protobuf/commit/3a3d69768b80ab131e633ea869b9c29167a1916c)
- Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Expose the
upb_ByteSizefunction to upb clients. Note that the current naive implementation is no more efficient than serializing the message yourself and noting the resulting size. (https://github.com/protocolbuffers/protobuf/commit/121fdaa49ba83faf4b9ff346a4b5dbc1105caa12) - Move upb minitable code generator into protoc (https://github.com/protocolbuffers/protobuf/commit/dce6b0f14bd264d2fc9d92a7f5005d7a87b80b02)
- Tolerate message set extensions encoded as normal deliminited submessages (https://github.com/protocolbuffers/protobuf/commit/c63fd563095adae535732b9464f4ab99f31c1bb4)
- Automated rollback of commit 6bde8c417770097457e9137036eb00595a1f7bda. (https://github.com/protocolbuffers/protobuf/commit/8ef81fbd928bd820d9bb318bfb6243c1ddb51c54)
- Fix UPB fast table build. (https://github.com/protocolbuffers/protobuf/commit/46f9e29d1a0151aa3432e463b2f8efeacb92c87a)
Other
- Patch
rules_rubyto applyneverlink = Trueto thejarsrule (#21416) (#21505) (https://github.com/protocolbuffers/protobuf/commit/664d94a5f6a8408939fd4d8a87624292a844c1c9) - Restore JDK8 compatibility in Bazel for libraries with dependencies from Maven (e.g. //java/util) (https://github.com/protocolbuffers/protobuf/commit/e8edc5d5e72fa091b0086b4a6d12af0bb66d664b)
- Protobuf: add //:go_features_proto Bazel alias (https://github.com/protocolbuffers/protobuf/commit/f79be3e55ce60e583c7e07bda4ccbbe42ca1ee84)
- Fixes -lpthread problem when building with android_arm64 config (#20337) (https://github.com/protocolbuffers/protobuf/commit/4f5968a208ea0f7b9835708b6ce16df69dd3e450)
- C++
Published by shaod2 10 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v31.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Add support for import option for protoc.(https://github.com/protocolbuffers/protobuf/commit/9901db60704ff248383da620d615bec06f19850e)
PHP
PHP C-Extension
- Automated rollback of commit f9863dfd3c98278e703be0e3c19ded2d09e60fde. (#21355) (https://github.com/protocolbuffers/protobuf/commit/a59988ceac3295d2bfd702fef807a9d18cdde067)
Other
- Patch
rules_rubyto applyneverlink = Trueto thejarsrule (#21416) (#21505) (https://github.com/protocolbuffers/protobuf/commit/664d94a5f6a8408939fd4d8a87624292a844c1c9)
- C++
Published by zhangskz 10 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.7
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Make rules_ruby a dev-only dependency. (#20575) (https://github.com/protocolbuffers/protobuf/commit/2dac90d6459fd46c874af0bee6c277882eaa329a)
C++
- Make rules_ruby a dev-only dependency. (#20575) (https://github.com/protocolbuffers/protobuf/commit/2dac90d6459fd46c874af0bee6c277882eaa329a)
PHP
- Fix(php): do not throw deprecated warning on field getters for default values (#21033) (https://github.com/protocolbuffers/protobuf/commit/a4dc75f3e8505a497395443e99c76cfceb8c9d0d)
Ruby
- Make rules_ruby a dev-only dependency. (#20575) (https://github.com/protocolbuffers/protobuf/commit/2dac90d6459fd46c874af0bee6c277882eaa329a)
Other
- Update test_cpp.yml (https://github.com/protocolbuffers/protobuf/commit/96fca23a108d19f8baebb2f1e5d9efe995518c4c)
- Backport bumps to aarch64 runners (https://github.com/protocolbuffers/protobuf/commit/d4a4426b638210747483d04537425e224700aadf)
- C++
Published by haberman 10 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v31.0-rc1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Loosen py_proto_library check to be on the import path instead of full directory (i.e. excluding external/module-name prefix). (https://github.com/protocolbuffers/protobuf/commit/a4be867133971b21f0fa4a7523733dd1b62db4c1)
Compiler
- Implement Protobuf Java Immutable API
nest_in_file_classfeature for Edition 2024. (https://github.com/protocolbuffers/protobuf/commit/0416c3e1073ac08fe99fbd964833bae70e3c6cd0) - Fix python codegen crash when C++ features are used. (https://github.com/protocolbuffers/protobuf/commit/308aaf47686229b7c6f5f9534e254910cebd28c2)
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file. (https://github.com/protocolbuffers/protobuf/commit/7a2648649128d5ef36d6d3626328d4007508ba5f)
- Move upb minitable code generator into protoc (https://github.com/protocolbuffers/protobuf/commit/dce6b0f14bd264d2fc9d92a7f5005d7a87b80b02)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
C++
- Add weak attribute to GetClassData to speed up clang builds. (https://github.com/protocolbuffers/protobuf/commit/d8964801b196a65cb9ab26f7c17872993c76b140)
- Implement Protobuf Java Immutable API
nest_in_file_classfeature for Edition 2024. (https://github.com/protocolbuffers/protobuf/commit/0416c3e1073ac08fe99fbd964833bae70e3c6cd0) - Add nontemporal software prefetcher to repeated ptr field dtor to improve performance. (https://github.com/protocolbuffers/protobuf/commit/73f34695e6cd1124f4e64e9173e94866789691af)
- Warn on unused RepeatedPtrField. (https://github.com/protocolbuffers/protobuf/commit/683e9d2365273c951c89a377b678898ea083e178)
- Fix python codegen crash when C++ features are used. (https://github.com/protocolbuffers/protobuf/commit/308aaf47686229b7c6f5f9534e254910cebd28c2)
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file. (https://github.com/protocolbuffers/protobuf/commit/7a2648649128d5ef36d6d3626328d4007508ba5f)
- Fix a bug in handling of implicit-presence string_view fields. (https://github.com/protocolbuffers/protobuf/commit/bd70a7cc7bbbc6ce039e998d3778351e22d10bd4)
- Move upb minitable code generator into protoc (https://github.com/protocolbuffers/protobuf/commit/dce6b0f14bd264d2fc9d92a7f5005d7a87b80b02)
- Control bounds checks via BUILD flags. (https://github.com/protocolbuffers/protobuf/commit/d21e8ef1d521576d4add656138afb1725204f394)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
- Create hardened versions of
GetandMutablefor repeated_field. (https://github.com/protocolbuffers/protobuf/commit/ffade4a9f5a7b0728457855049e61d621ed529ec)
Java
- Add weak attribute to GetClassData to speed up clang builds. (https://github.com/protocolbuffers/protobuf/commit/d8964801b196a65cb9ab26f7c17872993c76b140)
- Use ProtobufToStringOutput to control the output format of AbstractMessage.Builder.toString. (https://github.com/protocolbuffers/protobuf/commit/f5cb16242d15d4c6159f51b048f0dc76387827a2)
- Implement Protobuf Java Immutable API
nest_in_file_classfeature for Edition 2024. (https://github.com/protocolbuffers/protobuf/commit/0416c3e1073ac08fe99fbd964833bae70e3c6cd0) - Introduce a
Generatedannotation to eventually replacejavax.annotation.Generated(https://github.com/protocolbuffers/protobuf/commit/31e57fc64a87d52a57d3373d7088c60a84ae79ff) - Introduce Java NestInFileClass feature in java_features.proto for Edition 2024. (https://github.com/protocolbuffers/protobuf/commit/c8ff7629a56b65399cde3ae3dbd9d8d95a6b4e8b)
- Add volatile to featuresResolved (https://github.com/protocolbuffers/protobuf/commit/9e03ca531fb8eccd841f022ca57cac757a2c5624)
- Fix Java concurrency issue in feature resolution for old <=3.25.x gencode using lazy feature resolution. (https://github.com/protocolbuffers/protobuf/commit/fafb0fd5db2d0d7c590e65dbb57e100ec1a802f6)
- Automated rollback of commit 1d4b6bac6e5d5d889bf38ecce44afa93e3cc03e2. (https://github.com/protocolbuffers/protobuf/commit/1df3ddea58818a26001f1259118407e96a6c7ab1)
- Remove Java runtime classes from kotlin release. (https://github.com/protocolbuffers/protobuf/commit/079be27925955348d1b3cb30ffbfa33dcec5778c)
- Split maven dependencies into dev vs local (#20549) (https://github.com/protocolbuffers/protobuf/commit/e045fc60cf7e43a840d147138338ad5b2913fe7a)
- Automated rollback of commit 6d2f6fcf6609792798a5bfd1d078b00682c38765. (https://github.com/protocolbuffers/protobuf/commit/055297bc2e66b94aad201cb62c12f9ec1b5d4b3a)
- Improve error messaging when detecting and erroring out on integer overflow of byte count limit variables. (https://github.com/protocolbuffers/protobuf/commit/097fdb86ff7017c425ff90ee55caf97027888f40)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
Kotlin
- Remove Java runtime classes from kotlin release. (https://github.com/protocolbuffers/protobuf/commit/079be27925955348d1b3cb30ffbfa33dcec5778c)
Csharp
- Remove "experimental API" warnings from members in the .NET protobuf runtime. (https://github.com/protocolbuffers/protobuf/commit/afea52fb44e826601f5936fda9110670cfc0f1aa)
- Improve performace of repeated packed fixedSize fields (#19667) (https://github.com/protocolbuffers/protobuf/commit/85507b98a603bfee2ee0685f7825e5e903e1716a)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
Objective-C
- [ObjC] Deprecate
GPBFieldDescriptor.isOptional. (https://github.com/protocolbuffers/protobuf/commit/86ab252a9f5990ec804e14e84efd6a24169fdf8a) - [ObjC] Raise the library version and enable new generated code. (https://github.com/protocolbuffers/protobuf/commit/a639cf8548d4c1596575005d84cc13bb8705b1d9)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
Rust
- Add upb_Map_GetMutable API to upb (https://github.com/protocolbuffers/protobuf/commit/dd5bf5e9b24d0462b981da05f4dcfd1499a4686c)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
- See also UPB changes below, which may affect Rust.
Python
- Update GetCurrentTime to use datetime.datetime.now (https://github.com/protocolbuffers/protobuf/commit/01b154c85317e1ddaf0da7a125fc3d5c34f85d7b)
- Make Py JSON
float_precisionapply to both float and double fields. (https://github.com/protocolbuffers/protobuf/commit/5b54ee3c91e9d6d7790488aed35b3f6b7d081281) - -Add '+' and '-' annotations for Timestamp and Duration in Python (https://github.com/protocolbuffers/protobuf/commit/fff783ef874ed6b1f88e567a610757933516f21e)
- Bug fix for
FieldMask.MergeFrom()with unset fields. (https://github.com/protocolbuffers/protobuf/commit/1c87ac371607546d2971aae619a7d72ac19f4159) - Make python text_format able to skip unknown fields for repeated messages (https://github.com/protocolbuffers/protobuf/commit/dcafca20856007ca2e00426d3a477184ff8f026d)
- Fix segment fault for UPB Pyhon 'in' method of empty repeated extensions (https://github.com/protocolbuffers/protobuf/commit/da04261f2bf8a023458171cd95e7b375dfce1161)
- Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field (https://github.com/protocolbuffers/protobuf/commit/b23430512ad9bcf6d392aa77e428855e3bc842e6)
- Check with fallback descriptorDB for FindExtensionByNumber()/FindAllExtensions in UPB python pool. (https://github.com/protocolbuffers/protobuf/commit/9fd28d969ee326eb8492893d9c17f587dcdcd849)
- Add clear() method to repeated fields in Python. (https://github.com/protocolbuffers/protobuf/commit/0324f39dabc605c11e56241b374da700bc9e3d62)
- Register Scalar/MessageMapContainerTypes as virtual subclasses of (https://github.com/protocolbuffers/protobuf/commit/9a0b5914cb0a6e0f5eb898df25c4b55fa79e346a)
- Fix python codegen crash when C++ features are used. (https://github.com/protocolbuffers/protobuf/commit/308aaf47686229b7c6f5f9534e254910cebd28c2)
- Add more detail to the comment for GetMessageClassesForFiles (https://github.com/protocolbuffers/protobuf/commit/9befb58bf3e0d0179e06a554968c1a8e5e72a1f4)
- Add constructing unpack routine to Python Protobuf Any API. (https://github.com/protocolbuffers/protobuf/commit/fb78c09e1671eed5321bc41816e4656bf966cfa3)
- Implement typing for proto Timestamp/Duration assignments. (https://github.com/protocolbuffers/protobuf/commit/0e3326bbbbf42641a6c8392bde3ebff5d2b53b22)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
PHP
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Feat(php): improve return typehint when repeatedfield (#11734) (https://github.com/protocolbuffers/protobuf/commit/e04fe69a9f5fa44a89ef3b4410363776101eac0d)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
PHP C-Extension
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Feat(php): improve return typehint when repeatedfield (#11734) (https://github.com/protocolbuffers/protobuf/commit/e04fe69a9f5fa44a89ef3b4410363776101eac0d)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Ruby | Add support for a protobuf debug build (#21060) (https://github.com/protocolbuffers/protobuf/commit/59e1f0f6bdb85e93b60f7d9e36985be2c290578b)
- Ruby | Support installing the gem via git and some other small build tweaks (#21061) (https://github.com/protocolbuffers/protobuf/commit/d3560e72e791cb61c24df2a1b35946efbd972738)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- [Ruby]Implement
#to_hashfor message classes (#20866) (https://github.com/protocolbuffers/protobuf/commit/5596f6d8afc72e99c19d2c72e8d39e6d2e88acf4) - Drop Ruby 3.0 (https://github.com/protocolbuffers/protobuf/commit/5de7c80e325a254081a5b08b47783b39b19ec1d9)
- Fixes #18726 by backslash escaping descriptor data containing
#if the hashmark appears immediately before any of$,{, or@. (https://github.com/protocolbuffers/protobuf/commit/fffa3da9845491f76173d1eafe4fe914811c0ea7) - Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
- Ruby: fix bug in Map.hash (https://github.com/protocolbuffers/protobuf/commit/b968d0daa86158039de22887e4ac3914b77ea4b0)
Ruby C-Extension
- Ruby | Add support for a protobuf debug build (#21060) (https://github.com/protocolbuffers/protobuf/commit/59e1f0f6bdb85e93b60f7d9e36985be2c290578b)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Ruby: fix bug in Map.hash (https://github.com/protocolbuffers/protobuf/commit/b968d0daa86158039de22887e4ac3914b77ea4b0)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Fixed LTO-only linker error in upb linker arrays. (https://github.com/protocolbuffers/protobuf/commit/3434a21151055b597915f6ff94255a1a195a9ed5)
- Deprecate Descriptor Label. As an alternative, add helper methods for checking whether a field is required or repeated. (https://github.com/protocolbuffers/protobuf/commit/d82de8f147be07e7a10c5c395505f0a662a911f2)
- Add upb_Map_GetMutable API to upb (https://github.com/protocolbuffers/protobuf/commit/dd5bf5e9b24d0462b981da05f4dcfd1499a4686c)
- Fix upb to escape DefinitelyNeedsEscape (like " and ') for bytes field (https://github.com/protocolbuffers/protobuf/commit/b23430512ad9bcf6d392aa77e428855e3bc842e6)
- Upb: delete functions in map_gencode_util. They're unused after the Map iterator API change. (https://github.com/protocolbuffers/protobuf/commit/f3988070e937e401efb6b81b37a461cfe2f27efb)
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API. (https://github.com/protocolbuffers/protobuf/commit/e4cdf44dd221e05aa2a62f739e08718af54842f9)
- Change upb C generated map iteration function to not hand out MapEntry pointers. (https://github.com/protocolbuffers/protobuf/commit/3a3d69768b80ab131e633ea869b9c29167a1916c)
- Ruby: Allow to get a file descriptor by a file name (#20287) (https://github.com/protocolbuffers/protobuf/commit/c3985925490e88a95ec4aac21b69759eb09ae896)
- Expose the
upb_ByteSizefunction to upb clients. Note that the current naive implementation is no more efficient than serializing the message yourself and noting the resulting size. (https://github.com/protocolbuffers/protobuf/commit/121fdaa49ba83faf4b9ff346a4b5dbc1105caa12) - Move upb minitable code generator into protoc (https://github.com/protocolbuffers/protobuf/commit/dce6b0f14bd264d2fc9d92a7f5005d7a87b80b02)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (https://github.com/protocolbuffers/protobuf/commit/ba6b54d6bcd5c118fda1cc20ab7afaba4b4ef93d)
- Tolerate message set extensions encoded as normal deliminited submessages (https://github.com/protocolbuffers/protobuf/commit/c63fd563095adae535732b9464f4ab99f31c1bb4)
- Automated rollback of commit 6bde8c417770097457e9137036eb00595a1f7bda. (https://github.com/protocolbuffers/protobuf/commit/8ef81fbd928bd820d9bb318bfb6243c1ddb51c54)
- Fix UPB fast table build. (https://github.com/protocolbuffers/protobuf/commit/46f9e29d1a0151aa3432e463b2f8efeacb92c87a)
Other
- Restore JDK8 compatibility in Bazel for libraries with dependencies from Maven (e.g. //java/util) (https://github.com/protocolbuffers/protobuf/commit/e8edc5d5e72fa091b0086b4a6d12af0bb66d664b)
- Protobuf: add //:go_features_proto Bazel alias (https://github.com/protocolbuffers/protobuf/commit/f79be3e55ce60e583c7e07bda4ccbbe42ca1ee84)
- Fixes -lpthread problem when building with android_arm64 config (#20337) (https://github.com/protocolbuffers/protobuf/commit/4f5968a208ea0f7b9835708b6ce16df69dd3e450)
- C++
Published by JasonLunn 11 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v30.2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Restore generator headers in cmake install until the next breaking C++ release (#20749) (https://github.com/protocolbuffers/protobuf/commit/b69f653d6ebc90d88032b8cc82d626758a74ef77)
C++
- Remove dllexport attribute on variable definition. (#20833) (https://github.com/protocolbuffers/protobuf/commit/783166965aa8808ec1b74d4890088e3b0799ac08)
- Restore generator headers in cmake install until the next breaking C++ release (#20749) (https://github.com/protocolbuffers/protobuf/commit/b69f653d6ebc90d88032b8cc82d626758a74ef77)
- Change how we decide which empty string implementation to use. (#20708) (https://github.com/protocolbuffers/protobuf/commit/221b2a0081ebdba6cf3b7278bf65528316ba4480)
Java
- Remove dllexport attribute on variable definition. (#20833) (https://github.com/protocolbuffers/protobuf/commit/783166965aa8808ec1b74d4890088e3b0799ac08)
- Add protobuf_maven artifacts to protobuf_maven_dev as well so they can still be referenced correctly using the dev namespace for dev-only targets. (#20771) (https://github.com/protocolbuffers/protobuf/commit/09b5078524d60917d1fa8c635bcee52e608f2f04)
- Add volatile to featuresResolved (#20766) (https://github.com/protocolbuffers/protobuf/commit/b7f06f1ed07a463a9279f7019653fe6c3e90282d)
- Restore generator headers in cmake install until the next breaking C++ release (#20749) (https://github.com/protocolbuffers/protobuf/commit/b69f653d6ebc90d88032b8cc82d626758a74ef77)
- Restore custom protobuf maven namespaces to avoid polluting main maven namespace for non-dev dependencies as well. (#20739) (https://github.com/protocolbuffers/protobuf/commit/f4b0a79783aa1c579bfe005908f723fdc6d68169)
- Fix Java concurrency issue in feature resolution for old <=3.25.x gencode using lazy feature resolution. (#20751) (https://github.com/protocolbuffers/protobuf/commit/2dc9f35e83f4b55e58443421266b0f9a158d91dd)
- Fix lite classes in the protobuf-java Maven release to be JDK8 compatible. (#20843) (https://github.com/protocolbuffers/protobuf/commit/7a4c63bac3451b8adf8dd51e9c16ed74d4cbc662)
Kotlin
- Restore custom protobuf maven namespaces to avoid polluting main maven namespace for non-dev dependencies as well. (#20739) (https://github.com/protocolbuffers/protobuf/commit/f4b0a79783aa1c579bfe005908f723fdc6d68169)
Csharp
- Restore generator headers in cmake install until the next breaking C++ release (#20749) (https://github.com/protocolbuffers/protobuf/commit/b69f653d6ebc90d88032b8cc82d626758a74ef77)
Objective-C
- Restore generator headers in cmake install until the next breaking C++ release (#20749) (https://github.com/protocolbuffers/protobuf/commit/b69f653d6ebc90d88032b8cc82d626758a74ef77)
Python
- Restore generator headers in cmake install until the next breaking C++ release (#20749) (https://github.com/protocolbuffers/protobuf/commit/b69f653d6ebc90d88032b8cc82d626758a74ef77)
Ruby
- Restore generator headers in cmake install until the next breaking C++ release (#20749) (https://github.com/protocolbuffers/protobuf/commit/b69f653d6ebc90d88032b8cc82d626758a74ef77)
Other
- Restore JDK8 compatibility in Bazel for libraries with dependencies from Maven (e.g. //java/util) (#20832) (https://github.com/protocolbuffers/protobuf/commit/da9cadcb975654e3d158796b642ec27ba5f4509d)
- C++
Published by honglooker 11 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v29.4
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Java
- Fix Java concurrency issue in feature resolution for old <=3.25.x gencode using lazy feature resolution. (#20750) (https://github.com/protocolbuffers/protobuf/commit/ce5990778f1196b0eb57088be54957cbd55d0c3e)
- C++
Published by mkruskal-google 12 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v30.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Loosen py_proto_library check to be on the import path instead of full directory (i.e. excluding external/module-name prefix). (#20569) (https://github.com/protocolbuffers/protobuf/commit/3576a1f8732c4a42df90e406e07326198182b6fb)
Compiler
- Fix python codegen crash when C++ features are used. (#20577) (https://github.com/protocolbuffers/protobuf/commit/250c5502fa436e82fca50937db7d28f43855b09e)
C++
- Fix python codegen crash when C++ features are used. (#20577) (https://github.com/protocolbuffers/protobuf/commit/250c5502fa436e82fca50937db7d28f43855b09e)
Java
- Remove Java runtime classes from kotlin release. (#20607) (https://github.com/protocolbuffers/protobuf/commit/4747628cce300d58e3bb0da4f3ee7cbfa1ac853b)
Kotlin
- Remove Java runtime classes from kotlin release. (#20607) (https://github.com/protocolbuffers/protobuf/commit/4747628cce300d58e3bb0da4f3ee7cbfa1ac853b)
Python
- Fix python codegen crash when C++ features are used. (#20577) (https://github.com/protocolbuffers/protobuf/commit/250c5502fa436e82fca50937db7d28f43855b09e)
Other
- Re-add
system_pythonrepo alias to MODULE.bazel (#20662) (https://github.com/protocolbuffers/protobuf/commit/ebb5224493150126861ce2e192d7ae244bfea1df)
- C++
Published by ericsalo 12 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v30.0
Announcements
- This version includes breaking changes to: Objective-C, Python, C++.
- [Objective-C] Remove legacy WKT headers. (https://github.com/protocolbuffers/protobuf/commit/d9caebc313256ea2f5c6922113c1f3edf14b24ad)
- [Objective-C] Remove deprecated apis. (https://github.com/protocolbuffers/protobuf/commit/2a52b900a1b71d57fc68624a989145f57abefdf1)
- [Objective-C] Remove support for older generated code. (https://github.com/protocolbuffers/protobuf/commit/cffa5902606ee3ebf23214b80251722b3654d5be)
- [Objective-C] Remove GPBUnknownFieldSet. (https://github.com/protocolbuffers/protobuf/commit/2b93422f7eea500b26d1a9aaf7d07b3120f83d39)
- [Python] Fix closed enum validation under editions (https://github.com/protocolbuffers/protobuf/commit/72b3eda2ec385863d7416f067f6cd0cefeed72bb)
- [Python] Remove deprecated GetDebugString() from protobuf python cpp extension. (https://github.com/protocolbuffers/protobuf/commit/721a45265b4e1d0f18d6775a0f1bafffdfc3088e)
- [Python] Remove deprecated reflection methods (https://github.com/protocolbuffers/protobuf/commit/292f9646797d9e23fc66ba70fbda5903f2301ff0)
- [Python] Remove deprecated GetPrototype MessageFactory.GetPrototype(), (https://github.com/protocolbuffers/protobuf/commit/c261b49a9575226efc9e5d269f6e5319a05d526e)
- [Python] Python nested message class qualname now contains the outer message name. (Previous qualname has the same result with name for nested message that outer message name was not included) (https://github.com/protocolbuffers/protobuf/commit/0720536eca20ca2f801127869d7f1211bceb3865)
- [Python] Remove deprecated Python RPC Service Interfaces (https://github.com/protocolbuffers/protobuf/commit/5ba74b11e8d2bd5e9b22e972beb572668bf6191c)
- [Python] Python setdefault behavior change for map field. (https://github.com/protocolbuffers/protobuf/commit/81da6b999a8229942436f6c203a20633c65ebd26)
- [Python] Remove deprecated py_proto_library macro.
- [C++] Prohibit using Bazel+MSVC to build protobuf (https://github.com/protocolbuffers/protobuf/commit/117e7bbe74ac7c7faa9b6f44c1b22de366302854)
- [C++] Remove deprecated Arena::CreateMessage. (https://github.com/protocolbuffers/protobuf/commit/d83a5365d16cff4be7da7d9a34eef14b24cc8733)
- [C++] Remove CMake submodule support in favor of fetched or installed dependencies. (https://github.com/protocolbuffers/protobuf/commit/3f06ca4306a682e6ee631d8ea94b82baaafb14f0)
- [C++] Flip default behavior for handling cmake dependencies. (https://github.com/protocolbuffers/protobuf/commit/9cc685edf867acf5024a94502a3cbd7afa7a3daa)
- [C++] Add ASAN poisoning after clearing oneof messages on arena. (https://github.com/protocolbuffers/protobuf/commit/54d068e11c77ed387b97a60f435998b384e36e34)
- [C++] Upgrade return type of
type_name()andcpp_type_name()fromconst char*toabsl::string_view. (https://github.com/protocolbuffers/protobuf/commit/a9ad51f5b6a19eacc934bcb51db6282ec1fabb8c) - [C++] Remove deprecated RepeatedPtrField::ClearedCount(). (https://github.com/protocolbuffers/protobuf/commit/e8e3253f63f52d314af0e317d09642b9ceb1b40e)
- [C++] Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - [C++] Strip ctype from options in C++ (https://github.com/protocolbuffers/protobuf/commit/aebf8b9459f1da347a353c2fbbfe76230a457209)
- [C++] Remove
MutableRepeatedFieldRef::Reserve()in reflection (https://github.com/protocolbuffers/protobuf/commit/913f7b0c6d3c3e9876aea913b0d83bbd7fffe22c) - [C++] Remove deprecated JsonOptions alias. (https://github.com/protocolbuffers/protobuf/commit/e2eb0a19aa95497c8979d71031edbbab721f5f0a)
- [C++] Remove deprecated Arena::GetArena. (https://github.com/protocolbuffers/protobuf/commit/30ed452eddacace2c3270dce9645b8f1f453ae4b)
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
- Migration Guide will include migration guides for breaking changes (to be updated shortly).
Bazel
- Remove reference to cc_proto_aspect (https://github.com/protocolbuffers/protobuf/commit/fa02f768e3a793195e62ad70f9694106b893b0f3)
- Remove deprecated bazel/system_python.bzl alias. (https://github.com/protocolbuffers/protobuf/commit/00f108c07807e73188f0baf51ba90ad527463f84)
Compiler
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file. (https://github.com/protocolbuffers/protobuf/commit/a7df327bcdcecd09fcf7c987daa75714221c396e)
- Have the protoc CLI properly report any parser warnings. (https://github.com/protocolbuffers/protobuf/commit/cafeaa41fb3c8d67eef0de11ed60ff539fd3318f)
- Split protoc apart from libprotoc in our cmake configs. (https://github.com/protocolbuffers/protobuf/commit/b4b93b36245a88a3efa19261638f5da61a9be44f)
- Begin adding extension numbers to SourceCodeInfo and FileDescriptorSet for tooling purposes. (https://github.com/protocolbuffers/protobuf/commit/9d7236b421634afcecc24b6fd63da0ff5b506394)
- Fix various unsigned to signed comparison warnings. (#17212) (https://github.com/protocolbuffers/protobuf/commit/67de0878d6dc3b411b13fec0bff9200c71a3ca07)
C++
- Fixing staleness tests (https://github.com/protocolbuffers/protobuf/commit/6abaf774bfe84cf3d359c22385354de566602458)
- Add notices.h with information about our dependencies' licenses and add --notices flag to protoc to print the contents of that file. (https://github.com/protocolbuffers/protobuf/commit/a7df327bcdcecd09fcf7c987daa75714221c396e)
- Backport: Remove if_constexpr usage for future Abseil compatibility (#20488) (https://github.com/protocolbuffers/protobuf/commit/450ee76a1e06cd469e0f9bd9f8d6aa0241edcb39)
- Add tests for older gcc versions we still support (#20463) (https://github.com/protocolbuffers/protobuf/commit/0778473da9f5fdec8346853b6a5c84cc21ba8e7e)
- Fix a bug in handling of implicit-presence string_view fields. (#20403) (https://github.com/protocolbuffers/protobuf/commit/81196acc7e3e859a0dbb26223516462c3f6e4e40)
- Remove rules_rust dependency from MODULE.bazel for 30.x (#20310) (https://github.com/protocolbuffers/protobuf/commit/b8248f687f07d78a4baedd1581843883544ae239)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
- Replace
std::anywith a custom solution. (#20251) (https://github.com/protocolbuffers/protobuf/commit/6250d09c426f5b42b7d9f954fc73d24c644a221e) - Make DebugString print debug output, enable debug markers for debug output (https://github.com/protocolbuffers/protobuf/commit/9a033327c6382bdd78412ff9f60e512a19a4129a)
- Fix missing port_undef (#20052) (https://github.com/protocolbuffers/protobuf/commit/064438830bff4d87bb7fcfdaa53aa2598168e524)
- Use __builtin_expect_with_probability for proto field presence checks. (https://github.com/protocolbuffers/protobuf/commit/e9584192996ba6ae9a071973c3c903b693359217)
- Enable meta-tagging for redaction purposes (https://github.com/protocolbuffers/protobuf/commit/1f487953bfafc717fecf7f7e01ca141f09b861c3)
- Breaking change: Prohibit using Bazel+MSVC to build protobuf (https://github.com/protocolbuffers/protobuf/commit/117e7bbe74ac7c7faa9b6f44c1b22de366302854)
- Breaking change: Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - Print the presence probability when analysis is enabled. (https://github.com/protocolbuffers/protobuf/commit/d4ba7ff998ea865121d864bd627cb0b98948c8ea)
- Split protoc apart from libprotoc in our cmake configs. (https://github.com/protocolbuffers/protobuf/commit/b4b93b36245a88a3efa19261638f5da61a9be44f)
- Breaking change: Strip ctype from options in C++ (https://github.com/protocolbuffers/protobuf/commit/aebf8b9459f1da347a353c2fbbfe76230a457209)
- Breaking change: Remove
MutableRepeatedFieldRef::Reserve()in reflection (https://github.com/protocolbuffers/protobuf/commit/913f7b0c6d3c3e9876aea913b0d83bbd7fffe22c) - Remove stale references to C++14. (https://github.com/protocolbuffers/protobuf/commit/f4cc92c73de43a1455f63cb734ad161d9c03a4a8)
- Breaking change: Upgrade return type of
type_name()andcpp_type_name()fromconst char*toabsl::string_view. (https://github.com/protocolbuffers/protobuf/commit/a9ad51f5b6a19eacc934bcb51db6282ec1fabb8c) - Update cmake minimum version to >=3.16. (https://github.com/protocolbuffers/protobuf/commit/21f535c978812ab2d9afcbe887fc2ad228c0d92e)
- Migrate coded output stream arguments from
const std::string&toabsl::string_view. (https://github.com/protocolbuffers/protobuf/commit/0361a59322277a50f36b913f306884f5dda7c4c9) - Breaking change: Remove deprecated Arena::GetArena. (https://github.com/protocolbuffers/protobuf/commit/30ed452eddacace2c3270dce9645b8f1f453ae4b)
- Remove the time (or time-based) entropy being added to Map's seed. (https://github.com/protocolbuffers/protobuf/commit/a7875bb3432678f1e54e5c08c58e35d678cadbe1)
- Don't use CLOCK_UPTIME_RAW if it won't be defined (#16951) (https://github.com/protocolbuffers/protobuf/commit/097dcda8f2029f3a08ef487893e79410257cf7cf)
- Fix DEPENDENCIES in protobuf_generate() to accept multiple values instead of silently dropping (https://github.com/protocolbuffers/protobuf/commit/52887e1cc726bff24b8b0dd6f2b1babf7632db8a)
- Use ABSL_PREDICT_TRUE|FALSE instead of PROTOBUF_PREDICT_TRUE|FALSE. (https://github.com/protocolbuffers/protobuf/commit/fd477301f8c4c76f61c2b9e323f77a824d733174)
- Breaking change: Flip default behavior for handling cmake dependencies. (https://github.com/protocolbuffers/protobuf/commit/9cc685edf867acf5024a94502a3cbd7afa7a3daa)
- Use [[maybe_unused]] instead of PROTOBUF_UNUSED. (https://github.com/protocolbuffers/protobuf/commit/a7dd1559ee05d2e7997d5e55bbbbf2d3d461715f)
- Use [[nodiscard]] instead of PROTOBUF_NODISCARD (https://github.com/protocolbuffers/protobuf/commit/1ceedf88ca4c6f151f08a10244005cee6c814f40)
- Breaking change: Remove deprecated JsonOptions alias. (https://github.com/protocolbuffers/protobuf/commit/e2eb0a19aa95497c8979d71031edbbab721f5f0a)
- Generate internal hasbits for singular proto3 implicit presence fields. (https://github.com/protocolbuffers/protobuf/commit/3e82ed436b498a8ea953c89f99fc66eba0bdc6a0)
- Add name mangling to nested names that collide with known generated names, like (https://github.com/protocolbuffers/protobuf/commit/f2cf85c9418173c7f294a5999a0023db1272f84c)
- Breaking change: Remove deprecated RepeatedPtrField::ClearedCount(). (https://github.com/protocolbuffers/protobuf/commit/e8e3253f63f52d314af0e317d09642b9ceb1b40e)
- Breaking change: Add ASAN poisoning after clearing oneof messages on arena. (https://github.com/protocolbuffers/protobuf/commit/54d068e11c77ed387b97a60f435998b384e36e34)
- Breaking change: Remove deprecated Arena::CreateMessage. (https://github.com/protocolbuffers/protobuf/commit/d83a5365d16cff4be7da7d9a34eef14b24cc8733)
- Change DynamicCastMessage to throw a
std::bad_castexception when exceptions (https://github.com/protocolbuffers/protobuf/commit/33bbbebf2006b4b3d3037b80dae4f80ef4486c5c) - Fixed a missing check in wire format verification. (https://github.com/protocolbuffers/protobuf/commit/2ac862f36c0e159986ecb1ca67d71bf5f047f8e9)
- Comment change: clarifies that the field/value order is based on textual order in the file, not the order of the enums. (https://github.com/protocolbuffers/protobuf/commit/f92335b36db1bad089c3bccddc90bded98cb6a16)
- Bump minimum C++ version to C++17 after branch cut for v29. (https://github.com/protocolbuffers/protobuf/commit/fe535930d3183b46d7e088683cbe8c49285715f8)
- Bump abseil dependency version from 20230802.1 to 20240722.0. (https://github.com/protocolbuffers/protobuf/commit/c75095b6c6fd115c7446ed0f18e3f2cba3c54fef)
- Breaking change: Remove CMake submodule support in favor of fetched or installed dependencies. (https://github.com/protocolbuffers/protobuf/commit/3f06ca4306a682e6ee631d8ea94b82baaafb14f0)
- Support fetching CMake dependencies via
-Dprotobuf_FETCH_DEPENDENCIES=ON(https://github.com/protocolbuffers/protobuf/commit/d3735bc2a0ae3f0b69f668e6a0c9108d0e92fdfa) - Avoid field id comparisons in ExtensionSet serialization in case of single range. (https://github.com/protocolbuffers/protobuf/commit/8f6a7a2ceba6792b2b5d6fb01888f177a09afe35)
- Let ArenaStringPtr debug-fail if it ever attempts to clear a default string. (https://github.com/protocolbuffers/protobuf/commit/6c9c12c8a18a7d3a5807a181ca9bc8a1c1b02854)
- Fix various unsigned to signed comparison warnings. (#17212) (https://github.com/protocolbuffers/protobuf/commit/67de0878d6dc3b411b13fec0bff9200c71a3ca07)
- Remove Protobuf-C++.podspec release. (https://github.com/protocolbuffers/protobuf/commit/b204518c5f851f0422ac6ebef7c2dfc8ece88696)
Java
- Split maven dependencies into dev vs local (#20549) (#20558) (https://github.com/protocolbuffers/protobuf/commit/a5c906a6e70d9efbc82651e0ea88480545fb0105)
- Refactor TextFormat.Printer.MapEntryAdapter to handle more entry types. This will properly sort map keys for DynamicMessage maps. (https://github.com/protocolbuffers/protobuf/commit/84769d3de7602e7e7fddb03cadacda7357998c43)
- Re-Expose UnderscoresToCapitalizedCamelCase for plugins in OSS. (https://github.com/protocolbuffers/protobuf/commit/94ae26d5c567e44f5a5ef32ef8cd18fb0929f30a)
- Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - Fix mishandling of open enum + explicit presence fields. (https://github.com/protocolbuffers/protobuf/commit/0ccd8459ce0ee2af2693681bca75aa9f781bdb73)
- Disable useShortRepeatedPrimitives for Printer.DEFAULT_DEBUG_FORMAT (https://github.com/protocolbuffers/protobuf/commit/1900cbe0dab45af2dfa6cf223f1628fe03634392)
- Optimize Java gencode version validation (https://github.com/protocolbuffers/protobuf/commit/59a8de6610b6adbd49211a7805c505877f3ace0c)
- Make Java consistently reject unmatched end-group tag. (https://github.com/protocolbuffers/protobuf/commit/a4d4bfeae97dae0eb1212e0d3ee9d3c34718916f)
- Make Java-lite reject unmatched end-group tag. (https://github.com/protocolbuffers/protobuf/commit/84e81cfa6c540b885bdb2412c94029c952bcf63c)
- Fix handling of implicit field presence in mergeFrom to match the behavior in other places. (https://github.com/protocolbuffers/protobuf/commit/3e0f82e57f815a2b3d169d380dd30c40667984fd)
- Use ABSL_PREDICT_TRUE|FALSE instead of PROTOBUF_PREDICT_TRUE|FALSE. (https://github.com/protocolbuffers/protobuf/commit/fd477301f8c4c76f61c2b9e323f77a824d733174)
- Use [[maybe_unused]] instead of PROTOBUF_UNUSED. (https://github.com/protocolbuffers/protobuf/commit/a7dd1559ee05d2e7997d5e55bbbbf2d3d461715f)
- Remove deprecation warnings for Timestamp and Duration add/subtract/between that we do not yet have alternatives to. (https://github.com/protocolbuffers/protobuf/commit/f6cddd2cd766bd2d78ba7314928e2a12e63bf2ba)
- Add support to print repeated fields with primitive values using short notation (https://github.com/protocolbuffers/protobuf/commit/b8d356701a788951d92a1b4f04881fb539ca62d7)
- Fix unexpected NumberFormatException in Durations.parse() by replacing with documented thrown ParseException. (https://github.com/protocolbuffers/protobuf/commit/ee5aa499afe9fce27ff0cab69d184b541ee56f29)
- Give Kotlin jars an OSGi Manifest (#18812) (https://github.com/protocolbuffers/protobuf/commit/27ddb9ce34f010a3ec551caa7ec77454ea1f86c4)
- Lite: Remove intermediary dynamicMethod function trampolines (https://github.com/protocolbuffers/protobuf/commit/25724ab53e919a5ef68782745d306c24e2fad58c)
- Speed up SingleFieldBuilder.getBuilder() by avoiding reloading this.builder at return. (https://github.com/protocolbuffers/protobuf/commit/f7b0faf55837c1106c6dc16985058b2c0747ae92)
- Restore runtime compatibility with 3.22.x gencode by re-adding the mutableCopy(list) methods. (https://github.com/protocolbuffers/protobuf/commit/6628b8a3dc6ba6d3d0bc0523204f12a7c39f18e4)
- CodedOutputStream: Avoid updating position to go beyond end of array. (https://github.com/protocolbuffers/protobuf/commit/24160d5bf88db52607a3037a50ad44aa32d9ed61)
- Fix various unsigned to signed comparison warnings. (#17212) (https://github.com/protocolbuffers/protobuf/commit/67de0878d6dc3b411b13fec0bff9200c71a3ca07)
- Throw more informative OutOfSpaceExceptions when we run out of space serializing a proto. (https://github.com/protocolbuffers/protobuf/commit/bc24489f93de0dc10a6aa5ed22d119bc3deac514)
Kotlin
- Give Kotlin jars an OSGi Manifest (#18812) (https://github.com/protocolbuffers/protobuf/commit/27ddb9ce34f010a3ec551caa7ec77454ea1f86c4)
Csharp
- Throw InvalidProtocolBufferException when parsing invalid UTF-8 in C#. (https://github.com/protocolbuffers/protobuf/commit/db9b2c8e9f70dc8c53a31b52a740dfc3fad718d7)
Objective-C
- Generate Kythe annotations for objc messages. (https://github.com/protocolbuffers/protobuf/commit/88681710b5df5e4af9d3e06a505f501813c36207)
- Update minimum supported macOS 11 (https://github.com/protocolbuffers/protobuf/commit/9f1b38e8a1fea7d0f95c053cf72c1051bc3daf89)
- Breaking change: [ObjC] Remove legacy WKT headers. (https://github.com/protocolbuffers/protobuf/commit/d9caebc313256ea2f5c6922113c1f3edf14b24ad)
- [ObjC] Breaking Change: Remove deprecated apis. (https://github.com/protocolbuffers/protobuf/commit/2a52b900a1b71d57fc68624a989145f57abefdf1)
- [ObjC] Breaking Change: Remove support for older generated code. (https://github.com/protocolbuffers/protobuf/commit/cffa5902606ee3ebf23214b80251722b3654d5be)
- [ObjC] Breaking Change: Remove GPBUnknownFieldSet. (https://github.com/protocolbuffers/protobuf/commit/2b93422f7eea500b26d1a9aaf7d07b3120f83d39)
Python
- Fix missing port_undef (#20052) (https://github.com/protocolbuffers/protobuf/commit/064438830bff4d87bb7fcfdaa53aa2598168e524)
- Python protobuf: kwargs initialization now allows dict() for proto map values. (https://github.com/protocolbuffers/protobuf/commit/623568724601c20f04386977976544c5d85e0378)
- Python: Improve refleak checker for Python 3.12. (https://github.com/protocolbuffers/protobuf/commit/336d6f04e94efebcefb5574d0c8d487bcb0d187e)
- Rename bazel "pip_deps" hub_name. (https://github.com/protocolbuffers/protobuf/commit/32838e8c2ce88f1c040f5b68c9ac4941fa97fa09)
- Add has_options to ServiceDescriptor and MethodDescriptor in UPB python and cpp python to match with other descriptors and pure python (https://github.com/protocolbuffers/protobuf/commit/4214ee72ef72bca42048f0289a755711d0d2d8d4)
- Nextgen Proto Pythonic API: Add byte_size(), clear_message() and clear_field() APIs in proto module (https://github.com/protocolbuffers/protobuf/commit/975bb07baa9bf65d81a82a75240f55899195335d)
- Nextgen Proto Pythonic API: “Add-on” proto for Text Format serialize/parse (https://github.com/protocolbuffers/protobuf/commit/e9fa879813e6ba2bc88f209028f790a455089577)
- Fix bug that DiscardUnknownFields did not discard unknown fields of extensions in Py-upb and Php-upb and ruby-upb. (https://github.com/protocolbuffers/protobuf/commit/98aab04c0bf846ad6b4af339d9dbc5cf77d6c03c)
- Remove the entire pb_unit_tests/ directory with reflection_test_wrapper. (https://github.com/protocolbuffers/protobuf/commit/39808bc55d577d48238bc1b0ed8d76df7d724385)
- Performance optimization for upb python extend repeated scalars. (https://github.com/protocolbuffers/protobuf/commit/6c3ff5aa9eba8fd78f8b52afe98df11c1fb85ad2)
- Ensure protobuf Message.dir returns proto fields (https://github.com/protocolbuffers/protobuf/commit/1803f8bf28a0b61be8869d333bfd70171861e673)
- Breaking change: Fix closed enum validation under editions (https://github.com/protocolbuffers/protobuf/commit/72b3eda2ec385863d7416f067f6cd0cefeed72bb)
- Make python text-format reject octal floats (https://github.com/protocolbuffers/protobuf/commit/8f2ad123b8b0e5c40148b44d48a834032fae64d5)
- Treat -0.0 as consistently distinct from 0.0 in pure python (https://github.com/protocolbuffers/protobuf/commit/bc16fe8921889319f9d617167ab470043125be4a)
- Remove decoder.SkipField. (https://github.com/protocolbuffers/protobuf/commit/1b0b1c9ba005e85292cf597de6bcb64c69eeb23a)
- Make Pure Python reject unmatched end-group tag in unknown fields (https://github.com/protocolbuffers/protobuf/commit/f69ea1cc48191534c3450a1053f3741250274eca)
- Make Python/C++ reject unmatched end-group tag. (https://github.com/protocolbuffers/protobuf/commit/482752a78aa9545693a82de49be2311a7a263a3a)
- Override protobuf Message.dir method (https://github.com/protocolbuffers/protobuf/commit/9668016fc2304c541c06c4e76d9d643200a9cba0)
- Add "absl::StatusOr GetConstMessagePointer(PyObject* msg)" in proto_api which works with cpp extension, upb and pure python. (https://github.com/protocolbuffers/protobuf/commit/b9e69e8c11ecb87249b0cbf772911e2c3a80971b)
- Fix a python bug that UPB and Python C++ extension assume MessageSet extensions are ordered first (https://github.com/protocolbuffers/protobuf/commit/3781f45f390935001a7f1be6c20171f6fba0f56c)
- Drop Python 3.8 support (https://github.com/protocolbuffers/protobuf/commit/f5a293768fcb480ac577e703d576f333f66ab80c)
- Fix a python bug for text_format pretty print when Struct in Any (https://github.com/protocolbuffers/protobuf/commit/d3e9897b037a81d3a024d0af0c3626724286534d)
- Support tuples when parsing JSON dicts (https://github.com/protocolbuffers/protobuf/commit/75bb72e0d5f78b7e55d9be255a5f0a2b897ac311)
- Breaking change: Python nested message class qualname now contains the outer message name. (Previous qualname has the same result with name for nested message that outer message name was not included) (https://github.com/protocolbuffers/protobuf/commit/0720536eca20ca2f801127869d7f1211bceb3865)
- Breaking change: Python setdefault behavior change for map field. (https://github.com/protocolbuffers/protobuf/commit/81da6b999a8229942436f6c203a20633c65ebd26)
- Fix a Python bug: when package is empty, DescriptorDatabase FindFileContainingSymbol method will able to find symbol names not start with '.' (https://github.com/protocolbuffers/protobuf/commit/610702ed18d4323e44b9741102ed90377243470e)
- Use ABSL_PREDICT_TRUE|FALSE instead of PROTOBUF_PREDICT_TRUE|FALSE. (https://github.com/protocolbuffers/protobuf/commit/fd477301f8c4c76f61c2b9e323f77a824d733174)
- Breaking change: Remove deprecated GetPrototype MessageFactory.GetPrototype(), (https://github.com/protocolbuffers/protobuf/commit/c261b49a9575226efc9e5d269f6e5319a05d526e)
- Breaking change: Remove deprecated GetDebugString() from protobuf python cpp extension. (https://github.com/protocolbuffers/protobuf/commit/721a45265b4e1d0f18d6775a0f1bafffdfc3088e)
- Add Python 3.13 test coverage (https://github.com/protocolbuffers/protobuf/commit/7060d3d7232096eae2188c61ad6ddfdf87a06f31)
- Fix a python bug when assign an empty Struct at creation. (https://github.com/protocolbuffers/protobuf/commit/47613cf7ad4180f5e7b4ba6324a95288e8383840)
- Add "PythonMessageMutator GetClearedMutableMessage(PyObject *);" in proto_api which works with cpp extension, upb and pure python. (https://github.com/protocolbuffers/protobuf/commit/5706140e09856a80cb02dc3947981c595f74dbf2)
- Breaking change: Remove deprecated reflection methods (https://github.com/protocolbuffers/protobuf/commit/292f9646797d9e23fc66ba70fbda5903f2301ff0)
- Breaking change: Remove deprecated Python RPC Service Interfaces (https://github.com/protocolbuffers/protobuf/commit/5ba74b11e8d2bd5e9b22e972beb572668bf6191c)
- Fix pyi generation for messages with a field named "self" (https://github.com/protocolbuffers/protobuf/commit/fa858b82d2eea36ce5cb370f1ae30ce2e82c022e)
- Breaking change: Remove deprecated py_proto_library macro. (https://github.com/protocolbuffers/protobuf/commit/1e8e356b888eb5e7125c7fe0743f402447db14bc)
PHP
- Handle optional fields correctly in Message_get method (#18982) (https://github.com/protocolbuffers/protobuf/commit/f1aa92a5f5b2c0ebf4711c126877d5339fd55f4b)
- Delete long-deprecated internal descriptor.proto gencode forwards. (https://github.com/protocolbuffers/protobuf/commit/cf9b7747da525bb26ce0250bde09c5db08b247cc)
PHP C-Extension
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API. (#20467) (https://github.com/protocolbuffers/protobuf/commit/0913d392e738e77737db76f4116fcb3e3719155a)
- Add
to_prototo descriptor classes (#19971) (https://github.com/protocolbuffers/protobuf/commit/74122ebb378cc638350060b99eaf47d5d8e7eec1) - Fix bug that DiscardUnknownFields did not discard unknown fields of extensions in Py-upb and Php-upb and ruby-upb. (https://github.com/protocolbuffers/protobuf/commit/98aab04c0bf846ad6b4af339d9dbc5cf77d6c03c)
- Raise ParseError for non-numeric strings in numeric fields in Ruby and PHP JSON parsing. (https://github.com/protocolbuffers/protobuf/commit/abb197cb6124f3fa3c235be906e7bf7f04769b11)
- Handle optional fields correctly in Message_get method (#18982) (https://github.com/protocolbuffers/protobuf/commit/f1aa92a5f5b2c0ebf4711c126877d5339fd55f4b)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Add
to_prototo descriptor classes (#19971) (https://github.com/protocolbuffers/protobuf/commit/74122ebb378cc638350060b99eaf47d5d8e7eec1) - Support ruby 3.4 (#19752) (https://github.com/protocolbuffers/protobuf/commit/4a92a1c9bffa4ee8d77ec25364d914c47662565c)
- Add a multi-platform Gemfile.lock (#19804) (https://github.com/protocolbuffers/protobuf/commit/56f318dc8269cf15e26807f19349be569942e3d0)
- Fix ruby
has_...?method (#19731) (https://github.com/protocolbuffers/protobuf/commit/4031c195f1254f06280c7f4e694368d83dc3de4b) - Raise ParseError for non-numeric strings in numeric fields in Ruby and PHP JSON parsing. (https://github.com/protocolbuffers/protobuf/commit/abb197cb6124f3fa3c235be906e7bf7f04769b11)
- Error if assigning a "UTF-8" string with invalid UTF-8. (https://github.com/protocolbuffers/protobuf/commit/2f505a7aa1c7012d3867caa012c310b5da4c33d2)
- Third_party/utf8_range: support arm neon (#18126) (https://github.com/protocolbuffers/protobuf/commit/d83ad15cd15f71f18f67ca3b2d774ede280c5117)
Ruby C-Extension
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API. (#20467) (https://github.com/protocolbuffers/protobuf/commit/0913d392e738e77737db76f4116fcb3e3719155a)
- Add
to_prototo descriptor classes (#19971) (https://github.com/protocolbuffers/protobuf/commit/74122ebb378cc638350060b99eaf47d5d8e7eec1) - Ruby: make it possible to specify compiler for C extension (#19863) (https://github.com/protocolbuffers/protobuf/commit/b46f315c8dab71dfb1d805a3e94f1feccda1f1f4)
- Fix bug that DiscardUnknownFields did not discard unknown fields of extensions in Py-upb and Php-upb and ruby-upb. (https://github.com/protocolbuffers/protobuf/commit/98aab04c0bf846ad6b4af339d9dbc5cf77d6c03c)
- Fix ruby
has_...?method (#19731) (https://github.com/protocolbuffers/protobuf/commit/4031c195f1254f06280c7f4e694368d83dc3de4b) - Raise ParseError for non-numeric strings in numeric fields in Ruby and PHP JSON parsing. (https://github.com/protocolbuffers/protobuf/commit/abb197cb6124f3fa3c235be906e7bf7f04769b11)
- Error if assigning a "UTF-8" string with invalid UTF-8. (https://github.com/protocolbuffers/protobuf/commit/2f505a7aa1c7012d3867caa012c310b5da4c33d2)
- Update minimum supported macOS 11 (https://github.com/protocolbuffers/protobuf/commit/9f1b38e8a1fea7d0f95c053cf72c1051bc3daf89)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API. (#20467) (https://github.com/protocolbuffers/protobuf/commit/0913d392e738e77737db76f4116fcb3e3719155a)
- Change upb C generated map iteration function to not hand out MapEntry pointers. (#20462) (https://github.com/protocolbuffers/protobuf/commit/503abccabda3a950c7583eb1ad5666950f01cfec)
- Add
to_prototo descriptor classes (#19971) (https://github.com/protocolbuffers/protobuf/commit/74122ebb378cc638350060b99eaf47d5d8e7eec1) - Randomize upb's map ordering (https://github.com/protocolbuffers/protobuf/commit/066531df73264fa1436a3f2ad6dff1746baffc26)
- Fix bug that DiscardUnknownFields did not discard unknown fields of extensions in Py-upb and Php-upb and ruby-upb. (https://github.com/protocolbuffers/protobuf/commit/98aab04c0bf846ad6b4af339d9dbc5cf77d6c03c)
- Add three conformance test edge cases for ProtoJSON repr of Any (https://github.com/protocolbuffers/protobuf/commit/b985164e7cd075711817a02392c61fd85c74d992)
- Fix issue where a tmp buffer could have been too small when handling a serialized FeatureSet. (https://github.com/protocolbuffers/protobuf/commit/eb8a34d22dc10847ea1ef4ae1da88b480fa7f3c3)
- Fixed comparison of empty repeated/map extensions. (https://github.com/protocolbuffers/protobuf/commit/a79fbc9d32723a383813f6be4791ddaed09a8d6c)
- Fix a python bug that UPB and Python C++ extension assume MessageSet extensions are ordered first (https://github.com/protocolbuffers/protobuf/commit/3781f45f390935001a7f1be6c20171f6fba0f56c)
Other
- Remove test platform specification from release config (#20475) (https://github.com/protocolbuffers/protobuf/commit/2b9b1018b962fc215b0d8d6760ddbfd33e9a4481)
- Remove reference to rules_rust from .bazelrc (#20470) (https://github.com/protocolbuffers/protobuf/commit/90e893c0c6544a512f5fda34233cdd125d5953fd)
- Protobuf: add //:go_features_proto Bazel alias (#20419) (https://github.com/protocolbuffers/protobuf/commit/8892adc24a58521322d8371d0e6b99fcc3ba402d)
- Move to bazel 7 and turn down support for bazel 6. (https://github.com/protocolbuffers/protobuf/commit/afe2de261861717026c3b57ec83678590d5de838)
- Upgrade minimum version of macOS support to macOS 10.15 (Catalina). (https://github.com/protocolbuffers/protobuf/commit/67fca5cb705c6a5f066be594e14f5c57e9dbbe55)
- Update protoc release to include editions language features proto for Go (https://github.com/protocolbuffers/protobuf/commit/353d726bbc28c0972b150c92067818bd626281f4)
- Bazel 8 compatibility for Bazel users, however building test and release targets from source is not compatible with Bazel 8 yet.
- C++
Published by anandolee 12 months ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v30.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Run buildifier (https://github.com/protocolbuffers/protobuf/commit/bf712ccc5d5615ca902f4b1262bbc0a247aa129d)
Compiler
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
C++
- Add tests for older gcc versions we still support (#20463) (https://github.com/protocolbuffers/protobuf/commit/0778473da9f5fdec8346853b6a5c84cc21ba8e7e)
- Fix a bug in handling of implicit-presence string_view fields. (#20403) (https://github.com/protocolbuffers/protobuf/commit/81196acc7e3e859a0dbb26223516462c3f6e4e40)
- Make php generator's header public for gRPC (#20320) (https://github.com/protocolbuffers/protobuf/commit/c07e8542381e451c9a9545859ecc0ede493c0905)
- Remove rules_rust dependency from MODULE.bazel for 30.x (#20310) (https://github.com/protocolbuffers/protobuf/commit/b8248f687f07d78a4baedd1581843883544ae239)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
- Replace
std::anywith a custom solution. (#20251) (https://github.com/protocolbuffers/protobuf/commit/6250d09c426f5b42b7d9f954fc73d24c644a221e)
Java
- Run buildifier (https://github.com/protocolbuffers/protobuf/commit/bf712ccc5d5615ca902f4b1262bbc0a247aa129d)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
Kotlin
- Run buildifier (https://github.com/protocolbuffers/protobuf/commit/bf712ccc5d5615ca902f4b1262bbc0a247aa129d)
Csharp
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
Objective-C
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
Rust
- Run buildifier (https://github.com/protocolbuffers/protobuf/commit/bf712ccc5d5615ca902f4b1262bbc0a247aa129d)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
- See also UPB changes below, which may affect Rust.
Python
- Run buildifier (https://github.com/protocolbuffers/protobuf/commit/bf712ccc5d5615ca902f4b1262bbc0a247aa129d)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
PHP
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
PHP C-Extension
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API. (#20467) (https://github.com/protocolbuffers/protobuf/commit/0913d392e738e77737db76f4116fcb3e3719155a)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Run buildifier (https://github.com/protocolbuffers/protobuf/commit/bf712ccc5d5615ca902f4b1262bbc0a247aa129d)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
Ruby C-Extension
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API. (#20467) (https://github.com/protocolbuffers/protobuf/commit/0913d392e738e77737db76f4116fcb3e3719155a)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Upb: Update _upb_map_next signature to return a boolean and remove the _nextmutable Map iterator API. (#20467) (https://github.com/protocolbuffers/protobuf/commit/0913d392e738e77737db76f4116fcb3e3719155a)
- Change upb C generated map iteration function to not hand out MapEntry pointers. (#20462) (https://github.com/protocolbuffers/protobuf/commit/503abccabda3a950c7583eb1ad5666950f01cfec)
- Run buildifier (https://github.com/protocolbuffers/protobuf/commit/bf712ccc5d5615ca902f4b1262bbc0a247aa129d)
- Upgrade abseil-cpp to 20250127 and use @com_google_absl -> @abseil-cpp and com_google_googletest -> @googletest canonical BCR names. (#20295) (https://github.com/protocolbuffers/protobuf/commit/df849cc9c54d43de4d9986287ef3fafb487f45e3)
Other
- Remove test platform specification from release config (#20475) (https://github.com/protocolbuffers/protobuf/commit/2b9b1018b962fc215b0d8d6760ddbfd33e9a4481)
- Remove reference to rules_rust from .bazelrc (#20470) (https://github.com/protocolbuffers/protobuf/commit/90e893c0c6544a512f5fda34233cdd125d5953fd)
- Protobuf: add //:go_features_proto Bazel alias (#20419) (https://github.com/protocolbuffers/protobuf/commit/8892adc24a58521322d8371d0e6b99fcc3ba402d)
- Fix redundant clang-cl and msvc platform constraint for Bazel 8 compatibility and enable Bazel 8 presubmits in BCR. (https://github.com/protocolbuffers/protobuf/commit/b025ac0050268562407ba9f9aa90ca165f15bd64)
- Switch BCR presubmit to testing from example module (instead of default dummy module) so we can use .bazelrc and reference @local_config_cc. (https://github.com/protocolbuffers/protobuf/commit/817174429bf5abc0615f6dc37ba95865acb8f1e7)
- C++
Published by googleberg about 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v30.0-rc1
Announcements
- This version includes breaking changes to: C++, Objective-C, Python, Rust.
- [C++] Remove deprecated JsonOptions alias. (https://github.com/protocolbuffers/protobuf/commit/e2eb0a19aa95497c8979d71031edbbab721f5f0a)
- [C++] Remove CMake submodule support in favor of fetched or installed dependencies. (https://github.com/protocolbuffers/protobuf/commit/3f06ca4306a682e6ee631d8ea94b82baaafb14f0)
- [C++] Prohibit using Bazel+MSVC to build protobuf (https://github.com/protocolbuffers/protobuf/commit/117e7bbe74ac7c7faa9b6f44c1b22de366302854)
- [C++] Remove deprecated Arena::CreateMessage. (https://github.com/protocolbuffers/protobuf/commit/d83a5365d16cff4be7da7d9a34eef14b24cc8733)
- [C++] Upgrade return type of
type_name()andcpp_type_name()fromconst char*toabsl::string_view. (https://github.com/protocolbuffers/protobuf/commit/a9ad51f5b6a19eacc934bcb51db6282ec1fabb8c) - [C++] Strip ctype from options in C++ (https://github.com/protocolbuffers/protobuf/commit/aebf8b9459f1da347a353c2fbbfe76230a457209)
- [C++] Remove
MutableRepeatedFieldRef::Reserve()in reflection (https://github.com/protocolbuffers/protobuf/commit/913f7b0c6d3c3e9876aea913b0d83bbd7fffe22c) - [C++] Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - [C++] Flip default behavior for handling cmake dependencies. (https://github.com/protocolbuffers/protobuf/commit/9cc685edf867acf5024a94502a3cbd7afa7a3daa)
- [C++] Add ASAN poisoning after clearing oneof messages on arena. (https://github.com/protocolbuffers/protobuf/commit/54d068e11c77ed387b97a60f435998b384e36e34)
- [C++] Remove deprecated RepeatedPtrField::ClearedCount(). (https://github.com/protocolbuffers/protobuf/commit/e8e3253f63f52d314af0e317d09642b9ceb1b40e)
- [C++] Remove deprecated Arena::GetArena. (https://github.com/protocolbuffers/protobuf/commit/30ed452eddacace2c3270dce9645b8f1f453ae4b)
- [Objective-C] [ObjC] Remove legacy WKT headers. (https://github.com/protocolbuffers/protobuf/commit/d9caebc313256ea2f5c6922113c1f3edf14b24ad)
- [Objective-C] Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - [Python] Remove deprecated reflection methods (https://github.com/protocolbuffers/protobuf/commit/292f9646797d9e23fc66ba70fbda5903f2301ff0)
- [Python] Remove deprecated GetPrototype MessageFactory.GetPrototype(), (https://github.com/protocolbuffers/protobuf/commit/c261b49a9575226efc9e5d269f6e5319a05d526e)
- [Python] Remove deprecated Python RPC Service Interfaces (https://github.com/protocolbuffers/protobuf/commit/5ba74b11e8d2bd5e9b22e972beb572668bf6191c)
- [Python] Remove deprecated GetDebugString() from protobuf python cpp extension. (https://github.com/protocolbuffers/protobuf/commit/721a45265b4e1d0f18d6775a0f1bafffdfc3088e)
- [Python] Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - [Python] Fix closed enum validation under editions (https://github.com/protocolbuffers/protobuf/commit/72b3eda2ec385863d7416f067f6cd0cefeed72bb)
- [Python] Python setdefault behavior change for map field. (https://github.com/protocolbuffers/protobuf/commit/81da6b999a8229942436f6c203a20633c65ebd26)
- [Python] Python nested message class qualname now contains the outer message name. (Previous qualname has the same result with name for nested message that outer message name was not included) (https://github.com/protocolbuffers/protobuf/commit/0720536eca20ca2f801127869d7f1211bceb3865)
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Remove reference to cc_proto_aspect (https://github.com/protocolbuffers/protobuf/commit/fa02f768e3a793195e62ad70f9694106b893b0f3)
- Remove deprecated bazel/system_python.bzl alias. (https://github.com/protocolbuffers/protobuf/commit/00f108c07807e73188f0baf51ba90ad527463f84)
Compiler
- Have the protoc CLI properly report any parser warnings. (https://github.com/protocolbuffers/protobuf/commit/cafeaa41fb3c8d67eef0de11ed60ff539fd3318f)
- Split protoc apart from libprotoc in our cmake configs. (https://github.com/protocolbuffers/protobuf/commit/b4b93b36245a88a3efa19261638f5da61a9be44f)
- Begin adding extension numbers to SourceCodeInfo and FileDescriptorSet for tooling purposes. (https://github.com/protocolbuffers/protobuf/commit/9d7236b421634afcecc24b6fd63da0ff5b506394)
- Fix various unsigned to signed comparison warnings. (#17212) (https://github.com/protocolbuffers/protobuf/commit/67de0878d6dc3b411b13fec0bff9200c71a3ca07)
C++
- Make DebugString print debug output, enable debug markers for debug output (https://github.com/protocolbuffers/protobuf/commit/9a033327c6382bdd78412ff9f60e512a19a4129a)
- Fix missing port_undef (#20052) (https://github.com/protocolbuffers/protobuf/commit/064438830bff4d87bb7fcfdaa53aa2598168e524)
- Use __builtin_expect_with_probability for proto field presence checks. (https://github.com/protocolbuffers/protobuf/commit/e9584192996ba6ae9a071973c3c903b693359217)
- Enable meta-tagging for redaction purposes (https://github.com/protocolbuffers/protobuf/commit/1f487953bfafc717fecf7f7e01ca141f09b861c3)
- Breaking change: Prohibit using Bazel+MSVC to build protobuf (https://github.com/protocolbuffers/protobuf/commit/117e7bbe74ac7c7faa9b6f44c1b22de366302854)
- Breaking change: Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - Print the presence probability when analysis is enabled. (https://github.com/protocolbuffers/protobuf/commit/d4ba7ff998ea865121d864bd627cb0b98948c8ea)
- Split protoc apart from libprotoc in our cmake configs. (https://github.com/protocolbuffers/protobuf/commit/b4b93b36245a88a3efa19261638f5da61a9be44f)
- Breaking change: Strip ctype from options in C++ (https://github.com/protocolbuffers/protobuf/commit/aebf8b9459f1da347a353c2fbbfe76230a457209)
- Breaking change: Remove
MutableRepeatedFieldRef::Reserve()in reflection (https://github.com/protocolbuffers/protobuf/commit/913f7b0c6d3c3e9876aea913b0d83bbd7fffe22c) - Remove stale references to C++14. (https://github.com/protocolbuffers/protobuf/commit/f4cc92c73de43a1455f63cb734ad161d9c03a4a8)
- Breaking change: Upgrade return type of
type_name()andcpp_type_name()fromconst char*toabsl::string_view. (https://github.com/protocolbuffers/protobuf/commit/a9ad51f5b6a19eacc934bcb51db6282ec1fabb8c) - Update cmake minimum version to >=3.16. (https://github.com/protocolbuffers/protobuf/commit/21f535c978812ab2d9afcbe887fc2ad228c0d92e)
- Migrate coded output stream arguments from
const std::string&toabsl::string_view. (https://github.com/protocolbuffers/protobuf/commit/0361a59322277a50f36b913f306884f5dda7c4c9) - Breaking change: Remove deprecated Arena::GetArena. (https://github.com/protocolbuffers/protobuf/commit/30ed452eddacace2c3270dce9645b8f1f453ae4b)
- Remove the time (or time-based) entropy being added to Map's seed. (https://github.com/protocolbuffers/protobuf/commit/a7875bb3432678f1e54e5c08c58e35d678cadbe1)
- Don't use CLOCK_UPTIME_RAW if it won't be defined (#16951) (https://github.com/protocolbuffers/protobuf/commit/097dcda8f2029f3a08ef487893e79410257cf7cf)
- Fix DEPENDENCIES in protobuf_generate() to accept multiple values instead of silently dropping (https://github.com/protocolbuffers/protobuf/commit/52887e1cc726bff24b8b0dd6f2b1babf7632db8a)
- Use ABSL_PREDICT_TRUE|FALSE instead of PROTOBUF_PREDICT_TRUE|FALSE. (https://github.com/protocolbuffers/protobuf/commit/fd477301f8c4c76f61c2b9e323f77a824d733174)
- Breaking change: Flip default behavior for handling cmake dependencies. (https://github.com/protocolbuffers/protobuf/commit/9cc685edf867acf5024a94502a3cbd7afa7a3daa)
- Use [[maybe_unused]] instead of PROTOBUF_UNUSED. (https://github.com/protocolbuffers/protobuf/commit/a7dd1559ee05d2e7997d5e55bbbbf2d3d461715f)
- Use [[nodiscard]] instead of PROTOBUF_NODISCARD (https://github.com/protocolbuffers/protobuf/commit/1ceedf88ca4c6f151f08a10244005cee6c814f40)
- Breaking change: Remove deprecated JsonOptions alias. (https://github.com/protocolbuffers/protobuf/commit/e2eb0a19aa95497c8979d71031edbbab721f5f0a)
- Generate internal hasbits for singular proto3 implicit presence fields. (https://github.com/protocolbuffers/protobuf/commit/3e82ed436b498a8ea953c89f99fc66eba0bdc6a0)
- Add name mangling to nested names that collide with known generated names, like (https://github.com/protocolbuffers/protobuf/commit/f2cf85c9418173c7f294a5999a0023db1272f84c)
- Breaking change: Remove deprecated RepeatedPtrField::ClearedCount(). (https://github.com/protocolbuffers/protobuf/commit/e8e3253f63f52d314af0e317d09642b9ceb1b40e)
- Breaking change: Add ASAN poisoning after clearing oneof messages on arena. (https://github.com/protocolbuffers/protobuf/commit/54d068e11c77ed387b97a60f435998b384e36e34)
- Breaking change: Remove deprecated Arena::CreateMessage. (https://github.com/protocolbuffers/protobuf/commit/d83a5365d16cff4be7da7d9a34eef14b24cc8733)
- Change DynamicCastMessage to throw a
std::bad_castexception when exceptions (https://github.com/protocolbuffers/protobuf/commit/33bbbebf2006b4b3d3037b80dae4f80ef4486c5c) - Fixed a missing check in wire format verification. (https://github.com/protocolbuffers/protobuf/commit/2ac862f36c0e159986ecb1ca67d71bf5f047f8e9)
- Comment change: clarifies that the field/value order is based on textual order in the file, not the order of the enums. (https://github.com/protocolbuffers/protobuf/commit/f92335b36db1bad089c3bccddc90bded98cb6a16)
- Bump minimum C++ version to C++17 after branch cut for v29. (https://github.com/protocolbuffers/protobuf/commit/fe535930d3183b46d7e088683cbe8c49285715f8)
- Bump abseil dependency version from 20230802.1 to 20240722.0. (https://github.com/protocolbuffers/protobuf/commit/c75095b6c6fd115c7446ed0f18e3f2cba3c54fef)
- Breaking change: Remove CMake submodule support in favor of fetched or installed dependencies. (https://github.com/protocolbuffers/protobuf/commit/3f06ca4306a682e6ee631d8ea94b82baaafb14f0)
- Support fetching CMake dependencies via
-Dprotobuf_FETCH_DEPENDENCIES=ON(https://github.com/protocolbuffers/protobuf/commit/d3735bc2a0ae3f0b69f668e6a0c9108d0e92fdfa) - Avoid field id comparisons in ExtensionSet serialization in case of single range. (https://github.com/protocolbuffers/protobuf/commit/8f6a7a2ceba6792b2b5d6fb01888f177a09afe35)
- Let ArenaStringPtr debug-fail if it ever attempts to clear a default string. (https://github.com/protocolbuffers/protobuf/commit/6c9c12c8a18a7d3a5807a181ca9bc8a1c1b02854)
- Fix various unsigned to signed comparison warnings. (#17212) (https://github.com/protocolbuffers/protobuf/commit/67de0878d6dc3b411b13fec0bff9200c71a3ca07)
Java
- Refactor TextFormat.Printer.MapEntryAdapter to handle more entry types. This will properly sort map keys for DynamicMessage maps. (https://github.com/protocolbuffers/protobuf/commit/84769d3de7602e7e7fddb03cadacda7357998c43)
- Re-Expose UnderscoresToCapitalizedCamelCase for plugins in OSS. (https://github.com/protocolbuffers/protobuf/commit/94ae26d5c567e44f5a5ef32ef8cd18fb0929f30a)
- Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - Fix mishandling of open enum + explicit presence fields. (https://github.com/protocolbuffers/protobuf/commit/0ccd8459ce0ee2af2693681bca75aa9f781bdb73)
- Disable useShortRepeatedPrimitives for Printer.DEFAULT_DEBUG_FORMAT (https://github.com/protocolbuffers/protobuf/commit/1900cbe0dab45af2dfa6cf223f1628fe03634392)
- Optimize Java gencode version validation (https://github.com/protocolbuffers/protobuf/commit/59a8de6610b6adbd49211a7805c505877f3ace0c)
- Make Java consistently reject unmatched end-group tag. (https://github.com/protocolbuffers/protobuf/commit/a4d4bfeae97dae0eb1212e0d3ee9d3c34718916f)
- Make Java-lite reject unmatched end-group tag. (https://github.com/protocolbuffers/protobuf/commit/84e81cfa6c540b885bdb2412c94029c952bcf63c)
- Fix handling of implicit field presence in mergeFrom to match the behavior in other places. (https://github.com/protocolbuffers/protobuf/commit/3e0f82e57f815a2b3d169d380dd30c40667984fd)
- Use ABSL_PREDICT_TRUE|FALSE instead of PROTOBUF_PREDICT_TRUE|FALSE. (https://github.com/protocolbuffers/protobuf/commit/fd477301f8c4c76f61c2b9e323f77a824d733174)
- Use [[maybe_unused]] instead of PROTOBUF_UNUSED. (https://github.com/protocolbuffers/protobuf/commit/a7dd1559ee05d2e7997d5e55bbbbf2d3d461715f)
- Remove deprecation warnings for Timestamp and Duration add/subtract/between that we do not yet have alternatives to. (https://github.com/protocolbuffers/protobuf/commit/f6cddd2cd766bd2d78ba7314928e2a12e63bf2ba)
- Add support to print repeated fields with primitive values using short notation (https://github.com/protocolbuffers/protobuf/commit/b8d356701a788951d92a1b4f04881fb539ca62d7)
- Fix unexpected NumberFormatException in Durations.parse() by replacing with documented thrown ParseException. (https://github.com/protocolbuffers/protobuf/commit/ee5aa499afe9fce27ff0cab69d184b541ee56f29)
- Give Kotlin jars an OSGi Manifest (#18812) (https://github.com/protocolbuffers/protobuf/commit/27ddb9ce34f010a3ec551caa7ec77454ea1f86c4)
- Lite: Remove intermediary dynamicMethod function trampolines (https://github.com/protocolbuffers/protobuf/commit/25724ab53e919a5ef68782745d306c24e2fad58c)
- Speed up SingleFieldBuilder.getBuilder() by avoiding reloading this.builder at return. (https://github.com/protocolbuffers/protobuf/commit/f7b0faf55837c1106c6dc16985058b2c0747ae92)
- Restore runtime compatibility with 3.22.x gencode by re-adding the mutableCopy(list) methods. (https://github.com/protocolbuffers/protobuf/commit/6628b8a3dc6ba6d3d0bc0523204f12a7c39f18e4)
- CodedOutputStream: Avoid updating position to go beyond end of array. (https://github.com/protocolbuffers/protobuf/commit/24160d5bf88db52607a3037a50ad44aa32d9ed61)
- Fix various unsigned to signed comparison warnings. (#17212) (https://github.com/protocolbuffers/protobuf/commit/67de0878d6dc3b411b13fec0bff9200c71a3ca07)
- Throw more informative OutOfSpaceExceptions when we run out of space serializing a proto. (https://github.com/protocolbuffers/protobuf/commit/bc24489f93de0dc10a6aa5ed22d119bc3deac514)
Kotlin
- Give Kotlin jars an OSGi Manifest (#18812) (https://github.com/protocolbuffers/protobuf/commit/27ddb9ce34f010a3ec551caa7ec77454ea1f86c4)
Csharp
- Breaking change: Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - Support tuples when parsing JSON dicts (https://github.com/protocolbuffers/protobuf/commit/75bb72e0d5f78b7e55d9be255a5f0a2b897ac311)
- Don't use CLOCK_UPTIME_RAW if it won't be defined (#16951) (https://github.com/protocolbuffers/protobuf/commit/097dcda8f2029f3a08ef487893e79410257cf7cf)
- Breaking change: Python nested message class qualname now contains the outer message name. (Previous qualname has the same result with name for nested message that outer message name was not included) (https://github.com/protocolbuffers/protobuf/commit/0720536eca20ca2f801127869d7f1211bceb3865)
- Fix a Python bug: when package is empty, DescriptorDatabase FindFileContainingSymbol method will able to find symbol names not start with '.' (https://github.com/protocolbuffers/protobuf/commit/610702ed18d4323e44b9741102ed90377243470e)
- Throw InvalidProtocolBufferException when parsing invalid UTF-8 in C#. (https://github.com/protocolbuffers/protobuf/commit/db9b2c8e9f70dc8c53a31b52a740dfc3fad718d7)
- Use ABSL_PREDICT_TRUE|FALSE instead of PROTOBUF_PREDICT_TRUE|FALSE. (https://github.com/protocolbuffers/protobuf/commit/fd477301f8c4c76f61c2b9e323f77a824d733174)
- Breaking change: Flip default behavior for handling cmake dependencies. (https://github.com/protocolbuffers/protobuf/commit/9cc685edf867acf5024a94502a3cbd7afa7a3daa)
- Use [[maybe_unused]] instead of PROTOBUF_UNUSED. (https://github.com/protocolbuffers/protobuf/commit/a7dd1559ee05d2e7997d5e55bbbbf2d3d461715f)
- Breaking change: Remove deprecated GetPrototype MessageFactory.GetPrototype(), (https://github.com/protocolbuffers/protobuf/commit/c261b49a9575226efc9e5d269f6e5319a05d526e)
Objective-C
- Generate Kythe annotations for objc messages. (https://github.com/protocolbuffers/protobuf/commit/88681710b5df5e4af9d3e06a505f501813c36207)
- Breaking change: Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - Update minimum supported macOS 11 (https://github.com/protocolbuffers/protobuf/commit/9f1b38e8a1fea7d0f95c053cf72c1051bc3daf89)
- Breaking change: [ObjC] Remove legacy WKT headers. (https://github.com/protocolbuffers/protobuf/commit/d9caebc313256ea2f5c6922113c1f3edf14b24ad)
- [ObjC] Breaking Change: Remove deprecated apis. (https://github.com/protocolbuffers/protobuf/commit/2a52b900a1b71d57fc68624a989145f57abefdf1)
- [ObjC] Breaking Change: Remove support for older generated code. (https://github.com/protocolbuffers/protobuf/commit/cffa5902606ee3ebf23214b80251722b3654d5be)
- [ObjC] Breaking Change: Remove GPBUnknownFieldSet. (https://github.com/protocolbuffers/protobuf/commit/2b93422f7eea500b26d1a9aaf7d07b3120f83d39)
Python
- Fix missing port_undef (#20052) (https://github.com/protocolbuffers/protobuf/commit/064438830bff4d87bb7fcfdaa53aa2598168e524)
- Python protobuf: kwargs initialization now allows dict() for proto map values. (https://github.com/protocolbuffers/protobuf/commit/623568724601c20f04386977976544c5d85e0378)
- Python: Improve refleak checker for Python 3.12. (https://github.com/protocolbuffers/protobuf/commit/336d6f04e94efebcefb5574d0c8d487bcb0d187e)
- Rename bazel "pip_deps" hub_name. (https://github.com/protocolbuffers/protobuf/commit/32838e8c2ce88f1c040f5b68c9ac4941fa97fa09)
- Breaking change: Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - Add has_options to ServiceDescriptor and MethodDescriptor in UPB python and cpp python to match with other descriptors and pure python (https://github.com/protocolbuffers/protobuf/commit/4214ee72ef72bca42048f0289a755711d0d2d8d4)
- Nextgen Proto Pythonic API: Add byte_size(), clear_message() and clear_field() APIs in proto module (https://github.com/protocolbuffers/protobuf/commit/975bb07baa9bf65d81a82a75240f55899195335d)
- Nextgen Proto Pythonic API: “Add-on” proto for Text Format serialize/parse (https://github.com/protocolbuffers/protobuf/commit/e9fa879813e6ba2bc88f209028f790a455089577)
- Fix bug that DiscardUnknownFields did not discard unknown fields of extensions in Py-upb and Php-upb and ruby-upb. (https://github.com/protocolbuffers/protobuf/commit/98aab04c0bf846ad6b4af339d9dbc5cf77d6c03c)
- Remove the entire pb_unit_tests/ directory with reflection_test_wrapper. (https://github.com/protocolbuffers/protobuf/commit/39808bc55d577d48238bc1b0ed8d76df7d724385)
- Performance optimization for upb python extend repeated scalars. (https://github.com/protocolbuffers/protobuf/commit/6c3ff5aa9eba8fd78f8b52afe98df11c1fb85ad2)
- Ensure protobuf Message.dir returns proto fields (https://github.com/protocolbuffers/protobuf/commit/1803f8bf28a0b61be8869d333bfd70171861e673)
- Breaking change: Fix closed enum validation under editions (https://github.com/protocolbuffers/protobuf/commit/72b3eda2ec385863d7416f067f6cd0cefeed72bb)
- Make python text-format reject octal floats (https://github.com/protocolbuffers/protobuf/commit/8f2ad123b8b0e5c40148b44d48a834032fae64d5)
- Treat -0.0 as consistently distinct from 0.0 in pure python (https://github.com/protocolbuffers/protobuf/commit/bc16fe8921889319f9d617167ab470043125be4a)
- Remove decoder.SkipField. (https://github.com/protocolbuffers/protobuf/commit/1b0b1c9ba005e85292cf597de6bcb64c69eeb23a)
- Make Pure Python reject unmatched end-group tag in unknown fields (https://github.com/protocolbuffers/protobuf/commit/f69ea1cc48191534c3450a1053f3741250274eca)
- Make Python/C++ reject unmatched end-group tag. (https://github.com/protocolbuffers/protobuf/commit/482752a78aa9545693a82de49be2311a7a263a3a)
- Override protobuf Message.dir method (https://github.com/protocolbuffers/protobuf/commit/9668016fc2304c541c06c4e76d9d643200a9cba0)
- Add "absl::StatusOr GetConstMessagePointer(PyObject* msg)" in proto_api which works with cpp extension, upb and pure python. (https://github.com/protocolbuffers/protobuf/commit/b9e69e8c11ecb87249b0cbf772911e2c3a80971b)
- Fix a python bug that UPB and Python C++ extension assume MessageSet extensions are ordered first (https://github.com/protocolbuffers/protobuf/commit/3781f45f390935001a7f1be6c20171f6fba0f56c)
- Drop Python 3.8 support (https://github.com/protocolbuffers/protobuf/commit/f5a293768fcb480ac577e703d576f333f66ab80c)
- Fix a python bug for text_format pretty print when Struct in Any (https://github.com/protocolbuffers/protobuf/commit/d3e9897b037a81d3a024d0af0c3626724286534d)
- Support tuples when parsing JSON dicts (https://github.com/protocolbuffers/protobuf/commit/75bb72e0d5f78b7e55d9be255a5f0a2b897ac311)
- Breaking change: Python nested message class qualname now contains the outer message name. (Previous qualname has the same result with name for nested message that outer message name was not included) (https://github.com/protocolbuffers/protobuf/commit/0720536eca20ca2f801127869d7f1211bceb3865)
- Breaking change: Python setdefault behavior change for map field. (https://github.com/protocolbuffers/protobuf/commit/81da6b999a8229942436f6c203a20633c65ebd26)
- Fix a Python bug: when package is empty, DescriptorDatabase FindFileContainingSymbol method will able to find symbol names not start with '.' (https://github.com/protocolbuffers/protobuf/commit/610702ed18d4323e44b9741102ed90377243470e)
- Use ABSL_PREDICT_TRUE|FALSE instead of PROTOBUF_PREDICT_TRUE|FALSE. (https://github.com/protocolbuffers/protobuf/commit/fd477301f8c4c76f61c2b9e323f77a824d733174)
- Breaking change: Remove deprecated GetPrototype MessageFactory.GetPrototype(), (https://github.com/protocolbuffers/protobuf/commit/c261b49a9575226efc9e5d269f6e5319a05d526e)
- Breaking change: Remove deprecated GetDebugString() from protobuf python cpp extension. (https://github.com/protocolbuffers/protobuf/commit/721a45265b4e1d0f18d6775a0f1bafffdfc3088e)
- Add Python 3.13 test coverage (https://github.com/protocolbuffers/protobuf/commit/7060d3d7232096eae2188c61ad6ddfdf87a06f31)
- Fix a python bug when assign an empty Struct at creation. (https://github.com/protocolbuffers/protobuf/commit/47613cf7ad4180f5e7b4ba6324a95288e8383840)
- Add "PythonMessageMutator GetClearedMutableMessage(PyObject *);" in proto_api which works with cpp extension, upb and pure python. (https://github.com/protocolbuffers/protobuf/commit/5706140e09856a80cb02dc3947981c595f74dbf2)
- Breaking change: Remove deprecated reflection methods (https://github.com/protocolbuffers/protobuf/commit/292f9646797d9e23fc66ba70fbda5903f2301ff0)
- Breaking change: Remove deprecated Python RPC Service Interfaces (https://github.com/protocolbuffers/protobuf/commit/5ba74b11e8d2bd5e9b22e972beb572668bf6191c)
- Fix pyi generation for messages with a field named "self" (https://github.com/protocolbuffers/protobuf/commit/fa858b82d2eea36ce5cb370f1ae30ce2e82c022e)
PHP
- Handle optional fields correctly in Message_get method (#18982) (https://github.com/protocolbuffers/protobuf/commit/f1aa92a5f5b2c0ebf4711c126877d5339fd55f4b)
- Delete long-deprecated internal descriptor.proto gencode forwards. (https://github.com/protocolbuffers/protobuf/commit/cf9b7747da525bb26ce0250bde09c5db08b247cc)
- Restore runtime compatibility with 3.22.x gencode by re-adding the mutableCopy(list) methods. (https://github.com/protocolbuffers/protobuf/commit/6628b8a3dc6ba6d3d0bc0523204f12a7c39f18e4)
PHP C-Extension
- Add
to_prototo descriptor classes (#19971) (https://github.com/protocolbuffers/protobuf/commit/74122ebb378cc638350060b99eaf47d5d8e7eec1) - Fix bug that DiscardUnknownFields did not discard unknown fields of extensions in Py-upb and Php-upb and ruby-upb. (https://github.com/protocolbuffers/protobuf/commit/98aab04c0bf846ad6b4af339d9dbc5cf77d6c03c)
- Raise ParseError for non-numeric strings in numeric fields in Ruby and PHP JSON parsing. (https://github.com/protocolbuffers/protobuf/commit/abb197cb6124f3fa3c235be906e7bf7f04769b11)
- Handle optional fields correctly in Message_get method (#18982) (https://github.com/protocolbuffers/protobuf/commit/f1aa92a5f5b2c0ebf4711c126877d5339fd55f4b)
- Restore runtime compatibility with 3.22.x gencode by re-adding the mutableCopy(list) methods. (https://github.com/protocolbuffers/protobuf/commit/6628b8a3dc6ba6d3d0bc0523204f12a7c39f18e4)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Add
to_prototo descriptor classes (#19971) (https://github.com/protocolbuffers/protobuf/commit/74122ebb378cc638350060b99eaf47d5d8e7eec1) - Support ruby 3.4 (#19752) (https://github.com/protocolbuffers/protobuf/commit/4a92a1c9bffa4ee8d77ec25364d914c47662565c)
- Breaking change: Upgrade return type of several string returning functions to
absl::string_view. (https://github.com/protocolbuffers/protobuf/commit/d1990d968a54176eb9f4229abe7f7c97ece50cec) - Add a multi-platform Gemfile.lock (#19804) (https://github.com/protocolbuffers/protobuf/commit/56f318dc8269cf15e26807f19349be569942e3d0)
- Fix ruby
has_...?method (#19731) (https://github.com/protocolbuffers/protobuf/commit/4031c195f1254f06280c7f4e694368d83dc3de4b) - Raise ParseError for non-numeric strings in numeric fields in Ruby and PHP JSON parsing. (https://github.com/protocolbuffers/protobuf/commit/abb197cb6124f3fa3c235be906e7bf7f04769b11)
- Error if assigning a "UTF-8" string with invalid UTF-8. (https://github.com/protocolbuffers/protobuf/commit/2f505a7aa1c7012d3867caa012c310b5da4c33d2)
- Third_party/utf8_range: support arm neon (#18126) (https://github.com/protocolbuffers/protobuf/commit/d83ad15cd15f71f18f67ca3b2d774ede280c5117)
Ruby C-Extension
- Add
to_prototo descriptor classes (#19971) (https://github.com/protocolbuffers/protobuf/commit/74122ebb378cc638350060b99eaf47d5d8e7eec1) - Ruby: make it possible to specify compiler for C extension (#19863) (https://github.com/protocolbuffers/protobuf/commit/b46f315c8dab71dfb1d805a3e94f1feccda1f1f4)
- Fix bug that DiscardUnknownFields did not discard unknown fields of extensions in Py-upb and Php-upb and ruby-upb. (https://github.com/protocolbuffers/protobuf/commit/98aab04c0bf846ad6b4af339d9dbc5cf77d6c03c)
- Fix ruby
has_...?method (#19731) (https://github.com/protocolbuffers/protobuf/commit/4031c195f1254f06280c7f4e694368d83dc3de4b) - Raise ParseError for non-numeric strings in numeric fields in Ruby and PHP JSON parsing. (https://github.com/protocolbuffers/protobuf/commit/abb197cb6124f3fa3c235be906e7bf7f04769b11)
- Error if assigning a "UTF-8" string with invalid UTF-8. (https://github.com/protocolbuffers/protobuf/commit/2f505a7aa1c7012d3867caa012c310b5da4c33d2)
- Update minimum supported macOS 11 (https://github.com/protocolbuffers/protobuf/commit/9f1b38e8a1fea7d0f95c053cf72c1051bc3daf89)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Add
to_prototo descriptor classes (#19971) (https://github.com/protocolbuffers/protobuf/commit/74122ebb378cc638350060b99eaf47d5d8e7eec1) - Randomize upb's map ordering (https://github.com/protocolbuffers/protobuf/commit/066531df73264fa1436a3f2ad6dff1746baffc26)
- Fix bug that DiscardUnknownFields did not discard unknown fields of extensions in Py-upb and Php-upb and ruby-upb. (https://github.com/protocolbuffers/protobuf/commit/98aab04c0bf846ad6b4af339d9dbc5cf77d6c03c)
- Add three conformance test edge cases for ProtoJSON repr of Any (https://github.com/protocolbuffers/protobuf/commit/b985164e7cd075711817a02392c61fd85c74d992)
- Breaking change: Fix closed enum validation under editions (https://github.com/protocolbuffers/protobuf/commit/72b3eda2ec385863d7416f067f6cd0cefeed72bb)
- Raise ParseError for non-numeric strings in numeric fields in Ruby and PHP JSON parsing. (https://github.com/protocolbuffers/protobuf/commit/abb197cb6124f3fa3c235be906e7bf7f04769b11)
- Fix issue where a tmp buffer could have been too small when handling a serialized FeatureSet. (https://github.com/protocolbuffers/protobuf/commit/eb8a34d22dc10847ea1ef4ae1da88b480fa7f3c3)
- Fixed comparison of empty repeated/map extensions. (https://github.com/protocolbuffers/protobuf/commit/a79fbc9d32723a383813f6be4791ddaed09a8d6c)
- Fix a python bug that UPB and Python C++ extension assume MessageSet extensions are ordered first (https://github.com/protocolbuffers/protobuf/commit/3781f45f390935001a7f1be6c20171f6fba0f56c)
- Support fetching CMake dependencies via
-Dprotobuf_FETCH_DEPENDENCIES=ON(https://github.com/protocolbuffers/protobuf/commit/d3735bc2a0ae3f0b69f668e6a0c9108d0e92fdfa)
Other
- Move to bazel 7 and turn down support for bazel 6. (https://github.com/protocolbuffers/protobuf/commit/afe2de261861717026c3b57ec83678590d5de838)
- Remove Protobuf-C++.podspec release. (https://github.com/protocolbuffers/protobuf/commit/b204518c5f851f0422ac6ebef7c2dfc8ece88696)
- Breaking change: Remove deprecated py_proto_library macro. (https://github.com/protocolbuffers/protobuf/commit/1e8e356b888eb5e7125c7fe0743f402447db14bc)
- Upgrade minimum version of macOS support to macOS 10.15 (Catalina). (https://github.com/protocolbuffers/protobuf/commit/67fca5cb705c6a5f066be594e14f5c57e9dbbe55)
- Breaking change: Update major version numbers for C++ and Python. (https://github.com/protocolbuffers/protobuf/commit/4997f3d070e3ce49f1be3e2df2f2aa9f5272ef46)
- Update protoc release to include editions language features proto for Go (https://github.com/protocolbuffers/protobuf/commit/353d726bbc28c0972b150c92067818bd626281f4)
- [ObjC] Breaking Change: Raise the major version for next release. (https://github.com/protocolbuffers/protobuf/commit/213bb61292287ce90400141e90818d42220370e1)
- Bump
rules_rustto 0.51 to fix #18546 (https://github.com/protocolbuffers/protobuf/commit/9dad0b9cd418975e03b93ab1a73d6f36bacfdec8)
- C++
Published by deannagarcia about 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.6
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Java
- Add poison pill to makeExtensionsImmutable method (#20084) (https://github.com/protocolbuffers/protobuf/commit/3f1df78931afb489ef21d9c4b91305b30ef7b14d)
Kotlin
- Populate Kotlin Manifest Files. (https://github.com/protocolbuffers/protobuf/commit/610f37827b820132bf592b8e259a9c54ef104d1c)
PHP
PHP C-Extension
- Backport windows fixes with INFINITY/NAN (#19390) (https://github.com/protocolbuffers/protobuf/commit/65196bce3f680e599cf003078b34258b3617cdf6)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
Ruby C-Extension
- Fixed compiler warnings in the Ruby C extension. (https://github.com/protocolbuffers/protobuf/commit/c6fcd398dd4e713d2128a211c1048c1811c5b7e7)
- Backport windows fixes with INFINITY/NAN (#19390) (https://github.com/protocolbuffers/protobuf/commit/65196bce3f680e599cf003078b34258b3617cdf6)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Backport windows fixes with INFINITY/NAN (#19390) (https://github.com/protocolbuffers/protobuf/commit/65196bce3f680e599cf003078b34258b3617cdf6)
Other
- Update artifact actions (#19701) (https://github.com/protocolbuffers/protobuf/commit/028200c3cf7d8ca8e3899f4484c28be44a3ef79c)
- Remove CMake downgrade workaround from Windows CI tests (#19633) (https://github.com/protocolbuffers/protobuf/commit/e2cc170b2b7126347b52853d9fd1a5c91d6fc9d1)
- Upgrade setup-ruby to get around 'Unsupported platform macos-13' (https://github.com/protocolbuffers/protobuf/commit/3f26684a8b452148cd848baf13806f9980e1502d)
- Remove continous-only tag which didn't exist in 25.x (https://github.com/protocolbuffers/protobuf/commit/5f9e57bf213f30bee81a2a6c273ce2c35e86ec10)
- Update remaining Python 3.8 upb macos tests to macos-13 (https://github.com/protocolbuffers/protobuf/commit/f12272912b151e4f3e70ff179bda9c160beea46b)
- Update GitHub Actions to use macOS-13 ahead of macOS-12 deprecation. (https://github.com/protocolbuffers/protobuf/commit/6fad18ca1e9f8ad29d87496b5e01200e2fe762c4)
- Upgrade PHP mac runner to avoid slow PHP installs (#18972) (https://github.com/protocolbuffers/protobuf/commit/4212301a2f66cbc60bf8c89ac61fea6d059ed17f)
- Restore macOS CMake configuration. (https://github.com/protocolbuffers/protobuf/commit/31c52806eae42a1ddfc6256cb76f1aad4136111c)
- Update staleness tests to only run over release branch (#18397) (https://github.com/protocolbuffers/protobuf/commit/78e1c09431a57ae27beef33d5a9d3dce9154ceb8)
- C++
Published by acozzette about 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v29.3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix cmake installation location of java and go features (#19773) (https://github.com/protocolbuffers/protobuf/commit/1dc5842ebe7956e79d5dfee6d3589df02faa77fd)
Other
- Add .bazeliskrc for protobuf repo to tell bazelisk to use 7.1.2 by default. (#19884) (https://github.com/protocolbuffers/protobuf/commit/9a5d2c329c159e07f7da8ba5dfe0acc98dfb81a9)
- Update artifact actions to v4 (#19703) (https://github.com/protocolbuffers/protobuf/commit/8e7e6b026f0ef00fd0f3d3cbeb41a02f8621c785)
- C++
Published by tonyliaoss about 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v29.2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Automated rollback of commit 23aada230b2478c7a07fe7612489eb8e79b9c379. (#19692) (https://github.com/protocolbuffers/protobuf/commit/17726576c00d4509bc3552ec922de2399f6503fe)
- Remove unused / invalid C++ lazy repeated field code from OSS. (#19682) (https://github.com/protocolbuffers/protobuf/commit/3649f873a3ff7c9d01653dfd67031ab2f9548df5)
Java
- Automated rollback of commit 23aada230b2478c7a07fe7612489eb8e79b9c379. (#19692) (https://github.com/protocolbuffers/protobuf/commit/17726576c00d4509bc3552ec922de2399f6503fe)
Other
- Export environment variables so bazelisk picks them up (#19690) (https://github.com/protocolbuffers/protobuf/commit/8b9d76c458bee6bd9e1d8edacace5b2aa7c5a4c7)
- Pin staleness check to Bazel 7 (#19689) (https://github.com/protocolbuffers/protobuf/commit/a1c9b6a2dbda0ab13037e60ac0d6edcef93aaab7)
- Remove CMake downgrade workaround from Windows CI tests (#19630) (https://github.com/protocolbuffers/protobuf/commit/3a7bb4a9904314cdc7c245209c94b8e975aef6f5)
- C++
Published by esrauchg about 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v29.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Java
- Rename maven to protobuf_maven in MODULE.bazel (#18641) (#19477) (https://github.com/protocolbuffers/protobuf/commit/ba6da44dd0910910ea4aad90afc9ea0ae0afc9cf)
Kotlin
- Rename maven to protobuf_maven in MODULE.bazel (#18641) (#19477) (https://github.com/protocolbuffers/protobuf/commit/ba6da44dd0910910ea4aad90afc9ea0ae0afc9cf)
Python
- Revert "Remove deprecated service.py usages from test". For 29.x only (#19434) (https://github.com/protocolbuffers/protobuf/commit/5864b5078a0187a1a16d4d2ed6f55972511d0a94)
- C++
Published by sbenzaquen about 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v29.0
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Add missing line to docstring after Args (#19213) (https://github.com/protocolbuffers/protobuf/commit/6f310d5d88585e6badf12620fb18e11242c5b838)
- Fix proto_info_bzl (#18918) (https://github.com/protocolbuffers/protobuf/commit/083de5faeb2d7a1940d1028c317a4a8bad60fe07)
- Use rules_cc everywhere in protobuf (https://github.com/protocolbuffers/protobuf/commit/ddadd0b3d674d775baa9ff4ab2f83ce369cca21d)
- Upgrade rules_cc to 0.0.13 (https://github.com/protocolbuffers/protobuf/commit/3dd483541ed66ceca3f4b876d938081c753ca5b7)
- Convert proto toolchain string to Label (https://github.com/protocolbuffers/protobuf/commit/aa181e28db6e5cc36580519b49a08d0ff7042dba)
- Prepare supporting targets for testing (https://github.com/protocolbuffers/protobuf/commit/a748b10c32365ead2641fd3a3ccfadfe04f3746b)
- Support --incompatible_enable_proto_toolchain_resolution (https://github.com/protocolbuffers/protobuf/commit/372ddb308be33fed837043a2446f7b2305dcb075)
- Move ProtoInfo and ProtoLangToolchainInfo from Bazel (https://github.com/protocolbuffers/protobuf/commit/426ca8a34a2871cbc777450b6d0c347a158217d7)
- Move java_{lite_}proto_library from Bazel repository (https://github.com/protocolbuffers/protobuf/commit/d77bdacc31294b930e16a0d3054c10cb28d601a0)
- Move proto_toolchain from rules_proto to protobuf (https://github.com/protocolbuffers/protobuf/commit/9f9cb7a10e5c49c2e81b8352292e4e84a5eb7cfa)
- Move proto_library from Bazel repository (https://github.com/protocolbuffers/protobuf/commit/3ff2cf05f341a2ebe9e4e79e59717f85cfd5d601)
- Move proto_common implementation from Bazel binary (https://github.com/protocolbuffers/protobuf/commit/b19fbe62bc4965b76f781fe632c2388a9974b9b4)
Compiler
- Begin adding extension numbers to SourceCodeInfo and FileDescriptorSet for tooling purposes. (https://github.com/protocolbuffers/protobuf/commit/07e489d98a4c445b0a9c56b07b195b258719ee82)
- Update protoc release to include editions language features proto for Go (#19013) (https://github.com/protocolbuffers/protobuf/commit/63d966b0d270cbebb4681c0d4c905031284e0d2b)
- Introduce lifetimes for individual feature values. (https://github.com/protocolbuffers/protobuf/commit/0b6e768f07c4cde376783b964022ec7e1ff3e772)
- Windows - Fix handling of utf8 command line arguments (#17854) (https://github.com/protocolbuffers/protobuf/commit/b9d1800df0f7ee41a7e24e2d16e31195eda6a698)
- Limit feature deprecation warnings to reduce noise. (https://github.com/protocolbuffers/protobuf/commit/5cd9a463f96478cc6203f02635368a7a8ecc22b3)
C++
- Fix C++ ifndef_guard printer to also convert "-" to "_". (https://github.com/protocolbuffers/protobuf/commit/7331b770978d55e6753a286187a511de86452e1a)
- Fix C++ codegen namespace printer to print closing namespaces in reverse order. (https://github.com/protocolbuffers/protobuf/commit/3bf9c400ec797b1b287bab3079e14b89995c8828)
- Fix raw_ptr.cc on exotic architectures (#18193) (https://github.com/protocolbuffers/protobuf/commit/63f6262c93edfef482011cfdc9df014e376ace69)
- Fix cord handling in DynamicMessage and oneofs. (https://github.com/protocolbuffers/protobuf/commit/9e8b30c2135944d9d3a6e53b70e534581e2dbe2b)
- Fix packed reflection handling bug in edition 2023. (https://github.com/protocolbuffers/protobuf/commit/4c923285a32ebcb53ce2ba03144e50d4dbedaf7b)
- Add JsonStreamToMessage method (https://github.com/protocolbuffers/protobuf/commit/0259cc3980a29945af19bf80225611ff84b7eece)
- Introduce lifetimes for individual feature values. (https://github.com/protocolbuffers/protobuf/commit/0b6e768f07c4cde376783b964022ec7e1ff3e772)
- Insert software prefetches into merge functions. This improves performance when hardware prefetchers are disabled on AMD machines. (https://github.com/protocolbuffers/protobuf/commit/d99336559ed897f18fee879f0e39811b26be4c0c)
- Insert software prefetches into proto parsing functions. This improves performance when hardware prefetchers are disabled on AMD platforms. (https://github.com/protocolbuffers/protobuf/commit/8aa0add7d3ca89bd94a029c48c3a92f7c366a073)
- Add prefetching of subsequent extensions in ExtensionSet::ForEach. (https://github.com/protocolbuffers/protobuf/commit/9b019ee2711fdeb29917bfb8c4c1292635c35aa7)
- Remove the AnyMetadata class and use free functions instead. (https://github.com/protocolbuffers/protobuf/commit/920d5c33d4d521e075d0418496379ff9d12f9cec)
- Add
[[deprecated]]attribute when generating enums and classes. (https://github.com/protocolbuffers/protobuf/commit/23aada230b2478c7a07fe7612489eb8e79b9c379) - Use linear search instead of binary search in flat mode of ExtensionSet. (https://github.com/protocolbuffers/protobuf/commit/0ed61f0b15343d6450a55413748aa71a6ded0842)
- Prepare
MessageLite::GetTypeNameto be upgraded to return (https://github.com/protocolbuffers/protobuf/commit/30a8ef5008f9dec3f4270d3139a318099a7fc8ac) - Limit feature deprecation warnings to reduce noise. (https://github.com/protocolbuffers/protobuf/commit/5cd9a463f96478cc6203f02635368a7a8ecc22b3)
- Add Compiler Condition to use inline assembly optimizations with ARM64 for Compatibility with MSVC (#17671) (https://github.com/protocolbuffers/protobuf/commit/c5f623184dc91e5c5bc58adb91b93f24e4467282)
- Enable small object optimization (SOO) for RepeatedField in order to reduce data indirections. (https://github.com/protocolbuffers/protobuf/commit/e2525e6b365459f9183cb21815f74b4bba205481)
- Return backing array memory to arena in ExtensionSet. (https://github.com/protocolbuffers/protobuf/commit/5ac8ee1a2067d1abab015bdd64e8102af799cc74)
- In edition 2024,
Enum_Name(value)functions returnabsl::string_viewby default. (https://github.com/protocolbuffers/protobuf/commit/e3fa6aac29f72e27f9db73db26fb71f24509ab7c) - Add Prefetchers to Proto Copy Construct to help address load misses (https://github.com/protocolbuffers/protobuf/commit/cdb723815b66e3bac2c9ca87dc9f8322488a6bc9)
- Reduced nesting in GenerateByteSize: slight readability improvements in generated code. (https://github.com/protocolbuffers/protobuf/commit/162a74067058a298ea1dc9ed7c0791b4c6abb69a)
- Introduce FieldDescriptor::cpp_string_type() API to replace direct ctype inspection which will be removed in the next breaking change (https://github.com/protocolbuffers/protobuf/commit/d0e49dfe3161714046a4ee2aeafba133b171e26f)
- Update the comment of TextFormat::Printer::RegisterMessagePrinter that the method takes ownerhip of the
printerpointer. (https://github.com/protocolbuffers/protobuf/commit/d91116176642f24ef1b2c2431e7c5c3150bbad68) - Prepare the code for migrating return types from
const std::string&to (https://github.com/protocolbuffers/protobuf/commit/e13b8e999b3922d0633802c7f90e39af50a31d76)
Java
- Remove deprecation warnings for Timestamp and Duration add/subtract/between that we do not yet have alternatives to. (https://github.com/protocolbuffers/protobuf/commit/f606c138a55b68bbc009281918023f7ede58720b)
- [29.x] Add missing java load (#19016) (https://github.com/protocolbuffers/protobuf/commit/bb287be772454d63b411b73d60b1d92daa879f2e)
- Give Kotlin jars an OSGi Manifest (#18812) (https://github.com/protocolbuffers/protobuf/commit/0c51ebac875657ecf6f8cca3d5463c23eb7d8b00)
- Re-export includingDefaultValueFields in deprecated state for important Cloud customer. (https://github.com/protocolbuffers/protobuf/commit/7321b2fd9a787dd08cd3cf8b25e8ccd9e479c60c)
- Restore compatibility with 3.22 gencode by re-adding mutableCopy helpers (https://github.com/protocolbuffers/protobuf/commit/1b1e90b83101314250f1fec3b6989b20606d0ecb)
- Speed up CodedOutputStream by extracting rarely-executed string formatting code (https://github.com/protocolbuffers/protobuf/commit/f8f5136c427ac1cbd5184bc57200e36c7e4bf82e)
- Return constant Value objects for true, false, and "" (https://github.com/protocolbuffers/protobuf/commit/4fbb0c5eedf5658c5f3fac574b8bb0d3b3664621)
- Optimise CodedOutputStream.ArrayEncoder.writeFixed32NoTag/writeFixed64NoTag (https://github.com/protocolbuffers/protobuf/commit/a51f98ce0c211492d070970f214a6eefb6aadf63)
- CodedOutputStream: avoid updating position to go beyond end of array. (https://github.com/protocolbuffers/protobuf/commit/76ab5f2b109fbd03c160b27a41935ad132287c88)
- Convert IndexOutOfBoundsException to OutOfSpaceException in UnsafeDirectNioEncoder (https://github.com/protocolbuffers/protobuf/commit/0e75d92cceeaf615794b91c4ab847eeff9935290)
- Suppress ReturnValueIgnored errorprone issues (https://github.com/protocolbuffers/protobuf/commit/bbbc7b967113ec7f5da3950c7c97e832507ffe96)
- Fix packed reflection handling bug in edition 2023. (https://github.com/protocolbuffers/protobuf/commit/4c923285a32ebcb53ce2ba03144e50d4dbedaf7b)
- Move cc_proto_library from Bazel repository (https://github.com/protocolbuffers/protobuf/commit/52544482bf3da31382a8b7a32b766ef644dc0611)
- Protobuf Lite ArrayLists: Defer allocating backing array until we have some idea how much to allocate. (https://github.com/protocolbuffers/protobuf/commit/05a8a4012351b07010afbc76892fe7919d0cb964)
- Allocate correct-sized array when parsing packed fixed-width primitives (https://github.com/protocolbuffers/protobuf/commit/4e8469cb456ad25d4dd448079bb46a938ad6e306)
- Bugfix: Make extensions beyond n=16 immutable. (https://github.com/protocolbuffers/protobuf/commit/ee419f22e0eec21243540d4b7ffe40bd194ed293)
- Reserve capacity in ProtobufArrayList when calling Builder.addAllRepeatedMessage(Collection) (https://github.com/protocolbuffers/protobuf/commit/e3cc31a12eaddcfaaa5a27c272e240b6cbd985c8)
- Avoid allocating iterators when calling Message.Builder.addAllFoo(RandomAccess List) (https://github.com/protocolbuffers/protobuf/commit/bd1887e436d2c6cc35db1eede8ebbe1bee1fb78f)
- Remove the AnyMetadata class and use free functions instead. (https://github.com/protocolbuffers/protobuf/commit/920d5c33d4d521e075d0418496379ff9d12f9cec)
- Add
[[deprecated]]attribute when generating enums and classes. (https://github.com/protocolbuffers/protobuf/commit/23aada230b2478c7a07fe7612489eb8e79b9c379) - Binary compatibility shims for GeneratedMessageV3, SingleFieldBuilderV3, RepeatedFieldBuilderV3, and their nested classes to restore binary compatibility with <=v3.x.x generated code built against v3.x.x prior to v4.26.0 breaking release. (https://github.com/protocolbuffers/protobuf/commit/df8a11e2666ad2940b0483c00d4aff586315b9a0)
- Implement a mechanism to control the output format of Message.toString within a Runnable instance. (https://github.com/protocolbuffers/protobuf/commit/737803eec49b0ae9d22dd116fcb9fc0064045bad)
- Fix
TextFormat.Parserto appropriately handle unknown values for open enums (https://github.com/protocolbuffers/protobuf/commit/df1aad4eb80afbac12b824be233759ff40ab984c) - Inline ArrayList's array into SmallSortedMap (https://github.com/protocolbuffers/protobuf/commit/910f62779fa86a3a1f653d0d34bb7d24e42f64be)
- Deprecated unused/obsolete mutable APIs, to be removed in next breaking change. (https://github.com/protocolbuffers/protobuf/commit/e889b0be5402b0ac3cc87ae3cd65d053fd1474ec)
Kotlin
- Give Kotlin jars an OSGi Manifest (#18812) (https://github.com/protocolbuffers/protobuf/commit/0c51ebac875657ecf6f8cca3d5463c23eb7d8b00)
- Support building //java with bzlmod (https://github.com/protocolbuffers/protobuf/commit/507ba36e299599ceca0c537aa95e416c996f1fcc)
- Replace deprecated use of
toBytes()withCharacterproperty.code(#18236) (https://github.com/protocolbuffers/protobuf/commit/5d9deab879c03293b11d7134e005f1ac0635d2ac)
Csharp
- Begin adding extension numbers to SourceCodeInfo and FileDescriptorSet for tooling purposes. (https://github.com/protocolbuffers/protobuf/commit/07e489d98a4c445b0a9c56b07b195b258719ee82)
Objective-C
- [ObjC] Make debug runtime tell developers to update their generated code. (https://github.com/protocolbuffers/protobuf/commit/cdd3cf7ed4a34d9b01065ffef41988c1aefc663c)
- [ObjC] Issue stderr warnings for deprecated generation options. (https://github.com/protocolbuffers/protobuf/commit/e9140a10eca0688fcc1a03507f8b522b9bbdc50e)
- [ObjC] Deprecate GPBUnknownFieldSet and related apis. (https://github.com/protocolbuffers/protobuf/commit/d794139f09230bed72ec765426854723deac012d)
- [ObjC] Deprecate GPBTextFormatForUnknownFieldSet(). (https://github.com/protocolbuffers/protobuf/commit/55e997ea222561c606ba7c59706e6377776c5d9b)
Python
- Fix a python bug when assign an empty Struct at creation. (#18977) (https://github.com/protocolbuffers/protobuf/commit/bb0d57512d7731164837f57274e23eb411f80ccf)
- Add a deprecation warning to py_proto_library (#19032) (https://github.com/protocolbuffers/protobuf/commit/53cde641d941293cde7dd8fe5b7e429ee52658bd)
- Load Python rules everywhere in protobuf (https://github.com/protocolbuffers/protobuf/commit/a18f0de47c2c650f5c57e6cca80ee3bded76b19a)
- Fix cord handling in DynamicMessage and oneofs. (https://github.com/protocolbuffers/protobuf/commit/9e8b30c2135944d9d3a6e53b70e534581e2dbe2b)
- Fix packed reflection handling bug in edition 2023. (https://github.com/protocolbuffers/protobuf/commit/4c923285a32ebcb53ce2ba03144e50d4dbedaf7b)
- Fix ContainerBase::DeepCopy to not modify the source object. (https://github.com/protocolbuffers/protobuf/commit/9fa1f4f9bb74776ee65847ca960a1f023eac3ebe)
- Introduce lifetimes for individual feature values. (https://github.com/protocolbuffers/protobuf/commit/0b6e768f07c4cde376783b964022ec7e1ff3e772)
- Nextgen Proto Pythonic API: Add any.py (https://github.com/protocolbuffers/protobuf/commit/dd95e5b1fa65b06d9206c016b1d53f73abd9da44)
- Add test that tries to parse a JSON string that exceeds the recursion limit. (https://github.com/protocolbuffers/protobuf/commit/5a224554ebe3937577406a7e1099b797f5b10dba)
- Raise warnings for deprecated python cpp extension GetDebugString(). (https://github.com/protocolbuffers/protobuf/commit/b70c4b0c19dd4f8c73181320b060682ff9f1eebd)
- Nextgen Proto Pythonic API: Add duration.py (https://github.com/protocolbuffers/protobuf/commit/903c3f15b04d99ab88cee53e4cec9464ef292bce)
- Nextgen Proto Pythonic API: Add timestamp.py (https://github.com/protocolbuffers/protobuf/commit/ee26f2749341091b88c661734cdd5f0737587ce5)
- -Remove service.py usages in builder (https://github.com/protocolbuffers/protobuf/commit/2967c521a60241c35fb822c1661618493f824dda)
- Raise warnings for deprecated google/protobuf/reflection.py APIs. (https://github.com/protocolbuffers/protobuf/commit/55705f85db9a66da8a3dcbe18b4298594fa0dd6d)
PHP
- Fix: do not throw deprecated warning on field getters for default values (#17788) (https://github.com/protocolbuffers/protobuf/commit/6d84da5e2d42a8c83373c0bc6d7ed0ca6f78aade)
PHP C-Extension
- Fixed non-conformance in JSON parsing for empty strings in numeric fields. (#19259) (https://github.com/protocolbuffers/protobuf/commit/b69ea96ef9c11e557a19d971b1ef10a8732c7013)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Fixed non-conformance in JSON parsing for empty strings in numeric fields. (#19259) (https://github.com/protocolbuffers/protobuf/commit/b69ea96ef9c11e557a19d971b1ef10a8732c7013)
- Remove codes for unsupported Ruby (#17353) (https://github.com/protocolbuffers/protobuf/commit/184f3a37e9bee6040c316e38ee24caa81de5c087)
- [Ruby] Warn if assigning a "UTF-8" string with invalid UTF-8. (#17253) (https://github.com/protocolbuffers/protobuf/commit/b07e4b1eeb2f530ce4a2a980aa1f01289b8325ff)
Ruby C-Extension
- Fixed non-conformance in JSON parsing for empty strings in numeric fields. (#19259) (https://github.com/protocolbuffers/protobuf/commit/b69ea96ef9c11e557a19d971b1ef10a8732c7013)
- Fix a potential Ruby-upb use of uninitialized memory. (https://github.com/protocolbuffers/protobuf/commit/4d75c8224ac04957b997719700a8757173bbab19)
- [Ruby] Warn if assigning a "UTF-8" string with invalid UTF-8. (#17253) (https://github.com/protocolbuffers/protobuf/commit/b07e4b1eeb2f530ce4a2a980aa1f01289b8325ff)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Fixed non-conformance in JSON parsing for empty strings in numeric fields. (#19259) (https://github.com/protocolbuffers/protobuf/commit/b69ea96ef9c11e557a19d971b1ef10a8732c7013)
- Load Python rules everywhere in protobuf (https://github.com/protocolbuffers/protobuf/commit/a18f0de47c2c650f5c57e6cca80ee3bded76b19a)
- Fix a potential Ruby-upb use of uninitialized memory. (https://github.com/protocolbuffers/protobuf/commit/4d75c8224ac04957b997719700a8757173bbab19)
- Fixed
NAN/INFINITYdefinitions to work on Windows 11 SDK. (https://github.com/protocolbuffers/protobuf/commit/0309d86d3175cb3fb82d37150e6eff90b11bed77)
Other
- Fix typo in BCR maintainer name config for acozzette@ (#19307) (https://github.com/protocolbuffers/protobuf/commit/02cffa463c3c38316467e168e13972da003fe58e)
- Remove Bazel 6 in BCR presubmits (#19309) (https://github.com/protocolbuffers/protobuf/commit/7537b0387c3c620ccbe40477743e3352f39c9b9a)
- Upgrade rules_cc 0.0.15 and rules_java 8.3.1 (#19215) (https://github.com/protocolbuffers/protobuf/commit/fb8ee79637773d51e6e15679c1509aed2f9bf9d0)
- Upgrade rules_java and remove experimental_google_legacy_api flag (#18889) (https://github.com/protocolbuffers/protobuf/commit/f25389b5db127e23d49fb1140d42ce67a6b9f415)
- Replace use of C++17 with disabling a warning (https://github.com/protocolbuffers/protobuf/commit/111584f24bdec9c784c6cd3b9cb3828365f6da4c)
- Load Shell rules everywhere in protobuf (https://github.com/protocolbuffers/protobuf/commit/1822c8a6a22230d5124e43d7bb73d5831fdb93f3)
- Fix Bazel dependency cycle issue affecting Kythe (#18768) (https://github.com/protocolbuffers/protobuf/commit/6df33a4b8a105d4382c212f46128e1539a3fae6a)
- Remove rules_rust dependency (https://github.com/protocolbuffers/protobuf/commit/4329b89321f2dbfde6dc9ffc62405daf5b33d67d)
- Remove release branch staleness tests. (https://github.com/protocolbuffers/protobuf/commit/3551ee31b8ed544bfb2ae676f58da0851ffd8a54)
- Remove javaopts requiring java8 in non-release builds. (https://github.com/protocolbuffers/protobuf/commit/98beac0b3c0335f3f638d076f7584ff9785d4644)
- Docs: add nebius.ai custom options to registry (#18297) (https://github.com/protocolbuffers/protobuf/commit/e5d2dbd45a6deac2f39e2cea7a05c2120f3753b5)
- Protobuf-mode: add edition keyword for syntax highlighting (https://github.com/protocolbuffers/protobuf/commit/138451296bf4101f992faa215a1899f3b9ec29e7)
- C++
Published by shaod2 over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v29.0-rc3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Add missing line to docstring after Args (#19213) (https://github.com/protocolbuffers/protobuf/commit/6f310d5d88585e6badf12620fb18e11242c5b838)
Compiler
- Begin adding extension numbers to SourceCodeInfo and FileDescriptorSet for tooling purposes. (https://github.com/protocolbuffers/protobuf/commit/07e489d98a4c445b0a9c56b07b195b258719ee82)
- Update protoc release to include editions language features proto for Go (#19013) (https://github.com/protocolbuffers/protobuf/commit/63d966b0d270cbebb4681c0d4c905031284e0d2b)
Java
- Remove deprecation warnings for Timestamp and Duration add/subtract/between that we do not yet have alternatives to. (https://github.com/protocolbuffers/protobuf/commit/f606c138a55b68bbc009281918023f7ede58720b)
- [29.x] Add missing java load (#19016) (https://github.com/protocolbuffers/protobuf/commit/bb287be772454d63b411b73d60b1d92daa879f2e)
Csharp
- Begin adding extension numbers to SourceCodeInfo and FileDescriptorSet for tooling purposes. (https://github.com/protocolbuffers/protobuf/commit/07e489d98a4c445b0a9c56b07b195b258719ee82)
Python
- Fix a python bug when assign an empty Struct at creation. (#18977) (https://github.com/protocolbuffers/protobuf/commit/bb0d57512d7731164837f57274e23eb411f80ccf)
- Add a deprecation warning to py_proto_library (#19032) (https://github.com/protocolbuffers/protobuf/commit/53cde641d941293cde7dd8fe5b7e429ee52658bd)
PHP
PHP C-Extension
- Fixed non-conformance in JSON parsing for empty strings in numeric fields. (#19259) (https://github.com/protocolbuffers/protobuf/commit/b69ea96ef9c11e557a19d971b1ef10a8732c7013)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Fixed non-conformance in JSON parsing for empty strings in numeric fields. (#19259) (https://github.com/protocolbuffers/protobuf/commit/b69ea96ef9c11e557a19d971b1ef10a8732c7013)
Ruby C-Extension
- Fixed non-conformance in JSON parsing for empty strings in numeric fields. (#19259) (https://github.com/protocolbuffers/protobuf/commit/b69ea96ef9c11e557a19d971b1ef10a8732c7013)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Fixed non-conformance in JSON parsing for empty strings in numeric fields. (#19259) (https://github.com/protocolbuffers/protobuf/commit/b69ea96ef9c11e557a19d971b1ef10a8732c7013)
Other
- Upgrade rules_cc 0.0.15 and rules_java 8.3.1 (#19215) (https://github.com/protocolbuffers/protobuf/commit/fb8ee79637773d51e6e15679c1509aed2f9bf9d0)
- C++
Published by zhangskz over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v29.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Fix proto_info_bzl (#18918) (https://github.com/protocolbuffers/protobuf/commit/083de5faeb2d7a1940d1028c317a4a8bad60fe07)
- Use rules_cc everywhere in protobuf (https://github.com/protocolbuffers/protobuf/commit/ddadd0b3d674d775baa9ff4ab2f83ce369cca21d)
- Upgrade rules_cc to 0.0.13 (https://github.com/protocolbuffers/protobuf/commit/3dd483541ed66ceca3f4b876d938081c753ca5b7)
- Convert proto toolchain string to Label (https://github.com/protocolbuffers/protobuf/commit/aa181e28db6e5cc36580519b49a08d0ff7042dba)
- Prepare supporting targets for testing (https://github.com/protocolbuffers/protobuf/commit/a748b10c32365ead2641fd3a3ccfadfe04f3746b)
Java
- Give Kotlin jars an OSGi Manifest (#18812) (https://github.com/protocolbuffers/protobuf/commit/0c51ebac875657ecf6f8cca3d5463c23eb7d8b00)
- Re-export includingDefaultValueFields in deprecated state for important Cloud customer. (https://github.com/protocolbuffers/protobuf/commit/7321b2fd9a787dd08cd3cf8b25e8ccd9e479c60c)
- Restore compatibility with 3.22 gencode by re-adding mutableCopy helpers (https://github.com/protocolbuffers/protobuf/commit/1b1e90b83101314250f1fec3b6989b20606d0ecb)
Kotlin
- Give Kotlin jars an OSGi Manifest (#18812) (https://github.com/protocolbuffers/protobuf/commit/0c51ebac875657ecf6f8cca3d5463c23eb7d8b00)
Python
- Load Python rules everywhere in protobuf (https://github.com/protocolbuffers/protobuf/commit/a18f0de47c2c650f5c57e6cca80ee3bded76b19a)
UPB (Python/PHP/Ruby C-Extension)
- Load Python rules everywhere in protobuf (https://github.com/protocolbuffers/protobuf/commit/a18f0de47c2c650f5c57e6cca80ee3bded76b19a)
Other
- Upgrade rules_java and remove experimental_google_legacy_api flag (#18889) (https://github.com/protocolbuffers/protobuf/commit/f25389b5db127e23d49fb1140d42ce67a6b9f415)
- Replace use of C++17 with disabling a warning (https://github.com/protocolbuffers/protobuf/commit/111584f24bdec9c784c6cd3b9cb3828365f6da4c)
- Load Shell rules everywhere in protobuf (https://github.com/protocolbuffers/protobuf/commit/1822c8a6a22230d5124e43d7bb73d5831fdb93f3)
- Fix Bazel dependency cycle issue affecting Kythe (#18768) (https://github.com/protocolbuffers/protobuf/commit/6df33a4b8a105d4382c212f46128e1539a3fae6a)
- Remove rules_rust dependency (https://github.com/protocolbuffers/protobuf/commit/4329b89321f2dbfde6dc9ffc62405daf5b33d67d)
- Remove release branch staleness tests. (https://github.com/protocolbuffers/protobuf/commit/3551ee31b8ed544bfb2ae676f58da0851ffd8a54)
- Remove javaopts requiring java8 in non-release builds. (https://github.com/protocolbuffers/protobuf/commit/98beac0b3c0335f3f638d076f7584ff9785d4644)
- C++
Published by JasonLunn over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v28.3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix packed reflection handling bug in edition 2023. (#18405) (https://github.com/protocolbuffers/protobuf/commit/c4124f9ec9185c6e9a9fdca4e41a00a1223ddca5)
Java
- Mute the minor version warning https://github.com/protocolbuffers/protobuf/issues/18096 (#18923) (https://github.com/protocolbuffers/protobuf/commit/fe30f9a1d14e8f2b85987d4eed5c5594e6cf801f)
- Populate Kotlin Manifest Files (#18859) (https://github.com/protocolbuffers/protobuf/commit/d82fb4710c08b763064c27dee3849af499641ffa)
- Re-export includingDefaultValueFields in deprecated state for important Cloud customer. (https://github.com/protocolbuffers/protobuf/commit/3b62d78dc70d2b43af5998d427452246279363c7)
- Cherrypick restoration of mutableCopy helpers (https://github.com/protocolbuffers/protobuf/commit/3ea568a9b6107ebf0d617c476f53a31490fd3182)
- Fix packed reflection handling bug in edition 2023. (#18405) (https://github.com/protocolbuffers/protobuf/commit/c4124f9ec9185c6e9a9fdca4e41a00a1223ddca5)
Kotlin
- Populate Kotlin Manifest Files (#18859) (https://github.com/protocolbuffers/protobuf/commit/d82fb4710c08b763064c27dee3849af499641ffa)
Python
- Mute the minor version warning https://github.com/protocolbuffers/protobuf/issues/18096 (#18923) (https://github.com/protocolbuffers/protobuf/commit/fe30f9a1d14e8f2b85987d4eed5c5594e6cf801f)
- Fix packed reflection handling bug in edition 2023. (#18405) (https://github.com/protocolbuffers/protobuf/commit/c4124f9ec9185c6e9a9fdca4e41a00a1223ddca5)
Other
- Fix merge conflicts (https://github.com/protocolbuffers/protobuf/commit/664a7e1cd37b6743126411d0af16990b92cde055)
- [ObjC] Disabling visionOS on CI. (https://github.com/protocolbuffers/protobuf/commit/22cd8ba0507488a6d73bea728c3fdf0e2594732f)
- Update staleness tests to only run over release branch (#18398) (https://github.com/protocolbuffers/protobuf/commit/8e94b1493c5095c00bb7f4232558c3a4a7618228)
- C++
Published by haberman over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v29.0-rc1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Bazel
- Support --incompatible_enable_proto_toolchain_resolution (https://github.com/protocolbuffers/protobuf/commit/372ddb308be33fed837043a2446f7b2305dcb075)
- Move ProtoInfo and ProtoLangToolchainInfo from Bazel (https://github.com/protocolbuffers/protobuf/commit/426ca8a34a2871cbc777450b6d0c347a158217d7)
- Move java_{lite_}proto_library from Bazel repository (https://github.com/protocolbuffers/protobuf/commit/d77bdacc31294b930e16a0d3054c10cb28d601a0)
- Move proto_toolchain from rules_proto to protobuf (https://github.com/protocolbuffers/protobuf/commit/9f9cb7a10e5c49c2e81b8352292e4e84a5eb7cfa)
- Move proto_library from Bazel repository (https://github.com/protocolbuffers/protobuf/commit/3ff2cf05f341a2ebe9e4e79e59717f85cfd5d601)
- Move proto_common implementation from Bazel binary (https://github.com/protocolbuffers/protobuf/commit/b19fbe62bc4965b76f781fe632c2388a9974b9b4)
Compiler
- Introduce lifetimes for individual feature values. (https://github.com/protocolbuffers/protobuf/commit/0b6e768f07c4cde376783b964022ec7e1ff3e772)
- Windows - Fix handling of utf8 command line arguments (#17854) (https://github.com/protocolbuffers/protobuf/commit/b9d1800df0f7ee41a7e24e2d16e31195eda6a698)
- Limit feature deprecation warnings to reduce noise. (https://github.com/protocolbuffers/protobuf/commit/5cd9a463f96478cc6203f02635368a7a8ecc22b3)
C++
- Fix C++ ifndef_guard printer to also convert "-" to "_". (https://github.com/protocolbuffers/protobuf/commit/7331b770978d55e6753a286187a511de86452e1a)
- Fix C++ codegen namespace printer to print closing namespaces in reverse order. (https://github.com/protocolbuffers/protobuf/commit/3bf9c400ec797b1b287bab3079e14b89995c8828)
- Fix raw_ptr.cc on exotic architectures (#18193) (https://github.com/protocolbuffers/protobuf/commit/63f6262c93edfef482011cfdc9df014e376ace69)
- Fix cord handling in DynamicMessage and oneofs. (https://github.com/protocolbuffers/protobuf/commit/9e8b30c2135944d9d3a6e53b70e534581e2dbe2b)
- Fix packed reflection handling bug in edition 2023. (https://github.com/protocolbuffers/protobuf/commit/4c923285a32ebcb53ce2ba03144e50d4dbedaf7b)
- Add JsonStreamToMessage method (https://github.com/protocolbuffers/protobuf/commit/0259cc3980a29945af19bf80225611ff84b7eece)
- Introduce lifetimes for individual feature values. (https://github.com/protocolbuffers/protobuf/commit/0b6e768f07c4cde376783b964022ec7e1ff3e772)
- Insert software prefetches into merge functions. This improves performance when hardware prefetchers are disabled on AMD machines. (https://github.com/protocolbuffers/protobuf/commit/d99336559ed897f18fee879f0e39811b26be4c0c)
- Insert software prefetches into proto parsing functions. This improves performance when hardware prefetchers are disabled on AMD platforms. (https://github.com/protocolbuffers/protobuf/commit/8aa0add7d3ca89bd94a029c48c3a92f7c366a073)
- Add prefetching of subsequent extensions in ExtensionSet::ForEach. (https://github.com/protocolbuffers/protobuf/commit/9b019ee2711fdeb29917bfb8c4c1292635c35aa7)
- Remove the AnyMetadata class and use free functions instead. (https://github.com/protocolbuffers/protobuf/commit/920d5c33d4d521e075d0418496379ff9d12f9cec)
- Add
[[deprecated]]attribute when generating enums and classes. (https://github.com/protocolbuffers/protobuf/commit/23aada230b2478c7a07fe7612489eb8e79b9c379) - Use linear search instead of binary search in flat mode of ExtensionSet. (https://github.com/protocolbuffers/protobuf/commit/0ed61f0b15343d6450a55413748aa71a6ded0842)
- Prepare
MessageLite::GetTypeNameto be upgraded to return (https://github.com/protocolbuffers/protobuf/commit/30a8ef5008f9dec3f4270d3139a318099a7fc8ac) - Limit feature deprecation warnings to reduce noise. (https://github.com/protocolbuffers/protobuf/commit/5cd9a463f96478cc6203f02635368a7a8ecc22b3)
- Add Compiler Condition to use inline assembly optimizations with ARM64 for Compatibility with MSVC (#17671) (https://github.com/protocolbuffers/protobuf/commit/c5f623184dc91e5c5bc58adb91b93f24e4467282)
- Enable small object optimization (SOO) for RepeatedField in order to reduce data indirections. (https://github.com/protocolbuffers/protobuf/commit/e2525e6b365459f9183cb21815f74b4bba205481)
- Return backing array memory to arena in ExtensionSet. (https://github.com/protocolbuffers/protobuf/commit/5ac8ee1a2067d1abab015bdd64e8102af799cc74)
- In edition 2024,
Enum_Name(value)functions returnabsl::string_viewby default. (https://github.com/protocolbuffers/protobuf/commit/e3fa6aac29f72e27f9db73db26fb71f24509ab7c) - Add Prefetchers to Proto Copy Construct to help address load misses (https://github.com/protocolbuffers/protobuf/commit/cdb723815b66e3bac2c9ca87dc9f8322488a6bc9)
- Reduced nesting in GenerateByteSize: slight readability improvements in generated code. (https://github.com/protocolbuffers/protobuf/commit/162a74067058a298ea1dc9ed7c0791b4c6abb69a)
- Introduce FieldDescriptor::cpp_string_type() API to replace direct ctype inspection which will be removed in the next breaking change (https://github.com/protocolbuffers/protobuf/commit/d0e49dfe3161714046a4ee2aeafba133b171e26f)
- Update the comment of TextFormat::Printer::RegisterMessagePrinter that the method takes ownerhip of the
printerpointer. (https://github.com/protocolbuffers/protobuf/commit/d91116176642f24ef1b2c2431e7c5c3150bbad68) - Prepare the code for migrating return types from
const std::string&to (https://github.com/protocolbuffers/protobuf/commit/e13b8e999b3922d0633802c7f90e39af50a31d76)
Java
- Speed up CodedOutputStream by extracting rarely-executed string formatting code (https://github.com/protocolbuffers/protobuf/commit/f8f5136c427ac1cbd5184bc57200e36c7e4bf82e)
- Return constant Value objects for true, false, and "" (https://github.com/protocolbuffers/protobuf/commit/4fbb0c5eedf5658c5f3fac574b8bb0d3b3664621)
- Optimise CodedOutputStream.ArrayEncoder.writeFixed32NoTag/writeFixed64NoTag (https://github.com/protocolbuffers/protobuf/commit/a51f98ce0c211492d070970f214a6eefb6aadf63)
- CodedOutputStream: avoid updating position to go beyond end of array. (https://github.com/protocolbuffers/protobuf/commit/76ab5f2b109fbd03c160b27a41935ad132287c88)
- Convert IndexOutOfBoundsException to OutOfSpaceException in UnsafeDirectNioEncoder (https://github.com/protocolbuffers/protobuf/commit/0e75d92cceeaf615794b91c4ab847eeff9935290)
- Suppress ReturnValueIgnored errorprone issues (https://github.com/protocolbuffers/protobuf/commit/bbbc7b967113ec7f5da3950c7c97e832507ffe96)
- Fix packed reflection handling bug in edition 2023. (https://github.com/protocolbuffers/protobuf/commit/4c923285a32ebcb53ce2ba03144e50d4dbedaf7b)
- Move cc_proto_library from Bazel repository (https://github.com/protocolbuffers/protobuf/commit/52544482bf3da31382a8b7a32b766ef644dc0611)
- Protobuf Lite ArrayLists: Defer allocating backing array until we have some idea how much to allocate. (https://github.com/protocolbuffers/protobuf/commit/05a8a4012351b07010afbc76892fe7919d0cb964)
- Allocate correct-sized array when parsing packed fixed-width primitives (https://github.com/protocolbuffers/protobuf/commit/4e8469cb456ad25d4dd448079bb46a938ad6e306)
- Bugfix: Make extensions beyond n=16 immutable. (https://github.com/protocolbuffers/protobuf/commit/ee419f22e0eec21243540d4b7ffe40bd194ed293)
- Reserve capacity in ProtobufArrayList when calling Builder.addAllRepeatedMessage(Collection) (https://github.com/protocolbuffers/protobuf/commit/e3cc31a12eaddcfaaa5a27c272e240b6cbd985c8)
- Avoid allocating iterators when calling Message.Builder.addAllFoo(RandomAccess List) (https://github.com/protocolbuffers/protobuf/commit/bd1887e436d2c6cc35db1eede8ebbe1bee1fb78f)
- Remove the AnyMetadata class and use free functions instead. (https://github.com/protocolbuffers/protobuf/commit/920d5c33d4d521e075d0418496379ff9d12f9cec)
- Add
[[deprecated]]attribute when generating enums and classes. (https://github.com/protocolbuffers/protobuf/commit/23aada230b2478c7a07fe7612489eb8e79b9c379) - Binary compatibility shims for GeneratedMessageV3, SingleFieldBuilderV3, RepeatedFieldBuilderV3, and their nested classes to restore binary compatibility with <=v3.x.x generated code built against v3.x.x prior to v4.26.0 breaking release. (https://github.com/protocolbuffers/protobuf/commit/df8a11e2666ad2940b0483c00d4aff586315b9a0)
- Implement a mechanism to control the output format of Message.toString within a Runnable instance. (https://github.com/protocolbuffers/protobuf/commit/737803eec49b0ae9d22dd116fcb9fc0064045bad)
- Fix
TextFormat.Parserto appropriately handle unknown values for open enums (https://github.com/protocolbuffers/protobuf/commit/df1aad4eb80afbac12b824be233759ff40ab984c) - Inline ArrayList's array into SmallSortedMap (https://github.com/protocolbuffers/protobuf/commit/910f62779fa86a3a1f653d0d34bb7d24e42f64be)
- Deprecated unused/obsolete mutable APIs, to be removed in next breaking change. (https://github.com/protocolbuffers/protobuf/commit/e889b0be5402b0ac3cc87ae3cd65d053fd1474ec)
Kotlin
- Support building //java with bzlmod (https://github.com/protocolbuffers/protobuf/commit/507ba36e299599ceca0c537aa95e416c996f1fcc)
- Replace deprecated use of
toBytes()withCharacterproperty.code(#18236) (https://github.com/protocolbuffers/protobuf/commit/5d9deab879c03293b11d7134e005f1ac0635d2ac)
Objective-C
- [ObjC] Make debug runtime tell developers to update their generated code. (https://github.com/protocolbuffers/protobuf/commit/cdd3cf7ed4a34d9b01065ffef41988c1aefc663c)
- [ObjC] Issue stderr warnings for deprecated generation options. (https://github.com/protocolbuffers/protobuf/commit/e9140a10eca0688fcc1a03507f8b522b9bbdc50e)
- [ObjC] Deprecate GPBUnknownFieldSet and related apis. (https://github.com/protocolbuffers/protobuf/commit/d794139f09230bed72ec765426854723deac012d)
- [ObjC] Deprecate GPBTextFormatForUnknownFieldSet(). (https://github.com/protocolbuffers/protobuf/commit/55e997ea222561c606ba7c59706e6377776c5d9b)
Python
- Fix cord handling in DynamicMessage and oneofs. (https://github.com/protocolbuffers/protobuf/commit/9e8b30c2135944d9d3a6e53b70e534581e2dbe2b)
- Fix packed reflection handling bug in edition 2023. (https://github.com/protocolbuffers/protobuf/commit/4c923285a32ebcb53ce2ba03144e50d4dbedaf7b)
- Fix ContainerBase::DeepCopy to not modify the source object. (https://github.com/protocolbuffers/protobuf/commit/9fa1f4f9bb74776ee65847ca960a1f023eac3ebe)
- Introduce lifetimes for individual feature values. (https://github.com/protocolbuffers/protobuf/commit/0b6e768f07c4cde376783b964022ec7e1ff3e772)
- Nextgen Proto Pythonic API: Add any.py (https://github.com/protocolbuffers/protobuf/commit/dd95e5b1fa65b06d9206c016b1d53f73abd9da44)
- Add test that tries to parse a JSON string that exceeds the recursion limit. (https://github.com/protocolbuffers/protobuf/commit/5a224554ebe3937577406a7e1099b797f5b10dba)
- Raise warnings for deprecated python cpp extension GetDebugString(). (https://github.com/protocolbuffers/protobuf/commit/b70c4b0c19dd4f8c73181320b060682ff9f1eebd)
- Nextgen Proto Pythonic API: Add duration.py (https://github.com/protocolbuffers/protobuf/commit/903c3f15b04d99ab88cee53e4cec9464ef292bce)
- Nextgen Proto Pythonic API: Add timestamp.py (https://github.com/protocolbuffers/protobuf/commit/ee26f2749341091b88c661734cdd5f0737587ce5)
- -Remove service.py usages in builder (https://github.com/protocolbuffers/protobuf/commit/2967c521a60241c35fb822c1661618493f824dda)
- Raise warnings for deprecated google/protobuf/reflection.py APIs. (https://github.com/protocolbuffers/protobuf/commit/55705f85db9a66da8a3dcbe18b4298594fa0dd6d)
PHP
- Fix: do not throw deprecated warning on field getters for default values (#17788) (https://github.com/protocolbuffers/protobuf/commit/6d84da5e2d42a8c83373c0bc6d7ed0ca6f78aade)
Ruby
- Remove codes for unsupported Ruby (#17353) (https://github.com/protocolbuffers/protobuf/commit/184f3a37e9bee6040c316e38ee24caa81de5c087)
- [Ruby] Warn if assigning a "UTF-8" string with invalid UTF-8. (#17253) (https://github.com/protocolbuffers/protobuf/commit/b07e4b1eeb2f530ce4a2a980aa1f01289b8325ff)
Ruby C-Extension
- Fix a potential Ruby-upb use of uninitialized memory. (https://github.com/protocolbuffers/protobuf/commit/4d75c8224ac04957b997719700a8757173bbab19)
- [Ruby] Warn if assigning a "UTF-8" string with invalid UTF-8. (#17253) (https://github.com/protocolbuffers/protobuf/commit/b07e4b1eeb2f530ce4a2a980aa1f01289b8325ff)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Fix a potential Ruby-upb use of uninitialized memory. (https://github.com/protocolbuffers/protobuf/commit/4d75c8224ac04957b997719700a8757173bbab19)
- Fixed
NAN/INFINITYdefinitions to work on Windows 11 SDK. (https://github.com/protocolbuffers/protobuf/commit/0309d86d3175cb3fb82d37150e6eff90b11bed77)
Other
- Docs: add nebius.ai custom options to registry (#18297) (https://github.com/protocolbuffers/protobuf/commit/e5d2dbd45a6deac2f39e2cea7a05c2120f3753b5)
- Protobuf-mode: add edition keyword for syntax highlighting (https://github.com/protocolbuffers/protobuf/commit/138451296bf4101f992faa215a1899f3b9ec29e7)
- C++
Published by mkruskal-google over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v27.5
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix cord handling in DynamicMessage and oneofs. (#18374) (https://github.com/protocolbuffers/protobuf/commit/6fa3f2d79bcb5518e3453687fe10e3bbd16cbfe6)
Java
- Add recursion check when parsing unknown fields in Java. (#18388)
(https://github.com/protocolbuffers/protobuf/pull/18388/commits/8bfa80b5422cc22d64bfba5aa3049b9d5143c99b)
Other
- Remove
--copt="-Werror"from.bazelrc(#18392) (https://github.com/protocolbuffers/protobuf/commit/6481fecc135f72e37a6a5c59bd4213c7dcec62eb)
- C++
Published by googleberg over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.5
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix cord handling in DynamicMessage and oneofs. (#18375) (https://github.com/protocolbuffers/protobuf/commit/e67347986eaf7d777a6ee34367fa99f4912423ab)
Java
- Add recursion check when parsing unknown fields in Java. (https://github.com/protocolbuffers/protobuf/commit/4728531c162f2f9e8c2ca1add713cfee2db6be3b)
Python
- Fixed a SEGV when deep copying a non-reified sub-message. (https://github.com/protocolbuffers/protobuf/commit/94a26630e362a4771b5ec80eac49f494988ca408)
- C++
Published by zhangskz over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v28.2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix cord handling in DynamicMessage and oneofs. (#18373) (https://github.com/protocolbuffers/protobuf/commit/5b0e54384a7468e71369582cdb7e3babe20a7d9b)
Java
- Add recursion check when parsing unknown fields in Java. (https://github.com/protocolbuffers/protobuf/commit/ac9fb5b4c71b0dd80985b27684e265d1f03abf46)
- C++
Published by tonyliaoss over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v28.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix compiler error with
StrongReferenceToType()(https://github.com/protocolbuffers/protobuf/commit/8ea3bb17cbf7f19922f5d0443b8dd9080c596ea1)
PHP
PHP C-Extension
- Upb: fix uninitialized upb_MessageValue buffer bugs (#18160) (https://github.com/protocolbuffers/protobuf/commit/9deedf0304c6ed8c7fb1cdb4466f01b8253cf376)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
Ruby C-Extension
- Fix a potential Ruby-upb use of uninitialized memory. (https://github.com/protocolbuffers/protobuf/commit/70b77de0d5aa8f70f87244961dc8fae2b1c9b928)
- Upb: fix uninitialized upb_MessageValue buffer bugs (#18160) (https://github.com/protocolbuffers/protobuf/commit/9deedf0304c6ed8c7fb1cdb4466f01b8253cf376)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Fix a potential Ruby-upb use of uninitialized memory. (https://github.com/protocolbuffers/protobuf/commit/70b77de0d5aa8f70f87244961dc8fae2b1c9b928)
- Upb: fix uninitialized upb_MessageValue buffer bugs (#18160) (https://github.com/protocolbuffers/protobuf/commit/9deedf0304c6ed8c7fb1cdb4466f01b8253cf376)
- C++
Published by tonyliaoss over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v28.0
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- UPB text encoder without using reflection for Rust (used for a message's Debug trait) that will print out field number to value entries instead of field name to value entries of a message like how it's expected for the usual text format using reflection. (https://github.com/protocolbuffers/protobuf/commit/f9dd9ce66e05d034378b4b37b82307f41fc3395c)
- Enable MessageLite::DebugString to use Message::DebugString where possible. (https://github.com/protocolbuffers/protobuf/commit/f810cc5b668d78cb982f44b34f188160d55c27d6)
- Always report plugin support errors from protoc. (https://github.com/protocolbuffers/protobuf/commit/986ef8d80bb9432ec7c3a83f0988e2cc589d5cee)
- Stop supporting EDITION_PROTO2 as an alias for EDITION_LEGACY. (https://github.com/protocolbuffers/protobuf/commit/35b34252c79d661fb1e9ceecdc6457295f28b9b1)
- Rename
DynamicCastToGenerated/DownCastToGeneratedto (https://github.com/protocolbuffers/protobuf/commit/18da465815e609732b902d8cbc79d2d12e90686d) - Mark deleted fields in descriptor.proto reserved (https://github.com/protocolbuffers/protobuf/commit/44c409d211900f153a4bbafbaca474401ddec4e9)
- Protoc: support inf, -inf, nan, and -nan in option values (#15017) (https://github.com/protocolbuffers/protobuf/commit/3c03e9351c57081d0dffae120ed37497017f105c)
C++
- Move -Werror to our test/dev bazelrc files. (#17938) (https://github.com/protocolbuffers/protobuf/commit/f5a1b178ad52c3e64da40caceaa4ca9e51045cb4)
- Introduce FieldDescriptor::cpp_string_type() API to replace direct ctype inspection which will be removed in the next breaking change (https://github.com/protocolbuffers/protobuf/commit/72b0b7afbabce7494c2605aa240b0f0ca98aa6e5)
- Removed specific MSVC settings when installing (#17285) (https://github.com/protocolbuffers/protobuf/commit/770090e901872f860c8c75b55b9df3253ab2de6f)
- Omit the
_raw_default_instance_declaration when using DLL linkage. (https://github.com/protocolbuffers/protobuf/commit/79c55cb30f79b227029fbe4cc62a14354c18096d) - Enable MessageLite::DebugString to use Message::DebugString where possible. (https://github.com/protocolbuffers/protobuf/commit/f810cc5b668d78cb982f44b34f188160d55c27d6)
- Fix a bug in which proto code uses ctype instead of string_type internally. (https://github.com/protocolbuffers/protobuf/commit/dfbe98781c5ac2c427aa4406705f8201c7364fcf)
- Add an optimization that prevents an exponential number of comparisons on deeply (https://github.com/protocolbuffers/protobuf/commit/594a71f48515715d37a797252e0dd2d97e635826)
- Replace FindHelper() with BucketNumber() when only the bucket number is required. (https://github.com/protocolbuffers/protobuf/commit/8c7b1ecd23aea88939d0e87efe7f2fd889ac40ce)
- Stop supporting EDITION_PROTO2 as an alias for EDITION_LEGACY. (https://github.com/protocolbuffers/protobuf/commit/35b34252c79d661fb1e9ceecdc6457295f28b9b1)
- Rename
DynamicCastToGenerated/DownCastToGeneratedto (https://github.com/protocolbuffers/protobuf/commit/18da465815e609732b902d8cbc79d2d12e90686d) - Prohibit using features in the same file they're defined in. (https://github.com/protocolbuffers/protobuf/commit/24b91a7fec2fae2ee633c6bd2600ec2ebbe72f3f)
- Implement new Debug API with redaction. (https://github.com/protocolbuffers/protobuf/commit/bb68eb22dde9fbefc0413b7c3f836b03d062df4c)
- Use bool HasHasbits(const FieldDescriptor*) instead of manual checks. (https://github.com/protocolbuffers/protobuf/commit/448e326200a69afd83ae86e44dcddb612f007763)
- Add
javato reserved names to escape extensions tojava_. This may break existing references to gencode for extensions namedjava. (https://github.com/protocolbuffers/protobuf/commit/c99cf4bbfaf71f735cd0dea7d6fc0b2c1a589ed2) - Put arena cleanup nodes on a separate chunked list instead of at the ends of arena blocks. (https://github.com/protocolbuffers/protobuf/commit/f70d90b4743dd9eed05e5bf33ef7196a99894e29)
- Fix validation checks of implicit presence. (https://github.com/protocolbuffers/protobuf/commit/d6c283321e7b2e159a6b300522b3d9f850e7de40)
- Clarify map behaviors in editions. (https://github.com/protocolbuffers/protobuf/commit/0dbd99a41db54a1adcfdc0946e9b8b724739a6e5)
- Protoc: support inf, -inf, nan, and -nan in option values (#15017) (https://github.com/protocolbuffers/protobuf/commit/3c03e9351c57081d0dffae120ed37497017f105c)
Java
- Binary compatibility shims for GeneratedMessageV3, SingleFieldBuilderV3, RepeatedFieldBuilderV3, and their nested classes to restore binary compatibility with <=v3.x.x generated code built against v3.x.x prior to v4.26.0 breaking release. (https://github.com/protocolbuffers/protobuf/commit/6bf01c51a0b92278958f0169d330d64a08dbb4ec)
- Remove unused pom.xml files. (https://github.com/protocolbuffers/protobuf/commit/aaf5f798c0c40787e82dacc80df47dd96519dbd5)
- Add overload for LazyStringArrayList.add(String): boolean (https://github.com/protocolbuffers/protobuf/commit/761d49a27067f74c56818e979b979bd3942a27cc)
- Hoist SmallSortedMap.getNumArrayEntries() outside loops over array entries (https://github.com/protocolbuffers/protobuf/commit/229c958a5c9417129942959c9819f7f4ffa4c8a3)
- Omit the
_raw_default_instance_declaration when using DLL linkage. (https://github.com/protocolbuffers/protobuf/commit/79c55cb30f79b227029fbe4cc62a14354c18096d) - Java: Deprecate newExtensionWriter. (https://github.com/protocolbuffers/protobuf/commit/7122ba1d0a93532324ab29cf05bd3fa4fd99e45e)
- Immutable java: Use new lower-allocation extension serialization APIs from gencode (https://github.com/protocolbuffers/protobuf/commit/41514865ebe792ef0f1bfcebdbb2598fd398236d)
- Reserialize all unresolved features using java features from the generated pool in case of descriptors from the custom pool. (https://github.com/protocolbuffers/protobuf/commit/415a147189fff5417b18ecc515b8197a085a0d2c)
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/8beb9705e495c57d55f6547c523d5817336ac35f)
- Full java runtime: Avoid allocating ArrayList iterators when serializing UnknownFieldSet (https://github.com/protocolbuffers/protobuf/commit/fac847c5c5d85524fb27e8fb4a4205286bb7c44c)
- Move back deprecation of java utf8 feature to 2024. (https://github.com/protocolbuffers/protobuf/commit/bd7078debcd40823ed29a0ab197435c82b248043)
- Reparse unknown features using extension registry containing Java features. (https://github.com/protocolbuffers/protobuf/commit/68d908768fc19a14ea2db39a24a8c04a23e29541)
- Remove field SmallSortedMap.maxArraySize (https://github.com/protocolbuffers/protobuf/commit/16e0a63077bbfe889b7150543c5f176e0f637682)
- Delete unused method SmallSortedSet.getOverflowEntriesDescending (https://github.com/protocolbuffers/protobuf/commit/c05be324da89b9fbdf3ef7adc26fb541a7352e98)
- Avoid allocating FieldSet iterator if FieldSet is empty (https://github.com/protocolbuffers/protobuf/commit/3ba72807a675424ccee05648f6baaf43c2bc339b)
- Lazily resolve features for proto2 and proto3 for compatibility with old open source gencode that does not invoke feature resolution from gencode static init. (https://github.com/protocolbuffers/protobuf/commit/11c27dfa4b4dd2f79b722897bc04a297c2a35c26)
- Implement new Debug API with redaction. (https://github.com/protocolbuffers/protobuf/commit/bb68eb22dde9fbefc0413b7c3f836b03d062df4c)
- Replace SmallSortedMap.EmptySet with equivalent Collections.emptySet() (https://github.com/protocolbuffers/protobuf/commit/c6e2778f9173ed925746197310f4d11e5f46df96)
- Add
javato reserved names to escape extensions tojava_. This may break existing references to gencode for extensions namedjava. (https://github.com/protocolbuffers/protobuf/commit/c99cf4bbfaf71f735cd0dea7d6fc0b2c1a589ed2) - Avoid allocating TreeMap in UnknownFieldSet.Builder.asMap (https://github.com/protocolbuffers/protobuf/commit/4b7c2d43818a71e0c6975fcf3a1f1e0f1533ce3c)
- Avoid allocating iterator in TextFormat printing UnknownFieldSet (https://github.com/protocolbuffers/protobuf/commit/8c6e5b79636673435c9a8afe51dd2ffe4a2c7f4b)
- Add
nullto the list of reserved words. (https://github.com/protocolbuffers/protobuf/commit/510c1434ed16dadeeb64a3b841c9ada96e273573) - Add UnknownFieldSet.isEmpty (https://github.com/protocolbuffers/protobuf/commit/c56bddd7074d3c62c94ca494e2e9983dbc98da6d)
- Java full runtime: Avoid allocating when calling asMap on empty UnknownFieldSet (https://github.com/protocolbuffers/protobuf/commit/d0b016fcfcd00a0e48d006f06868b8fb9876974a)
- Return the default instance when parsing from an empty byte[]. (https://github.com/protocolbuffers/protobuf/commit/f5979918571af01751afa40d9c41cb6070f56f99)
- Deprecate building from source with Maven to be removed in 4.28.x. (https://github.com/protocolbuffers/protobuf/commit/4c8da99c4865bc7e07ec629c2d1ad32ac576554b)
- Java full runtime: Avoid allocating iterator if UnknownFieldSet's TreeMap is empty (https://github.com/protocolbuffers/protobuf/commit/4f12891b87a99ecabdc1e1039d0587094e9b57cd)
- Proto java full runtime: avoid allocating Integers accessing enum lists (https://github.com/protocolbuffers/protobuf/commit/cc79f776dcb09164e7a0b6c11951679244a7828b)
- Split bootstrapped java_features.proto to keep it from leaking out. (https://github.com/protocolbuffers/protobuf/commit/2257232676e60f1d06f8c9545c88d1a73a3a8f54)
- Java Proto lite: avoid boxing Integers accessing enum lists (https://github.com/protocolbuffers/protobuf/commit/fb054c8e4141b0fe50c33d237a6650d98a412de8)
- In the Kotlin DSL, reference builder methods with property syntax. (https://github.com/protocolbuffers/protobuf/commit/e9c9970eb4ac488d9fb94e8dea6945d3881c405d)
- Java Proto Lite: Serialize repeated enums without allocating (https://github.com/protocolbuffers/protobuf/commit/de6aba9f639ced3dce03310121aa69c914eb7b0e)
- Avoid boxing when serializing primitive lists in CodedOutputStreamWriter (https://github.com/protocolbuffers/protobuf/commit/eaee04d89719ed8e0fde96b6d37cf741d866f511)
Kotlin
- Remove unused pom.xml files. (https://github.com/protocolbuffers/protobuf/commit/aaf5f798c0c40787e82dacc80df47dd96519dbd5)
- In the Kotlin DSL, reference builder methods with property syntax. (https://github.com/protocolbuffers/protobuf/commit/e9c9970eb4ac488d9fb94e8dea6945d3881c405d)
Csharp
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/8beb9705e495c57d55f6547c523d5817336ac35f)
- Handle groups in C# JsonParser (#16970) (https://github.com/protocolbuffers/protobuf/commit/092cc15f9d615850e7580a744deb316ad2175870)
- Introduce
MessageDescriptor.IsMapTypein C# reflection to make it easier to tell whether a given message was generated by protoc for a map field. (https://github.com/protocolbuffers/protobuf/commit/047fc7673eb2a7373f7ad8f5b094de201d737b36) - C#: Fix discovery of oneof declarations in descriptor protos. (https://github.com/protocolbuffers/protobuf/commit/b50ff60967b595765244d22945aed184cafee68a)
Objective-C
- [ObjC] Issue stderr warnings for deprecated generation options. (https://github.com/protocolbuffers/protobuf/commit/b2764205e943d9bc912c4504d95117179e9b38e1)
- [ObjC] Add api to add a field to another collection of unknown fields. (https://github.com/protocolbuffers/protobuf/commit/0790ab4d7a771d4ca79fa795cc96febfbb43ebb6)
- [ObjC] Fix GPBUnknownField/GPBUnknownFields copy. (https://github.com/protocolbuffers/protobuf/commit/b3b988885d91f31c9cdc058fd5249efc18a91d11)
- [ObjC] Raise an exception for a nil message. (https://github.com/protocolbuffers/protobuf/commit/35bd2be8286c736303083d7c2230d11ab3648672)
- [ObjC] Deprecate GPBUnknownFieldSet and related apis. (https://github.com/protocolbuffers/protobuf/commit/9f6ee72443312821874e1e0ed532014ddbf91f4f)
- [ObjC] More tests around unknown to known failure cases. (https://github.com/protocolbuffers/protobuf/commit/e822dce56d2ee8caee08897520aaae5d48bb1fea)
- [ObjC] Support errors when merging unknown fields to a message. (https://github.com/protocolbuffers/protobuf/commit/c46340eb36e7b8a2477b99062f0dc6816c9a0bcc)
- [ObjC] Add apis for removing things from
GPBUnknownFields. (https://github.com/protocolbuffers/protobuf/commit/c5c9c89441e6d04bc1246aa78f44a33f2a407251) - [ObjC] Collect unknown fields as data (https://github.com/protocolbuffers/protobuf/commit/a6b353582c7e8a5855f8075b131f2f81c191230a)
- [ObjC] Internal helper for getting the unknown field data from a message (https://github.com/protocolbuffers/protobuf/commit/bf2d4e707c139fa4d58bae68efbf232ed445c6f3)
- [ObjC] Update tests to use both unknown fields apis. (https://github.com/protocolbuffers/protobuf/commit/0832b52355c4ae4cde993cf8a09387d8c757525f)
- [ObjC] Deprecate GPBTextFormatForUnknownFieldSet(). (https://github.com/protocolbuffers/protobuf/commit/d1b6f8c8eb1e4a354fe7463828e53315936454c8)
- [ObjC] Parsing helper and tests around unknown fields. (https://github.com/protocolbuffers/protobuf/commit/9b16ee477ba88dc8d495c3a7b455cd6078977b1f)
- [ObjC] Add test around enum unknown values. (https://github.com/protocolbuffers/protobuf/commit/fad7b78e1a09e90f5387ff414fa8cf3d6844772e)
- [ObjC] Expose a helper for stream error. (https://github.com/protocolbuffers/protobuf/commit/cf7abf6c6bbb2a578901e312e3ec08d69049b274)
- [ObjC] Support MessageSet with
GPBUnknownFields. (https://github.com/protocolbuffers/protobuf/commit/ddf9b767041f3843e6348c12c715def215f5e9af) - [ObjC] Update MessageSet Parsing. (https://github.com/protocolbuffers/protobuf/commit/5fa8cd95746f9ff10d0914fb1efbde2154df5660)
- [ObjC] Validate MessageSet expectations. (https://github.com/protocolbuffers/protobuf/commit/3aa491cf8f689e17d8320c489b6c15266e5e301d)
- [ObjC] Improve parsing validations (https://github.com/protocolbuffers/protobuf/commit/ef4898fc5e8be4fe43ca9a51709a4097ff028c8d)
- [ObjC] Add Swift helpers for
GPBUnknownFields/GPBUnknownField. (https://github.com/protocolbuffers/protobuf/commit/6750ed8cd8eb9f109847cebdea86189e4fe64638) - [ObjC] Introduce the new
GPBUnknownFieldstype. (https://github.com/protocolbuffers/protobuf/commit/47f633eae687939fbb68af4661503685a8efd239) - Rename
DynamicCastToGenerated/DownCastToGeneratedto (https://github.com/protocolbuffers/protobuf/commit/18da465815e609732b902d8cbc79d2d12e90686d)
Rust
- Move -Werror to our test/dev bazelrc files. (#17938) (https://github.com/protocolbuffers/protobuf/commit/f5a1b178ad52c3e64da40caceaa4ca9e51045cb4)
- Add visibility for rust public aliases for '@protobuf//:protobuf_rust' (https://github.com/protocolbuffers/protobuf/commit/2cee1424616bd5c2a4fdc792722edb91e5bfea21)
- UPB text encoder without using reflection for Rust (used for a message's Debug trait) that will print out field number to value entries instead of field name to value entries of a message like how it's expected for the usual text format using reflection. (https://github.com/protocolbuffers/protobuf/commit/f9dd9ce66e05d034378b4b37b82307f41fc3395c)
- Enable MessageLite::DebugString to use Message::DebugString where possible. (https://github.com/protocolbuffers/protobuf/commit/f810cc5b668d78cb982f44b34f188160d55c27d6)
- See also UPB changes below, which may affect Rust.
Python
- Raise warnings for deprecated python cpp extension GetDebugString(). (https://github.com/protocolbuffers/protobuf/commit/5fc5558f6e2a213a1e4160585d762bfe749d63ea)
- Remove service.py usages in builder (https://github.com/protocolbuffers/protobuf/commit/902a68a1591d7e46312cbb2b9ca4b6f9249e4d7e)
- Raise warnings for deprecated google/protobuf/reflection.py APIs. (https://github.com/protocolbuffers/protobuf/commit/38140ac5443f74a6248d259c30a6a885a358b301)
- Nextgen Proto Pythonic API: Struct/ListValue assignment and creation (https://github.com/protocolbuffers/protobuf/commit/e17821cac1f84989ab280cd92063ba86c4e6770b)
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/8beb9705e495c57d55f6547c523d5817336ac35f)
- Make bytearray work (again) (#16691) (https://github.com/protocolbuffers/protobuf/commit/eb67a91cacd7345f02b432d51e581ee31fd2ca54)
- Nextgen Proto Pythonic API: Timestamp/Duration assignment, creation and calculation (https://github.com/protocolbuffers/protobuf/commit/b690e729eb86d9f505d1c14692100bfc39809603)
- Update rules_python to 0.28.0 (https://github.com/protocolbuffers/protobuf/commit/e1bf1f048e783578bcbdaa4572ce3c93908b6494)
- Nextgen Proto Pythonic API: “Add-on” proto for length prefixed serialize/parse (https://github.com/protocolbuffers/protobuf/commit/3a9f0743ea8d82f489a65f7d087fa01d26ac5f56)
- Rename
DynamicCastToGenerated/DownCastToGeneratedto (https://github.com/protocolbuffers/protobuf/commit/18da465815e609732b902d8cbc79d2d12e90686d) - Fixed printing of nan floats/doubles in Python. (https://github.com/protocolbuffers/protobuf/commit/f65108072bbedad2e590f038eb23b8ef2235c329)
- Nextgen Proto Pythonic API: “Add-on” proto for JSON serialize/parse (https://github.com/protocolbuffers/protobuf/commit/6c91de9de94e02f7b7e69bad1245f62035574429)
- Nextgen Proto Pythonic API: “Add-on” proto for serialize/parse (https://github.com/protocolbuffers/protobuf/commit/495ba7bcdbd806306f0dfab128b2081c17fd66fd)
- Use struct instead of ctype. allows the protobuf python library to work on cpython 3.11's new wasm target [1] (https://github.com/protocolbuffers/protobuf/commit/9de810acdc6e7e2bcac03d207632c0b9443596ea)
- Nextgen Proto Pythonic API: Add 'in' operator (https://github.com/protocolbuffers/protobuf/commit/24f27c3b88708a735968688d34aa02a28f403866)
- Automated rollback of commit f799af8bf5c1ff24fa4b6aedfeaef99ef09dd16e. (https://github.com/protocolbuffers/protobuf/commit/c4bf83b534e9736fe31e1f8ad6f640e316836ba5)
- Catch all the exceptions in python JSON ParseDict and raise (https://github.com/protocolbuffers/protobuf/commit/9cc5be12edd35ed51949427316fe4dbae2709852)
PHP
- Chore(php): conformance testing for edition (#16712) (https://github.com/protocolbuffers/protobuf/commit/01744cccae57ca934ab925e13d2eaaf93761b1f4)
PHP C-Extension
- Fix segmentation faults with enabled keep_descriptor_pool_after_request (#16993) (https://github.com/protocolbuffers/protobuf/commit/e844510ee30e25017e94f9f43751abab159208c8)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- [Ruby] Warn if assigning a "UTF-8" string with invalid UTF-8. (#17253) (https://github.com/protocolbuffers/protobuf/commit/fe9a53cb5184772f4160103233b65bd17e817d53)
- Remove
Arena_pinin favor of adopting the UPB freezing API. (https://github.com/protocolbuffers/protobuf/commit/1194440c2489fc58051a245b5db74c0fd1bbf4b0) - Fix Ruby FFI to pass
MiniTabletoupb_Message_New()akanew_message_from_def(). (https://github.com/protocolbuffers/protobuf/commit/47f4bc958bc719b905942738470718f03ca70b33)
Ruby C-Extension
- Move -Werror to our test/dev bazelrc files. (#17938) (https://github.com/protocolbuffers/protobuf/commit/f5a1b178ad52c3e64da40caceaa4ca9e51045cb4)
- [Ruby] Warn if assigning a "UTF-8" string with invalid UTF-8. (#17253) (https://github.com/protocolbuffers/protobuf/commit/fe9a53cb5184772f4160103233b65bd17e817d53)
- [Ruby] Fix mismatched pointer type (#17240) (https://github.com/protocolbuffers/protobuf/commit/0aa74497527c6656e073f2635019ebc2a946268c)
- Remove
Arena_pinin favor of adopting the UPB freezing API. (https://github.com/protocolbuffers/protobuf/commit/1194440c2489fc58051a245b5db74c0fd1bbf4b0) - See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Move -Werror to our test/dev bazelrc files. (#17938) (https://github.com/protocolbuffers/protobuf/commit/f5a1b178ad52c3e64da40caceaa4ca9e51045cb4)
- UPB text encoder without using reflection for Rust (used for a message's Debug trait) that will print out field number to value entries instead of field name to value entries of a message like how it's expected for the usual text format using reflection. (https://github.com/protocolbuffers/protobuf/commit/f9dd9ce66e05d034378b4b37b82307f41fc3395c)
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/8beb9705e495c57d55f6547c523d5817336ac35f)
- Fixed printing of nan floats/doubles in Python. (https://github.com/protocolbuffers/protobuf/commit/f65108072bbedad2e590f038eb23b8ef2235c329)
Other
- Remove
--copt="-Werror"from.bazelrc(#18005) (https://github.com/protocolbuffers/protobuf/commit/c9454f40e91bef6187e618f4856ebea240985c81) - Remove protobuf rust from BCR presubmits for now. (https://github.com/protocolbuffers/protobuf/commit/92552d37b733e0721ad35ec5ab552e2caa623ab2)
- Set -ex in test_java.yml (https://github.com/protocolbuffers/protobuf/commit/6a7e2154a25b49074880c1b25bf886ad654d2286)
- Refactor java maven GHA test to use our generated jars. (https://github.com/protocolbuffers/protobuf/commit/671ef8b8526fd8ba2d910c517a7d77b3d9d7c5c4)
- Remove
/utf-8flag added in #14197 (https://github.com/protocolbuffers/protobuf/commit/440dc8306decf9ec898b1cbac8b67b16bf204888) - Downgrade CMake to 3.29 to workaround Abseil issue. (https://github.com/protocolbuffers/protobuf/commit/cd75dd59824c5c60afb8ba894dc1db3a92bbc582)
- Add minimal Python support to MODULE.bazel (https://github.com/protocolbuffers/protobuf/commit/2eb4d69ed51c475a77ecd62742ef5064557b531f)
- Fix(bazel/python): incompatible_enable_proto_toolchain_resolution (#17078) (https://github.com/protocolbuffers/protobuf/commit/8434c12d160fcf2f6adc572f4e94947fb57c82c3)
- Add Rust support to MODULE.bazel (https://github.com/protocolbuffers/protobuf/commit/f3c140f96c9a7cb59f02289261c70c91bb9c009f)
- Add rules_fuzzing dependency to MODULE.bazel. (https://github.com/protocolbuffers/protobuf/commit/a450c9cad090e3e607099cb379c62050bf15eb5f)
- Reenable FFI tests on CRuby. (https://github.com/protocolbuffers/protobuf/commit/e595749c9c15a50d3f402cb66b2e7630f4f13ec6)
- Update comment for message_type (https://github.com/protocolbuffers/protobuf/commit/023e69d6ccf07cfa8ce6afa695f26008be08e476)
- Enable textproto conformance tests for "-0" and "-0F". (https://github.com/protocolbuffers/protobuf/commit/13caa08692d522df8812b1c6f6a88c70105d3941)
- Fix #10007: Propagate msvc-style link flags to clang-cl with Bazel (https://github.com/protocolbuffers/protobuf/commit/55592a28e74e0eeabf89c3fd056ec0d81068a9a2)
- Add system_python to protobuf_deps.bzl. (https://github.com/protocolbuffers/protobuf/commit/8a11178606ce85d9e561729328795471fe8a6de5)
- C++
Published by JasonLunn over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v27.4
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Java
- Binary compatibility shims for GeneratedMessageV3, SingleFieldBuilderV3, RepeatedFieldBuilderV3, and their nested classes to restore binary compatibility with <=v3.x.x generated code built against v3.x.x prior to v4.26.0 breaking release. (https://github.com/protocolbuffers/protobuf/commit/8dd83da71cf7054470b68c71550a5a97d46121c0)
- C++
Published by acozzette over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v28.0-rc3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Introduce FieldDescriptor::cpp_string_type() API to replace direct ctype inspection which will be removed in the next breaking change (https://github.com/protocolbuffers/protobuf/commit/72b0b7afbabce7494c2605aa240b0f0ca98aa6e5)
Java
- Binary compatibility shims for GeneratedMessageV3, SingleFieldBuilderV3, RepeatedFieldBuilderV3, and their nested classes to restore binary compatibility with <=v3.x.x generated code built against v3.x.x prior to v4.26.0 breaking release. (https://github.com/protocolbuffers/protobuf/commit/6bf01c51a0b92278958f0169d330d64a08dbb4ec)
Objective-C
- [ObjC] Add api to add a field to another collection of unknown fields. (https://github.com/protocolbuffers/protobuf/commit/0790ab4d7a771d4ca79fa795cc96febfbb43ebb6)
- [ObjC] Fix GPBUnknownField/GPBUnknownFields copy. (https://github.com/protocolbuffers/protobuf/commit/b3b988885d91f31c9cdc058fd5249efc18a91d11)
- [ObjC] Raise an exception for a nil message. (https://github.com/protocolbuffers/protobuf/commit/35bd2be8286c736303083d7c2230d11ab3648672)
- [ObjC] Deprecate GPBUnknownFieldSet and related apis. (https://github.com/protocolbuffers/protobuf/commit/9f6ee72443312821874e1e0ed532014ddbf91f4f)
- [ObjC] More tests around unknown to known failure cases. (https://github.com/protocolbuffers/protobuf/commit/e822dce56d2ee8caee08897520aaae5d48bb1fea)
Rust
- Add visibility for rust public aliases for '@protobuf//:protobuf_rust' (https://github.com/protocolbuffers/protobuf/commit/2cee1424616bd5c2a4fdc792722edb91e5bfea21)
Python
- Raise warnings for deprecated python cpp extension GetDebugString(). (https://github.com/protocolbuffers/protobuf/commit/5fc5558f6e2a213a1e4160585d762bfe749d63ea)
Other
- Remove protobuf rust from BCR presubmits for now. (https://github.com/protocolbuffers/protobuf/commit/92552d37b733e0721ad35ec5ab552e2caa623ab2)
- C++
Published by ericsalo over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v28.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Java
- Remove unused pom.xml files. (https://github.com/protocolbuffers/protobuf/commit/aaf5f798c0c40787e82dacc80df47dd96519dbd5)
Kotlin
- Remove unused pom.xml files. (https://github.com/protocolbuffers/protobuf/commit/aaf5f798c0c40787e82dacc80df47dd96519dbd5)
Objective-C
- [ObjC] Support errors when merging unknown fields to a message. (https://github.com/protocolbuffers/protobuf/commit/c46340eb36e7b8a2477b99062f0dc6816c9a0bcc)
- [ObjC] Add apis for removing things from
GPBUnknownFields. (https://github.com/protocolbuffers/protobuf/commit/c5c9c89441e6d04bc1246aa78f44a33f2a407251) - [ObjC] Collect unknown fields as data (https://github.com/protocolbuffers/protobuf/commit/a6b353582c7e8a5855f8075b131f2f81c191230a)
- [ObjC] Internal helper for getting the unknown field data from a message (https://github.com/protocolbuffers/protobuf/commit/bf2d4e707c139fa4d58bae68efbf232ed445c6f3)
- [ObjC] Update tests to use both unknown fields apis. (https://github.com/protocolbuffers/protobuf/commit/0832b52355c4ae4cde993cf8a09387d8c757525f)
- [ObjC] Deprecate GPBTextFormatForUnknownFieldSet(). (https://github.com/protocolbuffers/protobuf/commit/d1b6f8c8eb1e4a354fe7463828e53315936454c8)
- [ObjC] Parsing helper and tests around unknown fields. (https://github.com/protocolbuffers/protobuf/commit/9b16ee477ba88dc8d495c3a7b455cd6078977b1f)
- [ObjC] Add test around enum unknown values. (https://github.com/protocolbuffers/protobuf/commit/fad7b78e1a09e90f5387ff414fa8cf3d6844772e)
- [ObjC] Expose a helper for stream error. (https://github.com/protocolbuffers/protobuf/commit/cf7abf6c6bbb2a578901e312e3ec08d69049b274)
- [ObjC] Support MessageSet with
GPBUnknownFields. (https://github.com/protocolbuffers/protobuf/commit/ddf9b767041f3843e6348c12c715def215f5e9af) - [ObjC] Update MessageSet Parsing. (https://github.com/protocolbuffers/protobuf/commit/5fa8cd95746f9ff10d0914fb1efbde2154df5660)
- [ObjC] Validate MessageSet expectations. (https://github.com/protocolbuffers/protobuf/commit/3aa491cf8f689e17d8320c489b6c15266e5e301d)
- [ObjC] Improve parsing validations (https://github.com/protocolbuffers/protobuf/commit/ef4898fc5e8be4fe43ca9a51709a4097ff028c8d)
Python
- Remove service.py usages in builder (https://github.com/protocolbuffers/protobuf/commit/902a68a1591d7e46312cbb2b9ca4b6f9249e4d7e)
- Raise warnings for deprecated google/protobuf/reflection.py APIs. (https://github.com/protocolbuffers/protobuf/commit/38140ac5443f74a6248d259c30a6a885a358b301)
Ruby
- [Ruby] Warn if assigning a "UTF-8" string with invalid UTF-8. (#17253) (https://github.com/protocolbuffers/protobuf/commit/fe9a53cb5184772f4160103233b65bd17e817d53)
Ruby C-Extension
- [Ruby] Warn if assigning a "UTF-8" string with invalid UTF-8. (#17253) (https://github.com/protocolbuffers/protobuf/commit/fe9a53cb5184772f4160103233b65bd17e817d53)
Other
- Set -ex in test_java.yml (https://github.com/protocolbuffers/protobuf/commit/6a7e2154a25b49074880c1b25bf886ad654d2286)
- Refactor java maven GHA test to use our generated jars. (https://github.com/protocolbuffers/protobuf/commit/671ef8b8526fd8ba2d910c517a7d77b3d9d7c5c4)
- Remove
/utf-8flag added in #14197 (https://github.com/protocolbuffers/protobuf/commit/440dc8306decf9ec898b1cbac8b67b16bf204888) - Downgrade CMake to 3.29 to workaround Abseil issue. (https://github.com/protocolbuffers/protobuf/commit/cd75dd59824c5c60afb8ba894dc1db3a92bbc582)
- C++
Published by googleberg over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v27.3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Revert workaround for std::mutex issues on github windows runners. (https://github.com/protocolbuffers/protobuf/commit/ba3e7d7a8aea8a9eafebe3407d94b877cf16e362)
C++
- Update staleness (https://github.com/protocolbuffers/protobuf/commit/b7ef2ca3c068f088752d03e5f6550ead365f497d)
- Omit the
_raw_default_instance_declaration when using DLL linkage. (https://github.com/protocolbuffers/protobuf/commit/22d9a030569292e5abd3e256ae512a135047c6de) - Refactor the way we turn on the optimization in StrongPointer. (https://github.com/protocolbuffers/protobuf/commit/a15c9c5dee34db5b0535206d938a9f2cf045d8ba)
Java
- Omit the
_raw_default_instance_declaration when using DLL linkage. (https://github.com/protocolbuffers/protobuf/commit/22d9a030569292e5abd3e256ae512a135047c6de)
PHP
PHP C-Extension
- Fix segmentation faults with enabled keep_descriptor_pool_after_request (#16993) (https://github.com/protocolbuffers/protobuf/commit/ca3b7320f3e846fdd5786abcde3e1e23f507c170)
Ruby
Ruby C-Extension
- [Ruby] Fix mismatched pointer type (#17240) (https://github.com/protocolbuffers/protobuf/commit/a1d47773a2deede19536660805c494b77ec46f89)
Other
- Remove
/utf-8flag added in #14197 (https://github.com/protocolbuffers/protobuf/commit/e20cb7aaf7e6fde6b09fbb3452fffa9fa2c656d1) - Downgrade CMake to 3.29 to workaround Abseil issue. (https://github.com/protocolbuffers/protobuf/commit/8a579c1af579c55bdf4fe6da81084ece3597f712)
- Upgrade macos-11 tests to macos-12 (https://github.com/protocolbuffers/protobuf/commit/aec8a7604d74a0e8aa14b45b1295984c0acd51f2)
- Use explicit names of our large runners (https://github.com/protocolbuffers/protobuf/commit/4e3b4f0819a7187f0c369ba1a7cd1cbca012e28a)
- Upgrade our C++ release tests to large runners. (https://github.com/protocolbuffers/protobuf/commit/fa2b2d61ea86ec5904105fcab97f50bdb4b93ac6)
- C++
Published by honglooker over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.4
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Java
- Check that size is non-negative when reading string or bytes in StreamDecoder. (https://github.com/protocolbuffers/protobuf/commit/165cf123c13df4fc6a38a9324c85309c4d571348)
- Add Automatic-Module-Name (#14562) (https://github.com/protocolbuffers/protobuf/commit/552ad3124bc538e6d34b29b5673c69ca93dfb985)
PHP
PHP C-Extension
- Regen stale files (https://github.com/protocolbuffers/protobuf/commit/367c7bea8dd5505f817f41e052e50caa694fb0e6)
Ruby
Ruby C-Extension
- Regen stale files (https://github.com/protocolbuffers/protobuf/commit/367c7bea8dd5505f817f41e052e50caa694fb0e6)
Other
- Drop 2.7 in linux test (#17524) (https://github.com/protocolbuffers/protobuf/commit/314fc8b134c3769efa99651d5daebf57578a01cc)
- Fix targets (https://github.com/protocolbuffers/protobuf/commit/eb1fdd39b44817f63d14c3e3321128e04350d220)
- Update bazel to 6.3.2 (https://github.com/protocolbuffers/protobuf/commit/a5dadc3eeedd3e35d9cb02ac5c9a5670994c1abe)
- Backport staleness changes to 25.x (https://github.com/protocolbuffers/protobuf/commit/c3b9b4fb21ae324694c7e8ba53ee1ac3155adae9)
- Downgrade CMake to 3.29 to workaround Abseil issue. (https://github.com/protocolbuffers/protobuf/commit/bdb1f75fdb0224960972d59faac0ee889cfcf053)
- Upgrade macos-11 tests to macos-12 (https://github.com/protocolbuffers/protobuf/commit/27041afb837fc48b01889ea3efea2b98b99cccb7)
- Use explicit names of our large runners (https://github.com/protocolbuffers/protobuf/commit/c73d6c8d2e4f8c0068fde63b2077dcd9a64a1e02)
- Upgrade our C++ release tests to large runners. (https://github.com/protocolbuffers/protobuf/commit/8ec9a435bf648093dc0900bd7612b2dca80e1d25)
- Downgrade our sanitized builds to ubuntu-20. (https://github.com/protocolbuffers/protobuf/commit/892a2ce89a26a1194d28bc4eb288314d1c878bb7)
- Disable TSAN tests due to what appears to be a sanitizer bug (https://github.com/protocolbuffers/protobuf/commit/aa32865ff14613f48c9128c736b3dd3ee66a3684)
- Disable MacOS C++ Cmake test for now. (https://github.com/protocolbuffers/protobuf/commit/6b1c2535dcc3be1c514ad400756c5a7aca7645f0)
- Update setup-php to 2.30.0 and re-enable macOS PHP 8.2 tests. (https://github.com/protocolbuffers/protobuf/commit/220a74b6e2114c3b9bf8f2550e627d4ea65436b6)
- Add back error message unconditionally (https://github.com/protocolbuffers/protobuf/commit/f60c624178a739c7fbe0ef033724f2298c59b394)
- Pin bazel 6 for 25.x (https://github.com/protocolbuffers/protobuf/commit/3b72455389a60ceaf52f0d76935ba66c38f714ed)
- Actually fail if staleness fail (https://github.com/protocolbuffers/protobuf/commit/868882552dcd872b984a33153c227fddef1ab206)
- C++
Published by anandolee over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v28.0-rc1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- UPB text encoder without using reflection for Rust (used for a message's Debug trait) that will print out field number to value entries instead of field name to value entries of a message like how it's expected for the usual text format using reflection. (https://github.com/protocolbuffers/protobuf/commit/f9dd9ce66e05d034378b4b37b82307f41fc3395c)
- Enable MessageLite::DebugString to use Message::DebugString where possible. (https://github.com/protocolbuffers/protobuf/commit/f810cc5b668d78cb982f44b34f188160d55c27d6)
- Always report plugin support errors from protoc. (https://github.com/protocolbuffers/protobuf/commit/986ef8d80bb9432ec7c3a83f0988e2cc589d5cee)
- Stop supporting EDITION_PROTO2 as an alias for EDITION_LEGACY. (https://github.com/protocolbuffers/protobuf/commit/35b34252c79d661fb1e9ceecdc6457295f28b9b1)
- Rename
DynamicCastToGenerated/DownCastToGeneratedto (https://github.com/protocolbuffers/protobuf/commit/18da465815e609732b902d8cbc79d2d12e90686d) - Mark deleted fields in descriptor.proto reserved (https://github.com/protocolbuffers/protobuf/commit/44c409d211900f153a4bbafbaca474401ddec4e9)
- Protoc: support inf, -inf, nan, and -nan in option values (#15017) (https://github.com/protocolbuffers/protobuf/commit/3c03e9351c57081d0dffae120ed37497017f105c)
C++
- Removed specific MSVC settings when installing (#17285) (https://github.com/protocolbuffers/protobuf/commit/770090e901872f860c8c75b55b9df3253ab2de6f)
- Omit the
_raw_default_instance_declaration when using DLL linkage. (https://github.com/protocolbuffers/protobuf/commit/79c55cb30f79b227029fbe4cc62a14354c18096d) - Enable MessageLite::DebugString to use Message::DebugString where possible. (https://github.com/protocolbuffers/protobuf/commit/f810cc5b668d78cb982f44b34f188160d55c27d6)
- Fix a bug in which proto code uses ctype instead of string_type internally. (https://github.com/protocolbuffers/protobuf/commit/dfbe98781c5ac2c427aa4406705f8201c7364fcf)
- Add an optimization that prevents an exponential number of comparisons on deeply (https://github.com/protocolbuffers/protobuf/commit/594a71f48515715d37a797252e0dd2d97e635826)
- Replace FindHelper() with BucketNumber() when only the bucket number is required. (https://github.com/protocolbuffers/protobuf/commit/8c7b1ecd23aea88939d0e87efe7f2fd889ac40ce)
- Stop supporting EDITION_PROTO2 as an alias for EDITION_LEGACY. (https://github.com/protocolbuffers/protobuf/commit/35b34252c79d661fb1e9ceecdc6457295f28b9b1)
- Rename
DynamicCastToGenerated/DownCastToGeneratedto (https://github.com/protocolbuffers/protobuf/commit/18da465815e609732b902d8cbc79d2d12e90686d) - Prohibit using features in the same file they're defined in. (https://github.com/protocolbuffers/protobuf/commit/24b91a7fec2fae2ee633c6bd2600ec2ebbe72f3f)
- Implement new Debug API with redaction. (https://github.com/protocolbuffers/protobuf/commit/bb68eb22dde9fbefc0413b7c3f836b03d062df4c)
- Use bool HasHasbits(const FieldDescriptor*) instead of manual checks. (https://github.com/protocolbuffers/protobuf/commit/448e326200a69afd83ae86e44dcddb612f007763)
- Add
javato reserved names to escape extensions tojava_. This may break existing references to gencode for extensions namedjava. (https://github.com/protocolbuffers/protobuf/commit/c99cf4bbfaf71f735cd0dea7d6fc0b2c1a589ed2) - Put arena cleanup nodes on a separate chunked list instead of at the ends of arena blocks. (https://github.com/protocolbuffers/protobuf/commit/f70d90b4743dd9eed05e5bf33ef7196a99894e29)
- Fix validation checks of implicit presence. (https://github.com/protocolbuffers/protobuf/commit/d6c283321e7b2e159a6b300522b3d9f850e7de40)
- Clarify map behaviors in editions. (https://github.com/protocolbuffers/protobuf/commit/0dbd99a41db54a1adcfdc0946e9b8b724739a6e5)
- Protoc: support inf, -inf, nan, and -nan in option values (#15017) (https://github.com/protocolbuffers/protobuf/commit/3c03e9351c57081d0dffae120ed37497017f105c)
Java
- Add overload for LazyStringArrayList.add(String): boolean (https://github.com/protocolbuffers/protobuf/commit/761d49a27067f74c56818e979b979bd3942a27cc)
- Hoist SmallSortedMap.getNumArrayEntries() outside loops over array entries (https://github.com/protocolbuffers/protobuf/commit/229c958a5c9417129942959c9819f7f4ffa4c8a3)
- Omit the
_raw_default_instance_declaration when using DLL linkage. (https://github.com/protocolbuffers/protobuf/commit/79c55cb30f79b227029fbe4cc62a14354c18096d) - Java: Deprecate newExtensionWriter. (https://github.com/protocolbuffers/protobuf/commit/7122ba1d0a93532324ab29cf05bd3fa4fd99e45e)
- Immutable java: Use new lower-allocation extension serialization APIs from gencode (https://github.com/protocolbuffers/protobuf/commit/41514865ebe792ef0f1bfcebdbb2598fd398236d)
- Reserialize all unresolved features using java features from the generated pool in case of descriptors from the custom pool. (https://github.com/protocolbuffers/protobuf/commit/415a147189fff5417b18ecc515b8197a085a0d2c)
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/8beb9705e495c57d55f6547c523d5817336ac35f)
- Full java runtime: Avoid allocating ArrayList iterators when serializing UnknownFieldSet (https://github.com/protocolbuffers/protobuf/commit/fac847c5c5d85524fb27e8fb4a4205286bb7c44c)
- Move back deprecation of java utf8 feature to 2024. (https://github.com/protocolbuffers/protobuf/commit/bd7078debcd40823ed29a0ab197435c82b248043)
- Reparse unknown features using extension registry containing Java features. (https://github.com/protocolbuffers/protobuf/commit/68d908768fc19a14ea2db39a24a8c04a23e29541)
- Remove field SmallSortedMap.maxArraySize (https://github.com/protocolbuffers/protobuf/commit/16e0a63077bbfe889b7150543c5f176e0f637682)
- Delete unused method SmallSortedSet.getOverflowEntriesDescending (https://github.com/protocolbuffers/protobuf/commit/c05be324da89b9fbdf3ef7adc26fb541a7352e98)
- Avoid allocating FieldSet iterator if FieldSet is empty (https://github.com/protocolbuffers/protobuf/commit/3ba72807a675424ccee05648f6baaf43c2bc339b)
- Lazily resolve features for proto2 and proto3 for compatibility with old open source gencode that does not invoke feature resolution from gencode static init. (https://github.com/protocolbuffers/protobuf/commit/11c27dfa4b4dd2f79b722897bc04a297c2a35c26)
- Implement new Debug API with redaction. (https://github.com/protocolbuffers/protobuf/commit/bb68eb22dde9fbefc0413b7c3f836b03d062df4c)
- Replace SmallSortedMap.EmptySet with equivalent Collections.emptySet() (https://github.com/protocolbuffers/protobuf/commit/c6e2778f9173ed925746197310f4d11e5f46df96)
- Add
javato reserved names to escape extensions tojava_. This may break existing references to gencode for extensions namedjava. (https://github.com/protocolbuffers/protobuf/commit/c99cf4bbfaf71f735cd0dea7d6fc0b2c1a589ed2) - Avoid allocating TreeMap in UnknownFieldSet.Builder.asMap (https://github.com/protocolbuffers/protobuf/commit/4b7c2d43818a71e0c6975fcf3a1f1e0f1533ce3c)
- Avoid allocating iterator in TextFormat printing UnknownFieldSet (https://github.com/protocolbuffers/protobuf/commit/8c6e5b79636673435c9a8afe51dd2ffe4a2c7f4b)
- Add
nullto the list of reserved words. (https://github.com/protocolbuffers/protobuf/commit/510c1434ed16dadeeb64a3b841c9ada96e273573) - Add UnknownFieldSet.isEmpty (https://github.com/protocolbuffers/protobuf/commit/c56bddd7074d3c62c94ca494e2e9983dbc98da6d)
- Java full runtime: Avoid allocating when calling asMap on empty UnknownFieldSet (https://github.com/protocolbuffers/protobuf/commit/d0b016fcfcd00a0e48d006f06868b8fb9876974a)
- Return the default instance when parsing from an empty byte[]. (https://github.com/protocolbuffers/protobuf/commit/f5979918571af01751afa40d9c41cb6070f56f99)
- Deprecate building from source with Maven to be removed in 4.28.x. (https://github.com/protocolbuffers/protobuf/commit/4c8da99c4865bc7e07ec629c2d1ad32ac576554b)
- Java full runtime: Avoid allocating iterator if UnknownFieldSet's TreeMap is empty (https://github.com/protocolbuffers/protobuf/commit/4f12891b87a99ecabdc1e1039d0587094e9b57cd)
- Proto java full runtime: avoid allocating Integers accessing enum lists (https://github.com/protocolbuffers/protobuf/commit/cc79f776dcb09164e7a0b6c11951679244a7828b)
- Split bootstrapped java_features.proto to keep it from leaking out. (https://github.com/protocolbuffers/protobuf/commit/2257232676e60f1d06f8c9545c88d1a73a3a8f54)
- Java Proto lite: avoid boxing Integers accessing enum lists (https://github.com/protocolbuffers/protobuf/commit/fb054c8e4141b0fe50c33d237a6650d98a412de8)
- In the Kotlin DSL, reference builder methods with property syntax. (https://github.com/protocolbuffers/protobuf/commit/e9c9970eb4ac488d9fb94e8dea6945d3881c405d)
- Java Proto Lite: Serialize repeated enums without allocating (https://github.com/protocolbuffers/protobuf/commit/de6aba9f639ced3dce03310121aa69c914eb7b0e)
- Avoid boxing when serializing primitive lists in CodedOutputStreamWriter (https://github.com/protocolbuffers/protobuf/commit/eaee04d89719ed8e0fde96b6d37cf741d866f511)
Kotlin
- In the Kotlin DSL, reference builder methods with property syntax. (https://github.com/protocolbuffers/protobuf/commit/e9c9970eb4ac488d9fb94e8dea6945d3881c405d)
Csharp
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/8beb9705e495c57d55f6547c523d5817336ac35f)
- Handle groups in C# JsonParser (#16970) (https://github.com/protocolbuffers/protobuf/commit/092cc15f9d615850e7580a744deb316ad2175870)
- Introduce
MessageDescriptor.IsMapTypein C# reflection to make it easier to tell whether a given message was generated by protoc for a map field. (https://github.com/protocolbuffers/protobuf/commit/047fc7673eb2a7373f7ad8f5b094de201d737b36) - C#: Fix discovery of oneof declarations in descriptor protos. (https://github.com/protocolbuffers/protobuf/commit/b50ff60967b595765244d22945aed184cafee68a)
Objective-C
- [ObjC] Add Swift helpers for
GPBUnknownFields/GPBUnknownField. (https://github.com/protocolbuffers/protobuf/commit/6750ed8cd8eb9f109847cebdea86189e4fe64638) - [ObjC] Introduce the new
GPBUnknownFieldstype. (https://github.com/protocolbuffers/protobuf/commit/47f633eae687939fbb68af4661503685a8efd239) - Rename
DynamicCastToGenerated/DownCastToGeneratedto (https://github.com/protocolbuffers/protobuf/commit/18da465815e609732b902d8cbc79d2d12e90686d)
Rust
- UPB text encoder without using reflection for Rust (used for a message's Debug trait) that will print out field number to value entries instead of field name to value entries of a message like how it's expected for the usual text format using reflection. (https://github.com/protocolbuffers/protobuf/commit/f9dd9ce66e05d034378b4b37b82307f41fc3395c)
- Enable MessageLite::DebugString to use Message::DebugString where possible. (https://github.com/protocolbuffers/protobuf/commit/f810cc5b668d78cb982f44b34f188160d55c27d6)
Python
- Nextgen Proto Pythonic API: Struct/ListValue assignment and creation (https://github.com/protocolbuffers/protobuf/commit/e17821cac1f84989ab280cd92063ba86c4e6770b)
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/8beb9705e495c57d55f6547c523d5817336ac35f)
- Make bytearray work (again) (#16691) (https://github.com/protocolbuffers/protobuf/commit/eb67a91cacd7345f02b432d51e581ee31fd2ca54)
- Nextgen Proto Pythonic API: Timestamp/Duration assignment, creation and calculation (https://github.com/protocolbuffers/protobuf/commit/b690e729eb86d9f505d1c14692100bfc39809603)
- Update rules_python to 0.28.0 (https://github.com/protocolbuffers/protobuf/commit/e1bf1f048e783578bcbdaa4572ce3c93908b6494)
- Nextgen Proto Pythonic API: “Add-on” proto for length prefixed serialize/parse (https://github.com/protocolbuffers/protobuf/commit/3a9f0743ea8d82f489a65f7d087fa01d26ac5f56)
- Rename
DynamicCastToGenerated/DownCastToGeneratedto (https://github.com/protocolbuffers/protobuf/commit/18da465815e609732b902d8cbc79d2d12e90686d) - Fixed printing of nan floats/doubles in Python. (https://github.com/protocolbuffers/protobuf/commit/f65108072bbedad2e590f038eb23b8ef2235c329)
- Nextgen Proto Pythonic API: “Add-on” proto for JSON serialize/parse (https://github.com/protocolbuffers/protobuf/commit/6c91de9de94e02f7b7e69bad1245f62035574429)
- Nextgen Proto Pythonic API: “Add-on” proto for serialize/parse (https://github.com/protocolbuffers/protobuf/commit/495ba7bcdbd806306f0dfab128b2081c17fd66fd)
- Use struct instead of ctype. allows the protobuf python library to work on cpython 3.11's new wasm target [1] (https://github.com/protocolbuffers/protobuf/commit/9de810acdc6e7e2bcac03d207632c0b9443596ea)
- Nextgen Proto Pythonic API: Add 'in' operator (https://github.com/protocolbuffers/protobuf/commit/24f27c3b88708a735968688d34aa02a28f403866)
- Automated rollback of commit f799af8bf5c1ff24fa4b6aedfeaef99ef09dd16e. (https://github.com/protocolbuffers/protobuf/commit/c4bf83b534e9736fe31e1f8ad6f640e316836ba5)
- Catch all the exceptions in python JSON ParseDict and raise (https://github.com/protocolbuffers/protobuf/commit/9cc5be12edd35ed51949427316fe4dbae2709852)
PHP
- Chore(php): conformance testing for edition (#16712) (https://github.com/protocolbuffers/protobuf/commit/01744cccae57ca934ab925e13d2eaaf93761b1f4)
PHP C-Extension
- Fix segmentation faults with enabled keep_descriptor_pool_after_request (#16993) (https://github.com/protocolbuffers/protobuf/commit/e844510ee30e25017e94f9f43751abab159208c8)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Remove
Arena_pinin favor of adopting the UPB freezing API. (https://github.com/protocolbuffers/protobuf/commit/1194440c2489fc58051a245b5db74c0fd1bbf4b0) - Fix Ruby FFI to pass
MiniTabletoupb_Message_New()akanew_message_from_def(). (https://github.com/protocolbuffers/protobuf/commit/47f4bc958bc719b905942738470718f03ca70b33)
Ruby C-Extension
- [Ruby] Fix mismatched pointer type (#17240) (https://github.com/protocolbuffers/protobuf/commit/0aa74497527c6656e073f2635019ebc2a946268c)
- Remove
Arena_pinin favor of adopting the UPB freezing API. (https://github.com/protocolbuffers/protobuf/commit/1194440c2489fc58051a245b5db74c0fd1bbf4b0) - See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- UPB text encoder without using reflection for Rust (used for a message's Debug trait) that will print out field number to value entries instead of field name to value entries of a message like how it's expected for the usual text format using reflection. (https://github.com/protocolbuffers/protobuf/commit/f9dd9ce66e05d034378b4b37b82307f41fc3395c)
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/8beb9705e495c57d55f6547c523d5817336ac35f)
- Fixed printing of nan floats/doubles in Python. (https://github.com/protocolbuffers/protobuf/commit/f65108072bbedad2e590f038eb23b8ef2235c329)
Other
- Add minimal Python support to MODULE.bazel (https://github.com/protocolbuffers/protobuf/commit/2eb4d69ed51c475a77ecd62742ef5064557b531f)
- Fix(bazel/python): incompatible_enable_proto_toolchain_resolution (#17078) (https://github.com/protocolbuffers/protobuf/commit/8434c12d160fcf2f6adc572f4e94947fb57c82c3)
- Add Rust support to MODULE.bazel (https://github.com/protocolbuffers/protobuf/commit/f3c140f96c9a7cb59f02289261c70c91bb9c009f)
- Add rules_fuzzing dependency to MODULE.bazel. (https://github.com/protocolbuffers/protobuf/commit/a450c9cad090e3e607099cb379c62050bf15eb5f)
- Reenable FFI tests on CRuby. (https://github.com/protocolbuffers/protobuf/commit/e595749c9c15a50d3f402cb66b2e7630f4f13ec6)
- Update comment for message_type (https://github.com/protocolbuffers/protobuf/commit/023e69d6ccf07cfa8ce6afa695f26008be08e476)
- Enable textproto conformance tests for "-0" and "-0F". (https://github.com/protocolbuffers/protobuf/commit/13caa08692d522df8812b1c6f6a88c70105d3941)
- Fix #10007: Propagate msvc-style link flags to clang-cl with Bazel (https://github.com/protocolbuffers/protobuf/commit/55592a28e74e0eeabf89c3fd056ec0d81068a9a2)
- Add system_python to protobuf_deps.bzl. (https://github.com/protocolbuffers/protobuf/commit/8a11178606ce85d9e561729328795471fe8a6de5)
- C++
Published by zhangskz over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v27.2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Avoid calling absl::InitializeLog in protoc with MSVC (https://github.com/protocolbuffers/protobuf/commit/aa7fcb3662f677b6ef06b55d5cae9d5b242fa1ef)
C++
- Fix string_type bugs in edition 2023 (#17211) (https://github.com/protocolbuffers/protobuf/commit/4923b8d72d39a4189ca7c7b9e20359d6ba527a10)
- Add simple conformance test that builds the old gencode against the current runtime. (https://github.com/protocolbuffers/protobuf/commit/9cfb59b5e305dba959403b56112d9a8cf1f4d832)
- Make the underlying type of the enum by 8-bits instead of using bitfields for (https://github.com/protocolbuffers/protobuf/commit/316f493b2f7f87f4402caea0d0ae1f332e2550fb)
Java
- Cleanup imports and comments in V3 stubs. (https://github.com/protocolbuffers/protobuf/commit/270ca6681a686fea24e23f7a389e4e3997409a4c)
- Add stubs for GeneratedMessageV3, RepeatedFieldBuilderV3, SingleFieldBuilderV3 for compatibility with older <4.26.x gencode. (https://github.com/protocolbuffers/protobuf/commit/1e360a422a04942ff0758f4a390fb6c27b680c96)
- Fix checking unknown field set empty which wasn't exposed yet in 27.x (https://github.com/protocolbuffers/protobuf/commit/c7a006a225e0b94b639a9be694b03c835f4db6d6)
- Reserialize all unresolved features using java features from the generated pool in case of descriptors from the custom pool. (https://github.com/protocolbuffers/protobuf/commit/2426a02b90d61e6c18b8ffa411e76b1642f47ad6)
- Reparse unknown features using extension registry containing Java features. (https://github.com/protocolbuffers/protobuf/commit/e5ddc45645871fbe2c6fc089ebe09f72ca727b5e)
- Fix data race in crosslink. (https://github.com/protocolbuffers/protobuf/commit/3d71e22b7ae17cbe82dd20a29ef7ef4e75e06ec5)
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/c4f359ebf03e235d348a363d3b76660c6c960773)
Csharp
- Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/29f1b5259ea224abcaa9a4eb5e28f804ea8d5097)
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/c4f359ebf03e235d348a363d3b76660c6c960773)
Python
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/c4f359ebf03e235d348a363d3b76660c6c960773)
PHP
PHP C-Extension
- Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/29f1b5259ea224abcaa9a4eb5e28f804ea8d5097)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
Ruby C-Extension
- Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/29f1b5259ea224abcaa9a4eb5e28f804ea8d5097)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/c4f359ebf03e235d348a363d3b76660c6c960773)
Other
- Port windows bootstrapping fix (#17225) (https://github.com/protocolbuffers/protobuf/commit/19bd2115d04fcc6196e504a4f07d99b6f16be7d7)
- C++
Published by ericsalo over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v27.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Always report plugin support errors from protoc. (https://github.com/protocolbuffers/protobuf/commit/9a37881bc8520d0dfdd33bb96fbd3139c56ec7ee)
C++
- Fix a bug in edition defaults calculation. (https://github.com/protocolbuffers/protobuf/commit/887e95dade3b93daf6cc14e1ac7ccbccc66053a9)
Java
- Move back deprecation of java utf8 feature to 2024. (https://github.com/protocolbuffers/protobuf/commit/8ffc1d003071df0fbdf470c38e181c61cc178fa8)
Csharp
- Handle groups in C# JsonParser (#16970) (https://github.com/protocolbuffers/protobuf/commit/0e9dd4ca09cdd386ea0c86396aa542dad7238c1e)
Other
- Avoid ODR violations from bootstrapped protos (https://github.com/protocolbuffers/protobuf/commit/f61d89cf9ec051450cf9cb54182da40706fd1753)
- C++
Published by esrauchg over 1 year ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v27.0
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Future-proof edition 2023 against feature value support windows. (https://github.com/protocolbuffers/protobuf/commit/fea6847e408d58e40a2f10ab124ae795afd703d4)
- Mark deleted fields in
descriptor.protoreserved (https://github.com/protocolbuffers/protobuf/commit/d2da4636c06ccad04371434dabbf24ca1c6ee83e) - Add extension declarations for known features. (https://github.com/protocolbuffers/protobuf/commit/f8d0a5b1dd6f5655be3c0d1a8aa1fec88e80c13a)
- Refactored the Java generator into separate packages and targets. (https://github.com/protocolbuffers/protobuf/commit/bd81fd95f30af51e86a36cf0279abec17890a324)
- Officially release Editions in 27.0. (https://github.com/protocolbuffers/protobuf/commit/baa83b6b43113a9b39c77e40dc4b10640abda657)
- Define lifetimes of edition 2023 features (https://github.com/protocolbuffers/protobuf/commit/77f62de93e2e84d6aab0364629919779970fb9f1)
- Implement feature lifetime validation in protoc and the C++ runtime. (https://github.com/protocolbuffers/protobuf/commit/b3b4497d61cabf1d0d37b10178f93c570ec67ac6)
- Add edition lifetime options for feature specs. (https://github.com/protocolbuffers/protobuf/commit/b09b3e46fe2a111d412251f6d043649334e9cbee)
- Enable editions support for Java Lite. (https://github.com/protocolbuffers/protobuf/commit/500c953d105d0447479be259a5fb0b6f7124e978)
- Release edition defaults CLI arguments. (https://github.com/protocolbuffers/protobuf/commit/7a0e10e0219fd753b97c2879eb9a92584a419105)
- Update protoc release to include editions language features protos for Java and C++ (https://github.com/protocolbuffers/protobuf/commit/6483c4755daadf1bceb95c4519851c52e8842d2e)
C++
- Future-proof edition 2023 against feature value support windows. (https://github.com/protocolbuffers/protobuf/commit/fea6847e408d58e40a2f10ab124ae795afd703d4)
- Prohibit using features in the same file they're defined in. (https://github.com/protocolbuffers/protobuf/commit/8c5f3a747bae377c92a780970416945c32780bfd)
- Fix validation checks of implicit presence. (https://github.com/protocolbuffers/protobuf/commit/bdf6b10e7c2cca02a79a96dac05560fba330cb96)
- Clarify map behaviors in editions. (https://github.com/protocolbuffers/protobuf/commit/61c91874c6817cdda85c2c256c3093be34f3eb41)
- Ensure we allocate overaligned types with aligned
operator new. (https://github.com/protocolbuffers/protobuf/commit/11ef0ffb873ebd270ab0266270ea965a04c5f2e5) - Fix text-format delimited field handling.(https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6)
- In debug mode, after clearing
oneofmessages on arenas, poison them if ASAN. (https://github.com/protocolbuffers/protobuf/commit/8826bafcf507120bdb77883e9a9c0c43a5f5a302) - Allow
string_typefor Edition 2023. (https://github.com/protocolbuffers/protobuf/commit/d8251ebc43cb21d3239a38554a2f0a618f368a78) - Breaking change: Ensure we allocate overaligned types with aligned
operator new. (https://github.com/protocolbuffers/protobuf/commit/11ef0ffb873ebd270ab0266270ea965a04c5f2e5) - Python JSON parser: Ignore invalid enum string values if
ignore_unknown_fieldsis set (#15887) (https://github.com/protocolbuffers/protobuf/commit/86abf35ef5ee5b1004ec11bebb36d84c2ef6645e) - Move
java_features.prototojava/core/srce/main/resources(https://github.com/protocolbuffers/protobuf/commit/274bc7f26ff9da996714cf5cd011a7edaf6ce34c) - Add an RAII namespace printer helper for C++ codegen. (https://github.com/protocolbuffers/protobuf/commit/8599ab5a5934579e9cb775b2cf2bcc69e67c2747)
- Enable editions support for Java Lite. (https://github.com/protocolbuffers/protobuf/commit/500c953d105d0447479be259a5fb0b6f7124e978)
- Add an RAII
ifndefhelper for C++ codegen. (https://github.com/protocolbuffers/protobuf/commit/1087274e7dc3ea6864af39a46091160b98e809f1) - Clear
oneofmessage fields even on arena on non-OPT builds. (https://github.com/protocolbuffers/protobuf/commit/5c183bda866e4410a66cda550d6afa2428408879) - Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164)
- Release edition defaults CLI arguments. (https://github.com/protocolbuffers/protobuf/commit/7a0e10e0219fd753b97c2879eb9a92584a419105)
- Deprecate
Arena::CreateMessagefor OSS. (https://github.com/protocolbuffers/protobuf/commit/d4bfe52d998dae068ea7e2d44decd234bb090c46) - Open sourcing
reflection_visit_fieds. (https://github.com/protocolbuffers/protobuf/commit/cfc07df845a6b5cfc6837e56f3bf8ed20e06eb76) - Fixed the use of c++ keywords within namespace names (#15954) (https://github.com/protocolbuffers/protobuf/commit/988194a591f0b82b1ae52590e4daa5f0519ef8c7)
- Fix pkg-config metadata for shared abseil on windows (#15888) (https://github.com/protocolbuffers/protobuf/commit/fe6edca15b2d80df79ab31117dc49621ef461202)
- Add
GetStringView()andGetRepeatedStringView()with scratch. (https://github.com/protocolbuffers/protobuf/commit/a3f5af066fcb16bc2e90e28c006597aef1904eab) - Avoid a 'may be used uninitialized' warning when built with '-c opt'. (#15846) (https://github.com/protocolbuffers/protobuf/commit/eb70b343aab7584ed164a6ab4b39789427d0474f)
- Add software prefetch to
ByteSizeLong(https://github.com/protocolbuffers/protobuf/commit/948ca2e0f3e74a2444bc4c3cc8da1d0a4cb82058) - Add prefetching in arena blocks. (https://github.com/protocolbuffers/protobuf/commit/9e57b8e0d800b90d38ab70ac12f086310eb2484e)
- Rename the
includingDefaultValueWithoutPresenceFieldsandalways_print_without_presence_fieldstoalwaysPrintFieldsWithNoPresencein the C++, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/7d43131a0a3a2a7640208849eeac016c6c61374e) - Remove tags for arena cleanup nodes now that we have dedicated string cleanup blocks. (https://github.com/protocolbuffers/protobuf/commit/202b10639242d3ee1d10c5577618aa008e222ec4)
- Avoid unused-parameter warning in field accessor listeners. (https://github.com/protocolbuffers/protobuf/commit/f4d5c2c571038146de2ee2b22f399527510501d2)
- Add new
always_print_without_presence_fieldsoption to the C++ JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/671b61b523dbec8bf8e41a61d5a8f689c3e2bb9f) - Fail to build descriptor if
ctypeis specified for non string/bytes fields (https://github.com/protocolbuffers/protobuf/commit/8b4c7a1f33eb6849b57b6457d12adbd001109273) - Check
ctype()inDescriptorBuilderfor edition 2023 and beyond. (https://github.com/protocolbuffers/protobuf/commit/307aeac9cf1b31a217921198e46a847179723240) - Fail building descriptors if
ctypeis used for fields other than string or bytes. (https://github.com/protocolbuffers/protobuf/commit/403e2078b4501359f04b2c0b60bf37b9305a9e0e) - Fix generation of
HasExtensionandExtensionSizefunctions to restrict to the (https://github.com/protocolbuffers/protobuf/commit/9f5be076540d3b7374987ba42499080075dd6678) - Add the privacy manifest to the C++ CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/982ea24a9471f5bfbf411568aec8c938dfa7f5ae)
Java
- Lazily resolve features for proto2 and proto3 for compatibility with old open source gencode that does not invoke feature resolution from gencode static init. (#16907) (https://github.com/protocolbuffers/protobuf/commit/4483c6bb28a117a3c9e635a5a87465278218b6c7)
- Add
javato reserved names to escape extensions tojava_. This may break existing references to gencode for extensions namedjava. (https://github.com/protocolbuffers/protobuf/commit/c18cb9578209b74038e663fe62398b8f9633ccce) - Deprecate building from source with Maven to be removed in 4.28.x. (https://github.com/protocolbuffers/protobuf/commit/51b48a47913516f9985b232c0ed6e05d4631f753)
- Split bootstrapped
java_features.prototo keep it from leaking out. (https://github.com/protocolbuffers/protobuf/commit/d56cb7d768e19f5b64b49ff6fd91688973bdedb6) - Refactored the Java generator into separate packages and targets. (https://github.com/protocolbuffers/protobuf/commit/bd81fd95f30af51e86a36cf0279abec17890a324)
- Define lifetimes of edition 2023 features (https://github.com/protocolbuffers/protobuf/commit/77f62de93e2e84d6aab0364629919779970fb9f1)
- Check that size is non-negative when reading string or bytes in
StreamDecoder. (https://github.com/protocolbuffers/protobuf/commit/a94f57bd69e9a5999ba67736e4d70a9d7f96aaf5) - Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6)
- Move
java_features.prototojava/core/srce/main/resources(https://github.com/protocolbuffers/protobuf/commit/274bc7f26ff9da996714cf5cd011a7edaf6ce34c) - Add
java_features.prototokotlin_mvnrelease (https://github.com/protocolbuffers/protobuf/commit/369732a581f44adc5a4dc5a03c866e9c7f04dc14) - Enable editions support for Java Lite. (https://github.com/protocolbuffers/protobuf/commit/500c953d105d0447479be259a5fb0b6f7124e978)
- Fix descriptor to access type via
getType()s.t. messages using delimited encoding are consistently treated as groups for Java lite. (https://github.com/protocolbuffers/protobuf/commit/9f001a965872b1c82e0f61e53aefb92109357213) - Make
UnsafeByteOperationsstable; removing experimental annotation. (https://github.com/protocolbuffers/protobuf/commit/0070ac118863d7bfd12fa3eeab09e78178e41c65) - Fix features inheritance of
oneoffields and extensions and fix/move unit tests to actually run. (https://github.com/protocolbuffers/protobuf/commit/eb10ebd169593600e57106d6cdc84d6ad226f9a8) - Add software prefetch to
ByteSizeLong(https://github.com/protocolbuffers/protobuf/commit/948ca2e0f3e74a2444bc4c3cc8da1d0a4cb82058) - Rename the
includingDefaultValueWithoutPresenceFieldsandalways_print_without_presence_fieldstoalwaysPrintFieldsWithNoPresencein the C++, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/7d43131a0a3a2a7640208849eeac016c6c61374e) - Add a new
includingDefaultValueWithoutPresenceFieldsoption to the Java parser which is intended to replace the currentincludingDefaultValueFields. (https://github.com/protocolbuffers/protobuf/commit/58baeb4c3b664f8918d24cef5151083d9da9767c)
Kotlin
- Add
java_features.prototokotlin_mvnrelease (https://github.com/protocolbuffers/protobuf/commit/369732a581f44adc5a4dc5a03c866e9c7f04dc14)
Csharp
- Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/c3417f582fd3d1f825bde4edfd9dc8a9fb3ba65c)
- Optimize JSON parsing in
JsonTokenizer. (https://github.com/protocolbuffers/protobuf/commit/68e6e3e8eecd31b0078422f688a3f01fb881d367) - Avoid string concatenation when looking up enum values by name. (https://github.com/protocolbuffers/protobuf/commit/e6684ac037940c962c7fc3bd7b247b0e583bae2e)
- Cache
StringBuilderinstances in the .NETJsonTextTokenizer. (https://github.com/protocolbuffers/protobuf/commit/fac929d9aa607ccdfd078344ac12cee7d2b3fdda) - Enable Editions in the C# generator. (https://github.com/protocolbuffers/protobuf/commit/421040b32b002828f0a37404b62e1454fb610761)
- Runtime support for Protobuf Editions in C#. (https://github.com/protocolbuffers/protobuf/commit/450022de9939f5eaf9f33696c17005ee7609eecc)
- Tweak "group to property name" mapping for C#. Under editions, where fields using a delimited encoding have independent field names from type names, we want to use the specified field name. (https://github.com/protocolbuffers/protobuf/commit/139ea4d38525281349e38bcfadce449a6990421c)
- Ignore invalid enum string values in JSON, when invalid fields are being ignored. (https://github.com/protocolbuffers/protobuf/commit/55e50ba40679eb82269c62872116b76c5923d74d)
Objective-C
- Optimize startup be reducing selector lookup. (https://github.com/protocolbuffers/protobuf/commit/b375d010bf57a6d673125330ec47f6e6a7e03f5c)
- Add the privacy manifest to the ObjC CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/0d9151519f28a2221c980594257d88c8bfe1be51)
Python
- Add temporary alias for
system_python.bzlat previous location . (#16787) (https://github.com/protocolbuffers/protobuf/commit/ffd753fb637b35b9b9c937eec31efc532546da5d) - Implement feature lifetime validation in
protocand the C++ runtime. (https://github.com/protocolbuffers/protobuf/commit/b3b4497d61cabf1d0d37b10178f93c570ec67ac6) - Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6)
- Python JSON parser: Ignore invalid enum string values if
ignore_unknown_fieldsis set (#15887) (https://github.com/protocolbuffers/protobuf/commit/86abf35ef5ee5b1004ec11bebb36d84c2ef6645e) - Fix upb python: DO NOT create empty optional field after sorting empty repeated field (https://github.com/protocolbuffers/protobuf/commit/7cf02389b30088182269a862f235712f60ab278a)
- Enable Protobuf Python version check. (https://github.com/protocolbuffers/protobuf/commit/0442ed62cbea989742933d6c90f4f0a70078959a)
- Register Scalar/MessageMapContainerTypes as virtual subclasses of MutableMapping instead of inheriting directly. (https://github.com/protocolbuffers/protobuf/commit/5b32936822e64b796fa18fcff53df2305c6b7686)
- Rename the
includingDefaultValueWithoutPresenceFieldsandalways_print_without_presence_fieldstoalwaysPrintFieldsWithNoPresencein the C++, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/7d43131a0a3a2a7640208849eeac016c6c61374e) - Add new
including_default_value_without_presence_fieldsto Python JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/25c6d34d4ef6e19e490790b015764847f172a1a5) - Adhere to PEP 8 (#15127) (https://github.com/protocolbuffers/protobuf/commit/21ab7459ee43c0d5079e9f7708d453f68a5fd0e5)
PHP
- Don't break the trace (#11311) (https://github.com/protocolbuffers/protobuf/commit/d67f921f90e3aa03f65c3e1e507ca7017c8327a6)
- Fix inconsistent timestamp json encode/decode (#12396) (https://github.com/protocolbuffers/protobuf/commit/47e92cd689466a01ab128ac0bb02cfbde3a1fb46)
- Feat: more readable phpdoc escaping (#11208) (https://github.com/protocolbuffers/protobuf/commit/f929439ccd19872d71f56050e6ba7af3cd7c753c)
PHP C-Extension
- Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/c3417f582fd3d1f825bde4edfd9dc8a9fb3ba65c)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Add bigdecimal to dependencies (#16379) (https://github.com/protocolbuffers/protobuf/commit/d810ef6be77c079b890e92a20e5b37cfd8768a0b)
- Implement service & method descriptor lookup in Ruby (#15817) (https://github.com/protocolbuffers/protobuf/commit/2082ee8bb5a7966d7e921c848778eb0dec431d56)
- Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164)
- Ruby implement
memsizefunctions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/87cbdddbf0055d2dfeb87245984126fba7549d3e) - Moved
ObjectCacheinto an internal module. (https://github.com/protocolbuffers/protobuf/commit/f824f6d0d7337b193e5a6d277236b79706a6c319) - [Ruby] Delegate difference, intersection, union from
RepeatedFieldtoArray(#15652) (https://github.com/protocolbuffers/protobuf/commit/11eab86cc0ba1aecaa0dbb5e4a530cec274aa989) - Move the
RubyMessage.javaJSON "include defaults" to use alwaysPrintFieldsWithNoPresence. (https://github.com/protocolbuffers/protobuf/commit/4d23fa068a5eed1284645ef0d5ed32068986068f) - Increased the size of the error message buffer by 4x, to 511 bytes. (https://github.com/protocolbuffers/protobuf/commit/32a6f7a18c1bbf6c6eab3fa027bd0b33b62654d0)
Ruby C-Extension
- Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/c3417f582fd3d1f825bde4edfd9dc8a9fb3ba65c)
- Implement service & method descriptor lookup in Ruby (#15817) (https://github.com/protocolbuffers/protobuf/commit/2082ee8bb5a7966d7e921c848778eb0dec431d56)
- Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164)
- Ruby implement
memsizefunctions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/87cbdddbf0055d2dfeb87245984126fba7549d3e) - Moved
ObjectCacheinto an internal module. (https://github.com/protocolbuffers/protobuf/commit/f824f6d0d7337b193e5a6d277236b79706a6c319) - See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/c3417f582fd3d1f825bde4edfd9dc8a9fb3ba65c)
- Setup upb installation with
cmake. (https://github.com/protocolbuffers/protobuf/commit/6898451f5e4c84e79a6f48ea6c46959960743970) - Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6)
- Print non-extension fields by field number order instead of
.protofile order. (https://github.com/protocolbuffers/protobuf/commit/8612d5e771877123e7fb74d91aaef3912a870a9a) - Implement service & method descriptor lookup in Ruby (#15817) (https://github.com/protocolbuffers/protobuf/commit/2082ee8bb5a7966d7e921c848778eb0dec431d56)
- Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164)
- Adds mutable extension accessors to the codegen for upb C for getting mutable extension messages. (https://github.com/protocolbuffers/protobuf/commit/e8244da7c65cac3a410711fd324de73b78a645e7)
- Ruby implement
memsizefunctions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/87cbdddbf0055d2dfeb87245984126fba7549d3e) - Increased the size of the error message buffer by 4x, to 511 bytes. (https://github.com/protocolbuffers/protobuf/commit/32a6f7a18c1bbf6c6eab3fa027bd0b33b62654d0)
Other
- MODULE.bazel fixes for protobuf BCR release. (#16927) (https://github.com/protocolbuffers/protobuf/commit/f396506571fa1837704588b38cfb099f36c84fe3)
- Fix whitespace merge issue in gencode (https://github.com/protocolbuffers/protobuf/commit/f8a4a6880ec6453c5a9427a240169e917eacd3a3)
- Work around windows path length limitations by moving immutable -> full in open source (new generator paths) and shortening long file names. (#16825) (https://github.com/protocolbuffers/protobuf/commit/615e7045c5cee13cff3484f67dfb5d7fdd851909)
- Move the windows path length workarounds out of protobuf-ci (https://github.com/protocolbuffers/protobuf/commit/9d715cb69d198c520a0ff953251a08ddc909f7a7)
- Update
src/file_lists.cmakefor staleness (https://github.com/protocolbuffers/protobuf/commit/cd337dda70a25ccfee0f53daf758f8516b8af0c1) - Add
system_pythontoprotobuf_deps.bzl. (https://github.com/protocolbuffers/protobuf/commit/65ee12380e284c1ca8a3a1921c2682876896a87c) - Migrate bazel tests to protobuf-ci. (https://github.com/protocolbuffers/protobuf/commit/1ee203b04546d3575b102535b57188b2ccbaaca1)
- Fix bazel cache issues in 7.0.0 (https://github.com/protocolbuffers/protobuf/commit/16acf7ed86f5fcc2f2b68b108b397412121bb6c6)
- Add redirects for C++ and Java proto rules (https://github.com/protocolbuffers/protobuf/commit/9da1b86c30a12286f63501fe7eace2153ed2bc34)
- Add redirects for proto rules (https://github.com/protocolbuffers/protobuf/commit/d4d34abd7d66dc93c8f7f52f28411cd9c2867c29)
- Feat: automate publishing releases to Bazel Central Registry (#16014) (https://github.com/protocolbuffers/protobuf/commit/d2b71b347df6c8af5c3ee1c833f41b7772e3f250)
- Add PrivacyInfo.xcprivacy (#15557) (https://github.com/protocolbuffers/protobuf/commit/684660f025703afbc4775dedf9a0bf732b696cf1)
- C++
Published by sbenzaquen almost 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v27.0-rc3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Add extension declarations for known features. (https://github.com/protocolbuffers/protobuf/commit/f8d0a5b1dd6f5655be3c0d1a8aa1fec88e80c13a)
Java
- Add
javato reserved names to escape extensions tojava_. This may break existing references to gencode for extensions namedjava. (https://github.com/protocolbuffers/protobuf/commit/c18cb9578209b74038e663fe62398b8f9633ccce)
Python
- Add temporary alias for system_python.bzl at previous location . (#16787) (https://github.com/protocolbuffers/protobuf/commit/ffd753fb637b35b9b9c937eec31efc532546da5d)
Other
- Work around windows path length limitations by moving immutable -> full in open source (new generator paths) and shortening long file names. (#16825) (https://github.com/protocolbuffers/protobuf/commit/615e7045c5cee13cff3484f67dfb5d7fdd851909)
- C++
Published by honglooker almost 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v27.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Refactored the Java generator into separate packages and targets. (https://github.com/protocolbuffers/protobuf/commit/bd81fd95f30af51e86a36cf0279abec17890a324)
C++
- Fix validation checks of implicit presence. (https://github.com/protocolbuffers/protobuf/commit/bdf6b10e7c2cca02a79a96dac05560fba330cb96)
- Clarify map behaviors in editions. (https://github.com/protocolbuffers/protobuf/commit/61c91874c6817cdda85c2c256c3093be34f3eb41)
Java
- Deprecate building from source with Maven to be removed in 4.28.x. (https://github.com/protocolbuffers/protobuf/commit/51b48a47913516f9985b232c0ed6e05d4631f753)
- Split bootstrapped java_features.proto to keep it from leaking out. (https://github.com/protocolbuffers/protobuf/commit/d56cb7d768e19f5b64b49ff6fd91688973bdedb6)
- Refactored the Java generator into separate packages and targets. (https://github.com/protocolbuffers/protobuf/commit/bd81fd95f30af51e86a36cf0279abec17890a324)
Other
- Move the windows path length workarounds out of protobuf-ci (https://github.com/protocolbuffers/protobuf/commit/9d715cb69d198c520a0ff953251a08ddc909f7a7)
- Update src/file_lists.cmake for staleness (https://github.com/protocolbuffers/protobuf/commit/cd337dda70a25ccfee0f53daf758f8516b8af0c1)
- Add system_python to protobuf_deps.bzl. (https://github.com/protocolbuffers/protobuf/commit/65ee12380e284c1ca8a3a1921c2682876896a87c)
- Migrate bazel tests to protobuf-ci. (https://github.com/protocolbuffers/protobuf/commit/1ee203b04546d3575b102535b57188b2ccbaaca1)
- Fix bazel cache issues in 7.0.0 (https://github.com/protocolbuffers/protobuf/commit/16acf7ed86f5fcc2f2b68b108b397412121bb6c6)
- C++
Published by haberman almost 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v27.0-rc1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Officially release Editions in 27.0. (https://github.com/protocolbuffers/protobuf/commit/baa83b6b43113a9b39c77e40dc4b10640abda657)
- Define lifetimes of edition 2023 features (https://github.com/protocolbuffers/protobuf/commit/77f62de93e2e84d6aab0364629919779970fb9f1)
- Implement feature lifetime validation in protoc and the C++ runtime. (https://github.com/protocolbuffers/protobuf/commit/b3b4497d61cabf1d0d37b10178f93c570ec67ac6)
- Add edition lifetime options for feature specs. (https://github.com/protocolbuffers/protobuf/commit/b09b3e46fe2a111d412251f6d043649334e9cbee)
- Enable editions support for Java Lite. (https://github.com/protocolbuffers/protobuf/commit/500c953d105d0447479be259a5fb0b6f7124e978)
- Release edition defaults CLI arguments. (https://github.com/protocolbuffers/protobuf/commit/7a0e10e0219fd753b97c2879eb9a92584a419105)
- Update protoc release to include editions language features protos for Java and C++ (https://github.com/protocolbuffers/protobuf/commit/6483c4755daadf1bceb95c4519851c52e8842d2e)
C++
- [C++] Ensure we allocate overaligned types with aligned operator new. (https://github.com/protocolbuffers/protobuf/commit/11ef0ffb873ebd270ab0266270ea965a04c5f2e5)
- Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6)
- In debug mode, after clearing oneof messages on arenas, poison them if ASAN. (https://github.com/protocolbuffers/protobuf/commit/8826bafcf507120bdb77883e9a9c0c43a5f5a302)
- Allow string_type for Edition 2023. (https://github.com/protocolbuffers/protobuf/commit/d8251ebc43cb21d3239a38554a2f0a618f368a78)
- Breaking change: Ensure we allocate overaligned types with aligned operator new. (https://github.com/protocolbuffers/protobuf/commit/11ef0ffb873ebd270ab0266270ea965a04c5f2e5)
- Python JSON parser: Ignore invalid enum string values if ignore_unknown_fields is set (#15887) (https://github.com/protocolbuffers/protobuf/commit/86abf35ef5ee5b1004ec11bebb36d84c2ef6645e)
- Move java_features.proto to java/core/srce/main/resources (https://github.com/protocolbuffers/protobuf/commit/274bc7f26ff9da996714cf5cd011a7edaf6ce34c)
- Add an RAII namespace printer helper for C++ codegen. (https://github.com/protocolbuffers/protobuf/commit/8599ab5a5934579e9cb775b2cf2bcc69e67c2747)
- Enable editions support for Java Lite. (https://github.com/protocolbuffers/protobuf/commit/500c953d105d0447479be259a5fb0b6f7124e978)
- Add an RAII ifndef helper for C++ codegen. (https://github.com/protocolbuffers/protobuf/commit/1087274e7dc3ea6864af39a46091160b98e809f1)
- Clear oneof message fields even on arena on non-OPT builds. (https://github.com/protocolbuffers/protobuf/commit/5c183bda866e4410a66cda550d6afa2428408879)
- Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164)
- Release edition defaults CLI arguments. (https://github.com/protocolbuffers/protobuf/commit/7a0e10e0219fd753b97c2879eb9a92584a419105)
- Deprecate Arena::CreateMessage for OSS. (https://github.com/protocolbuffers/protobuf/commit/d4bfe52d998dae068ea7e2d44decd234bb090c46)
- Open sourcing reflection_visit_fieds. (https://github.com/protocolbuffers/protobuf/commit/cfc07df845a6b5cfc6837e56f3bf8ed20e06eb76)
- Fixed the use of c++ keywords within namespace names (#15954) (https://github.com/protocolbuffers/protobuf/commit/988194a591f0b82b1ae52590e4daa5f0519ef8c7)
- Fix pkg-config metadata for shared abseil on windows (#15888) (https://github.com/protocolbuffers/protobuf/commit/fe6edca15b2d80df79ab31117dc49621ef461202)
- Add GetStringView() and GetRepeatedStringView() with scratch. (https://github.com/protocolbuffers/protobuf/commit/a3f5af066fcb16bc2e90e28c006597aef1904eab)
- Avoid a 'may be used uninitialized' warning when built with '-c opt'. (#15846) (https://github.com/protocolbuffers/protobuf/commit/eb70b343aab7584ed164a6ab4b39789427d0474f)
- Add software prefetch to ByteSizeLong (https://github.com/protocolbuffers/protobuf/commit/948ca2e0f3e74a2444bc4c3cc8da1d0a4cb82058)
- Add prefetching in arena blocks. (https://github.com/protocolbuffers/protobuf/commit/9e57b8e0d800b90d38ab70ac12f086310eb2484e)
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/26995798757fbfef5cf6648610848e389db1fecf)
- Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/7d43131a0a3a2a7640208849eeac016c6c61374e)
- Remove tags for arena cleanup nodes now that we have dedicated string cleanup blocks. (https://github.com/protocolbuffers/protobuf/commit/202b10639242d3ee1d10c5577618aa008e222ec4)
- Avoid unused-parameter warning in field accessor listeners. (https://github.com/protocolbuffers/protobuf/commit/f4d5c2c571038146de2ee2b22f399527510501d2)
- Add new 'always_print_without_presence_fields' option to the C++ JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/671b61b523dbec8bf8e41a61d5a8f689c3e2bb9f)
- Fail to build descriptor if ctype is specified for non string/bytes fields (https://github.com/protocolbuffers/protobuf/commit/8b4c7a1f33eb6849b57b6457d12adbd001109273)
- Check ctype() in DescriptorBuilder for edition 2023 and beyond. (https://github.com/protocolbuffers/protobuf/commit/307aeac9cf1b31a217921198e46a847179723240)
- Fail building descriptors if
ctypeis used for fields other than string or bytes. (https://github.com/protocolbuffers/protobuf/commit/403e2078b4501359f04b2c0b60bf37b9305a9e0e) - Fix generation of HasExtension and ExtensionSize functions to restrict to the (https://github.com/protocolbuffers/protobuf/commit/9f5be076540d3b7374987ba42499080075dd6678)
- Add the privacy manifest to the C++ CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/982ea24a9471f5bfbf411568aec8c938dfa7f5ae)
Java
- Define lifetimes of edition 2023 features (https://github.com/protocolbuffers/protobuf/commit/77f62de93e2e84d6aab0364629919779970fb9f1)
- Check that size is non-negative when reading string or bytes in StreamDecoder. (https://github.com/protocolbuffers/protobuf/commit/a94f57bd69e9a5999ba67736e4d70a9d7f96aaf5)
- Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6)
- Move java_features.proto to java/core/srce/main/resources (https://github.com/protocolbuffers/protobuf/commit/274bc7f26ff9da996714cf5cd011a7edaf6ce34c)
- Add java_features.proto to kotlin_mvn release (https://github.com/protocolbuffers/protobuf/commit/369732a581f44adc5a4dc5a03c866e9c7f04dc14)
- Enable editions support for Java Lite. (https://github.com/protocolbuffers/protobuf/commit/500c953d105d0447479be259a5fb0b6f7124e978)
- Fix descriptor to access type via getType() s.t. messages using delimited encoding are consistently treated as groups for Java lite. (https://github.com/protocolbuffers/protobuf/commit/9f001a965872b1c82e0f61e53aefb92109357213)
- Make UnsafeByteOperations stable; removing experimental annotation. (https://github.com/protocolbuffers/protobuf/commit/0070ac118863d7bfd12fa3eeab09e78178e41c65)
- Fix features inheritance of oneof fields and extensions and fix/move unit tests to actually run. (https://github.com/protocolbuffers/protobuf/commit/eb10ebd169593600e57106d6cdc84d6ad226f9a8)
- Add software prefetch to ByteSizeLong (https://github.com/protocolbuffers/protobuf/commit/948ca2e0f3e74a2444bc4c3cc8da1d0a4cb82058)
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/26995798757fbfef5cf6648610848e389db1fecf)
- Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/7d43131a0a3a2a7640208849eeac016c6c61374e)
- Add a new 'includingDefaultValueWithoutPresenceFields' option to the Java parser which is intended to replace the current 'includingDefaultValueFields'. (https://github.com/protocolbuffers/protobuf/commit/58baeb4c3b664f8918d24cef5151083d9da9767c)
Kotlin
- Add java_features.proto to kotlin_mvn release (https://github.com/protocolbuffers/protobuf/commit/369732a581f44adc5a4dc5a03c866e9c7f04dc14)
Csharp
- C#: Optimize JSON parsing in JsonTokenizer (https://github.com/protocolbuffers/protobuf/commit/68e6e3e8eecd31b0078422f688a3f01fb881d367)
- C#: Avoid string concatenation when looking up enum values by name. (https://github.com/protocolbuffers/protobuf/commit/e6684ac037940c962c7fc3bd7b247b0e583bae2e)
- Cache StringBuilder instances in the .NET JsonTextTokenizer. (https://github.com/protocolbuffers/protobuf/commit/fac929d9aa607ccdfd078344ac12cee7d2b3fdda)
- Enable Editions in the C# generator. (https://github.com/protocolbuffers/protobuf/commit/421040b32b002828f0a37404b62e1454fb610761)
- Runtime support for Protobuf Editions in C#. (https://github.com/protocolbuffers/protobuf/commit/450022de9939f5eaf9f33696c17005ee7609eecc)
- Tweak "group to property name" mapping for C#. Under editions, where fields using a delimited encoding have independent field names from type names, we want to use the specified field name. (https://github.com/protocolbuffers/protobuf/commit/139ea4d38525281349e38bcfadce449a6990421c)
- C#: Ignore invalid enum string values in JSON, when invalid fields are being ignored. (https://github.com/protocolbuffers/protobuf/commit/55e50ba40679eb82269c62872116b76c5923d74d)
Objective-C
- Optimize startup be reducing selector lookup. (https://github.com/protocolbuffers/protobuf/commit/b375d010bf57a6d673125330ec47f6e6a7e03f5c)
- Add the privacy manifest to the ObjC CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/0d9151519f28a2221c980594257d88c8bfe1be51)
Python
- Implement feature lifetime validation in protoc and the C++ runtime. (https://github.com/protocolbuffers/protobuf/commit/b3b4497d61cabf1d0d37b10178f93c570ec67ac6)
- Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6)
- Python JSON parser: Ignore invalid enum string values if ignore_unknown_fields is set (#15887) (https://github.com/protocolbuffers/protobuf/commit/86abf35ef5ee5b1004ec11bebb36d84c2ef6645e)
- Fix upb python: DO NOT create empty optional field after sorting empty repeated field (https://github.com/protocolbuffers/protobuf/commit/7cf02389b30088182269a862f235712f60ab278a)
- Enable Protobuf Python version check. (https://github.com/protocolbuffers/protobuf/commit/0442ed62cbea989742933d6c90f4f0a70078959a)
- Register Scalar/MessageMapContainerTypes as virtual subclasses of MutableMapping instead of inheriting directly. (https://github.com/protocolbuffers/protobuf/commit/5b32936822e64b796fa18fcff53df2305c6b7686)
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/26995798757fbfef5cf6648610848e389db1fecf)
- Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/7d43131a0a3a2a7640208849eeac016c6c61374e)
- Breaking change: Removed obsolete/duplicate
setup.pyfrom Python. (https://github.com/protocolbuffers/protobuf/commit/8135fca851c76344392c7888e4eb647013b40479) - Add new including_default_value_without_presence_fields to Python JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/25c6d34d4ef6e19e490790b015764847f172a1a5)
- Adhere to PEP 8 (#15127) (https://github.com/protocolbuffers/protobuf/commit/21ab7459ee43c0d5079e9f7708d453f68a5fd0e5)
PHP
- Don't break the trace (#11311) (https://github.com/protocolbuffers/protobuf/commit/d67f921f90e3aa03f65c3e1e507ca7017c8327a6)
- Breaking change: Remove deprecated legacy class aliases. (https://github.com/protocolbuffers/protobuf/commit/60b80c697677e3fa59237eb8d72c97399771f050)
- Fix inconsistent timestamp json encode/decode (#12396) (https://github.com/protocolbuffers/protobuf/commit/47e92cd689466a01ab128ac0bb02cfbde3a1fb46)
- Feat: more readable phpdoc escaping (#11208) (https://github.com/protocolbuffers/protobuf/commit/f929439ccd19872d71f56050e6ba7af3cd7c753c)
Ruby
- Add bigdecimal to dependencies (#16379) (https://github.com/protocolbuffers/protobuf/commit/d810ef6be77c079b890e92a20e5b37cfd8768a0b)
- Implement service & method descriptor lookup in Ruby (#15817) (https://github.com/protocolbuffers/protobuf/commit/2082ee8bb5a7966d7e921c848778eb0dec431d56)
- Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164)
- Ruby implement memsize functions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/87cbdddbf0055d2dfeb87245984126fba7549d3e)
- Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/f824f6d0d7337b193e5a6d277236b79706a6c319)
- [Ruby] Delegate difference, intersection, union from RepeatedField to Array (#15652) (https://github.com/protocolbuffers/protobuf/commit/11eab86cc0ba1aecaa0dbb5e4a530cec274aa989)
- Move the RubyMessage.java JSON "include defaults" to use alwaysPrintFieldsWithNoPresence. (https://github.com/protocolbuffers/protobuf/commit/4d23fa068a5eed1284645ef0d5ed32068986068f)
- Increased the size of the error message buffer by 4x, to 511 bytes. (https://github.com/protocolbuffers/protobuf/commit/32a6f7a18c1bbf6c6eab3fa027bd0b33b62654d0)
Ruby C-Extension
- Implement service & method descriptor lookup in Ruby (#15817) (https://github.com/protocolbuffers/protobuf/commit/2082ee8bb5a7966d7e921c848778eb0dec431d56)
- Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164)
- Ruby implement memsize functions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/87cbdddbf0055d2dfeb87245984126fba7549d3e)
- Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/f824f6d0d7337b193e5a6d277236b79706a6c319)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Setup upb installation with cmake. (https://github.com/protocolbuffers/protobuf/commit/6898451f5e4c84e79a6f48ea6c46959960743970)
- Fix text-format delimited field handling (https://github.com/protocolbuffers/protobuf/commit/29c69ff00b58b60e67fcf40fd810009bd39b86c6)
- Print non-extension fields by field number order instead of .proto file order. (https://github.com/protocolbuffers/protobuf/commit/8612d5e771877123e7fb74d91aaef3912a870a9a)
- Implement service & method descriptor lookup in Ruby (#15817) (https://github.com/protocolbuffers/protobuf/commit/2082ee8bb5a7966d7e921c848778eb0dec431d56)
- Implement edition 2023 support in all Ruby runtimes. (https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164)
- Adds mutable extension accessors to the codegen for upb C for getting mutable extension messages. (https://github.com/protocolbuffers/protobuf/commit/e8244da7c65cac3a410711fd324de73b78a645e7)
- Ruby implement memsize functions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/87cbdddbf0055d2dfeb87245984126fba7549d3e)
- Increased the size of the error message buffer by 4x, to 511 bytes. (https://github.com/protocolbuffers/protobuf/commit/32a6f7a18c1bbf6c6eab3fa027bd0b33b62654d0)
Conformance
- Added conformance test for unknown field ordering. (https://github.com/protocolbuffers/protobuf/commit/1f6580dd0ccc9adab41a033ada1d2c9e7fce82ff)
- Add editions-specific conformance tests (https://github.com/protocolbuffers/protobuf/commit/8ab39ed6f824d8915eefde0a74a7715213d9cbbf)
Other
- Add redirects for C++ and Java proto rules (https://github.com/protocolbuffers/protobuf/commit/9da1b86c30a12286f63501fe7eace2153ed2bc34)
- Add redirects for proto rules (https://github.com/protocolbuffers/protobuf/commit/d4d34abd7d66dc93c8f7f52f28411cd9c2867c29)
- Feat: automate publishing releases to Bazel Central Registry (#16014) (https://github.com/protocolbuffers/protobuf/commit/d2b71b347df6c8af5c3ee1c833f41b7772e3f250)
- Add PrivacyInfo.xcprivacy (#15557) (https://github.com/protocolbuffers/protobuf/commit/684660f025703afbc4775dedf9a0bf732b696cf1)
- C++
Published by mkruskal-google almost 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v26.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Expand cpp_features_proto_srcs visibility (https://github.com/protocolbuffers/protobuf/commit/2d3d8ba410550082ee20777653a2a1d515ff8036)
- Move java_features.proto to java/core/srce/main/resources (https://github.com/protocolbuffers/protobuf/commit/22f11700bc7b352308a3f49ba99639f9de8aaffa)
Java
- Fix validateFeatures to be called after resolved features are actually set to this.features (https://github.com/protocolbuffers/protobuf/commit/9bf69ecc833757839421b89e92ddb4dc09b2af0d)
- Move java_features.proto to java/core/srce/main/resources (https://github.com/protocolbuffers/protobuf/commit/22f11700bc7b352308a3f49ba99639f9de8aaffa)
- Set label to REQUIRED for descriptors with LEGACY_REQUIRED feature. (https://github.com/protocolbuffers/protobuf/commit/4886a9cd8ffe81caf4c4b5b9ef7ce0de426a7b08)
- Add java_features.proto to kotlin_mvn release (https://github.com/protocolbuffers/protobuf/commit/0e4abf965ca48568457824ddb7944a4e70674411)
Kotlin
- Add java_features.proto to kotlin_mvn release (https://github.com/protocolbuffers/protobuf/commit/0e4abf965ca48568457824ddb7944a4e70674411)
Ruby
- Cherry-pick required label handling in JRuby field descriptor from https://github.com/protocolbuffers/protobuf/commit/bca8fb6117cf24785edb238d96bffe2c3a6d7164 (https://github.com/protocolbuffers/protobuf/commit/2e51ff6de3e8c594d965b2ad8952b911383cf0bf)
Other
- Update protoc release to include editions language features protos for Java and C++ (https://github.com/protocolbuffers/protobuf/commit/7f457737f37373c181b649d4eb01e23bd198bcb4)
- Fix Android platforms constraint (#16246) (#16271) (https://github.com/protocolbuffers/protobuf/commit/b4e18708070a75d80965fb16ced60661e531bd9a)
- Add back android config_setting that looks for //external:android/crosstool (#16127) (#16264) (https://github.com/protocolbuffers/protobuf/commit/a97c927b51a140bb4b47726a0f61afaef44f0f6e)
- C++
Published by mkruskal-google almost 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v26.0
Announcements
- This version includes breaking changes to: Java, PHP, C++, Ruby, Python.
- [Java] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- [Java] Remove unused helper methods for creating new mutable arraylists. (https://github.com/protocolbuffers/protobuf/commit/787447430fc9a69c071393e85a380b664d261ab4)
- [Java] Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
- [Java] Stop generating the "newInstance" method. This is not used anymore. (https://github.com/protocolbuffers/protobuf/commit/c0d08bdcade9d44698015b85c9c23343ca1319b7)
- [Java] Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List. (https://github.com/protocolbuffers/protobuf/commit/3b9bd6db71d20832980e579e0b9b03eb39e96a1f)
- [Java] Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode. (https://github.com/protocolbuffers/protobuf/commit/9310d2e817a987878b03f8b5215fdbfea766ad23)
- [Java] Remove unnecessary overloads of methods: (https://github.com/protocolbuffers/protobuf/commit/94a2a448518403341b8aa71335ab1123fbdcccd8)
- [Java] Remove unnecessary generated overrides for GeneratedMessage.Builder methods: (https://github.com/protocolbuffers/protobuf/commit/7bff169d32710b143951ec6ce2c4ea9a56e2ad24)
- [Java] The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
- [Java] Remove deprecated runtime methods for compatibility with old v2.x.x gencode. (https://github.com/protocolbuffers/protobuf/commit/e555bd23d077216ea40006c45eeaaa5aa385d921)
- [Java] Remove deprecated TextFormat print methods. These should be replaced by corresponding TextFormat.printer() methods. (https://github.com/protocolbuffers/protobuf/commit/dfb8a4c3f75910d37095a990706c0ae2c2e26b0f)
- [Java] Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
- [Java] Make deprecated Java gencode PARSER variable private. (https://github.com/protocolbuffers/protobuf/commit/b4858b255bcf24d05789ce23c297e33524dd37fe)
- [Java] Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
- [Java] The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
- [PHP] Validate UTF-8 in string setters, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
- [PHP] Remove deprecated legacy class aliases. (#15709) (https://github.com/protocolbuffers/protobuf/commit/096e127d02ca4f49220f46a42feacf0b1e1bb18f)
- [PHP] Validate UTF-8 in string setters, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
- [PHP] Remove support for PHP generic services (https://github.com/protocolbuffers/protobuf/commit/40ad3fac603ba3c96e52a1266cd785a7adb8e3e4)
- [C++] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- [C++] Remove const GetArena method on RepeatedPtrField (https://github.com/protocolbuffers/protobuf/commit/748ab1608a33dd3d28070d6df54c8956aa893985)
- [C++] Disallow incorrect ctype usage (https://github.com/protocolbuffers/protobuf/commit/755b690a7c31d92103343f20ba32d752495e60a3)
- [C++] Remove deprecated std::string error collector overrides (https://github.com/protocolbuffers/protobuf/commit/543fbcdbd9496de9d93a6eb4645640cb47a5514b)
- [C++] Promote ExtensionRange to a proper class (https://github.com/protocolbuffers/protobuf/commit/5b12bc858f1f0e02477ac3e3e3fea5bc88f1bdc3)
- [C++] Remove deprecated clear APIs on repeated fields (https://github.com/protocolbuffers/protobuf/commit/229906f3091742e05e51445a66164025b0244409)
- [C++] Remove C++ legacy syntax descriptor APIs (https://github.com/protocolbuffers/protobuf/commit/cf2d6965dcb6e15490232041da8b7b6c8ec669eb)
- [C++] Remove deprecated syntax APIs (https://github.com/protocolbuffers/protobuf/commit/715b543e0416006ae17dfd409fe41a070e3cc49c)
- [C++] Remove deprecated SupportsUnknownEnumValues method (https://github.com/protocolbuffers/protobuf/commit/0a6a51655f3f6af554766d88b6d717e31af34b01)
- [Ruby] Removed
syntaxand addedhas_presence?/is_packed?. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f) - [Ruby] Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
- [Ruby] Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
- [Ruby] Fixed inconsistencies in
Message#to_h, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc) - [Ruby] Dropped support for Ruby DSL, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/5cfc9e775d76acb37e5b554e53dff336a89d000f)
- [Ruby] Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
- [Ruby] Removed
syntaxand addedhas_presence?/is_packed?. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f) - [Ruby] Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
- [Ruby] Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
- [Ruby] Fixed inconsistencies in
Message#to_h, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc) - [Python] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- [Python] Removed obsolete/duplicate
setup.pyfrom Python. (#15708) (https://github.com/protocolbuffers/protobuf/commit/5722aeffcad72e9a335a3ec7985858dfa31477be) - [Python] Made text_format output default to UTF-8. (https://github.com/protocolbuffers/protobuf/commit/bf00034493381f6ae2b49f04e101b3251bb099c9)
- [Python] Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/4ebba684c791416a9131dd01d4c5175a2beb3566)
- [Python] Reject extend repeated field with none iterable (Raise TypeError) (https://github.com/protocolbuffers/protobuf/commit/1658213ba84a641531948aa9cdc3b53bebf20190)
- [Python] Remove Deprecated APIs that add non top descriptor. (https://github.com/protocolbuffers/protobuf/commit/c51f1110224910015ed90d7d6fb27ff24243baa8)
- [Python] Check if Timestamp is valid. (https://github.com/protocolbuffers/protobuf/commit/4f77929203cbf33ae3a710f7370794e36912acbc)
- [Python] Remove msg.UnknownFields() support in pure python and cpp extension. (https://github.com/protocolbuffers/protobuf/commit/0eac77c2c6389bd7f3fb21fa43ed13108ab0600f)
- [Python] Remove deprecated syntax accessor. (https://github.com/protocolbuffers/protobuf/commit/fd40c87befa92c1b944ae5fbd42bafe41003ad4e)
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Add <shellapi.h> include for CommandLineToArgvW (https://github.com/protocolbuffers/protobuf/commit/2299e1db6fdd0e76b7a757241a6a443200477b8e)
- Fix getting env variables on windows (#15518) (https://github.com/protocolbuffers/protobuf/commit/71b0b4e0a9f2d9080f167c03dcafbd8b1823fb76)
- Proper fix utf8 command line arguments (#14253) (https://github.com/protocolbuffers/protobuf/commit/1eff9d74519c7d21592dddc3c3665993bb0f117f)
- Allocate an editions FeatureSet extension for https://github.com/bufbuild/protobuf-es (https://github.com/protocolbuffers/protobuf/commit/fedd34df47ad442e1cc41b1a828955f384a0c9e2)
- Make rules_ruby a dev-only dependency. (https://github.com/protocolbuffers/protobuf/commit/571b727cb66ad51f89fbef565d3a6c123366a1f5)
C++
- Remove rust proto libraries from the editions/BUILD file. (https://github.com/protocolbuffers/protobuf/commit/1f9d9fbe14b78857adab835e8d0dc9c703088078)
- Fix CMake regex escaping. (https://github.com/protocolbuffers/protobuf/commit/3ad69cf8b07ebcd54e76ee5360586a41b4f9d627)
- Escape _from_dir in install.cmake for regex special characters (e.g. c++) before REGEX REPLACE. (https://github.com/protocolbuffers/protobuf/commit/f740f528fa08f9d126650d92472a921e53a95a73)
- Tweak BUILD setup to make the layering check change less disruptive (#15838) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721)
- Add missing alias targets for C++ util libraries (#15783) (https://github.com/protocolbuffers/protobuf/commit/62e7a56f50d88fdd0ebcb0430103120d60bd9863)
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/fc41e78d7a5ead031f23ba2e1dcf35fdf941751a)
- Add new 'always_print_without_presence_fields' option to the C++ JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/1f3bf1d31ed4b45ff1ac463941784b9dcba15bc8)
- Remove use of mach_absolute_time (#15554) (#15662) (https://github.com/protocolbuffers/protobuf/commit/8b0f6fdcca7c0344358d415d12548196032e5279)
- Check ctype() in DescriptorBuilder for edition 2023 and beyond. (https://github.com/protocolbuffers/protobuf/commit/0090f195f007cd48f7040746983a7a0905d914d1)
- Fail building descriptors if
ctypeis used for fields other than string or bytes. (https://github.com/protocolbuffers/protobuf/commit/624d65da6aa8bb28421310ba1ae53183fd7066bb) - [CPP] Add the privacy manifest to the C++ CocoaPod. (#15664) (https://github.com/protocolbuffers/protobuf/commit/e7888a1068ddcfd0c91fef4dec76c8cea2befe9a)
- Correct type_resolver_util to set syntax=proto3 instead of syntax=proto2 on proto3 files. (https://github.com/protocolbuffers/protobuf/commit/040dde7e37ccb36cd4243292f12116ef242eb3f1)
- Remove edition getter from C++ descriptor APIs (https://github.com/protocolbuffers/protobuf/commit/93b219f4e84d83415ad7b77f5bc0ae2df5490fea)
- Breaking change: Remove const GetArena method on RepeatedPtrField (https://github.com/protocolbuffers/protobuf/commit/748ab1608a33dd3d28070d6df54c8956aa893985)
- Breaking change: Disallow incorrect ctype usage (https://github.com/protocolbuffers/protobuf/commit/755b690a7c31d92103343f20ba32d752495e60a3)
- Breaking change: Remove deprecated std::string error collector overrides (https://github.com/protocolbuffers/protobuf/commit/543fbcdbd9496de9d93a6eb4645640cb47a5514b)
- Breaking change: Promote ExtensionRange to a proper class (https://github.com/protocolbuffers/protobuf/commit/5b12bc858f1f0e02477ac3e3e3fea5bc88f1bdc3)
- Breaking change: Remove deprecated clear APIs on repeated fields (https://github.com/protocolbuffers/protobuf/commit/229906f3091742e05e51445a66164025b0244409)
- Breaking change: Remove C++ legacy syntax descriptor APIs (https://github.com/protocolbuffers/protobuf/commit/cf2d6965dcb6e15490232041da8b7b6c8ec669eb)
- Fixed UTF-8 TextFormat output to protect against invalid UTF-8 in string fields. (https://github.com/protocolbuffers/protobuf/commit/1ac8c04604fe8ba119cdcdaeb1e22ae962de40e3)
- Breaking change: Remove deprecated syntax APIs (https://github.com/protocolbuffers/protobuf/commit/715b543e0416006ae17dfd409fe41a070e3cc49c)
- Fix DurationToMilliseconds mult overflow (https://github.com/protocolbuffers/protobuf/commit/17b8dd6476cf663517393fd866e888af2494bdb2)
- Breaking change: Remove deprecated SupportsUnknownEnumValues method (https://github.com/protocolbuffers/protobuf/commit/0a6a51655f3f6af554766d88b6d717e31af34b01)
- Have Arena::Create support arena constructible types (https://github.com/protocolbuffers/protobuf/commit/578e07e9bd19b4ae959c57bbe4c1524d5642b58e)
- Enforce stricter version checks for Protobuf C++ by removing the notion of "minimal version of protoc/headers"; exact version match is required. (https://github.com/protocolbuffers/protobuf/commit/6eed7a2f53bf29e615e6c34ecb7c98ea8eab4d1c)
- Compare explicit zeroes from prototext in partially. (https://github.com/protocolbuffers/protobuf/commit/8c2416311f7b2c5410e620197baacf9d82b86ebd)
- Move the declarations in SerialArena to more closely match the style guide. (https://github.com/protocolbuffers/protobuf/commit/349122f777a3d6029e9a189729720b0842072a71)
Java
- Resolve features directly in setProto instead of temporarily setting to null. (https://github.com/protocolbuffers/protobuf/commit/aea0e52ec2b5ecab632299eedde77894b75d5495)
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/fc41e78d7a5ead031f23ba2e1dcf35fdf941751a)
- Add a new 'includingDefaultValueWithoutPresenceFields' option to the Java parser which is intended to replace the current 'includingDefaultValueFields'. (https://github.com/protocolbuffers/protobuf/commit/043191b84d6061ed923d1c227ef38030f18fe619)
- Force descriptor initialization of dependencies before internalUpdateFileDescriptor(). (#15718) (https://github.com/protocolbuffers/protobuf/commit/4dec1a7d410c9380fb0bbb177666764af4bddda2)
- Correctly set maven-compiler-plugin to >= Java 1.8 per our minimum Java version (#15707) (https://github.com/protocolbuffers/protobuf/commit/6028cdba533994ee23cc7cf0247e46d561ad379d)
- Update internalUpdateFileDescriptor() to synchronize setProto() and resolveAllFeatures() to avoid data races. (#15659) (https://github.com/protocolbuffers/protobuf/commit/225b08088c54f8c89df284ac538b266109cec4c4)
- Drop Protobuf support for Android KitKat per EOL and add existing minimum Java 1.8 in Maven pom.xmls (https://github.com/protocolbuffers/protobuf/commit/303239d74d07daf49ecdba6e23e41c8fe5a9b41e)
- Breaking change: Remove unused helper methods for creating new mutable arraylists. (https://github.com/protocolbuffers/protobuf/commit/787447430fc9a69c071393e85a380b664d261ab4)
- Breaking change: Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
- Breaking change: Stop generating the "newInstance" method. This is not used anymore. (https://github.com/protocolbuffers/protobuf/commit/c0d08bdcade9d44698015b85c9c23343ca1319b7)
- Breaking change: Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List. (https://github.com/protocolbuffers/protobuf/commit/3b9bd6db71d20832980e579e0b9b03eb39e96a1f)
- Breaking change: Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode. (https://github.com/protocolbuffers/protobuf/commit/9310d2e817a987878b03f8b5215fdbfea766ad23)
- Breaking change: Remove unnecessary overloads of methods: (https://github.com/protocolbuffers/protobuf/commit/94a2a448518403341b8aa71335ab1123fbdcccd8)
- Breaking change: Remove unnecessary generated overrides for GeneratedMessage.Builder methods: (https://github.com/protocolbuffers/protobuf/commit/7bff169d32710b143951ec6ce2c4ea9a56e2ad24)
- Breaking change: The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
- Breaking change: Remove deprecated runtime methods for compatibility with old v2.x.x gencode. (https://github.com/protocolbuffers/protobuf/commit/e555bd23d077216ea40006c45eeaaa5aa385d921)
- Breaking change: Remove deprecated TextFormat print methods. These should be replaced by corresponding TextFormat.printer() methods. (https://github.com/protocolbuffers/protobuf/commit/dfb8a4c3f75910d37095a990706c0ae2c2e26b0f)
- Support pretty printing proto2 Extensions inside of proto3 Anys in TextFormat.Printer. (https://github.com/protocolbuffers/protobuf/commit/c8e01607aec4c09f510aa7e0d5df6a204e74189e)
- Breaking change: Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
- Enable Protobuf version validations in Protobuf Java Full. (https://github.com/protocolbuffers/protobuf/commit/a2f92689dac8a7dbea584919c7de52d6a28d66d1)
- Breaking change: Make deprecated Java gencode PARSER variable private. (https://github.com/protocolbuffers/protobuf/commit/b4858b255bcf24d05789ce23c297e33524dd37fe)
- Add Automatic-Module-Name (#14562) (https://github.com/protocolbuffers/protobuf/commit/d580fde63aa8ea5c6f4619396e68aaf017fc9d61)
- Use Editions features in Java, Kotlin, and Java Lite code generators. (https://github.com/protocolbuffers/protobuf/commit/90e1b49f0f838a3bedb0d485a7f323e468730eb7)
Kotlin
- Breaking change: Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
- Breaking change: The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
- Use Editions features in Java, Kotlin, and Java Lite code generators. (https://github.com/protocolbuffers/protobuf/commit/90e1b49f0f838a3bedb0d485a7f323e468730eb7)
Objective-C
- [ObjC] Use a local to avoid warnings in 32bit builds. (#15665) (https://github.com/protocolbuffers/protobuf/commit/394aec87f47f449673c7b32246338b68ac2215fa)
- [ObjC] Add the privacy manifest to the ObjC CocoaPod. (#15663) (https://github.com/protocolbuffers/protobuf/commit/935fcb7c6d8c9932081f358c2c2561e9f71e312a)
- Improve handing of the WKT ObjC Category additions. (https://github.com/protocolbuffers/protobuf/commit/b146d14e31e5488978517396406f9afe2664f0b0)
- Add a
unpackhelper for GPBAny with extension support. (https://github.com/protocolbuffers/protobuf/commit/29fca8a64b62491fb0a2ce61878e70eda88dde98)
Rust
- Tweak BUILD setup to make the layering check change less disruptive (#15838) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721)
Python
- Adhere to PEP 8 (#15127) (#15729) (https://github.com/protocolbuffers/protobuf/commit/3b92f4fe38ec98f081a45dc4a6e7583ecbfa4aaf)
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/fc41e78d7a5ead031f23ba2e1dcf35fdf941751a)
- Add new including_default_value_without_presence_fields to Python JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/c530216544611bad1d5a4be48412c81a5a41d9a7)
- Breaking change: Removed obsolete/duplicate
setup.pyfrom Python. (#15708) (https://github.com/protocolbuffers/protobuf/commit/5722aeffcad72e9a335a3ec7985858dfa31477be) - Fixed a bug when deep copying a map field with a closed enum value. (https://github.com/protocolbuffers/protobuf/commit/ca5ca62fa60a52bae31f3828e5135cbf034237ae)
- Breaking change: Made text_format output default to UTF-8. (https://github.com/protocolbuffers/protobuf/commit/bf00034493381f6ae2b49f04e101b3251bb099c9)
- Fixed a SEGV when deep copying a non-reified sub-message. (https://github.com/protocolbuffers/protobuf/commit/b9e4894462fab2e35da987a44fbe464b4c1d0140)
- Make
str(msg)in Python print raw UTF-8 strings. Only invalid UTF-8 is escaped. (https://github.com/protocolbuffers/protobuf/commit/f2a91b33e1d7ccae295a966c932551096881c16a) - Breaking change: Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/4ebba684c791416a9131dd01d4c5175a2beb3566)
- Breaking change: Reject extend repeated field with none iterable (Raise TypeError) (https://github.com/protocolbuffers/protobuf/commit/1658213ba84a641531948aa9cdc3b53bebf20190)
- Breaking change: Remove Deprecated APIs that add non top descriptor. (https://github.com/protocolbuffers/protobuf/commit/c51f1110224910015ed90d7d6fb27ff24243baa8)
- Breaking change: Check if Timestamp is valid. (https://github.com/protocolbuffers/protobuf/commit/4f77929203cbf33ae3a710f7370794e36912acbc)
- [Python/upb] Fixed SEGV when attempting to delete a message attribute (https://github.com/protocolbuffers/protobuf/commit/de52944f389c85943f35049cc9cdf9ea0a3ca380)
- Breaking change: Remove msg.UnknownFields() support in pure python and cpp extension. (https://github.com/protocolbuffers/protobuf/commit/0eac77c2c6389bd7f3fb21fa43ed13108ab0600f)
- Breaking change: Remove deprecated syntax accessor. (https://github.com/protocolbuffers/protobuf/commit/fd40c87befa92c1b944ae5fbd42bafe41003ad4e)
- Fixed a bug where FileDescriptor maps like
message_types_by_namecould return descriptors from other files. (https://github.com/protocolbuffers/protobuf/commit/c05b320d9c18173bfce36c4bef22f9953d340ff9) - Mark the python generator for editions support. (https://github.com/protocolbuffers/protobuf/commit/b01bd1ba17e85a3922e475f89ccc2fb89ba153a3)
- Add support and partial CI coverage for Python 3.12 (https://github.com/protocolbuffers/protobuf/commit/24fef03259d65987e5df14b06952b6e6bdac88d0)
- Implement Editions in Pure Python. (https://github.com/protocolbuffers/protobuf/commit/15eccf3ec4636cab20a16b7570d3967d79ecfa95)
- Properly untrack Python GC objects during deallocation. (https://github.com/protocolbuffers/protobuf/commit/e32d0948e7b2799037be0e4364816249119acc3f)
- Raise warnings for python syntax usages (https://github.com/protocolbuffers/protobuf/commit/c508a40f40c0b4f1e562ef917cd5606d66d9601c)
- Fixed Python memory leak in map lookup. (https://github.com/protocolbuffers/protobuf/commit/b0eeb356b84fb7e8773c9a0dd76b354ae2e3f218)
- Fix handling of Unicode escapes in string data in textproto files. (https://github.com/protocolbuffers/protobuf/commit/62a435c1ab81ea65850f1b1fb58f7b3c6f498cef)
PHP
- Don't break the trace (#11311) (#15727) (https://github.com/protocolbuffers/protobuf/commit/3e9902408fecc9a05028d864ee62439360736e94)
- Fix inconsistent timestamp json encode/decode (#12396) (#15726) (https://github.com/protocolbuffers/protobuf/commit/e99f27ec0691aa3a277cb34125600498617216c7)
- Breaking change: Remove deprecated legacy class aliases. (#15709) (https://github.com/protocolbuffers/protobuf/commit/096e127d02ca4f49220f46a42feacf0b1e1bb18f)
- Raise minimum PHP version to 8.1, due to PHP 8.0 EOL per https://cloud.google.com/php/getting-started/supported-php-versions (https://github.com/protocolbuffers/protobuf/commit/3c8a3d27f7c035e977e2eb5226e4154f129a573b)
- Breaking change: Validate UTF-8 in string setters, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
- Breaking change: Remove support for PHP generic services (https://github.com/protocolbuffers/protobuf/commit/40ad3fac603ba3c96e52a1266cd785a7adb8e3e4)
- Expand PHP generator to support overlapping subset of proto2. (https://github.com/protocolbuffers/protobuf/commit/b603fb69bf0c1aef24dfe5470c9d4ae99b9031b1)
- Feat: better debug info for PHP messages and repeated fields (#12718) (https://github.com/protocolbuffers/protobuf/commit/59d5006d6073602675c9d9f418353a566a085658)
PHP C-Extension
- Updated amalgamations for PHP and Ruby. (https://github.com/protocolbuffers/protobuf/commit/c773dc9f640b12ade7de2ce89dc6bc712071ecf9)
- Breaking change: Validate UTF-8 in string setters, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
- Optimized binary/JSON parsing to no longer copy input data into a temp buffer. (https://github.com/protocolbuffers/protobuf/commit/588d5aa0dbee01c6caf51add7c7ed74edbe0c794)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Ruby implement memsize functions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
- Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/9087337e5103d058887c691913b08182ea8da899)
- Increased the size of the error message buffer by 4x, to 511 bytes. (#15728) (https://github.com/protocolbuffers/protobuf/commit/ab6bcba754c7c5d57d7b627a83614b77b64a7cf9)
- Move the RubyMessage.java JSON "include defaults" to use alwaysPrintFieldsWithNoPresence. (https://github.com/protocolbuffers/protobuf/commit/b5beba3aa15f76967c00c3b2c90b58abd51123bb)
- Breaking change: Removed
syntaxand addedhas_presence?/is_packed?. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f) - Breaking change: Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
- Breaking change: Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
- Breaking change: Fixed inconsistencies in
Message#to_h, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc) - Breaking change: Dropped support for Ruby DSL, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/5cfc9e775d76acb37e5b554e53dff336a89d000f)
- In Ruby repeated fields, each_index actually iterates over the index (#11767) (https://github.com/protocolbuffers/protobuf/commit/f869cfa479c293ecd55c2f8ccbf981cd3bb41ecf)
- Breaking change: Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
- Make rules_ruby a dev-only dependency. (https://github.com/protocolbuffers/protobuf/commit/571b727cb66ad51f89fbef565d3a6c123366a1f5)
- Add support for extensions in CRuby, JRuby, and FFI Ruby (#14703) (https://github.com/protocolbuffers/protobuf/commit/42f8b7782ed539d56d0f0e13da4e85603553e828)
- Add support for options in CRuby, JRuby and FFI (#14594) (https://github.com/protocolbuffers/protobuf/commit/ae1f2b7e1b329aba1d204e6d3ddc61a88bc35dd9)
Ruby C-Extension
- Updated amalgamations for PHP and Ruby. (https://github.com/protocolbuffers/protobuf/commit/c773dc9f640b12ade7de2ce89dc6bc712071ecf9)
- Ruby implement memsize functions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
- Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/9087337e5103d058887c691913b08182ea8da899)
- Breaking change: Removed
syntaxand addedhas_presence?/is_packed?. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f) - Breaking change: Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
- Breaking change: Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
- Breaking change: Fixed inconsistencies in
Message#to_h, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc) - Upb: fix Ruby bug which allowed map.delete(key) on a frozen map (https://github.com/protocolbuffers/protobuf/commit/df57e5474bf3ce211329e55993cb991a7ce1c5e0)
- Add support for extensions in CRuby, JRuby, and FFI Ruby (#14703) (https://github.com/protocolbuffers/protobuf/commit/42f8b7782ed539d56d0f0e13da4e85603553e828)
- Add support for options in CRuby, JRuby and FFI (#14594) (https://github.com/protocolbuffers/protobuf/commit/ae1f2b7e1b329aba1d204e6d3ddc61a88bc35dd9)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Ruby implement memsize functions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
- Increased the size of the error message buffer by 4x, to 511 bytes. (#15728) (https://github.com/protocolbuffers/protobuf/commit/ab6bcba754c7c5d57d7b627a83614b77b64a7cf9)
- Wrap C++ headers in
#ifdef __cplusplus. (https://github.com/protocolbuffers/protobuf/commit/fc2d9da9c06d7469aabba5e49037950e1d9323c9) - Add kUpb_DecodeOption_AlwaysValidateUtf8 decode option, to force UTF-8 validation of proto2 strings. (https://github.com/protocolbuffers/protobuf/commit/d4dfb9c4a67e24afa0465735a84a381d0833211d)
- Fixed non-conformance in upb JSON enum decoding when ignoring unknown enum values. (https://github.com/protocolbuffers/protobuf/commit/c16ac66e8581b55471eff9860b02e3d32cae7a79)
- Fix upb's json decoder ignoring trailing characters after a successfully parsed object. (https://github.com/protocolbuffers/protobuf/commit/fa15c2160eaeb8d11ed71ba956da0c27d268ec6d)
- Fix upb_MiniTable_GetOneof(miniTable, field) to work correctly if
fieldis the very first field in the proto. (https://github.com/protocolbuffers/protobuf/commit/e6ea44c9119b0f5976ea7b335395753833fc382d) - Enabled editions support for upb generated code. (https://github.com/protocolbuffers/protobuf/commit/cf3a6f5868222d31021e3835e5e7890a847f3d01)
- Upb: stop generating hazzers for repeated fields (https://github.com/protocolbuffers/protobuf/commit/fa62c920716804a576ce388e6894fa15209df41a)
Other
- Add back error message unconditionally (https://github.com/protocolbuffers/protobuf/commit/64ad139c83aa54028d46f815850b58c542c5e26d)
- Actually fail if staleness fail (https://github.com/protocolbuffers/protobuf/commit/108bec33cda5b8ce080ff88854bf15866f2fca68)
- Disabled macOS 8.2, to match main. (https://github.com/protocolbuffers/protobuf/commit/9dfa2b6d0a452abb85abaaf949400c965f8f3b0c)
- Add PrivacyInfo.xcprivacy (#15557) (#15661) (https://github.com/protocolbuffers/protobuf/commit/5a5ec6ced8de00306e5ab9773874b5192166811f)
- Extend Proto2 JSON test cases to cover more of the preexisting Proto3 JSON cases. (https://github.com/protocolbuffers/protobuf/commit/42ecd61b3e15430bb393b467bb39520025efdc63)
- Include JSON output tests with Proto2 messages in the conformance test suite. (https://github.com/protocolbuffers/protobuf/commit/255f95e5b19c142ece319cc35c1b3808ec0e259f)
- Make the utf8_range implementation just in C (https://github.com/protocolbuffers/protobuf/commit/9c7d2b9d83e0ad4e8ffeb8535d8c0a31a0a6a0b8)
- Open-source editions Bazel rules for embedding defaults. (https://github.com/protocolbuffers/protobuf/commit/898d8fa1fd6ff07149b283b3bbff00a6a3d8c52b)
- Enable conformance tests over editions protos (https://github.com/protocolbuffers/protobuf/commit/a2ba8bc78e49b8b9053654030f5254fc38a7da93)
- Move utf8_range into the protobuf repo (https://github.com/protocolbuffers/protobuf/commit/5ca84008fcc400276124b14a08a8c32e9b37b2bd)
- C++
Published by sbenzaquen almost 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v26.0-rc3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Remove rust proto libraries from the editions/BUILD file. (https://github.com/protocolbuffers/protobuf/commit/1f9d9fbe14b78857adab835e8d0dc9c703088078)
- Fix CMake regex escaping. (https://github.com/protocolbuffers/protobuf/commit/3ad69cf8b07ebcd54e76ee5360586a41b4f9d627)
- Escape _from_dir in install.cmake for regex special characters (e.g. c++) before REGEX REPLACE. (https://github.com/protocolbuffers/protobuf/commit/f740f528fa08f9d126650d92472a921e53a95a73)
- Tweak BUILD setup to make the layering check change less disruptive (#15838) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721)
- Add missing alias targets for C++ util libraries (#15783) (https://github.com/protocolbuffers/protobuf/commit/62e7a56f50d88fdd0ebcb0430103120d60bd9863)
Rust
- Tweak BUILD setup to make the layering check change less disruptive (#15838) (https://github.com/protocolbuffers/protobuf/commit/52aa1506e9b0183bf1dbb1506967a152ffba8721)
PHP
PHP C-Extension
- Updated amalgamations for PHP and Ruby. (https://github.com/protocolbuffers/protobuf/commit/c773dc9f640b12ade7de2ce89dc6bc712071ecf9)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Ruby implement memsize functions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
- Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/9087337e5103d058887c691913b08182ea8da899)
Ruby C-Extension
- Updated amalgamations for PHP and Ruby. (https://github.com/protocolbuffers/protobuf/commit/c773dc9f640b12ade7de2ce89dc6bc712071ecf9)
- Ruby implement memsize functions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
- Moved ObjectCache into an internal module. (https://github.com/protocolbuffers/protobuf/commit/9087337e5103d058887c691913b08182ea8da899)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Ruby implement memsize functions for native types (#10291) (https://github.com/protocolbuffers/protobuf/commit/4902fc08c82d79fe55f9e8626697780b1f6e6c1a)
Other
- Disabled macOS 8.2, to match main. (https://github.com/protocolbuffers/protobuf/commit/9dfa2b6d0a452abb85abaaf949400c965f8f3b0c)
- C++
Published by anandolee about 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Apple Privacy Manifest Requirement
- [CPP] Add the privacy manifest to the C++ CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/9d1bc1041be5fefa82e8c9823e79c263f6d8b2ac)
- [ObjC] Add the privacy manifest to the ObjC CocoaPod. (https://github.com/protocolbuffers/protobuf/commit/cec08dc615df059d1a93fe03c4e617bba679fa69)
- Add PrivacyInfo.xcprivacy (#15557) (https://github.com/protocolbuffers/protobuf/commit/cf87faa29b57a304a0cfe5af4e9b7a5c659c62b4)
C++
- Remove use of mach_absolute_time (#15554) (https://github.com/protocolbuffers/protobuf/commit/76d05d4cb9200c371c8894df21f37ba4060bdc8a)
Objective-C
- [ObjC] Use a local to avoid warnings in 32bit builds. (https://github.com/protocolbuffers/protobuf/commit/9dc736d924f6839073028a4d806a3b85f01000cf)
Python
- Bump python version to 3.9 for gcloud 460.0.0 (https://github.com/protocolbuffers/protobuf/commit/17ec19db930216d59eb8efdb0bbf6d1f5355f147)
Ruby
- Update Ruby GHA to test against Ruby 3.3. (https://github.com/protocolbuffers/protobuf/commit/25b1e8112079e6d463196fc137cc8d1925205426)
- Pin bundler version to 2.4.22 for Ruby 2.7 support. (https://github.com/protocolbuffers/protobuf/commit/80b4586fb42cc86c0eab9d5d8c823c0b963eee7e)
- C++
Published by googleberg about 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v26.0-rc2
Announcements
- This version includes breaking changes to: C++, Java, PHP, Python.
- [PHP] Remove deprecated legacy class aliases. (#15709) (https://github.com/protocolbuffers/protobuf/commit/096e127d02ca4f49220f46a42feacf0b1e1bb18f)
- [Java] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- [Python] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- [Python] Removed obsolete/duplicate
setup.pyfrom Python. (#15708) (https://github.com/protocolbuffers/protobuf/commit/5722aeffcad72e9a335a3ec7985858dfa31477be) - [C++] Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/fc41e78d7a5ead031f23ba2e1dcf35fdf941751a)
- Add new 'always_print_without_presence_fields' option to the C++ JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/1f3bf1d31ed4b45ff1ac463941784b9dcba15bc8)
- Remove use of mach_absolute_time (#15554) (#15662) (https://github.com/protocolbuffers/protobuf/commit/8b0f6fdcca7c0344358d415d12548196032e5279)
- Check ctype() in DescriptorBuilder for edition 2023 and beyond. (https://github.com/protocolbuffers/protobuf/commit/0090f195f007cd48f7040746983a7a0905d914d1)
- Fail building descriptors if
ctypeis used for fields other than string or bytes. (https://github.com/protocolbuffers/protobuf/commit/624d65da6aa8bb28421310ba1ae53183fd7066bb) - [CPP] Add the privacy manifest to the C++ CocoaPod. (#15664) (https://github.com/protocolbuffers/protobuf/commit/e7888a1068ddcfd0c91fef4dec76c8cea2befe9a)
Java
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/fc41e78d7a5ead031f23ba2e1dcf35fdf941751a)
- Add a new 'includingDefaultValueWithoutPresenceFields' option to the Java parser which is intended to replace the current 'includingDefaultValueFields'. (https://github.com/protocolbuffers/protobuf/commit/043191b84d6061ed923d1c227ef38030f18fe619)
- Force descriptor initialization of dependencies before internalUpdateFileDescriptor(). (#15718) (https://github.com/protocolbuffers/protobuf/commit/4dec1a7d410c9380fb0bbb177666764af4bddda2)
- Correctly set maven-compiler-plugin to >= Java 1.8 per our minimum Java version (#15707) (https://github.com/protocolbuffers/protobuf/commit/6028cdba533994ee23cc7cf0247e46d561ad379d)
- Update internalUpdateFileDescriptor() to synchronize setProto() and resolveAllFeatures() to avoid data races. (#15659) (https://github.com/protocolbuffers/protobuf/commit/225b08088c54f8c89df284ac538b266109cec4c4)
Objective-C
- [ObjC] Use a local to avoid warnings in 32bit builds. (#15665) (https://github.com/protocolbuffers/protobuf/commit/394aec87f47f449673c7b32246338b68ac2215fa)
- [ObjC] Add the privacy manifest to the ObjC CocoaPod. (#15663) (https://github.com/protocolbuffers/protobuf/commit/935fcb7c6d8c9932081f358c2c2561e9f71e312a)
Python
- Adhere to PEP 8 (#15127) (#15729) (https://github.com/protocolbuffers/protobuf/commit/3b92f4fe38ec98f081a45dc4a6e7583ecbfa4aaf)
- Breaking change: Remove the deprecated always_print_primitive_fields option from Java, Python and C++ JSON parsers. (https://github.com/protocolbuffers/protobuf/commit/06e7caba58ede0220b110b89d08f329e5f8a7537)
- Rename the 'includingDefaultValueWithoutPresenceFields' and 'always_print_without_presence_fields' to 'alwaysPrintFieldsWithNoPresence' in the Cpp, Py and Java JSON serializers for consistency. (https://github.com/protocolbuffers/protobuf/commit/fc41e78d7a5ead031f23ba2e1dcf35fdf941751a)
- Add new including_default_value_without_presence_fields to Python JSON serializer. (https://github.com/protocolbuffers/protobuf/commit/c530216544611bad1d5a4be48412c81a5a41d9a7)
- Breaking change: Removed obsolete/duplicate
setup.pyfrom Python. (#15708) (https://github.com/protocolbuffers/protobuf/commit/5722aeffcad72e9a335a3ec7985858dfa31477be)
PHP
- Don't break the trace (#11311) (#15727) (https://github.com/protocolbuffers/protobuf/commit/3e9902408fecc9a05028d864ee62439360736e94)
- Fix inconsistent timestamp json encode/decode (#12396) (#15726) (https://github.com/protocolbuffers/protobuf/commit/e99f27ec0691aa3a277cb34125600498617216c7)
- Breaking change: Remove deprecated legacy class aliases. (#15709) (https://github.com/protocolbuffers/protobuf/commit/096e127d02ca4f49220f46a42feacf0b1e1bb18f)
Ruby
- Increased the size of the error message buffer by 4x, to 511 bytes. (#15728) (https://github.com/protocolbuffers/protobuf/commit/ab6bcba754c7c5d57d7b627a83614b77b64a7cf9)
- Move the RubyMessage.java JSON "include defaults" to use alwaysPrintFieldsWithNoPresence. (https://github.com/protocolbuffers/protobuf/commit/b5beba3aa15f76967c00c3b2c90b58abd51123bb)
UPB (Python/PHP/Ruby C-Extension)
- Increased the size of the error message buffer by 4x, to 511 bytes. (#15728) (https://github.com/protocolbuffers/protobuf/commit/ab6bcba754c7c5d57d7b627a83614b77b64a7cf9)
Other
- Add PrivacyInfo.xcprivacy (#15557) (#15661) (https://github.com/protocolbuffers/protobuf/commit/5a5ec6ced8de00306e5ab9773874b5192166811f)
- C++
Published by zhangskz about 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v26.0-rc1
Announcements
- This version includes breaking changes to: C++, Java, PHP, Python, Ruby.
- [C++] Make protobuf comply with the C++ layering check (https://github.com/protocolbuffers/protobuf/commit/a7b0421c78412baa48704d727601a17ac0f451d1)
- [C++] Remove const GetArena method on RepeatedPtrField (https://github.com/protocolbuffers/protobuf/commit/748ab1608a33dd3d28070d6df54c8956aa893985)
- [C++] Disallow incorrect ctype usage (https://github.com/protocolbuffers/protobuf/commit/755b690a7c31d92103343f20ba32d752495e60a3)
- [C++] Remove deprecated std::string error collector overrides (https://github.com/protocolbuffers/protobuf/commit/543fbcdbd9496de9d93a6eb4645640cb47a5514b)
- [C++] Promote ExtensionRange to a proper class (https://github.com/protocolbuffers/protobuf/commit/5b12bc858f1f0e02477ac3e3e3fea5bc88f1bdc3)
- [C++] Remove deprecated clear APIs on repeated fields (https://github.com/protocolbuffers/protobuf/commit/229906f3091742e05e51445a66164025b0244409)
- [C++] Remove C++ legacy syntax descriptor APIs (https://github.com/protocolbuffers/protobuf/commit/cf2d6965dcb6e15490232041da8b7b6c8ec669eb)
- [C++] Remove deprecated syntax APIs (https://github.com/protocolbuffers/protobuf/commit/715b543e0416006ae17dfd409fe41a070e3cc49c)
- [C++] Remove deprecated SupportsUnknownEnumValues method (https://github.com/protocolbuffers/protobuf/commit/0a6a51655f3f6af554766d88b6d717e31af34b01)
- [Java] Remove unused helper methods for creating new mutable arraylists. (https://github.com/protocolbuffers/protobuf/commit/787447430fc9a69c071393e85a380b664d261ab4)
- [Java] Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
- [Java] Stop generating the "newInstance" method. This is not used anymore. (https://github.com/protocolbuffers/protobuf/commit/c0d08bdcade9d44698015b85c9c23343ca1319b7)
- [Java] Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List. (https://github.com/protocolbuffers/protobuf/commit/3b9bd6db71d20832980e579e0b9b03eb39e96a1f)
- [Java] Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode. (https://github.com/protocolbuffers/protobuf/commit/9310d2e817a987878b03f8b5215fdbfea766ad23)
- [Java] Remove unnecessary overloads of methods: (https://github.com/protocolbuffers/protobuf/commit/94a2a448518403341b8aa71335ab1123fbdcccd8)
- [Java] Remove unnecessary generated overrides for GeneratedMessage.Builder methods: (https://github.com/protocolbuffers/protobuf/commit/7bff169d32710b143951ec6ce2c4ea9a56e2ad24)
- [Java] The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
(https://github.com/protocolbuffers/protobuf/commit/5df0387224e8e3b7c04f48c6f25a8ec1fc957a10) - [Java] Remove deprecated runtime methods for compatibility with old v2.x.x gencode. (https://github.com/protocolbuffers/protobuf/commit/e555bd23d077216ea40006c45eeaaa5aa385d921)
- [Java] Remove deprecated TextFormat print methods. These should be replaced by corresponding TextFormat.printer() methods. (https://github.com/protocolbuffers/protobuf/commit/dfb8a4c3f75910d37095a990706c0ae2c2e26b0f)
- [Java] Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
- [Java] Make deprecated Java gencode PARSER variable private. (https://github.com/protocolbuffers/protobuf/commit/b4858b255bcf24d05789ce23c297e33524dd37fe)
- [PHP] Validate UTF-8 in string setters, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
- [PHP] Remove support for PHP generic services (https://github.com/protocolbuffers/protobuf/commit/40ad3fac603ba3c96e52a1266cd785a7adb8e3e4)
- [Python] Made text_format output default to UTF-8. (https://github.com/protocolbuffers/protobuf/commit/bf00034493381f6ae2b49f04e101b3251bb099c9)
- [Python] Remove deprecated syntax accessor. (https://github.com/protocolbuffers/protobuf/commit/fd40c87befa92c1b944ae5fbd42bafe41003ad4e)
- [Python] Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/4ebba684c791416a9131dd01d4c5175a2beb3566)
- [Python] Reject extend repeated field with none iterable (Raise TypeError) (https://github.com/protocolbuffers/protobuf/commit/1658213ba84a641531948aa9cdc3b53bebf20190)
- [Python] Remove Deprecated APIs that add non top descriptor. (https://github.com/protocolbuffers/protobuf/commit/c51f1110224910015ed90d7d6fb27ff24243baa8)
- [Python] check if Timestamp is valid. (https://github.com/protocolbuffers/protobuf/commit/4f77929203cbf33ae3a710f7370794e36912acbc)
- [Python] Remove msg.UnknownFields() support in pure python and cpp extension. (https://github.com/protocolbuffers/protobuf/commit/0eac77c2c6389bd7f3fb21fa43ed13108ab0600f)
- [Ruby] Removed
syntaxand addedhas_presence?/is_packed?. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f) - [Ruby] Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
- [Ruby] Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
- [Ruby] Fixed inconsistencies in
Message#to_h, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc) - [Ruby] Dropped support for Ruby DSL, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/5cfc9e775d76acb37e5b554e53dff336a89d000f)
- [Ruby] Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
- [Ruby] Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Fix getting env variables on windows (#15518) (https://github.com/protocolbuffers/protobuf/commit/71b0b4e0a9f2d9080f167c03dcafbd8b1823fb76)
- Proper fix utf8 command line arguments (#14253) (https://github.com/protocolbuffers/protobuf/commit/1eff9d74519c7d21592dddc3c3665993bb0f117f)
- Allocate an editions FeatureSet extension for https://github.com/bufbuild/protobuf-es (https://github.com/protocolbuffers/protobuf/commit/fedd34df47ad442e1cc41b1a828955f384a0c9e2)
- Make rules_ruby a dev-only dependency. (https://github.com/protocolbuffers/protobuf/commit/571b727cb66ad51f89fbef565d3a6c123366a1f5)
C++
- Correct type_resolver_util to set syntax=proto3 instead of syntax=proto2 on proto3 files. (https://github.com/protocolbuffers/protobuf/commit/040dde7e37ccb36cd4243292f12116ef242eb3f1)
- Remove edition getter from C++ descriptor APIs (https://github.com/protocolbuffers/protobuf/commit/93b219f4e84d83415ad7b77f5bc0ae2df5490fea)
- Breaking change: Remove const GetArena method on RepeatedPtrField (https://github.com/protocolbuffers/protobuf/commit/748ab1608a33dd3d28070d6df54c8956aa893985)
- Breaking change: Disallow incorrect ctype usage (https://github.com/protocolbuffers/protobuf/commit/755b690a7c31d92103343f20ba32d752495e60a3)
- Breaking change: Remove deprecated std::string error collector overrides (https://github.com/protocolbuffers/protobuf/commit/543fbcdbd9496de9d93a6eb4645640cb47a5514b)
- Breaking change: Promote ExtensionRange to a proper class (https://github.com/protocolbuffers/protobuf/commit/5b12bc858f1f0e02477ac3e3e3fea5bc88f1bdc3)
- Breaking change: Remove deprecated clear APIs on repeated fields (https://github.com/protocolbuffers/protobuf/commit/229906f3091742e05e51445a66164025b0244409)
- Breaking change: Remove C++ legacy syntax descriptor APIs (https://github.com/protocolbuffers/protobuf/commit/cf2d6965dcb6e15490232041da8b7b6c8ec669eb)
- Fixed UTF-8 TextFormat output to protect against invalid UTF-8 in string fields. (https://github.com/protocolbuffers/protobuf/commit/1ac8c04604fe8ba119cdcdaeb1e22ae962de40e3)
- Breaking change: Remove deprecated syntax APIs (https://github.com/protocolbuffers/protobuf/commit/715b543e0416006ae17dfd409fe41a070e3cc49c)
- Fix DurationToMilliseconds mult overflow (https://github.com/protocolbuffers/protobuf/commit/17b8dd6476cf663517393fd866e888af2494bdb2)
- Breaking change: Remove deprecated SupportsUnknownEnumValues method (https://github.com/protocolbuffers/protobuf/commit/0a6a51655f3f6af554766d88b6d717e31af34b01)
- Have Arena::Create support arena constructible types (https://github.com/protocolbuffers/protobuf/commit/578e07e9bd19b4ae959c57bbe4c1524d5642b58e)
- Enforce stricter version checks for Protobuf C++ by removing the notion of "minimal version of protoc/headers"; exact version match is required. (https://github.com/protocolbuffers/protobuf/commit/6eed7a2f53bf29e615e6c34ecb7c98ea8eab4d1c)
- Compare explicit zeroes from prototext in partially. (https://github.com/protocolbuffers/protobuf/commit/8c2416311f7b2c5410e620197baacf9d82b86ebd)
- Move the declarations in SerialArena to more closely match the style guide. (https://github.com/protocolbuffers/protobuf/commit/349122f777a3d6029e9a189729720b0842072a71)
Java
- Drop Protobuf support for Android KitKat per EOL and add existing minimum Java 1.8 in Maven pom.xmls (https://github.com/protocolbuffers/protobuf/commit/303239d74d07daf49ecdba6e23e41c8fe5a9b41e)
- Breaking change: Remove unused helper methods for creating new mutable arraylists. (https://github.com/protocolbuffers/protobuf/commit/787447430fc9a69c071393e85a380b664d261ab4)
- Breaking change: Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
- Breaking change: Stop generating the "newInstance" method. This is not used anymore. (https://github.com/protocolbuffers/protobuf/commit/c0d08bdcade9d44698015b85c9c23343ca1319b7)
- Breaking change: Remove unused overload of AbstractMessageLite.addAll that worked on a Collection instead of a List. (https://github.com/protocolbuffers/protobuf/commit/3b9bd6db71d20832980e579e0b9b03eb39e96a1f)
- Breaking change: Remove obsolete runtime internalBuildGeneratedFileFrom which was for backwards compatibility with old gencode. (https://github.com/protocolbuffers/protobuf/commit/9310d2e817a987878b03f8b5215fdbfea766ad23)
- Breaking change: Remove unnecessary overloads of methods: (https://github.com/protocolbuffers/protobuf/commit/94a2a448518403341b8aa71335ab1123fbdcccd8)
- Breaking change: Remove unnecessary generated overrides for GeneratedMessage.Builder methods: (https://github.com/protocolbuffers/protobuf/commit/7bff169d32710b143951ec6ce2c4ea9a56e2ad24)
- Breaking change: The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
(https://github.com/protocolbuffers/protobuf/commit/5df0387224e8e3b7c04f48c6f25a8ec1fc957a10) - Breaking change: Remove deprecated runtime methods for compatibility with old v2.x.x gencode. (https://github.com/protocolbuffers/protobuf/commit/e555bd23d077216ea40006c45eeaaa5aa385d921)
- Breaking change: Remove deprecated TextFormat print methods. These should be replaced by corresponding TextFormat.printer() methods. (https://github.com/protocolbuffers/protobuf/commit/dfb8a4c3f75910d37095a990706c0ae2c2e26b0f)
- Support pretty printing proto2 Extensions inside of proto3 Anys in TextFormat.Printer. (https://github.com/protocolbuffers/protobuf/commit/c8e01607aec4c09f510aa7e0d5df6a204e74189e)
- Breaking change: Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
- Enable Protobuf version validations in Protobuf Java Full. (https://github.com/protocolbuffers/protobuf/commit/a2f92689dac8a7dbea584919c7de52d6a28d66d1)
- Breaking change: Make deprecated Java gencode PARSER variable private. (https://github.com/protocolbuffers/protobuf/commit/b4858b255bcf24d05789ce23c297e33524dd37fe)
- Add Automatic-Module-Name (#14562) (https://github.com/protocolbuffers/protobuf/commit/d580fde63aa8ea5c6f4619396e68aaf017fc9d61)
- Use Editions features in Java, Kotlin, and Java Lite code generators. (https://github.com/protocolbuffers/protobuf/commit/90e1b49f0f838a3bedb0d485a7f323e468730eb7)
Kotlin
- Breaking change: Use Editions features in Java full runtimes. (https://github.com/protocolbuffers/protobuf/commit/65c65c2d04b293225db150029d005056a9f078b8)
- Breaking change: The base class for generated messages will be GeneratedMessage, not GeneratedMessageV3.
(https://github.com/protocolbuffers/protobuf/commit/5df0387224e8e3b7c04f48c6f25a8ec1fc957a10) - Use Editions features in Java, Kotlin, and Java Lite code generators. (https://github.com/protocolbuffers/protobuf/commit/90e1b49f0f838a3bedb0d485a7f323e468730eb7)
Objective-C
- Improve handing of the WKT ObjC Category additions. (https://github.com/protocolbuffers/protobuf/commit/b146d14e31e5488978517396406f9afe2664f0b0)
- Add a
unpackhelper for GPBAny with extension support. (https://github.com/protocolbuffers/protobuf/commit/29fca8a64b62491fb0a2ce61878e70eda88dde98)
Python
- Fixed a bug when deep copying a map field with a closed enum value. (https://github.com/protocolbuffers/protobuf/commit/ca5ca62fa60a52bae31f3828e5135cbf034237ae)
- Breaking change: Made text_format output default to UTF-8. (https://github.com/protocolbuffers/protobuf/commit/bf00034493381f6ae2b49f04e101b3251bb099c9)
- Fixed a SEGV when deep copying a non-reified sub-message. (https://github.com/protocolbuffers/protobuf/commit/b9e4894462fab2e35da987a44fbe464b4c1d0140)
- Make
str(msg)in Python print raw UTF-8 strings. Only invalid UTF-8 is escaped. (https://github.com/protocolbuffers/protobuf/commit/f2a91b33e1d7ccae295a966c932551096881c16a) - Breaking Change: Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/4ebba684c791416a9131dd01d4c5175a2beb3566)
- Breaking Change: Reject extend repeated field with none iterable (Raise TypeError) (https://github.com/protocolbuffers/protobuf/commit/1658213ba84a641531948aa9cdc3b53bebf20190)
- Breaking Change: Remove Deprecated APIs that add non top descriptor. (https://github.com/protocolbuffers/protobuf/commit/c51f1110224910015ed90d7d6fb27ff24243baa8)
- Breaking Change: Check if Timestamp is valid. (https://github.com/protocolbuffers/protobuf/commit/4f77929203cbf33ae3a710f7370794e36912acbc)
- [Python/upb] Fixed SEGV when attempting to delete a message attribute (https://github.com/protocolbuffers/protobuf/commit/de52944f389c85943f35049cc9cdf9ea0a3ca380)
- Breaking Change: Remove msg.UnknownFields() support in pure python and cpp extension. (https://github.com/protocolbuffers/protobuf/commit/0eac77c2c6389bd7f3fb21fa43ed13108ab0600f)
- Breaking change: Remove deprecated syntax accessor. (https://github.com/protocolbuffers/protobuf/commit/fd40c87befa92c1b944ae5fbd42bafe41003ad4e)
- Fixed a bug where FileDescriptor maps like
message_types_by_namecould return descriptors from other files. (https://github.com/protocolbuffers/protobuf/commit/c05b320d9c18173bfce36c4bef22f9953d340ff9) - Mark the python generator for editions support. (https://github.com/protocolbuffers/protobuf/commit/b01bd1ba17e85a3922e475f89ccc2fb89ba153a3)
- Add support and partial CI coverage for Python 3.12 (https://github.com/protocolbuffers/protobuf/commit/24fef03259d65987e5df14b06952b6e6bdac88d0)
- Implement Editions in Pure Python. (https://github.com/protocolbuffers/protobuf/commit/15eccf3ec4636cab20a16b7570d3967d79ecfa95)
- Properly untrack Python GC objects during deallocation. (https://github.com/protocolbuffers/protobuf/commit/e32d0948e7b2799037be0e4364816249119acc3f)
- Raise warnings for python syntax usages (https://github.com/protocolbuffers/protobuf/commit/c508a40f40c0b4f1e562ef917cd5606d66d9601c)
- Fixed Python memory leak in map lookup. (https://github.com/protocolbuffers/protobuf/commit/b0eeb356b84fb7e8773c9a0dd76b354ae2e3f218)
- Fix handling of Unicode escapes in string data in textproto files. (https://github.com/protocolbuffers/protobuf/commit/62a435c1ab81ea65850f1b1fb58f7b3c6f498cef)
PHP
- Raise minimum PHP version to 8.1, due to PHP 8.0 EOL per https://cloud.google.com/php/getting-started/supported-php-versions (https://github.com/protocolbuffers/protobuf/commit/3c8a3d27f7c035e977e2eb5226e4154f129a573b)
- Breaking change: Validate UTF-8 in string setters, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
- Breaking change: Remove support for PHP generic services (https://github.com/protocolbuffers/protobuf/commit/40ad3fac603ba3c96e52a1266cd785a7adb8e3e4)
- Expand PHP generator to support overlapping subset of proto2. (https://github.com/protocolbuffers/protobuf/commit/b603fb69bf0c1aef24dfe5470c9d4ae99b9031b1)
- Feat: better debug info for PHP messages and repeated fields (#12718) (https://github.com/protocolbuffers/protobuf/commit/59d5006d6073602675c9d9f418353a566a085658)
PHP C-Extension
- Breaking change: Validate UTF-8 in string setters, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/d14dbbc838ad0439c6968f46ac92204557aa31a1)
- Optimized binary/JSON parsing to no longer copy input data into a temp buffer. (https://github.com/protocolbuffers/protobuf/commit/588d5aa0dbee01c6caf51add7c7ed74edbe0c794)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Breaking change: Removed
syntaxand addedhas_presence?/is_packed?. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f) - Breaking change: Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
- Breaking change: Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
- Breaking change: Fixed inconsistencies in
Message#to_h, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc) - Breaking change: Dropped support for Ruby DSL, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/5cfc9e775d76acb37e5b554e53dff336a89d000f)
- In Ruby repeated fields, each_index actually iterates over the index (#11767) (https://github.com/protocolbuffers/protobuf/commit/f869cfa479c293ecd55c2f8ccbf981cd3bb41ecf)
- Breaking change: Lock down visibility for descriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/1aeacd4f4eb4e0aa05d6336e2988a565e475e9a0)
- Make rules_ruby a dev-only dependency. (https://github.com/protocolbuffers/protobuf/commit/571b727cb66ad51f89fbef565d3a6c123366a1f5)
- Add support for extensions in CRuby, JRuby, and FFI Ruby (#14703) (https://github.com/protocolbuffers/protobuf/commit/42f8b7782ed539d56d0f0e13da4e85603553e828)
- Add support for options in CRuby, JRuby and FFI (#14594) (https://github.com/protocolbuffers/protobuf/commit/ae1f2b7e1b329aba1d204e6d3ddc61a88bc35dd9)
Ruby C-Extension
- Breaking change: Removed
syntaxand addedhas_presence?/is_packed?. (https://github.com/protocolbuffers/protobuf/commit/dbd4dcede084f7c301bfdf229e1e51dfd3e1179f) - Breaking change: Fixed json_encode/json_decode to use the message's pool. (https://github.com/protocolbuffers/protobuf/commit/a8b8ea02b74095042a6c4a6acb50498a1a2c4570)
- Breaking change: Freeze is now recursive, affecting all sub-messages, maps, and repeated fields. (https://github.com/protocolbuffers/protobuf/commit/31313b16522b36394d460055f6a49000ae939153)
- Breaking change: Fixed inconsistencies in
Message#to_h, as previously announced. (https://github.com/protocolbuffers/protobuf/commit/fd699383f44d6847fa6ddc3e0c9c94e77e3cf8dc) - Upb: fix Ruby bug which allowed map.delete(key) on a frozen map (https://github.com/protocolbuffers/protobuf/commit/df57e5474bf3ce211329e55993cb991a7ce1c5e0)
- Add support for extensions in CRuby, JRuby, and FFI Ruby (#14703) (https://github.com/protocolbuffers/protobuf/commit/42f8b7782ed539d56d0f0e13da4e85603553e828)
- Add support for options in CRuby, JRuby and FFI (#14594) (https://github.com/protocolbuffers/protobuf/commit/ae1f2b7e1b329aba1d204e6d3ddc61a88bc35dd9)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Wrap C++ headers in
#ifdef __cplusplus. (https://github.com/protocolbuffers/protobuf/commit/fc2d9da9c06d7469aabba5e49037950e1d9323c9) - Add kUpb_DecodeOption_AlwaysValidateUtf8 decode option, to force UTF-8 validation of proto2 strings. (https://github.com/protocolbuffers/protobuf/commit/d4dfb9c4a67e24afa0465735a84a381d0833211d)
- Fixed non-conformance in upb JSON enum decoding when ignoring unknown enum values. (https://github.com/protocolbuffers/protobuf/commit/c16ac66e8581b55471eff9860b02e3d32cae7a79)
- Fix upb's json decoder ignoring trailing characters after a successfully parsed object. (https://github.com/protocolbuffers/protobuf/commit/fa15c2160eaeb8d11ed71ba956da0c27d268ec6d)
- Fix upb_MiniTable_GetOneof(miniTable, field) to work correctly if
fieldis the very first field in the proto. (https://github.com/protocolbuffers/protobuf/commit/e6ea44c9119b0f5976ea7b335395753833fc382d) - Enabled editions support for upb generated code. (https://github.com/protocolbuffers/protobuf/commit/cf3a6f5868222d31021e3835e5e7890a847f3d01)
- Upb: stop generating hazzers for repeated fields (https://github.com/protocolbuffers/protobuf/commit/fa62c920716804a576ce388e6894fa15209df41a)
Other
- Extend Proto2 JSON test cases to cover more of the preexisting Proto3 JSON cases. (https://github.com/protocolbuffers/protobuf/commit/42ecd61b3e15430bb393b467bb39520025efdc63)
- Include JSON output tests with Proto2 messages in the conformance test suite. (https://github.com/protocolbuffers/protobuf/commit/255f95e5b19c142ece319cc35c1b3808ec0e259f)
- Make the utf8_range implementation just in C (https://github.com/protocolbuffers/protobuf/commit/9c7d2b9d83e0ad4e8ffeb8535d8c0a31a0a6a0b8)
- Open-source editions Bazel rules for embedding defaults. (https://github.com/protocolbuffers/protobuf/commit/898d8fa1fd6ff07149b283b3bbff00a6a3d8c52b)
- Enable conformance tests over editions protos (https://github.com/protocolbuffers/protobuf/commit/a2ba8bc78e49b8b9053654030f5254fc38a7da93)
- Move utf8_range into the protobuf repo (https://github.com/protocolbuffers/protobuf/commit/5ca84008fcc400276124b14a08a8c32e9b37b2bd)
- C++
Published by shaod2 about 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Only substitute prefixes during installation setup. (https://github.com/protocolbuffers/protobuf/commit/05ad6525c3aae2ae5b6e1987227445a420caada7)
- Register a shutdown delete for C++ feature defaults (https://github.com/protocolbuffers/protobuf/commit/3d5c709ebe01f1f9f3d3345cd4239e239081f8fd)
- C++
Published by sbenzaquen about 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Python
- Raise warnings for deprecated python syntax usages (https://github.com/protocolbuffers/protobuf/commit/74f5cf4106d7bcdd4612caed9f85af5096f4a390)
Ruby
- Add support for extensions in CRuby, JRuby, and FFI Ruby (#14703) (#14756) (https://github.com/protocolbuffers/protobuf/commit/e4b00c75ecbc40389615ddf5482dbabc3a354eea)
- Add support for options in CRuby, JRuby and FFI (#14594) (#14739) (https://github.com/protocolbuffers/protobuf/commit/2495d4f96bf4edcc4f770ceb27ae98c71a56fcdb)
- C++
Published by anandolee over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.0
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Implement proto2/proto3 with editions (https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
- Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add utf8_validation feature back to the global feature set. (https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Editions: Introduce functionality to protoc for generating edition feature set defaults. (https://github.com/protocolbuffers/protobuf/commit/4019e254322b2312cc7431b45ae71bb8e3dfa035)
- Editions: Migrate edition strings to enum in C++ code. (https://github.com/protocolbuffers/protobuf/commit/f083ebf21f56783fd838c006880f8e16e05d1f1e)
- Create a reflection helper for ExtensionIdentifier. (https://github.com/protocolbuffers/protobuf/commit/4d5ab7324ef4d79eda69c8ed5bcb35f35e6db6f1)
- Editions: Provide an API for C++ generators to specify their features. (https://github.com/protocolbuffers/protobuf/commit/e897bcf3ff8004b7446bbe43a1fc28f9a92a11d4)
- Editions: Refactor feature resolution to use an intermediate message. (https://github.com/protocolbuffers/protobuf/commit/57d8049b01b4bd95a1ca156eb375b523dc7d5d56)
- Publish extension declarations with declaration verifications. (https://github.com/protocolbuffers/protobuf/commit/e72b0e181b236ff23c03a9f9f97f58e6989f25c9)
- Editions: Stop propagating partially resolved feature sets to plugins. (https://github.com/protocolbuffers/protobuf/commit/b66ef4c3f0af899e3736ad016259f9446f0adb14)
- Editions: Migrate string_field_validation to a C++ feature (https://github.com/protocolbuffers/protobuf/commit/1f9583069f0e2b11790ea36cc760ee371106f232)
- Editions: Include defaults for any features in the generated pool. (https://github.com/protocolbuffers/protobuf/commit/15863ffc9aff9d31e9f25a7f11a2d499b0170bc3)
- Protoc: parser rejects explicit use of map_entry option (#13479) (https://github.com/protocolbuffers/protobuf/commit/8f5929230d5c5d117b84953463ef0da6d29ad36d)
- Protoc: validate that reserved range start is before end (#13474) (https://github.com/protocolbuffers/protobuf/commit/3be00f7638b9a61d2f0318ceac9d7d89d5af66b6)
- Protoc: support identifiers as reserved names in addition to string literals (only in editions) (#13471) (https://github.com/protocolbuffers/protobuf/commit/e701f4fa77620fc29109efc6902003d2cc93a30d)
- Drop support for Bazel 5. (https://github.com/protocolbuffers/protobuf/commit/a80daa2a2caaaac9ebe9ae6bb1b639c2771c5c55)
- Allow code generators to specify whether or not they support editions. (https://github.com/protocolbuffers/protobuf/commit/2176a145ba210c286177032037e736bf97158f7d)
C++
- Set
PROTOBUF_EXPORTonInternalOutOfLineDeleteMessageLite()(#14434) (https://github.com/protocolbuffers/protobuf/commit/db89a51e4557c40abc8845b13277a83cdf917382) - Update stale checked-in files (#14431) (https://github.com/protocolbuffers/protobuf/commit/ada0be86608dc10b3c2c46e7e2a0951015abbcc3)
- Apply PROTOBUF_NOINLINE to declarations of some functions that want it. (https://github.com/protocolbuffers/protobuf/commit/6e848b00c95556d4f4fc7a1a512cd31a33de75d6)
- Implement proto2/proto3 with editions (https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
- Make JSON UTF-8 boundary check inclusive of the largest possible UTF-8 character. (https://github.com/protocolbuffers/protobuf/commit/e80b8ec620d71cdeca000dce835e5a167a8dc370)
- Reduce
Map::size_typeto 32-bits. Protobuf containers can't have more than (https://github.com/protocolbuffers/protobuf/commit/95d2b2ed5039c1b1606a5f8c9d9cb362a2a33c95) - Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated oneof accessors. (https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169) - Fix bug in reflection based Swap of map fields. (https://github.com/protocolbuffers/protobuf/commit/bef5b759f1fa511e3c08380a4e8635832d5d39fd)
- Add utf8_validation feature back to the global feature set. (https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Add prefetching to arena allocations. (https://github.com/protocolbuffers/protobuf/commit/fbdeb5af0b0f89dec79efc371ba75f838ffad2e8)
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated repeated and map field accessors. (https://github.com/protocolbuffers/protobuf/commit/9a0a3cf0cd8b4ac5c8a06db89f76c5d754f850d0) - Editions: Migrate edition strings to enum in C++ code. (https://github.com/protocolbuffers/protobuf/commit/f083ebf21f56783fd838c006880f8e16e05d1f1e)
- Workaround ICE on gcc 7.5 by not having one overload call the other one with a (https://github.com/protocolbuffers/protobuf/commit/0522054f3ee5e32c9df15af7c11f046e91e77998)
- Create a reflection helper for ExtensionIdentifier. (https://github.com/protocolbuffers/protobuf/commit/4d5ab7324ef4d79eda69c8ed5bcb35f35e6db6f1)
- Editions: Provide an API for C++ generators to specify their features. (https://github.com/protocolbuffers/protobuf/commit/e897bcf3ff8004b7446bbe43a1fc28f9a92a11d4)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated string field accessors. (https://github.com/protocolbuffers/protobuf/commit/18c338a699e7dfe85de014bf74cdf9c8a5ee155f) - Editions: Refactor feature resolution to use an intermediate message. (https://github.com/protocolbuffers/protobuf/commit/57d8049b01b4bd95a1ca156eb375b523dc7d5d56)
- Fixes for 32-bit MSVC. (https://github.com/protocolbuffers/protobuf/commit/66cf6b1d9c22333a20d83ee02472e2e7162a8da6)
- Publish extension declarations with declaration verifications. (https://github.com/protocolbuffers/protobuf/commit/e72b0e181b236ff23c03a9f9f97f58e6989f25c9)
- Export the constants in protobuf's any.h to support DLL builds. (https://github.com/protocolbuffers/protobuf/commit/fd24b1bef4a5969ca1e1875e53e31f866e4b757b)
- Implement AbslStringify for the Descriptor family of types. (https://github.com/protocolbuffers/protobuf/commit/230232a041d7bce0080f459512ee2162ee9233e7)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated message field accessors. (https://github.com/protocolbuffers/protobuf/commit/064035c0978516dceb64512e2e5fcf26aa2dedaa) - Editions: Stop propagating partially resolved feature sets to plugins. (https://github.com/protocolbuffers/protobuf/commit/b66ef4c3f0af899e3736ad016259f9446f0adb14)
- Editions: Migrate string_field_validation to a C++ feature (https://github.com/protocolbuffers/protobuf/commit/1f9583069f0e2b11790ea36cc760ee371106f232)
- Editions: Include defaults for any features in the generated pool. (https://github.com/protocolbuffers/protobuf/commit/15863ffc9aff9d31e9f25a7f11a2d499b0170bc3)
- Introduce C++ feature for UTF8 validation. (https://github.com/protocolbuffers/protobuf/commit/c7119e6d56ea8e29f32ce5eb84fca82799095239)
- Protoc: validate that reserved range start is before end (#13474) (https://github.com/protocolbuffers/protobuf/commit/3be00f7638b9a61d2f0318ceac9d7d89d5af66b6)
- Remove option to disable the table-driven parser in protoc. (https://github.com/protocolbuffers/protobuf/commit/6d03f9b19bd7aa10d541f6c1a11ac71f2851eece)
- Lock down ctype=CORD in proto file. (https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)
- Support split repeated fields. (https://github.com/protocolbuffers/protobuf/commit/5b5e5bf5444f80033977d22024cf2dffd5d1c89b)
- In OSS mode omit some extern template specializations. We have seen reports of (https://github.com/protocolbuffers/protobuf/commit/ab968248b02842cf7733ba867cb6a53e680956c1)
- Automated rollback of commit adb2c4b415c35cda3e4394384ec579ea8dd8ec92. (https://github.com/protocolbuffers/protobuf/commit/0ea00526a11c405b342463cf75f40ca5753d4a0c)
- Allow code generators to specify whether or not they support editions. (https://github.com/protocolbuffers/protobuf/commit/2176a145ba210c286177032037e736bf97158f7d)
- Handle conflicting macros for FreeBSD (#13303) (https://github.com/protocolbuffers/protobuf/commit/2a952958eb1d4ea13fee2ad657a537ad443adf8f)
Java
- Implement proto2/proto3 with editions (https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
- Remove synthetic oneofs from Java gencode field accessor tables. (https://github.com/protocolbuffers/protobuf/commit/9ad2268544a345d9ed449e766999388b895d18a3)
- Timestamps.parse: Add error handling for invalid hours/minutes in the timezone offset. (https://github.com/protocolbuffers/protobuf/commit/8f8513835c0c4ebe206a5ead04a1bd0c8c7d1dbf)
- Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated oneof accessors. (https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169) - Automated rollback of commit 2a55706f9d36afd1742c97fd0d611ea8af0ac3f8. (https://github.com/protocolbuffers/protobuf/commit/30b6251dea7a0ff1713a97d7e7d29a48e4880f59)
- Add missing debugging version info to Protobuf Java gencode when multiple files are generated. (https://github.com/protocolbuffers/protobuf/commit/301dfc5aebb37eee302beef408b6ba4b4eaf4425)
- Fix a bad cast in putBuilderIfAbsent when already present due to using the result of put() directly (which is null if it currently has no value) (https://github.com/protocolbuffers/protobuf/commit/785c82dbdea5085628f2a41437aa1198860f3342)
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Fix a NPE in putBuilderIfAbsent due to using the result of put() directly (which is null if it currently has no value) (https://github.com/protocolbuffers/protobuf/commit/47cec39ab36daf5264c2faf05d2ed4d0f48c1bc7)
- Update Kotlin compiler to escape package names (#13310) (https://github.com/protocolbuffers/protobuf/commit/437ec356fbe15d8737d797505aafb8e2b2629e7b)
- Add MapFieldBuilder and change codegen to generate it and the put{field}BuilderIfAbsent method. (https://github.com/protocolbuffers/protobuf/commit/955d4ab0d681d2bf60b481c1d066eee543ab1b8c)
- Introduce recursion limit in Java text format parsing (https://github.com/protocolbuffers/protobuf/commit/bca3bed137d013d4a654ffec52c0d44a3202aab2)
- Consider the protobuf.Any invalid if typeUrl.split("/") returns an empty array. (https://github.com/protocolbuffers/protobuf/commit/004f54af8f014c3e8a65db1b4459cfa70502e3ce)
- Mark
FieldDescriptor.hasOptionalKeyword()as deprecated. (https://github.com/protocolbuffers/protobuf/commit/d6157f7c7ec78a6942cfd6d96d2e0b40e007ae0d)
Kotlin
- Add ByteString.isNotEmpty Kotlin extension function. (https://github.com/protocolbuffers/protobuf/commit/961779e164a8f8a015a44b082c01da2e1273b26c)
Csharp
- Add C# deterministic serialization (#13160) (https://github.com/protocolbuffers/protobuf/commit/96100bf1e49c5452f21e4446e43f5e7526f1351f)
- Add .NET debugging attributes (#14097) (https://github.com/protocolbuffers/protobuf/commit/67b9c76752b21c894bc8d7d59b3f6b2dc078c7b1)
- Improve .NET debugging of Protobuf messages (#13838) (https://github.com/protocolbuffers/protobuf/commit/e519c62f827a5f354c9253419c2fb5c230622311)
- Lock down ctype=CORD in proto file. (https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)
Objective-C
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- [ObjC] Flip the default for two generation options. (https://github.com/protocolbuffers/protobuf/commit/08bbb577e8de8cd9afd56c6f78ab86418ef4bd4e)
- [ObjC] Enable generation of .proto files using editions. (https://github.com/protocolbuffers/protobuf/commit/55ab8316c14569cadc578e15ffdea4f1bcbb0964)
- [ObjC] add "generate_minimal_imports" generation option (https://github.com/protocolbuffers/protobuf/commit/0b817d46d4ca1977d3dccf2442aeee3c9e98e3a1)
- [ObjC] Add generation control for descriptor custom options. (https://github.com/protocolbuffers/protobuf/commit/bd9d6895c3d3f5f186d31b3e41bc0ad6af9d3129)
- Lock down ctype=CORD in proto file. (https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)
Rust
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
Python
- Fixed Python memory leak in map lookup. (https://github.com/protocolbuffers/protobuf/commit/1711ebd4559313555e89d0f56294842779c7e900)
- Loosen upb for json name conflict check in proto2 between json name and field (https://github.com/protocolbuffers/protobuf/commit/41af1d53a2d82ee17d6a3ac8a81ea2a93040ad82)
- Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated oneof accessors. (https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169) - Ensure Timestamp.ToDatetime(tz) has correct offset (https://github.com/protocolbuffers/protobuf/commit/f0c56f9bc49b5015293eb5242a1982107b7c8b39)
- Do not check required field for upb python MergeFrom (https://github.com/protocolbuffers/protobuf/commit/1e0bc565a0f02b5f833f6057f13021a96a329eeb)
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Comparing a proto message with an object of unknown returns NotImplemented (https://github.com/protocolbuffers/protobuf/commit/12d4f418a7311ed4d381bf82caead11d03ae7911)
- Emit slots in pyi output as a tuple rather than a list for --pyi_out. (https://github.com/protocolbuffers/protobuf/commit/4a4f61589d3b258b5f1d2be752ff5dd01e7283d8)
- Fix a bug that strips options from descriptor.proto in Python. (https://github.com/protocolbuffers/protobuf/commit/27d42c5ba7ab65956e71b9d825f68ef84c38bbde)
- Raise warings for message.UnknownFields() usages and navigate to the new add (https://github.com/protocolbuffers/protobuf/commit/c988759a9bb5ce719721b6581d035c277b147db2)
- Add protobuf python keyword support in path for stub generator. Also added tests for (https://github.com/protocolbuffers/protobuf/commit/4cc258a6a1cb6d3e526e3ca2f6ab7748ee84e2e3)
- Add tuple support to set Struct (https://github.com/protocolbuffers/protobuf/commit/533fbbb45e666784a671aa9cb4ed5dd6a844a5a9)
Python C-Extension (Default)
- Comparing a proto message with an object of unknown returns NotImplemented (https://github.com/protocolbuffers/upb/commit/243add441169730acc42e6bad3a1a06a7f0b8e69)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
PHP C-Extension
- Bump minimum PHP to 8.0 (https://github.com/protocolbuffers/protobuf/commit/b4abcef8a954383d860a9367465fb398e5992d82)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Check that ffi-compiler loads before using it to define tasks. (#14538) (#14560) (https://github.com/protocolbuffers/protobuf/commit/0a5d6d4a45880a3076681cbd7d88e0985b4ccdb7)
- Ruby FFI implementation (#13343) (https://github.com/protocolbuffers/protobuf/commit/c52d80cf04274aefd557e2bc93f64bb71c097645)
Ruby C-Extension
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Ruby: Fix object cache lookups on 32-bit platforms (#13494) (https://github.com/protocolbuffers/protobuf/commit/055c3782f6911822667157dab58341e44f9deedc)
- Ruby FFI implementation (#13343) (https://github.com/protocolbuffers/protobuf/commit/c52d80cf04274aefd557e2bc93f64bb71c097645)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Include .inc files directly instead of through a filegroup (#14575) (https://github.com/protocolbuffers/protobuf/commit/8defef58f4367d3a968b44000698e308a035ab9e)
- Loosen upb for json name conflict check in proto2 between json name and field (https://github.com/protocolbuffers/protobuf/commit/41af1d53a2d82ee17d6a3ac8a81ea2a93040ad82)
- Add utf8_validation feature back to the global feature set. (https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
- Do not check required field for upb python MergeFrom (https://github.com/protocolbuffers/protobuf/commit/1e0bc565a0f02b5f833f6057f13021a96a329eeb)
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Cherry-pick recent changes from the upb repo (#13908) (https://github.com/protocolbuffers/protobuf/commit/b2e39c175a690ba76f1cf05ebb17f003f6bcd610)
- Added malloc_trim() calls to Python allocator so RSS will decrease when memory is freed (https://github.com/protocolbuffers/protobuf/commit/56e9f2b4e467a7df5989a61eec142df7c72ab796)
- Upb: fix a Python memory leak in ByteSize() (https://github.com/protocolbuffers/protobuf/commit/e45a6d50682d5d4b204e7d76254b1585b43c6815)
- Support ASAN detection on clang (#1424) (https://github.com/protocolbuffers/upb/commit/1b0011dfef3062ac25b0b2250c3140312b97fdf0)
- Upb: bugfix for importing a proto3 enum from within a proto2 file (https://github.com/protocolbuffers/upb/commit/b19edc5ce0b0dd6591e7b8f65430b0f3e3ea1c29)
- Expose methods needed by Ruby FFI using UPB_API (#1391) (https://github.com/protocolbuffers/upb/commit/01fed1cc1ba255bf22b49393ba054b8d270e6ba3)
- Fix
PyUpb_Message_MergeInternalsegfault (#1338) (https://github.com/protocolbuffers/upb/commit/cefa206f546ce36f895cd02ab5a7e8a1f6918a22)
Other
- Expose alias to protobuf_nowkt runtime (https://github.com/protocolbuffers/protobuf/commit/5b6c2459b57c23669d6efc5a14a874c693004eec)
- Update absl submodule and dep to latest 20230802.0 LTS (#13515) (https://github.com/protocolbuffers/protobuf/commit/e7bb34db3c57617f772a04d343a8bfa5109cf6cf)
- C++
Published by haberman over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Set
PROTOBUF_EXPORTonInternalOutOfLineDeleteMessageLite()(#14434) (https://github.com/protocolbuffers/protobuf/commit/db89a51e4557c40abc8845b13277a83cdf917382) - Update stale checked-in files (#14431) (https://github.com/protocolbuffers/protobuf/commit/ada0be86608dc10b3c2c46e7e2a0951015abbcc3)
PHP
PHP C-Extension
- Bump minimum PHP to 8.0 (https://github.com/protocolbuffers/protobuf/commit/b4abcef8a954383d860a9367465fb398e5992d82)
- C++
Published by acozzette over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v25.0-rc1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Implement proto2/proto3 with editions (https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
- Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add utf8_validation feature back to the global feature set. (https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Editions: Introduce functionality to protoc for generating edition feature set defaults. (https://github.com/protocolbuffers/protobuf/commit/4019e254322b2312cc7431b45ae71bb8e3dfa035)
- Editions: Migrate edition strings to enum in C++ code. (https://github.com/protocolbuffers/protobuf/commit/f083ebf21f56783fd838c006880f8e16e05d1f1e)
- Create a reflection helper for ExtensionIdentifier. (https://github.com/protocolbuffers/protobuf/commit/4d5ab7324ef4d79eda69c8ed5bcb35f35e6db6f1)
- Editions: Provide an API for C++ generators to specify their features. (https://github.com/protocolbuffers/protobuf/commit/e897bcf3ff8004b7446bbe43a1fc28f9a92a11d4)
- Editions: Refactor feature resolution to use an intermediate message. (https://github.com/protocolbuffers/protobuf/commit/57d8049b01b4bd95a1ca156eb375b523dc7d5d56)
- Publish extension declarations with declaration verifications. (https://github.com/protocolbuffers/protobuf/commit/e72b0e181b236ff23c03a9f9f97f58e6989f25c9)
- Editions: Stop propagating partially resolved feature sets to plugins. (https://github.com/protocolbuffers/protobuf/commit/b66ef4c3f0af899e3736ad016259f9446f0adb14)
- Editions: Migrate string_field_validation to a C++ feature (https://github.com/protocolbuffers/protobuf/commit/1f9583069f0e2b11790ea36cc760ee371106f232)
- Editions: Include defaults for any features in the generated pool. (https://github.com/protocolbuffers/protobuf/commit/15863ffc9aff9d31e9f25a7f11a2d499b0170bc3)
- Protoc: parser rejects explicit use of map_entry option (#13479) (https://github.com/protocolbuffers/protobuf/commit/8f5929230d5c5d117b84953463ef0da6d29ad36d)
- Protoc: validate that reserved range start is before end (#13474) (https://github.com/protocolbuffers/protobuf/commit/3be00f7638b9a61d2f0318ceac9d7d89d5af66b6)
- Protoc: support identifiers as reserved names in addition to string literals (only in editions) (#13471) (https://github.com/protocolbuffers/protobuf/commit/e701f4fa77620fc29109efc6902003d2cc93a30d)
- Drop support for Bazel 5. (https://github.com/protocolbuffers/protobuf/commit/a80daa2a2caaaac9ebe9ae6bb1b639c2771c5c55)
- Allow code generators to specify whether or not they support editions. (https://github.com/protocolbuffers/protobuf/commit/2176a145ba210c286177032037e736bf97158f7d)
C++
- Apply PROTOBUF_NOINLINE to declarations of some functions that want it. (https://github.com/protocolbuffers/protobuf/commit/6e848b00c95556d4f4fc7a1a512cd31a33de75d6)
- Implement proto2/proto3 with editions (https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
- Make JSON UTF-8 boundary check inclusive of the largest possible UTF-8 character. (https://github.com/protocolbuffers/protobuf/commit/e80b8ec620d71cdeca000dce835e5a167a8dc370)
- Reduce
Map::size_typeto 32-bits. Protobuf containers can't have more than (https://github.com/protocolbuffers/protobuf/commit/95d2b2ed5039c1b1606a5f8c9d9cb362a2a33c95) - Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated oneof accessors. (https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169) - Fix bug in reflection based Swap of map fields. (https://github.com/protocolbuffers/protobuf/commit/bef5b759f1fa511e3c08380a4e8635832d5d39fd)
- Add utf8_validation feature back to the global feature set. (https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Add prefetching to arena allocations. (https://github.com/protocolbuffers/protobuf/commit/fbdeb5af0b0f89dec79efc371ba75f838ffad2e8)
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated repeated and map field accessors. (https://github.com/protocolbuffers/protobuf/commit/9a0a3cf0cd8b4ac5c8a06db89f76c5d754f850d0) - Editions: Migrate edition strings to enum in C++ code. (https://github.com/protocolbuffers/protobuf/commit/f083ebf21f56783fd838c006880f8e16e05d1f1e)
- Workaround ICE on gcc 7.5 by not having one overload call the other one with a (https://github.com/protocolbuffers/protobuf/commit/0522054f3ee5e32c9df15af7c11f046e91e77998)
- Create a reflection helper for ExtensionIdentifier. (https://github.com/protocolbuffers/protobuf/commit/4d5ab7324ef4d79eda69c8ed5bcb35f35e6db6f1)
- Editions: Provide an API for C++ generators to specify their features. (https://github.com/protocolbuffers/protobuf/commit/e897bcf3ff8004b7446bbe43a1fc28f9a92a11d4)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated string field accessors. (https://github.com/protocolbuffers/protobuf/commit/18c338a699e7dfe85de014bf74cdf9c8a5ee155f) - Editions: Refactor feature resolution to use an intermediate message. (https://github.com/protocolbuffers/protobuf/commit/57d8049b01b4bd95a1ca156eb375b523dc7d5d56)
- Fixes for 32-bit MSVC. (https://github.com/protocolbuffers/protobuf/commit/66cf6b1d9c22333a20d83ee02472e2e7162a8da6)
- Publish extension declarations with declaration verifications. (https://github.com/protocolbuffers/protobuf/commit/e72b0e181b236ff23c03a9f9f97f58e6989f25c9)
- Export the constants in protobuf's any.h to support DLL builds. (https://github.com/protocolbuffers/protobuf/commit/fd24b1bef4a5969ca1e1875e53e31f866e4b757b)
- Implement AbslStringify for the Descriptor family of types. (https://github.com/protocolbuffers/protobuf/commit/230232a041d7bce0080f459512ee2162ee9233e7)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated message field accessors. (https://github.com/protocolbuffers/protobuf/commit/064035c0978516dceb64512e2e5fcf26aa2dedaa) - Editions: Stop propagating partially resolved feature sets to plugins. (https://github.com/protocolbuffers/protobuf/commit/b66ef4c3f0af899e3736ad016259f9446f0adb14)
- Editions: Migrate string_field_validation to a C++ feature (https://github.com/protocolbuffers/protobuf/commit/1f9583069f0e2b11790ea36cc760ee371106f232)
- Editions: Include defaults for any features in the generated pool. (https://github.com/protocolbuffers/protobuf/commit/15863ffc9aff9d31e9f25a7f11a2d499b0170bc3)
- Introduce C++ feature for UTF8 validation. (https://github.com/protocolbuffers/protobuf/commit/c7119e6d56ea8e29f32ce5eb84fca82799095239)
- Protoc: validate that reserved range start is before end (#13474) (https://github.com/protocolbuffers/protobuf/commit/3be00f7638b9a61d2f0318ceac9d7d89d5af66b6)
- Remove option to disable the table-driven parser in protoc. (https://github.com/protocolbuffers/protobuf/commit/6d03f9b19bd7aa10d541f6c1a11ac71f2851eece)
- Lock down ctype=CORD in proto file. (https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)
- Support split repeated fields. (https://github.com/protocolbuffers/protobuf/commit/5b5e5bf5444f80033977d22024cf2dffd5d1c89b)
- In OSS mode omit some extern template specializations. We have seen reports of (https://github.com/protocolbuffers/protobuf/commit/ab968248b02842cf7733ba867cb6a53e680956c1)
- Automated rollback of commit adb2c4b415c35cda3e4394384ec579ea8dd8ec92. (https://github.com/protocolbuffers/protobuf/commit/0ea00526a11c405b342463cf75f40ca5753d4a0c)
- Allow code generators to specify whether or not they support editions. (https://github.com/protocolbuffers/protobuf/commit/2176a145ba210c286177032037e736bf97158f7d)
- Handle conflicting macros for FreeBSD (#13303) (https://github.com/protocolbuffers/protobuf/commit/2a952958eb1d4ea13fee2ad657a537ad443adf8f)
Java
- Implement proto2/proto3 with editions (https://github.com/protocolbuffers/protobuf/commit/3813b6622f6490b969c16e1b1ba7dcbd8f4e3209)
- Remove synthetic oneofs from Java gencode field accessor tables. (https://github.com/protocolbuffers/protobuf/commit/9ad2268544a345d9ed449e766999388b895d18a3)
- Timestamps.parse: Add error handling for invalid hours/minutes in the timezone offset. (https://github.com/protocolbuffers/protobuf/commit/8f8513835c0c4ebe206a5ead04a1bd0c8c7d1dbf)
- Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated oneof accessors. (https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169) - Automated rollback of commit 2a55706f9d36afd1742c97fd0d611ea8af0ac3f8. (https://github.com/protocolbuffers/protobuf/commit/30b6251dea7a0ff1713a97d7e7d29a48e4880f59)
- Add missing debugging version info to Protobuf Java gencode when multiple files are generated. (https://github.com/protocolbuffers/protobuf/commit/301dfc5aebb37eee302beef408b6ba4b4eaf4425)
- Fix a bad cast in putBuilderIfAbsent when already present due to using the result of put() directly (which is null if it currently has no value) (https://github.com/protocolbuffers/protobuf/commit/785c82dbdea5085628f2a41437aa1198860f3342)
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Fix a NPE in putBuilderIfAbsent due to using the result of put() directly (which is null if it currently has no value) (https://github.com/protocolbuffers/protobuf/commit/47cec39ab36daf5264c2faf05d2ed4d0f48c1bc7)
- Update Kotlin compiler to escape package names (#13310) (https://github.com/protocolbuffers/protobuf/commit/437ec356fbe15d8737d797505aafb8e2b2629e7b)
- Add MapFieldBuilder and change codegen to generate it and the put{field}BuilderIfAbsent method. (https://github.com/protocolbuffers/protobuf/commit/955d4ab0d681d2bf60b481c1d066eee543ab1b8c)
- Introduce recursion limit in Java text format parsing (https://github.com/protocolbuffers/protobuf/commit/bca3bed137d013d4a654ffec52c0d44a3202aab2)
- Consider the protobuf.Any invalid if typeUrl.split("/") returns an empty array. (https://github.com/protocolbuffers/protobuf/commit/004f54af8f014c3e8a65db1b4459cfa70502e3ce)
- Mark
FieldDescriptor.hasOptionalKeyword()as deprecated. (https://github.com/protocolbuffers/protobuf/commit/d6157f7c7ec78a6942cfd6d96d2e0b40e007ae0d)
Kotlin
- Add ByteString.isNotEmpty Kotlin extension function. (https://github.com/protocolbuffers/protobuf/commit/961779e164a8f8a015a44b082c01da2e1273b26c)
Csharp
- Add C# deterministic serialization (#13160) (https://github.com/protocolbuffers/protobuf/commit/96100bf1e49c5452f21e4446e43f5e7526f1351f)
- Add .NET debugging attributes (#14097) (https://github.com/protocolbuffers/protobuf/commit/67b9c76752b21c894bc8d7d59b3f6b2dc078c7b1)
- Improve .NET debugging of Protobuf messages (#13838) (https://github.com/protocolbuffers/protobuf/commit/e519c62f827a5f354c9253419c2fb5c230622311)
- Lock down ctype=CORD in proto file. (https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)
Objective-C
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- [ObjC] Flip the default for two generation options. (https://github.com/protocolbuffers/protobuf/commit/08bbb577e8de8cd9afd56c6f78ab86418ef4bd4e)
- [ObjC] Enable generation of .proto files using editions. (https://github.com/protocolbuffers/protobuf/commit/55ab8316c14569cadc578e15ffdea4f1bcbb0964)
- [ObjC] add "generate_minimal_imports" generation option (https://github.com/protocolbuffers/protobuf/commit/0b817d46d4ca1977d3dccf2442aeee3c9e98e3a1)
- [ObjC] Add generation control for descriptor custom options. (https://github.com/protocolbuffers/protobuf/commit/bd9d6895c3d3f5f186d31b3e41bc0ad6af9d3129)
- Lock down ctype=CORD in proto file. (https://github.com/protocolbuffers/protobuf/commit/b359e5020a68ce84faec5952100ae482e9eb0b1c)
Rust
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
Python
- Loosen upb for json name conflict check in proto2 between json name and field (https://github.com/protocolbuffers/protobuf/commit/41af1d53a2d82ee17d6a3ac8a81ea2a93040ad82)
- Defines Protobuf compiler version strings as macros and separates out suffix string definition. (https://github.com/protocolbuffers/protobuf/commit/3c59585bc116bee70f5f00a10005ea1403aef062)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on generated oneof accessors. (https://github.com/protocolbuffers/protobuf/commit/e33e0d2ba569c8a7d6d74b5a8b39d804ec2a0169) - Ensure Timestamp.ToDatetime(tz) has correct offset (https://github.com/protocolbuffers/protobuf/commit/f0c56f9bc49b5015293eb5242a1982107b7c8b39)
- Do not check required field for upb python MergeFrom (https://github.com/protocolbuffers/protobuf/commit/1e0bc565a0f02b5f833f6057f13021a96a329eeb)
- Setting up version updater to prepare for poison pills and embedding version info into C++, Python and Java gencode. (https://github.com/protocolbuffers/protobuf/commit/4322e00e5b4c2f36016f0eee614e0e823a693ed4)
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Comparing a proto message with an object of unknown returns NotImplemented (https://github.com/protocolbuffers/protobuf/commit/12d4f418a7311ed4d381bf82caead11d03ae7911)
- Emit slots in pyi output as a tuple rather than a list for --pyi_out. (https://github.com/protocolbuffers/protobuf/commit/4a4f61589d3b258b5f1d2be752ff5dd01e7283d8)
- Fix a bug that strips options from descriptor.proto in Python. (https://github.com/protocolbuffers/protobuf/commit/27d42c5ba7ab65956e71b9d825f68ef84c38bbde)
- Raise warings for message.UnknownFields() usages and navigate to the new add (https://github.com/protocolbuffers/protobuf/commit/c988759a9bb5ce719721b6581d035c277b147db2)
- Add protobuf python keyword support in path for stub generator. Also added tests for (https://github.com/protocolbuffers/protobuf/commit/4cc258a6a1cb6d3e526e3ca2f6ab7748ee84e2e3)
- Add tuple support to set Struct (https://github.com/protocolbuffers/protobuf/commit/533fbbb45e666784a671aa9cb4ed5dd6a844a5a9)
Python C-Extension (Default)
- Comparing a proto message with an object of unknown returns NotImplemented (https://github.com/protocolbuffers/upb/commit/243add441169730acc42e6bad3a1a06a7f0b8e69)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
Ruby
- Ruby FFI implementation (#13343) (https://github.com/protocolbuffers/protobuf/commit/c52d80cf04274aefd557e2bc93f64bb71c097645)
Ruby C-Extension
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Ruby: Fix object cache lookups on 32-bit platforms (#13494) (https://github.com/protocolbuffers/protobuf/commit/055c3782f6911822667157dab58341e44f9deedc)
- Ruby FFI implementation (#13343) (https://github.com/protocolbuffers/protobuf/commit/c52d80cf04274aefd557e2bc93f64bb71c097645)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Loosen upb for json name conflict check in proto2 between json name and field (https://github.com/protocolbuffers/protobuf/commit/41af1d53a2d82ee17d6a3ac8a81ea2a93040ad82)
- Add utf8_validation feature back to the global feature set. (https://github.com/protocolbuffers/protobuf/commit/153028d7f3029e066bb2287012e14417ca83d55c)
- Do not check required field for upb python MergeFrom (https://github.com/protocolbuffers/protobuf/commit/1e0bc565a0f02b5f833f6057f13021a96a329eeb)
- Merge the protobuf and upb Bazel repos (https://github.com/protocolbuffers/protobuf/commit/7286ffceb2f0a4489672a90c823e00425ab8ab5c)
- Cherry-pick recent changes from the upb repo (#13908) (https://github.com/protocolbuffers/protobuf/commit/b2e39c175a690ba76f1cf05ebb17f003f6bcd610)
- Added malloc_trim() calls to Python allocator so RSS will decrease when memory is freed (https://github.com/protocolbuffers/protobuf/commit/56e9f2b4e467a7df5989a61eec142df7c72ab796)
- Upb: fix a Python memory leak in ByteSize() (https://github.com/protocolbuffers/protobuf/commit/e45a6d50682d5d4b204e7d76254b1585b43c6815)
- Support ASAN detection on clang (#1424) (https://github.com/protocolbuffers/upb/commit/1b0011dfef3062ac25b0b2250c3140312b97fdf0)
- Upb: bugfix for importing a proto3 enum from within a proto2 file (https://github.com/protocolbuffers/upb/commit/b19edc5ce0b0dd6591e7b8f65430b0f3e3ea1c29)
- Expose methods needed by Ruby FFI using UPB_API (#1391) (https://github.com/protocolbuffers/upb/commit/01fed1cc1ba255bf22b49393ba054b8d270e6ba3)
- Fix
PyUpb_Message_MergeInternalsegfault (#1338) (https://github.com/protocolbuffers/upb/commit/cefa206f546ce36f895cd02ab5a7e8a1f6918a22)
Other
- Expose alias to protobuf_nowkt runtime (https://github.com/protocolbuffers/protobuf/commit/5b6c2459b57c23669d6efc5a14a874c693004eec)
- Update absl submodule and dep to latest 20230802.0 LTS (#13515) (https://github.com/protocolbuffers/protobuf/commit/e7bb34db3c57617f772a04d343a8bfa5109cf6cf)
- C++
Published by acozzette over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v24.4
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Add dependency on absl::layout, and explicitly include absl layout includes (#14042) (https://github.com/protocolbuffers/protobuf/commit/96c1a7d47702f6c82b96e2a0ff112b30ea85c330)
- Include Abseil's str_cat.h for absl::AlphaNum (#14054) (https://github.com/protocolbuffers/protobuf/commit/955d371eacedc37eeff8bf61a1046d694a5fbc8a)
Java
- Rolled back breaking change to gencode before 3.15 (#14246) (https://github.com/protocolbuffers/protobuf/commit/b9cf19ba5ec4aa6ff108933fa4a1adb075f8c4fb)
Python
- Fix python code generation compatibility with Cython (#14240) (https://github.com/protocolbuffers/protobuf/commit/fe87c909399c45d54374817a52af40d6cfd8e063)
- C++
Published by mkruskal-google over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v24.3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Workaround ICE on gcc 7.5 by not having one overload call the other one with a (#13808) (https://github.com/protocolbuffers/protobuf/commit/398a84ce486d282e217f1120b810626c6b71f058)
Python
Python C-Extension (Default)
- Added malloc_trim() calls to Python allocator so RSS will decrease when memory is freed (https://github.com/protocolbuffers/upb/commit/b0f5d5d94d9faafed2ab0fcaa9396cb4a984a2c1)
UPB (Python/PHP/Ruby C-Extension)
- C++
Published by honglooker over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v24.2
C++
- Fixes for 32-bit MSVC. (https://github.com/protocolbuffers/protobuf/commit/01e1a5c28ae00cca0821a95e3c68447df4d1591c)
- C++
Published by haberman over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v24.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Python
Python C-Extension (Default)
- Revert CopyFrom() optimization that was causing crashes back to Serialize/Parse (https://github.com/protocolbuffers/upb/commit/78e96941a47108dae2bbcb39cc481a848d3bfa67)
Ruby
Ruby C-Extension
- Ruby: Fix object cache lookups on 32-bit platforms (#13494) (#13580) (https://github.com/protocolbuffers/protobuf/commit/3094b492468caafcdb61c132dab636cc3c87773f)
- C++
Published by fowles over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v24.0
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Drop support for Bazel 5. (https://github.com/protocolbuffers/protobuf/commit/fff490558816802c5b3d51169f797046f369453f)
- Allow code generators to specify whether or not they support editions. (https://github.com/protocolbuffers/protobuf/commit/e2cec78455769881b9e8c23babeb3fe8effe81fe)
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Compiler: Correct depfile generation when there are no outputs (https://github.com/protocolbuffers/protobuf/commit/a44fc2b063d7466d48e2aeba05f9c35654140d87)
- Add dllexport_decl for generated default instance. (#13085) (https://github.com/protocolbuffers/protobuf/commit/9d0961afb712de0aa6f6fea681f4a7241faac6e2)
- In TSan mode, detect concurrent mutations of repeated/map fields. (https://github.com/protocolbuffers/protobuf/commit/d800c5f08b184d261e6c47662035d554f109eb3b)
- Add a workaround for GCC constexpr bug (https://github.com/protocolbuffers/protobuf/commit/e15326ba807a49365b6c9f5958e969b5aa915f8c)
- Turn on the table-driven parser by default, as it is no longer experimental. (https://github.com/protocolbuffers/protobuf/commit/c3e2efe70bbdfba4dd1f5c570043688fcbe74497)
- Shrink code size of generated protocol buffer code via a few (https://github.com/protocolbuffers/protobuf/commit/97c351319ffa9715ed11a883c4adbaadf63a2fcc)
- Implement enforcement of target constraints (https://github.com/protocolbuffers/protobuf/commit/e3848c19988e56a20fbd3fab5d181df6de575a69)
- Fix(libprotoc): export useful symbols from .so (https://github.com/protocolbuffers/protobuf/commit/44b4bcc9e08b91dfeeb608c9d7c815f7cf2e00de)
C++
- In OSS mode omit some extern template specializations. We have seen reports of compilers falling over due to the size of translation units. (https://github.com/protocolbuffers/protobuf/commit/2ed49c95f9abbdf35e741c8a4e85976142fa9ff8)
- Automated rollback of commit adb2c4b415c35cda3e4394384ec579ea8dd8ec92. (https://github.com/protocolbuffers/protobuf/commit/9f2d7ea773217cac09630eef63d91e22b1b00d60)
- Fix building shared libraries on MinGW-w64 (#13240) (https://github.com/protocolbuffers/protobuf/commit/c2f07bb80f5273f5ba8f3e1c25d124f47e3f5430)
- Enable TSan validation to detect when a mutable accessor of a message is called concurrently with another accessor on the same message, which is a data race. (https://github.com/protocolbuffers/protobuf/commit/0275e516229daca19d29b5915ec78fe19e317e43)
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Enable TSan validation to detect when a mutable accessor of a message is called concurrently with another accessor on the same message, which is a data race. (https://github.com/protocolbuffers/protobuf/commit/e2eae81b973c6944f3062fc21929368467e0ddb3)
- Fix case of locality optimizer being wrong for split repeated fields and add a check that the optimized order has the same size as the unoptimized order. (https://github.com/protocolbuffers/protobuf/commit/76a327e1e1f02e2f8027d4dd02950711435ea461)
- Enable TSan validation to detect when a mutable accessor of a message is called concurrently with another accessor on the same message, which is a data race. (https://github.com/protocolbuffers/protobuf/commit/80dbc50118c0ef5d38da727d1cf903408ea21b41)
- Mark single arg ctor explicit in DynamicMessageFactory. (https://github.com/protocolbuffers/protobuf/commit/8fe88a5a07578dd5bd3aa648e8c2f95a22407094)
- Enable TSan validation to detect when a mutable accessor of a message is called concurrently with another accessor on the same message, which is a data race. (https://github.com/protocolbuffers/protobuf/commit/6d79d13e478d677e7bdc1587d3442a070d5205cd)
- Let ParseRepeatedStringOnce call AllocateFromStringBlock(). (https://github.com/protocolbuffers/protobuf/commit/bcf3e36a48c573a81d6359a61275f477a7b57c2d)
- Check next tag in MpRepeatedMessage. (https://github.com/protocolbuffers/protobuf/commit/9e1cf6fe9c762ddd21bcea5039cdbf1f7b509eea)
- When parsing repeated primitives, append to a tmp array on stack. (https://github.com/protocolbuffers/protobuf/commit/adb2c4b415c35cda3e4394384ec579ea8dd8ec92)
- Add dllexport_decl for generated default instance. (#13085) (https://github.com/protocolbuffers/protobuf/commit/9d0961afb712de0aa6f6fea681f4a7241faac6e2)
TextFormat::ParseFieldValueFromStringnow takesabsl::string_viewasinputinstead ofconst std::string &(https://github.com/protocolbuffers/protobuf/commit/5411fc66796d9e14d39b7ba0385eee5ffde875dc)- In TSan mode, detect concurrent mutations of repeated/map fields. (https://github.com/protocolbuffers/protobuf/commit/d800c5f08b184d261e6c47662035d554f109eb3b)
- Use the same ABI for static and shared libraries on non-Windows platforms (#12983) (https://github.com/protocolbuffers/protobuf/commit/4329fde9cf3fab7d1b3a9abe0fbeee1ad8a8b111)
- Replace ColdChunkSkipper with iterator-based approach. (https://github.com/protocolbuffers/protobuf/commit/ad677f3215de203695ade78a25f79fa61010f770)
- Check invalid type_id after casting it to uint32_t. (https://github.com/protocolbuffers/protobuf/commit/d8901265c75387851b7b66624b5bcc5bafa9bad9)
- Strengthen assertions on reflection methods. (https://github.com/protocolbuffers/protobuf/commit/eb5e9e01d9831e9fae48bc6f688114f53cccabc5)
- Add assertions to reflection methods. (https://github.com/protocolbuffers/protobuf/commit/5866e4575c7e43cfcabb98efd6f36b4ba5c4bb30)
- Fail to parse message sets if type_id is zero. (https://github.com/protocolbuffers/protobuf/commit/bc1b1f6e53e9844ed42c796c7246d51aef65ed65)
- Enable the use of [SU]Int32Size and EnumSize templates for AArch64 (#11102) (https://github.com/protocolbuffers/protobuf/commit/e285d3e307512f24576b56d18cb5a5b655e2f393)
- Add a workaround for GCC constexpr bug (https://github.com/protocolbuffers/protobuf/commit/e15326ba807a49365b6c9f5958e969b5aa915f8c)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on Map, RepeatedField and RepeatedPtrField. (https://github.com/protocolbuffers/protobuf/commit/7b7ba2df67199a2c95b21ce6eec9e6d62b71cc60) - Turn on the table-driven parser by default, as it is no longer experimental. (https://github.com/protocolbuffers/protobuf/commit/c3e2efe70bbdfba4dd1f5c570043688fcbe74497)
- Fix: avoid warnings on MSVC (#12697) (https://github.com/protocolbuffers/protobuf/commit/4fcf2c0a0968c88c60570da8fa6d7a18371c4b4b)
- Fix: avoid warnings on Windows (#12701) (https://github.com/protocolbuffers/protobuf/commit/f9108c2dd0921db50bb78e3fc6f0833186f8cf64)
- Shrink code size of generated protocol buffer code via a few (https://github.com/protocolbuffers/protobuf/commit/97c351319ffa9715ed11a883c4adbaadf63a2fcc)
- Fix(libprotoc): export useful symbols from .so (#12619) (https://github.com/protocolbuffers/protobuf/commit/b1ae4fa87a95ee3650a6ad4192176d845e03da52)
- Forbid embedded nulls in
json_name. (https://github.com/protocolbuffers/protobuf/commit/b478a29bf0945d5b141992885ac9cfde45c66697) - Implement option retention for C# (https://github.com/protocolbuffers/protobuf/commit/5f64444e7b19421c25ae12d3c69acbab3a70a1bb)
- Implement enforcement of target constraints (https://github.com/protocolbuffers/protobuf/commit/e3848c19988e56a20fbd3fab5d181df6de575a69)
- Make RepeatedField and RepeatedPtrField be destructor skippable for proto arenas. (https://github.com/protocolbuffers/protobuf/commit/e4168df564be12984ae836e5e870e634733f42a3)
- Update MessageDifferencer to conditionally force comparing additional fields while doing PARTIAL comparison (compare fields which are not repeated, have no presence and are set to their default value). (https://github.com/protocolbuffers/protobuf/commit/748f57f2b67c56e050b660ffbafb9f3a5795c28a)
- CMake: Use the correct jsoncpp target name in static builds (#12733) (https://github.com/protocolbuffers/protobuf/commit/d372fcded6390d396d116ee984c000983beecabc)
- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config (#12700) (https://github.com/protocolbuffers/protobuf/commit/f86008a548c80021bc6e72de0f992a87d68e7ce4)
- Avoid using string(JOIN..., which requires cmake 3.12 (https://github.com/protocolbuffers/protobuf/commit/adee0a59f914e8bc2982b716afef2ff3b72f67a5)
Java
- Put a 4k limit on preallocation to prevent OOM from malformed inputs. (https://github.com/protocolbuffers/protobuf/commit/173adca21659bfd06ae23f07d48129e7633d1f2e)
- Mark OneofDescriptor.isSynthetic() deprecated. (https://github.com/protocolbuffers/protobuf/commit/b6b86e21fb67e22b762b7230427bce00ee8c9fec)
- Use ProtobufArrayList for repeated bytes field. Presize primitive arrays for fixed-length primitives. (https://github.com/protocolbuffers/protobuf/commit/b0b926a141e261ab1e4d41715c1d51cc31db46dd)
- Add protobuf-kotlin into protobuf-bom (#12936) (https://github.com/protocolbuffers/protobuf/commit/943b696094631cf263c6d9f92811c7a3419ef17c)
- Handle clear for Java proto3 optionals (synthetic oneofs) using field descriptor instead of clear method. (https://github.com/protocolbuffers/protobuf/commit/a5349027e3f0d7503bcab55240f18ec657e2dad7)
- Deps: Update Guava to 32.0.0 (#12953) (https://github.com/protocolbuffers/protobuf/commit/cd615a8c6596de1fc35874561b53d26597c0b65a)
- Migrate repeated numeric fields to use bit field to track presence instead of using it to indicate the field mutability to potentially skip work on the field during build operations. (https://github.com/protocolbuffers/protobuf/commit/f0de774705b43e120c43a545033ed29728351bdc)
- Automated rollback of commit 3e188b7c04cfdaec134cb59831f009c1ce1d7f12. (https://github.com/protocolbuffers/protobuf/commit/a1b3ff0ddb33b3535bf415474d2f1a561883a81f)
Csharp
- [C#] Replace regex that validates descriptor names (#12174) (https://github.com/protocolbuffers/protobuf/commit/cfb702a0788f57b6f321cd7a039701f0f53a19c2)
- Implement option retention for C# (https://github.com/protocolbuffers/protobuf/commit/5f64444e7b19421c25ae12d3c69acbab3a70a1bb)
Objective-C
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Check invalid type_id after casting it to uint32_t. (https://github.com/protocolbuffers/protobuf/commit/d8901265c75387851b7b66624b5bcc5bafa9bad9)
- Fix jruby encoding in new thread (#12919) (https://github.com/protocolbuffers/protobuf/commit/6609bea792af9624f460dad0213bb47fd1ccf623)
- Add assertions to reflection methods. (https://github.com/protocolbuffers/protobuf/commit/5866e4575c7e43cfcabb98efd6f36b4ba5c4bb30)
- [C#] Replace regex that validates descriptor names (#12174) (https://github.com/protocolbuffers/protobuf/commit/cfb702a0788f57b6f321cd7a039701f0f53a19c2)
Python
- Raise warinings when extend repeated field with none iterable in OSS. OSS will raise errors soon (https://github.com/protocolbuffers/protobuf/commit/96ca7d96daf6694341843350a162d9940e7552d3)
- Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/3560e2381efc3e01e67cc895383d270cd5492e13)
- Removed message._extensions_by_number (https://github.com/protocolbuffers/protobuf/commit/86fc32cedc7aa01798938d5f860094fc21874b93)
- Removed message._extensions_by_name (https://github.com/protocolbuffers/protobuf/commit/e737c8108a72d26e706f6eb5cbc814736a9d2389)
- Remove RegisterExtension() in python generated code (https://github.com/protocolbuffers/protobuf/commit/e5a7a2eba79f697e2c2823dfbb95659088f994a6)
- Deprecated APIs that add non top descriptors to pool will be removed soon (https://github.com/protocolbuffers/protobuf/commit/3f5d844d9068de034df8db49a3c91f9100bd192d)
Python C-Extension (Default)
- Remove RegisterExtension in message class (https://github.com/protocolbuffers/upb/commit/cbacdf152a04abc7e849b68ba6c4eaeb3c3669e3)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
- Adding provide to php composer.json (#13141) (https://github.com/protocolbuffers/protobuf/commit/d603b4199e42d18a6ed433f47bdf8e5042900588)
- Require PHP version >=8.0, Ruby >=2.7, and Python >=3.8 (https://github.com/protocolbuffers/protobuf/commit/a5516ca6cc5e8034344879d1da83c946cff17ccf)
- Enable building PHP extension on Windows (#13097) (https://github.com/protocolbuffers/protobuf/commit/4d9bbac167a651db960c4d334fa1c47ecd5130e2)
- Add support for option retention in PHP (https://github.com/protocolbuffers/protobuf/commit/ba348e2b3bf30f3d6f6c356020ac6999ddcf13b0)
PHP C-Extension
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Enable building PHP extension on Windows (#13097) (https://github.com/protocolbuffers/protobuf/commit/4d9bbac167a651db960c4d334fa1c47ecd5130e2)
- Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/3560e2381efc3e01e67cc895383d270cd5492e13)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Update ruby gemspec required ruby version to >=2.7 (https://github.com/protocolbuffers/protobuf/commit/14ea2cb2966f6ede44b91d5594d46d8ea45b64ef)
- Refactor the object cache to better account for race conditions (#13204) (https://github.com/protocolbuffers/protobuf/commit/a01d047456783b46a4ca675eee881de110a88799)
- Fix jruby encoding in new thread (#12919) (https://github.com/protocolbuffers/protobuf/commit/6609bea792af9624f460dad0213bb47fd1ccf623)
- Implement option retention for Ruby (https://github.com/protocolbuffers/protobuf/commit/d96032d1a501d8d8ee2f581d0a9597d631797c5f)
Ruby C-Extension
- Refactor the object cache to better account for race conditions (#13204) (https://github.com/protocolbuffers/protobuf/commit/a01d047456783b46a4ca675eee881de110a88799)
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/3560e2381efc3e01e67cc895383d270cd5492e13)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Fix
upb_MiniTableField_CType()to work correctly for enums & strings. (https://github.com/protocolbuffers/upb/commit/532b4d0671c806f3f590fb0313b8fc73bd460c6d) - Fixed a bug in
upb_Map_Delete()that caused crashes in map.delete(k) for Ruby when string-keyed maps were in use. (https://github.com/protocolbuffers/upb/commit/14bad4a5bfd8ff8fced91010edac7dd3747a7bd7)
Other
- Drop Bazel 4 support and add Bazel 6 (https://github.com/protocolbuffers/protobuf/commit/4031712c34084f8c2bb4904e49e8a0d723ea8578)
- Bump Abseil submodule to 20230125.3 (#12660) (https://github.com/protocolbuffers/protobuf/commit/2a3ce310843056fce9159af643c4785a0f8c85e2)
- Added a conformance test for embedded nulls in JSON strings. (https://github.com/protocolbuffers/protobuf/commit/37dfe806f84617390e9779fc237a0a77f5a50d6d)
- C++
Published by ericsalo over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v24.0-rc3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Drop support for Bazel 5. (https://github.com/protocolbuffers/protobuf/commit/fff490558816802c5b3d51169f797046f369453f)
C++
- In OSS mode omit some extern template specializations. We have seen reports of compilers falling over due to the size of translation units. (https://github.com/protocolbuffers/protobuf/commit/2ed49c95f9abbdf35e741c8a4e85976142fa9ff8)
- Automated rollback of commit adb2c4b415c35cda3e4394384ec579ea8dd8ec92. (https://github.com/protocolbuffers/protobuf/commit/9f2d7ea773217cac09630eef63d91e22b1b00d60)
- C++
Published by zhangskz over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v24.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Allow code generators to specify whether or not they support editions. (https://github.com/protocolbuffers/protobuf/commit/e2cec78455769881b9e8c23babeb3fe8effe81fe)
Java
- Put a 4k limit on preallocation to prevent OOM from malformed inputs. (https://github.com/protocolbuffers/protobuf/commit/173adca21659bfd06ae23f07d48129e7633d1f2e)
Ruby
- Update ruby gemspec required ruby version to >=2.7 (https://github.com/protocolbuffers/protobuf/commit/14ea2cb2966f6ede44b91d5594d46d8ea45b64ef)
- C++
Published by zhangskz over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v24.0-rc1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Compiler: Correct depfile generation when there are no outputs (https://github.com/protocolbuffers/protobuf/commit/a44fc2b063d7466d48e2aeba05f9c35654140d87)
- Add dllexport_decl for generated default instance. (#13085) (https://github.com/protocolbuffers/protobuf/commit/9d0961afb712de0aa6f6fea681f4a7241faac6e2)
- In TSan mode, detect concurrent mutations of repeated/map fields. (https://github.com/protocolbuffers/protobuf/commit/d800c5f08b184d261e6c47662035d554f109eb3b)
- Add a workaround for GCC constexpr bug (https://github.com/protocolbuffers/protobuf/commit/e15326ba807a49365b6c9f5958e969b5aa915f8c)
- Turn on the table-driven parser by default, as it is no longer experimental. (https://github.com/protocolbuffers/protobuf/commit/c3e2efe70bbdfba4dd1f5c570043688fcbe74497)
- Shrink code size of generated protocol buffer code via a few (https://github.com/protocolbuffers/protobuf/commit/97c351319ffa9715ed11a883c4adbaadf63a2fcc)
- Implement enforcement of target constraints (https://github.com/protocolbuffers/protobuf/commit/e3848c19988e56a20fbd3fab5d181df6de575a69)
- Fix(libprotoc): export useful symbols from .so (https://github.com/protocolbuffers/protobuf/commit/44b4bcc9e08b91dfeeb608c9d7c815f7cf2e00de)
C++
- Fix building shared libraries on MinGW-w64 (#13240) (https://github.com/protocolbuffers/protobuf/commit/c2f07bb80f5273f5ba8f3e1c25d124f47e3f5430)
- Enable TSan validation to detect when a mutable accessor of a message is called concurrently with another accessor on the same message, which is a data race. (https://github.com/protocolbuffers/protobuf/commit/0275e516229daca19d29b5915ec78fe19e317e43)
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Enable TSan validation to detect when a mutable accessor of a message is called concurrently with another accessor on the same message, which is a data race. (https://github.com/protocolbuffers/protobuf/commit/e2eae81b973c6944f3062fc21929368467e0ddb3)
- Fix case of locality optimizer being wrong for split repeated fields and add a check that the optimized order has the same size as the unoptimized order. (https://github.com/protocolbuffers/protobuf/commit/76a327e1e1f02e2f8027d4dd02950711435ea461)
- Enable TSan validation to detect when a mutable accessor of a message is called concurrently with another accessor on the same message, which is a data race. (https://github.com/protocolbuffers/protobuf/commit/80dbc50118c0ef5d38da727d1cf903408ea21b41)
- Mark single arg ctor explicit in DynamicMessageFactory. (https://github.com/protocolbuffers/protobuf/commit/8fe88a5a07578dd5bd3aa648e8c2f95a22407094)
- Enable TSan validation to detect when a mutable accessor of a message is called concurrently with another accessor on the same message, which is a data race. (https://github.com/protocolbuffers/protobuf/commit/6d79d13e478d677e7bdc1587d3442a070d5205cd)
- Let ParseRepeatedStringOnce call AllocateFromStringBlock(). (https://github.com/protocolbuffers/protobuf/commit/bcf3e36a48c573a81d6359a61275f477a7b57c2d)
- Check next tag in MpRepeatedMessage. (https://github.com/protocolbuffers/protobuf/commit/9e1cf6fe9c762ddd21bcea5039cdbf1f7b509eea)
- When parsing repeated primitives, append to a tmp array on stack. (https://github.com/protocolbuffers/protobuf/commit/adb2c4b415c35cda3e4394384ec579ea8dd8ec92)
- Add dllexport_decl for generated default instance. (#13085) (https://github.com/protocolbuffers/protobuf/commit/9d0961afb712de0aa6f6fea681f4a7241faac6e2)
TextFormat::ParseFieldValueFromStringnow takesabsl::string_viewasinputinstead ofconst std::string &(https://github.com/protocolbuffers/protobuf/commit/5411fc66796d9e14d39b7ba0385eee5ffde875dc)- In TSan mode, detect concurrent mutations of repeated/map fields. (https://github.com/protocolbuffers/protobuf/commit/d800c5f08b184d261e6c47662035d554f109eb3b)
- Use the same ABI for static and shared libraries on non-Windows platforms (#12983) (https://github.com/protocolbuffers/protobuf/commit/4329fde9cf3fab7d1b3a9abe0fbeee1ad8a8b111)
- Replace ColdChunkSkipper with iterator-based approach. (https://github.com/protocolbuffers/protobuf/commit/ad677f3215de203695ade78a25f79fa61010f770)
- Check invalid type_id after casting it to uint32_t. (https://github.com/protocolbuffers/protobuf/commit/d8901265c75387851b7b66624b5bcc5bafa9bad9)
- Strengthen assertions on reflection methods. (https://github.com/protocolbuffers/protobuf/commit/eb5e9e01d9831e9fae48bc6f688114f53cccabc5)
- Add assertions to reflection methods. (https://github.com/protocolbuffers/protobuf/commit/5866e4575c7e43cfcabb98efd6f36b4ba5c4bb30)
- Fail to parse message sets if type_id is zero. (https://github.com/protocolbuffers/protobuf/commit/bc1b1f6e53e9844ed42c796c7246d51aef65ed65)
- Enable the use of [SU]Int32Size and EnumSize templates for AArch64 (#11102) (https://github.com/protocolbuffers/protobuf/commit/e285d3e307512f24576b56d18cb5a5b655e2f393)
- Add a workaround for GCC constexpr bug (https://github.com/protocolbuffers/protobuf/commit/e15326ba807a49365b6c9f5958e969b5aa915f8c)
- Add
ABSL_ATTRIBUTE_LIFETIME_BOUNDattribute on Map, RepeatedField and RepeatedPtrField. (https://github.com/protocolbuffers/protobuf/commit/7b7ba2df67199a2c95b21ce6eec9e6d62b71cc60) - Turn on the table-driven parser by default, as it is no longer experimental. (https://github.com/protocolbuffers/protobuf/commit/c3e2efe70bbdfba4dd1f5c570043688fcbe74497)
- Fix: avoid warnings on MSVC (#12697) (https://github.com/protocolbuffers/protobuf/commit/4fcf2c0a0968c88c60570da8fa6d7a18371c4b4b)
- Fix: avoid warnings on Windows (#12701) (https://github.com/protocolbuffers/protobuf/commit/f9108c2dd0921db50bb78e3fc6f0833186f8cf64)
- Shrink code size of generated protocol buffer code via a few (https://github.com/protocolbuffers/protobuf/commit/97c351319ffa9715ed11a883c4adbaadf63a2fcc)
- Fix(libprotoc): export useful symbols from .so (#12619) (https://github.com/protocolbuffers/protobuf/commit/b1ae4fa87a95ee3650a6ad4192176d845e03da52)
- Forbid embedded nulls in
json_name. (https://github.com/protocolbuffers/protobuf/commit/b478a29bf0945d5b141992885ac9cfde45c66697) - Implement option retention for C# (https://github.com/protocolbuffers/protobuf/commit/5f64444e7b19421c25ae12d3c69acbab3a70a1bb)
- Implement enforcement of target constraints (https://github.com/protocolbuffers/protobuf/commit/e3848c19988e56a20fbd3fab5d181df6de575a69)
- Make RepeatedField and RepeatedPtrField be destructor skippable for proto arenas. (https://github.com/protocolbuffers/protobuf/commit/e4168df564be12984ae836e5e870e634733f42a3)
- Update MessageDifferencer to conditionally force comparing additional fields while doing PARTIAL comparison (compare fields which are not repeated, have no presence and are set to their default value). (https://github.com/protocolbuffers/protobuf/commit/748f57f2b67c56e050b660ffbafb9f3a5795c28a)
- CMake: Use the correct jsoncpp target name in static builds (#12733) (https://github.com/protocolbuffers/protobuf/commit/d372fcded6390d396d116ee984c000983beecabc)
- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config (#12700) (https://github.com/protocolbuffers/protobuf/commit/f86008a548c80021bc6e72de0f992a87d68e7ce4)
- Avoid using string(JOIN..., which requires cmake 3.12 (https://github.com/protocolbuffers/protobuf/commit/adee0a59f914e8bc2982b716afef2ff3b72f67a5)
Java
- Mark OneofDescriptor.isSynthetic() deprecated. (https://github.com/protocolbuffers/protobuf/commit/b6b86e21fb67e22b762b7230427bce00ee8c9fec)
- Use ProtobufArrayList for repeated bytes field. Presize primitive arrays for fixed-length primitives. (https://github.com/protocolbuffers/protobuf/commit/b0b926a141e261ab1e4d41715c1d51cc31db46dd)
- Add protobuf-kotlin into protobuf-bom (#12936) (https://github.com/protocolbuffers/protobuf/commit/943b696094631cf263c6d9f92811c7a3419ef17c)
- Handle clear for Java proto3 optionals (synthetic oneofs) using field descriptor instead of clear method. (https://github.com/protocolbuffers/protobuf/commit/a5349027e3f0d7503bcab55240f18ec657e2dad7)
- Deps: Update Guava to 32.0.0 (#12953) (https://github.com/protocolbuffers/protobuf/commit/cd615a8c6596de1fc35874561b53d26597c0b65a)
- Migrate repeated numeric fields to use bit field to track presence instead of using it to indicate the field mutability to potentially skip work on the field during build operations. (https://github.com/protocolbuffers/protobuf/commit/f0de774705b43e120c43a545033ed29728351bdc)
- Automated rollback of commit 3e188b7c04cfdaec134cb59831f009c1ce1d7f12. (https://github.com/protocolbuffers/protobuf/commit/a1b3ff0ddb33b3535bf415474d2f1a561883a81f)
Csharp
- [C#] Replace regex that validates descriptor names (#12174) (https://github.com/protocolbuffers/protobuf/commit/cfb702a0788f57b6f321cd7a039701f0f53a19c2)
- Implement option retention for C# (https://github.com/protocolbuffers/protobuf/commit/5f64444e7b19421c25ae12d3c69acbab3a70a1bb)
Objective-C
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Check invalid type_id after casting it to uint32_t. (https://github.com/protocolbuffers/protobuf/commit/d8901265c75387851b7b66624b5bcc5bafa9bad9)
- Fix jruby encoding in new thread (#12919) (https://github.com/protocolbuffers/protobuf/commit/6609bea792af9624f460dad0213bb47fd1ccf623)
- Add assertions to reflection methods. (https://github.com/protocolbuffers/protobuf/commit/5866e4575c7e43cfcabb98efd6f36b4ba5c4bb30)
- [C#] Replace regex that validates descriptor names (#12174) (https://github.com/protocolbuffers/protobuf/commit/cfb702a0788f57b6f321cd7a039701f0f53a19c2)
Python
- Raise warinings when extend repeated field with none iterable in OSS. OSS will raise errors soon (https://github.com/protocolbuffers/protobuf/commit/96ca7d96daf6694341843350a162d9940e7552d3)
- Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/3560e2381efc3e01e67cc895383d270cd5492e13)
- Removed message._extensions_by_number (https://github.com/protocolbuffers/protobuf/commit/86fc32cedc7aa01798938d5f860094fc21874b93)
- Removed message._extensions_by_name (https://github.com/protocolbuffers/protobuf/commit/e737c8108a72d26e706f6eb5cbc814736a9d2389)
- Remove RegisterExtension() in python generated code (https://github.com/protocolbuffers/protobuf/commit/e5a7a2eba79f697e2c2823dfbb95659088f994a6)
- Deprecated APIs that add non top descriptors to pool will be removed soon (https://github.com/protocolbuffers/protobuf/commit/3f5d844d9068de034df8db49a3c91f9100bd192d)
Python C-Extension (Default)
- Remove RegisterExtension in message class (https://github.com/protocolbuffers/upb/commit/cbacdf152a04abc7e849b68ba6c4eaeb3c3669e3)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
- Adding provide to php composer.json (#13141) (https://github.com/protocolbuffers/protobuf/commit/d603b4199e42d18a6ed433f47bdf8e5042900588)
- Require PHP version >=8.0, Ruby >=2.7, and Python >=3.8 (https://github.com/protocolbuffers/protobuf/commit/a5516ca6cc5e8034344879d1da83c946cff17ccf)
- Enable building PHP extension on Windows (#13097) (https://github.com/protocolbuffers/protobuf/commit/4d9bbac167a651db960c4d334fa1c47ecd5130e2)
- Add support for option retention in PHP (https://github.com/protocolbuffers/protobuf/commit/ba348e2b3bf30f3d6f6c356020ac6999ddcf13b0)
PHP C-Extension
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Enable building PHP extension on Windows (#13097) (https://github.com/protocolbuffers/protobuf/commit/4d9bbac167a651db960c4d334fa1c47ecd5130e2)
- Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/3560e2381efc3e01e67cc895383d270cd5492e13)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Refactor the object cache to better account for race conditions (#13204) (https://github.com/protocolbuffers/protobuf/commit/a01d047456783b46a4ca675eee881de110a88799)
- Fix jruby encoding in new thread (#12919) (https://github.com/protocolbuffers/protobuf/commit/6609bea792af9624f460dad0213bb47fd1ccf623)
- Implement option retention for Ruby (https://github.com/protocolbuffers/protobuf/commit/d96032d1a501d8d8ee2f581d0a9597d631797c5f)
Ruby C-Extension
- Refactor the object cache to better account for race conditions (#13204) (https://github.com/protocolbuffers/protobuf/commit/a01d047456783b46a4ca675eee881de110a88799)
- Release prototype of Protobuf Editions. (https://github.com/protocolbuffers/protobuf/commit/4f9e41767a819abf8108bb29e4910fbc0f37dc6e)
- Remove RegisterExtension in message class (https://github.com/protocolbuffers/protobuf/commit/3560e2381efc3e01e67cc895383d270cd5492e13)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Fix
upb_MiniTableField_CType()to work correctly for enums & strings. (https://github.com/protocolbuffers/upb/commit/532b4d0671c806f3f590fb0313b8fc73bd460c6d) - Fixed a bug in
upb_Map_Delete()that caused crashes in map.delete(k) for Ruby when string-keyed maps were in use. (https://github.com/protocolbuffers/upb/commit/14bad4a5bfd8ff8fced91010edac7dd3747a7bd7)
Other
- Drop Bazel 4 support and add Bazel 6 (https://github.com/protocolbuffers/protobuf/commit/4031712c34084f8c2bb4904e49e8a0d723ea8578)
- Bump Abseil submodule to 20230125.3 (#12660) (https://github.com/protocolbuffers/protobuf/commit/2a3ce310843056fce9159af643c4785a0f8c85e2)
- Added a conformance test for embedded nulls in JSON strings. (https://github.com/protocolbuffers/protobuf/commit/37dfe806f84617390e9779fc237a0a77f5a50d6d)
- C++
Published by mkruskal-google over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v23.4
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Add dllexport_decl for generated default instance. (#13085) (https://github.com/protocolbuffers/protobuf/commit/0c70d9514090a2e5e5b35eba7e4d23d97592ec49)
Java
- Deps: Update Guava to 32.0.1 (https://github.com/protocolbuffers/protobuf/commit/40d577782b75aa4f3d9149a1eb6b01b2349f13af)
- C++
Published by mkruskal-google over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v23.3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Regenerate stale files (#13046) (https://github.com/protocolbuffers/protobuf/commit/58b6ddb03ef8f186c9225d0107213f74750a82f3)
- Use the same ABI for static and shared libraries on non-Windows platforms (#12983) (https://github.com/protocolbuffers/protobuf/commit/efa1ec75cf152991a64cedf9c4a1ec5cb826ee34)
Objective-C
- Regenerate stale files (#13046) (https://github.com/protocolbuffers/protobuf/commit/58b6ddb03ef8f186c9225d0107213f74750a82f3)
UPB (Python/PHP/Ruby C-Extension)
- Fixed a bug in
upb_Map_Delete()that caused crashes in map.delete(k) for Ruby when string-keyed maps were in use. (https://github.com/protocolbuffers/upb/commit/2de798e976d6c12d75b8b7d40f38da1f0ef53c8b)
- C++
Published by ericsalo over 2 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v23.2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Add missing header to Objective-c generator
Java
- Rollback of: Simplify protobuf Java message builder by removing methods that calls the super class only. (https://github.com/protocolbuffers/protobuf/commit/b556b8871cd07971b09df7b73ff6a461d78560fb)
- C++
Published by zhangskz almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v23.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Add a workaround for GCC constexpr bug (https://github.com/protocolbuffers/protobuf/commit/67ecdde4f257094c4019ebfda62b2ae60facb6fa)
C++
- Add a workaround for GCC constexpr bug (https://github.com/protocolbuffers/protobuf/commit/67ecdde4f257094c4019ebfda62b2ae60facb6fa)
Csharp
- [C#] Replace regex that validates descriptor names (#12174) (https://github.com/protocolbuffers/protobuf/commit/0ced986277be52dcb666e802a4602081df4e7264)
- C++
Published by haberman almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v22.5
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix: avoid warnings on MSVC (#12697) (https://github.com/protocolbuffers/protobuf/commit/4483f10a1d7a553b17301d8fce477a12a6777c00)
- Fix: avoid warnings on Windows (#12701) (https://github.com/protocolbuffers/protobuf/commit/a1435ade2aad3ce1171d7bdfcc051df3c97ec71c)
- Add missing cstdint header (https://github.com/protocolbuffers/protobuf/commit/9daf5fb6ca8c8309548059c8f3c3574875036354)
- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config (#12700) (https://github.com/protocolbuffers/protobuf/commit/18fae1c15112efad2080c2b2f726d904fea48b35)
- Avoid using string(JOIN..., which requires cmake 3.12 (https://github.com/protocolbuffers/protobuf/commit/0ce610ef46ce8937306778105a881cd7c28657ec)
- Explicitly include GTest package in examples (https://github.com/protocolbuffers/protobuf/commit/5191c3b26435dd852cd57e9ab5c73f4ea8753183)
- Bump Abseil submodule to 20230125.3 (#12660) (https://github.com/protocolbuffers/protobuf/commit/2880a20b01af3c955a76f2a1a58342fea8b5f741)
- C++
Published by acozzette almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v23.0
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Implement a retain_options flag in protoc. (https://github.com/protocolbuffers/protobuf/commit/83507c7f4e8a53cc6e800efac5ce157cd960f657)
- Make protoc --descriptor_set_out respect option retention (https://github.com/protocolbuffers/protobuf/commit/ae2531dcc2492c51554ea36d15540ff816ca6abd)
- Modify release artifacts for protoc to statically link system libraries. (https://github.com/protocolbuffers/protobuf/commit/723bd4c3c1a51ccf7e9726453f0b710223c4b583)
- Extension declaration: Enforce that if the extension range has a declaration then all extensions in that range must be declared. This should prevent non-declared extensions from being added. (https://github.com/protocolbuffers/protobuf/commit/5dc171f71eca66579b06d4400ee5c94bfa68947a)
- Implement "reserved" for extension declaration. (https://github.com/protocolbuffers/protobuf/commit/41287bd5d5373e91277b849e93c7ae2a0238b5c3)
- Open-source extension declaration definition. (https://github.com/protocolbuffers/protobuf/commit/145900f06c732974af996a28a3e2c211ae104888)
C++
- Fix(libprotoc): export useful symbols from .so (https://github.com/protocolbuffers/protobuf/commit/46fb4aa8d2ade5e0067fce271fcb5293c5c70500)
- Turn off clang::musttail on i386 (https://github.com/protocolbuffers/protobuf/commit/b40633ff0bf9b34bf3bec9f3d35eec2d951a98b8)
- Fixes Clang 6 linker bug (https://github.com/protocolbuffers/protobuf/commit/49bb3f20647b914fc52909eec19f260fb9a945f3)
- Remove PROTOBUF_DEPRECATED in favor of [[deprecated]]. (https://github.com/protocolbuffers/protobuf/commit/5c59290022dcbbea71099bc40097a149a2446f21)
- Add
assertto the list of keywords for C++. (https://github.com/protocolbuffers/protobuf/commit/a75c1a2761e49d8afb7838c03b923b909420f7fd) - Added Reflection::GetCord() method in C++ (https://github.com/protocolbuffers/protobuf/commit/6ecb5d097e8d9bfafeb5ec8d251827f0d444f2ce)
- Support C++ protobuf ctype=CORD for bytes field (generated code). (https://github.com/protocolbuffers/protobuf/commit/714f97502662ae75ed64f8456b43d5536740b022)
- Expand LazySerializerEmitter to cover proto3 cases. (https://github.com/protocolbuffers/protobuf/commit/fab7f928b5375a20fd8d33556632128e936ad436)
- Unconditionally generate unknown field accessors. (https://github.com/protocolbuffers/protobuf/commit/dd8a3cf2b54a06ef0558c004f9fca570278ad4a1)
- Introduce proto filter for inject_field_listener_events. (https://github.com/protocolbuffers/protobuf/commit/2dc5338ea222e1f4e0357e46b702ed6a0e82aaeb)
- Add ParseFromCord to TextFormat (https://github.com/protocolbuffers/protobuf/commit/055a6c669fd1ee67803f71dcc55a3b746376934f)
- Mark proto2::Arena::GetArena as deprecated. (https://github.com/protocolbuffers/protobuf/commit/9f959583da525ba006a6dc6b8b8b733e4d8c619a)
Java
- Adds
Timestamps.now(). (https://github.com/protocolbuffers/protobuf/commit/295f1125ceff5e07dfb8bfd2d7bada6c28918c0c) - Added Reflection::GetCord() method in C++ (https://github.com/protocolbuffers/protobuf/commit/6ecb5d097e8d9bfafeb5ec8d251827f0d444f2ce)
- Re-attach OSGI headers to lite,core, and util. This information was dropped in the move from maven to bazel. (https://github.com/protocolbuffers/protobuf/commit/4b5652b030eda12fa1c7ea3e1ddd8d0404bd4ac5)
- Add Java FileDescriptor.copyHeadingTo() which copies file-level settings (e.g. syntax, package, file options) to FileDescriptorProto.Builder (https://github.com/protocolbuffers/protobuf/commit/6e6d0bce4a04fd13d50485c22ecc7e96d9a16000)
- Remove unnecessary has bits from proto2 Java. (https://github.com/protocolbuffers/protobuf/commit/c440da9e1389db520b79acb19cb55e5b3266dfba)
- Add casts to make protobuf compatible with Java 1.8 runtime. (https://github.com/protocolbuffers/protobuf/commit/d40aadf823cf7e1e62b65561656f689da8969463)
- Fix mutability bug in Java proto lite: sub-messages inside of oneofs were not (https://github.com/protocolbuffers/protobuf/commit/fa82155c653776304bf6d03c33bea744db1b5eff)
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (https://github.com/protocolbuffers/protobuf/commit/1de344fcd1c1b2c6ec937151d69634171463370d)
Kotlin
- Remove errorprone dependency from kotlin protos. (https://github.com/protocolbuffers/protobuf/commit/7b6e8282157f0280ecb3fd9fd4c6519a7cd5afbc)
Csharp
- Make json_name take priority over name (fully) in C# parsing (#12262) (https://github.com/protocolbuffers/protobuf/commit/4326e0f852a3cf47c30bf99db66c3e3e77658dfb)
- Add C# presence methods to proto3 oneof fields. (https://github.com/protocolbuffers/protobuf/commit/affadac847370221e2ec0e405d5715b4a22e518f)
Objective-C
- Enforce the max message size when serializing to binary form. (https://github.com/protocolbuffers/protobuf/commit/e6d01b2edcb04fdfb0f3cf79bf9d427f57fa2eac)
- Mark mergeFromData:extensionRegistry: as deprecated. (https://github.com/protocolbuffers/protobuf/commit/e3b00511099838e22f59827bfb7c72e27fcc22fa)
Python
- Fix bug in _internal_copy_files where the rule would fail in downstream repositories. (https://github.com/protocolbuffers/protobuf/commit/b36c39236e43f4ab9c1472064b6161d00aef21c5)
- Make numpy/pip_deps a test-only dependency. (https://github.com/protocolbuffers/protobuf/commit/fe038fc9d2e6a469c3cd2f1a84a6560c0a123481)
- Fix Python bug with required fields (https://github.com/protocolbuffers/protobuf/commit/579f4ab70dc5c37f075a0b3f186fe80dcdf8165d)
- Mark deprecated SupportsUnknownEnumValues on Message reflection. Use FieldDescriptor or EnumDescriptor instead. (https://github.com/protocolbuffers/protobuf/commit/0b9134bb4eb281c3ed1446e8acf1aa354e0fe67e)
- Raise warnings for MessageFactory class usages (https://github.com/protocolbuffers/protobuf/commit/dd9dd86fbca3ab5c1c7f0aa2534dc5da61530711)
- Add Python support for retention attribute (https://github.com/protocolbuffers/protobuf/commit/63389c027f474954e8178e77ac624e8ef952626d)
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (https://github.com/protocolbuffers/protobuf/commit/1de344fcd1c1b2c6ec937151d69634171463370d)
Python C-Extension (Default)
- Fix Python bug with required fields (https://github.com/protocolbuffers/upb/commit/ea4cb79f669e69342d7ced4d0255050325df41e3)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
- RepeatedField: unset by index (#11425) (https://github.com/protocolbuffers/protobuf/commit/363fa89b1f02d4c51028f8c8bcd506f08eaa6b49)
PHP C-Extension
- RepeatedField: unset by index (#11425) (https://github.com/protocolbuffers/protobuf/commit/363fa89b1f02d4c51028f8c8bcd506f08eaa6b49)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Change the Ruby code generator to emit a serialized proto instead of the DSL (#12319) (https://github.com/protocolbuffers/protobuf/commit/bd52d0483987f1a5186fc3daa261d1d76a787bcf)
- Feat(6178): emit ruby enum as integer (#11673) (https://github.com/protocolbuffers/protobuf/commit/8aa2b177f156393ce607b4ffea8c1ac28560c746)
Ruby C-Extension
- Feat(6178): emit ruby enum as integer (#11673) (https://github.com/protocolbuffers/protobuf/commit/8aa2b177f156393ce607b4ffea8c1ac28560c746)
- Ruby: Implement Write Barriers (#11793) (https://github.com/protocolbuffers/protobuf/commit/d82d8a48f6c50ae6c811dbd6b7383e36a691c6b3)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Implements upb_Message_DeepClone. (https://github.com/protocolbuffers/upb/commit/3286f948f888f0c912c4ec483db9a1a50a6782a3)
Other
- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config (#12700) (https://github.com/protocolbuffers/protobuf/commit/1ca4e9c4859a23112684138c78608ddc0b8f1770)
- Avoid using string(JOIN..., which requires cmake 3.12 (https://github.com/protocolbuffers/protobuf/commit/54caf40312b3e7fd7794e267ef17e3be202de83d)
- Bump Abseil submodule to 20230125.3 (#12660) (https://github.com/protocolbuffers/protobuf/commit/750a6e7d7cbd8c022e18834f0a57fcd76d2c3c58)
- Fix btree issue in map tests. (https://github.com/protocolbuffers/protobuf/commit/9898418bd9188b22e9db7f94529df638e65b14f7)
- Fix declared dependencies for pkg-config (#12518) (https://github.com/protocolbuffers/protobuf/commit/f79e35c821a50c6a37ffe365511b892f5409ac44)
- Fix build for newlib (#12501) (https://github.com/protocolbuffers/protobuf/commit/945bf3c48de64eb3c8a96f5dd36c19670c3dbcdd)
- Update usage disclaimer on FieldOptions.ctype (https://github.com/protocolbuffers/protobuf/commit/b8e7192a731a8ece54b11f2caf87c32209559525)
- Add config option to print 64-bit integers in JSON as unquoted ints if they can be losslessly converted into a 64-bit float. (https://github.com/protocolbuffers/protobuf/commit/330e10d53fe1c12757f1cdd7293d0881eac4d01e)
- Version protoc according to the compiler version number. (https://github.com/protocolbuffers/protobuf/commit/e67136d289e6cf4265e2763dd77216940c400ac9)
- Fix shared object ABI exports (#5144) (#11032) (https://github.com/protocolbuffers/protobuf/commit/462964ed322503af52638d54c00a0a67d7133349)
- Ensure VarintParseSlowArm{32,64} are exported with PROTOBUF_EXPORT (https://github.com/protocolbuffers/protobuf/commit/2ce56399e30db62e45869c6fd2d2bbacbb81a7ed)
- Update the min required CMake version to 3.10 (https://github.com/protocolbuffers/protobuf/commit/bcb20bbdfa0cba15c869d413edaaeb8507526a2e)
- C++
Published by deannagarcia almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v23.0-rc3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix(libprotoc): export useful symbols from .so (https://github.com/protocolbuffers/protobuf/commit/46fb4aa8d2ade5e0067fce271fcb5293c5c70500)
- Turn off clang::musttail on i386 (https://github.com/protocolbuffers/protobuf/commit/b40633ff0bf9b34bf3bec9f3d35eec2d951a98b8)
Python
- Fix bug in _internal_copy_files where the rule would fail in downstream repositories. (https://github.com/protocolbuffers/protobuf/commit/b36c39236e43f4ab9c1472064b6161d00aef21c5)
Other
- Bump Abseil submodule to 20230125.3 (#12660) (https://github.com/protocolbuffers/protobuf/commit/750a6e7d7cbd8c022e18834f0a57fcd76d2c3c58)
- C++
Published by deannagarcia almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v22.4
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix libprotoc: export useful symbols from .so (https://github.com/protocolbuffers/protobuf/commit/860fbf10c7347a2ccca2ca27cb1cc80acacc929c)
- Fix btree issue in map tests. (https://github.com/protocolbuffers/protobuf/commit/d379c083cb54ad3d908d7adbc46202b9e8a6f8e3)
Python
- Fix bug in _internal_copy_files where the rule would fail in downstream repositories. (https://github.com/protocolbuffers/protobuf/commit/859410bccc59aeeef1c48e34960fe93827767bac)
Other
- Bump utf8_range to version with working pkg-config (#12584) (https://github.com/protocolbuffers/protobuf/commit/b05ee4f0102e60dbf63c55ff79839879a6ca2a03)
- Fix declared dependencies for pkg-config (https://github.com/protocolbuffers/protobuf/commit/2c55945fc55eddef4f38f5f43b2a7b0c9a45accf)
- Update abseil dependency and reorder dependencies to ensure we use the version specified in protobuf_deps. (https://github.com/protocolbuffers/protobuf/commit/99529a22092fd2b06bfddc3d0af702ff7a1b39bf)
- Turn off clang::musttail on i386 (https://github.com/protocolbuffers/protobuf/commit/5381f405067b28920c7a8dd37b892ce55c654e29)
- C++
Published by zhangskz almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v23.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fixes Clang 6 linker bug (https://github.com/protocolbuffers/protobuf/commit/49bb3f20647b914fc52909eec19f260fb9a945f3)
General
- Replace previous breaking changes in 23.0-rc1 with deprecation warnings. (https://github.com/protocolbuffers/protobuf/commit/db1d3f8b5160d7f70cc8deeb565d040b0834412d)
- C++
Published by deannagarcia almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v23.0-rc1 (Incomplete)
Announcements
- This RC was abandoned before artifact publishing due to unintended breaking changes:
- [Cpp] lock down visibility for FileDescriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/8b1be51f08f2945e709813ca09c260049b540f9f)
- [Java] Lock down visibility for FileDescriptor.getSyntax(). (https://github.com/protocolbuffers/protobuf/commit/8c8b2be3a830755014d338d023c8b60779f70b8b)
- [Ruby] Lock down visibility for FileDescriptor.getSyntax(). (https://github.com/protocolbuffers/protobuf/commit/8c8b2be3a830755014d338d023c8b60779f70b8b)
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Implement a retain_options flag in protoc. (https://github.com/protocolbuffers/protobuf/commit/83507c7f4e8a53cc6e800efac5ce157cd960f657)
- Make protoc --descriptor_set_out respect option retention (https://github.com/protocolbuffers/protobuf/commit/ae2531dcc2492c51554ea36d15540ff816ca6abd)
- Modify release artifacts for protoc to statically link system libraries. (https://github.com/protocolbuffers/protobuf/commit/723bd4c3c1a51ccf7e9726453f0b710223c4b583)
- Extension declaration: Enforce that if the extension range has a declaration then all extensions in that range must be declared. This should prevent non-declared extensions from being added. (https://github.com/protocolbuffers/protobuf/commit/5dc171f71eca66579b06d4400ee5c94bfa68947a)
- Implement "reserved" for extension declaration. (https://github.com/protocolbuffers/protobuf/commit/41287bd5d5373e91277b849e93c7ae2a0238b5c3)
- Open-source extension declaration definition. (https://github.com/protocolbuffers/protobuf/commit/145900f06c732974af996a28a3e2c211ae104888)
C++
- Breaking change: lock down visibility for FileDescriptor syntax APIs. (https://github.com/protocolbuffers/protobuf/commit/8b1be51f08f2945e709813ca09c260049b540f9f)
- Remove PROTOBUF_DEPRECATED in favor of [[deprecated]]. (https://github.com/protocolbuffers/protobuf/commit/5c59290022dcbbea71099bc40097a149a2446f21)
- Add
assertto the list of keywords for C++. (https://github.com/protocolbuffers/protobuf/commit/a75c1a2761e49d8afb7838c03b923b909420f7fd) - Added Reflection::GetCord() method in C++ (https://github.com/protocolbuffers/protobuf/commit/6ecb5d097e8d9bfafeb5ec8d251827f0d444f2ce)
- Support C++ protobuf ctype=CORD for bytes field (generated code). (https://github.com/protocolbuffers/protobuf/commit/714f97502662ae75ed64f8456b43d5536740b022)
- Expand LazySerializerEmitter to cover proto3 cases. (https://github.com/protocolbuffers/protobuf/commit/fab7f928b5375a20fd8d33556632128e936ad436)
- Unconditionally generate unknown field accessors. (https://github.com/protocolbuffers/protobuf/commit/dd8a3cf2b54a06ef0558c004f9fca570278ad4a1)
- Introduce proto filter for inject_field_listener_events. (https://github.com/protocolbuffers/protobuf/commit/2dc5338ea222e1f4e0357e46b702ed6a0e82aaeb)
- Add ParseFromCord to TextFormat (https://github.com/protocolbuffers/protobuf/commit/055a6c669fd1ee67803f71dcc55a3b746376934f)
- Mark proto2::Arena::GetArena as deprecated. (https://github.com/protocolbuffers/protobuf/commit/9f959583da525ba006a6dc6b8b8b733e4d8c619a)
Java
- Adds
Timestamps.now(). (https://github.com/protocolbuffers/protobuf/commit/295f1125ceff5e07dfb8bfd2d7bada6c28918c0c) - Breaking change: Lock down visibility for FileDescriptor.getSyntax(). (https://github.com/protocolbuffers/protobuf/commit/8c8b2be3a830755014d338d023c8b60779f70b8b)
- Added Reflection::GetCord() method in C++ (https://github.com/protocolbuffers/protobuf/commit/6ecb5d097e8d9bfafeb5ec8d251827f0d444f2ce)
- Re-attach OSGI headers to lite,core, and util. This information was dropped in the move from maven to bazel. (https://github.com/protocolbuffers/protobuf/commit/4b5652b030eda12fa1c7ea3e1ddd8d0404bd4ac5)
- Add Java FileDescriptor.copyHeadingTo() which copies file-level settings (e.g. syntax, package, file options) to FileDescriptorProto.Builder (https://github.com/protocolbuffers/protobuf/commit/6e6d0bce4a04fd13d50485c22ecc7e96d9a16000)
- Remove unnecessary has bits from proto2 Java. (https://github.com/protocolbuffers/protobuf/commit/c440da9e1389db520b79acb19cb55e5b3266dfba)
- Add casts to make protobuf compatible with Java 1.8 runtime. (https://github.com/protocolbuffers/protobuf/commit/d40aadf823cf7e1e62b65561656f689da8969463)
- Fix mutability bug in Java proto lite: sub-messages inside of oneofs were not (https://github.com/protocolbuffers/protobuf/commit/fa82155c653776304bf6d03c33bea744db1b5eff)
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (https://github.com/protocolbuffers/protobuf/commit/1de344fcd1c1b2c6ec937151d69634171463370d)
Kotlin
- Remove errorprone dependency from kotlin protos. (https://github.com/protocolbuffers/protobuf/commit/7b6e8282157f0280ecb3fd9fd4c6519a7cd5afbc)
Csharp
- Make json_name take priority over name (fully) in C# parsing (#12262) (https://github.com/protocolbuffers/protobuf/commit/4326e0f852a3cf47c30bf99db66c3e3e77658dfb)
- Add C# presence methods to proto3 oneof fields. (https://github.com/protocolbuffers/protobuf/commit/affadac847370221e2ec0e405d5715b4a22e518f)
Objective-C
- Enforce the max message size when serializing to binary form. (https://github.com/protocolbuffers/protobuf/commit/e6d01b2edcb04fdfb0f3cf79bf9d427f57fa2eac)
- mark mergeFromData:extensionRegistry: as deprecated. (https://github.com/protocolbuffers/protobuf/commit/e3b00511099838e22f59827bfb7c72e27fcc22fa)
Python
- Make numpy/pip_deps a test-only dependency. (https://github.com/protocolbuffers/protobuf/commit/fe038fc9d2e6a469c3cd2f1a84a6560c0a123481)
- Mark sequence containers as Py_TPFLAGS_SEQUENCE, enabling pattern matching (https://github.com/protocolbuffers/protobuf/commit/a05c57d43c914eccbebf1cbcc74aa8abba76aa93)
- Fix Python bug with required fields (https://github.com/protocolbuffers/protobuf/commit/579f4ab70dc5c37f075a0b3f186fe80dcdf8165d)
- Mark deprecated SupportsUnknownEnumValues on Message reflection. Use FieldDescriptor or EnumDescriptor instead. (https://github.com/protocolbuffers/protobuf/commit/0b9134bb4eb281c3ed1446e8acf1aa354e0fe67e)
- Raise warnings for MessageFactory class usages (https://github.com/protocolbuffers/protobuf/commit/dd9dd86fbca3ab5c1c7f0aa2534dc5da61530711)
- Add Python support for retention attribute (https://github.com/protocolbuffers/protobuf/commit/63389c027f474954e8178e77ac624e8ef952626d)
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (https://github.com/protocolbuffers/protobuf/commit/1de344fcd1c1b2c6ec937151d69634171463370d)
Python C-Extension (Default)
- Fix Python bug with required fields (https://github.com/protocolbuffers/upb/commit/ea4cb79f669e69342d7ced4d0255050325df41e3)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
- RepeatedField: unset by index (#11425) (https://github.com/protocolbuffers/protobuf/commit/363fa89b1f02d4c51028f8c8bcd506f08eaa6b49)
PHP C-Extension
- RepeatedField: unset by index (#11425) (https://github.com/protocolbuffers/protobuf/commit/363fa89b1f02d4c51028f8c8bcd506f08eaa6b49)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Change the Ruby code generator to emit a serialized proto instead of the DSL (#12319) (https://github.com/protocolbuffers/protobuf/commit/bd52d0483987f1a5186fc3daa261d1d76a787bcf)
- Breaking change: Lock down visibility for FileDescriptor.getSyntax(). (https://github.com/protocolbuffers/protobuf/commit/8c8b2be3a830755014d338d023c8b60779f70b8b)
- Feat(6178): emit ruby enum as integer (#11673) (https://github.com/protocolbuffers/protobuf/commit/8aa2b177f156393ce607b4ffea8c1ac28560c746)
Ruby C-Extension
- Feat(6178): emit ruby enum as integer (#11673) (https://github.com/protocolbuffers/protobuf/commit/8aa2b177f156393ce607b4ffea8c1ac28560c746)
- Ruby: Implement Write Barriers (#11793) (https://github.com/protocolbuffers/protobuf/commit/d82d8a48f6c50ae6c811dbd6b7383e36a691c6b3)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Implements upb_Message_DeepClone. (https://github.com/protocolbuffers/upb/commit/3286f948f888f0c912c4ec483db9a1a50a6782a3)
Other
- Fix btree issue in map tests. (https://github.com/protocolbuffers/protobuf/commit/9898418bd9188b22e9db7f94529df638e65b14f7)
- Fix declared dependencies for pkg-config (#12518) (https://github.com/protocolbuffers/protobuf/commit/f79e35c821a50c6a37ffe365511b892f5409ac44)
- Fix build for newlib (#12501) (https://github.com/protocolbuffers/protobuf/commit/945bf3c48de64eb3c8a96f5dd36c19670c3dbcdd)
- Update usage disclaimer on FieldOptions.ctype (https://github.com/protocolbuffers/protobuf/commit/b8e7192a731a8ece54b11f2caf87c32209559525)
- Add config option to print 64-bit integers in JSON as unquoted ints if they can be losslessly converted into a 64-bit float. (https://github.com/protocolbuffers/protobuf/commit/330e10d53fe1c12757f1cdd7293d0881eac4d01e)
- Version protoc according to the compiler version number. (https://github.com/protocolbuffers/protobuf/commit/e67136d289e6cf4265e2763dd77216940c400ac9)
- Fix shared object ABI exports (#5144) (#11032) (https://github.com/protocolbuffers/protobuf/commit/462964ed322503af52638d54c00a0a67d7133349)
- Ensure VarintParseSlowArm{32,64} are exported with PROTOBUF_EXPORT (https://github.com/protocolbuffers/protobuf/commit/2ce56399e30db62e45869c6fd2d2bbacbb81a7ed)
- Update the min required CMake version to 3.10 (https://github.com/protocolbuffers/protobuf/commit/bcb20bbdfa0cba15c869d413edaaeb8507526a2e)
- C++
Published by deannagarcia almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v22.3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
UPB (Python/PHP/Ruby C-Extension)
- Remove src prefix from proto import (https://github.com/protocolbuffers/upb/commit/e05f22a398cdfd6d760653ff862f290b06940e3b)
Other
- Fix .gitmodules to use the correct absl branch (https://github.com/protocolbuffers/protobuf/commit/f51da1fe664ad4e76a0238b7ddbf78bb72fb0d8b)
- Remove erroneous dependency on googletest (https://github.com/protocolbuffers/protobuf/pull/12276)
- C++
Published by deannagarcia almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v22.2
Announcements
- This release was only published for Java and Ruby.
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Java
- Add version to intra proto dependencies and add kotlin stdlib dependency (https://github.com/protocolbuffers/protobuf/commit/99ed01009f14fbfb885f98c3512818af8033ef6a)
- Add $ back for osgi header (https://github.com/protocolbuffers/protobuf/commit/d80c12d3221fd489b779fccf0020a17bd666a311)
- Remove $ in pom files (https://github.com/protocolbuffers/protobuf/commit/8ac23375950e905f54f2523807b68618bd047835)
Kotlin
- Add version to intra proto dependencies and add kotlin stdlib dependency (https://github.com/protocolbuffers/protobuf/commit/99ed01009f14fbfb885f98c3512818af8033ef6a)
- Remove $ in pom files (https://github.com/protocolbuffers/protobuf/commit/8ac23375950e905f54f2523807b68618bd047835)
- C++
Published by zhangskz almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v22.1
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Modify release artifacts for protoc to statically link system libraries. (https://github.com/protocolbuffers/protobuf/commit/8ad6cdd007fe8c09ec95e69cc7a7419264d11655)
- Add visibility of plugin.proto to python directory (https://github.com/protocolbuffers/protobuf/commit/620d21a8ac8ba9b00f4519df6af28f09d184ac3e)
- Strip "src" from file name of plugin.proto (https://github.com/protocolbuffers/protobuf/commit/9c89a70e6b62ec2914fa7ff72570c553e530b9b7)
Java
- Add OSGi headers to pom files. (https://github.com/protocolbuffers/protobuf/commit/e909bfc5174b73d5bcf32199bc0f71dde7325c2f)
Kotlin
- Remove errorprone dependency from kotlin protos. (https://github.com/protocolbuffers/protobuf/commit/66f80c3610b0cd61bedd42c78e78ae2eac002142)
Other
- Version protoc according to the compiler version number. (https://github.com/protocolbuffers/protobuf/commit/b1435864256653b18cb8c1fc40b1c9e0da5f978e)
- C++
Published by deannagarcia almost 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v22.0
Announcements
-
This version includes breaking changes to: Cpp.
- [Cpp] Migrate to Abseil's logging library. (https://github.com/protocolbuffers/protobuf/commit/a9f1ea6371c108876649f27a5940a59cc8594768)
- [Cpp]
proto2::Map::value_typechanges tostd::pair<const K, V>. (https://github.com/protocolbuffers/protobuf/commit/46656ed080e959af3d0cb5329c063416b5a93ef0) - [Cpp] Mark final ZeroCopyInputStream, ZeroCopyOutputStream, and DefaultFieldComparator classes. (https://github.com/protocolbuffers/protobuf/commit/bf9c22e1008670b497defde335f042ffd5ae25a1)
- [Cpp] Add a dependency on Abseil (#10416)
- [Cpp] Remove all autotools usage (#10132)
- [Cpp] Add C++20 reserved keywords
- [Cpp] Dropped C++11 Support
- [Cpp] Delete Arena::Init
- [Cpp] Replace JSON parser with new implementation
- [Cpp] Make RepeatedField::GetArena non-const in order to support split RepeatedFields.
-
You can refer to our migration guide for details on what C++ code changes will be necessary to be compatible with 22.0.
-
Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Breaking change: Migrate to Abseil's logging library. (https://github.com/protocolbuffers/protobuf/commit/a9f1ea6371c108876649f27a5940a59cc8594768)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Protoc: accept capital X to indicate hex escape in string literals (#10757)
- Gracefully handle weird placement of linebreaks around comments (#10660)
- Open up visibility for some compiler internals (#10608)
- Protoc: validate reserved names are identifiers (#10586)
- Protoc: validate custom json_name configuration (#10581)
- Protoc: fix consistency with parsing very large decimal numbers (#10555)
- Use protoc version for --version (#10386)
- Fix for grpc.tools #17995 & protobuf #7474 (handle UTF-8 paths in argumentfile) (#10200)
- Print full path name of source .proto file on error
- Include proto message type in the annotation comments.
- Maven artifact suffix format has changed to -RCN instead of -rc-N
C++
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (https://github.com/protocolbuffers/protobuf/commit/a594141cc408b972c9ffe2bcf14958174d0a4fe4)
- Add C++ support for retention attribute (https://github.com/protocolbuffers/protobuf/commit/8f882e7f3d0535760c46f8cdde9f40006e33e02a)
- Breaking change: Migrate to Abseil's logging library. (https://github.com/protocolbuffers/protobuf/commit/a9f1ea6371c108876649f27a5940a59cc8594768)
- No longer define no_threadlocal on OpenBSD (#10610)
- CMake: Enable projects to set the C++ version (#10464)
- Breaking Change: Add a dependency on Abseil (#10416)
- Upgrade third_party/googletest submodule to current main branch (#10393)
- Breaking Change: Remove all autotools usage (#10132)
- CMake: use add_compile_options instead of add_definitions for compile options (#10293)
- Fix #9947: make the ABI identical between debug and non-debug builds (#10271)
- Allow for CMAKE_INSTALL_LIBDIR to be absolute (#10090)
- Add header search paths to protobuf-c++ spec (#10024)
- Cpp_generated_lib_linked support is removed in protoc
- Reduced .pb.o object file size slightly by explicitly instantiating
- Breaking Change: Add C++20 reserved keywords.
- Breaking Change: Dropped C++11 Support
- Fixed crash in ThreadLocalStorage for pre-C++17 compilers on 32-bit ARM.
- Clarified that JSON API non-OK statuses are not a stable API.
- Added a default implementation of MessageDifferencer::Reporter methods.
- Proto2::MapPair is now an alias to std::pair.
- Hide C++ RepeatedField::UnsafeArenaSwap
- Use table-driven parser for reflection based objects.
- Add ARM-optimized Varint decoding functions.
- Minor optimization for parsing groups
- Declare ReflectiveProtoHook class
- Reduce size of VarintParse code in protocol buffers, by calling the shared
- Avoid inlining some large heavily duplicated routines in repeated_ptr_field.h
- Add ReflectiveProtoHook to Reflection.
- Turns on table-driven parser for reflection based objects.
- Save code space by avoiding inlining of large-in-aggregate code-space MessageLite::~MessageLite destructor.
- Undefine the macro
linuxwhen compiling protobuf - Reduce memory consumption of MessageSet parsing.
- Save code space by avoiding inlining of large-in-aggregate code-space MessageLite::~MessageLite destructor.
- Breaking Change: Delete Arena::Init
- Make a PROTOBUF_POISON/UNPOISON to reduce noise in the source
- Put alignment functions in "arena_align.h"
- Split off
cleanuparena functions into "arena_cleanup.h" - Fix signed / unsigned match in CHECK_EQ
- Kill Atomic<>. it's not pulling it's weight
- Move AllocationPolicy out of arena_impl, and unify arena_config for bazel
- Fix failure case in table-driven parser.
- Breaking Change: Replace JSON parser with new implementation
- Introduce the Printer::{SetRedactDebugString,SetRandomizeDebugString} private flags.
- Introduce global flags to control Printer::{SetRedactDebugString, SetRandomizeDebugString}.
- Proto3 string fields no longer trigger clang-tidy warning bugprone-branch-clone.
- Fix the API of DescriptorUpgrader::set_allow_unknown_dependencies to set to True always, and to populate into the DescriptorPool as well.
- Report line numbers consistently in text-format deprecated-field warnings.
- Fixed C++ code generation for protos that use int32_t, uint32_t, int64_t, uint64_t, size_t as field names.
- Annotate generated C++ public aliases for enum types.
- Change default arena max block size from 8K to 32K.
- Begin emitting semantic metadata for some C++ proto features. (https://github.com/protocolbuffers/protobuf/commit/2880fef06cb7443ba24dc1264ba9f02115407f2c)
Java
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (https://github.com/protocolbuffers/protobuf/commit/a594141cc408b972c9ffe2bcf14958174d0a4fe4)
- Use LazyStringArrayList directly in gencode. (https://github.com/protocolbuffers/protobuf/commit/e6dd59e6cdd16664d60f9e2c2ee97cf1effb4fa7)
- Add Java support for retention attribute (https://github.com/protocolbuffers/protobuf/commit/1325913afd65b39c268e5c4101d6b82f32957ae9)
- Expect fail when serialize inf and nan for Value.number_value in json format. fixes #11259 (https://github.com/protocolbuffers/protobuf/commit/ca1cb1ba80ef18f5dccfb5b6ee7fa623ba6caab5)
- Create a helper function that can make a mutable copy of any ProtobufList (https://github.com/protocolbuffers/protobuf/commit/56696066132560c5de9ca888a097ba570cda1910)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Remove unused package private class ProtobufLists. (https://github.com/protocolbuffers/protobuf/commit/b51c551e37b1036bf54ade9911d9a39aed879ab0)
- Mark UnmodifiableLazyStringList deprecated. UnmodifiableLazyStringList is unnecessary and will be removed in a future release. (https://github.com/protocolbuffers/protobuf/commit/9595cbbf9a1dbd03edaf3def50befd99b727642c)
- Make emptyList public and mark the public EMPTY field as deprecated. (https://github.com/protocolbuffers/protobuf/commit/c658e27529ccf4a000724ab3622f1b807c85449b)
- Enable Text format parser to skip unknown short-formed repeated fields. (https://github.com/protocolbuffers/protobuf/commit/6dbd4131fa6b2ad29b2b1b827f21fc61b160aeeb)
- Expose internal setExtension method for Kotlin (https://github.com/protocolbuffers/protobuf/commit/33d1070fc46ecb6189d57095bc483bc8637dc972)
- Mark default instance as immutable first to avoid race during static initialization of default instances. (#10770)
- Add serialVersionUID to ByteString and subclasses (#10718)
- Fix serialization warnings in generated code when compiling with Java 18 and above (#10561)
- Fix Timestamps fromDate for negative 'exact second' java.sql.Timestamps (#10321)
- Fix Timestamps.fromDate to correctly handle java.sql.Timestamps before unix epoch (#10126)
- Performance improvement for repeated use of FieldMaskUtil#merge by caching
- Optimized Java proto serialization gencode for protos having many extension ranges with few fields in between.
- More thoroughly annotate public generated code in Java lite protocol buffers.
- Fixed Bug in proto3 java lite repeated enum fields. Failed to call copyOnWrite before modifying previously built message. Causes modification to already "built" messages that should be immutable.
- Fix Java reflection serialization of empty packed fields.
- Refactoring java full runtime to reuse sub-message builders and prepare to migrate parsing logic from parse constructor to builder.
- Move proto wireformat parsing functionality from the private "parsing constructor" to the Builder class.
- Change the Lite runtime to prefer merging from the wireformat into mutable messages rather than building up a new immutable object before merging. This way results in fewer allocations and copy operations.
- Make message-type extensions merge from wire-format instead of building up instances and merging afterwards. This has much better performance.
- Fix TextFormat parser to build up recurring (but supposedly not repeated) sub-messages directly from text rather than building a new sub-message and merging the fully formed message into the existing field.
- Fix bug in nested builder caching logic where cleared sub-field builders would remain dirty after a clear and build in a parent layer. https://github.com/protocolbuffers/protobuf/issues/10624
- Add exemplar variants of the Java Any.is() and Any.unpack() methods. (https://github.com/protocolbuffers/protobuf/commit/60b71498d70a5645324385269c518b95c8c2feb0)
- Use bit-field int values in buildPartial to skip work on unset groups of fields. (https://github.com/protocolbuffers/protobuf/commit/2326aef1a454a4eea363cc6ed8b8def8b88365f5)
- Maven artifact suffix format has changed to -RCN instead of -rc-N
Kotlin
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Expose internal setExtension method for Kotlin (https://github.com/protocolbuffers/protobuf/commit/33d1070fc46ecb6189d57095bc483bc8637dc972)
- Add missing
publicmodifier to Kotlin generated code (#10616) - Add "public" modifier to Kotlin generated code (#10599)
- Update rules_kotlin version (#10212)
- Suppress deprecation warnings in Kotlin generated code.
- Kotlin generated code comments now use kdoc format instead of javadoc.
- Escape keywords in package names in proto generated code
- Add Kotlin enum int value getters and setters
Csharp
- Make the MergeFrom method of type ReadOnlySequence public (#11124) (https://github.com/protocolbuffers/protobuf/commit/c4bac67464cfb52f998a2f942a85adedfad04895)
- Fix a bug in which a possibly invalidated swisstable reference is used. (https://github.com/protocolbuffers/protobuf/commit/5c5dcdd11728d62a69e53f7a80ec2db8e16c4230)
- Fix .NET Native AOT warnings in Protobuf reflection (#11128) (https://github.com/protocolbuffers/protobuf/commit/c019a797492791093bccfb8404c90bf83761b3a4)
- Use forward slash instead of backslash in nuspec file (#11449) (https://github.com/protocolbuffers/protobuf/commit/724250d6e34c2734c876cdfa7208716757a6d50d)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Expose internal setExtension method for Kotlin (https://github.com/protocolbuffers/protobuf/commit/33d1070fc46ecb6189d57095bc483bc8637dc972)
- Apply Obsolete attribute to deprecated enums and enum values in C# generated code (#10520)
- Fix 32-bit floating point JSON parsing of maximal values for C# (#10514)
- Retain existing array in RepeatedField.Clear (#10508)
- Implement IComparable for the Duration type (C#) (#10441)
- Implement correct map merging behavior for C# (#10339)
- Support indented JSON formatting in C# (#9391)
- Disambiguate generated properties in C# (#10269)
- Bugfix/issue 8101 (#10268)
- Expose plugin protos for C# (#10244)
- Update to C# 10 and upgrade code style (#10105)
- Fix failing FieldMask.Merge for well-known wrapper field types (#9602)
- Helper method on Any to allow an any to be unpacked more easily (#9695)
Objective-C
- [ObjC] Mark classes that shouldn't be subclassed as such. (https://github.com/protocolbuffers/protobuf/commit/a185a6ea8a5cc1d85f8a91405a0fafd007207ca4)
- [ObjC] Boolean generation options support no value as "true". (https://github.com/protocolbuffers/protobuf/commit/7935932356b405c4f8962e1e5ac19db1afd753aa)
- [ObjC] Put out of range closed enum extension values in unknown fields. (https://github.com/protocolbuffers/protobuf/commit/903639c3287df7235537547d947cbbaf8da01feb)
- [ObjC] Raise the min OS versions (and required Xcode) (#10652)
- [ObjC] Provide a protocol for GPBExtensionRegistry's lookup support. (#10597)
- Mark the
syntaxonGPBFileDescriptoras deprecated. (https://github.com/protocolbuffers/protobuf/commit/c79832bddc3931d798d31d417238e4377f869c79) - Add the concept of a "closed enum" and expose it from the
GPBEnumDescriptor. (https://github.com/protocolbuffers/protobuf/commit/7bb699be43e230315cf23808eff28bd694df7c17)
Python
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (https://github.com/protocolbuffers/protobuf/commit/a594141cc408b972c9ffe2bcf14958174d0a4fe4)
- Soft deprecate python MessageFactory (https://github.com/protocolbuffers/protobuf/commit/c80e7efac72510a2bc3e9365520055f6d6656c1d)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Raise errors when serialize inf and nan for Value.number_value in json format. fixes #11259 (https://github.com/protocolbuffers/protobuf/commit/883ec1c3ef8be0bae01cf9ad74e1adde977afeec)
- Resolve #10949: use raise from in json_format.py (#10966) (https://github.com/protocolbuffers/protobuf/commit/1e6f8761cd11796f8437f198499ef73aa7e8dc96)
- Allow reserved enums to be negative (https://github.com/protocolbuffers/protobuf/commit/1f58f1d7b83ec333ab6076bf2e76797dd8de3e45)
- Make generated python files compatible with Cython (#11011) (https://github.com/protocolbuffers/protobuf/commit/9aa5272420f5c666f2dbaba0892b174004c56257)
- Raise KeyError in Python ServiceDescriptor.FindMethodByName (#9592) (#9998)
- Changes ordering of printed fields in .pyi files from lexicographic to the same ordering found in the proto descriptor.
- Adds GeneratedCodeInfo annotations to python proto .pyi outputs as a base64 encoded docstring in the last line of the .pyi file for code analysis tools.
- Fix message factory's behavior in python cpp extension to return same message classes for same descriptor, even if the factories are different.
- Add type annotation for enum value fields in enum classes.
- Update sphinx 2.3.1 to 3.0.4 (https://github.com/protocolbuffers/protobuf/commit/c1a42b34e56f8b7ac51c56a700c489b24de1c214)
- Added is_closed to EnumDescriptor in protobuf python (https://github.com/protocolbuffers/protobuf/commit/da9de8d4d4cb5d16cfee726e52d06e91846e3578)
Python C-Extension (Default)
- Add license file to pypi wheels. (https://github.com/protocolbuffers/upb/commit/92dbe4b8bbb026282111f4d45d01feed35209803)
- Append "ByDef" to names of message accessors that use reflection (https://github.com/protocolbuffers/upb/commit/b747edb830b0fab524e0063fb2e156c390405dfa)
- Implement upb_Map_Next() as the new upb_Map iterator (https://github.com/protocolbuffers/upb/commit/03b1dee5cc8339fa60d45c2b3038f6141201bd19)
- Move the wire type definitions into upb/wire/ where they belong (https://github.com/protocolbuffers/upb/commit/ff6439fba0ff16b54150a1eb4ef511c080f3cb13)
- Replace and repair the integer hash table iterator: (https://github.com/protocolbuffers/upb/commit/70566461f97d1f03ed32ffe9f03aa126b721ed3a)
- Add Parse/Serialize templates to support shared_ptr/unique_ptr. (https://github.com/protocolbuffers/upb/commit/d3ec4b63c9f5fd6858580f8d19e41eaaaccf9fd7)
- Fixes https://github.com/protocolbuffers/upb/issues/869 (https://github.com/protocolbuffers/upb/commit/41017ef8dc3d03e1ac8c24820ad8ed9aca522bef)
- Silently succeed when adding the same serialized file in Python (https://github.com/protocolbuffers/upb/commit/e779b9d90aa8f8df7117c0f1870a158d54ab8d95)
- Different message factories will return same message class for same descriptor in python. (https://github.com/protocolbuffers/upb/commit/470f06cccbf26f98dd2df7ddecf24a78f140fe11)
- Make upb numpy type checks consistent with pure python and cpp. (https://github.com/protocolbuffers/upb/commit/79b735a7d720bd982d6dd9f0ced287d2e2c91b46)
- Upb: fix NULL pointer bug in Python FFI (https://github.com/protocolbuffers/upb/commit/c2c6427f606b7feb17a1c1f85ecd747a39978b3d)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
- Drop support for PHP <7.4
- Fix: php 8.2 dynamic property warning in MapFieldIter (#11485) (https://github.com/protocolbuffers/protobuf/commit/8e636d53e9aee98bc775e44bb38f1a103624816a)
- Chore: fix php lint (#11417) (https://github.com/protocolbuffers/protobuf/commit/ade256e153ea7bfff85987a7f1bf2e9c9632cb10)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- [PHP]Added missing files and fix phpext_protobuf_ptr export in pecl version (#10689)
- [PHP] Fix empty message serialization for Any (#10595)
- [PHP] allow dynamic properties in Message (#10594)
- [PHP] Added getContainingOneof and getRealContainingOneof to descriptor. (#10356)
- Fix: PHP readonly legacy files for nested messages (#10320)
- Migrating macos php builds from 7.0/7.3 to 7.4/8.0 (#10274)
- Exposed more functions in FieldDescriptor and OneofDescriptor. (#10102)
- Fixed PHP SEGV by not writing to shared memory for zend_class_entry. (#9995)
- Feat: [PHP] remove legacy generate class file (#9621)
PHP C-Extension
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Update PHP and Ruby to use the new accessors, delete the old ones (https://github.com/protocolbuffers/protobuf/commit/3f36a914427aecaa620f777c9aa5d49bd23592ee)
- Update Ruby to use the newer upb_Map_Next() iterator (https://github.com/protocolbuffers/protobuf/commit/8809a113bc0a00b685b787a03d0698aa8c3e10e8)
- Fix the ruby and php builds which were broken by a recent upb change (https://github.com/protocolbuffers/protobuf/commit/9cdf347d1977d328754c1e03f43f06dfa7887d51)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- For Ruby oneof fields, generate hazzers for members (#11655) (https://github.com/protocolbuffers/protobuf/commit/d1a3c6d08b3238415cb5c08609f42d88d9b227d3)
- Migrate ruby release targets to genrule to work around Bazel 5 bug (#11619) (https://github.com/protocolbuffers/protobuf/commit/e207bcd940400fd8b99b838aae1117f1860ff495)
- Add ruby release targets (#11468) (https://github.com/protocolbuffers/protobuf/commit/5b27b4f300c9c8fdb1f178151ef29a22a674d184)
- Remove support for ruby 2.5. (https://github.com/protocolbuffers/protobuf/commit/49589719e241a83d82ce67139006d2a9be391fce)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Update PHP and Ruby to use the new accessors, delete the old ones (https://github.com/protocolbuffers/protobuf/commit/3f36a914427aecaa620f777c9aa5d49bd23592ee)
- Replace libc strdup usage with internal impl to restore musl compat. (#10811)
- Auto capitalize enums name in Ruby (#10454)
- Ruby: Use class inheritance to save memory (#10281)
- Ruby: use a valid instance variable name for
descriptor(#10282)
Ruby C-Extension
- For Ruby oneof fields, generate hazzers for members (#11655) (https://github.com/protocolbuffers/protobuf/commit/d1a3c6d08b3238415cb5c08609f42d88d9b227d3)
- Add retention and target field options in descriptor.proto (https://github.com/protocolbuffers/protobuf/commit/5a5683781003c399a00d2ed210d4a5102ca65696)
- Add ruby release targets (#11468) (https://github.com/protocolbuffers/protobuf/commit/5b27b4f300c9c8fdb1f178151ef29a22a674d184)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Update PHP and Ruby to use the new accessors, delete the old ones (https://github.com/protocolbuffers/protobuf/commit/3f36a914427aecaa620f777c9aa5d49bd23592ee)
- Hide ruby native extension symbols on FreeBSD (#10832) (https://github.com/protocolbuffers/protobuf/commit/2a73e3bdfbad01be6b88c5cfaa84f5cfcb072126)
- Update Ruby to use the newer upb_Map_Next() iterator (https://github.com/protocolbuffers/protobuf/commit/8809a113bc0a00b685b787a03d0698aa8c3e10e8)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Update protobuf commit (https://github.com/protocolbuffers/upb/commit/1fb480bc76bc0e331564d672e60b97a388aa3f76)
- Ensure that extensions respect deterministic serialization. (https://github.com/protocolbuffers/upb/commit/57a79de7cc34cc2ca4436483834aebd44e8f4f4b)
- Add ExtensionRegistry version of Parse to message templates. (https://github.com/protocolbuffers/upb/commit/28de62f4636ec6c271bf238a205684b8542b8f13)
- Fix Upb PromotoUnknownToMessage for OneOf fields. (https://github.com/protocolbuffers/upb/commit/10e57c038aef9154a4ddc03b627c4e5cbef9da04)
- Implement UPB OneOf MiniTable apis. (https://github.com/protocolbuffers/upb/commit/067dfeacfd02a9dedfa7fcfb1b1c2e8566cc8325)
- Remove reflection dependency for UPB compare utility. (https://github.com/protocolbuffers/upb/commit/84a3fd2d2d943c8ff37f09feadb1dd3f60f954ee)
- Expect fail when serialize inf and nan for Value.number_value in json format. fixes #11259 (https://github.com/protocolbuffers/upb/commit/651550cece034b8e3a6667e817ca654ab63dd694)
- Add ::protos::Parse template for Ptr. (https://github.com/protocolbuffers/upb/commit/b5384af913af9f96784a4c5b8a166e23f507c0c4)
- Upb_Array_Resize() now correctly clears new values (https://github.com/protocolbuffers/upb/commit/02cf7aaa1d97bc5268639e56f735d2ec30e7c4ed)
- Fix unset mini table field presence bug (https://github.com/protocolbuffers/upb/commit/9ab09b47fad2d0673689236bbb2d6ee9dfee1fbd)
- Allow reserved enums to be negative (https://github.com/protocolbuffers/upb/commit/1b0b06f082508f1d6856550e8ddb9b8112922984)
- Fix UPB_LIKELY() for 32-bit Windows builds (https://github.com/protocolbuffers/upb/commit/9582dc2058e2f8a9d789c6184e5e32602758ed0d)
- Fix C compiler failure when there are fields names prefixed with accessor prefixes such as set_ and clear_. (https://github.com/protocolbuffers/upb/commit/d76e286631eb89b621be)
- Make upb backwards and forwards compatible with Bazel 4.x, 3.5.x and LTS (https://github.com/protocolbuffers/upb/commit/04957b106174080e839b60c07c3a4c052646102b)
Other
- Rename Maven artifacts to use “RC” instead of “rc-” as the release candidate prefix.
- Remove unused headers, include missing headers, match args, etc. (https://github.com/protocolbuffers/protobuf/commit/21a6a26d6736dfc2bf8e638e5054a3dc5f7fc2a5)
- Add a non-const overload of RepeatedPtrField::GetArena and deprecate the const overload. (https://github.com/protocolbuffers/protobuf/commit/4bf33da229156c60794c63bbd129cbae542d450b)
- Optimize Varint Parsing for 32 and 64 bits (https://github.com/protocolbuffers/protobuf/commit/ac76ae9a6b76104da66cd550acd9d04cc817a64a)
- Fix reflection based parser for map entries with closed enum values. (https://github.com/protocolbuffers/protobuf/commit/55d21239e950164f810f3e8c348ce5bf0d7537d6)
- Upgrade to Abseil LTS 20230117 (#11622) (https://github.com/protocolbuffers/protobuf/commit/7930cd1f9d1ec9c6632ed29e9aede3c6ab362960)
- Fixed Visual Studio 2022: protobuf\src\google\protobuf\arena.cc(457,51): error C2127: 'thread_cache_': illegal initialization of 'constinit' entity with a non-constant expression #11672 (#11674) (https://github.com/protocolbuffers/protobuf/commit/c2e99a1ee4df28261c2e3229b77b5d881b5db5db)
- Clean up a few issues with ARM-optimized varint decoding. (https://github.com/protocolbuffers/protobuf/commit/bbe2e68686d8517185f7bb67596f925b27058d34)
- Fix bool parser for map entries to look at the whole 64-bit varint and not just (https://github.com/protocolbuffers/protobuf/commit/43e5937bf65968f5cb4b17f2994dd65df849a7f3)
- Breaking Change:
proto2::Map::value_typechanges tostd::pair<const K, V>. (https://github.com/protocolbuffers/protobuf/commit/46656ed080e959af3d0cb5329c063416b5a93ef0) - Breaking Change: Mark final ZeroCopyInputStream, ZeroCopyOutputStream, and DefaultFieldComparator classes. (https://github.com/protocolbuffers/protobuf/commit/bf9c22e1008670b497defde335f042ffd5ae25a1)
- Deprecate repeated field cleared elements API. (https://github.com/protocolbuffers/protobuf/commit/84d8b0037ba2a7ade615221175571c7a9c4c6f90)
- Breaking change: Make RepeatedField::GetArena non-const in order to support split RepeatedFields. (https://github.com/protocolbuffers/protobuf/commit/514c9a8e2ac85ad4c29e2394f3480341f0df27dc)
- Add EpsCopyInputStream::ReadCord() providing an efficient direct Cord API (https://github.com/protocolbuffers/protobuf/commit/bc4c156eb2310859d8b8002da050aab9cd78dd34)
- Add static asserts to container classes. (https://github.com/protocolbuffers/protobuf/commit/5a8abe1c2027d7595becdeb948340c97e85e7aa7)
- Fix proto deserialization issue when parsing a packed repeated enum field whose (https://github.com/protocolbuffers/protobuf/commit/afdf6dafc224258c450b47c5c7fcbc9365bbc302)
- Use the "shldq" decoder for the specialized 64-bit Varint parsers, rather than (https://github.com/protocolbuffers/protobuf/commit/0ca97a1d7de4c8f59b4a808541ce7c555cc17f33)
- Use @utf8_range to reference //third_party/utf8_range (#11352) (https://github.com/protocolbuffers/protobuf/commit/2dcd7d8f70c9a9b5bed07b614eaf006c79a99134)
- Place alignas() before lifetime specifiers (#11248) (https://github.com/protocolbuffers/protobuf/commit/5712e1a746abe0786a62014a24840dd44533422a)
- Add UnknownFieldSet::SerializeToCord() (https://github.com/protocolbuffers/protobuf/commit/8661e45075427162a962998279959bbabd11e0c8)
- Add support for repeated Cord fields. (https://github.com/protocolbuffers/protobuf/commit/b97005bda54f7f2a4e9791e0a5750bf39338ce89)
- Add Cord based Parse and Serialize logic to MessageLite (https://github.com/protocolbuffers/protobuf/commit/ddde013bd899702a1e78dd9e31a3e703bbb173b7)
- Add 'ReadCord
and 'WriteCordfunctions to CodedStream (https://github.com/protocolbuffers/protobuf/commit/e5e2ad866c01804a56a11da97555a023eaf07a52) - Add CordInputStream and CordOutputStream providing stream support directly from/to Cord data (https://github.com/protocolbuffers/protobuf/commit/8afd1b670a19e6af9af7a9830e365178b969bf57)
- Add a
WriteCord()method toZeroCopyInputStream(https://github.com/protocolbuffers/protobuf/commit/192cd096b18619d5ccd2d3b01b086106ec428d04) - Unify string and cord cleanup nodes in TaggedNode (https://github.com/protocolbuffers/protobuf/commit/0783c82bb48fc60edc4d1d5b179b5ebdf8a36424)
- Open source google/protobuf/bridge/message_set.proto (https://github.com/protocolbuffers/protobuf/commit/c04f84261327bf1a2bd02c0db3c8538fd403d7e7)
- FileOutputStream: Properly pass block_size to CopyingOutputStreamAdaptor (https://github.com/protocolbuffers/protobuf/commit/1b1e399e2ec720cd93785ece148ec081255bd908)
- Implement ZeroCopyInputStream::ReadCord() in terms of absl::CordBuffer (https://github.com/protocolbuffers/protobuf/commit/75d31befc6475178d6c4cd920602c9709e714519)
- Changing bazel skylib version from 1.2.1 to 1.3.0 (#10979) (https://github.com/protocolbuffers/protobuf/commit/1489e8d224741ca4b1455b02257c3537efe9f1c9)
- Update zlib to 1.2.13. (#10786)
- Make jsoncpp a formal dependency (#10739)
- Upgrade to MSVC 2017, since 2015 is no longer supported (#10437)
- Update CMake configuration to add a dependency on Abseil (#10401)
- Use release version instead of libtool version in Makefile (#10355)
- Fix missing
google::protobuf::RepeatedPtrField<std::string>issue in GCC (https://github.com/protocolbuffers/protobuf/commit/225b936c0183e98b7c5e072d9979c01f952c2d5a)
- C++
Published by zhangskz about 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v22.0-rc3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Add C++ support for retention attribute (https://github.com/protocolbuffers/protobuf/commit/8f882e7f3d0535760c46f8cdde9f40006e33e02a)
Java
- Use LazyStringArrayList directly in gencode. (https://github.com/protocolbuffers/protobuf/commit/e6dd59e6cdd16664d60f9e2c2ee97cf1effb4fa7)
- Add Java support for retention attribute (https://github.com/protocolbuffers/protobuf/commit/1325913afd65b39c268e5c4101d6b82f32957ae9)
Objective-C
- [ObjC] Mark classes that shouldn't be subclassed as such. (https://github.com/protocolbuffers/protobuf/commit/a185a6ea8a5cc1d85f8a91405a0fafd007207ca4)
Ruby
- For Ruby oneof fields, generate hazzers for members (#11655) (https://github.com/protocolbuffers/protobuf/commit/d1a3c6d08b3238415cb5c08609f42d88d9b227d3)
Ruby C-Extension
- For Ruby oneof fields, generate hazzers for members (#11655) (https://github.com/protocolbuffers/protobuf/commit/d1a3c6d08b3238415cb5c08609f42d88d9b227d3)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Ensure that extensions respect deterministic serialization. (https://github.com/protocolbuffers/upb/commit/57a79de7cc34cc2ca4436483834aebd44e8f4f4b)
- Add ExtensionRegistry version of Parse to message templates. (https://github.com/protocolbuffers/upb/commit/28de62f4636ec6c271bf238a205684b8542b8f13)
- Fix Upb PromotoUnknownToMessage for OneOf fields. (https://github.com/protocolbuffers/upb/commit/10e57c038aef9154a4ddc03b627c4e5cbef9da04)
- Implement UPB OneOf MiniTable apis. (https://github.com/protocolbuffers/upb/commit/067dfeacfd02a9dedfa7fcfb1b1c2e8566cc8325)
- Remove reflection dependency for UPB compare utility. (https://github.com/protocolbuffers/upb/commit/84a3fd2d2d943c8ff37f09feadb1dd3f60f954ee)
Other
- Remove unused headers, include missing headers, match args, etc. (https://github.com/protocolbuffers/protobuf/commit/21a6a26d6736dfc2bf8e638e5054a3dc5f7fc2a5)
- Add a non-const overload of RepeatedPtrField::GetArena and deprecate the const overload. (https://github.com/protocolbuffers/protobuf/commit/4bf33da229156c60794c63bbd129cbae542d450b)
- Optimize Varint Parsing for 32 and 64 bits (https://github.com/protocolbuffers/protobuf/commit/ac76ae9a6b76104da66cd550acd9d04cc817a64a)
- Fix reflection based parser for map entries with closed enum values. (https://github.com/protocolbuffers/protobuf/commit/55d21239e950164f810f3e8c348ce5bf0d7537d6)
- C++
Published by zhangskz about 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v22.0-rc2
Announcements
- This rc release mainly includes release process fixes since previous -rc1.
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Ruby
- Downgrade ruby major version (https://github.com/protocolbuffers/protobuf/commit/8ce6ad2ba3339720a39fdba12a5a82b89bccc778)
- C++
Published by zhangskz about 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v22.0-rc1 (Incomplete)
Announcements
- This RC was only published for Java, Protoc, and Cocoapods.
- This version includes breaking changes to: Cpp, Ruby.
- [Cpp] Migrate to Abseil's logging library. (https://github.com/protocolbuffers/protobuf/commit/a9f1ea6371c108876649f27a5940a59cc8594768)
- [Cpp]
proto2::Map::value_typechanges tostd::pair<const K, V>. (https://github.com/protocolbuffers/protobuf/commit/46656ed080e959af3d0cb5329c063416b5a93ef0) - [Cpp] Mark final ZeroCopyInputStream, ZeroCopyOutputStream, and DefaultFieldComparator classes. (https://github.com/protocolbuffers/protobuf/commit/bf9c22e1008670b497defde335f042ffd5ae25a1)
- [Cpp] Add a dependency on Abseil (#10416)
- [Cpp] Remove all autotools usage (#10132)
- [Cpp] Add C++20 reserved keywords
- [Cpp] Delete Arena::Init
- [Cpp] Replace JSON parser with new implementation
- [Cpp] Make RepeatedField::GetArena non-const in order to support split RepeatedFields.
- [Ruby] Switch to releasing ruby source gems only.
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Breaking change: Migrate to Abseil's logging library. (https://github.com/protocolbuffers/protobuf/commit/a9f1ea6371c108876649f27a5940a59cc8594768)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Protoc: accept capital X to indicate hex escape in string literals (#10757)
- Gracefully handle weird placement of linebreaks around comments (#10660)
- Open up visibility for some compiler internals (#10608)
- Protoc: validate reserved names are identifiers (#10586)
- Protoc: validate custom json_name configuration (#10581)
- Protoc: fix consistency with parsing very large decimal numbers (#10555)
- Use protoc version for --version (#10386)
- Fix for grpc.tools #17995 & protobuf #7474 (handle UTF-8 paths in argumentfile) (#10200)
- Print full path name of source .proto file on error
- Include proto message type in the annotation comments.
- Maven artifact suffix format has changed to -RCN instead of -rc-N
C++
- Breaking change: Migrate to Abseil's logging library. (https://github.com/protocolbuffers/protobuf/commit/a9f1ea6371c108876649f27a5940a59cc8594768)
- No longer define no_threadlocal on OpenBSD (#10610)
- CMake: Enable projects to set the C++ version (#10464)
- Breaking Change: Add a dependency on Abseil (#10416)
- Upgrade third_party/googletest submodule to current main branch (#10393)
- Breaking Change: Remove all autotools usage (#10132)
- CMake: use add_compile_options instead of add_definitions for compile options (#10293)
- Fix #9947: make the ABI identical between debug and non-debug builds (#10271)
- Allow for CMAKE_INSTALL_LIBDIR to be absolute (#10090)
- Add header search paths to protobuf-c++ spec (#10024)
- Cpp_generated_lib_linked support is removed in protoc
- Reduced .pb.o object file size slightly by explicitly instantiating
- Breaking Change: Add C++20 reserved keywords.
- Fixed crash in ThreadLocalStorage for pre-C++17 compilers on 32-bit ARM.
- Clarified that JSON API non-OK statuses are not a stable API.
- Added a default implementation of MessageDifferencer::Reporter methods.
- Proto2::MapPair is now an alias to std::pair.
- Hide C++ RepeatedField::UnsafeArenaSwap
- Use table-driven parser for reflection based objects.
- Add ARM-optimized Varint decoding functions.
- Minor optimization for parsing groups
- Declare ReflectiveProtoHook class
- Reduce size of VarintParse code in protocol buffers, by calling the shared
- Avoid inlining some large heavily duplicated routines in repeated_ptr_field.h
- Add ReflectiveProtoHook to Reflection.
- Turns on table-driven parser for reflection based objects.
- Save code space by avoiding inlining of large-in-aggregate code-space MessageLite::~MessageLite destructor.
- Undefine the macro
linuxwhen compiling protobuf - Reduce memory consumption of MessageSet parsing.
- Save code space by avoiding inlining of large-in-aggregate code-space MessageLite::~MessageLite destructor.
- Breaking Change: Delete Arena::Init
- Make a PROTOBUF_POISON/UNPOISON to reduce noise in the source
- Put alignment functions in "arena_align.h"
- Split off
cleanuparena functions into "arena_cleanup.h" - Fix signed / unsigned match in CHECK_EQ
- Kill Atomic<>. it's not pulling it's weight
- Move AllocationPolicy out of arena_impl, and unify arena_config for bazel
- Fix failure case in table-driven parser.
- Breaking Change: Replace JSON parser with new implementation
- Introduce the Printer::{SetRedactDebugString,SetRandomizeDebugString} private flags.
- Introduce global flags to control Printer::{SetRedactDebugString, SetRandomizeDebugString}.
- Proto3 string fields no longer trigger clang-tidy warning bugprone-branch-clone.
- Fix the API of DescriptorUpgrader::set_allow_unknown_dependencies to set to True always, and to populate into the DescriptorPool as well.
- Report line numbers consistently in text-format deprecated-field warnings.
- Fixed C++ code generation for protos that use int32_t, uint32_t, int64_t, uint64_t, size_t as field names.
- Annotate generated C++ public aliases for enum types.
- Change default arena max block size from 8K to 32K.
- Begin emitting semantic metadata for some C++ proto features. (https://github.com/protocolbuffers/protobuf/commit/2880fef06cb7443ba24dc1264ba9f02115407f2c)
Java
- Expect fail when serialize inf and nan for Value.number_value in json format. fixes #11259 (https://github.com/protocolbuffers/protobuf/commit/ca1cb1ba80ef18f5dccfb5b6ee7fa623ba6caab5)
- Create a helper function that can make a mutable copy of any ProtobufList (https://github.com/protocolbuffers/protobuf/commit/56696066132560c5de9ca888a097ba570cda1910)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Remove unused package private class ProtobufLists. (https://github.com/protocolbuffers/protobuf/commit/b51c551e37b1036bf54ade9911d9a39aed879ab0)
- Mark UnmodifiableLazyStringList deprecated. UnmodifiableLazyStringList is unnecessary and will be removed in a future release. (https://github.com/protocolbuffers/protobuf/commit/9595cbbf9a1dbd03edaf3def50befd99b727642c)
- Make emptyList public and mark the public EMPTY field as deprecated. (https://github.com/protocolbuffers/protobuf/commit/c658e27529ccf4a000724ab3622f1b807c85449b)
- Enable Text format parser to skip unknown short-formed repeated fields. (https://github.com/protocolbuffers/protobuf/commit/6dbd4131fa6b2ad29b2b1b827f21fc61b160aeeb)
- Expose internal setExtension method for Kotlin (https://github.com/protocolbuffers/protobuf/commit/33d1070fc46ecb6189d57095bc483bc8637dc972)
- Mark default instance as immutable first to avoid race during static initialization of default instances. (#10770)
- Add serialVersionUID to ByteString and subclasses (#10718)
- Fix serialization warnings in generated code when compiling with Java 18 and above (#10561)
- Fix Timestamps fromDate for negative 'exact second' java.sql.Timestamps (#10321)
- Fix Timestamps.fromDate to correctly handle java.sql.Timestamps before unix epoch (#10126)
- Performance improvement for repeated use of FieldMaskUtil#merge by caching
- Optimized Java proto serialization gencode for protos having many extension ranges with few fields in between.
- More thoroughly annotate public generated code in Java lite protocol buffers.
- Fixed Bug in proto3 java lite repeated enum fields. Failed to call copyOnWrite before modifying previously built message. Causes modification to already "built" messages that should be immutable.
- Fix Java reflection serialization of empty packed fields.
- Refactoring java full runtime to reuse sub-message builders and prepare to migrate parsing logic from parse constructor to builder.
- Move proto wireformat parsing functionality from the private "parsing constructor" to the Builder class.
- Change the Lite runtime to prefer merging from the wireformat into mutable messages rather than building up a new immutable object before merging. This way results in fewer allocations and copy operations.
- Make message-type extensions merge from wire-format instead of building up instances and merging afterwards. This has much better performance.
- Fix TextFormat parser to build up recurring (but supposedly not repeated) sub-messages directly from text rather than building a new sub-message and merging the fully formed message into the existing field.
- Fix bug in nested builder caching logic where cleared sub-field builders would remain dirty after a clear and build in a parent layer. https://github.com/protocolbuffers/protobuf/issues/10624
- Add exemplar variants of the Java Any.is() and Any.unpack() methods. (https://github.com/protocolbuffers/protobuf/commit/60b71498d70a5645324385269c518b95c8c2feb0)
- Use bit-field int values in buildPartial to skip work on unset groups of fields. (https://github.com/protocolbuffers/protobuf/commit/2326aef1a454a4eea363cc6ed8b8def8b88365f5)
- Maven artifact suffix format has changed to -RCN instead of -rc-N
Kotlin
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Expose internal setExtension method for Kotlin (https://github.com/protocolbuffers/protobuf/commit/33d1070fc46ecb6189d57095bc483bc8637dc972)
- Add missing
publicmodifier to Kotlin generated code (#10616) - Add "public" modifier to Kotlin generated code (#10599)
- Update rules_kotlin version (#10212)
- Suppress deprecation warnings in Kotlin generated code.
- Kotlin generated code comments now use kdoc format instead of javadoc.
- Escape keywords in package names in proto generated code
- Add Kotlin enum int value getters and setters
Csharp
- Make the MergeFrom method of type ReadOnlySequence public (#11124) (https://github.com/protocolbuffers/protobuf/commit/c4bac67464cfb52f998a2f942a85adedfad04895)
- Fix a bug in which a possibly invalidated swisstable reference is used. (https://github.com/protocolbuffers/protobuf/commit/5c5dcdd11728d62a69e53f7a80ec2db8e16c4230)
- Fix .NET Native AOT warnings in Protobuf reflection (#11128) (https://github.com/protocolbuffers/protobuf/commit/c019a797492791093bccfb8404c90bf83761b3a4)
- Use forward slash instead of backslash in nuspec file (#11449) (https://github.com/protocolbuffers/protobuf/commit/724250d6e34c2734c876cdfa7208716757a6d50d)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Expose internal setExtension method for Kotlin (https://github.com/protocolbuffers/protobuf/commit/33d1070fc46ecb6189d57095bc483bc8637dc972)
- Apply Obsolete attribute to deprecated enums and enum values in C# generated code (#10520)
- Fix 32-bit floating point JSON parsing of maximal values for C# (#10514)
- Retain existing array in RepeatedField.Clear (#10508)
- Implement IComparable for the Duration type (C#) (#10441)
- Implement correct map merging behavior for C# (#10339)
- Support indented JSON formatting in C# (#9391)
- Disambiguate generated properties in C# (#10269)
- Bugfix/issue 8101 (#10268)
- Expose plugin protos for C# (#10244)
- Update to C# 10 and upgrade code style (#10105)
- Fix failing FieldMask.Merge for well-known wrapper field types (#9602)
- Helper method on Any to allow an any to be unpacked more easily (#9695)
Objective-C
- [ObjC] Boolean generation options support no value as "true". (https://github.com/protocolbuffers/protobuf/commit/7935932356b405c4f8962e1e5ac19db1afd753aa)
- [ObjC] Put out of range closed enum extension values in unknown fields. (https://github.com/protocolbuffers/protobuf/commit/903639c3287df7235537547d947cbbaf8da01feb)
- [ObjC] Raise the min OS versions (and required Xcode) (#10652)
- [ObjC] Provide a protocol for GPBExtensionRegistry's lookup support. (#10597)
- Mark the
syntaxonGPBFileDescriptoras deprecated. (https://github.com/protocolbuffers/protobuf/commit/c79832bddc3931d798d31d417238e4377f869c79) - Add the concept of a "closed enum" and expose it from the
GPBEnumDescriptor. (https://github.com/protocolbuffers/protobuf/commit/7bb699be43e230315cf23808eff28bd694df7c17)
Python
- Soft deprecate python MessageFactory (https://github.com/protocolbuffers/protobuf/commit/c80e7efac72510a2bc3e9365520055f6d6656c1d)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Raise errors when serialize inf and nan for Value.number_value in json format. fixes #11259 (https://github.com/protocolbuffers/protobuf/commit/883ec1c3ef8be0bae01cf9ad74e1adde977afeec)
- Resolve #10949: use raise from in json_format.py (#10966) (https://github.com/protocolbuffers/protobuf/commit/1e6f8761cd11796f8437f198499ef73aa7e8dc96)
- Allow reserved enums to be negative (https://github.com/protocolbuffers/protobuf/commit/1f58f1d7b83ec333ab6076bf2e76797dd8de3e45)
- Make generated python files compatible with Cython (#11011) (https://github.com/protocolbuffers/protobuf/commit/9aa5272420f5c666f2dbaba0892b174004c56257)
- Raise KeyError in Python ServiceDescriptor.FindMethodByName (#9592) (#9998)
- Changes ordering of printed fields in .pyi files from lexicographic to the same ordering found in the proto descriptor.
- Adds GeneratedCodeInfo annotations to python proto .pyi outputs as a base64 encoded docstring in the last line of the .pyi file for code analysis tools.
- Fix message factory's behavior in python cpp extension to return same message classes for same descriptor, even if the factories are different.
- Add type annotation for enum value fields in enum classes.
- Update sphinx 2.3.1 to 3.0.4 (https://github.com/protocolbuffers/protobuf/commit/c1a42b34e56f8b7ac51c56a700c489b24de1c214)
- Added is_closed to EnumDescriptor in protobuf python (https://github.com/protocolbuffers/protobuf/commit/da9de8d4d4cb5d16cfee726e52d06e91846e3578)
Python C-Extension (Default)
- Add license file to pypi wheels. (https://github.com/protocolbuffers/upb/commit/92dbe4b8bbb026282111f4d45d01feed35209803)
- Append "ByDef" to names of message accessors that use reflection (https://github.com/protocolbuffers/upb/commit/b747edb830b0fab524e0063fb2e156c390405dfa)
- Implement upb_Map_Next() as the new upb_Map iterator (https://github.com/protocolbuffers/upb/commit/03b1dee5cc8339fa60d45c2b3038f6141201bd19)
- Move the wire type definitions into upb/wire/ where they belong (https://github.com/protocolbuffers/upb/commit/ff6439fba0ff16b54150a1eb4ef511c080f3cb13)
- Replace and repair the integer hash table iterator: (https://github.com/protocolbuffers/upb/commit/70566461f97d1f03ed32ffe9f03aa126b721ed3a)
- Add Parse/Serialize templates to support shared_ptr/unique_ptr. (https://github.com/protocolbuffers/upb/commit/d3ec4b63c9f5fd6858580f8d19e41eaaaccf9fd7)
- Fixes https://github.com/protocolbuffers/upb/issues/869 (https://github.com/protocolbuffers/upb/commit/41017ef8dc3d03e1ac8c24820ad8ed9aca522bef)
- Silently succeed when adding the same serialized file in Python (https://github.com/protocolbuffers/upb/commit/e779b9d90aa8f8df7117c0f1870a158d54ab8d95)
- Different message factories will return same message class for same descriptor in python. (https://github.com/protocolbuffers/upb/commit/470f06cccbf26f98dd2df7ddecf24a78f140fe11)
- Make upb numpy type checks consistent with pure python and cpp. (https://github.com/protocolbuffers/upb/commit/79b735a7d720bd982d6dd9f0ced287d2e2c91b46)
- Upb: fix NULL pointer bug in Python FFI (https://github.com/protocolbuffers/upb/commit/c2c6427f606b7feb17a1c1f85ecd747a39978b3d)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
- Fix: php 8.2 dynamic property warning in MapFieldIter (#11485) (https://github.com/protocolbuffers/protobuf/commit/8e636d53e9aee98bc775e44bb38f1a103624816a)
- Chore: fix php lint (#11417) (https://github.com/protocolbuffers/protobuf/commit/ade256e153ea7bfff85987a7f1bf2e9c9632cb10)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- [PHP]Added missing files and fix phpext_protobuf_ptr export in pecl version (#10689)
- [PHP] Fix empty message serialization for Any (#10595)
- [PHP] allow dynamic properties in Message (#10594)
- [PHP] Added getContainingOneof and getRealContainingOneof to descriptor. (#10356)
- Fix: PHP readonly legacy files for nested messages (#10320)
- Migrating macos php builds from 7.0/7.3 to 7.4/8.0 (#10274)
- Exposed more functions in FieldDescriptor and OneofDescriptor. (#10102)
- Fixed PHP SEGV by not writing to shared memory for zend_class_entry. (#9995)
- Feat: [PHP] remove legacy generate class file (#9621)
PHP C-Extension
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Update PHP and Ruby to use the new accessors, delete the old ones (https://github.com/protocolbuffers/protobuf/commit/3f36a914427aecaa620f777c9aa5d49bd23592ee)
- Update Ruby to use the newer upb_Map_Next() iterator (https://github.com/protocolbuffers/protobuf/commit/8809a113bc0a00b685b787a03d0698aa8c3e10e8)
- Fix the ruby and php builds which were broken by a recent upb change (https://github.com/protocolbuffers/protobuf/commit/9cdf347d1977d328754c1e03f43f06dfa7887d51)
- See also UPB changes below, which may affect PHP C-Extension.
Ruby
- Breaking Change: Switch to releasing ruby source gems only. (https://github.com/protocolbuffers/protobuf/commit/0daf8b81bc649f21d87cdde1f9b605f95fe7876d)
- Migrate ruby release targets to genrule to work around Bazel 5 bug (#11619) (https://github.com/protocolbuffers/protobuf/commit/e207bcd940400fd8b99b838aae1117f1860ff495)
- Add ruby release targets (#11468) (https://github.com/protocolbuffers/protobuf/commit/5b27b4f300c9c8fdb1f178151ef29a22a674d184)
- Remove support for ruby 2.5. (https://github.com/protocolbuffers/protobuf/commit/49589719e241a83d82ce67139006d2a9be391fce)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Update PHP and Ruby to use the new accessors, delete the old ones (https://github.com/protocolbuffers/protobuf/commit/3f36a914427aecaa620f777c9aa5d49bd23592ee)
- Replace libc strdup usage with internal impl to restore musl compat. (#10811)
- Auto capitalize enums name in Ruby (#10454)
- Ruby: Use class inheritance to save memory (#10281)
- Ruby: use a valid instance variable name for
descriptor(#10282)
Ruby C-Extension
- Add retention and target field options in descriptor.proto (https://github.com/protocolbuffers/protobuf/commit/5a5683781003c399a00d2ed210d4a5102ca65696)
- Add ruby release targets (#11468) (https://github.com/protocolbuffers/protobuf/commit/5b27b4f300c9c8fdb1f178151ef29a22a674d184)
- Add debug_redact field option to protobuf. (https://github.com/protocolbuffers/protobuf/commit/9238c4843a1a25c588f11da5101c858f6ae6f7a8)
- Update PHP and Ruby to use the new accessors, delete the old ones (https://github.com/protocolbuffers/protobuf/commit/3f36a914427aecaa620f777c9aa5d49bd23592ee)
- Hide ruby native extension symbols on FreeBSD (#10832) (https://github.com/protocolbuffers/protobuf/commit/2a73e3bdfbad01be6b88c5cfaa84f5cfcb072126)
- Update Ruby to use the newer upb_Map_Next() iterator (https://github.com/protocolbuffers/protobuf/commit/8809a113bc0a00b685b787a03d0698aa8c3e10e8)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Expect fail when serialize inf and nan for Value.number_value in json format. fixes #11259 (https://github.com/protocolbuffers/upb/commit/651550cece034b8e3a6667e817ca654ab63dd694)
- Add ::protos::Parse template for Ptr. (https://github.com/protocolbuffers/upb/commit/b5384af913af9f96784a4c5b8a166e23f507c0c4)
- Upb_Array_Resize() now correctly clears new values (https://github.com/protocolbuffers/upb/commit/02cf7aaa1d97bc5268639e56f735d2ec30e7c4ed)
- Fix unset mini table field presence bug (https://github.com/protocolbuffers/upb/commit/9ab09b47fad2d0673689236bbb2d6ee9dfee1fbd)
- Allow reserved enums to be negative (https://github.com/protocolbuffers/upb/commit/1b0b06f082508f1d6856550e8ddb9b8112922984)
- Fix UPB_LIKELY() for 32-bit Windows builds (https://github.com/protocolbuffers/upb/commit/9582dc2058e2f8a9d789c6184e5e32602758ed0d)
- Fix C compiler failure when there are fields names prefixed with accessor prefixes such as set_ and clear_. (https://github.com/protocolbuffers/upb/commit/d76e286631eb89b621be)
- Make upb backwards and forwards compatible with Bazel 4.x, 3.5.x and LTS (https://github.com/protocolbuffers/upb/commit/04957b106174080e839b60c07c3a4c052646102b)
Other
- Upgrade to Abseil LTS 20230117 (#11622) (https://github.com/protocolbuffers/protobuf/commit/7930cd1f9d1ec9c6632ed29e9aede3c6ab362960)
- Fixed Visual Studio 2022: protobuf\src\google\protobuf\arena.cc(457,51): error C2127: 'thread_cache_': illegal initialization of 'constinit' entity with a non-constant expression #11672 (#11674) (https://github.com/protocolbuffers/protobuf/commit/c2e99a1ee4df28261c2e3229b77b5d881b5db5db)
- Clean up a few issues with ARM-optimized varint decoding. (https://github.com/protocolbuffers/protobuf/commit/bbe2e68686d8517185f7bb67596f925b27058d34)
- Fix bool parser for map entries to look at the whole 64-bit varint and not just (https://github.com/protocolbuffers/protobuf/commit/43e5937bf65968f5cb4b17f2994dd65df849a7f3)
- Breaking Change:
proto2::Map::value_typechanges tostd::pair<const K, V>. (https://github.com/protocolbuffers/protobuf/commit/46656ed080e959af3d0cb5329c063416b5a93ef0) - Breaking Change: Mark final ZeroCopyInputStream, ZeroCopyOutputStream, and DefaultFieldComparator classes. (https://github.com/protocolbuffers/protobuf/commit/bf9c22e1008670b497defde335f042ffd5ae25a1)
- Deprecate repeated field cleared elements API. (https://github.com/protocolbuffers/protobuf/commit/84d8b0037ba2a7ade615221175571c7a9c4c6f90)
- Breaking change: Make RepeatedField::GetArena non-const in order to support split RepeatedFields. (https://github.com/protocolbuffers/protobuf/commit/514c9a8e2ac85ad4c29e2394f3480341f0df27dc)
- Add EpsCopyInputStream::ReadCord() providing an efficient direct Cord API (https://github.com/protocolbuffers/protobuf/commit/bc4c156eb2310859d8b8002da050aab9cd78dd34)
- Add static asserts to container classes. (https://github.com/protocolbuffers/protobuf/commit/5a8abe1c2027d7595becdeb948340c97e85e7aa7)
- Fix proto deserialization issue when parsing a packed repeated enum field whose (https://github.com/protocolbuffers/protobuf/commit/afdf6dafc224258c450b47c5c7fcbc9365bbc302)
- Use the "shldq" decoder for the specialized 64-bit Varint parsers, rather than (https://github.com/protocolbuffers/protobuf/commit/0ca97a1d7de4c8f59b4a808541ce7c555cc17f33)
- Use @utf8_range to reference //third_party/utf8_range (#11352) (https://github.com/protocolbuffers/protobuf/commit/2dcd7d8f70c9a9b5bed07b614eaf006c79a99134)
- Place alignas() before lifetime specifiers (#11248) (https://github.com/protocolbuffers/protobuf/commit/5712e1a746abe0786a62014a24840dd44533422a)
- Add UnknownFieldSet::SerializeToCord() (https://github.com/protocolbuffers/protobuf/commit/8661e45075427162a962998279959bbabd11e0c8)
- Add support for repeated Cord fields. (https://github.com/protocolbuffers/protobuf/commit/b97005bda54f7f2a4e9791e0a5750bf39338ce89)
- Add Cord based Parse and Serialize logic to MessageLite (https://github.com/protocolbuffers/protobuf/commit/ddde013bd899702a1e78dd9e31a3e703bbb173b7)
- Add 'ReadCord
and 'WriteCordfunctions to CodedStream (https://github.com/protocolbuffers/protobuf/commit/e5e2ad866c01804a56a11da97555a023eaf07a52) - Add CordInputStream and CordOutputStream providing stream support directly from/to Cord data (https://github.com/protocolbuffers/protobuf/commit/8afd1b670a19e6af9af7a9830e365178b969bf57)
- Add a
WriteCord()method toZeroCopyInputStream(https://github.com/protocolbuffers/protobuf/commit/192cd096b18619d5ccd2d3b01b086106ec428d04) - Unify string and cord cleanup nodes in TaggedNode (https://github.com/protocolbuffers/protobuf/commit/0783c82bb48fc60edc4d1d5b179b5ebdf8a36424)
- Open source google/protobuf/bridge/message_set.proto (https://github.com/protocolbuffers/protobuf/commit/c04f84261327bf1a2bd02c0db3c8538fd403d7e7)
- FileOutputStream: Properly pass block_size to CopyingOutputStreamAdaptor (https://github.com/protocolbuffers/protobuf/commit/1b1e399e2ec720cd93785ece148ec081255bd908)
- Implement ZeroCopyInputStream::ReadCord() in terms of absl::CordBuffer (https://github.com/protocolbuffers/protobuf/commit/75d31befc6475178d6c4cd920602c9709e714519)
- Changing bazel skylib version from 1.2.1 to 1.3.0 (#10979) (https://github.com/protocolbuffers/protobuf/commit/1489e8d224741ca4b1455b02257c3537efe9f1c9)
- Update zlib to 1.2.13. (#10786)
- Make jsoncpp a formal dependency (#10739)
- Upgrade to MSVC 2017, since 2015 is no longer supported (#10437)
- Update CMake configuration to add a dependency on Abseil (#10401)
- Use release version instead of libtool version in Makefile (#10355)
- Fix missing
google::protobuf::RepeatedPtrField<std::string>issue in GCC (https://github.com/protocolbuffers/protobuf/commit/225b936c0183e98b7c5e072d9979c01f952c2d5a)
- C++
Published by zhangskz about 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v21.12
Python
- Fix broken enum ranges (#11171)
- Stop requiring extension fields to have a sythetic oneof (#11091)
- Python runtime 4.21.10 not works generated code can not load valid proto.
(#11171)
- C++
Published by fowles about 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v21.11
Python
- Add license file to pypi wheels (#10936)
- Fix round-trip bug (#10158)
- C++
Published by ericsalo about 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v21.10
Java
- Use bit-field int values in buildPartial to skip work on unset groups of fields. (#10960)
- Mark nested builder as clean after clear is called (#10984)
UPB
- Fix UPB_LIKELY() for 32-bit Windows builds; update protobuf_deps to point to the current upb 21.x (#11028)
Other
- Add public modifiers to kotlin code (#11068)
- C++
Published by jorgbrown over 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v21.9
C++
- Update zlib to 1.2.13 (#10819)
Python
- Target MacOS 10.9 to fix #10799 (#10807)
Ruby
- Replace libc strdup usage with internal impl to restore musl compat (#10818)
- C++
Published by acozzette over 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v21.8
Other
- Fix for grpc.tools #17995 & protobuf #7474 (handle UTF-8 paths in argumentfile) (#10721)
C++
- 21.x No longer define no_threadlocal on OpenBSD (#10743)
Java
- Mark default instance as immutable first to avoid race during static initialization of default instances (#10771)
Ruby
- Auto capitalize enums name in Ruby (#10454) (#10763)
- C++
Published by mkruskal-google over 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v21.7
Java
- Refactoring java full runtime to reuse sub-message builders and prepare to
migrate parsing logic from parse constructor to builder. - Move proto wireformat parsing functionality from the private "parsing
constructor" to the Builder class. - Change the Lite runtime to prefer merging from the wireformat into mutable
messages rather than building up a new immutable object before merging. This
way results in fewer allocations and copy operations. - Make message-type extensions merge from wire-format instead of building up
instances and merging afterwards. This has much better performance. - Fix TextFormat parser to build up recurring (but supposedly not repeated)
sub-messages directly from text rather than building a new sub-message and
merging the fully formed message into the existing field. - This release addresses a Security Advisory for Java users
- C++
Published by zhangskz over 3 years ago
https://github.com/protocolbuffers/protobuf - Protobuf Release v3.16.3
Java
- Refactoring java full runtime to reuse sub-message builders and prepare to
migrate parsing logic from parse constructor to builder. - Move proto wireformat parsing functionality from the private "parsing
constructor" to the Builder class. - Change the Lite runtime to prefer merging from the wireformat into mutable
messages rather than building up a new immutable object before merging. This
way results in fewer allocations and copy operations. - Make message-type extensions merge from wire-format instead of building up
instances and merging afterwards. This has much better performance. - Fix TextFormat parser to build up recurring (but supposedly not repeated)
sub-messages directly from text rather than building a new sub-message and
merging the fully formed message into the existing field. - This release addresses a Security Advisory for Java users
- C++
Published by deannagarcia over 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v3.20.3
Java
- Refactoring java full runtime to reuse sub-message builders and prepare to
migrate parsing logic from parse constructor to builder. - Move proto wireformat parsing functionality from the private "parsing
constructor" to the Builder class. - Change the Lite runtime to prefer merging from the wireformat into mutable
messages rather than building up a new immutable object before merging. This
way results in fewer allocations and copy operations. - Make message-type extensions merge from wire-format instead of building up
instances and merging afterwards. This has much better performance. - Fix TextFormat parser to build up recurring (but supposedly not repeated)
sub-messages directly from text rather than building a new sub-message and
merging the fully formed message into the existing field. - This release addresses a Security Advisory for Java users
- C++
Published by shaod2 over 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v3.19.6
Java
- Refactoring java full runtime to reuse sub-message builders and prepare to
migrate parsing logic from parse constructor to builder. - Move proto wireformat parsing functionality from the private "parsing
constructor" to the Builder class. - Change the Lite runtime to prefer merging from the wireformat into mutable
messages rather than building up a new immutable object before merging. This
way results in fewer allocations and copy operations. - Make message-type extensions merge from wire-format instead of building up
instances and merging afterwards. This has much better performance. - Fix TextFormat parser to build up recurring (but supposedly not repeated)
sub-messages directly from text rather than building a new sub-message and
merging the fully formed message into the existing field. - This release addresses a Security Advisory for Java users
- C++
Published by mkruskal-google over 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v21.6
C++
- Reduce memory consumption of MessageSet parsing
- This release addresses a Security Advisory for C++ and Python users
- C++
Published by deannagarcia over 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v3.19.5
C++
- Reduce memory consumption of MessageSet parsing
- This release addresses a Security Advisory for C++ and Python users
- C++
Published by ericsalo over 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v3.18.3
C++
- Reduce memory consumption of MessageSet parsing
- This release addresses a Security Advisory for C++ and Python users
- C++
Published by shaod2 over 3 years ago
https://github.com/protocolbuffers/protobuf - Protocol Buffers v3.20.2
C++
- Reduce memory consumption of MessageSet parsing
- This release addresses a Security Advisory for C++ and Python users
- C++
Published by mkruskal-google over 3 years ago