deps: update dependency com.google.protobuf:protobuf-bom to v3.17.0 (#445)
deps: update dependency com.google.protobuf:protobuf-bom to v3.17.0 (#445)

[![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.15.8` -> `3.17.0` | [![age](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.17.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.17.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.17.0/compatibility-slim/3.15.8)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.protobuf:protobuf-bom/3.17.0/confidence-slim/3.15.8)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

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

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

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

##### Protocol Compiler

-   Fix the generated source information for reserved values in Enums.

##### C++

-   Fix -Wunused-parameter in map&lt;string, int> fields (fixes [#&#8203;8494](https://togithub.com/protocolbuffers/protobuf/issues/8494)) ([#&#8203;8500](https://togithub.com/protocolbuffers/protobuf/issues/8500))
-   Use byteswap.h when building against musl libc ([#&#8203;8503](https://togithub.com/protocolbuffers/protobuf/issues/8503))
-   Fix -Wundefined-inline error when using SharedCtor() or SharedDtor() ([#&#8203;8532](https://togithub.com/protocolbuffers/protobuf/issues/8532))
-   Fix bug where `Descriptor::DebugString()` printed proto3 synthetic oneofs.
-   Provide stable versions of `SortAndUnique()`.
-   Make sure to cache proto3 optional message fields when they are cleared.
-   Expose UnsafeArena methods to Reflection.
-   Use std::string::empty() rather than std::string::size() > 0.

##### Kotlin

-   Introduce support for Kotlin protos ([#&#8203;8272](https://togithub.com/protocolbuffers/protobuf/issues/8272))
-   Restrict extension setter and getter operators to non-nullable T.

##### Java

-   updating GSON and Guava to more recent versions ([#&#8203;8524](https://togithub.com/protocolbuffers/protobuf/issues/8524))
-   Reduce the time spent evaluating isExtensionNumber by storing the extension
    ranges in a TreeMap for faster queries. This is particularly relevant for
    protos which define a large number of extension ranges, for example when
    each tag is defined as an extension.
-   Fix java bytecode estimation logic for optional fields.
-   Optimize Descriptor.isExtensionNumber.

##### Python

-   Add MethodDescriptor.CopyToProto() ([#&#8203;8327](https://togithub.com/protocolbuffers/protobuf/issues/8327))
-   Remove unused python_protobuf.{cc,h} ([#&#8203;8513](https://togithub.com/protocolbuffers/protobuf/issues/8513))
-   Start publishing python aarch64 manylinux wheels normally ([#&#8203;8530](https://togithub.com/protocolbuffers/protobuf/issues/8530))
-   Fix constness issue detected by MSVC standard conforming mode ([#&#8203;8568](https://togithub.com/protocolbuffers/protobuf/issues/8568))
-   Make JSON parsing match C++ and Java when multiple fields from the same
    oneof are present and all but one is null.

##### Ruby

-   Add support for proto3 json_name in compiler and field definitions ([#&#8203;8356](https://togithub.com/protocolbuffers/protobuf/issues/8356))
-   Fixed memory leak of Ruby arena objects. ([#&#8203;8461](https://togithub.com/protocolbuffers/protobuf/issues/8461))
-   Fix source gem compilation ([#&#8203;8471](https://togithub.com/protocolbuffers/protobuf/issues/8471))
-   Fix various exceptions in Ruby on 64-bit Windows ([#&#8203;8563](https://togithub.com/protocolbuffers/protobuf/issues/8563))
-   Fix crash when calculating Message hash values on 64-bit Windows ([#&#8203;8565](https://togithub.com/protocolbuffers/protobuf/issues/8565))

##### Conformance Tests

-   Added a conformance test for the case of multiple fields from the same
    oneof.

##### Other

-   Use a newer version of rules_proto, with the new rule `proto_descriptor_set` ([#&#8203;8469](https://togithub.com/protocolbuffers/protobuf/issues/8469))

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

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

### C++

-   Fix compiler warnings issue found in conformance_test_runner [#&#8203;8189](https://togithub.com/protocolbuffers/protobuf/issues/8189) ([#&#8203;8190](https://togithub.com/protocolbuffers/protobuf/issues/8190))
-   Fix MinGW-w64 build issues. ([#&#8203;8286](https://togithub.com/protocolbuffers/protobuf/issues/8286))
-   [Protoc] C++ Resolved an issue where NO_DESTROY and CONSTINIT are in incorrect order ([#&#8203;8296](https://togithub.com/protocolbuffers/protobuf/issues/8296))
-   Fix PROTOBUF_CONSTINIT macro redefinition ([#&#8203;8323](https://togithub.com/protocolbuffers/protobuf/issues/8323))
-   Delete StringPiecePod ([#&#8203;8353](https://togithub.com/protocolbuffers/protobuf/issues/8353))
-   Fix gcc error: comparison of unsigned expression in '>= 0' is always … ([#&#8203;8309](https://togithub.com/protocolbuffers/protobuf/issues/8309))
-   Fix cmake install on iOS ([#&#8203;8301](https://togithub.com/protocolbuffers/protobuf/issues/8301))
-   Create a CMake option to control whether or not RTTI is enabled ([#&#8203;8347](https://togithub.com/protocolbuffers/protobuf/issues/8347))
-   Fix endian.h location on FreeBSD ([#&#8203;8351](https://togithub.com/protocolbuffers/protobuf/issues/8351))
-   Refactor util::Status ([#&#8203;8354](https://togithub.com/protocolbuffers/protobuf/issues/8354))
-   Make util::Status more similar to absl::Status ([#&#8203;8405](https://togithub.com/protocolbuffers/protobuf/issues/8405))
-   Fix -Wsuggest-destructor-override for generated C++ proto classes. ([#&#8203;8408](https://togithub.com/protocolbuffers/protobuf/issues/8408))
-   Refactor StatusOr and StringPiece ([#&#8203;8406](https://togithub.com/protocolbuffers/protobuf/issues/8406))
-   Refactor uint128 ([#&#8203;8416](https://togithub.com/protocolbuffers/protobuf/issues/8416))
-   The ::pb namespace is no longer exposed due to conflicts.
-   Allow MessageDifferencer::TreatAsSet() (and friends) to override previous
    calls instead of crashing.
-   Reduce the size of generated proto headers for protos with `string` or
    `bytes` fields.
-   Move arena() operation on uncommon path to out-of-line routine
-   For iterator-pair function parameter types, take both iterators by value.
-   Code-space savings and perhaps some modest performance improvements in
    RepeatedPtrField.
-   Eliminate nullptr check from every tag parse.
-   Remove unused _$name$\_cached_byte_size_ fields.
-   Serialize extension ranges together when not broken by a proto field in the
    middle.
-   Do out-of-line allocation and deallocation of string object in ArenaString.
-   Streamline ParseContext::ParseMessage<T> to avoid code bloat and improve
    performance.
-   New member functions RepeatedField::Assign, RepeatedPtrField::{Add, Assign}.
-   Fix undefined behavior warning due to innocuous uninitialization of value
    on an error path.
-   Avoid expensive inlined code space for encoding message length for messages
    > = 128 bytes and instead do a procedure call to a shared out-of-line routine.
-   util::DefaultFieldComparator will be final in a future version of protobuf.
    Subclasses should inherit from SimpleFieldComparator instead.

### C

-   Add .NET 5 target and improve WriteString performance with SIMD ([#&#8203;8147](https://togithub.com/protocolbuffers/protobuf/issues/8147))

### Java

-   deps: update JUnit and Truth ([#&#8203;8319](https://togithub.com/protocolbuffers/protobuf/issues/8319))
-   Detect invalid overflow of byteLimit and return InvalidProtocolBufferException as documented.
-   Exceptions thrown while reading from an InputStream in parseFrom are now
    included as causes.
-   Support potentially more efficient proto parsing from RopeByteStrings.
-   Clarify runtime of ByteString.Output.toStringBuffer().
-   Added UnsafeByteOperations to protobuf-lite ([#&#8203;8426](https://togithub.com/protocolbuffers/protobuf/issues/8426))

### JavaScript

-   Make Any.pack() chainable.

### Python

-   Fix some constness / char literal issues being found by MSVC standard conforming mode ([#&#8203;8344](https://togithub.com/protocolbuffers/protobuf/issues/8344))
-   Switch on "new" buffer API ([#&#8203;8339](https://togithub.com/protocolbuffers/protobuf/issues/8339))
-   Enable crosscompiling aarch64 python wheels under dockcross manylinux docker image ([#&#8203;8280](https://togithub.com/protocolbuffers/protobuf/issues/8280))
-   Fixed a bug in text format where a trailing colon was printed for repeated field.
-   When TextFormat encounters a duplicate message map key, replace the current
    one instead of merging.

### Objective-C

-   Move the class map to a CFDictionary. ([#&#8203;8328](https://togithub.com/protocolbuffers/protobuf/issues/8328))

### PHP

-   read_property() handler is not supposed to return NULL ([#&#8203;8362](https://togithub.com/protocolbuffers/protobuf/issues/8362))
-   Changed parameter type from long to integer ([#&#8203;7613](https://togithub.com/protocolbuffers/protobuf/issues/7613))
-   fix: README supported PHP version for C extension ([#&#8203;8236](https://togithub.com/protocolbuffers/protobuf/issues/8236))

### Ruby

-   Fixed quadratic memory usage when appending to arrays. ([#&#8203;8364](https://togithub.com/protocolbuffers/protobuf/issues/8364))
-   Fixed memory leak of Ruby arena objects. ([#&#8203;8461](https://togithub.com/protocolbuffers/protobuf/issues/8461))
-   Add support for proto3 json_name in compiler and field definitions. ([#&#8203;8356](https://togithub.com/protocolbuffers/protobuf/issues/8356))

### Other

-   Some doc on AOT compilation and protobuf ([#&#8203;8294](https://togithub.com/protocolbuffers/protobuf/issues/8294))
-   [CMake] Ability to pass options to protoc executable from cmake ([#&#8203;8374](https://togithub.com/protocolbuffers/protobuf/issues/8374))
-   Add --fatal_warnings flag to treat warnings as errors ([#&#8203;8131](https://togithub.com/protocolbuffers/protobuf/issues/8131))
-   [bazel] Remove deprecated way to depend on googletest ([#&#8203;8396](https://togithub.com/protocolbuffers/protobuf/issues/8396))
-   add error returns missing from protoc to prevent it from exiting with… ([#&#8203;8409](https://togithub.com/protocolbuffers/protobuf/issues/8409))

</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, check this box.

---

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