Releases: protocolbuffers/protobuf
Releases · protocolbuffers/protobuf
Protocol Buffers v3.19.2
Java
- Improve performance characteristics of UnknownFieldSet parsing (#9371)
- This release addresses a Security Advisory for Java users
Protocol Buffers v3.18.2
Java
- Improve performance characteristics of UnknownFieldSet parsing (#9371)
Protocol Buffers v3.16.1
Java
- Improve performance characteristics of UnknownFieldSet parsing (#9371)
Protocol Buffers v3.19.1
Protocol Buffers v3.19.0
C++
- Make proto2::Message::DiscardUnknownFields() non-virtual
- Separate RepeatedPtrField into its own header file
- For default floating point values of 0, consider all bits significant
- cmake: support
MSVC_RUNTIME_LIBRARY
property (#8851) - Fix shadowing warnings (#8926)
- Fix for issue #8484, constant initialization doesn't compile in msvc clang-cl environment (#8993)
- Fix build on AIX and SunOS (#8373) (#9065)
- Add Android stlport and default toolchains to BUILD. (#8290)
Java
- For default floating point values of 0, consider all bits significant
- Annotate
//java/com/google/protobuf/util/...
with nullness annotations - Use ArrayList copy constructor (#7853)
Kotlin
- Switch Kotlin proto DSLs to be implemented with inline value classes
- Fixing inlining and deprecation for repeated string fields (#9120)
Python
- Proto2 DecodeError now includes message name in error message
- Make MessageToDict convert map keys to strings (#8122)
- Add python-requires in setup.py (#8989)
- Add python 3.10 (#9034)
JavaScript
PHP
- Added "object" as a reserved name for PHP (#8962)
Ruby
- Override Map.clone to use Map's dup method (#7938)
- Ruby: build extensions for arm64-darwin (#8232)
- Add class method Timestamp.from_time to ruby well known types (#8562)
- Adopt pure ruby DSL implementation for JRuby (#9047)
- Add size to Map class (#8068)
- Fix for descriptor_pb.rb: google/protobuf should be required first (#9121)
C#
Protocol Buffers v3.19.0-rc2
Java
- Update changelog to reflect that we are not yet dropping Java 7 support after all
Protocol Buffers v3.19.0-rc1
C++
- Make proto2::Message::DiscardUnknownFields() non-virtual
- Separate RepeatedPtrField into its own header file
- For default floating point values of 0, consider all bits significant
- cmake: support
MSVC_RUNTIME_LIBRARY
property (#8851) - Fix shadowing warnings (#8926)
- Fix for issue #8484, constant initialization doesn't compile in msvc clang-cl environment (#8993)
- Fix build on AIX and SunOS (#8373) (#9065)
- Add Android stlport and default toolchains to BUILD. (#8290)
Java
- This release drops support for Java 7. Use 3.18.x if you still need Java 7 support.
- For default floating point values of 0, consider all bits significant
- Annotate
//java/com/google/protobuf/util/...
with nullness annotations - Use ArrayList copy constructor (#7853)
Kotlin
- Switch Kotlin proto DSLs to be implemented with inline value classes
Python
- Proto2 DecodeError now includes message name in error message
- Make MessageToDict convert map keys to strings (#8122)
- Add python-requires in setup.py (#8989)
- Add python 3.10 (#9034)
JavaScript
PHP
- Added "object" as a reserved name for PHP (#8962)
Ruby
- Override Map.clone to use Map's dup method (#7938)
- Ruby: build extensions for arm64-darwin (#8232)
- Add class method Timestamp.from_time to ruby well known types (#8562)
- Adopt pure ruby DSL implementation for JRuby (#9047)
- Add size to Map class (#8068)
C#
Protocol Buffers v3.18.1
Protocol Buffers v3.18.0
C++
- Fix warnings raised by clang 11 (#8664)
- Make StringPiece constructible from std::string_view (#8707)
- Add missing capability attributes for LLVM 12 (#8714)
- Stop using std::iterator (deprecated in C++17). (#8741)
- Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
- Fix #7047 Safely handle setlocale (#8735)
- Remove deprecated version of SetTotalBytesLimit() (#8794)
- Support arena allocation of google::protobuf::AnyMetadata (#8758)
- Fix undefined symbol error around SharedCtor() (#8827)
- Fix default value of enum(int) in json_util with proto2 (#8835)
- Better Smaller ByteSizeLong
- Introduce event filters for inject_field_listener_events
- Reduce memory usage of DescriptorPool
- For lazy fields copy serialized form when allowed.
- Re-introduce the InlinedStringField class
- v2 access listener
- Reduce padding in the proto's ExtensionRegistry map.
- GetExtension performance optimizations
- Make tracker a static variable rather than call static functions
- Support extensions in field access listener
- Annotate MergeFrom for field access listener
- Fix incomplete types for field access listener
- Add map_entry/new_map_entry to SpecificField in MessageDifferencer. They
record the map items which are different in MessageDifferencer's reporter. - Reduce binary size due to fieldless proto messages
- TextFormat: ParseInfoTree supports getting field end location in addition to
start. - Fix repeated enum extension size in field listener
- Enable Any Text Expansion for Descriptors::DebugString()
- Switch from int{8,16,32,64} to int{8,16,32,64}_t
Java
- Fix errorprone conflict (#8723)
- Removing deprecated TimeUtil class. (#8749)
- Optimized FieldDescriptor.valueOf() to avoid array copying.
- Removing deprecated TimeUtil class.
- Add Durations.parseUnchecked(String) and Timestamps.parseUnchecked(String)
- FieldMaskUtil: Add convenience method to mask the fields out of a given proto.
JavaScript
- Optimize binary parsing of repeated float64
- Fix for optimization when reading doubles from binary wire format
- Replace toArray implementation with toJSON.
PHP
- Migrate PHP & Ruby to ABSL wyhash (#8854)
- Added support for PHP 8.1 (currently in RC1) to the C extension (#8964)
- Fixed PHP SEGV when constructing messages from a destructor. (#8969)
Ruby
- Move DSL implementation from C to pure Ruby (#8850)
- Fixed a memory bug with RepeatedField#+. (#8970)
Python
- Drops support for 2.7 and 3.5.
Other
Protocol Buffers v3.18.0-rc2
C++
- Fix warnings raised by clang 11 (#8664)
- Make StringPiece constructible from std::string_view (#8707)
- Add missing capability attributes for LLVM 12 (#8714)
- Stop using std::iterator (deprecated in C++17). (#8741)
- Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
- Fix #7047 Safely handle setlocale (#8735)
- Remove deprecated version of SetTotalBytesLimit() (#8794)
- Support arena allocation of google::protobuf::AnyMetadata (#8758)
- Fix undefined symbol error around SharedCtor() (#8827)
- Fix default value of enum(int) in json_util with proto2 (#8835)
- Better Smaller ByteSizeLong
- Introduce event filters for inject_field_listener_events
- Reduce memory usage of DescriptorPool
- For lazy fields copy serialized form when allowed.
- Re-introduce the InlinedStringField class
- v2 access listener
- Reduce padding in the proto's ExtensionRegistry map.
- GetExtension performance optimizations
- Make tracker a static variable rather than call static functions
- Support extensions in field access listener
- Annotate MergeFrom for field access listener
- Fix incomplete types for field access listener
- Add map_entry/new_map_entry to SpecificField in MessageDifferencer. They
record the map items which are different in MessageDifferencer's reporter. - Reduce binary size due to fieldless proto messages
- TextFormat: ParseInfoTree supports getting field end location in addition to
start. - Fix repeated enum extension size in field listener
- Enable Any Text Expansion for Descriptors::DebugString()
- Switch from int{8,16,32,64} to int{8,16,32,64}_t
Java
- Fix errorprone conflict (#8723)
- Removing deprecated TimeUtil class. (#8749)
- Optimized FieldDescriptor.valueOf() to avoid array copying.
- Removing deprecated TimeUtil class.
- Add Durations.parseUnchecked(String) and Timestamps.parseUnchecked(String)
- FieldMaskUtil: Add convenience method to mask the fields out of a given proto.
JavaScript
- Optimize binary parsing of repeated float64
- Fix for optimization when reading doubles from binary wire format
- Replace toArray implementation with toJSON.
PHP
- Migrate PHP & Ruby to ABSL wyhash (#8854)
Ruby
- Move DSL implementation from C to pure Ruby (#8850)
Python
- Drops support for 2.7 and 3.5.