fix: update dependency io.grpc:grpc-bom to v1.81.0#803
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the grpc-bom version to 1.81.0 in the pom.xml. Feedback indicates that maintaining hardcoded versions for Netty and Protobuf alongside this update creates a risk of binary incompatibility. It is recommended to remove these explicit versions to allow the BOMs to manage them and to ensure grpc-bom is declared before other BOMs to prevent version conflicts under Maven's dependency resolution rules.
| <groupId>io.grpc</groupId> | ||
| <artifactId>grpc-bom</artifactId> | ||
| <version>1.80.0</version> | ||
| <version>1.81.0</version> |
There was a problem hiding this comment.
Updating grpc-bom to 1.81.0 while maintaining hardcoded versions for netty-transport-native-epoll (4.2.12.Final) and protobuf-bom (4.34.1) creates a high risk of runtime binary incompatibilities. gRPC 1.x is generally incompatible with Netty 4.2.x and requires specific Protobuf versions. Per repository guidelines, when updating dependencies not managed by a BOM, verify the version's release date and compatibility with other libraries. Furthermore, because grpc-bom is imported after google-cloud-spanner-bom, Maven's 'first-declaration-wins' rule may cause some gRPC artifacts to use older versions. Consider removing explicit versions for Netty and Protobuf to allow the BOMs to manage them, and ensure grpc-bom is declared before other BOMs.
References
- When updating dependencies, especially those not managed by a BOM, verify the version's release date to ensure it is current and compatible with other libraries.
This PR contains the following updates:
1.80.0→1.81.0Release Notes
grpc/grpc-java (io.grpc:grpc-bom)
v1.81.0In this release we drop support for Android API level 22 or lower (Lollipop or earlier), following Google Play Service’s discontinued updates for Lollipop (API levels 21 & 22) and now requires a minimum of API level 23 (Android 6.0 Marshmallow).
API Changes
Behavior Changes
0675f70). DnsNameResolver ignores re-resolution requests on OpenJDK-like platforms if it has been too soon since the last DNS query because InetAddress.getAllByName() has a cache with a fixed entry lifetime, but this logic was disabled for Android which does not have that style of cache. Android’s cache uses the result TTL, which will rarely be less than 30 seconds. This change would probably be most noticeable when 1) changing to a different network (e.g., from wifi to mobile), 2) the server has different addresses for different networks, and 3) the app is not using AndroidChannelBuilder with anandroid.context.Context. For reference, it seems Chrome caches for 1 minuteBug Fixes
ManagedChannelOrphanWrappercould incorrectly log a "not shutdown properly" warning during garbage collection when using directExecutor(). (#12705) (d459338)typeUrl. (#12740) (eac9fe9)backend_service. This ensures xDS load balancing metrics are reported accurately. (#12735)New Features
0e39b29). This CallOption is copied by grpc-opentelemetry to thegrpc.client.call.customlabel as defined by gRFC A108. See also the gRPC OpenTelemetry Metrics guide (update in-progress)AdvancedTlsX509KeyManagerso that developers can now preserve and use key aliases when dynamically reloading TLS certificates. (#12686)Documentation
a3a9ffc) (#12726) (65ae2ef)3ed732f)Dependencies
16e17ab). Google-auth-library: 1.42.1, animal-sniffer: 1.27, assertj-core:3.27.7, error_prone_annotations:2.48.0, proto-google-common-protos:2.64.1, google-cloud-logging:3.23.10, jetty-http2-server:12.1.7, jetty-ee10-servlet:12.1.7, lincheck:3.4, opentelemetry-api:1.60.1, opentelemetry-exporter-prometheus:1.60.1-alpha, opentelemetry-gcp-resources:1.54.0-alpha, opentelemetry-sdk-extension-autoconfigure:1.60.1, opentelemetry-sdk-testing:1.60.1, robolectric:4.16.1, tomcat-embed-core:10.1.52, tomcat-embed-core9: 9.0.115,1528f80)Thanks to
Configuration
📅 Schedule: (UTC)
* 0-3 * * *)🚦 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.
This PR was generated by Mend Renovate. View the repository job log.