Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(905)

Side by Side Diff: third_party/protobuf/CHANGES.txt

Issue 2495533002: third_party/protobuf: Update to HEAD (83d681ee2c) (Closed)
Patch Set: Make chrome settings proto generated file a component Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/protobuf/BUILD.gn ('k') | third_party/protobuf/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 2016-09-23 version 3.1.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lit e)
2 General
3 * Proto3 support in PHP (alpha).
4 * Various bug fixes.
5
6 C++
7 * Added MessageLite::ByteSizeLong() that’s equivalent to
8 MessageLite::ByteSize() but returns the value in size_t. Useful to check
9 whether a message is over the 2G size limit that protobuf can support.
10 * Moved default_instances to global variables. This allows default_instance
11 addresses to be known at compile time.
12 * Adding missing generic gcc 64-bit atomicops.
13 * Restore New*Callback into google::protobuf namespace since these are used
14 by the service stubs code
15 * JSON support.
16 * Fixed some conformance issues.
17 * Fixed a JSON serialization bug for bytes fields.
18
19 Java
20 * Fixed a bug in TextFormat that doesn’t accept empty repeated fields (i.e.,
21 “field: [ ]”).
22 * JSON support
23 * Fixed JsonFormat to do correct snake_case-to-camelCase conversion for
24 non-style-conforming field names.
25 * Fixed JsonFormat to parse empty Any message correctly.
26 * Added an option to JsonFormat.Parser to ignore unknown fields.
27 * Experimental API
28 * Added UnsafeByteOperations.unsafeWrap(byte[]) to wrap a byte array into
29 ByteString without copy.
30
31 Python
32 * JSON support
33 * Fixed some conformance issues.
34
35 PHP (Alpha)
36 * We have added the proto3 support for PHP via both a pure PHP package and a
37 native c extension. The pure PHP package is intended to provide usability
38 to wider range of PHP platforms, while the c extension is intended to
39 provide higher performance. Both implementations provide the same runtime
40 APIs and share the same generated code. Users don’t need to re-generate
41 code for the same proto definition when they want to switch the
42 implementation later. The pure PHP package is included in the php/src
43 directory, and the c extension is included in the php/ext directory.
44
45 Both implementations provide idiomatic PHP APIs:
46 * All messages and enums are defined as PHP classes.
47 * All message fields can only be accessed via getter/setter.
48 * Both repeated field elements and map elements are stored in containers
49 that act like a normal PHP array.
50
51 Unlike several existing third-party PHP implementations for protobuf, our
52 implementations are built on a "strongly-typed" philosophy: message fields
53 and array/map containers will throw exceptions eagerly when values of the
54 incorrect type (not including those that can be type converted, e.g.,
55 double <-> integer <-> numeric string) are inserted.
56
57 Currently, pure PHP runtime supports php5.5, 5.6 and 7 on linux. C
58 extension runtime supports php5.5 and 5.6 on linux.
59
60 See php/README.md for more details about installment. See
61 https://developers.google.com/protocol-buffers/docs/phptutorial for more
62 details about APIs.
63
64 Objective-C
65 * Helpers are now provided for working the the Any well known type (see
66 GPBWellKnownTypes.h for the api additions).
67 * Some improvements in startup code (especially when extensions aren’t used).
68
69 Javascript
70 * Fixed missing import of jspb.Map
71 * Fixed valueWriterFn variable name
72
73 Ruby
74 * Fixed hash computation for JRuby's RubyMessage
75 * Make sure map parsing frames are GC-rooted.
76 * Added API support for well-known types.
77
78 C#
79 * Removed check on dependency in the C# reflection API.
80
81 2016-09-06 version 3.0.2 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript/Lite)
82 General
83 * Various bug fixes.
84
85 Objective C
86 * Fix for oneofs in proto3 syntax files where fields were set to the zero
87 value.
88 * Fix for embedded null character in strings.
89 * CocoaDocs support
90
91 Ruby
92 * Fixed memory corruption bug in parsing that could occur under GC pressure.
93
94 Javascript
95 * jspb.Map is now properly exported to CommonJS modules.
96
97 C#
98 * Removed legacy_enum_values flag.
99
100
101 2016-07-27 version 3.0.0 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript/Lite)
102 General
103 * This log only contains changes since the beta-4 release. Summarized change
104 log since the last stable release (v2.6.1) can be found in the github
105 release page.
106
107 Compatibility Notice
108 * v3.0.0 is the first API stable release of the v3.x series. We do not expect
109 any future API breaking changes.
110 * For C++, Java Lite and Objective-C, source level compatibility is
111 guaranteed. Upgrading from v3.0.0 to newer minor version releases will be
112 source compatible. For example, if your code compiles against protobuf
113 v3.0.0, it will continue to compile after you upgrade protobuf library to
114 v3.1.0.
115 * For other languages, both source level compatibility and binary level
116 compatibility are guaranteed. For example, if you have a Java binary built
117 against protobuf v3.0.0. After switching the protobuf runtime binary to
118 v3.1.0, your built binary should continue to work.
119 * Compatibility is only guaranteed for documented API and documented
120 behaviors. If you are using undocumented API (e.g., use anything in the C++
121 internal namespace), it can be broken by minor version releases in an
122 undetermined manner.
123
124 Ruby
125 * When you assign a string field `a.string_field = "X"`, we now call
126 #encode(UTF-8) on the string and freeze the copy. This saves you from
127 needing to ensure the string is already encoded as UTF-8. It also prevents
128 you from mutating the string after it has been assigned (this is how we
129 ensure it stays valid UTF-8).
130 * The generated file for `foo.proto` is now `foo_pb.rb` instead of just
131 `foo.rb`. This makes it easier to see which imports/requires are from
132 protobuf generated code, and also prevents conflicts with any `foo.rb` file
133 you might have written directly in Ruby. It is a backward-incompatible
134 change: you will need to update all of your `require` statements.
135 * For package names like `foo_bar`, we now translate this to the Ruby module
136 `FooBar`. This is more idiomatic Ruby than what we used to do (`Foo_bar`).
137
138 JavaScript
139 * Scalar fields like numbers and boolean now return defaults instead of
140 `undefined` or `null` when they are unset. You can test for presence
141 explicitly by calling `hasFoo()`, which we now generate for scalar fields.
142
143 Java Lite
144 * Java Lite is now implemented as a separate plugin, maintained in the
145 `javalite` branch. Both lite runtime and protoc artifacts will be available
146 in Maven.
147
148 C#
149 * Target platforms now .NET 4.5, selected portable subsets and .NET Core.
150 * legacy_enum_values option is no longer supported.
151
152 2016-07-15 version 3.0.0-beta-4 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript)
153 General
154 * Added a deterministic serialization API for C++. The deterministic
155 serialization guarantees that given a binary, equal messages will be
156 serialized to the same bytes. This allows applications like MapReduce to
157 group equal messages based on the serialized bytes. The deterministic
158 serialization is, however, NOT canonical across languages; it is also
159 unstable across different builds with schema changes due to unknown fields.
160 Users who need canonical serialization, e.g. persistent storage in a
161 canonical form, fingerprinting, etc, should define their own
162 canonicalization specification and implement the serializer using reflection
163 APIs rather than relying on this API.
164 * Added OneofOptions. You can now define custom options for oneof groups.
165 import "google/protobuf/descriptor.proto";
166 extend google.protobuf.OneofOptions {
167 optional int32 my_oneof_extension = 12345;
168 }
169 message Foo {
170 oneof oneof_group {
171 (my_oneof_extension) = 54321;
172 ...
173 }
174 }
175
176 C++ (beta)
177 * Introduced a deterministic serialization API in
178 CodedOutputStream::SetSerializationDeterministic(bool). See the notes about
179 deterministic serialization in the General section.
180 * Added google::protobuf::Map::swap() to swap two map fields.
181 * Fixed a memory leak when calling Reflection::ReleaseMessage() on a message
182 allocated on arena.
183 * Improved error reporting when parsing text format protos.
184 * JSON
185 - Added a new parser option to ignore unknown fields when parsing JSON.
186 - Added convenient methods for message to/from JSON conversion.
187 * Various performance optimizations.
188
189 Java (beta)
190 * File option "java_generate_equals_and_hash" is now deprecated. equals() and
191 hashCode() methods are generated by default.
192 * Added a new JSON printer option "omittingInsignificantWhitespace" to produce
193 a more compact JSON output. The printer will pretty-print by default.
194 * Updated Java runtime to be compatible with 2.5.0/2.6.1 generated protos.
195
196 Python (beta)
197 * Added support to pretty print Any messages in text format.
198 * Added a flag to ignore unknown fields when parsing JSON.
199 * Bugfix: "@type" field of a JSON Any message is now correctly put before
200 other fields.
201
202 Objective-C (beta)
203 * Updated the code to support compiling with more compiler warnings
204 enabled. (Issue 1616)
205 * Exposing more detailed errors for parsing failures. (PR 1623)
206 * Small (breaking) change to the naming of some methods on the support classes
207 for map<>. There were collisions with the system provided KVO support, so
208 the names were changed to avoid those issues. (PR 1699)
209 * Fixed for proper Swift bridging of error handling during parsing. (PR 1712)
210 * Complete support for generating sources that will go into a Framework and
211 depend on generated sources from other Frameworks. (Issue 1457)
212
213 C# (beta)
214 * RepeatedField optimizations.
215 * Support for .NET Core.
216 * Minor bug fixes.
217 * Ability to format a single value in JsonFormatter (advanced usage only).
218 * Modifications to attributes applied to generated code.
219
220 Javascript (alpha)
221 * Maps now have a real map API instead of being treated as repeated fields.
222 * Well-known types are now provided in the google-protobuf package, and the
223 code generator knows to require() them from that package.
224 * Bugfix: non-canonical varints are correctly decoded.
225
226 Ruby (alpha)
227 * Accessors for oneof fields now return default values instead of nil.
228
229 Java Lite
230 * Java lite support is removed from protocol compiler. It will be supported
231 as a protocol compiler plugin in a separate code branch.
232
1 2016-05-16 version 3.0.0-beta-3 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaSc ript) 233 2016-05-16 version 3.0.0-beta-3 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaSc ript)
2 General 234 General
3 * Supported Proto3 lite-runtime in C++/Java for mobile platforms. 235 * Supported Proto3 lite-runtime in C++/Java for mobile platforms.
4 * Any type now supports APIs to specify prefixes other than 236 * Any type now supports APIs to specify prefixes other than
5 type.googleapis.com 237 type.googleapis.com
6 * Removed javanano_use_deprecated_package option; Nano will always has its own 238 * Removed javanano_use_deprecated_package option; Nano will always has its own
7 ".nano" package. 239 ".nano" package.
8 240
9 C++ (Beta) 241 C++ (Beta)
10 * Improved hash maps. 242 * Improved hash maps.
(...skipping 1162 matching lines...) Expand 10 before | Expand all | Expand 10 after
1173 contain extra zeros. 1405 contain extra zeros.
1174 * Fix Python service CallMethod() implementation. 1406 * Fix Python service CallMethod() implementation.
1175 1407
1176 Other 1408 Other
1177 * Improved readmes. 1409 * Improved readmes.
1178 * VIM syntax highlighting improvements. 1410 * VIM syntax highlighting improvements.
1179 1411
1180 2008-07-07 version 2.0.0: 1412 2008-07-07 version 2.0.0:
1181 1413
1182 * First public release. 1414 * First public release.
OLDNEW
« no previous file with comments | « third_party/protobuf/BUILD.gn ('k') | third_party/protobuf/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698