Releases: protocolbuffers/protobuf
Releases · protocolbuffers/protobuf
Protocol Buffers v23.3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Regenerate stale files (#13046) (58b6ddb)
- Use the same ABI for static and shared libraries on non-Windows platforms (#12983) (efa1ec7)
Objective-C
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. (protocolbuffers/upb@2de798e)
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. (b556b88)
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 (67ecdde)
C++
- Add a workaround for GCC constexpr bug (67ecdde)
Csharp
Protocol Buffers v22.5
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fix: avoid warnings on MSVC (#12697) (4483f10)
- Fix: avoid warnings on Windows (#12701) (a1435ad)
- Add missing cstdint header (9daf5fb)
- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config (#12700) (18fae1c)
- Avoid using string(JOIN..., which requires cmake 3.12 (0ce610e)
- Explicitly include GTest package in examples (5191c3b)
- Bump Abseil submodule to 20230125.3 (#12660) (2880a20)
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. (83507c7)
- Make protoc --descriptor_set_out respect option retention (ae2531d)
- Modify release artifacts for protoc to statically link system libraries. (723bd4c)
- 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. (5dc171f)
- Implement "reserved" for extension declaration. (41287bd)
- Open-source extension declaration definition. (145900f)
C++
- Fix(libprotoc): export useful symbols from .so (46fb4aa)
- Turn off clang::musttail on i386 (b40633f)
- Fixes Clang 6 linker bug (49bb3f2)
- Remove PROTOBUF_DEPRECATED in favor of [[deprecated]]. (5c59290)
- Add
assert
to the list of keywords for C++. (a75c1a2) - Added Reflection::GetCord() method in C++ (6ecb5d0)
- Support C++ protobuf ctype=CORD for bytes field (generated code). (714f975)
- Expand LazySerializerEmitter to cover proto3 cases. (fab7f92)
- Unconditionally generate unknown field accessors. (dd8a3cf)
- Introduce proto filter for inject_field_listener_events. (2dc5338)
- Add ParseFromCord to TextFormat (055a6c6)
- Mark proto2::Arena::GetArena as deprecated. (9f95958)
Java
- Adds
Timestamps.now()
. (295f112) - Added Reflection::GetCord() method in C++ (6ecb5d0)
- Re-attach OSGI headers to lite,core, and util. This information was dropped in the move from maven to bazel. (4b5652b)
- Add Java FileDescriptor.copyHeadingTo() which copies file-level settings (e.g. syntax, package, file options) to FileDescriptorProto.Builder (6e6d0bc)
- Remove unnecessary has bits from proto2 Java. (c440da9)
- Add casts to make protobuf compatible with Java 1.8 runtime. (d40aadf)
- Fix mutability bug in Java proto lite: sub-messages inside of oneofs were not (fa82155)
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (1de344f)
Kotlin
- Remove errorprone dependency from kotlin protos. (7b6e828)
Csharp
- Make json_name take priority over name (fully) in C# parsing (#12262) (4326e0f)
- Add C# presence methods to proto3 oneof fields. (affadac)
Objective-C
- Enforce the max message size when serializing to binary form. (e6d01b2)
- Mark mergeFromData:extensionRegistry: as deprecated. (e3b0051)
Python
- Fix bug in _internal_copy_files where the rule would fail in downstream repositories. (b36c392)
- Make numpy/pip_deps a test-only dependency. (fe038fc)
- Fix Python bug with required fields (579f4ab)
- Mark deprecated SupportsUnknownEnumValues on Message reflection. Use FieldDescriptor or EnumDescriptor instead. (0b9134b)
- Raise warnings for MessageFactory class usages (dd9dd86)
- Add Python support for retention attribute (63389c0)
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (1de344f)
Python C-Extension (Default)
- Fix Python bug with required fields (protocolbuffers/upb@ea4cb79)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
PHP C-Extension
- RepeatedField: unset by index (#11425) (363fa89)
- 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) (bd52d04)
- Feat(6178): emit ruby enum as integer (#11673) (8aa2b17)
Ruby C-Extension
- Feat(6178): emit ruby enum as integer (#11673) (8aa2b17)
- Ruby: Implement Write Barriers (#11793) (d82d8a4)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Implements upb_Message_DeepClone. (protocolbuffers/upb@3286f94)
Other
- Fix: missing -DPROTOBUF_USE_DLLS in pkg-config (#12700) (1ca4e9c)
- Avoid using string(JOIN..., which requires cmake 3.12 (54caf40)
- Bump Abseil submodule to 20230125.3 (#12660) (750a6e7)
- Fix btree issue in map tests. (9898418)
- Fix declared dependencies for pkg-config (#12518) (f79e35c)
- Fix build for newlib (#12501) (945bf3c)
- Update usage disclaimer on FieldOptions.ctype (b8e7192)
- Add config option to print 64-bit integers in JSON as unquoted ints if they can be losslessly converted into a 64-bit float. (330e10d)
- Version protoc according to the compiler version number. (e67136d)
- Fix shared object ABI exports (#5144) (#11032) (462964e)
- Ensure VarintParseSlowArm{32,64} are exported with PROTOBUF_EXPORT (2ce5639)
- Update the min required CMake version to 3.10 (bcb20bb)
Protocol Buffers v23.0-rc3
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
Python
- Fix bug in _internal_copy_files where the rule would fail in downstream repositories. (b36c392)
Other
Protocol Buffers v22.4
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
Python
- Fix bug in _internal_copy_files where the rule would fail in downstream repositories. (859410b)
Other
Protocol Buffers v23.0-rc2
Announcements
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
C++
- Fixes Clang 6 linker bug (49bb3f2)
General
- Replace previous breaking changes in 23.0-rc1 with deprecation warnings. (db1d3f8)
Protocol Buffers v23.0-rc1 (Incomplete)
Announcements
- This RC was abandoned before artifact publishing due to unintended breaking changes:
- Protobuf News may include additional announcements or pre-announcements for upcoming changes.
Compiler
- Implement a retain_options flag in protoc. (83507c7)
- Make protoc --descriptor_set_out respect option retention (ae2531d)
- Modify release artifacts for protoc to statically link system libraries. (723bd4c)
- 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. (5dc171f)
- Implement "reserved" for extension declaration. (41287bd)
- Open-source extension declaration definition. (145900f)
C++
- Breaking change: lock down visibility for FileDescriptor syntax APIs. (8b1be51)
- Remove PROTOBUF_DEPRECATED in favor of [[deprecated]]. (5c59290)
- Add
assert
to the list of keywords for C++. (a75c1a2) - Added Reflection::GetCord() method in C++ (6ecb5d0)
- Support C++ protobuf ctype=CORD for bytes field (generated code). (714f975)
- Expand LazySerializerEmitter to cover proto3 cases. (fab7f92)
- Unconditionally generate unknown field accessors. (dd8a3cf)
- Introduce proto filter for inject_field_listener_events. (2dc5338)
- Add ParseFromCord to TextFormat (055a6c6)
- Mark proto2::Arena::GetArena as deprecated. (9f95958)
Java
- Adds
Timestamps.now()
. (295f112) - Breaking change: Lock down visibility for FileDescriptor.getSyntax(). (8c8b2be)
- Added Reflection::GetCord() method in C++ (6ecb5d0)
- Re-attach OSGI headers to lite,core, and util. This information was dropped in the move from maven to bazel. (4b5652b)
- Add Java FileDescriptor.copyHeadingTo() which copies file-level settings (e.g. syntax, package, file options) to FileDescriptorProto.Builder (6e6d0bc)
- Remove unnecessary has bits from proto2 Java. (c440da9)
- Add casts to make protobuf compatible with Java 1.8 runtime. (d40aadf)
- Fix mutability bug in Java proto lite: sub-messages inside of oneofs were not (fa82155)
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (1de344f)
Kotlin
- Remove errorprone dependency from kotlin protos. (7b6e828)
Csharp
- Make json_name take priority over name (fully) in C# parsing (#12262) (4326e0f)
- Add C# presence methods to proto3 oneof fields. (affadac)
Objective-C
- Enforce the max message size when serializing to binary form. (e6d01b2)
- mark mergeFromData:extensionRegistry: as deprecated. (e3b0051)
Python
- Make numpy/pip_deps a test-only dependency. (fe038fc)
- Mark sequence containers as Py_TPFLAGS_SEQUENCE, enabling pattern matching (a05c57d)
- Fix Python bug with required fields (579f4ab)
- Mark deprecated SupportsUnknownEnumValues on Message reflection. Use FieldDescriptor or EnumDescriptor instead. (0b9134b)
- Raise warnings for MessageFactory class usages (dd9dd86)
- Add Python support for retention attribute (63389c0)
- Document known quirks of EnumDescriptor::is_closed() when importing across files with different syntaxes. (1de344f)
Python C-Extension (Default)
- Fix Python bug with required fields (protocolbuffers/upb@ea4cb79)
- See also UPB changes below, which may affect Python C-Extension (Default).
PHP
PHP C-Extension
- RepeatedField: unset by index (#11425) (363fa89)
- 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) (bd52d04)
- Breaking change: Lock down visibility for FileDescriptor.getSyntax(). (8c8b2be)
- Feat(6178): emit ruby enum as integer (#11673) (8aa2b17)
Ruby C-Extension
- Feat(6178): emit ruby enum as integer (#11673) (8aa2b17)
- Ruby: Implement Write Barriers (#11793) (d82d8a4)
- See also UPB changes below, which may affect Ruby C-Extension.
UPB (Python/PHP/Ruby C-Extension)
- Implements upb_Message_DeepClone. (protocolbuffers/upb@3286f94)
Other
- Fix btree issue in map tests. (9898418)
- Fix declared dependencies for pkg-config (#12518) (f79e35c)
- Fix build for newlib (#12501) (945bf3c)
- Update usage disclaimer on FieldOptions.ctype (b8e7192)
- Add config option to print 64-bit integers in JSON as unquoted ints if they can be losslessly converted into a 64-bit float. (330e10d)
- Version protoc according to the compiler version number. (e67136d)
- Fix shared object ABI exports (#5144) (#11032) (462964e)
- Ensure VarintParseSlowArm{32,64} are exported with PROTOBUF_EXPORT (2ce5639)
- Update the min required CMake version to 3.10 (bcb20bb)
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 (protocolbuffers/upb@e05f22a)