2019-04-29 version 3.8.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
C++
* Use std::atomic<int32> in case of myriad2 platform
* Always declare enums to be int-sized
* Added DebugString() and ShortDebugString() methods on MessageLite
* Specialized different parse loop control flows
* Make hasbits potentially in register. The or's start forming an obstacle because it's a read modify store on the same mem address on each iteration.
* Move to an internal MACRO for parser validity checks.
* Improve map parsing performance.
* Make MergePartialFromCodedStream non virtual. This allows direct calls, potential inlining and is also a code health improvement
* Add an overall limit to parse_context to prevent reading past it. This allows to remove a annoying level of indirection.
* Fix a mistake, we shouldn't verify map key/value strings for utf8 in opt mode for proto2.
* Further improvements to cut binary size.
* Prepare to make MergePartialFromCodedStream non-virtual.
* A report on some interesting behavior change in python (caused by b/27494216) made me realize there is a check that needs to be done in case the parse ended on a end group tag.
* Add a note of caution to the comments around skip in CodedOutputStream.
* Simplify end check.
* Add overload for ParseMessage for MessageLite/Message types. If the explicit type is not known inlining won't help de-virtualizing the virtual call.
* Reduce linker input. It turns out that ParseMessage is not inlined, producing template instantiations that are used only once and save nothing but cost more.
* Improve the parser.
* [c++17] Changed proto2::RepeatedPtrField iterators to no longer derive from the deprecated std::iterator class.
* Change the default value of case_insensitive_enum_parsing to false for JsonStringToMessage.
* Add a warning if a field name doesn't match the style guide.
* Fix TextFormat not round-trip correctly when float value is max float.
* Added locationed info for some errors at compiler
* Python reserved keywords are now working with getattr()/setattr() for most descriptors.
* Added AllowUnknownField() in text_format
* Append '_' to C++ reserved keywords for message, enum, extension
* Fix MSVC warning C4244 in protobuf's parse_context.h.
* Updating Iterators to be compatible with C++17 in MSVC.
* Use capability annotation in mutex.h
* Fix "UndefinedBehaviorSanitizer: cfi-bad-type"
* CriticalSectionLock class as a lightweight replacement for std::mutex on Windows platforms.
* Removed vestigial wire_format_lite_inl.h
C#
* Added System.Memory dependency.
Java
* Make Java protoc code generator ignore optimize_for LITE_RUNTIME. Users should instead use the Java lite protoc plugin.
* Change Extension getMessageDefaultInstance() to return Message instead of MessageLite.
* Prevent malicious input streams from leaking buffers for ByteString or ByteBuffer parsing.
* Release new Javalite runtime.
* Show warning in case potential file name conflict.
* Allow Java reserved keywords to be used in extensions.
* Added setAllowUnknownFields() in text format
* Add memoization to ExtensionRegistryLite.getEmptyRegistry()
* Improve performance of CodedOutputStream.writeUInt32NoTag
* Add an optimized mismatch-finding algorithm to UnsafeUtil.
* When serializing uint32 varints, check that we have MAX_VARINT32_SIZE bytes left, not just MAX_VARINT_SIZE.
* Minor optimization to RopeByteString.PieceIterator
JavaScript
* Simplify generated toObject code when the default value is used.
Python
* Changes implementation of Name() for enums that allow aliases in proto2 in Python to be in line with claims in C++ implementation (to return first value).
* Added double_format option in text format printer.
* Added iter and __contains__ to extension dict
* Added allow_unknown_field option in python text format parser
* Fixed Timestamp.ToDatetime() loses precision issue
* Support unknown field in text format printer.
* Float field will be convert to inf if bigger than struct.unpack('f', b'\xff\xff\x7f\x7f')[0] which is about 3.4028234664e+38,
convert to -inf if smaller than -3.4028234664e+38
* Allowed casting str->bytes in Message.__setstate__
Ruby
* Helper methods to get enum name for Ruby.
2019-01-24 version 3.7.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
C++
* Introduced new MOMI (maybe-outside-memory-interval) parser.
* Add an option to json_util to parse enum as case-insensitive. In the future, enum parsing in json_util will become case-sensitive.
* Added conformance test for enum aliases
* Added support for --cpp_out=speed:...
* Added use of C++ override keyword where appropriate
* Many other cleanups and fixes.
Java
* Fix illegal reflective access warning in JDK 9+
* Add BOM
Python
* Added Python 3.7 compatibility.
* Modified ParseFromString to return bytes parsed .
* Introduce Proto C API.
* FindFileContainingSymbol in descriptor pool is now able to find field and enum values.
* reflection.MakeClass() and reflection.ParseMessage() are deprecated.
* Added DescriptorPool.FindMethodByName() method in pure python (c extension alreay has it)
* Flipped proto3 to preserve unknown fields by default.
* Added support for memoryview in python3 proto message parsing.
* Added MergeFrom for repeated scalar fields in c extension (pure python already has it)
* Surrogates are now rejected at setters in python3.
* Added public unknown field API.
* RecursionLimit is also set to max if allow_oversize_protos is enabled.
* Disallow duplicate scalars in proto3 text_format parse.
* Fix some segment faults for c extension map field.
PHP
* Most issues for json encoding/decoding in the c extension have been fixed. There are still some edge cases not fixed. For more details, check conformance/failure_list_php_c.txt.
* Supports php 7.3
* Added helper methods to convert between enum values and names.
* Allow setting/getting wrapper message fields using primitive values.
* Various bug fixes.
Ruby
* Ruby 2.6 support.
* Drops support for ruby < 2.3.
* Most issues for json encoding/decoding in the c extension have been fixed. There are still some edge cases not fixed. For more details, check conformance/failure_list_ruby.txt.
* Json parsing can specify an option to ignore unknown fields: msg.decode_json(data, {ignore_unknown_fields: true}).
* Added support for proto2 syntax (partially).
* Various bug fixes.
Csharp
* More support for FieldMask include merge, intersect and more.
* Increasing the default recursion limit to 100.
* Support loading FileDescriptors dynamically.
* Provide access to comments from descriptors.
* Added Any.Is method.
* Compatible with C# 6
* Added IComparable and comparison operators on Timestamp.
Objective C
* Add ability to introspect list of enum values (#4678)
* Copy the value when setting message/data fields (#5215)
* Support suppressing the objc package prefix checks on a list of files (#5309)
* More complete keyword and NSObject method (via categories) checks for field names, can result in more fields being rename, but avoids the collisions at runtime (#5289)
* Small fixes to TextFormat generation for extensions (#5362)
* Provide more details/context in deprecation messages (#5412)
* Array/Dictionary enumeration blocks NS_NOESCAPE annotation for Swift (#5421)
* Properly annotate extensions for ARC when their names imply behaviors (#5427)
* Enum alias name collision improvements (#5480)
2018-07-27 version 3.6.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
C++
* Introduced workaround for Windows issue with std::atomic and std::once_flag
initialization (#4777, #4773).
PHP
* Added compatibility with PHP 7.3 (#4898).
Ruby
* Fixed Ruby crash involving Any encoding (#4718).
2018-06-01 version 3.6.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做**数据存储**或 **RPC 数据交换格式**。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。
资源推荐
资源详情
资源评论
收起资源包目录
Linux中的protobuf压缩包,解压即用,不需要自己git clone到Lilnux本地 (2228个子文件)
configure.ac 8KB
Makefile.am 92KB
Makefile.am 53KB
Makefile.am 42KB
Makefile.am 23KB
lite.awk 342B
bad_utf8_string 3B
build_single_artifact.bat 2KB
build_artifacts.bat 2KB
appveyor.bat 1KB
build.bat 713B
build_nuget.bat 317B
build.bat 308B
buildall.bat 255B
build_packages.bat 198B
BUILD 47KB
BUILD 3KB
zlib.BUILD 1KB
BUILD 765B
six.BUILD 227B
zlib.BUILD 28B
protobuf.bzl 16KB
compiler_config_setting.bzl 871B
protobuf_deps.bzl 627B
upb.c 560KB
upb.c 400KB
message.c 103KB
defs.c 74KB
encode_decode.c 62KB
encode_decode.c 55KB
storage.c 40KB
storage.c 36KB
def.c 35KB
message.c 28KB
map.c 26KB
type_check.c 23KB
repeated_field.c 21KB
map.c 19KB
array.c 18KB
protobuf.c 13KB
protobuf.c 5KB
utf8.c 3KB
wrap_memcpy.c 2KB
descriptor.pb.cc 613KB
descriptor_unittest.cc 291KB
descriptor.cc 277KB
cpp_message.cc 152KB
js_generator.cc 141KB
map_test.cc 123KB
parser_unittest.cc 119KB
message_differencer_unittest.cc 110KB
type.pb.cc 110KB
message.cc 105KB
wrappers.pb.cc 96KB
generated_message_reflection.cc 91KB
test_util_lite.cc 90KB
protostream_objectwriter_test.cc 89KB
text_format.cc 88KB
command_line_interface_unittest.cc 86KB
strutil.cc 83KB
binary_json_conformance_suite.cc 83KB
parser.cc 82KB
command_line_interface.cc 81KB
plugin.pb.cc 78KB
extension_set.cc 78KB
text_format_unittest.cc 74KB
message_differencer.cc 72KB
descriptor.cc 71KB
map_test_util.cc 70KB
api.pb.cc 66KB
cpp_helpers.cc 62KB
repeated_field_unittest.cc 59KB
php_generator.cc 57KB
objectivec_helpers.cc 56KB
python_generator.cc 56KB
extension_set_unittest.cc 54KB
java_message.cc 54KB
struct.pb.cc 53KB
descriptor_containers.cc 53KB
arena_unittest.cc 52KB
wire_format.cc 52KB
wire_format_unittest.cc 50KB
cpp_file.cc 49KB
java_message_field.cc 49KB
cpp_string_field.cc 48KB
coded_stream_unittest.cc 47KB
protostream_objectwriter.cc 44KB
generated_message_reflection_unittest.cc 41KB
protostream_objectsource.cc 41KB
java_string_field.cc 41KB
java_enum_field.cc 39KB
lite_unittest.cc 39KB
map_container.cc 37KB
tokenizer.cc 37KB
java_primitive_field.cc 36KB
protostream_objectsource_test.cc 35KB
field_mask_util_test.cc 35KB
tokenizer_unittest.cc 34KB
java_map_field_lite.cc 34KB
java_helpers.cc 33KB
共 2228 条
- 1
- 2
- 3
- 4
- 5
- 6
- 23
资源评论
SwithunH
- 粉丝: 39
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功