Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

shadowed field _cached_size_ ? #9378

Closed
0x8000-0000 opened this issue Jan 6, 2022 · 4 comments
Closed

shadowed field _cached_size_ ? #9378

0x8000-0000 opened this issue Jan 6, 2022 · 4 comments
Assignees
Labels
c++ inactive Denotes the issue/PR has not seen activity in the last 90 days.

Comments

@0x8000-0000
Copy link

What version of protobuf and what language are you using?
Version: v3.19.1
Language: C++

What operating system (Linux, Windows, ...) and version?
Ubuntu 20.04

What runtime / compiler are you using (e.g., python version or gcc version)
GCC11 and Clang13

What did you do?
Generated a simple message and tried to compile it with our toolchain and default warnings.

What did you expect to see
No warning / no error.

What did you see instead?
Member ZeroFieldsBase::cached_size is shadowed in derived classes.

For example: src/google/protobuf/empty.pb.h defines class Empty, extending ZeroFieldsBase and defining cached_size yet again.

The field in the base class is defined as

 mutable internal::CachedSize _cached_size_;

while the field in the derived classes is defined as:

  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;

Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).

Is this shadowing intentional? Can the field in the ZeroFieldsBase be renamed to avoid it?

@0x8000-0000
Copy link
Author

Pinging @TeBoring as he added the ZeroFieldsBase class code.

@jorgbrown
Copy link
Contributor

Interesting. The problem is in src/google/protobuf/compiler/cpp/cpp_message.cc, where we set need_to_emit_cached_size to true unconditionally. It should be false when HasSimpleBaseClass() returns true. Working on a fix...

gcf-merge-on-green bot pushed a commit to googleapis/java-pubsub that referenced this issue Apr 19, 2022
…20.0 (#1078)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-java-util](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.0` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java-util/3.20.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java-util/3.20.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java-util/3.20.0/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java-util/3.20.0/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-pubsub).
gcf-merge-on-green bot pushed a commit to googleapis/google-api-java-client that referenced this issue Apr 21, 2022
…3.20.1 (#2049)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/google-api-java-client).
gcf-merge-on-green bot pushed a commit to googleapis/java-core that referenced this issue Apr 21, 2022
…813)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-bom](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-core).
gcf-merge-on-green bot pushed a commit to googleapis/java-common-protos that referenced this issue Apr 22, 2022
…360)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-bom](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.20.0...v3.20.1)

##### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

##### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

##### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-common-protos).
gcf-merge-on-green bot pushed a commit to googleapis/java-shared-dependencies that referenced this issue Apr 22, 2022
…678)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-bom](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.20.0...v3.20.1)

### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-shared-dependencies).
gcf-merge-on-green bot pushed a commit to googleapis/java-iam that referenced this issue Apr 22, 2022
…337)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

##### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

##### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

##### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-iam).
gcf-merge-on-green bot pushed a commit to googleapis/google-http-java-client that referenced this issue Apr 22, 2022
…1639)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.20.0...v3.20.1)

##### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

##### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

##### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/google-http-java-client).
gcf-merge-on-green bot pushed a commit to googleapis/java-common-protos that referenced this issue Apr 22, 2022
…361)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

##### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

##### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

##### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-common-protos).
gcf-merge-on-green bot pushed a commit to googleapis/java-cloud-bom that referenced this issue May 19, 2022
…4318)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-bom](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.20.0...v3.20.1)

##### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

##### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

##### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-cloud-bom).
hermanlee pushed a commit to facebook/mysql-5.6 that referenced this issue Aug 2, 2022
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
blakeli0 pushed a commit to googleapis/google-api-java-client that referenced this issue Dec 16, 2022
…3.20.1 (#2049)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/google-api-java-client).
blakeli0 pushed a commit to googleapis/google-api-java-client that referenced this issue Dec 16, 2022
…3.20.1 (#2049)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/google-api-java-client).
suztomo pushed a commit to googleapis/sdk-platform-java that referenced this issue Dec 16, 2022
…360)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-bom](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.20.0...v3.20.1)

##### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

##### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

##### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-common-protos).
suztomo pushed a commit to googleapis/sdk-platform-java that referenced this issue Dec 16, 2022
…337)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

##### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

##### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

##### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-iam).
suztomo pushed a commit to googleapis/sdk-platform-java that referenced this issue Dec 16, 2022
…361)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-java/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

##### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

##### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

##### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-common-protos).
suztomo pushed a commit to googleapis/google-cloud-java that referenced this issue Feb 1, 2023
…813)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-bom](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-core).
suztomo pushed a commit to googleapis/google-cloud-java that referenced this issue Feb 1, 2023
…678)

[![WhiteSource Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [com.google.protobuf:protobuf-bom](https://developers.google.com/protocol-buffers/) ([source](https://togithub.com/protocolbuffers/protobuf)) | `3.19.4` -> `3.20.1` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/compatibility-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.20.1/confidence-slim/3.19.4)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>protocolbuffers/protobuf</summary>

### [`v3.20.1`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.1)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.20.0...v3.20.1)

### PHP

-   Fix building packaged PHP extension ([#&#8203;9727](https://togithub.com/protocolbuffers/protobuf/issues/9727))
-   Fixed composer.json to only advertise compatibility with PHP 7.0+.  ([#&#8203;9819](https://togithub.com/protocolbuffers/protobuf/issues/9819))

### Ruby

-   Disable the aarch64 build on macOS until it can be fixed. ([#&#8203;9816](https://togithub.com/protocolbuffers/protobuf/issues/9816))

### Other

-   Fix versioning issues in 3.20.0

### [`v3.20.0`](https://togithub.com/protocolbuffers/protobuf/releases/v3.20.0)

[Compare Source](https://togithub.com/protocolbuffers/protobuf/compare/v3.19.4...v3.20.0)

2022-03-25 version 3.20.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

##### Ruby

-   Dropped Ruby 2.3 and 2.4 support for CI and releases. ([#&#8203;9311](https://togithub.com/protocolbuffers/protobuf/issues/9311))
-   Added Ruby 3.1 support for CI and releases ([#&#8203;9566](https://togithub.com/protocolbuffers/protobuf/issues/9566)).
-   Message.decode/encode: Add recursion_limit option ([#&#8203;9218](https://togithub.com/protocolbuffers/protobuf/issues/9218)/[#&#8203;9486](https://togithub.com/protocolbuffers/protobuf/issues/9486))
-   Allocate with xrealloc()/xfree() so message allocation is visible to the
    Ruby GC.  In certain tests this leads to much lower memory usage due to more
    frequent GC runs ([#&#8203;9586](https://togithub.com/protocolbuffers/protobuf/issues/9586)).
-   Fix conversion of singleton classes in Ruby ([#&#8203;9342](https://togithub.com/protocolbuffers/protobuf/issues/9342))
-   Suppress warning for intentional circular require ([#&#8203;9556](https://togithub.com/protocolbuffers/protobuf/issues/9556))
-   JSON will now output shorter strings for double and float fields when possible
    without losing precision.
-   Encoding and decoding of binary format will now work properly on big-endian
    systems.
-   UTF-8 verification was fixed to properly reject surrogate code points.
-   Unknown enums for proto2 protos now properly implement proto2's behavior of
    putting such values in unknown fields.

##### Java

-   Revert "Standardize on Array copyOf" ([#&#8203;9400](https://togithub.com/protocolbuffers/protobuf/issues/9400))
-   Resolve more java field accessor name conflicts ([#&#8203;8198](https://togithub.com/protocolbuffers/protobuf/issues/8198))
-   Don't support map fields in DynamicMessage.Builder.{getFieldBuilder,getRepeatedFieldBuilder}
-   Fix parseFrom to only throw InvalidProtocolBufferException
-   InvalidProtocolBufferException now allows arbitrary wrapped Exception types.
-   Fix bug in `FieldSet.Builder.mergeFrom`
-   Flush CodedOutputStream also flushes underlying OutputStream
-   When oneof case is the same and the field type is Message, merge the
    subfield. (previously it was replaced.)’
-   Add [@&#8203;CheckReturnValue](https://togithub.com/CheckReturnValue) to some protobuf types
-   Report original exceptions when parsing JSON
-   Add more info to [@&#8203;deprecated](https://togithub.com/deprecated) javadoc for set/get/has methods
-   Fix initialization bug in doc comment line numbers
-   Fix comments for message set wire format.

##### Kotlin

-   Add test scope to kotlin-test for protobuf-kotlin-lite ([#&#8203;9518](https://togithub.com/protocolbuffers/protobuf/issues/9518))
-   Add orNull extensions for optional message fields.
-   Add orNull extensions to all proto3 message fields.

##### Python

-   Dropped support for Python < 3.7 ([#&#8203;9480](https://togithub.com/protocolbuffers/protobuf/issues/9480))
-   Protoc is now able to generate python stubs (.pyi) with --pyi_out
-   Pin multibuild scripts to get manylinux1 wheels back ([#&#8203;9216](https://togithub.com/protocolbuffers/protobuf/issues/9216))
-   Fix type annotations of some Duration and Timestamp methods.
-   Repeated field containers are now generic in field types and could be used
    in type annotations.
-   Protobuf python generated codes are simplified. Descriptors and message
    classes' definitions are now dynamic created in internal/builder.py.
    Insertion Points for messages classes are discarded.
-   has_presence is added for FieldDescriptor in python
-   Loosen indexing type requirements to allow valid **index**() implementations
    rather than only PyLongObjects.
-   Fix the deepcopy bug caused by not copying message_listener.
-   Added python JSON parse recursion limit (default 100)
-   Path info is added for python JSON parse errors
-   Pure python repeated scalar fields will not able to pickle. Convert to list
    first.
-   Timestamp.ToDatetime() now accepts an optional tzinfo parameter. If
    specified, the function returns a timezone-aware datetime in the given time
    zone. If omitted or None, the function returns a timezone-naive UTC datetime
    (as previously).
-   Adds client_streaming and server_streaming fields to MethodDescriptor.
-   Add "ensure_ascii" parameter to json_format.MessageToJson. This allows smaller
    JSON serializations with UTF-8 or other non-ASCII encodings.
-   Added experimental support for directly assigning numpy scalars and array.
-   Improve the calculation of public_dependencies in DescriptorPool.
-   \[Breaking Change] Disallow setting fields to numpy singleton arrays or repeated fields to numpy
    multi-dimensional arrays. Numpy arrays should be indexed or flattened explicitly before assignment.

##### Compiler

-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Rework allocations to power-of-two byte sizes.
-   Migrate IsDefault(const std::string\*) and UnsafeSetDefault(const std::string\*)
-   Implement strong qualified tags for TaggedPtr
-   Make TaggedPtr Set...() calls explicitly spell out the content type.
-   Check for parsing error before verifying UTF8.
-   Enforce a maximum message nesting limit of 32 in the descriptor builder to
    guard against stack overflows
-   Fixed bugs in operators for RepeatedPtrIterator
-   Assert a maximum map alignment for allocated values
-   Fix proto1 group extension protodb parsing error
-   Do not log/report the same descriptor symbol multiple times if it contains
    more than one invalid character.
-   Add UnknownFieldSet::SerializeToString and SerializeToCodedStream.
-   Remove explicit default pointers and deprecated API from protocol compiler

##### Arenas

-   Change Repeated\*Field to reuse memory when using arenas.
-   Implements pbarenaz for profiling proto arenas
-   Introduce CreateString() and CreateArenaString() for cleaner semantics
-   Fix unreferenced parameter for MSVC builds
-   Add UnsafeSetAllocated to be used for one-of string fields.
-   Make Arena::AllocateAligned() a public function.
-   Determine if ArenaDtor related code generation is necessary in one place.
-   Implement on demand register ArenaDtor for InlinedStringField

##### C++

-   Enable testing via CTest ([#&#8203;8737](https://togithub.com/protocolbuffers/protobuf/issues/8737))
-   Add option to use external GTest in CMake ([#&#8203;8736](https://togithub.com/protocolbuffers/protobuf/issues/8736))
-   CMake: Set correct sonames for libprotobuf-lite.so and libprotoc.so ([#&#8203;8635](https://togithub.com/protocolbuffers/protobuf/issues/8635)) ([#&#8203;9529](https://togithub.com/protocolbuffers/protobuf/issues/9529))
-   Add cmake option `protobuf_INSTALL` to not install files ([#&#8203;7123](https://togithub.com/protocolbuffers/protobuf/issues/7123))
-   CMake: Allow custom plugin options e.g. to generate mocks ([#&#8203;9105](https://togithub.com/protocolbuffers/protobuf/issues/9105))
-   CMake: Use linker version scripts ([#&#8203;9545](https://togithub.com/protocolbuffers/protobuf/issues/9545))
-   Manually \*struct Cord fields to work better with arenas.
-   Manually destruct map fields.
-   Generate narrower code
-   Fix [protocolbuffers/protobuf#9378 by removing
    shadowed *cached_size* field
-   Remove GetPointer() and explicit nullptr defaults.
-   Add proto_h flag for speeding up large builds
-   Add missing overload for reference wrapped fields.
-   Add MergedDescriptorDatabase::FindAllFileNames()
-   RepeatedField now defines an iterator type instead of using a pointer.
-   Remove obsolete macros GOOGLE_PROTOBUF_HAS_ONEOF and GOOGLE_PROTOBUF_HAS_ARENAS.

##### PHP

-   Fix: add missing reserved classnames ([#&#8203;9458](https://togithub.com/protocolbuffers/protobuf/issues/9458))
-   PHP 8.1 compatibility ([#&#8203;9370](https://togithub.com/protocolbuffers/protobuf/issues/9370))

##### C\#

-   Fix trim warnings ([#&#8203;9182](https://togithub.com/protocolbuffers/protobuf/issues/9182))
-   Fixes NullReferenceException when accessing FieldDescriptor.IsPacked ([#&#8203;9430](https://togithub.com/protocolbuffers/protobuf/issues/9430))
-   Add ToProto() method to all descriptor classes ([#&#8203;9426](https://togithub.com/protocolbuffers/protobuf/issues/9426))
-   Add an option to preserve proto names in JsonFormatter ([#&#8203;6307](https://togithub.com/protocolbuffers/protobuf/issues/6307))

##### Objective-C

-   Add prefix_to_proto_package_mappings_path option. ([#&#8203;9498](https://togithub.com/protocolbuffers/protobuf/issues/9498))
-   Rename `proto_package_to_prefix_mappings_path` to `package_to_prefix_mappings_path`. ([#&#8203;9552](https://togithub.com/protocolbuffers/protobuf/issues/9552))
-   Add a generation option to control use of forward declarations in headers. ([#&#8203;9568](https://togithub.com/protocolbuffers/protobuf/issues/9568))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-shared-dependencies).
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Mar 4, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Mar 4, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Mar 4, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Mar 5, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Mar 23, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Mar 25, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Mar 28, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Mar 28, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Apr 5, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Apr 15, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Apr 15, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue May 11, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue May 12, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue May 15, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue May 16, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue May 17, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue May 18, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue May 26, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Jun 1, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
baibaichen added a commit to Kyligence/gluten that referenced this issue Jun 3, 2023
zzcclp pushed a commit to apache/incubator-gluten that referenced this issue Jun 3, 2023
* [GLUTEN-1632][CH]Daily Update Clickhouse Version (20230603)

* Fix Build since ClickHouse/ClickHouse#50400

* Fix Build since ClickHouse/ClickHouse#49539

* Workaround protoc's issue(protocolbuffers/protobuf#9378).

---------

Co-authored-by: kyligence-git <gluten@kyligence.io>
Co-authored-by: Chang Chen <baibaichen@gmail.com>
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Jun 14, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/mysql-5.6 that referenced this issue Jun 23, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
hermanlee pushed a commit to hermanlee/mysql-5.6 that referenced this issue Oct 18, 2023
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
Copy link

We triage inactive PRs and issues in order to make it easier to find active work. If this issue should remain active or becomes active again, please add a comment.

This issue is labeled inactive because the last activity was over 90 days ago.

@github-actions github-actions bot added the inactive Denotes the issue/PR has not seen activity in the last 90 days. label Jan 30, 2024
Copy link

We triage inactive PRs and issues in order to make it easier to find active work. If this issue should remain active or becomes active again, please reopen it.

This issue was closed and archived because there has been no new activity in the 14 days since the inactive label was added.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Feb 14, 2024
inikep pushed a commit to inikep/percona-server that referenced this issue Apr 9, 2024
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/percona-server that referenced this issue Apr 10, 2024
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/percona-server that referenced this issue Apr 15, 2024
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/percona-server that referenced this issue Apr 16, 2024
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
inikep pushed a commit to inikep/percona-server that referenced this issue Apr 17, 2024
Summary:
Updating to the 3.19 version of protobuf from upstream results
in some compiler errors about shadowing _cache_size_. This seems
related to protocolbuffers/protobuf#9378.

The code around this area in the latest versions contain some fixes
and those changes are applied here.

Reviewed By: luqun

Differential Revision: D37367670
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ inactive Denotes the issue/PR has not seen activity in the last 90 days.
Projects
None yet
Development

No branches or pull requests

3 participants