diff --git a/.github/workflows/hermetic_library_generation.yaml b/.github/workflows/hermetic_library_generation.yaml
index 328daeb441..fa204cc023 100644
--- a/.github/workflows/hermetic_library_generation.yaml
+++ b/.github/workflows/hermetic_library_generation.yaml
@@ -43,7 +43,7 @@ jobs:
with:
fetch-depth: 0
token: ${{ secrets.CLOUD_JAVA_BOT_TOKEN }}
- - uses: googleapis/sdk-platform-java/.github/scripts@v2.56.1
+ - uses: googleapis/sdk-platform-java/.github/scripts@v2.56.2
if: env.SHOULD_RUN == 'true'
with:
base_ref: ${{ github.base_ref }}
diff --git a/.github/workflows/unmanaged_dependency_check.yaml b/.github/workflows/unmanaged_dependency_check.yaml
index 9cb7884a8e..47fb250ccc 100644
--- a/.github/workflows/unmanaged_dependency_check.yaml
+++ b/.github/workflows/unmanaged_dependency_check.yaml
@@ -17,6 +17,6 @@ jobs:
# repository
.kokoro/build.sh
- name: Unmanaged dependency check
- uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.46.1
+ uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.46.2
with:
bom-path: google-cloud-storage-bom/pom.xml
diff --git a/.kokoro/presubmit/graalvm-native-17.cfg b/.kokoro/presubmit/graalvm-native-17.cfg
index c06029e771..6ef189c1f1 100644
--- a/.kokoro/presubmit/graalvm-native-17.cfg
+++ b/.kokoro/presubmit/graalvm-native-17.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.46.1"
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.46.2"
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native-a.cfg b/.kokoro/presubmit/graalvm-native-a.cfg
index 3031653aad..d0c2952133 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.46.1"
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.46.2" # {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 388d37513c..962c305ff7 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.46.1"
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_b:3.46.2" # {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 92235f78b5..87b5dff65a 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.46.1"
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_c:3.46.2" # {x-version-update:google-cloud-shared-dependencies:current}
}
env_vars: {
diff --git a/.kokoro/presubmit/graalvm-native.cfg b/.kokoro/presubmit/graalvm-native.cfg
index 671eafc29d..435349a2ff 100644
--- a/.kokoro/presubmit/graalvm-native.cfg
+++ b/.kokoro/presubmit/graalvm-native.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.46.1"
+ value: "gcr.io/cloud-devrel-public-resources/graalvm_sdk_platform_a:3.46.2"
}
env_vars: {
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a6a9f653f5..2b433ed9c4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,25 @@
# Changelog
+## [2.52.0](https://github.com/googleapis/java-storage/compare/v2.51.0...v2.52.0) (2025-04-28)
+
+
+### Features
+
+* Add Storage.BlobListOption#includeTrailingDelimiter ([#3038](https://github.com/googleapis/java-storage/issues/3038)) ([0b7a0df](https://github.com/googleapis/java-storage/commit/0b7a0dff91af0e22e84ba3ca08862141292b3b30))
+
+
+### Bug Fixes
+
+* **deps:** Update the Java code generator (gapic-generator-java) to 2.56.2 ([74c46dd](https://github.com/googleapis/java-storage/commit/74c46ddcd91553bcb8145c536389bbe0ca32886c))
+
+
+### Dependencies
+
+* Update dependency com.google.apis:google-api-services-storage to v1-rev20250416-2.0.0 ([#3063](https://github.com/googleapis/java-storage/issues/3063)) ([d496d5b](https://github.com/googleapis/java-storage/commit/d496d5bcc1f6ee922bb8f02bfc91d4aeffb8f9a7))
+* Update dependency com.google.apis:google-api-services-storage to v1-rev20250420-2.0.0 ([#3070](https://github.com/googleapis/java-storage/issues/3070)) ([1ef50f2](https://github.com/googleapis/java-storage/commit/1ef50f2936e62602db689cffbe166c9494ac58f6))
+* Update dependency com.google.cloud:sdk-platform-java-config to v3.46.2 ([#3061](https://github.com/googleapis/java-storage/issues/3061)) ([cb43a6c](https://github.com/googleapis/java-storage/commit/cb43a6c368367e15dfd7c2205689df04547d1a9c))
+* Update googleapis/sdk-platform-java action to v2.56.2 ([#3055](https://github.com/googleapis/java-storage/issues/3055)) ([7025ad7](https://github.com/googleapis/java-storage/commit/7025ad7db438741ab6d74d5e3f768d0a2bd4da5c))
+
## [2.51.0](https://github.com/googleapis/java-storage/compare/v2.50.0...v2.51.0) (2025-04-23)
diff --git a/README.md b/README.md
index fe500ef9ac..4bf54a38b7 100644
--- a/README.md
+++ b/README.md
@@ -46,12 +46,12 @@ If you are using Maven without the BOM, add this to your dependencies:
com.google.cloud
google-cloud-storage
- 2.50.0
+ 2.51.0
com.google.cloud
google-cloud-storage-control
- 2.50.0
+ 2.51.0
```
@@ -66,13 +66,13 @@ implementation 'com.google.cloud:google-cloud-storage'
If you are using Gradle without BOM, add this to your dependencies:
```Groovy
-implementation 'com.google.cloud:google-cloud-storage:2.51.0'
+implementation 'com.google.cloud:google-cloud-storage:2.52.0'
```
If you are using SBT, add this to your dependencies:
```Scala
-libraryDependencies += "com.google.cloud" % "google-cloud-storage" % "2.51.0"
+libraryDependencies += "com.google.cloud" % "google-cloud-storage" % "2.52.0"
```
## Authentication
@@ -515,7 +515,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-storage/java11.html
[stability-image]: https://img.shields.io/badge/stability-stable-green
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-storage.svg
-[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-storage/2.51.0
+[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-storage/2.52.0
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles
diff --git a/gapic-google-cloud-storage-v2/pom.xml b/gapic-google-cloud-storage-v2/pom.xml
index 7d03a1edd0..89965c8be8 100644
--- a/gapic-google-cloud-storage-v2/pom.xml
+++ b/gapic-google-cloud-storage-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
gapic-google-cloud-storage-v2
- 2.51.0
+ 2.52.0
gapic-google-cloud-storage-v2
GRPC library for gapic-google-cloud-storage-v2
com.google.cloud
google-cloud-storage-parent
- 2.51.0
+ 2.52.0
diff --git a/generation_config.yaml b/generation_config.yaml
index 61040ea96b..7ff54c2afd 100644
--- a/generation_config.yaml
+++ b/generation_config.yaml
@@ -1,5 +1,5 @@
-gapic_generator_version: 2.56.0
-googleapis_commitish: c8f09eb3362651a47b5c4adef1cb2bbdc652eeb4
+gapic_generator_version: 2.56.2
+googleapis_commitish: 261895f1d8ced9564f4cf872f7f4f9a1f4c615d3
libraries_bom_version: 26.59.0
libraries:
- api_shortname: storage
diff --git a/google-cloud-storage-bom/pom.xml b/google-cloud-storage-bom/pom.xml
index e24f841e6c..5d6f0014d5 100644
--- a/google-cloud-storage-bom/pom.xml
+++ b/google-cloud-storage-bom/pom.xml
@@ -19,12 +19,12 @@
4.0.0
com.google.cloud
google-cloud-storage-bom
- 2.51.0
+ 2.52.0
pom
com.google.cloud
sdk-platform-java-config
- 3.46.1
+ 3.46.2
@@ -69,37 +69,37 @@
com.google.cloud
google-cloud-storage
- 2.51.0
+ 2.52.0
com.google.api.grpc
gapic-google-cloud-storage-v2
- 2.51.0
+ 2.52.0
com.google.api.grpc
grpc-google-cloud-storage-v2
- 2.51.0
+ 2.52.0
com.google.api.grpc
proto-google-cloud-storage-v2
- 2.51.0
+ 2.52.0
com.google.cloud
google-cloud-storage-control
- 2.51.0
+ 2.52.0
com.google.api.grpc
grpc-google-cloud-storage-control-v2
- 2.51.0
+ 2.52.0
com.google.api.grpc
proto-google-cloud-storage-control-v2
- 2.51.0
+ 2.52.0
diff --git a/google-cloud-storage-control/pom.xml b/google-cloud-storage-control/pom.xml
index f822b7c537..0944d77e20 100644
--- a/google-cloud-storage-control/pom.xml
+++ b/google-cloud-storage-control/pom.xml
@@ -5,13 +5,13 @@
4.0.0
com.google.cloud
google-cloud-storage-control
- 2.51.0
+ 2.52.0
google-cloud-storage-control
GRPC library for google-cloud-storage-control
com.google.cloud
google-cloud-storage-parent
- 2.51.0
+ 2.52.0
diff --git a/google-cloud-storage/pom.xml b/google-cloud-storage/pom.xml
index 10899f0cc8..263b052d36 100644
--- a/google-cloud-storage/pom.xml
+++ b/google-cloud-storage/pom.xml
@@ -2,7 +2,7 @@
4.0.0
google-cloud-storage
- 2.51.0
+ 2.52.0
jar
Google Cloud Storage
https://github.com/googleapis/java-storage
@@ -12,11 +12,11 @@
com.google.cloud
google-cloud-storage-parent
- 2.51.0
+ 2.52.0
google-cloud-storage
- 1.120.0
+ 1.121.1
diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/Storage.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/Storage.java
index afcacd96ff..301792e148 100644
--- a/google-cloud-storage/src/main/java/com/google/cloud/storage/Storage.java
+++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/Storage.java
@@ -2677,6 +2677,17 @@ public static BlobListOption includeFolders(boolean includeFolders) {
return new BlobListOption(UnifiedOpts.includeFoldersAsPrefixes(includeFolders));
}
+ /**
+ * Returns an option which will cause blobs that end in exactly one instance of `delimiter` will
+ * have their metadata included rather than being synthetic objects.
+ *
+ * @since 2.52.0
+ */
+ @TransportCompatibility({Transport.HTTP, Transport.GRPC})
+ public static BlobListOption includeTrailingDelimiter() {
+ return new BlobListOption(UnifiedOpts.includeTrailingDelimiter());
+ }
+
/**
* Returns an option to define the billing user project. This option is required by buckets with
* `requester_pays` flag enabled to assign operation costs.
diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/UnifiedOpts.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/UnifiedOpts.java
index 1402e9cb15..77cb1344a3 100644
--- a/google-cloud-storage/src/main/java/com/google/cloud/storage/UnifiedOpts.java
+++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/UnifiedOpts.java
@@ -381,6 +381,10 @@ static IncludeFoldersAsPrefixes includeFoldersAsPrefixes(boolean includeFoldersA
return new IncludeFoldersAsPrefixes(includeFoldersAsPrefixes);
}
+ static IncludeTrailingDelimiter includeTrailingDelimiter() {
+ return new IncludeTrailingDelimiter(true);
+ }
+
@Deprecated
static DetectContentType detectContentType() {
return DetectContentType.INSTANCE;
@@ -706,6 +710,20 @@ public Mapper listObjects() {
}
}
+ static final class IncludeTrailingDelimiter extends RpcOptVal implements ObjectListOpt {
+
+ private static final long serialVersionUID = 321916692864878282L;
+
+ private IncludeTrailingDelimiter(boolean val) {
+ super(StorageRpc.Option.INCLUDE_TRAILING_DELIMITER, val);
+ }
+
+ @Override
+ public Mapper listObjects() {
+ return b -> b.setIncludeTrailingDelimiter(val);
+ }
+ }
+
static final class Delimiter extends RpcOptVal implements ObjectListOpt {
private static final long serialVersionUID = -3789556789947615714L;
diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/spi/v1/HttpStorageRpc.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/spi/v1/HttpStorageRpc.java
index 3111fa246b..6ea50f3772 100644
--- a/google-cloud-storage/src/main/java/com/google/cloud/storage/spi/v1/HttpStorageRpc.java
+++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/spi/v1/HttpStorageRpc.java
@@ -496,7 +496,8 @@ public Tuple> list(final String bucket, Map storageObjects =
diff --git a/google-cloud-storage/src/main/java/com/google/cloud/storage/spi/v1/StorageRpc.java b/google-cloud-storage/src/main/java/com/google/cloud/storage/spi/v1/StorageRpc.java
index dc056fda2c..160a2ad433 100644
--- a/google-cloud-storage/src/main/java/com/google/cloud/storage/spi/v1/StorageRpc.java
+++ b/google-cloud-storage/src/main/java/com/google/cloud/storage/spi/v1/StorageRpc.java
@@ -78,6 +78,7 @@ enum Option {
COPY_SOURCE_ACL("copySourceAcl"),
GENERATION("generation"),
INCLUDE_FOLDERS_AS_PREFIXES("includeFoldersAsPrefixes"),
+ INCLUDE_TRAILING_DELIMITER("includeTrailingDelimiter"),
X_UPLOAD_CONTENT_LENGTH("x-upload-content-length"),
/**
* An {@link com.google.common.collect.ImmutableMap ImmutableMap<String, String>} of values
diff --git a/google-cloud-storage/src/test/java/com/google/cloud/storage/it/ITObjectTest.java b/google-cloud-storage/src/test/java/com/google/cloud/storage/it/ITObjectTest.java
index 4baad7fe88..f3a79e030a 100644
--- a/google-cloud-storage/src/test/java/com/google/cloud/storage/it/ITObjectTest.java
+++ b/google-cloud-storage/src/test/java/com/google/cloud/storage/it/ITObjectTest.java
@@ -1607,4 +1607,86 @@ public void blob_update() throws Exception {
() -> assertThat(gen1_2.getMetadata()).isEqualTo(meta3),
() -> assertThat(gen1_2.getGeneration()).isEqualTo(gen1.getGeneration()));
}
+
+ @Test
+ public void listBlob_includeTrailingDelimiter() throws Exception {
+ final byte[] A = new byte[] {(byte) 'A'};
+
+ String basePath = generator.randomObjectName();
+ // create a series of objects under a stable test specific path
+ BlobId a = BlobId.of(bucket.getName(), String.format("%s/a", basePath));
+ BlobId b = BlobId.of(bucket.getName(), String.format("%s/b", basePath));
+ BlobId c = BlobId.of(bucket.getName(), String.format("%s/c", basePath));
+ BlobId a_ = BlobId.of(bucket.getName(), String.format("%s/a/", basePath));
+ BlobId b_ = BlobId.of(bucket.getName(), String.format("%s/b/", basePath));
+ BlobId c_ = BlobId.of(bucket.getName(), String.format("%s/c/", basePath));
+ BlobId d_ = BlobId.of(bucket.getName(), String.format("%s/d/", basePath));
+ BlobId a_A1 = BlobId.of(bucket.getName(), String.format("%s/a/A1", basePath));
+ BlobId a_A2 = BlobId.of(bucket.getName(), String.format("%s/a/A2", basePath));
+ BlobId b_B1 = BlobId.of(bucket.getName(), String.format("%s/b/B1", basePath));
+ BlobId c_C2 = BlobId.of(bucket.getName(), String.format("%s/c/C2", basePath));
+
+ storage.create(BlobInfo.newBuilder(a).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(b).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(c).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(a_).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(b_).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(c_).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(d_).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(a_A1).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(a_A2).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(b_B1).build(), A, BlobTargetOption.doesNotExist());
+ storage.create(BlobInfo.newBuilder(c_C2).build(), A, BlobTargetOption.doesNotExist());
+
+ // define all our options
+ BlobListOption[] blobListOptions =
+ new BlobListOption[] {
+ BlobListOption.currentDirectory(),
+ BlobListOption.includeTrailingDelimiter(),
+ BlobListOption.fields(BlobField.NAME, BlobField.GENERATION, BlobField.SIZE),
+ BlobListOption.prefix(basePath + "/")
+ };
+ // list and collect all the object names
+ List blobs =
+ storage.list(bucket.getName(), blobListOptions).streamAll().collect(Collectors.toList());
+
+ // figure out what the base prefix of the objects is, so we can trim it down to make assertions
+ // more terse.
+ int trimLen = String.format(Locale.US, "gs://%s/%s", bucket.getName(), basePath).length();
+ List names =
+ blobs.stream()
+ .map(
+ bi -> {
+ String uri = bi.getBlobId().toGsUtilUriWithGeneration();
+ int genIdx = uri.indexOf("#");
+ String substring;
+ if (genIdx > -1) {
+ // trim the string representation of the generation to make assertions easier.
+ // We really only need to know that a generation is present, not it's exact
+ // value.
+ substring = uri.substring(trimLen, genIdx + 1);
+ } else {
+ substring = uri.substring(trimLen);
+ }
+ return "..." + substring;
+ })
+ .collect(Collectors.toList());
+
+ assertThat(names)
+ .containsExactly(
+ // items
+ ".../a#",
+ ".../b#",
+ ".../c#",
+ // items included due to includeTrailingDelimiter
+ ".../a/#",
+ ".../b/#",
+ ".../c/#",
+ ".../d/#",
+ // prefixes
+ ".../a/",
+ ".../b/",
+ ".../c/",
+ ".../d/");
+ }
}
diff --git a/google-cloud-storage/src/test/java/com/google/cloud/storage/it/runner/registry/TestBench.java b/google-cloud-storage/src/test/java/com/google/cloud/storage/it/runner/registry/TestBench.java
index 32557a97bd..3cc9360fde 100644
--- a/google-cloud-storage/src/test/java/com/google/cloud/storage/it/runner/registry/TestBench.java
+++ b/google-cloud-storage/src/test/java/com/google/cloud/storage/it/runner/registry/TestBench.java
@@ -249,7 +249,14 @@ public void start() {
"--publish",
gRPCPort + ":9090",
String.format(Locale.US, "--name=%s", containerName),
- dockerImage);
+ dockerImage,
+ "gunicorn",
+ "--bind=0.0.0.0:9000",
+ "--worker-class=sync",
+ "--threads=10",
+ "--access-logfile=-",
+ "--keep-alive=0",
+ "testbench:run()");
process =
new ProcessBuilder()
.command(command)
diff --git a/grpc-google-cloud-storage-control-v2/pom.xml b/grpc-google-cloud-storage-control-v2/pom.xml
index 1338cd5a7a..d715cbc261 100644
--- a/grpc-google-cloud-storage-control-v2/pom.xml
+++ b/grpc-google-cloud-storage-control-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-storage-control-v2
- 2.51.0
+ 2.52.0
grpc-google-cloud-storage-control-v2
GRPC library for google-cloud-storage
com.google.cloud
google-cloud-storage-parent
- 2.51.0
+ 2.52.0
diff --git a/grpc-google-cloud-storage-v2/pom.xml b/grpc-google-cloud-storage-v2/pom.xml
index 05f8a6e181..c671ea786d 100644
--- a/grpc-google-cloud-storage-v2/pom.xml
+++ b/grpc-google-cloud-storage-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
grpc-google-cloud-storage-v2
- 2.51.0
+ 2.52.0
grpc-google-cloud-storage-v2
GRPC library for grpc-google-cloud-storage-v2
com.google.cloud
google-cloud-storage-parent
- 2.51.0
+ 2.52.0
diff --git a/pom.xml b/pom.xml
index a6bb94ef6c..a376f4f925 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.google.cloud
google-cloud-storage-parent
pom
- 2.51.0
+ 2.52.0
Storage Parent
https://github.com/googleapis/java-storage
@@ -14,7 +14,7 @@
com.google.cloud
sdk-platform-java-config
- 3.46.1
+ 3.46.2
@@ -82,17 +82,17 @@
com.google.cloud
google-cloud-storage
- 2.51.0
+ 2.52.0
com.google.apis
google-api-services-storage
- v1-rev20250312-2.0.0
+ v1-rev20250420-2.0.0
com.google.cloud
google-cloud-pubsub
- 1.138.0
+ 1.139.1
test
@@ -104,32 +104,32 @@
com.google.api.grpc
proto-google-cloud-storage-v2
- 2.51.0
+ 2.52.0
com.google.api.grpc
grpc-google-cloud-storage-v2
- 2.51.0
+ 2.52.0
com.google.api.grpc
gapic-google-cloud-storage-v2
- 2.51.0
+ 2.52.0
com.google.api.grpc
grpc-google-cloud-storage-control-v2
- 2.51.0
+ 2.52.0
com.google.api.grpc
proto-google-cloud-storage-control-v2
- 2.51.0
+ 2.52.0
com.google.cloud
google-cloud-storage-control
- 2.51.0
+ 2.52.0
com.google.cloud
diff --git a/proto-google-cloud-storage-control-v2/pom.xml b/proto-google-cloud-storage-control-v2/pom.xml
index e724124fa6..8b7cfe9df7 100644
--- a/proto-google-cloud-storage-control-v2/pom.xml
+++ b/proto-google-cloud-storage-control-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-storage-control-v2
- 2.51.0
+ 2.52.0
proto-google-cloud-storage-control-v2
Proto library for proto-google-cloud-storage-control-v2
com.google.cloud
google-cloud-storage-parent
- 2.51.0
+ 2.52.0
diff --git a/proto-google-cloud-storage-v2/pom.xml b/proto-google-cloud-storage-v2/pom.xml
index 80d4f0b1eb..2b52d7bb45 100644
--- a/proto-google-cloud-storage-v2/pom.xml
+++ b/proto-google-cloud-storage-v2/pom.xml
@@ -4,13 +4,13 @@
4.0.0
com.google.api.grpc
proto-google-cloud-storage-v2
- 2.51.0
+ 2.52.0
proto-google-cloud-storage-v2
PROTO library for proto-google-cloud-storage-v2
com.google.cloud
google-cloud-storage-parent
- 2.51.0
+ 2.52.0
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 89c80be07b..e344aab0c1 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -30,12 +30,12 @@
com.google.cloud
google-cloud-storage
- 2.50.0
+ 2.51.0
com.google.cloud
google-cloud-storage-control
- 2.50.0
+ 2.51.0
@@ -66,13 +66,13 @@
com.google.cloud
google-cloud-pubsub
- 1.138.0
+ 1.139.1
test
com.google.cloud
google-cloud-storage
- 2.50.0
+ 2.51.0
tests
test
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index d0821a5c20..82416abaca 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,12 +28,12 @@
com.google.cloud
google-cloud-storage
- 2.51.0
+ 2.52.0
com.google.cloud
google-cloud-storage-control
- 2.51.0
+ 2.52.0
compile
@@ -58,13 +58,13 @@
com.google.cloud
google-cloud-pubsub
- 1.138.0
+ 1.139.1
test
com.google.cloud
google-cloud-storage
- 2.51.0
+ 2.52.0
tests
test
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 354f59be53..0c73554963 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -76,7 +76,7 @@
com.google.cloud
google-cloud-pubsub
- 1.138.0
+ 1.139.1
test
@@ -93,7 +93,7 @@
com.google.cloud
google-cloud-storage
- 2.50.0
+ 2.51.0
tests
test
diff --git a/storage-shared-benchmarking/pom.xml b/storage-shared-benchmarking/pom.xml
index 5d3239043d..a3fd6c7d01 100644
--- a/storage-shared-benchmarking/pom.xml
+++ b/storage-shared-benchmarking/pom.xml
@@ -10,7 +10,7 @@
com.google.cloud
google-cloud-storage-parent
- 2.51.0
+ 2.52.0
@@ -31,7 +31,7 @@
com.google.cloud
google-cloud-storage
- 2.51.0
+ 2.52.0
tests
diff --git a/versions.txt b/versions.txt
index 46e8e678a9..943ff059c8 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,10 +1,10 @@
# Format:
# module:released-version:current-version
-google-cloud-storage:2.51.0:2.51.0
-gapic-google-cloud-storage-v2:2.51.0:2.51.0
-grpc-google-cloud-storage-v2:2.51.0:2.51.0
-proto-google-cloud-storage-v2:2.51.0:2.51.0
-google-cloud-storage-control:2.51.0:2.51.0
-proto-google-cloud-storage-control-v2:2.51.0:2.51.0
-grpc-google-cloud-storage-control-v2:2.51.0:2.51.0
+google-cloud-storage:2.52.0:2.52.0
+gapic-google-cloud-storage-v2:2.52.0:2.52.0
+grpc-google-cloud-storage-v2:2.52.0:2.52.0
+proto-google-cloud-storage-v2:2.52.0:2.52.0
+google-cloud-storage-control:2.52.0:2.52.0
+proto-google-cloud-storage-control-v2:2.52.0:2.52.0
+grpc-google-cloud-storage-control-v2:2.52.0:2.52.0