Releases
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
[csharp] ByteString.CreateCodedInput should use ArraySegment offset and count (#8740 )
[ObjC] Add support for using the proto package to prefix symbols. (#8760 )
field_presence.md: fix Go example (#8788 )
You can’t perform that action at this time.