Lines Matching +full:storage +full:- +full:repo +full:- +full:branch +full:- +full:coverage
1 2022-12-07 version 21.11 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
4 * Fix round-trip bug (#10158)
6 2022-11-29 version 21.10 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
9 * Use bit-field int values in buildPartial to skip work on unset groups of fields. (#10960)
12 …* Fix UPB_LIKELY() for 32-bit Windows builds; update protobuf_deps to point to the current upb 21.…
16 2022-10-26 version 21.9 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
27 2022-10-18 version 21.8 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
30 * Fix for grpc.tools #17995 & protobuf #7474 (handle UTF-8 paths in argumentfile) (#10721)
42 2022-09-29 version 21.7 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
44 * Refactoring java full runtime to reuse sub-message builders and prepare to
51 * Make message-type extensions merge from wire-format instead of building up
54 sub-messages directly from text rather than building a new sub-message and
57 2022-09-13 version 21.6 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
62 2022-08-09 version 21.5 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
72 2022-07-25 version 21.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
78 2022-07-19 version 21.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
80 * Add header search paths to Protobuf-C++.podspec (#10024)
82 * Fix #9947: make the ABI compatible between debug and non-debug builds (#10271)
86 * Fix a SEGV bug when comparing a non-materialized sub-message (#10208)
103 2022-06-27 version 21.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
111 2022-05-27 version 21.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
121 2022-05-25 version 21.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
125 * Escape GetObject macro inside protoc-generated code (#9739)
131 * Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
139 https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
154 * Allow pre-compiled binaries for ruby 3.1.0 (#9566)
157 * Do not use range based UTF-8 validation in truffleruby (#9769)
159 * Support x64-mingw-ucrt platform
166 * Add initial version.json file for 21-dev (#9840)
168 * Cherry-pick PR #9981 into 21.x branch (#10000)
171 2022-05-19 version 21.0-rc2(C++/Java/Python/PHP/Objective-C/C#/Ruby)
179 * Support x64-mingw-ucrt platform
191 2022-05-10 version 21.0-rc1 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
197 * Escape GetObject macro inside protoc-generated code (#9739)
206 * Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
215 https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
233 * Allow pre-compiled binaries for ruby 3.1.0 (#9566)
236 * Do not use range based UTF-8 validation in truffleruby (#9769)
245 * Add initial version.json file for 21-dev (#9840)
254 2022-04-21 version 3.20.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
262 2022-03-04 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
275 * Encoding and decoding of binary format will now work properly on big-endian
277 * UTF-8 verification was fixed to properly reject surrogate code points.
298 * Add test scope to kotlin-test for protobuf-kotlin-lite (#9518)
304 * Protoc is now able to generate python stubs (.pyi) with --pyi_out
321 specified, the function returns a timezone-aware datetime in the given time
322 zone. If omitted or None, the function returns a timezone-naive UTC datetime
326 JSON serializations with UTF-8 or other non-ASCII encodings.
330 …multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.
335 * Rework allocations to power-of-two byte sizes.
355 * Add UnsafeSetAllocated to be used for one-of string fields.
363 * CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so (#8635) (#9529)
389 Objective-C
394 2022-01-28 version 3.19.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
407 2022-01-10 version 3.19.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
412 2022-01-05 version 3.19.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
417 (https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-wrvw-hg22-4m67)
419 2022-01-05 version 3.18.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
424 (https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-wrvw-hg22-4m67)
426 2022-01-05 version 3.16.1 (Java)
431 (https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-wrvw-hg22-4m67)
433 2021-10-28 version 3.19.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
445 2021-10-15 version 3.19.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
448 * Make proto2::Message::DiscardUnknownFields() non-virtual
453 …* Fix for issue #8484, constant initialization doesn't compile in msvc clang-cl environment (#8993)
469 * Add python-requires in setup.py (#8989)
474 * JS: Comply with CSP no-unsafe-eval. (#8864)
481 * Ruby: build extensions for arm64-darwin (#8232)
491 2021-10-04 version 3.18.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
500 2021-09-13 version 3.18.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
515 * Moved the zero-argument New() method on messages to the base class (internal
541 2021-09-13 version 3.18.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
547 * Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
557 * Re-introduce the InlinedStringField class
609 2021-06-04 version 3.17.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
623 * Fixed parser to check that we are at a proper limit when a sub-message has
626 2021-05-25 version 3.17.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
631 * Fixed SEGV in sub-message getters for well-known types when message is unset
634 2021-05-07 version 3.17.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
646 2021-05-07 version 3.17.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
652 * Fix -Wunused-parameter in map<string, int> fields (fixes #8494) (#8500)
654 * Fix -Wundefined-inline error when using SharedCtor() or SharedDtor() (#8532)
662 * Restrict extension setter and getter operators to non-nullable T.
685 * Fix various exceptions in Ruby on 64-bit Windows (#8563)
686 * Fix crash when calculating Message hash values on 64-bit Windows (#8565)
692 2021-04-06 version 3.16.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
699 * Fix MinGW-w64 build issues. (#8286)
709 * Fix -Wsuggest-destructor-override for generated C++ proto classes. (#8408)
717 * Move arena() operation on uncommon path to out-of-line routine
718 * For iterator-pair function parameter types, take both iterators by value.
719 * Code-space savings and perhaps some modest performance improvements in
725 * Do out-of-line allocation and deallocation of string object in ArenaString.
732 >= 128 bytes and instead do a procedure call to a shared out-of-line routine.
746 * Added UnsafeByteOperations to protobuf-lite (#8426)
759 Objective-C
775 * Add --fatal_warnings flag to treat warnings as errors (#8131)
780 2021-04-07 version 3.15.8 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
785 2021-04-02 version 3.15.7 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
794 2021-03-10 version 3.15.6 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
799 2021-03-04 version 3.15.5 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
810 2021-03-02 version 3.15.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
822 2021-02-25 version 3.15.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
827 2021-02-23 version 3.15.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
835 2021-02-05 version 3.15.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
840 2021-02-05 version 3.15.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
844 the --experimental_allow_proto3_optional flag.
850 * Runtime no longer triggers -Wsign-compare warnings.
851 * Fixed -Wtautological-constant-out-of-range-compare warning.
878 * Fix some -Wunused-parameter warnings (#8053)
897 …tils.joinUnsignedDecimalString to work with negative bitsLow and low but non-zero bitsHigh paramet…
912 * Rewrote the data storage layer to be based on upb_msg objects from the
916 * [Ruby] Fix: (SIGSEGV) gRPC-Ruby issue on Windows. memory alloc infinite
931 * Add -assumevalues to remove JvmMemoryAccessor on Android.
940 2020-11-11 version 3.14.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
945 * Added flag `--deterministic_output` to `protoc --encode=...`.
953 non-optional fields.
956 * FieldPath::FollowAll() now returns a bool to signal if an out-of-bounds
968 * Migrated to C++11 for-range loops instead of index-based loops where
969 possible. This fixes a lot of warnings when compiling with -Wsign-compare.
975 * Fix RopeByteString.RopeInputStream.read() returning -1 when told to read
991 * Remove uses of pkg_resources in non-namespace packages. (#7902)
999 * Native C well-known types (#7944)
1015 2020-07-14 version 3.13.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1021 * The new C extension does not support PHP 5.x. PHP 5.x users can still use pure-PHP.
1027 * Fix use-after-destroy bug when the Map is allocated in the arena.
1043 * Reject NaN, Infinity, -Infinity that is not quoted.
1044 * Base64 fixes for bytes fields: accept URL-safe base64 and missing padding.
1064 generated code compatible with old C# compilers (pre-roslyn compilers
1074 2020-07-28 version 3.12.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1079 2020-06-01 version 3.12.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1081 Objective-C
1084 2020-05-26 version 3.12.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1089 Objective-C
1092 2020-05-20 version 3.12.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1095 * Re-add binary gems for Ruby 2.3 and 2.4. These are EOL upstream, however
1099 2020-05-12 version 3.12.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1102 * [experimental] Singular, non-message typed fields in proto3 now support
1104 passing the --experimental_allow_proto3_optional flag to protoc.
1109 the command-line, to match the behavior when multiple .proto files are passed.
1110 * Deterministic `protoc --descriptor_set_out` (#7175)
1125 accessor as an easier way of determining if a message is a Well-Known Type.
1128 * De-virtualize the GetArena() method in MessageLite.
1134 * Fix off-by-one error in FieldOptions::ByteSize() when extensions are present.
1145 * Fixed a bug in map sorting that appeared in -rc1 and -rc2 (#7508).
1160 * Truncate 'float' fields to 4 bytes of precision in setters for pure-Python
1183 * Fix for JSON serialization of 0/empty-valued wrapper types (#7198)
1196 * Remove unnecessary branch from ReadTag (#7289)
1198 Objective-C
1211 2020-02-14 version 3.11.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1219 * Fix JSON serialization of 0/empty-valued wrapper types (#7198)
1221 2020-01-31 version 3.11.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1231 2019-12-10 version 3.11.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1237 2019-12-02 version 3.11.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1243 2019-11-19 version 3.11.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1249 * Removed non-namespace macro EXPECT_OK()
1261 …move the usage of MethodHandle, so that Android users prior to API version 26 can use protobuf-java
1297 2019-09-03 version 3.10.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1303 * Informed the compiler of has-bit invariant to produce better code
1309 * Removed the internal-only header coded_stream_inl.h and the internal-only methods defined there.
1326 * Change ProtobufArrayList to use Object[] instead of ArrayList for 5-10% faster parsing
1327 * Implement ProtobufArrayList.add(E) for 20% (5%-40%) faster overall protolite2 parsing
1330 * Java: Add Automatic-Module-Name entries to the Manifest (#6568)
1340 * Fix sint64 zig-zag encoding.
1343 …* Create dates.ts and time_of_days.ts to mirror Java versions. This is a near-identical conversion…
1358 * Fixed leap year handling by reworking upb_mktime() -> upb_timegm(). (#6695)
1368 2019-06-28 version 3.9.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1373 * Remove branch from accessors to repeated field element array.
1385 * Enabled enum name-to-value mapping functions for C++ lite
1397 * Fix a bug where TextFormat fails to parse Any filed with > 1 embedded message sub-fields.
1421 2019-04-29 version 3.8.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1425 * Always declare enums to be int-sized
1435 * Prepare to make MergePartialFromCodedStream non-virtual.
1439 …Lite/Message types. If the explicit type is not known inlining won't help de-virtualizing the virt…
1445 * Fix TextFormat not round-trip correctly when float value is max float.
1453 * Fix "UndefinedBehaviorSanitizer: cfi-bad-type"
1470 * Add an optimized mismatch-finding algorithm to UnsafeUtil.
1485 convert to -inf if smaller than -3.4028234664e+38
1486 * Allowed casting str->bytes in Message.__setstate__
1492 2019-01-24 version 3.7.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1495 * Introduced new MOMI (maybe-outside-memory-interval) parser.
1496 …ption to json_util to parse enum as case-insensitive. In the future, enum parsing in json_util wil…
1498 * Added support for --cpp_out=speed:...
1558 2018-07-27 version 3.6.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1570 2018-06-01 version 3.6.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1574 upgrade to C++11, we will try to keep the 3.5.x branch updated with
1578 old custom-built equivalents.
1592 * Added a UTF-8 decoder that uses Unsafe to directly decode a byte buffer.
1601 * Improved test coverage for lite runtime
1605 * Fixed bytes/string map key incompatibility between C++ and pure-Python
1609 * Fixed an issue affecting the Python-C++ implementation when used with
1612 * Various fixes to resolve behavior differences between the pure-Python and
1613 Python-C++ implementations
1623 message field should use a message value instead of a sub-array.
1626 Objective-C
1629 specific +alloc / -init… methods instead.
1658 2017-12-20 version 3.5.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1665 * Fixed a bug introduced in 3.5.0 and protoc in Windows now accepts non-ascii
1673 * Fixed memory leak in C-extension implementation.
1675 * Removed duplicated typedef in C-extension headers.
1677 * Fixed Any.php to use fully-qualified name for DescriptorPool.
1689 2017-11-13 version 3.5.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1697 implementations for proto3 by default. See the per-language section for
1709 * In-progress experimental support for implicit weak fields with lite protos.
1722 * TextFormat now prints unknown length-delimited fields as messages if
1735 * Add utf-8 support for text_format.Merge()/Parse().
1737 * Add warning for Unexpected end-group tag in cpp extension.
1746 Objective-C
1765 2017-08-14 version 3.4.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1769 - Preserve unknown fields in proto3: We are going to bring unknown fields
1776 https://docs.google.com/document/d/1KMRX-G91Aa-Y2FkEaHeeviLRRNblgIahbsk4wA14gRk/view
1782 - Make C++ implementation C++11 only: we plan to require C++11 to build
1803 - move-constructor and move-assignment are introduced to messages
1804 - Repeated fields constructor now takes std::initializer_list
1805 - rvalue setters are introduced for string fields
1806 * Experimental Table-Driven parsing and serialization available to test. To
1810 $ protoc --cpp_out=table_driven_parsing,table_driven_serialization:./ \
1853 * Added pretty-print filter to text format.
1875 Objective-C
1894 64-bit integer field to be string in the generated code by adding option
1897 2017-04-05 version 3.3.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1901 - Preserve unknown fields in proto3: please read this doc:
1903 https://docs.google.com/document/d/1KMRX-G91Aa-Y2FkEaHeeviLRRNblgIahbsk4wA14gRk/view
1910 - Make C++ implementation C++11 only: we plan to require C++11 to build
1925 - New flag always_print_enums_as_ints in JsonPrintOptions.
1926 - New flag preserve_proto_field_names in JsonPrintOptions. It will instruct
1929 - JsonPrintOptions.always_print_primtive_fields now works for oneof message
1931 - Fixed a bug that doesn’t allow different fields to set the same json_name
1933 - Fixed a performance bug that causes excessive memory copy when printing
1946 * Added FindServiceByName() in the pure-Python DescriptorPool. This works only
1957 * When encoding, negative int32 values are sign-extended to int64.
1968 Objective-C
1991 * Added whole-message deprecation, which decorates the class with [Obsolete].
1996 build for non-glibc libc’s like musl.
2005 2017-01-23 version 3.2.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lite)
2013 * Added rvalue setters for non-arena string fields.
2015 * Fixed a double-free problem when using Reflection::SetAllocatedMessage()
2021 compiler to correctly report importing-self as an error.
2030 * Fixed generated code to support field numbers up to 2^29-1.
2036 * Pure-Python: message types are now garbage-collectable.
2040 * For 64-bit integers type (int64/uint64/sfixed64/fixed64/sint64), use PHP
2041 integer on 64-bit environment and PHP string on 32-bit environment.
2042 * PHP generated code also conforms to PSR-4 now.
2045 * Fixed c extension build on 32-bit linux.
2053 https://developers.google.com/protocol-buffers/docs/reference/php-generated
2056 Objective-C
2072 * UTF-8 encoding/decoding now properly supports high codepoints.
2073 * Added convenience methods for some well-known types: Any, Struct, and
2075 types and the well-known protobuf types.
2077 2016-09-23 version 3.1.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lite)
2088 * Adding missing generic gcc 64-bit atomicops.
2099 * Fixed JsonFormat to do correct snake_case-to-camelCase conversion for
2100 non-style-conforming field names.
2116 APIs and share the same generated code. Users don’t need to re-generate
2127 Unlike several existing third-party PHP implementations for protobuf, our
2128 implementations are built on a "strongly-typed" philosophy: message fields
2131 double <-> integer <-> numeric string) are inserted.
2137 https://developers.google.com/protocol-buffers/docs/phptutorial for more
2140 Objective-C
2151 * Make sure map parsing frames are GC-rooted.
2152 * Added API support for well-known types.
2157 2016-09-06 version 3.0.2 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript/Lite)
2177 2016-07-27 version 3.0.0 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript/Lite)
2179 * This log only contains changes since the beta-4 release. Summarized change
2186 * For C++, Java Lite and Objective-C, source level compatibility is
2202 #encode(UTF-8) on the string and freeze the copy. This saves you from
2203 needing to ensure the string is already encoded as UTF-8. It also prevents
2205 ensure it stays valid UTF-8).
2209 you might have written directly in Ruby. It is a backward-incompatible
2221 `javalite` branch. Both lite runtime and protoc artifacts will be available
2228 2016-07-15 version 3.0.0-beta-4 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript)
2236 Users who need canonical serialization, e.g. persistent storage in a
2261 - Added a new parser option to ignore unknown fields when parsing JSON.
2262 - Added convenient methods for message to/from JSON conversion.
2269 a more compact JSON output. The printer will pretty-print by default.
2278 Objective-C (beta)
2298 * Well-known types are now provided in the google-protobuf package, and the
2300 * Bugfix: non-canonical varints are correctly decoded.
2307 as a protocol compiler plugin in a separate code branch.
2309 2016-05-16 version 3.0.0-beta-3 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
2311 * Supported Proto3 lite-runtime in C++/Java for mobile platforms.
2319 - Improved hash maps comments. In particular, please note that equal hash
2322 - Added a new hash maps implementation that will become the default in a
2325 - Several inlined methods in Arena were moved to out-of-line to improve
2327 - Added SpaceAllocatedAndUsed() to report both space used and allocated
2328 - Added convenient class UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
2330 - Allow custom type URL prefixes in Any packing.
2331 - TextFormat now expand the Any type rather than printing bytes.
2337 * Introduced zero-copy serialization as an ExperimentalApi
2338 - Introduction of the `ByteOutput` interface. This is similar to
2341 - `ByteString` now supports writing to a `ByteOutput`, which will directly
2344 - `CodedOutputStream` now supports writing to a `ByteOutput`. `ByteString`
2347 - This allows applications using large `ByteString` fields to avoid
2352 - Additional use of `sun.misc.Unsafe` where possible to perform fast
2355 - `ByteBuffer`-backed `CodedOutputStream` now writes directly to the
2357 * Improved lite-runtime.
2358 - Lite protos now implement deep equals/hashCode/toString
2359 - Significantly improved the performance of Builder#mergeFrom() and
2362 - Fixed stack overflow when in hashCode() for infinite recursive oneofs.
2363 - Fixed the lazy field parsing in lite to merge rather than overwrite.
2364 - TextFormat now supports reporting line/column numbers on errors.
2365 - Updated to add appropriate @Override for better compiler errors.
2374 Objective-C (Beta)
2386 Most user-written code will not be impacted *except* for the renaming of enum
2423 * Well-known types are now included in the distribution.
2432 ./protoc --cpp_out=lite:$OUTPUT_PATH foo.proto
2441 2015-12-30 version 3.0.0-beta-2 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
2453 - Duplicate map keys in JSON are now rejected (i.e., translation will
2455 - Fixed wire-format for google.protobuf.Value/ListValue.
2456 - Fixed precision loss when converting google.protobuf.Timestamp.
2457 - Fixed a bug when parsing invalid UTF-8 code points.
2458 - Fixed a memory leak.
2459 - Reduced call stack usage.
2466 * Introduced UnsafeByteStrings to support zero-copy ByteString creation.
2468 - Fixed a thread-safety bug.
2469 - Added a new option “preservingProtoFieldNames” to JsonFormat.
2470 - Added a new option “includingDefaultValueFields” to JsonFormat.
2471 - Updated the JSON utility to comply with proto3 JSON specification.
2475 and a few well-known types except for Any and Struct.
2480 search-based algorithms because the C++ reflection interface didn't
2483 Objective-C (Beta)
2484 * Various bug-fixes and code tweaks to pass more strict compiler warnings.
2485 * Now has conformance test coverage and is passing all tests.
2488 * Various bug-fixes.
2495 and introduce a non-generic parser type.
2503 code for your proto, invoke protoc with "--js_out". See js/README.md
2506 2015-08-26 version 3.0.0-beta-1 (C++/Java/Python/Ruby/Nano/Objective-C/C#)
2517 https://developers.google.com/protocol-buffers/docs/proto3#json
2520 proto3-conformant JSON serializers and parsers. Until then, do not rely
2524 - Parsing invalid JSON input (e.g., input with trailing commas).
2525 - Non-camelCase names in JSON input.
2526 - The same field appears multiple times in JSON input.
2527 - JSON arrays contain “null” values.
2528 - The message has unknown fields.
2530 * Proto3 now enforces strict UTF-8 checking. Parsing will fail if a string
2531 field contains non UTF-8 data.
2536 - MessageDifferencer: compare two proto messages and report their
2538 - JsonUtil: support converting protobuf binary format to/from JSON.
2539 - TimeUtil: utility functions to work with well-known types Timestamp
2541 - FieldMaskUtil: utility functions to work with FieldMask.
2551 - JsonFormat: convert proto messages to/from JSON.
2552 - TimeUtil: utility functions to work with Timestamp and Duration.
2553 - FieldMaskUtil: utility functions to work with FieldMask.
2560 - Reduced allocations
2561 - Reduced method overhead after ProGuarding
2562 - Reduced code size after ProGuarding
2566 * Moved to a single Python 2.x/3.x-compatible codebase, instead of using 2to3.
2568 - Pure-Python works on all four.
2569 - Python/C++ implementation works on all but 3.4, due to changes in the
2576 - fixed parsing/serialization of bytes, sint, sfixed types
2577 - other parser bugfixes
2578 - fixed memory leak affecting Ruby 2.2
2584 Objective-C (Alpha)
2585 * Added non-null markup to ObjC library. Requires SDK 8.4+ to build.
2587 - Removed the class/enum filter.
2588 - Renamed some internal types to avoid conflicts with the well-known types
2590 - Added missing support for parsing repeated primitive fields in packed or
2592 - Added *Count for repeated and map<> fields to avoid auto-create when
2604 - JSON formatting (a.k.a. serialization to JSON), including well-known
2606 - Wrapper types mapped to nullable value types (or string/ByteString
2608 - maps
2609 - oneof
2610 - enum unknown value preservation
2612 2015-05-25 version 3.0.0-alpha-3 (Objective-C/C#):
2614 * Introduced two new language implementations (Objective-C, C#) to proto3.
2621 * Added well-known type protos (any.proto, empty.proto, timestamp.proto,
2645 * Various bug fixes since 3.0.0-alpha-2
2647 Objective-C
2648 Objective-C includes a code generator and a native objective-c runtime
2649 library. By adding “--objc_out” to protoc, the code generator will generate
2655 support, parsing and serialization. It’s compatible with ARC and non-ARC
2662 https://github.com/jskeet/protobuf-csharp-port. The original project was
2690 foo.mutable_any_field()->PackFrom(bar);
2704 - maps now have a dict-like interface (msg.map_field[key] = value)
2705 - existing code that modifies maps via the repeated field interface
2712 2015-02-26 version 3.0.0-alpha-2 (Python/Ruby/JavaNano):
2716 * Various bug fixes since 3.0.0-alpha-1
2724 based on whether they have a non-zero/empty/false value.
2726 One other notable change is in the C++-accelerated implementation.
2740 part of `protoc` with the `--ruby_out` flag.
2742 The Ruby extension implements a user-friendly DSL to define message types
2747 - Message fields are present as ordinary Ruby properties (getter method
2749 - Repeated field elements are stored in a container that acts like a native
2752 - The usual well-known methods, such as `#to_s`, `#dup`, and the like, are
2755 Unlike several existing third-party Ruby extensions for protobuf, this
2756 extension is built on a "strongly-typed" philosophy: message fields and
2764 for resource-restricted systems, like Android. It is very resource-friendly
2768 - No descriptors or message builders.
2769 - All messages are mutable; fields are public Java fields.
2770 - For optional fields only, encapsulation behind setter/getter/hazzer/
2771 clearer functions is opt-in, which provide proper 'has' state support.
2772 - For proto2, if not opted in, has state (field presence) is not available.
2775 - Required fields (proto2 only) are always serialized.
2776 - Enum constants are integers; protection against invalid values only
2778 - Enum constants can be generated into container interfaces bearing
2780 - CodedInputByteBufferNano can only take byte[] (not InputStream).
2781 - Similarly CodedOutputByteBufferNano can only write to byte[].
2782 - Repeated fields are in arrays, not ArrayList or Vector. Null array
2784 - Full support for serializing/deserializing repeated packed fields.
2785 - Support extensions (in proto2).
2786 - Unset messages/groups are null, not an immutable empty default
2788 - toByteArray(...) and mergeFrom(...) are now static functions of
2790 - The 'bytes' type translates to the Java type byte[].
2794 2014-12-01 version 3.0.0-alpha-1 (C++/Java):
2824 7. A well-defined encoding in JSON as an alternative to binary proto
2827 This release (v3.0.0-alpha-1) includes partial proto3 support for C++ and
2828 Java. Items 6 (well-known types) and 7 (JSON format) in the above feature
2863 fraction of CPU-time spent in protobuf code and arena allocation is a
2887 if (!message->ParseFromString(data)) {
2898 2014-10-20 version 2.6.1:
2913 * Fixed WhichOneof() to work with de-serialized protobuf messages.
2916 2014-08-15 version 2.6.0:
2931 parsing text-formatted protos in C++ and Java.
2941 without breaking backwards-compatibility.
2952 * A new C++-backed extension module (aka "cpp api v2") that replaces the
2960 2013-02-27 version 2.5.0:
2985 fields. This method allows you to set the field to a pre-allocated object
3021 2011-05-01 version 2.4.1:
3040 2011-02-02 version 2.4.0:
3061 * Fixed gzip_output_stream sub-stream handling.
3064 * Builders now maintain sub-builders for sub-messages. Use getFooBuilder() to
3065 get the builder for the sub-message "foo". This allows you to repeatedly
3066 modify deeply-nested sub-messages without rebuilding them.
3071 (Otherwise, reflection-based implementations are used.)
3074 * Added lazy conversion of UTF-8 encoded strings to String objects to improve
3103 2010-01-08 version 2.3.0:
3109 breaking backwards-compatibility -- as long as all parties are using
3129 protoc --java_out=myproto_srcs.jar --python_out=myproto.zip myproto.proto
3132 * inf, -inf, and nan can now be used as default values for float and double
3137 * DynamicMessageFactory is now fully thread-safe.
3139 UTF-8 bytes.
3140 * Compiled-in message types can now contain dynamic extensions, through use
3143 match other platforms. Use --disable-shared to avoid this.
3152 * 10-25 times faster than 2.2.0, still pure-Python.
3153 * Calling a mutating method on a sub-message always instantiates the message
3158 2009-08-11 version 2.2.0:
3162 to generate code which only depends libprotobuf-lite, which is much smaller
3170 * Floating-point literals in generated code that are intended to be
3171 single-precision now explicitly have 'f' suffix to avoid pedantic warnings
3174 a GCC-style deprecation annotation (no-op on other compilers).
3176 EnumDescriptor for that type -- useful for templates which cannot call
3182 to generate code which only depends libprotobuf-lite, which is much smaller
3193 2009-05-13 version 2.1.0:
3199 as a single byte blob using the "length-delimited" wire type. Within
3224 * Cross-compiling should now be possible using the --with-protoc option to
3228 * --error_format=msvs option causes errors to be printed in Visual Studio
3245 - Serialization, especially to flat arrays, is 10%-50% faster, possibly
3247 - Several descriptor operations which previously required locking no longer
3249 - Descriptors are now constructed lazily on first use, rather than at
3252 - UnknownFieldSet completely redesigned to be more efficient (especially in
3254 - Various optimizations to reduce code size (though the serialization speed
3259 * GzipInputStream and GzipOutputStream support reading/writing gzip- or
3260 zlib-compressed streams if zlib is available.
3270 * RepeatedField and RepeatedPtrField now have back-insertion iterators.
3299 * RPC interfaces now support blocking operation in addition to non-blocking.
3300 The protocol compiler generates separate blocking and non-blocking stubs
3301 which operate against separate blocking and non-blocking RPC interfaces.
3309 * Throw a more descriptive exception when build() is double-called.
3327 2008-11-25 version 2.0.3:
3353 * In debug mode, log error messages when string-type fields are found to
3354 contain bytes that are not valid UTF-8.
3366 64-bit Sparc machines.
3385 2008-09-29 version 2.0.2:
3388 * License changed from Apache 2.0 to 3-Clause BSD.
3403 MyMessage::descriptor()->FindFieldByName("some_field");
3404 assert(field->options().GetExtension(foo) == "bar");
3410 * Fixed some GCC warnings that only occur when using -pedantic.
3434 2008-08-15 version 2.0.1:
3437 * New flags --encode and --decode can be used to convert between protobuf text
3438 format and binary format from the command-line.
3439 * New flag --descriptor_set_out can be used to write FileDescriptorProtos for
3449 * Allow trailing slashes in --proto_path mappings.
3452 * Reflection objects are now per-class rather than per-instance. To make this
3455 significantly in memory-bandwidth-limited use cases, since it makes the
3456 message objects smaller. Note that source-incompatible interface changes
3458 * Heuristically detect sub-messages when printing unknown fields.
3461 * Fixed TokenizerTest when compiling with -DNDEBUG on Linux.
3471 package to a Maven repo.
3480 * Fixed text_format_test on Windows where floating-point exponents sometimes
3488 2008-07-07 version 2.0.0: