chore(deps): update googleapis/java-cloud-bom action to v26.50.0 #11286
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v26.49.0
->v26.50.0
Release Notes
googleapis/java-cloud-bom (googleapis/java-cloud-bom)
v26.50.0
Compare Source
GCP Libraries BOM 26.50.0
Here are the differences from the previous version (26.49.0)
The group ID of the following artifacts is
com.google.cloud
.Notable Changes
Protobuf-Java v4.28.3
This version of Libraries-Bom is upgrading the Protobuf Java (PBJ) Runtime version to v4.28.3. The Java SDK aims to use the latest Protobuf version to utilize the latest stable features and to mitigate vulnerabilities (CVEs).
Potential PBJ Runtime 4.28.3 Upgrade Issues
There are a few potential compatibility issues that may arise for users following the PBJ Runtime upgrade to v4.28.3. Details about these potential issues are outlined below.
Note: The following issues may not be exhaustive and users may encounter additional issues.
Source Compatibility Issues
PBJ 4.26.x removed some methods from runtime. Users may see source compilation issues when compiling their application. If you do not use any of the following removed methods, you should not see these issues.
Binary Compatibility Issues
PBJ 4.26.x removed a few overloaded methods from runtime. Users may see binary compilation issues during runtime. If you do not use any of the following Protobuf-Java’s removed methods, you should not see the following issues.
Note: The binary compatibility errors will show as
NoMethodFound: {Class}.{Method}
Note: Method parameter is of type GeneratedExtension
See this PR for an example of a fix
Note: Method parameter is of type GeneratedExtension
See this PR for an example of a fix
Note: Method parameter is of type GeneratedExtension
setOptions
inFieldOptions.Builder
. UsesetField()
to replacesetExtension()
See this PR for an example of a fix
Protoc Gen Code Compatibility Issues (Protoc 21.x - 25.x)
This section is for users who have additional protos defined alongside Java client libraries. If users do not define any additional protos, they should not see the following compatibility issue.
Protoc 21.6 and Earlier
Users that have Protoc 21.6 and earlier generated Java files will experience a compilation error from the generated
makeExtensionsImmutable
method. The Java compiler will complain that the method cannot be found:Note: This method was removed in Protobuf-Java v3.21.7+ as part of a disclosed vulnerability.
Resolution: Users will need to regenerate their protos with Protoc 25.x or 27.4+.
Protoc 21.7 - 24.x
Starting with Protoc 21.7, Protobuf no longer generates code that calls
makeExtensionsImmutable
. However, users may experience additional compatibility issues and may need to regenerate their protos with Protoc 25.x or 27.4+.Protoc 25.x
Protos generated with Protoc 25.x should be fully compatible with PBJ Runtime 4.28.3.
ErrorProne Errors
Users with ErrorProne enabled may see an ImpossibleNullComparison error. The Java SDK contained a few legacy null checks on fields from a Protobuf message.
Prior to the upgrade, the SDK contained code similar to:
The code has been updated to:
Resolution: Remove the unnecessary null checks on Protobuf fields.
Deprecation Warnings
Users may see new deprecation warnings from Protobuf-Java when compiling their application. These new warnings may occur for users that use the following classes and methods:
GeneratedMessageV3
Users who interface directly with the
GeneratedMessageV3
class in application code will see this deprecation warning:com.google.protobuf.GeneratedMessageV3 in com.google.protobuf has been deprecated
.Below is an example of code (
CustomClass
is a Protoc generated class from Java-Speech) that will trigger a deprecation warning:Explicitly casting any proto generated class to
GeneratedMessageV3
will cause the Java compiler flagging a deprecation warning.Resolution: Avoid using
GeneratedMessageV3
directly. UseMessage
orAbstractMessage
if a generic Message type is required.includingDefaultValueFields()
Users who have similar code in their application:
Will see this warning:
includingDefaultValueFields() in com.google.protobuf.util.JsonFormat.Printer has been deprecated
.Resolution: Use
JsonFormat.printer().alwaysPrintFieldsWithNoPresence()
instead.How can I upgrade to PBJ Runtime 4.28.3?
This Libraries-Bom version has been updated to use PBJ Runtime v4.28.3. As part of future releases, Libraries-Bom will continue to upgrade to the latest Protobuf Runtime version in the 4.x branch.
Users that do not use the Libraries-Bom will need to manually upgrade to PBJ Runtime 4.28.3. Older versions of client libraries may be generated with older versions of Protoc. To ensure full compatibility with the latest PBJ Runtime version, use the Libraries-Bom v26.28.0+ to manage the client library versions.
FAQ
Why not upgrade with PBJ Runtime v4.26.x?
In early 2024, Protobuf released a new major version (v4.26.0) for Protobuf-Java (PBJ) that was not backwards compatible with v3.25.x. Upgrading to PBJ v4.26.0 required regenerating all protos and releasing a new major version. Additionally, users with their own protos would be forced to either downgrade the runtime version to 3.25.x or regenerate their protos with Protoc 26.x.
Why not upgrade with PBJ Runtime v4.27.4 - v4.28.2?
As of the date of testing, PBJ Runtime 4.28.3 was the latest version of Protobuf released. The Java SDK planned to be updated with the latest version compatible with Protoc 25.x.
Why is only the PBJ Runtime version being updated in this release?
Protoc 26.x’s Protobuf generated messages extend from GeneratedMessage instead of GeneratedMessageV3. Upgrading to use Protoc 26.0 would require regeneration of all proto files and would not be backwards compatible for users on PBJ 3.x.
Upgrading to use Protoc 27.4+ would not be backwards compatible for users on PBJ 3.x. The Java SDK aims to be compatible with both PBJ 3.x and 4.x.
Can I keep my protos generated with Protoc 25.x and still use the latest Google Cloud Java Bom?
Protobuf runtime 4.28.3+ is fully compatible with messages generated with Protoc 25.x. Users will not be forced to regenerate their protos with the latest Protoc if messages were generated with Protoc 25.x+.
Can I regenerate my protos with Protoc 27.4+ and still use the latest Google Cloud Java Bom?
The Java SDK is generated with Protoc 25.x. Users will be able to use protos from Protoc 25.x and 27.4+ with PBJ Runtime 4.27.4+.
Can I use an older version of Libraries-Bom with PBJ Runtime 4.x?
If you use Libraries-Bom v26.28.0+, you should not see any compatibility issues from Java client libraries. Starting with Libraries-Bom v26.28.0, protos in the Java SDK are generated with Protoc 25.x.
If you use Libraries-Bom v26.27.0 or earlier, you may see compatibility issues. If possible, try to upgrade to Libraries-Bom v26.28.0+.
How can I use PBJ Runtime 3.25.x?
The Java SDK released a modified version of the Libraries-Bom under a different Maven Artifact:
com.google.cloud:libraries-bom-protobuf3
. This BOM contains PBJ Runtime 3.25.x and is updated to use the latest Protobuf Runtime version in the 3.25.x branch.The only difference between
libraries-bom
andlibraries-bom-protobuf3
is the PBJ Runtime version. Both BOMs update together, contain the same libraries and versions, and share the same BOM versions (v26.x).How can I check for additional Binary Compatibility Issues in application?
To test binary code compatibility, your application should be compiled with Protobuf-Java v3.x. Update the PBJ Runtime dependency to v4.x and run your unit and integration tests. Coverage of your application’s binary compatibility depends on your test coverage and the code paths hit.
If you do not use any Protobuf-Java runtime methods directly inside your application, then you should not see any binary compatibility issues stemming from your application code. However, it is possible to see binary compatibility issues from your dependencies if they are built with PBJ 3.x.
Java SDK and the dependencies brought in by Libraires-Bom should have complete binary compatibility.
Libraries
google-cloud-bigquerystorage 3.10.2 (prev: 3.9.3)
Add experimental ArrowData type and arrow_data field within AppendRowsRequest (18faebd)
Add stream name to every request when connection is created during multiplexing (#2699) (c53a77c)
Update BigQuerySchemaUtil to use non-deprecated hasExtension (#2732) (b97b234)
BQTableSchemaToProtoDescriptor setting of FieldOption. (#2743) (fb57909)
google-cloud-bigtable 2.46.0 (prev: 2.45.1)
Test proxy support SSL backend (#2381) (3cbf4ab)
Fix client blocking latency (#2346) (3801961)
Fix first response latencies (#2382) (8b2953e)
google-cloud-firestore 3.28.0 (prev: 3.27.2)
Add the deprecation notice for tracing enable/disable option. (#1866) (d213245)
Improve Logging (#1892) (e74457a)
google-cloud-pubsub 1.134.1 (prev: 1.133.1)
google-cloud-spanner 6.80.1 (prev: 6.79.0)
google-cloud-spanner-jdbc 2.24.1 (prev: 2.23.0)
google-cloud-storage 2.44.1 (prev: 2.43.2)
Promote gRPC transport to GA (#2766) (41fd72a)
Fix createFrom resumable upload retry offset calculation (#2771) (1126cdc), closes #2770
Update gRPC ReadObject retry to avoid double retry (#2765) (1fc57b9)
Other libraries
[aiplatform] add
text
field for Grounding metadata support chunk output (492696e)[aiplatform] add audio_timestamp to GenerationConfig (492696e)
[aiplatform] add new PscInterfaceConfig field to custom_job.proto (492696e)
[aiplatform] Introduce DefaultRuntime to PipelineJob (492696e)
[alloydb] add new PSC instance configuration setting and output the PSC DNS name (492696e)
[analytics-data] add
SamplingLevel
type to Data API v1alpha (492696e)[artifact-registry] Add Artifact Registry attachment API (492696e)
[asset] add more longrunnning operation support (492696e)
[cloudbuild] Add PrivateServiceConnect option to WorkerPool (492696e)
[container] add an effective_cgroup_mode field in node config (492696e)
[dataproc] Add
ProvisioningModelMix
to support mixing of spot and standard instances for secondary workers (492696e)[discoveryengine] Add GroundedGenerationService API (492696e)
[discoveryengine] add lite search API to allow public website search with API key (492696e)
[dlp] discovery of BigQuery snapshots (492696e)
[document-ai] Updated the exponential backoff settings for the Document AI ProcessDocument and BatchProcessDocuments methods (492696e)
[document-ai] Updated the exponential backoff settings for the Document AI ProcessDocument and BatchProcessDocuments methods (492696e)
[gdchardwaremanagement] add a DeleteSite method (492696e)
[network-management] add messages and fields related to Redis Instances (492696e)
[parallelstore] Generate libraries for Parallelstore V1 API (492696e)
[parallelstore] new module for parallelstore v1 (#11272) (ea1ab21)
[securesourcemanager] Add branch rule APIs (492696e)
[securesourcemanager] Add field
instance
to message.google.cloud.securesourcemanager.v1.ListRepositoriesRequest
(492696e)[shopping-css] A new field
headline_offer_installment
is added to message.google.shopping.css.v1.Attributes
(492696e)[texttospeech] Add brand voice lite (492696e)
[texttospeech] add brand voice lite, which lets you clone a voice with just 10 seconds of audio (492696e)
[texttospeech] Add low latency journey option to proto (492696e)
[texttospeech] Add low latency journey option to proto (492696e)
[texttospeech] add multi-speaker markup, which allows generating dialogue between multiple speakers (492696e)
[discoveryengine] fix the location type annotation (492696e)
Version Upgrades
Minor Version Upgrades
Patch Version Upgrades
Core Library Dependencies
These client libraries are built with the following Java libraries:
If you encounter compatibility issues with protobuf-java 4.x, please update your codebase and dependencies to ensure compatibility. If this is not feasible, use libraries-bom-protobuf3 as a workaround. libraries-bom-protobuf3 includes the same client libraries and library versions as libraries-bom.
API Reference
You can find the API references of the SDK in Java Cloud Client Libraries
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - 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.
This PR was generated by Mend Renovate. View the repository job log.