deps: update dependency com.google.protobuf:protobuf-bom to v3.20.1 (#813)
deps: update dependency com.google.protobuf:protobuf-bom to v3.20.1 (#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 [https://github.com/protocolbuffers/protobuf/issues/9378](https://togithub.com/protocolbuffers/protobuf/issues/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).
googleapis/java-core,googleapis/java-core,googleapis/java-core