Lines Matching +refs:cmake +refs:indent +refs:line +refs:to

3   * Add license file to pypi wheels (#10936)
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.…
14 * Add public modifiers to kotlin code (#11068)
19 * Update zlib to 1.2.13 (#10819)
22 * Target MacOS 10.9 to fix #10799 (#10807)
25 * Replace libc strdup usage with internal impl to restore musl compat (#10818)
36 …* Mark default instance as immutable first to avoid race during static initialization of default i…
44 * Refactoring java full runtime to reuse sub-message builders and prepare to
45 migrate parsing logic from parse constructor to builder.
47 constructor" to the Builder class.
48 * Change the Lite runtime to prefer merging from the wireformat into mutable
53 * Fix TextFormat parser to build up recurring (but supposedly not repeated)
65 * Added getContainingOneof and getRealContainingOneof to descriptor.
75 * Reduce the required alignment of ArenaString from 8 to 4 (#10298)
80 * Add header search paths to Protobuf-C++.podspec (#10024)
88 …* for x in mapping now yields keys rather than values, to match Python conventions and the behavio…
90 * We implement repr() to use the same format as dict.
91 * Fix maps to use the ScalarMapContainer class when appropriate
95 * Add "readonly" as a keyword for PHP and add previous classnames to descriptor pool (#10041)
114 * cmake: Revert "Fix cmake install targets (#9822)" (#10060)
124 * cmake: Call get_filename_component() with DIRECTORY mode instead of PATH mode (#9614)
126 * Update CMake configuration to add a dependency on Abseil (#9793)
127 * Fix cmake install targets (#9822)
131 * Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
134 * Increment python major version to 4 in version.json for python upb (#9926)
135 * The C extension module for Python has been rewritten to use the upb library.
136 This is expected to deliver significant performance benefits, especially when
151 * Fixed PHP SEGV by not writing to shared memory for zend_class_entry. (#9996)
163 * [C#] Update GetExtension to support getting typed value (#9655)
182 * Fix SEGV by not writing to shared memory for zend_class_entry
188 * Fix Maven release to release actual osx_aarch64 binary
189 * Fix protoc zips to have the proto files for well known types
194 * Rename main cmake/CMakeLists.txt to CMakeLists.txt (#9603)
196 * cmake: Call get_filename_component() with DIRECTORY mode instead of PATH mode (#9614)
198 * Update CMake configuration to add a dependency on Abseil (#9793)
206 * Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
210 * Increment python major version to 4 in version.json for python upb (#9926)
211 * The C extension module for Python has been rewritten to use the upb library.
212 This is expected to deliver significant performance benefits, especially when
216 * Due to the breaking changes for Python, the major version number for Python
230 * Fixed composer.json to only advertise compatibility with PHP 7.0+. (#9819)
242 * [C#] Update GetExtension to support getting typed value (#9655)
252 * Require package names to be less than 512 bytes in length
268 * Allocate with xrealloc()/xfree() so message allocation is visible to the
269 Ruby GC. In certain tests this leads to much lower memory usage due to more
277 * UTF-8 verification was fixed to properly reject surrogate code points.
285 * Fix parseFrom to only throw InvalidProtocolBufferException
291 * Add @CheckReturnValue to some protobuf types
293 * Add more info to @deprecated javadoc for set/get/has methods
294 * Fix initialization bug in doc comment line numbers
298 * Add test scope to kotlin-test for protobuf-kotlin-lite (#9518)
300 * Add orNull extensions to all proto3 message fields.
304 * Protoc is now able to generate python stubs (.pyi) with --pyi_out
305 * Pin multibuild scripts to get manylinux1 wheels back (#9216)
313 * Loosen indexing type requirements to allow valid __index__() implementations
318 * Pure python repeated scalar fields will not able to pickle. Convert to list
324 * Adds client_streaming and server_streaming fields to MethodDescriptor.
325 * Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
329 * [Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
335 * Rework allocations to power-of-two byte sizes.
340 * Enforce a maximum message nesting limit of 32 in the descriptor builder to
351 * Change Repeated*Field to reuse memory when using arenas.
355 * Add UnsafeSetAllocated to be used for one-of string fields.
362 * Add option to use external GTest in CMake (#8736)
364 * Add cmake option `protobuf_INSTALL` to not install files (#7123)
365 * CMake: Allow custom plugin options e.g. to generate mocks (#9105)
367 * Manually *struct Cord fields to work better with arenas.
386 * Add ToProto() method to all descriptor classes (#9426)
387 * Add an option to preserve proto names in JsonFormatter (#6307)
391 * Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. (#9552)
392 * Add a generation option to control use of forward declarations in headers. (#9568)
397 * Make libprotobuf symbols local on OSX to fix issue #9395 (#9435)
451 * cmake: support `MSVC_RUNTIME_LIBRARY` property (#8851)
455 * Add Android stlport and default toolchains to BUILD. (#8290)
463 * Switch Kotlin proto DSLs to be implemented with inline value classes
468 * Make MessageToDict convert map keys to strings (#8122)
480 * Override Map.clone to use Map's dup method (#7938)
482 * Add class method Timestamp.from_time to ruby well known types (#8562)
484 * Add size to Map class (#8068)
494 * Update setup.py to reflect that we now require at least Python 3.5 (#8989)
495 * Performance fix for DynamicMessage: force GetRaw() to be inlined (#9023)
498 * Update ruby_generator.cc to allow proto2 imports in proto3 (#9003)
508 "is"("is not") to compare the enum or descriptor's label/type may fail,
515 * Moved the zero-argument New() method on messages to the base class (internal
519 * Demotes PrintPath log for maps in MessageDifferencer down from WARNING to
531 * Add `@CheckReturnValue` to `ByteString` API.
535 * New Timestamps.fromDate utility method that converts a java.util.Date to a
547 * Move field_access_listener from libprotobuf-lite to libprotobuf (#8775)
565 * Add map_entry/new_map_entry to SpecificField in MessageDifferencer. They
567 * Reduce binary size due to fieldless proto messages
568 * TextFormat: ParseInfoTree supports getting field end location in addition to
572 * Switch from int{8,16,32,64} to int{8,16,32,64}_t
578 * Optimized FieldDescriptor.valueOf() to avoid array copying.
581 * FieldMaskUtil: Add convenience method to mask the fields out of a given proto.
592 * Migrate PHP & Ruby to ABSL wyhash (#8854)
593 * Added support for PHP 8.1 (currently in RC1) to the C extension (#8964)
597 * Move DSL implementation from C to pure Ruby (#8850)
602 * [ObjC] Add support for using the proto package to prefix symbols. (#8760)
611 * Note: This is the last release to support Python 2.7. Future releases will
623 * Fixed parser to check that we are at a proper limit when a sub-message has
637 * Fixed JSON parser to allow multiple values from the same oneof as long as
642 * Fixed JSON parser to allow multiple values from the same oneof as long as
657 * Make sure to cache proto3 optional message fields when they are cleared.
658 * Expose UnsafeArena methods to Reflection.
662 * Restrict extension setter and getter operators to non-nullable T.
665 * updating GSON and Guava to more recent versions (#8524)
704 * Fix cmake install on iOS (#8301)
705 * Create a CMake option to control whether or not RTTI is enabled (#8347)
708 * Make util::Status more similar to absl::Status (#8405)
712 * The ::pb namespace is no longer exposed due to conflicts.
713 * Allow MessageDifferencer::TreatAsSet() (and friends) to override previous
717 * Move arena() operation on uncommon path to out-of-line routine
725 * Do out-of-line allocation and deallocation of string object in ArenaString.
726 * Streamline ParseContext::ParseMessage<T> to avoid code bloat and improve
729 * Fix undefined behavior warning due to innocuous uninitialization of value
732 >= 128 bytes and instead do a procedure call to a shared out-of-line routine.
746 * Added UnsafeByteOperations to protobuf-lite (#8426)
760 * Move the class map to a CFDictionary. (#8328)
763 * read_property() handler is not supposed to return NULL (#8362)
764 * Changed parameter type from long to integer (#7613)
768 * Fixed quadratic memory usage when appending to arrays. (#8364)
774 * [CMake] Ability to pass options to protoc executable from cmake (#8374)
775 * Add --fatal_warnings flag to treat warnings as errors (#8131)
776 * [bazel] Remove deprecated way to depend on googletest (#8396)
777 * add error returns missing from protoc to prevent it from exiting with… (#8409)
814 * Fixed quadratic memory usage when appending to arrays (#8364)
817 * Create a CMake option to control whether or not RTTI is enabled (#8361)
820 * read_property() handler is not supposed to return NULL (#8362)
849 * Use init_seg in MSVC to push initialization to an earlier phase.
857 * Change the signature of Any::PackFrom() to return false on error.
875 * Changes to reduce code size for unknown field handling by making uncommon
876 cases out of line.
890 * MessageFactory.CreateProtoype can be overridden to customize class creation.
897 …* js/binary/utils.js: Fix jspb.utils.joinUnsignedDecimalString to work with negative bitsLow and l…
902 * Fix PhpDoc comments for message accessors to include "|null". (#8136)
903 * fix: convert native PHP floats to single precision (#8187)
904 * Fixed PHP to support field numbers >=2**28. (#8235)
905 * feat: add support for deprecated fields to PHP compiler (#8223)
908 * Updated upb to allow nonzero offset minutes in JSON timestamps. (#8258)
912 * Rewrote the data storage layer to be based on upb_msg objects from the
913 upb library. This should lead to much better parsing performance,
918 * Fix jruby support to handle messages nested more than 1 level deep (#8194)
931 * Add -assumevalues to remove JvmMemoryAccessor on Android.
935 * Change ByteString to use memory and support unsafe create without copy (#7645)
937 * Allow FileDescriptors to be parsed with extension registries (#8220)
945 * Added flag `--deterministic_output` to `protoc --encode=...`.
956 * FieldPath::FollowAll() now returns a bool to signal if an out-of-bounds
959 * Minor formatting fix when dumping a descriptor to .proto format with
968 * Migrated to C++11 for-range loops instead of index-based loops where
971 * Adds a CMake option to build `libprotoc` separately (#7949)
975 * Fix RopeByteString.RopeInputStream.read() returning -1 when told to read
977 * Redefine remove(Object) on primitive repeated field Lists to avoid
981 * Fix FieldMaskUtil.subtract to recursively remove mask.
984 * Adding forgotten duration.proto to the lite library (#7738)
989 * Fix bug occurring when attempting to deep copy an enum type in python 3.
997 * Added support for "==" to the PHP C extension (#7883)
1002 * add missing hasOneof method to check presence of oneof fields (#8003)
1005 * Update go_package options to reference google.golang.org/protobuf module.
1020 also make it easier to add support for more features like proto2 and proto3 presence.
1026 * Removed implicit conversion from StringPiece to std::string
1030 * Use std::hash for proto maps to help with portability.
1031 * Added more Windows macros to proto whitelist.
1035 * Fix mismatch between MapEntry ByteSize and Serialize with respect to unset
1052 * Add Subtract function to FieldMaskUtil.
1056 This was required to modernize the parsing stack to use the `Span<byte>`
1058 * Add `ParseFrom(ReadOnlySequence<byte>)` method to enable GC friendly
1060 * Add support for serialization directly to a `IBufferWriter<byte>` or
1061 to a `Span<byte>` to enable GC friendly serialization.
1063 * Add `GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE` define to make
1067 not support C# 7.2 compiler might need to use the new define
1068 in their projects to be able to build the newly generated code. (#7490)
1069 * Due to the major overhaul of parsing and serialization internals (#7351 and #7576),
1070 it is recommended to regenerate your generated code to achieve the best
1082 * Tweak the union used for Extensions to support old generated code. #7573
1087 * Simplified the template export macros to fix the build for mingw32. (#7539)
1104 passing the --experimental_allow_proto3_optional flag to protoc.
1106 * During this experimental phase, code generators should update to support
1109 the command-line, to match the behavior when multiple .proto files are passed.
1114 * New descriptor APIs to support proto3 presence.
1116 * Documented that users are not allowed to subclass Message or MessageLite.
1135 * Clarified the comments to show an example of the difference between
1137 * Add a compiler option 'code_size' to force optimize_for=code_size on all
1143 * reduce <clinit> size for enums with allow_alias set to true.
1153 for repeated fields to avoid autoboxing the list contents.
1154 * Add overload to FieldMaskUtil.fromStringList that accepts a descriptor.
1160 * Truncate 'float' fields to 4 bytes of precision in setters for pure-Python
1163 * Added a deprecation warning when code tries to create Descriptor objects
1186 * assigning 'nil' to submessage should clear the field. (#7397)
1201 * Use references to Obj C classes instead of names in descriptors. (#7026)
1224 * Add OUT and OPTIONAL to windows portability files (#7087)
1227 * Refactored ulong to zend_ulong for php7.4 compatibility (#7147)
1228 * Call register_class before getClass from desc to fix segfault (#7077)
1248 …* Moved ShutdownProtobufLibrary() to message_lite.h. For backward compatibility a declaration is …
1252 …* Add a helper function to UnknownFieldSet to deal with the changing return value of message::unkn…
1256 * Updated deprecation macros to annotate deprecated code (#6612)
1258 …* Revert "Make shared libraries be able to link to MSVC static runtime libraries, so that VC runti…
1261 …* Remove the usage of MethodHandle, so that Android users prior to API version 26 can use protobuf…
1285 * (RepeatedField): Capacity property to resize the internal array (#6530)
1288 * Add length checks to ExtensionCollection (#6759)
1291 * Change _Extensions property to normal body rather than expression (#6856)
1300 * Switch the proto parser to the faster MOMI parser.
1303 * Informed the compiler of has-bit invariant to produce better code
1305 * Add proto2::util::RemoveSubranges to remove multiple subranges in linear time.
1308 * Support 32 bit values for ProtoStreamObjectWriter to Struct.
1312 * Do not convert unknown field name to snake case to accurately report error.
1319 * Call loadDescriptor outside of synchronized block to remove one possible source of deadlock.
1322 * Update TextFormat to make use of the new TypeRegistry.
1324 * Update JsonFormat to make use of the new TypeRegistry.
1326 * Change ProtobufArrayList to use Object[] instead of ArrayList for 5-10% faster parsing
1330 * Java: Add Automatic-Module-Name entries to the Manifest (#6568)
1334 * Uses explicit imports to prevent multithread test failures in py3.
1336 * Update six version to 1.12.0 and fix legacy_create_init issue (#6391)
1339 * Remove deprecated boolean option to getResultBase64String().
1341 …* Simplify hash64 string conversion to avoid DIGIT array. Should reduce overhead if these function…
1342 * Change the parameter types of binaryReaderFn in ExtensionFieldBinaryInfo to (number, ?, ?).
1343 …* Create dates.ts and time_of_days.ts to mirror Java versions. This is a near-identical conversion…
1344 * Migrate moneys to TypeScript.
1361 * Remove OSReadLittle* due to alignment requirements (#6678)
1365 * Override CocoaPods module to lowercase (#6464)
1373 * Remove branch from accessors to repeated field element array.
1377 …* TextFormat::Parser should use a custom Finder to look up extensions by number if one is provided.
1378 * Add MessageLite::Utf8DebugString() to make MessageLite more compatible with Message.
1380 * Adding the file name to help debug colliding extensions
1385 * Enabled enum name-to-value mapping functions for C++ lite
1387 * Move stream functions to MessageLite from Message.
1388 * Move all zero_copy_stream functionality to io_lite.
1390 * Enabling silent mode by default to reduce make compilation noise. (#6237)
1397 * Fix a bug where TextFormat fails to parse Any filed with > 1 embedded message sub-fields.
1399 * Update GSON version to 3.8.5. (#6268)
1404 to be in line with claims in C++ implementation (to return first value).
1407 * Add __slots__ to all well_known_types classes, custom attributes are not allowed anymore.
1411 * Add Oneof enum to the list of goog.provide
1414 * Make php message class final to avoid mocking. (#6277)
1415 * Rename get/setXXXValue to get/setXXXWrapper. (#6295)
1425 * Always declare enums to be int-sized
1429 * Move to an internal MACRO for parser validity checks.
1432 …* Add an overall limit to parse_context to prevent reading past it. This allows to remove a annoyi…
1434 * Further improvements to cut binary size.
1435 * Prepare to make MergePartialFromCodedStream non-virtual.
1436 … python (caused by b/27494216) made me realize there is a check that needs to be done in case the …
1437 * Add a note of caution to the comments around skip in CodedOutputStream.
1442 …* [c++17] Changed proto2::RepeatedPtrField iterators to no longer derive from the deprecated std::…
1443 * Change the default value of case_insensitive_enum_parsing to false for JsonStringToMessage.
1449 * Append '_' to C++ reserved keywords for message, enum, extension
1451 * Updating Iterators to be compatible with C++17 in MSVC.
1462 * Change Extension getMessageDefaultInstance() to return Message instead of MessageLite.
1466 * Allow Java reserved keywords to be used in extensions.
1468 * Add memoization to ExtensionRegistryLite.getEmptyRegistry()
1470 * Add an optimized mismatch-finding algorithm to UnsafeUtil.
1472 * Minor optimization to RopeByteString.PieceIterator
1478 …) for enums that allow aliases in proto2 in Python to be in line with claims in C++ implementation…
1480 * Added iter and __contains__ to extension dict
1484 …* Float field will be convert to inf if bigger than struct.unpack('f', b'\xff\xff\x7f\x7f')[0] whi…
1485 convert to -inf if smaller than -3.4028234664e+38
1489 * Helper methods to get enum name for Ruby.
1496 …* Add an option to json_util to parse enum as case-insensitive. In the future, enum parsing in jso…
1508 * Modified ParseFromString to return bytes parsed .
1510 * FindFileContainingSymbol in descriptor pool is now able to find field and enum values.
1513 * Flipped proto3 to preserve unknown fields by default.
1518 * RecursionLimit is also set to max if allow_oversize_protos is enabled.
1525 * Added helper methods to convert between enum values and names.
1533 …* Json parsing can specify an option to ignore unknown fields: msg.decode_json(data, {ignore_unkno…
1539 * Increasing the default recursion limit to 100.
1541 * Provide access to comments from descriptors.
1547 * Add ability to introspect list of enum values (#4678)
1551 * Small fixes to TextFormat generation for extensions (#5362)
1574 upgrade to C++11, we will try to keep the 3.5.x branch updated with
1577 * Moved to C++11 types like std::atomic and std::unique_ptr and away from our
1580 weak fields. This is an experimental feature that allows the linker to
1586 * Fixed ValidateDateTime to correctly check the day.
1592 * Added a UTF-8 decoder that uses Unsafe to directly decode a byte buffer.
1593 * Added deprecation annotations to generated code for deprecated oneof
1598 * Fixed unboxed arraylists to handle an edge case
1600 * Fixed lite protobuf to avoid Java compiler warnings
1607 * Added __init__.py files to compiler and util subpackages
1612 * Various fixes to resolve behavior differences between the pure-Python and
1616 * Added php_metadata_namespace to control the file path of generated metadata
1621 array whose content is field name to value pairs into constructor. The
1622 created message will be initialized according to the array. Note that
1627 * We removed some helper class methods from GPBDictionary to shrink the size
1628 of the library, the functionary is still there, but you may need to do some
1638 * Added ruby_package file option to control the module of generated class.
1642 * Allow setting string to int64 field.
1660 * Make C++ implementation C++11 only: we plan to require C++11 to build
1662 https://github.com/protocolbuffers/protobuf/issues/2780 to provide your feedback.
1677 * Fixed Any.php to use fully-qualified name for DescriptorPool.
1691 * Make C++ implementation C++11 only: we plan to require C++11 to build
1693 https://github.com/protocolbuffers/protobuf/issues/2780 to provide your feedback.
1706 * Added move constructor and move assignment to RepeatedField,
1710 This feature allows the linker to strip out more unused messages and reduce
1716 to drop unknown fields, please use the DiscardUnknownFieldsParser API. For
1730 message.DiscardUnknownFields() to drop unknown fields.
1742 * Add prefix ‘PB’ to generated class of reserved names.
1769 - Preserve unknown fields in proto3: We are going to bring unknown fields
1770 back into proto3. In this release, some languages start to support
1772 languages also introduce explicit APIs to drop unknown fields for
1782 - Make C++ implementation C++11 only: we plan to require C++11 to build
1789 to provide your feedback.
1794 e.g. reserve 1000 to max;
1797 * Proto3 messages are now able to preserve unknown fields. The default
1798 behavior is still to drop unknowns, which will be flipped in a future
1803 - move-constructor and move-assignment are introduced to messages
1806 * Experimental Table-Driven parsing and serialization available to test. To
1816 * Various optimizations to make C++ code more performant on PowerPC platform
1820 * file() accessors are introduced to various *Descriptor classes to make
1830 proto3 unknown fields preservation change. Users who want to drop unknown
1831 fields should migrate to use this new parser API. For example:
1841 * Optimized CodedInputStream to do less copies when parsing large bytes
1843 * Optimized TextFormat to allocate less memory when printing.
1846 * SerializeToString API is changed to SerializeToString(self, **kwargs),
1848 * Added sort_keys parameter in json format to make the output deterministic.
1849 * Added indent parameter in json format.
1853 * Added pretty-print filter to text format.
1862 to enable generating service interface.
1869 * Added file option php_namespace to use custom php namespace instead of
1877 * Optimize GPBDictionary.m codegen to reduce size of overall library by 46K
1886 * Added TryUnpack method for Any message in addition to Unpack.
1887 * Converted C# projects to MSBuild (csproj) format.
1894 64-bit integer field to be string in the generated code by adding option
1910 - Make C++ implementation C++11 only: we plan to require C++11 to build
1916 to provide your feedback.
1919 * Fixed map fields serialization of DynamicMessage to correctly serialize
1922 * New API Message::SpaceUsedLong() that’s equivalent to
1927 the JSON printer to use the original field name declared in the .proto
1928 file instead of converting them to lowerCamelCase when printing JSON.
1931 - Fixed a bug that doesn’t allow different fields to set the same json_name
1940 * Added ByteBuffer overloads to the generated parsing methods and the Parser
1950 * descriptor_pool.FindFileContainingSymbol() now is able to find nested
1952 * Extending empty [] to repeated field now sets parent message presence.
1955 * Added file option php_class_prefix. The prefix will be prepended to all
1957 * When encoding, negative int32 values are sign-extended to int64.
1960 * encode/decode are renamed to serializeToString/mergeFromString.
1971 * Added GPBMessageDropUnknownFieldsRecursively() to remove unknowns from a
1974 * Increased the max message parsing depth to 100 to match the other languages.
1976 needs to be heap based.
1981 if provided exactly the right size of array to copy to.
1982 * Fixed enum JSON formatting when multiple names mapped to the same numeric
1984 * Added JSON formatting option to format enums as integers.
1985 * Modified RepeatedField<T> to implement IReadOnlyList<T>.
1987 might be, but the information is at least present. We expect to extend code
1988 generation to improve this in the future.
1989 * Introduced ByteString.FromStream and ByteString.FromStreamAsync to
1995 * Fixed memcpy() in binary gems to work for old glibc, without breaking the
2001 * Fixed serialization of extensions: we need to emit a value even if it is
2007 * Added protoc version number to protoc plugin protocol. It can be used by
2008 protoc plugin to detect which version of protoc is used with the plugin and
2012 * The default parsing byte size limit has been raised from 64MB to 2GB.
2021 compiler to correctly report importing-self as an error.
2022 * Fixed FileDescriptor::DebugString() to print custom options correctly.
2026 * The default parsing byte size limit has been raised from 64MB to 2GB.
2030 * Fixed generated code to support field numbers up to 2^29-1.
2033 * You can now assign NumPy scalars/arrays (np.int32, np.int64) to protobuf
2042 * PHP generated code also conforms to PSR-4 now.
2049 * Message names Empty will be converted to GPBEmpty in generated code.
2067 * JRuby: fixed #hashCode to properly reflect the values in the message.
2074 Timestamp. These make it easier to convert data between native JavaScript
2083 * Added MessageLite::ByteSizeLong() that’s equivalent to
2084 MessageLite::ByteSize() but returns the value in size_t. Useful to check
2086 * Moved default_instances to global variables. This allows default_instance
2087 addresses to be known at compile time.
2099 * Fixed JsonFormat to do correct snake_case-to-camelCase conversion for
2101 * Fixed JsonFormat to parse empty Any message correctly.
2102 * Added an option to JsonFormat.Parser to ignore unknown fields.
2104 * Added UnsafeByteOperations.unsafeWrap(byte[]) to wrap a byte array into
2113 native c extension. The pure PHP package is intended to provide usability
2114 to wider range of PHP platforms, while the c extension is intended to
2116 APIs and share the same generated code. Users don’t need to re-generate
2117 code for the same proto definition when they want to switch the
2162 * Fix for oneofs in proto3 syntax files where fields were set to the zero
2171 * jspb.Map is now properly exported to CommonJS modules.
2187 guaranteed. Upgrading from v3.0.0 to newer minor version releases will be
2189 v3.0.0, it will continue to compile after you upgrade protobuf library to
2193 against protobuf v3.0.0. After switching the protobuf runtime binary to
2194 v3.1.0, your built binary should continue to work.
2203 needing to ensure the string is already encoded as UTF-8. It also prevents
2207 `foo.rb`. This makes it easier to see which imports/requires are from
2210 change: you will need to update all of your `require` statements.
2211 * For package names like `foo_bar`, we now translate this to the Ruby module
2212 `FooBar`. This is more idiomatic Ruby than what we used to do (`Foo_bar`).
2232 serialized to the same bytes. This allows applications like MapReduce to
2235 unstable across different builds with schema changes due to unknown fields.
2256 * Added google::protobuf::Map::swap() to swap two map fields.
2261 - Added a new parser option to ignore unknown fields when parsing JSON.
2262 - Added convenient methods for message to/from JSON conversion.
2268 * Added a new JSON printer option "omittingInsignificantWhitespace" to produce
2270 * Updated Java runtime to be compatible with 2.5.0/2.6.1 generated protos.
2273 * Added support to pretty print Any messages in text format.
2274 * Added a flag to ignore unknown fields when parsing JSON.
2279 * Updated the code to support compiling with more compiler warnings
2282 * Small (breaking) change to the naming of some methods on the support classes
2284 the names were changed to avoid those issues. (PR 1699)
2293 * Ability to format a single value in JsonFormatter (advanced usage only).
2294 * Modifications to attributes applied to generated code.
2299 code generator knows to require() them from that package.
2312 * Any type now supports APIs to specify prefixes other than
2325 - Several inlined methods in Arena were moved to out-of-line to improve
2327 - Added SpaceAllocatedAndUsed() to report both space used and allocated
2336 and are subject to change in a backward incompatible way in future releases.
2338 - Introduction of the `ByteOutput` interface. This is similar to
2340 immediate copy required) of fields that are considered to be immutable.
2341 - `ByteString` now supports writing to a `ByteOutput`, which will directly
2343 to the `ByteOutput` without copying.
2344 - `CodedOutputStream` now supports writing to a `ByteOutput`. `ByteString`
2345 instances that are too large to fit in the internal buffer will be
2346 (lazily) written to the `ByteOutput` directly.
2347 - This allows applications using large `ByteString` fields to avoid
2351 * Other related changes to `CodedOutputStream`
2352 - Additional use of `sun.misc.Unsafe` where possible to perform fast
2353 access to `byte[]` and `ByteBuffer` values and avoiding unnecessary
2355 - `ByteBuffer`-backed `CodedOutputStream` now writes directly to the
2356 `ByteBuffer` rather than to an intermediate array.
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.
2377 * The library headers have been updated to use HeaderDoc comments so Xcode can
2392 * New option: `internal_access` to generate internal classes
2396 (`legacy_enum_values`) is temporarily available to disable this, but the
2402 * Breaking: `Preconditions` is renamed to `ProtoPreconditions`
2403 * Breaking: `GeneratedCodeInfo` is renamed to `GeneratedClrTypeInfo`
2404 * `JsonFormatter` now allows writing to a `TextWriter`
2405 * New interface, `ICustomDiagnosticMessage` to allow more compact
2409 * Map fields no longer support null values (in line with other languages)
2415 * New support for CommonJS imports. This should make it easier to use the
2418 * Some significant internal refactoring to simplify and modularize the code.
2435 as LITE. The same generator parameter must be used to generate the
2445 converted to "lowerCamelCase" in proto3 JSON format. This option can be
2446 used to override this behavior and specify a different JSON name for the
2448 * Added conformance tests to ensure implementations are following proto3 JSON
2452 * Various bug fixes and improvements to the JSON support utility:
2463 * Presized lists for packed fields during parsing in the lite runtime to
2466 * Introduced UnsafeByteStrings to support zero-copy ByteString creation.
2467 * Various bug fixes and improvements to the JSON support utility:
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.
2484 * Various bug-fixes and code tweaks to pass more strict compiler warnings.
2493 to file descriptor)
2494 * Code generation and library: Add Parser property to MessageDescriptor,
2496 * Library: Added TypeRegistry to support JSON parsing/formatting of Any.
2519 We will publish a more detailed spec to define the exact behavior of
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.
2545 * Changed to use cmake for Windows Visual Studio builds.
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.
2566 * Moved to a single Python 2.x/3.x-compatible codebase, instead of using 2to3.
2569 - Python/C++ implementation works on all but 3.4, due to changes in the
2571 * Some preliminary work has been done to allow for multiple DescriptorPools
2581 * JavaNano generated code now will be put in a nano package by default to
2585 * Added non-null markup to ObjC library. Requires SDK 8.4+ to build.
2588 - Renamed some internal types to avoid conflicts with the well-known types
2592 - Added *Count for repeated and map<> fields to avoid auto-create when
2596 * Namespace changed to Google.Protobuf (and NuGet package will be named
2600 * Reimplementation to use mutable message types.
2601 * Null references used to represent "no value" for message type fields.
2604 - JSON formatting (a.k.a. serialization to JSON), including well-known
2606 - Wrapper types mapped to nullable value types (or string/ByteString
2614 * Introduced two new language implementations (Objective-C, C#) to proto3.
2618 * Changed repeated primitive fields to use packed serialization by default in
2620 still disable packed serialization by setting packed to false for now.
2627 this keyword to declare reserved field numbers and names to prevent them
2633 reserved 2, 15, 9 to 11, 3;
2649 library. By adding “--objc_out” to protoc, the code generator will generate
2664 * Codegen plugin for C# was completely rewritten to C++ and is now an
2666 * Some refactorings and cleanup has been applied to the C# runtime library.
2668 progress and will likely bring significant breaking changes to the API.
2699 * Continued optimizations on the lite runtime to improve performance for
2706 will need to be updated.
2709 * Improvements to RepeatedField's emulation of the Ruby Array API.
2715 Python) to proto3.
2742 The Ruby extension implements a user-friendly DSL to define message types
2745 ways idiomatic to Ruby. For example:
2773 Serialization outputs all fields not equal to their defaults.
2781 - Similarly CodedOutputByteBufferNano can only write to byte[].
2790 - The 'bytes' type translates to the Java type byte[].
2802 introduced while the old version (proto2) will continue to be supported.
2804 The main intent of introducing proto3 is to clean up protobuf before
2806 In proto3, the language is simplified, both for ease of use and to
2808 same time a few features are added to better support common idioms
2815 significantly easier to implement with open struct representations,
2824 7. A well-defined encoding in JSON as an alternative to binary proto
2831 A new notion "syntax" is introduced to specify whether a .proto file
2844 to API incompatibility, and we will continue to support proto2 for a long
2864 technique introduced to reduce this cost. With arena allocation, new
2866 deallocation of these objects is almost free. Early adoption shows 20% to
2869 To enable arena support, add the following option to your .proto file:
2873 Protocol compiler will generate additional code to make the generated
2876 should continue to work after adding this option. In the future we will
2879 To actually take advantage of arena allocation, you need to use the arena
2906 * Updated DynamicMessage.setField() to handle repeated enum values
2908 * Fixed a bug that caused NullPointerException to be thrown when
2909 converting manually constructed FileDescriptorProto to
2913 * Fixed WhichOneof() to work with de-serialized protobuf messages.
2921 oneof keyword to define a oneof like:
2936 * Added SwapFields() in reflection API to swap a subset of fields.
2940 possible to switch a repeated extension field to packed format
2945 * writeTo() method in ByteString can now write a substring to an
2963 * New notion "import public" that allows a proto file to forward the content
2964 it imports to its importers. For example,
2976 be assigned the same numeric value. Default value is "true". Setting it to
2977 false causes the compiler to reject enum definitions where multiple symbols
2979 Note: We plan to flip the default value to "false" in a future release.
2980 Projects using enum aliases should set the option to "true" in their .proto
2985 fields. This method allows you to set the field to a pre-allocated object
2987 * Added SetAllocatedExtension() and ReleaseExtension() to extensions API.
2995 * Added Parser to parse directly into messages without a Builder. For
2998 Using Parser is ~25% faster than using Builder to parse messages.
2999 * Added getters/setters to access the underlying ByteString of a string field
3003 to support these operations efficiently.
3010 DescriptorPool, and MessageFactory work like their C++ counterparts to
3017 * Added EnumTypeWrapper that provides better accessibility to enum types.
3018 * Added ParseMessage(descriptor, bytes) to generate a new Message instance
3024 * Fixed the friendship problem for old compilers to make the library now gcc 3
3026 * Fixed vcprojects/extract_includes.bat to extract compiler/plugin.h.
3029 * Removed usages of JDK 1.6 only features to make the library now JDK 1.5
3033 * Fixed protoc to use java.lang.Object, which makes "Object" now a valid
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
3068 (You may continue to modify it and then build another message).
3074 * Added lazy conversion of UTF-8 encoded strings to String objects to improve
3086 The default value is currently "python" but will be changed to "cpp" in
3092 * Allow add() to forward keyword arguments to the concrete class.
3099 * Added a sort() interface to the BaseContainer.
3100 * Added an extend() method to repeated composite fields.
3108 Therefore, it is possible to switch a field to packed format without
3116 This allows plugins to generate alternative code, possibly specific to some
3123 on stdin and write a protocol buffer to stdout, so they may be written in
3128 to a zip/jar archive instead of a directory. For example:
3142 * Now compiles shared libraries (DLLs) by default on Cygwin and MinGW, to
3143 match other platforms. Use --disable-shared to avoid this.
3162 to generate code which only depends libprotobuf-lite, which is much smaller
3167 * Added RemoveLast and SwapElements(index1, index2) to Reflection
3169 * Added Swap(Message) to Reflection interface.
3170 * Floating-point literals in generated code that are intended to be
3171 single-precision now explicitly have 'f' suffix to avoid pedantic warnings
3173 * The [deprecated=true] option now causes the C++ code generator to generate
3182 to generate code which only depends libprotobuf-lite, which is much smaller
3190 * Ability to initialize fields by passing keyword args to constructor.
3197 nested messages) may now use the option [packed = true] to get a more
3204 to the field number. For example, the .proto file:
3212 * Updated bundled Google Test to version 1.3.0. Google Test is now bundled
3217 * It is now an error to define a default value for a repeated field.
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
3229 format, which should allow them to be clicked on in the build log to go
3230 directly to the error location.
3231 * The type name resolver will no longer resolve type names to fields. For
3238 Previously, the type of "baz" would resolve to "Bar.Foo", and you'd get
3240 resolves to the message type Foo. This change is unlikely to make a
3241 difference to anyone who follows the Protocol Buffers style guide.
3244 * Several optimizations, including but not limited to:
3245 - Serialization, especially to flat arrays, is 10%-50% faster, possibly
3252 - UnknownFieldSet completely redesigned to be more efficient (especially in
3254 - Various optimizations to reduce code size (though the serialization speed
3263 DescriptorDatabase::FindAllExtensions() can be used to enumerate all
3268 The former returns the name of the enum constant corresponding to the given
3269 value while the latter finds the value corresponding to a name.
3272 to the existing ones that took char* or const string&.
3273 * DescriptorPool::AllowUnknownDependencies() may be used to tell
3274 DescriptorPool to create placeholder descriptors for unknown entities
3275 referenced in a FileDescriptorProto. This can allow you to parse a .proto
3276 file without having access to other .proto files that it imports, for
3278 * Updated gtest to latest version. The gtest package is now included as a
3279 nested autoconf package, so it should be able to drop new versions into the
3283 * Fixed bug where Message.mergeFrom(Message) failed to merge extensions.
3284 * Message interface has new method toBuilder() which is equivalent to
3287 * Setting a field to null now throws NullPointerException.
3288 * Fixed tendency for TextFormat's parsing to overflow the stack when
3295 defined methods. Foo.newReflectiveService() can be called to wrap an
3299 * RPC interfaces now support blocking operation in addition to non-blocking.
3302 RPC implementations will have to implement the new interfaces in order to
3305 writeDelimitedTo() read and write "delimited" messages from/to a stream,
3307 multiple messages to a stream without having to worry about delimiting
3310 * Add a method to query whether CodedInputStream is at the end of the input
3312 * Add a method to reset a CodedInputStream's size counter; useful when
3319 * Updated RPC interfaces to allow for blocking operation. A client may
3322 object will be returned directly to the caller. This interface change
3323 cannot be used in practice until RPC implementations are updated to
3325 * Changes to input_stream.py should make protobuf compatible with appengine.
3330 * Enum values may now have custom options, using syntax similar to field
3334 had to explicitly import descriptor.proto.
3349 to improve performance but want to make sure it doesn't bloat up too large.
3353 * In debug mode, log error messages when string-type fields are found to
3359 * Fixed ShortDebugString() to not be O(n^2). Durr.
3367 * Simplify template usage to work with MSVC 2003.
3379 * Corrected ListFields() signature in Message base class to match what
3382 * Don't pass self as first argument to superclass constructor (no longer
3388 * License changed from Apache 2.0 to 3-Clause BSD.
3389 * It is now possible to define custom "options", which are basically
3406 Other languages may or may not need to do extra work to support
3425 * Adding a property to an object representing a repeated field now
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
3441 useful if you wish to parse .proto files from programs written in languages
3453 possible, the Reflection interface had to be changed such that all methods
3463 * Fix bytes type setter to work with byte sequences with embedded NULLs.
3470 * Added info to Java POM that will be required when we upload the
3471 package to a Maven repo.