Skip to content

Upgrade Dependencies#12719

Open
shivaspeaks wants to merge 12 commits intogrpc:masterfrom
shivaspeaks:upgrade-deps
Open

Upgrade Dependencies#12719
shivaspeaks wants to merge 12 commits intogrpc:masterfrom
shivaspeaks:upgrade-deps

Conversation

@shivaspeaks
Copy link
Member

No description provided.

@shivaspeaks
Copy link
Member Author

Closing this because upgrade dependencies is non-trivial right now due to transient dependency version issue. We need to spend some more dedicated time into this.

@ejona86
Copy link
Member

ejona86 commented Mar 23, 2026

Closing this because upgrade dependencies is non-trivial right now due to transient dependency version issue. We need to spend some more dedicated time into this.

What issue? Give some clue what you're talking about. Why can't we just skip that one dependency? It looks like if you just avoid upgrading lincheck at this point the build works (on my machine with -PfailOnWarnings=true).

@shivaspeaks shivaspeaks reopened this Mar 23, 2026
@shivaspeaks
Copy link
Member Author

We cannot upgrade google-api-protos, google-auth-library, google-cloud-logging. The newer versions of these require the Protobuf 4.x runtime, which conflicts with our current Split Version Strategy that pins the Java Runtime to 3.25.8 to avoid breaking ABI changes.

@ejona86
Copy link
Member

ejona86 commented Mar 23, 2026

We cannot upgrade google-api-protos, google-auth-library, google-cloud-logging

Yes, I was talking about changes from that current point in the PR.

For those other things, add a checkForUpdates comment and a description saying why we aren't upgrading.

# 2.11.0+ requires JDK 11+ (See https://github.com/google/error-prone/releases/tag/v2.11.0)
# checkForUpdates: errorprone-corejava8:2.10.+
errorprone-corejava8 = "com.google.errorprone:error_prone_core:2.10.0"
# checkForUpdates: Newer versions requires protobuf 4.x.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The checkForUpdates comments are read by the checkForUpdates task. They should be machine-readable, and specify the pattern to use when searching for new versions.

See 6d611f7

@shivaspeaks shivaspeaks requested a review from ejona86 March 24, 2026 06:43
Comment on lines 56 to 57
# checkForUpdates: google-api-protos:2.63.+
google-api-protos = "com.google.api.grpc:proto-google-common-protos:2.63.2"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems we should upgrade to 2.66.0?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except this one. This can only be upgraded until 2.64.1

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah cross checked with maven: proto-google-common-protos/2.64.1/dependencies has protobuf-java 3.25.8 and proto-google-common-protos/2.65.0/dependencies has protobuf-java 4.33.2.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your comment says "2.67.0+ requires protobuf 4.x." Either upgrade to the latest version prior to 2.67.0 or update the comment to describe why we aren't yet upgrading.

Comment on lines 59 to 62
# checkForUpdates: google-auth-credentials:1.41.+
google-auth-credentials = "com.google.auth:google-auth-library-credentials:1.41.0"
# checkForUpdates: google-auth-oauth2Http:1.41.+
google-auth-oauth2Http = "com.google.auth:google-auth-library-oauth2-http:1.41.0"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Upgrade to 1.42.1?

Comment on lines 65 to 66
# checkForUpdates: google-cloud-logging:3.23.+
google-cloud-logging = "com.google.cloud:google-cloud-logging:3.23.9"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Upgrade to 3.27.0?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

google-cloud-logging can be upgraded to 3.23.10 and from 3.23.11 things are breaking because it has protobuf 4.33 as a dependency. Check here: https://mvnrepository.com/artifact/com.google.cloud/google-cloud-logging

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So even the patch upgrade is making problems. The comment for checkForUpgrades will not work. What should we have here?
# checkForUpdates: google-cloud-logging:3.23.+

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3.23.11 things are breaking because it has protobuf 4.33 as a dependency

Then the comment is wrong: "3.28.0+ require protobuf 4.x".

The comment for checkForUpgrades will not work. What should we have here?

checkForUpdates passes the version selection string from this comment to Gradle and then checks what version Gradle ended up selecting. See Gradle's docs for the ways to write a version.

If this comment is not here, then the task defaults to +, which just means "latest version". If it's only compatible with major version 3, then you'd write 3.+. You can also write 3.23.+ and 3.23.9, depending on the needs.

# Need to decide when we require users to absorb the breaking changes in 4.2
# checkForUpdates: netty-codec-http2:4.1.+
netty-codec-http2 = "io.netty:netty-codec-http2:4.1.130.Final"
netty-codec-http2 = "io.netty:netty-codec-http2:4.1.131.Final"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only upgrade Netty when we are ready to upgrade internally. It is fine to skip it right now (although the past several upgrades have been easy, so you could also do it now).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants