• Home
  • Raw
  • Download

Lines Matching +full:storage +full:- +full:repo +full:- +full:branch +full:- +full:coverage

1 2022-09-29 version 21.7 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
3 * Refactoring java full runtime to reuse sub-message builders and prepare to
10 * Make message-type extensions merge from wire-format instead of building up
13 sub-messages directly from text rather than building a new sub-message and
16 2022-09-13 version 21.6 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
21 2022-08-09 version 21.5 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
31 2022-07-25 version 21.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
37 2022-07-19 version 21.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
39 * Add header search paths to Protobuf-C++.podspec (#10024)
41 * Fix #9947: make the ABI compatible between debug and non-debug builds (#10271)
45 * Fix a SEGV bug when comparing a non-materialized sub-message (#10208)
62 2022-06-27 version 21.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
70 2022-05-27 version 21.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
80 2022-05-25 version 21.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
84 * Escape GetObject macro inside protoc-generated code (#9739)
90 * Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
98 https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
113 * Allow pre-compiled binaries for ruby 3.1.0 (#9566)
116 * Do not use range based UTF-8 validation in truffleruby (#9769)
118 * Support x64-mingw-ucrt platform
125 * Add initial version.json file for 21-dev (#9840)
127 * Cherry-pick PR #9981 into 21.x branch (#10000)
130 2022-05-19 version 21.0-rc2(C++/Java/Python/PHP/Objective-C/C#/Ruby)
138 * Support x64-mingw-ucrt platform
150 2022-05-10 version 21.0-rc1 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
156 * Escape GetObject macro inside protoc-generated code (#9739)
165 * Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
174 https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
192 * Allow pre-compiled binaries for ruby 3.1.0 (#9566)
195 * Do not use range based UTF-8 validation in truffleruby (#9769)
204 * Add initial version.json file for 21-dev (#9840)
213 2022-04-21 version 3.20.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
221 2022-03-04 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
234 * Encoding and decoding of binary format will now work properly on big-endian
236 * UTF-8 verification was fixed to properly reject surrogate code points.
257 * Add test scope to kotlin-test for protobuf-kotlin-lite (#9518)
263 * Protoc is now able to generate python stubs (.pyi) with --pyi_out
280 specified, the function returns a timezone-aware datetime in the given time
281 zone. If omitted or None, the function returns a timezone-naive UTC datetime
285 JSON serializations with UTF-8 or other non-ASCII encodings.
289 …multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.
294 * Rework allocations to power-of-two byte sizes.
314 * Add UnsafeSetAllocated to be used for one-of string fields.
322 * CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so (#8635) (#9529)
348 Objective-C
353 2022-01-28 version 3.19.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
366 2022-01-10 version 3.19.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
371 2022-01-05 version 3.19.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
376 (https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-wrvw-hg22-4m67)
378 2022-01-05 version 3.18.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
383 (https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-wrvw-hg22-4m67)
385 2022-01-05 version 3.16.1 (Java)
390 (https://github.com/protocolbuffers/protobuf/security/advisories/GHSA-wrvw-hg22-4m67)
392 2021-10-28 version 3.19.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
404 2021-10-15 version 3.19.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
407 * Make proto2::Message::DiscardUnknownFields() non-virtual
412 …* Fix for issue #8484, constant initialization doesn't compile in msvc clang-cl environment (#8993)
428 * Add python-requires in setup.py (#8989)
433 * JS: Comply with CSP no-unsafe-eval. (#8864)
440 * Ruby: build extensions for arm64-darwin (#8232)
450 2021-10-04 version 3.18.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
459 2021-09-13 version 3.18.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
474 * Moved the zero-argument New() method on messages to the base class (internal
500 2021-09-13 version 3.18.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
506 * Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
516 * Re-introduce the InlinedStringField class
568 2021-06-04 version 3.17.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
582 * Fixed parser to check that we are at a proper limit when a sub-message has
585 2021-05-25 version 3.17.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
590 * Fixed SEGV in sub-message getters for well-known types when message is unset
593 2021-05-07 version 3.17.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
605 2021-05-07 version 3.17.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
611 * Fix -Wunused-parameter in map<string, int> fields (fixes #8494) (#8500)
613 * Fix -Wundefined-inline error when using SharedCtor() or SharedDtor() (#8532)
621 * Restrict extension setter and getter operators to non-nullable T.
644 * Fix various exceptions in Ruby on 64-bit Windows (#8563)
645 * Fix crash when calculating Message hash values on 64-bit Windows (#8565)
651 2021-04-06 version 3.16.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
658 * Fix MinGW-w64 build issues. (#8286)
668 * Fix -Wsuggest-destructor-override for generated C++ proto classes. (#8408)
676 * Move arena() operation on uncommon path to out-of-line routine
677 * For iterator-pair function parameter types, take both iterators by value.
678 * Code-space savings and perhaps some modest performance improvements in
684 * Do out-of-line allocation and deallocation of string object in ArenaString.
691 >= 128 bytes and instead do a procedure call to a shared out-of-line routine.
705 * Added UnsafeByteOperations to protobuf-lite (#8426)
718 Objective-C
734 * Add --fatal_warnings flag to treat warnings as errors (#8131)
739 2021-04-07 version 3.15.8 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
744 2021-04-02 version 3.15.7 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
753 2021-03-10 version 3.15.6 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
758 2021-03-04 version 3.15.5 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
769 2021-03-02 version 3.15.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
781 2021-02-25 version 3.15.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
786 2021-02-23 version 3.15.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
794 2021-02-05 version 3.15.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
799 2021-02-05 version 3.15.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
803 the --experimental_allow_proto3_optional flag.
809 * Runtime no longer triggers -Wsign-compare warnings.
810 * Fixed -Wtautological-constant-out-of-range-compare warning.
837 * Fix some -Wunused-parameter warnings (#8053)
856 …tils.joinUnsignedDecimalString to work with negative bitsLow and low but non-zero bitsHigh paramet…
871 * Rewrote the data storage layer to be based on upb_msg objects from the
875 * [Ruby] Fix: (SIGSEGV) gRPC-Ruby issue on Windows. memory alloc infinite
890 * Add -assumevalues to remove JvmMemoryAccessor on Android.
899 2020-11-11 version 3.14.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
904 * Added flag `--deterministic_output` to `protoc --encode=...`.
912 non-optional fields.
915 * FieldPath::FollowAll() now returns a bool to signal if an out-of-bounds
927 * Migrated to C++11 for-range loops instead of index-based loops where
928 possible. This fixes a lot of warnings when compiling with -Wsign-compare.
934 * Fix RopeByteString.RopeInputStream.read() returning -1 when told to read
950 * Remove uses of pkg_resources in non-namespace packages. (#7902)
958 * Native C well-known types (#7944)
974 2020-07-14 version 3.13.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
980 * The new C extension does not support PHP 5.x. PHP 5.x users can still use pure-PHP.
986 * Fix use-after-destroy bug when the Map is allocated in the arena.
1002 * Reject NaN, Infinity, -Infinity that is not quoted.
1003 * Base64 fixes for bytes fields: accept URL-safe base64 and missing padding.
1023 generated code compatible with old C# compilers (pre-roslyn compilers
1033 2020-07-28 version 3.12.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1038 2020-06-01 version 3.12.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1040 Objective-C
1043 2020-05-26 version 3.12.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1048 Objective-C
1051 2020-05-20 version 3.12.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1054 * Re-add binary gems for Ruby 2.3 and 2.4. These are EOL upstream, however
1058 2020-05-12 version 3.12.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1061 * [experimental] Singular, non-message typed fields in proto3 now support
1063 passing the --experimental_allow_proto3_optional flag to protoc.
1068 the command-line, to match the behavior when multiple .proto files are passed.
1069 * Deterministic `protoc --descriptor_set_out` (#7175)
1084 accessor as an easier way of determining if a message is a Well-Known Type.
1087 * De-virtualize the GetArena() method in MessageLite.
1093 * Fix off-by-one error in FieldOptions::ByteSize() when extensions are present.
1104 * Fixed a bug in map sorting that appeared in -rc1 and -rc2 (#7508).
1119 * Truncate 'float' fields to 4 bytes of precision in setters for pure-Python
1142 * Fix for JSON serialization of 0/empty-valued wrapper types (#7198)
1155 * Remove unnecessary branch from ReadTag (#7289)
1157 Objective-C
1170 2020-02-14 version 3.11.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1178 * Fix JSON serialization of 0/empty-valued wrapper types (#7198)
1180 2020-01-31 version 3.11.3 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1190 2019-12-10 version 3.11.2 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1196 2019-12-02 version 3.11.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1202 2019-11-19 version 3.11.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1208 * Removed non-namespace macro EXPECT_OK()
1220 …move the usage of MethodHandle, so that Android users prior to API version 26 can use protobuf-java
1256 2019-09-03 version 3.10.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1262 * Informed the compiler of has-bit invariant to produce better code
1268 * Removed the internal-only header coded_stream_inl.h and the internal-only methods defined there.
1285 * Change ProtobufArrayList to use Object[] instead of ArrayList for 5-10% faster parsing
1286 * Implement ProtobufArrayList.add(E) for 20% (5%-40%) faster overall protolite2 parsing
1289 * Java: Add Automatic-Module-Name entries to the Manifest (#6568)
1299 * Fix sint64 zig-zag encoding.
1302 …* Create dates.ts and time_of_days.ts to mirror Java versions. This is a near-identical conversion…
1317 * Fixed leap year handling by reworking upb_mktime() -> upb_timegm(). (#6695)
1327 2019-06-28 version 3.9.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1332 * Remove branch from accessors to repeated field element array.
1344 * Enabled enum name-to-value mapping functions for C++ lite
1356 * Fix a bug where TextFormat fails to parse Any filed with > 1 embedded message sub-fields.
1380 2019-04-29 version 3.8.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1384 * Always declare enums to be int-sized
1394 * Prepare to make MergePartialFromCodedStream non-virtual.
1398 …Lite/Message types. If the explicit type is not known inlining won't help de-virtualizing the virt…
1404 * Fix TextFormat not round-trip correctly when float value is max float.
1412 * Fix "UndefinedBehaviorSanitizer: cfi-bad-type"
1429 * Add an optimized mismatch-finding algorithm to UnsafeUtil.
1444 convert to -inf if smaller than -3.4028234664e+38
1445 * Allowed casting str->bytes in Message.__setstate__
1451 2019-01-24 version 3.7.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1454 * Introduced new MOMI (maybe-outside-memory-interval) parser.
1455 …ption to json_util to parse enum as case-insensitive. In the future, enum parsing in json_util wil…
1457 * Added support for --cpp_out=speed:...
1517 2018-07-27 version 3.6.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1529 2018-06-01 version 3.6.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1533 upgrade to C++11, we will try to keep the 3.5.x branch updated with
1537 old custom-built equivalents.
1551 * Added a UTF-8 decoder that uses Unsafe to directly decode a byte buffer.
1560 * Improved test coverage for lite runtime
1564 * Fixed bytes/string map key incompatibility between C++ and pure-Python
1568 * Fixed an issue affecting the Python-C++ implementation when used with
1571 * Various fixes to resolve behavior differences between the pure-Python and
1572 Python-C++ implementations
1582 message field should use a message value instead of a sub-array.
1585 Objective-C
1588 specific +alloc / -init… methods instead.
1617 2017-12-20 version 3.5.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1624 * Fixed a bug introduced in 3.5.0 and protoc in Windows now accepts non-ascii
1632 * Fixed memory leak in C-extension implementation.
1634 * Removed duplicated typedef in C-extension headers.
1636 * Fixed Any.php to use fully-qualified name for DescriptorPool.
1648 2017-11-13 version 3.5.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1656 implementations for proto3 by default. See the per-language section for
1668 * In-progress experimental support for implicit weak fields with lite protos.
1681 * TextFormat now prints unknown length-delimited fields as messages if
1694 * Add utf-8 support for text_format.Merge()/Parse().
1696 * Add warning for Unexpected end-group tag in cpp extension.
1705 Objective-C
1724 2017-08-14 version 3.4.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1728 - Preserve unknown fields in proto3: We are going to bring unknown fields
1735 https://docs.google.com/document/d/1KMRX-G91Aa-Y2FkEaHeeviLRRNblgIahbsk4wA14gRk/view
1741 - Make C++ implementation C++11 only: we plan to require C++11 to build
1762 - move-constructor and move-assignment are introduced to messages
1763 - Repeated fields constructor now takes std::initializer_list
1764 - rvalue setters are introduced for string fields
1765 * Experimental Table-Driven parsing and serialization available to test. To
1769 $ protoc --cpp_out=table_driven_parsing,table_driven_serialization:./ \
1812 * Added pretty-print filter to text format.
1834 Objective-C
1853 64-bit integer field to be string in the generated code by adding option
1856 2017-04-05 version 3.3.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
1860 - Preserve unknown fields in proto3: please read this doc:
1862 https://docs.google.com/document/d/1KMRX-G91Aa-Y2FkEaHeeviLRRNblgIahbsk4wA14gRk/view
1869 - Make C++ implementation C++11 only: we plan to require C++11 to build
1884 - New flag always_print_enums_as_ints in JsonPrintOptions.
1885 - New flag preserve_proto_field_names in JsonPrintOptions. It will instruct
1888 - JsonPrintOptions.always_print_primtive_fields now works for oneof message
1890 - Fixed a bug that doesn’t allow different fields to set the same json_name
1892 - Fixed a performance bug that causes excessive memory copy when printing
1905 * Added FindServiceByName() in the pure-Python DescriptorPool. This works only
1916 * When encoding, negative int32 values are sign-extended to int64.
1927 Objective-C
1950 * Added whole-message deprecation, which decorates the class with [Obsolete].
1955 build for non-glibc libc’s like musl.
1964 2017-01-23 version 3.2.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lite)
1972 * Added rvalue setters for non-arena string fields.
1974 * Fixed a double-free problem when using Reflection::SetAllocatedMessage()
1980 compiler to correctly report importing-self as an error.
1989 * Fixed generated code to support field numbers up to 2^29-1.
1995 * Pure-Python: message types are now garbage-collectable.
1999 * For 64-bit integers type (int64/uint64/sfixed64/fixed64/sint64), use PHP
2000 integer on 64-bit environment and PHP string on 32-bit environment.
2001 * PHP generated code also conforms to PSR-4 now.
2004 * Fixed c extension build on 32-bit linux.
2012 https://developers.google.com/protocol-buffers/docs/reference/php-generated
2015 Objective-C
2031 * UTF-8 encoding/decoding now properly supports high codepoints.
2032 * Added convenience methods for some well-known types: Any, Struct, and
2034 types and the well-known protobuf types.
2036 2016-09-23 version 3.1.0 (C++/Java/Python/PHP/Ruby/Objective-C/C#/JavaScript/Lite)
2047 * Adding missing generic gcc 64-bit atomicops.
2058 * Fixed JsonFormat to do correct snake_case-to-camelCase conversion for
2059 non-style-conforming field names.
2075 APIs and share the same generated code. Users don’t need to re-generate
2086 Unlike several existing third-party PHP implementations for protobuf, our
2087 implementations are built on a "strongly-typed" philosophy: message fields
2090 double <-> integer <-> numeric string) are inserted.
2096 https://developers.google.com/protocol-buffers/docs/phptutorial for more
2099 Objective-C
2110 * Make sure map parsing frames are GC-rooted.
2111 * Added API support for well-known types.
2116 2016-09-06 version 3.0.2 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript/Lite)
2136 2016-07-27 version 3.0.0 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript/Lite)
2138 * This log only contains changes since the beta-4 release. Summarized change
2145 * For C++, Java Lite and Objective-C, source level compatibility is
2161 #encode(UTF-8) on the string and freeze the copy. This saves you from
2162 needing to ensure the string is already encoded as UTF-8. It also prevents
2164 ensure it stays valid UTF-8).
2168 you might have written directly in Ruby. It is a backward-incompatible
2180 `javalite` branch. Both lite runtime and protoc artifacts will be available
2187 2016-07-15 version 3.0.0-beta-4 (C++/Java/Python/Ruby/Objective-C/C#/JavaScript)
2195 Users who need canonical serialization, e.g. persistent storage in a
2220 - Added a new parser option to ignore unknown fields when parsing JSON.
2221 - Added convenient methods for message to/from JSON conversion.
2228 a more compact JSON output. The printer will pretty-print by default.
2237 Objective-C (beta)
2257 * Well-known types are now provided in the google-protobuf package, and the
2259 * Bugfix: non-canonical varints are correctly decoded.
2266 as a protocol compiler plugin in a separate code branch.
2268 2016-05-16 version 3.0.0-beta-3 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
2270 * Supported Proto3 lite-runtime in C++/Java for mobile platforms.
2278 - Improved hash maps comments. In particular, please note that equal hash
2281 - Added a new hash maps implementation that will become the default in a
2284 - Several inlined methods in Arena were moved to out-of-line to improve
2286 - Added SpaceAllocatedAndUsed() to report both space used and allocated
2287 - Added convenient class UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
2289 - Allow custom type URL prefixes in Any packing.
2290 - TextFormat now expand the Any type rather than printing bytes.
2296 * Introduced zero-copy serialization as an ExperimentalApi
2297 - Introduction of the `ByteOutput` interface. This is similar to
2300 - `ByteString` now supports writing to a `ByteOutput`, which will directly
2303 - `CodedOutputStream` now supports writing to a `ByteOutput`. `ByteString`
2306 - This allows applications using large `ByteString` fields to avoid
2311 - Additional use of `sun.misc.Unsafe` where possible to perform fast
2314 - `ByteBuffer`-backed `CodedOutputStream` now writes directly to the
2316 * Improved lite-runtime.
2317 - Lite protos now implement deep equals/hashCode/toString
2318 - Significantly improved the performance of Builder#mergeFrom() and
2321 - Fixed stack overflow when in hashCode() for infinite recursive oneofs.
2322 - Fixed the lazy field parsing in lite to merge rather than overwrite.
2323 - TextFormat now supports reporting line/column numbers on errors.
2324 - Updated to add appropriate @Override for better compiler errors.
2333 Objective-C (Beta)
2345 Most user-written code will not be impacted *except* for the renaming of enum
2382 * Well-known types are now included in the distribution.
2391 ./protoc --cpp_out=lite:$OUTPUT_PATH foo.proto
2400 2015-12-30 version 3.0.0-beta-2 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
2412 - Duplicate map keys in JSON are now rejected (i.e., translation will
2414 - Fixed wire-format for google.protobuf.Value/ListValue.
2415 - Fixed precision loss when converting google.protobuf.Timestamp.
2416 - Fixed a bug when parsing invalid UTF-8 code points.
2417 - Fixed a memory leak.
2418 - Reduced call stack usage.
2425 * Introduced UnsafeByteStrings to support zero-copy ByteString creation.
2427 - Fixed a thread-safety bug.
2428 - Added a new option “preservingProtoFieldNames” to JsonFormat.
2429 - Added a new option “includingDefaultValueFields” to JsonFormat.
2430 - Updated the JSON utility to comply with proto3 JSON specification.
2434 and a few well-known types except for Any and Struct.
2439 search-based algorithms because the C++ reflection interface didn't
2442 Objective-C (Beta)
2443 * Various bug-fixes and code tweaks to pass more strict compiler warnings.
2444 * Now has conformance test coverage and is passing all tests.
2447 * Various bug-fixes.
2454 and introduce a non-generic parser type.
2462 code for your proto, invoke protoc with "--js_out". See js/README.md
2465 2015-08-26 version 3.0.0-beta-1 (C++/Java/Python/Ruby/Nano/Objective-C/C#)
2476 https://developers.google.com/protocol-buffers/docs/proto3#json
2479 proto3-conformant JSON serializers and parsers. Until then, do not rely
2483 - Parsing invalid JSON input (e.g., input with trailing commas).
2484 - Non-camelCase names in JSON input.
2485 - The same field appears multiple times in JSON input.
2486 - JSON arrays contain “null” values.
2487 - The message has unknown fields.
2489 * Proto3 now enforces strict UTF-8 checking. Parsing will fail if a string
2490 field contains non UTF-8 data.
2495 - MessageDifferencer: compare two proto messages and report their
2497 - JsonUtil: support converting protobuf binary format to/from JSON.
2498 - TimeUtil: utility functions to work with well-known types Timestamp
2500 - FieldMaskUtil: utility functions to work with FieldMask.
2510 - JsonFormat: convert proto messages to/from JSON.
2511 - TimeUtil: utility functions to work with Timestamp and Duration.
2512 - FieldMaskUtil: utility functions to work with FieldMask.
2519 - Reduced allocations
2520 - Reduced method overhead after ProGuarding
2521 - Reduced code size after ProGuarding
2525 * Moved to a single Python 2.x/3.x-compatible codebase, instead of using 2to3.
2527 - Pure-Python works on all four.
2528 - Python/C++ implementation works on all but 3.4, due to changes in the
2535 - fixed parsing/serialization of bytes, sint, sfixed types
2536 - other parser bugfixes
2537 - fixed memory leak affecting Ruby 2.2
2543 Objective-C (Alpha)
2544 * Added non-null markup to ObjC library. Requires SDK 8.4+ to build.
2546 - Removed the class/enum filter.
2547 - Renamed some internal types to avoid conflicts with the well-known types
2549 - Added missing support for parsing repeated primitive fields in packed or
2551 - Added *Count for repeated and map<> fields to avoid auto-create when
2563 - JSON formatting (a.k.a. serialization to JSON), including well-known
2565 - Wrapper types mapped to nullable value types (or string/ByteString
2567 - maps
2568 - oneof
2569 - enum unknown value preservation
2571 2015-05-25 version 3.0.0-alpha-3 (Objective-C/C#):
2573 * Introduced two new language implementations (Objective-C, C#) to proto3.
2580 * Added well-known type protos (any.proto, empty.proto, timestamp.proto,
2604 * Various bug fixes since 3.0.0-alpha-2
2606 Objective-C
2607 Objective-C includes a code generator and a native objective-c runtime
2608 library. By adding “--objc_out” to protoc, the code generator will generate
2614 support, parsing and serialization. It’s compatible with ARC and non-ARC
2621 https://github.com/jskeet/protobuf-csharp-port. The original project was
2649 foo.mutable_any_field()->PackFrom(bar);
2663 - maps now have a dict-like interface (msg.map_field[key] = value)
2664 - existing code that modifies maps via the repeated field interface
2671 2015-02-26 version 3.0.0-alpha-2 (Python/Ruby/JavaNano):
2675 * Various bug fixes since 3.0.0-alpha-1
2683 based on whether they have a non-zero/empty/false value.
2685 One other notable change is in the C++-accelerated implementation.
2699 part of `protoc` with the `--ruby_out` flag.
2701 The Ruby extension implements a user-friendly DSL to define message types
2706 - Message fields are present as ordinary Ruby properties (getter method
2708 - Repeated field elements are stored in a container that acts like a native
2711 - The usual well-known methods, such as `#to_s`, `#dup`, and the like, are
2714 Unlike several existing third-party Ruby extensions for protobuf, this
2715 extension is built on a "strongly-typed" philosophy: message fields and
2723 for resource-restricted systems, like Android. It is very resource-friendly
2727 - No descriptors or message builders.
2728 - All messages are mutable; fields are public Java fields.
2729 - For optional fields only, encapsulation behind setter/getter/hazzer/
2730 clearer functions is opt-in, which provide proper 'has' state support.
2731 - For proto2, if not opted in, has state (field presence) is not available.
2734 - Required fields (proto2 only) are always serialized.
2735 - Enum constants are integers; protection against invalid values only
2737 - Enum constants can be generated into container interfaces bearing
2739 - CodedInputByteBufferNano can only take byte[] (not InputStream).
2740 - Similarly CodedOutputByteBufferNano can only write to byte[].
2741 - Repeated fields are in arrays, not ArrayList or Vector. Null array
2743 - Full support for serializing/deserializing repeated packed fields.
2744 - Support extensions (in proto2).
2745 - Unset messages/groups are null, not an immutable empty default
2747 - toByteArray(...) and mergeFrom(...) are now static functions of
2749 - The 'bytes' type translates to the Java type byte[].
2753 2014-12-01 version 3.0.0-alpha-1 (C++/Java):
2783 7. A well-defined encoding in JSON as an alternative to binary proto
2786 This release (v3.0.0-alpha-1) includes partial proto3 support for C++ and
2787 Java. Items 6 (well-known types) and 7 (JSON format) in the above feature
2822 fraction of CPU-time spent in protobuf code and arena allocation is a
2846 if (!message->ParseFromString(data)) {
2857 2014-10-20 version 2.6.1:
2872 * Fixed WhichOneof() to work with de-serialized protobuf messages.
2875 2014-08-15 version 2.6.0:
2890 parsing text-formatted protos in C++ and Java.
2900 without breaking backwards-compatibility.
2911 * A new C++-backed extension module (aka "cpp api v2") that replaces the
2919 2013-02-27 version 2.5.0:
2944 fields. This method allows you to set the field to a pre-allocated object
2980 2011-05-01 version 2.4.1:
2999 2011-02-02 version 2.4.0:
3020 * Fixed gzip_output_stream sub-stream handling.
3023 * Builders now maintain sub-builders for sub-messages. Use getFooBuilder() to
3024 get the builder for the sub-message "foo". This allows you to repeatedly
3025 modify deeply-nested sub-messages without rebuilding them.
3030 (Otherwise, reflection-based implementations are used.)
3033 * Added lazy conversion of UTF-8 encoded strings to String objects to improve
3062 2010-01-08 version 2.3.0:
3068 breaking backwards-compatibility -- as long as all parties are using
3088 protoc --java_out=myproto_srcs.jar --python_out=myproto.zip myproto.proto
3091 * inf, -inf, and nan can now be used as default values for float and double
3096 * DynamicMessageFactory is now fully thread-safe.
3098 UTF-8 bytes.
3099 * Compiled-in message types can now contain dynamic extensions, through use
3102 match other platforms. Use --disable-shared to avoid this.
3111 * 10-25 times faster than 2.2.0, still pure-Python.
3112 * Calling a mutating method on a sub-message always instantiates the message
3117 2009-08-11 version 2.2.0:
3121 to generate code which only depends libprotobuf-lite, which is much smaller
3129 * Floating-point literals in generated code that are intended to be
3130 single-precision now explicitly have 'f' suffix to avoid pedantic warnings
3133 a GCC-style deprecation annotation (no-op on other compilers).
3135 EnumDescriptor for that type -- useful for templates which cannot call
3141 to generate code which only depends libprotobuf-lite, which is much smaller
3152 2009-05-13 version 2.1.0:
3158 as a single byte blob using the "length-delimited" wire type. Within
3183 * Cross-compiling should now be possible using the --with-protoc option to
3187 * --error_format=msvs option causes errors to be printed in Visual Studio
3204 - Serialization, especially to flat arrays, is 10%-50% faster, possibly
3206 - Several descriptor operations which previously required locking no longer
3208 - Descriptors are now constructed lazily on first use, rather than at
3211 - UnknownFieldSet completely redesigned to be more efficient (especially in
3213 - Various optimizations to reduce code size (though the serialization speed
3218 * GzipInputStream and GzipOutputStream support reading/writing gzip- or
3219 zlib-compressed streams if zlib is available.
3229 * RepeatedField and RepeatedPtrField now have back-insertion iterators.
3258 * RPC interfaces now support blocking operation in addition to non-blocking.
3259 The protocol compiler generates separate blocking and non-blocking stubs
3260 which operate against separate blocking and non-blocking RPC interfaces.
3268 * Throw a more descriptive exception when build() is double-called.
3286 2008-11-25 version 2.0.3:
3312 * In debug mode, log error messages when string-type fields are found to
3313 contain bytes that are not valid UTF-8.
3325 64-bit Sparc machines.
3344 2008-09-29 version 2.0.2:
3347 * License changed from Apache 2.0 to 3-Clause BSD.
3362 MyMessage::descriptor()->FindFieldByName("some_field");
3363 assert(field->options().GetExtension(foo) == "bar");
3369 * Fixed some GCC warnings that only occur when using -pedantic.
3393 2008-08-15 version 2.0.1:
3396 * New flags --encode and --decode can be used to convert between protobuf text
3397 format and binary format from the command-line.
3398 * New flag --descriptor_set_out can be used to write FileDescriptorProtos for
3408 * Allow trailing slashes in --proto_path mappings.
3411 * Reflection objects are now per-class rather than per-instance. To make this
3414 significantly in memory-bandwidth-limited use cases, since it makes the
3415 message objects smaller. Note that source-incompatible interface changes
3417 * Heuristically detect sub-messages when printing unknown fields.
3420 * Fixed TokenizerTest when compiling with -DNDEBUG on Linux.
3430 package to a Maven repo.
3439 * Fixed text_format_test on Windows where floating-point exponents sometimes
3447 2008-07-07 version 2.0.0: