ADD: added new version of protobuf

This commit is contained in:
Henry Winkel
2022-12-20 10:09:28 +01:00
parent 4a79559129
commit 1e2b3dda7b
1513 changed files with 123720 additions and 83381 deletions

View File

@@ -1,71 +1,28 @@
2022-07-01 Unreleased version
C++
* cpp_generated_lib_linked support is removed in protoc
* Reduced .pb.o object file size slightly by explicitly instantiating
InternalMetadata templates in the runtime.
* Add C++20 keywords guarded by PROTOBUF_FUTURE_CPP20_KEYWORDS
* Fixed crash in ThreadLocalStorage for pre-C++17 compilers on 32-bit ARM.
* Clarified that JSON API non-OK statuses are not a stable API.
* Added a default implementation of MessageDifferencer::Reporter methods.
* proto2::MapPair is now an alias to std::pair.
* Hide C++ RepeatedField::UnsafeArenaSwap
* Use table-driven parser for reflection based objects.
* Update Map's InternalSwap() to take a pointer to the other Map.
* Add ARM-optimized Varint decoding functions.
* Minor optimization for parsing groups
* Declare ReflectiveProtoHook class
* Reduce size of VarintParse code in protocol buffers, by calling the shared
routine after handling just one-byte varint encoding inline, rather than
handling one-byte and two-byte varints inline.
* Avoid inlining some large heavily duplicated routines in repeated_ptr_field.h
* Add ReflectiveProtoHook to Reflection.
* Turns on table-driven parser for reflection based objects.
* Save code space by avoiding inlining of large-in-aggregate code-space MessageLite::~MessageLite destructor.
* Undefine the macro `linux` when compiling protobuf
* Reduce memory consumption of MessageSet parsing.
* Save code space by avoiding inlining of large-in-aggregate code-space MessageLite::~MessageLite destructor.
* Breaking change: delete Arena::Init
* Make a PROTOBUF_POISON/UNPOISON to reduce noise in the source
* Put alignment functions in "arena_align.h"
* Split off `cleanup` arena functions into "arena_cleanup.h"
* Fix signed / unsigned match in CHECK_EQ
* Kill Atomic<>. it's not pulling it's weight
* Move AllocationPolicy out of arena_impl, and unify arena_config for bazel
* Fix failure case in table-driven parser.
* Add a new JSON parser.
* Removed old JSON parsing code.
* Introduce the Printer::{SetRedactDebugString,SetRandomizeDebugString} private flags.
* Introduce global flags to control Printer::{SetRedactDebugString, SetRandomizeDebugString}.
* proto3 string fields no longer trigger clang-tidy warning bugprone-branch-clone.
2022-12-07 version 21.11 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
Python
* Add license file to pypi wheels (#10936)
* Fix round-trip bug (#10158)
Kotlin
* Suppress deprecation warnings in Kotlin generated code.
* Kotlin generated code comments now use kdoc format instead of javadoc.
* Escape keywords in package names in proto generated code
* Add Kotlin enum int value getters and setters
2022-11-29 version 21.10 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
Java
* Performance improvement for repeated use of FieldMaskUtil#merge by caching
constructed FieldMaskTrees.
* Optimized Java proto serialization gencode for protos having many extension ranges with few fields in between.
* More thoroughly annotate public generated code in Java lite protocol buffers.
* Fixed Bug in proto3 java lite repeated enum fields. Failed to call copyOnWrite before modifying previously built message. Causes modification to already "built" messages that should be immutable.
* Fix Java reflection serialization of empty packed fields.
* Refactoring java full runtime to reuse sub-message builders and prepare to migrate parsing logic from parse constructor to builder.
* Fix TextFormat parser to build up recurring (but supposedly not repeated) sub-messages directly from text rather than building a new sub-message and merging the fully formed message into the existing field.
* Make message-type extensions merge from wire-format instead of building up instances and merging afterwards. This has much better performance.
* Change the Lite runtime to prefer merging from the wireformat into mutable messages rather than building up a new immutable object before merging. This way results in fewer allocations and copy operations.
* Move proto wireformat parsing functionality from the private "parsing constructor" to the Builder class.
* Use bit-field int values in buildPartial to skip work on unset groups of fields. (#10960)
* Mark nested builder as clean after clear is called (#10984)
UPB
* Fix UPB_LIKELY() for 32-bit Windows builds; update protobuf_deps to point to the current upb 21.x (#11028)
Other
* Add public modifiers to kotlin code (#11068)
2022-10-26 version 21.9 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
C++
* Update zlib to 1.2.13 (#10819)
Python
* Changes ordering of printed fields in .pyi files from lexicographic to the same ordering found in the proto descriptor.
* Adds GeneratedCodeInfo annotations to python proto .pyi outputs as a base64 encoded docstring in the last line of the .pyi file for code analysis tools.
* Fix message factory's behavior in python cpp extension to return same message classes for same descriptor, even if the factories are different.
* Add type annotation for enum value fields in enum classes.
* Target MacOS 10.9 to fix #10799 (#10807)
Compiler
* Print full path name of source .proto file on error
Ruby
* Replace libc strdup usage with internal impl to restore musl compat (#10818)
2022-10-18 version 21.8 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
@@ -81,6 +38,7 @@
Ruby
* Auto capitalize enums name in Ruby (#10454) (#10763)
2022-09-29 version 21.7 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
Java
* Refactoring java full runtime to reuse sub-message builders and prepare to
@@ -110,6 +68,7 @@ C++
Python
* Fixed comparison of maps in Python.
2022-07-25 version 21.4 (C++/Java/Python/PHP/Objective-C/C#/Ruby)
C++
@@ -246,7 +205,6 @@ C++
Java
* Update protobuf_version.bzl to separate protoc and per-language java … (#9900)
* 6x speedup in ArrayEncoder.writeUInt32NotTag
* Java generated code is no longer compatible with runtimes 2.6.1 and earlier
Python
* Increment python major version to 4 in version.json for python upb (#9926)
@@ -258,7 +216,6 @@ C++
* Due to the breaking changes for Python, the major version number for Python
has been incremented.
* The binary wheel for macOS now supports Apple silicon.
* In TextFormat, transform UnicodeDecodeError into ParseError.
PHP