diff --git a/.kokoro/presubmit/graalvm-native-a.cfg b/.kokoro/presubmit/graalvm-native-a.cfg
index af4115f37..b113cf7c7 100644
--- a/.kokoro/presubmit/graalvm-native-a.cfg
+++ b/.kokoro/presubmit/graalvm-native-a.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.56.0" # {x-version-update:google-cloud-shared-dependencies:current}
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.57.0" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native-b.cfg b/.kokoro/presubmit/graalvm-native-b.cfg
index 33056bc06..1f91aa678 100644
--- a/.kokoro/presubmit/graalvm-native-b.cfg
+++ b/.kokoro/presubmit/graalvm-native-b.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.56.0" # {x-version-update:google-cloud-shared-dependencies:current}
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.57.0" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native-c.cfg b/.kokoro/presubmit/graalvm-native-c.cfg
index 8a6c25f49..53a7b7d63 100644
--- a/.kokoro/presubmit/graalvm-native-c.cfg
+++ b/.kokoro/presubmit/graalvm-native-c.cfg
@@ -3,7 +3,7 @@
# Configure the docker image for kokoro-trampoline.
env_vars: {
key: "TRAMPOLINE_IMAGE"
- value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_c:3.56.0" # {x-version-update:google-cloud-shared-dependencies:current}
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_c:3.57.0" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
diff --git a/README.md b/README.md
index 46a08b0bf..2339aa3d7 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
com.google.cloud
libraries-bom
- 26.74.0
+ 26.76.0
pom
import
@@ -43,7 +43,7 @@ If you are using Maven without the BOM, add this to your dependencies:
com.google.cloud
google-cloud-pubsub
- 1.146.0
+ 1.148.0
```
@@ -51,7 +51,7 @@ If you are using Maven without the BOM, add this to your dependencies:
If you are using Gradle 5.x or later, add this to your dependencies:
```Groovy
-implementation platform('com.google.cloud:libraries-bom:26.74.0')
+implementation platform('com.google.cloud:libraries-bom:26.76.0')
implementation 'com.google.cloud:google-cloud-pubsub'
```
diff --git a/generation_config.yaml b/generation_config.yaml
index cba64deff..23f6e1e41 100644
--- a/generation_config.yaml
+++ b/generation_config.yaml
@@ -1,6 +1,6 @@
-gapic_generator_version: 2.66.0
-googleapis_commitish: 2ac88973cbafba24e4fb6f31038e0c76174ae704
-libraries_bom_version: 26.74.0
+gapic_generator_version: 2.67.0
+googleapis_commitish: c662840a94dbdf708caa44893a2d49119cdd391c
+libraries_bom_version: 26.76.0
libraries:
- api_shortname: pubsub
name_pretty: Cloud Pub/Sub
diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/LoggingUtil.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/LoggingUtil.java
deleted file mode 100644
index dbc3a5d86..000000000
--- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/LoggingUtil.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright 2026 Google LLC
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.google.cloud.pubsub.v1;
-
-import com.google.pubsub.v1.PubsubMessage;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-public final class LoggingUtil {
- // Instantiate all loggers as static final fields to maintain strong references
-
- private static final Logger slowAckLogger = Logger.getLogger("slow-ack");
- private static final Logger callbackDeliveryLogger = Logger.getLogger("callback-delivery");
- private static final Logger expiryLogger = Logger.getLogger("expiry");
- private static final Logger callbackExceptionsLogger = Logger.getLogger("callback-exceptions");
- private static final Logger ackBatchLogger = Logger.getLogger("ack-batch");
- private static final Logger subscriberFlowControlLogger =
- Logger.getLogger("subscriber-flow-control");
- private static final Logger ackNackLogger = Logger.getLogger("ack-nack");
- private static final Logger publishBatchLogger = Logger.getLogger("publish-batch");
- private static final Logger subscriberStreamsLogger = Logger.getLogger("subscriber-streams");
-
- public enum SubSystem {
- SLOW_ACK(slowAckLogger),
- CALLBACK_DELIVERY(callbackDeliveryLogger),
- EXPIRY(expiryLogger),
- CALLBACK_EXCEPTIONS(callbackExceptionsLogger),
- ACK_BATCH(ackBatchLogger),
- SUBSCRIBER_FLOW_CONTROL(subscriberFlowControlLogger),
- ACK_NACK(ackNackLogger),
- PUBLISH_BATCH(publishBatchLogger),
- SUBSCRIBER_STREAMS(subscriberStreamsLogger);
-
- private final Logger logger;
-
- SubSystem(Logger logger) {
- this.logger = logger;
- }
-
- public Logger getLogger() {
- return logger;
- }
- }
-
- public LoggingUtil() {}
-
- private String getSubscriptionLogPrefix(
- PubsubMessageWrapper messageWrapper, String ackId, boolean exactlyOnceDeliveryEnabled) {
- if (messageWrapper == null || messageWrapper.getPubsubMessage() == null) {
- return " Ack ID: "
- + ackId
- + ", Exactly Once Delivery: "
- + exactlyOnceDeliveryEnabled
- + " (Message details not available)";
- }
-
- PubsubMessage message = messageWrapper.getPubsubMessage();
- String messageId = message.getMessageId();
- String orderingKey = message.getOrderingKey();
-
- StringBuilder sb = new StringBuilder();
- sb.append("Message ID: ").append(messageId);
- sb.append(", Ack ID: ").append(ackId);
- if (orderingKey != null && !orderingKey.isEmpty()) {
- sb.append(", Ordering Key: ").append(orderingKey);
- }
- sb.append(", Exactly Once Delivery: ").append(exactlyOnceDeliveryEnabled);
- return sb.toString();
- }
-
- private String getPublisherLogPrefix(PubsubMessageWrapper messageWrapper) {
- if (messageWrapper == null || messageWrapper.getPubsubMessage() == null) {
- return " (Message details not available)";
- }
-
- PubsubMessage message = messageWrapper.getPubsubMessage();
- String messageId = message.getMessageId();
- String orderingKey = message.getOrderingKey();
-
- StringBuilder sb = new StringBuilder();
- sb.append("Message ID: ").append(messageId);
- if (orderingKey != null && !orderingKey.isEmpty()) {
- sb.append(", Ordering Key: ").append(orderingKey);
- }
- return sb.toString();
- }
-
- public void logSubscriber(
- SubSystem subSystem,
- Level level,
- String msg,
- PubsubMessageWrapper messageWrapper,
- String ackId,
- boolean exactlyOnceDeliveryEnabled) {
- Logger logger = subSystem.getLogger();
- if (logger.isLoggable(level)) {
- String prefix = getSubscriptionLogPrefix(messageWrapper, ackId, exactlyOnceDeliveryEnabled);
- logger.log(level, prefix + " - " + msg);
- }
- }
-
- public void logSubscriberWithThrowable(
- SubSystem subSystem,
- Level level,
- String msg,
- PubsubMessageWrapper messageWrapper,
- String ackId,
- boolean exactlyOnceDeliveryEnabled,
- Throwable throwable) {
- Logger logger = subSystem.getLogger();
- if (logger.isLoggable(level)) {
- String prefix = getSubscriptionLogPrefix(messageWrapper, ackId, exactlyOnceDeliveryEnabled);
- logger.log(level, prefix + " - " + msg, throwable);
- }
- }
-
- public void logPublisher(
- SubSystem subSystem, Level level, String msg, PubsubMessageWrapper messageWrapper) {
- Logger logger = subSystem.getLogger();
- if (logger.isLoggable(level)) {
- String prefix = getPublisherLogPrefix(messageWrapper);
- logger.log(level, prefix + " - " + msg);
- }
- }
-
- public void logEvent(SubSystem subSystem, Level level, String msg, Object... params) {
- Logger logger = subSystem.getLogger();
- if (logger.isLoggable(level)) {
- logger.log(level, msg, params);
- }
- }
-}