Skip to content

Commit 1f981c1

Browse files
committed
Updated Protobuf to 3.19.1 (Mac/Win/Linux)
1 parent 16d6da4 commit 1f981c1

File tree

92 files changed

+12999
-6876
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+12999
-6876
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Nuparu currently consists of:
2828
* [OpenVDB](http://www.openvdb.org/) 9.0.0 (Mac/Win/Linux)
2929
* [NanoVDB](http://www.openvdb.org/) 9.0.0 (Src)
3030
* [blosc](https://github.com/Blosc) 1.21.1 (Mac/Win/Linux)
31-
* [Protobuf](https://developers.google.com/protocol-buffers/) 3.17.3 (Mac/Win/Linux)
31+
* [Protobuf](https://developers.google.com/protocol-buffers/) 3.19.1 (Mac/Win/Linux)
3232
* [ispc](https://ispc.github.io) 1.16.1 (Mac/Win/Linux)
3333
* [dear imgui](https://github.com/ocornut/imgui/releases) 1.83 (Src)
3434
* [imnodes](https://github.com/Nelarius/imnodes) 0.4 (Src)

bin/linux-arm/protoc

-64.4 KB
Binary file not shown.

bin/linux-gcc10/protoc

420 KB
Binary file not shown.

bin/linux-gcc11/protoc

10.6 KB
Binary file not shown.

bin/linux-l4t/protoc

12.9 MB
Binary file not shown.

bin/mac/protoc

-405 KB
Binary file not shown.

bin/win/protoc.exe

29 KB
Binary file not shown.

include/google/protobuf/CHANGES.txt

Lines changed: 181 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,184 @@
1+
2021-10-28 version 3.19.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
2+
3+
Bazel
4+
* Ensure that release archives contain everything needed for Bazel (#9131)
5+
* Align dependency handling with Bazel best practices (#9165)
6+
7+
JavaScript
8+
* Fix `ReferenceError: window is not defined` when getting the global object (#9156)
9+
10+
Ruby
11+
* Fix memory leak in MessageClass.encode (#9150)
12+
13+
2021-10-15 version 3.19.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
14+
15+
C++
16+
* Make proto2::Message::DiscardUnknownFields() non-virtual
17+
* Separate RepeatedPtrField into its own header file
18+
* For default floating point values of 0, consider all bits significant
19+
* cmake: support `MSVC_RUNTIME_LIBRARY` property (#8851)
20+
* Fix shadowing warnings (#8926)
21+
* Fix for issue #8484, constant initialization doesn't compile in msvc clang-cl environment (#8993)
22+
* Fix build on AIX and SunOS (#8373) (#9065)
23+
* Add Android stlport and default toolchains to BUILD. (#8290)
24+
25+
Java
26+
* For default floating point values of 0, consider all bits significant
27+
* Annotate `//java/com/google/protobuf/util/...` with nullness annotations
28+
* Use ArrayList copy constructor (#7853)
29+
30+
Kotlin
31+
* Switch Kotlin proto DSLs to be implemented with inline value classes
32+
* Fix inlining and deprecation for repeated string fields in kotlin (#9120)
33+
34+
Python
35+
* Proto2 DecodeError now includes message name in error message
36+
* Make MessageToDict convert map keys to strings (#8122)
37+
* Add python-requires in setup.py (#8989)
38+
* Add python 3.10 (#9034)
39+
40+
JavaScript
41+
* Skip exports if not available by CommonJS (#8856)
42+
* JS: Comply with CSP no-unsafe-eval. (#8864)
43+
44+
PHP
45+
* Added "object" as a reserved name for PHP (#8962)
46+
47+
Ruby
48+
* Override Map.clone to use Map's dup method (#7938)
49+
* Ruby: build extensions for arm64-darwin (#8232)
50+
* Add class method Timestamp.from_time to ruby well known types (#8562)
51+
* Adopt pure ruby DSL implementation for JRuby (#9047)
52+
* Add size to Map class (#8068)
53+
* Fix for descriptor_pb.rb: google/protobuf should be required first (#9121)
54+
55+
C#
56+
* Correctly set ExtensionRegistry when parsing with MessageParser, but using an already existing CodedInputStream (#7246)
57+
* [C#] Make FieldDescriptor propertyName public (#7642)
58+
59+
2021-10-04 version 3.18.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
60+
61+
Python
62+
* Update setup.py to reflect that we now require at least Python 3.5 (#8989)
63+
* Performance fix for DynamicMessage: force GetRaw() to be inlined (#9023)
64+
65+
Ruby
66+
* Update ruby_generator.cc to allow proto2 imports in proto3 (#9003)
67+
68+
2021-09-13 version 3.18.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
69+
70+
Python
71+
* Removed Python 2.x support.
72+
* Pure python descriptor_pool.AddSerializedFile() will always build the
73+
file and return FileDescriptor which is same with python c++ extension
74+
* type errors thrown by MergeFrom now report fully qualified class names
75+
* Protobuf python generated code are simplified. Some platforms that uses
76+
"is"("is not") to compare the enum or descriptor's label/type may fail,
77+
should use "=="("!=") instead.
78+
79+
C++
80+
* Generated code now uses the c++11 standard integer types int{32,64}_t and
81+
uint{32,64}_t
82+
* Reduce memory usage of the DescriptorPool type.
83+
* Moved the zero-argument New() method on messages to the base class (internal
84+
optimization).
85+
* Unused return values marked with `PROTOBUF_MUST_USE_RESULT` are now
86+
correctly attributed.
87+
* Demotes PrintPath log for maps in MessageDifferencer down from WARNING to
88+
INFO.
89+
* Make sure FullMessageName() is always private.
90+
* Fix race condition in EnumDescriptor.
91+
* Remove MessageLite::GetMaybeArenaPointer.
92+
93+
Java
94+
* Add @deprecated javadoc for set/get/has methods
95+
* correctly decode \? escape sequence in text protos
96+
* Avoid depending on Objects.requireNonNull() until we can verify that no
97+
users are depending on older Android versions.
98+
* disallow null string map values in put and putAll
99+
* Add `@CheckReturnValue` to `ByteString` API.
100+
* Make the `hasPresence` method public in `FieldDescriptor`.
101+
* Report more detailed messages in Duration and Timestamp proto parsing
102+
errors.
103+
* New Timestamps.fromDate utility method that converts a java.util.Date to a
104+
Timestamp proto object.
105+
106+
Kotlin
107+
* Generated Kotlin code is Explicit API mode compatible
108+
109+
2021-09-13 version 3.18.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
110+
C++
111+
* Fix warnings raised by clang 11 (#8664)
112+
* Make StringPiece constructible from std::string_view (#8707)
113+
* Add missing capability attributes for LLVM 12 (#8714)
114+
* Stop using std::iterator (deprecated in C++17). (#8741)
115+
* Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
116+
* Fix #7047 Safely handle setlocale (#8735)
117+
* Remove deprecated version of SetTotalBytesLimit() (#8794)
118+
* Support arena allocation of google::protobuf::AnyMetadata (#8758)
119+
* Fix undefined symbol error around SharedCtor() (#8827)
120+
* Fix default value of enum(int) in json_util with proto2 (#8835)
121+
* Better Smaller ByteSizeLong
122+
* Introduce event filters for inject_field_listener_events
123+
* Reduce memory usage of DescriptorPool
124+
* For lazy fields copy serialized form when allowed.
125+
* Re-introduce the InlinedStringField class
126+
* v2 access listener
127+
* Reduce padding in the proto's ExtensionRegistry map.
128+
* GetExtension performance optimizations
129+
* Make tracker a static variable rather than call static functions
130+
* Support extensions in field access listener
131+
* Annotate MergeFrom for field access listener
132+
* Fix incomplete types for field access listener
133+
* Add map_entry/new_map_entry to SpecificField in MessageDifferencer. They
134+
record the map items which are different in MessageDifferencer's reporter.
135+
* Reduce binary size due to fieldless proto messages
136+
* TextFormat: ParseInfoTree supports getting field end location in addition to
137+
start.
138+
* Fix repeated enum extension size in field listener
139+
* Enable Any Text Expansion for Descriptors::DebugString()
140+
* Switch from int{8,16,32,64} to int{8,16,32,64}_t
141+
* Reduce memory usage of the DescriptorPool type.
142+
143+
Java
144+
* Fix errorprone conflict (#8723)
145+
* Removing deprecated TimeUtil class. (#8749)
146+
* Optimized FieldDescriptor.valueOf() to avoid array copying.
147+
* Removing deprecated TimeUtil class.
148+
* Add Durations.parseUnchecked(String) and Timestamps.parseUnchecked(String)
149+
* FieldMaskUtil: Add convenience method to mask the fields out of a given proto.
150+
151+
JavaScript
152+
* Optimize binary parsing of repeated float64
153+
* Fix for optimization when reading doubles from binary wire format
154+
* Replace toArray implementation with toJSON.
155+
156+
Python
157+
* Drops support for 2.7 and 3.5.
158+
159+
PHP
160+
* Migrate PHP & Ruby to ABSL wyhash (#8854)
161+
* Added support for PHP 8.1 (currently in RC1) to the C extension (#8964)
162+
* Fixed PHP SEGV when constructing messages from a destructor. (#8969)
163+
164+
Ruby
165+
* Move DSL implementation from C to pure Ruby (#8850)
166+
* Fixed a memory bug with RepeatedField#+. (#8970)
167+
168+
Other
169+
* [csharp] ByteString.CreateCodedInput should use ArraySegment offset and count (#8740)
170+
* [ObjC] Add support for using the proto package to prefix symbols. (#8760)
171+
* field_presence.md: fix Go example (#8788)
172+
173+
174+
Kotlin
175+
* Suppress NOTHING_TO_INLINE in Kotlin generated inline functions.
176+
1177
2021-06-04 version 3.17.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
178+
Python
179+
* Note: This is the last release to support Python 2.7. Future releases will
180+
require Python >= 3.5.
181+
2182
C++
3183
* Introduce FieldAccessListener.
4184
* Stop emitting boilerplate {Copy/Merge}From in each ProtoBuf class
@@ -277,7 +457,7 @@
277457
collection directly instead of using the other methods of the BaseContainer.
278458
* MessageFactory.CreateProtoype can be overridden to customize class creation.
279459
* Fix PyUnknownFields memory leak (#7928)
280-
* Add macOS big sur compatibility (#8126)
460+
* Add macOS Big Sur compatibility (#8126)
281461

282462
JavaScript
283463
* Generate `getDescriptor` methods with `*` as their `this` type.

include/google/protobuf/any.h

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ class PROTOBUF_EXPORT AnyMetadata {
6767
// The resulted type URL will be "type.googleapis.com/<message_full_name>".
6868
// Returns false if serializing the message failed.
6969
template <typename T>
70-
bool PackFrom(const T& message) {
71-
return InternalPackFrom(message, kTypeGoogleApisComPrefix,
70+
bool PackFrom(Arena* arena, const T& message) {
71+
return InternalPackFrom(arena, message, kTypeGoogleApisComPrefix,
7272
T::FullMessageName());
7373
}
7474

75-
bool PackFrom(const Message& message);
75+
bool PackFrom(Arena* arena, const Message& message);
7676

7777
// Packs a message using the given type URL prefix. The type URL will be
7878
// constructed by concatenating the message type's full name to the prefix
@@ -82,11 +82,14 @@ class PROTOBUF_EXPORT AnyMetadata {
8282
// URL: "type.googleapis.com/<message_full_name>".
8383
// Returns false if serializing the message failed.
8484
template <typename T>
85-
bool PackFrom(const T& message, StringPiece type_url_prefix) {
86-
return InternalPackFrom(message, type_url_prefix, T::FullMessageName());
85+
bool PackFrom(Arena* arena, const T& message,
86+
StringPiece type_url_prefix) {
87+
return InternalPackFrom(arena, message, type_url_prefix,
88+
T::FullMessageName());
8789
}
8890

89-
bool PackFrom(const Message& message, StringPiece type_url_prefix);
91+
bool PackFrom(Arena* arena, const Message& message,
92+
StringPiece type_url_prefix);
9093

9194
// Unpacks the payload into the given message. Returns false if the message's
9295
// type doesn't match the type specified in the type URL (i.e., the full
@@ -108,7 +111,7 @@ class PROTOBUF_EXPORT AnyMetadata {
108111
}
109112

110113
private:
111-
bool InternalPackFrom(const MessageLite& message,
114+
bool InternalPackFrom(Arena* arena, const MessageLite& message,
112115
StringPiece type_url_prefix,
113116
StringPiece type_name);
114117
bool InternalUnpackTo(StringPiece type_name,

0 commit comments

Comments
 (0)