From bb0b0d5e09c2f7735e6c21a9491e03c0944ab6ce Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 11:21:39 -0700 Subject: [PATCH 01/16] chore(main): release google-ads-datamanager 1.0.0 (#9113) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit :robot: I have created a release *beep* *boop* --- ## [1.0.0](https://github.com/googleapis/google-cloud-node/compare/google-ads-datamanager-v0.6.0...google-ads-datamanager-v1.0.0) (2026-08-07) ### ⚠ BREAKING CHANGES * upgrade minimum Node.js version to 22 ([#9026](https://github.com/googleapis/google-cloud-node/issues/9026)) ### Features * [datamanager] add encrypted_user_id.proto and the EncryptedUserId resource ([#8378](https://github.com/googleapis/google-cloud-node/issues/8378)) ([f5b12cf](https://github.com/googleapis/google-cloud-node/commit/f5b12cf10d9974c87e651e1182a5804030af8cdc)) * [datamanager] add the coupon_codes field to CartData to track coupon redemptions for Google Ads and Google Analytics ([#8300](https://github.com/googleapis/google-cloud-node/issues/8300)) ([ecec52d](https://github.com/googleapis/google-cloud-node/commit/ecec52d9fa7e5a8557596f42407412b714c8bd3d)) * Update API sources and regenerate ([#8672](https://github.com/googleapis/google-cloud-node/issues/8672)) ([3391fd2](https://github.com/googleapis/google-cloud-node/commit/3391fd27d1c15e051293207a07c6db00e760d370)) * Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389)) * Upgrade minimum Node.js version to 22 ([#9026](https://github.com/googleapis/google-cloud-node/issues/9026)) ([1ed703f](https://github.com/googleapis/google-cloud-node/commit/1ed703f36743d61fb302b42a6cee53c07034b2fe)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- .release-please-manifest.json | 2 +- changelog.json | 52 +++++++++++++++++++- packages/google-ads-datamanager/CHANGELOG.md | 15 ++++++ packages/google-ads-datamanager/package.json | 2 +- 4 files changed, 68 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 48aef931009f..d40499fa628a 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -36,7 +36,7 @@ "handwritten/spanner": "8.10.0", "handwritten/storage": "7.21.0", "packages/google-ads-admanager": "0.9.0", - "packages/google-ads-datamanager": "0.6.0", + "packages/google-ads-datamanager": "1.0.0", "packages/google-ai-generativelanguage": "4.0.0", "packages/google-analytics-admin": "10.0.0", "packages/google-analytics-data": "7.0.0", diff --git a/changelog.json b/changelog.json index a9e0bf8919e6..e6676679e32e 100644 --- a/changelog.json +++ b/changelog.json @@ -1,6 +1,56 @@ { "repository": "googleapis/google-cloud-node", "entries": [ + { + "changes": [ + { + "type": "feat", + "sha": "61ea9c807dfb3eda4ddd377da9a496d17ba48389", + "message": "Update API sources and regenerate", + "issues": [ + "9104" + ] + }, + { + "type": "feat", + "sha": "1ed703f36743d61fb302b42a6cee53c07034b2fe", + "message": "Upgrade minimum Node.js version to 22", + "issues": [ + "9026" + ], + "breakingChangeNote": "upgrade minimum Node.js version to 22 ([#9026](https://github.com/googleapis/google-cloud-node/issues/9026))" + }, + { + "type": "feat", + "sha": "3391fd27d1c15e051293207a07c6db00e760d370", + "message": "Update API sources and regenerate", + "issues": [ + "8672" + ] + }, + { + "type": "feat", + "sha": "f5b12cf10d9974c87e651e1182a5804030af8cdc", + "message": "[datamanager] add encrypted_user_id.proto and the EncryptedUserId resource", + "issues": [ + "8378" + ] + }, + { + "type": "feat", + "sha": "ecec52d9fa7e5a8557596f42407412b714c8bd3d", + "message": "[datamanager] add the coupon_codes field to CartData to track coupon redemptions for Google Ads and Google Analytics", + "issues": [ + "8300" + ] + } + ], + "version": "1.0.0", + "language": "JAVASCRIPT", + "artifactName": "@google-ads/datamanager", + "id": "8165672b-c417-4d69-8c58-0513f4f07015", + "createTime": "2026-08-07T23:06:25.949Z" + }, { "changes": [ { @@ -88789,5 +88839,5 @@ "createTime": "2023-01-28T04:18:24.718Z" } ], - "updateTime": "2026-08-05T21:09:31.314Z" + "updateTime": "2026-08-07T23:06:25.949Z" } \ No newline at end of file diff --git a/packages/google-ads-datamanager/CHANGELOG.md b/packages/google-ads-datamanager/CHANGELOG.md index 367103038923..3cb8392dadef 100644 --- a/packages/google-ads-datamanager/CHANGELOG.md +++ b/packages/google-ads-datamanager/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [1.0.0](https://github.com/googleapis/google-cloud-node/compare/google-ads-datamanager-v0.6.0...google-ads-datamanager-v1.0.0) (2026-08-07) + + +### ⚠ BREAKING CHANGES + +* upgrade minimum Node.js version to 22 ([#9026](https://github.com/googleapis/google-cloud-node/issues/9026)) + +### Features + +* [datamanager] add encrypted_user_id.proto and the EncryptedUserId resource ([#8378](https://github.com/googleapis/google-cloud-node/issues/8378)) ([f5b12cf](https://github.com/googleapis/google-cloud-node/commit/f5b12cf10d9974c87e651e1182a5804030af8cdc)) +* [datamanager] add the coupon_codes field to CartData to track coupon redemptions for Google Ads and Google Analytics ([#8300](https://github.com/googleapis/google-cloud-node/issues/8300)) ([ecec52d](https://github.com/googleapis/google-cloud-node/commit/ecec52d9fa7e5a8557596f42407412b714c8bd3d)) +* Update API sources and regenerate ([#8672](https://github.com/googleapis/google-cloud-node/issues/8672)) ([3391fd2](https://github.com/googleapis/google-cloud-node/commit/3391fd27d1c15e051293207a07c6db00e760d370)) +* Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389)) +* Upgrade minimum Node.js version to 22 ([#9026](https://github.com/googleapis/google-cloud-node/issues/9026)) ([1ed703f](https://github.com/googleapis/google-cloud-node/commit/1ed703f36743d61fb302b42a6cee53c07034b2fe)) + ## [0.6.0](https://github.com/googleapis/google-cloud-node/compare/datamanager-v0.5.0...datamanager-v0.6.0) (2026-08-04) diff --git a/packages/google-ads-datamanager/package.json b/packages/google-ads-datamanager/package.json index c3a45a23351c..6ee12d6a505e 100644 --- a/packages/google-ads-datamanager/package.json +++ b/packages/google-ads-datamanager/package.json @@ -1,6 +1,6 @@ { "name": "@google-ads/datamanager", - "version": "0.6.0", + "version": "1.0.0", "description": "Data Manager API client for Node.js", "repository": { "type": "git", From af8074c0281f4f8dc40570f580f4cdebf1d72cde Mon Sep 17 00:00:00 2001 From: danieljbruce Date: Mon, 10 Aug 2026 18:23:34 +0000 Subject: [PATCH 02/16] fix: upgrade all node core library dependencies to their latest node 22 version (#9084) ## Description One thing we should do in addition to the plan outlined for the Node upgrade is we should upgrade the dependencies of the core libraries to match versions that correspond to Node v22. We do this for our generated packages so it is reasonable to do it for the core packages too. This actually addresses https://github.com/googleapis/google-cloud-node/pull/9078#discussion_r3715558759 removing a compiler error that should be addressed. Generated a script to update the dependencies and ran it. An additional detail is that we exclude the dependencies for generated packages for now since we have not confirmed they have been released with the major upgrade yet and we also exclude upgrading gaxios since it was not upgraded to Node 22 yet. ## Impact Ensures Node versions for core library dependencies match the core library node versions (that they are all v22). --- core/common/package.json | 14 +++++++------- core/help/package.json | 3 +++ core/packages/gapic-node-processing/package.json | 2 +- core/packages/gax/package.json | 14 +++++++------- core/packages/gax/samples/package.json | 2 +- core/packages/gcp-metadata/package.json | 6 +++--- core/packages/gcp-metadata/samples/package.json | 2 +- .../google-auth-library-nodejs/package.json | 8 ++++---- .../samples/package.json | 2 +- core/packages/logging-utils/samples/package.json | 4 ++-- .../packages/nodejs-googleapis-common/package.json | 8 ++++---- .../nodejs-googleapis-common/samples/package.json | 2 +- core/packages/nodejs-proto-files/package.json | 4 ++-- .../nodejs-proto-files/samples/package.json | 2 +- .../proto3-json-serializer-nodejs/package.json | 8 ++++---- .../samples/package.json | 4 ++-- core/packages/retry-request/package.json | 6 +++--- core/packages/teeny-request/package.json | 4 ++-- core/packages/tools/package.json | 4 ++-- core/paginator/package.json | 4 ++-- core/projectify/package.json | 4 ++-- core/promisify/package.json | 4 ++-- 22 files changed, 57 insertions(+), 54 deletions(-) diff --git a/core/common/package.json b/core/common/package.json index 99f5483fc4b7..758c30b7d8c6 100644 --- a/core/common/package.json +++ b/core/common/package.json @@ -34,15 +34,15 @@ "precompile": "gts clean" }, "dependencies": { - "@google-cloud/projectify": "^4.0.0", - "@google-cloud/promisify": "^4.0.0", + "@google-cloud/projectify": "^6.0.0", + "@google-cloud/promisify": "^6.0.0", "arrify": "^2.0.0", "duplexify": "^4.1.3", "extend": "^3.0.2", - "google-auth-library": "^10.6.2", + "google-auth-library": "^11.0.0", "html-entities": "^2.5.2", - "retry-request": "^8.0.0", - "teeny-request": "^10.0.0" + "retry-request": "^9.0.0", + "teeny-request": "^11.0.0" }, "devDependencies": { "@types/ent": "^2.2.8", @@ -59,8 +59,8 @@ "codecov": "^3.8.3", "gts": "^6.0.2", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^3.0.0", - "jsdoc-region-tag": "^3.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "mocha": "^11.1.0", "mv": "^2.1.1", "ncp": "^2.0.0", diff --git a/core/help/package.json b/core/help/package.json index 76316e1768de..3db87c4b4e73 100644 --- a/core/help/package.json +++ b/core/help/package.json @@ -5,5 +5,8 @@ "test": "echo 'no unit tests'", "system-test": "echo 'no system tests'", "samples-test": "echo 'no samples test'" + }, + "engines": { + "node": ">=22" } } diff --git a/core/packages/gapic-node-processing/package.json b/core/packages/gapic-node-processing/package.json index bbdb7a05e1d6..cff475c887f5 100644 --- a/core/packages/gapic-node-processing/package.json +++ b/core/packages/gapic-node-processing/package.json @@ -33,7 +33,7 @@ "@types/yargs": "^17.0.33", "c8": "^10.1.3", "cross-env": "^7.0.3", - "gapic-tools": "^1.0.0", + "gapic-tools": "^2.0.0", "gts": "^6.0.2", "mocha": "^11.1.0", "sinon": "21.0.3", diff --git a/core/packages/gax/package.json b/core/packages/gax/package.json index 3bffc24a55e1..b9499e98bc2a 100644 --- a/core/packages/gax/package.json +++ b/core/packages/gax/package.json @@ -13,13 +13,13 @@ "@grpc/grpc-js": "^1.12.6", "@grpc/proto-loader": "^0.8.0", "duplexify": "^4.1.3", - "google-auth-library": "10.5.0", - "google-logging-utils": "1.1.3", + "google-auth-library": "^11.0.0", + "google-logging-utils": "^2.0.0", "node-fetch": "^3.3.2", "object-hash": "^3.0.0", - "proto3-json-serializer": "3.0.4", + "proto3-json-serializer": "^4.0.0", "protobufjs": "^7.5.4", - "retry-request": "^8.0.2" + "retry-request": "^9.0.0" }, "devDependencies": { "@babel/plugin-proposal-private-methods": "^7.18.6", @@ -35,12 +35,12 @@ "codecov": "^3.8.3", "execa": "^5.0.0", "glob": "10.5.0", - "google-proto-files": "5.0.1", + "google-proto-files": "^6.0.0", "gts": "^6.0.2", "jackspeak": "^3.0.2", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^5.0.0", - "jsdoc-region-tag": "^4.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "long": "^5.2.4", "lru-cache": "^10.0.0", "mkdirp": "^3.0.1", diff --git a/core/packages/gax/samples/package.json b/core/packages/gax/samples/package.json index 08e74abd161b..cdbe0e2d4710 100644 --- a/core/packages/gax/samples/package.json +++ b/core/packages/gax/samples/package.json @@ -3,7 +3,7 @@ "license": "Apache-2.0", "author": "Google LLC", "engines": { - "node": ">=18" + "node": ">=22" }, "repository": "googleapis/google-cloud-node", "private": true, diff --git a/core/packages/gcp-metadata/package.json b/core/packages/gcp-metadata/package.json index 78eb4d77cc95..454f18804bb5 100644 --- a/core/packages/gcp-metadata/package.json +++ b/core/packages/gcp-metadata/package.json @@ -41,7 +41,7 @@ "license": "Apache-2.0", "dependencies": { "gaxios": "^7.1.3", - "google-logging-utils": "1.1.3", + "google-logging-utils": "^2.0.0", "json-bigint": "^1.0.0" }, "devDependencies": { @@ -58,8 +58,8 @@ "gcbuild": "^1.3.39", "gts": "^6.0.2", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^5.0.0", - "jsdoc-region-tag": "^4.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "mocha": "^11.1.0", "ncp": "^2.0.0", "nock": "^14.0.5", diff --git a/core/packages/gcp-metadata/samples/package.json b/core/packages/gcp-metadata/samples/package.json index a7a0992b436f..e780cc25804e 100644 --- a/core/packages/gcp-metadata/samples/package.json +++ b/core/packages/gcp-metadata/samples/package.json @@ -3,7 +3,7 @@ "license": "Apache-2.0", "author": "Google LLC", "engines": { - "node": ">=18" + "node": ">=22" }, "files": [ "*.js" diff --git a/core/packages/google-auth-library-nodejs/package.json b/core/packages/google-auth-library-nodejs/package.json index 7cb8ad627747..9839bc79d5a2 100644 --- a/core/packages/google-auth-library-nodejs/package.json +++ b/core/packages/google-auth-library-nodejs/package.json @@ -24,8 +24,8 @@ "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", "gaxios": "^7.1.4", - "gcp-metadata": "8.1.2", - "google-logging-utils": "1.1.3", + "gcp-metadata": "^9.0.0", + "google-logging-utils": "^2.0.0", "jws": "^4.0.0" }, "devDependencies": { @@ -42,8 +42,8 @@ "gts": "^6.0.2", "is-docker": "^3.0.0", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^5.0.0", - "jsdoc-region-tag": "^4.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "karma": "^6.0.0", "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^2.0.0", diff --git a/core/packages/google-auth-library-nodejs/samples/package.json b/core/packages/google-auth-library-nodejs/samples/package.json index 553ac8dd82d2..cdd5e8cbcf16 100644 --- a/core/packages/google-auth-library-nodejs/samples/package.json +++ b/core/packages/google-auth-library-nodejs/samples/package.json @@ -9,7 +9,7 @@ "test": "mocha --timeout 60000" }, "engines": { - "node": ">=18" + "node": ">=22" }, "license": "Apache-2.0", "dependencies": { diff --git a/core/packages/logging-utils/samples/package.json b/core/packages/logging-utils/samples/package.json index 2fe8992a5e29..8afc0de7fd06 100644 --- a/core/packages/logging-utils/samples/package.json +++ b/core/packages/logging-utils/samples/package.json @@ -23,13 +23,13 @@ "directory": "core/packages/logging-utils/samples" }, "engines": { - "node": ">=18" + "node": ">=22" }, "dependencies": { "google-logging-utils": "^2.0.0" }, "devDependencies": { - "@google-cloud/typeless-sample-bot": "^2.1.0", + "@google-cloud/typeless-sample-bot": "^4.0.0", "@types/node": "^25.6.0", "gts": "^5.0.0", "mocha": "^10.0.0" diff --git a/core/packages/nodejs-googleapis-common/package.json b/core/packages/nodejs-googleapis-common/package.json index 2ad882e902af..0597d05fb31e 100644 --- a/core/packages/nodejs-googleapis-common/package.json +++ b/core/packages/nodejs-googleapis-common/package.json @@ -38,8 +38,8 @@ "dependencies": { "extend": "^3.0.2", "gaxios": "7.1.3", - "google-auth-library": "10.5.0", - "google-logging-utils": "1.1.3", + "google-auth-library": "^11.0.0", + "google-logging-utils": "^2.0.0", "qs": "^6.7.0", "url-template": "^2.0.8" }, @@ -61,8 +61,8 @@ "http2spy": "^2.0.0", "is-docker": "^3.0.0", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^5.0.0", - "jsdoc-region-tag": "^4.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "karma": "^6.0.0", "karma-chrome-launcher": "^3.0.0", "karma-coverage": "^2.0.0", diff --git a/core/packages/nodejs-googleapis-common/samples/package.json b/core/packages/nodejs-googleapis-common/samples/package.json index 07446f01ac9f..97d883897f8e 100644 --- a/core/packages/nodejs-googleapis-common/samples/package.json +++ b/core/packages/nodejs-googleapis-common/samples/package.json @@ -3,7 +3,7 @@ "license": "MIT", "author": "Google LLC", "engines": { - "node": ">=18" + "node": ">=22" }, "files": [ "*.js", diff --git a/core/packages/nodejs-proto-files/package.json b/core/packages/nodejs-proto-files/package.json index f29c0373bbb5..012f772cc575 100644 --- a/core/packages/nodejs-proto-files/package.json +++ b/core/packages/nodejs-proto-files/package.json @@ -56,8 +56,8 @@ "got": "^11.0.0", "gts": "^6.0.2", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^5.0.0", - "jsdoc-region-tag": "^4.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "mocha": "^11.1.0", "proxyquire": "^2.1.3", "sinon": "21.0.3", diff --git a/core/packages/nodejs-proto-files/samples/package.json b/core/packages/nodejs-proto-files/samples/package.json index 7edae10e8825..cc700a2f2628 100644 --- a/core/packages/nodejs-proto-files/samples/package.json +++ b/core/packages/nodejs-proto-files/samples/package.json @@ -6,7 +6,7 @@ "*.js" ], "engines": { - "node": ">=18" + "node": ">=22" }, "repository": "googleapis/google-cloud-node", "private": true, diff --git a/core/packages/proto3-json-serializer-nodejs/package.json b/core/packages/proto3-json-serializer-nodejs/package.json index 99cd8b3b4d25..aaaf9ef65be0 100644 --- a/core/packages/proto3-json-serializer-nodejs/package.json +++ b/core/packages/proto3-json-serializer-nodejs/package.json @@ -43,13 +43,13 @@ "@types/mocha": "^10.0.10", "@types/node": "^24.0.0", "c8": "^10.1.3", - "google-proto-files": "^5.0.0", + "google-proto-files": "^6.0.0", "gts": "^6.0.2", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^5.0.0", - "jsdoc-region-tag": "^4.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "mocha": "^11.1.0", - "pack-n-play": "^4.0.0", + "pack-n-play": "^5.0.0", "protobufjs-cli": "^1.2.0", "typescript": "5.8.3" }, diff --git a/core/packages/proto3-json-serializer-nodejs/samples/package.json b/core/packages/proto3-json-serializer-nodejs/samples/package.json index b15cdf373d39..8d64aec5e25c 100644 --- a/core/packages/proto3-json-serializer-nodejs/samples/package.json +++ b/core/packages/proto3-json-serializer-nodejs/samples/package.json @@ -3,7 +3,7 @@ "license": "Apache-2.0", "author": "Google LLC", "engines": { - "node": ">=18" + "node": ">=22" }, "repository": "googleapis/google-cloud-node", "private": true, @@ -14,7 +14,7 @@ "*.js" ], "dependencies": { - "google-proto-files": "^5.0.0", + "google-proto-files": "^6.0.0", "proto3-json-serializer": "^4.0.0", "protobufjs": "^7.0.0" }, diff --git a/core/packages/retry-request/package.json b/core/packages/retry-request/package.json index bd297573229a..b770c721ce4f 100644 --- a/core/packages/retry-request/package.json +++ b/core/packages/retry-request/package.json @@ -34,15 +34,15 @@ }, "dependencies": { "extend": "^3.0.2", - "teeny-request": "^10.0.0" + "teeny-request": "^11.0.0" }, "devDependencies": { "@types/request": "^2.48.13", "async": "^3.2.6", "gts": "^6.0.2", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^5.0.0", - "jsdoc-region-tag": "^4.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "lodash.range": "^3.2.0", "mocha": "^11.1.0", "typescript": "5.8.3" diff --git a/core/packages/teeny-request/package.json b/core/packages/teeny-request/package.json index c97d118b0978..7dcab8f36a98 100644 --- a/core/packages/teeny-request/package.json +++ b/core/packages/teeny-request/package.json @@ -54,8 +54,8 @@ "codecov": "^3.8.3", "gts": "^6.0.2", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^5.0.0", - "jsdoc-region-tag": "^3.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "mocha": "^11.1.0", "nock": "^14.0.1", "sinon": "^19.0.2", diff --git a/core/packages/tools/package.json b/core/packages/tools/package.json index 8d39961feb28..a5030bf3fbc8 100644 --- a/core/packages/tools/package.json +++ b/core/packages/tools/package.json @@ -32,8 +32,8 @@ "@babel/core": "^7.26.8", "@babel/template": "^7.26.8", "@babel/traverse": "^7.26.8", - "google-gax": "^5.0.6", - "google-proto-files": "^5.0.0", + "google-gax": "^6.0.0", + "google-proto-files": "^6.0.0", "protobufjs-cli": "^1.2.0", "uglify-js": "^3.19.3", "walk-up-path": "^3.0.0", diff --git a/core/paginator/package.json b/core/paginator/package.json index 900a33a9e1d2..cf299c555873 100644 --- a/core/paginator/package.json +++ b/core/paginator/package.json @@ -39,8 +39,8 @@ "codecov": "^3.8.3", "gts": "^6.0.2", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^3.0.0", - "jsdoc-region-tag": "^3.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "mocha": "^11.1.0", "path-to-regexp": "^8.2.0", "proxyquire": "^2.1.3", diff --git a/core/projectify/package.json b/core/projectify/package.json index aa2f83ffa3e3..80182bd69890 100644 --- a/core/projectify/package.json +++ b/core/projectify/package.json @@ -35,8 +35,8 @@ "codecov": "^3.8.3", "gts": "^6.0.2", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^3.0.0", - "jsdoc-region-tag": "^3.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "mocha": "^11.1.0", "typescript": "^5.8.2" }, diff --git a/core/promisify/package.json b/core/promisify/package.json index 158d8cfb4974..befaabf7afaf 100644 --- a/core/promisify/package.json +++ b/core/promisify/package.json @@ -41,8 +41,8 @@ "gts": "^6.0.2", "hard-rejection": "^2.1.0", "jsdoc": "^4.0.4", - "jsdoc-fresh": "^3.0.0", - "jsdoc-region-tag": "^3.0.0", + "jsdoc-fresh": "^6.0.0", + "jsdoc-region-tag": "^5.0.0", "mocha": "^11.1.0", "sinon": "^19.0.2", "typescript": "^5.8.2" From 7e1b4419118436e60348571db7ca33e897321c4a Mon Sep 17 00:00:00 2001 From: Shivanee <46910562+shivanee-p@users.noreply.github.com> Date: Mon, 10 Aug 2026 13:23:23 -0700 Subject: [PATCH 03/16] chore: update CODEOWNERS file (#9037) Updated team_members: comment definition in `.github/CODEOWNERS` --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 519e8cc1a5ad..663b4e2a2feb 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -6,7 +6,7 @@ # The cloud sdk nodejs team is the default owner for nodejs repositories. -# team_members: @pearigee @feywind @danieljbruce @shivanee-p +# team_members: @westarle @feywind @danieljbruce @shivanee-p * @googleapis/cloud-sdk-nodejs-team /handwritten/bigquery @googleapis/bigquery-team /handwritten/cloud-profiler @googleapis/cloud-profiler-team From f5ab60921411bd347bae8326e67866678696d839 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 16:41:19 -0700 Subject: [PATCH 04/16] chore: release main (#9110) :robot: I have created a release *beep* *boop* ---
common: 8.0.1 ## [8.0.1](https://github.com/googleapis/google-cloud-node/compare/common-v8.0.0...common-v8.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
gapic-node-processing: 0.2.1 ## [0.2.1](https://github.com/googleapis/google-cloud-node/compare/gapic-node-processing-v0.2.0...gapic-node-processing-v0.2.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
google-gax: 6.0.1 ## [6.0.1](https://github.com/googleapis/google-cloud-node/compare/google-gax-v6.0.0...google-gax-v6.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
gcp-metadata: 9.0.2 ## [9.0.2](https://github.com/googleapis/google-cloud-node/compare/gcp-metadata-v9.0.1...gcp-metadata-v9.0.2) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
google-auth-library: 11.0.1 ## [11.0.1](https://github.com/googleapis/google-cloud-node/compare/google-auth-library-v11.0.0...google-auth-library-v11.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
google-logging-utils: 2.0.1 ## [2.0.1](https://github.com/googleapis/google-cloud-node/compare/google-logging-utils-v2.0.0...google-logging-utils-v2.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
googleapis-common: 9.0.2 ## [9.0.2](https://github.com/googleapis/google-cloud-node/compare/googleapis-common-v9.0.1...googleapis-common-v9.0.2) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
google-proto-files: 6.0.1 ## [6.0.1](https://github.com/googleapis/google-cloud-node/compare/google-proto-files-v6.0.0...google-proto-files-v6.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
proto3-json-serializer: 4.0.1 ## [4.0.1](https://github.com/googleapis/google-cloud-node/compare/proto3-json-serializer-v4.0.0...proto3-json-serializer-v4.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
retry-request: 9.0.1 ## [9.0.1](https://github.com/googleapis/google-cloud-node/compare/retry-request-v9.0.0...retry-request-v9.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
teeny-request: 11.0.1 ## [11.0.1](https://github.com/googleapis/google-cloud-node/compare/teeny-request-v11.0.0...teeny-request-v11.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
gapic-tools: 2.0.1 ## [2.0.1](https://github.com/googleapis/google-cloud-node/compare/gapic-tools-v2.0.0...gapic-tools-v2.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
paginator: 7.0.1 ## [7.0.1](https://github.com/googleapis/google-cloud-node/compare/paginator-v7.0.0...paginator-v7.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
projectify: 6.0.1 ## [6.0.1](https://github.com/googleapis/google-cloud-node/compare/projectify-v6.0.0...projectify-v6.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
promisify: 6.0.1 ## [6.0.1](https://github.com/googleapis/google-cloud-node/compare/promisify-v6.0.0...promisify-v6.0.1) (2026-08-10) ### Bug Fixes * Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde))
chat: 0.29.0 ## [0.29.0](https://github.com/googleapis/google-cloud-node/compare/chat-v0.28.0...chat-v0.29.0) (2026-08-10) ### Features * Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389))
aiplatform: 7.1.0 ## [7.1.0](https://github.com/googleapis/google-cloud-node/compare/aiplatform-v7.0.0...aiplatform-v7.1.0) (2026-08-10) ### Features * Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389))
commerceproducer: 0.4.0 ## [0.4.0](https://github.com/googleapis/google-cloud-node/compare/commerceproducer-v0.3.0...commerceproducer-v0.4.0) (2026-08-10) ### Features * Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389))
compute: 7.1.0 ## [7.1.0](https://github.com/googleapis/google-cloud-node/compare/compute-v7.0.0...compute-v7.1.0) (2026-08-10) ### Features * Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389))
dataform: 3.1.0 ## [3.1.0](https://github.com/googleapis/google-cloud-node/compare/dataform-v3.0.0...dataform-v3.1.0) (2026-08-10) ### Features * Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389))
google-cloud-firestore-api: 0.5.0 ## [0.5.0](https://github.com/googleapis/google-cloud-node/compare/google-cloud-firestore-api-v0.4.0...google-cloud-firestore-api-v0.5.0) (2026-08-10) ### Features * **firestore-api:** Add explicit ./protos/protos package subpath export ([#9105](https://github.com/googleapis/google-cloud-node/issues/9105)) ([4ac404d](https://github.com/googleapis/google-cloud-node/commit/4ac404d73721e787bee054d64358063ae23ce8e4)) * Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389))
iam: 3.1.0 ## [3.1.0](https://github.com/googleapis/google-cloud-node/compare/iam-v3.0.0...iam-v3.1.0) (2026-08-10) ### Features * Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389))
--- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- .release-please-manifest.json | 44 +- changelog.json | 385 +++++++++++++++++- core/common/CHANGELOG.md | 7 + core/common/package.json | 2 +- .../gapic-node-processing/CHANGELOG.md | 7 + .../gapic-node-processing/package.json | 2 +- core/packages/gax/CHANGELOG.md | 7 + core/packages/gax/package.json | 2 +- core/packages/gax/samples/package.json | 2 +- core/packages/gcp-metadata/CHANGELOG.md | 7 + core/packages/gcp-metadata/package.json | 2 +- .../gcp-metadata/samples/package.json | 2 +- .../google-auth-library-nodejs/CHANGELOG.md | 7 + .../google-auth-library-nodejs/package.json | 2 +- .../samples/package.json | 2 +- core/packages/logging-utils/CHANGELOG.md | 7 + core/packages/logging-utils/package.json | 2 +- .../logging-utils/samples/package.json | 2 +- .../nodejs-googleapis-common/CHANGELOG.md | 7 + .../nodejs-googleapis-common/package.json | 2 +- .../samples/package.json | 2 +- core/packages/nodejs-proto-files/CHANGELOG.md | 7 + core/packages/nodejs-proto-files/package.json | 2 +- .../nodejs-proto-files/samples/package.json | 2 +- .../CHANGELOG.md | 7 + .../package.json | 2 +- .../samples/package.json | 2 +- core/packages/retry-request/CHANGELOG.md | 7 + core/packages/retry-request/package.json | 2 +- core/packages/teeny-request/CHANGELOG.md | 7 + core/packages/teeny-request/package.json | 2 +- core/packages/tools/CHANGELOG.md | 7 + core/packages/tools/package.json | 2 +- core/paginator/CHANGELOG.md | 7 + core/paginator/package.json | 2 +- core/projectify/CHANGELOG.md | 7 + core/projectify/package.json | 2 +- core/promisify/CHANGELOG.md | 7 + core/promisify/package.json | 2 +- librarian.yaml | 14 +- packages/google-chat/CHANGELOG.md | 7 + packages/google-chat/package.json | 2 +- packages/google-chat/samples/package.json | 2 +- packages/google-cloud-aiplatform/CHANGELOG.md | 7 + packages/google-cloud-aiplatform/package.json | 2 +- .../samples/package.json | 2 +- .../CHANGELOG.md | 7 + .../package.json | 2 +- packages/google-cloud-compute/CHANGELOG.md | 7 + packages/google-cloud-compute/package.json | 2 +- .../google-cloud-compute/samples/package.json | 2 +- packages/google-cloud-dataform/CHANGELOG.md | 7 + packages/google-cloud-dataform/package.json | 2 +- .../samples/package.json | 2 +- .../google-cloud-firestore-api/CHANGELOG.md | 8 + .../google-cloud-firestore-api/package.json | 2 +- packages/google-iam/CHANGELOG.md | 7 + packages/google-iam/package.json | 2 +- packages/google-iam/samples/package.json | 2 +- 59 files changed, 602 insertions(+), 64 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index d40499fa628a..6993a9e6c609 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,26 +1,26 @@ { - "core/common": "8.0.0", + "core/common": "8.0.1", "core/dev-packages/jsdoc-fresh": "6.0.0", "core/dev-packages/jsdoc-region-tag": "5.0.0", "core/dev-packages/pack-n-play": "5.0.1", "core/generator/gapic-generator-typescript": "5.0.0", - "core/packages/gapic-node-processing": "0.2.0", - "core/packages/gax": "6.0.0", + "core/packages/gapic-node-processing": "0.2.1", + "core/packages/gax": "6.0.1", "core/packages/gaxios": "7.3.0", - "core/packages/gcp-metadata": "9.0.1", - "core/packages/google-auth-library-nodejs": "11.0.0", - "core/packages/logging-utils": "2.0.0", - "core/packages/nodejs-googleapis-common": "9.0.1", - "core/packages/nodejs-proto-files": "6.0.0", - "core/packages/proto3-json-serializer-nodejs": "4.0.0", - "core/packages/retry-request": "9.0.0", - "core/packages/teeny-request": "11.0.0", - "core/packages/tools": "2.0.0", + "core/packages/gcp-metadata": "9.0.2", + "core/packages/google-auth-library-nodejs": "11.0.1", + "core/packages/logging-utils": "2.0.1", + "core/packages/nodejs-googleapis-common": "9.0.2", + "core/packages/nodejs-proto-files": "6.0.1", + "core/packages/proto3-json-serializer-nodejs": "4.0.1", + "core/packages/retry-request": "9.0.1", + "core/packages/teeny-request": "11.0.1", + "core/packages/tools": "2.0.1", "core/packages/typeless-sample-bot": "4.0.0", - "core/paginator": "7.0.0", + "core/paginator": "7.0.1", "core/precise-date": "6.0.0", - "core/projectify": "6.0.0", - "core/promisify": "6.0.0", + "core/projectify": "6.0.1", + "core/promisify": "6.0.1", "handwritten/bigquery": "9.0.1", "handwritten/bigquery-storage": "6.0.0", "handwritten/bigtable": "7.1.0", @@ -49,12 +49,12 @@ "packages/google-apps-events-subscriptions": "0.2.0", "packages/google-apps-meet": "0.8.0", "packages/google-area120-tables": "5.0.0", - "packages/google-chat": "0.28.0", + "packages/google-chat": "0.29.0", "packages/google-cloud-accessapproval": "5.0.0", "packages/google-cloud-advisorynotifications": "3.0.0", "packages/google-cloud-agentidentity": "0.1.0", "packages/google-cloud-agentregistry": "0.3.0", - "packages/google-cloud-aiplatform": "7.0.0", + "packages/google-cloud-aiplatform": "7.1.0", "packages/google-cloud-alloydb": "3.0.0", "packages/google-cloud-apigateway": "5.0.0", "packages/google-cloud-apigeeconnect": "5.0.0", @@ -96,8 +96,8 @@ "packages/google-cloud-clouddms": "5.0.0", "packages/google-cloud-cloudsecuritycompliance": "0.3.0", "packages/google-cloud-commerce-consumer-procurement": "0.8.0", - "packages/google-cloud-commerceproducer": "0.3.0", - "packages/google-cloud-compute": "7.0.0", + "packages/google-cloud-commerceproducer": "0.4.0", + "packages/google-cloud-compute": "7.1.0", "packages/google-cloud-confidentialcomputing": "3.0.0", "packages/google-cloud-config": "0.13.0", "packages/google-cloud-configdelivery": "0.2.0", @@ -108,7 +108,7 @@ "packages/google-cloud-datacatalog": "6.0.0", "packages/google-cloud-datacatalog-lineage": "3.0.0", "packages/google-cloud-datacatalog-lineage-configmanagement": "0.2.0", - "packages/google-cloud-dataform": "3.0.0", + "packages/google-cloud-dataform": "3.1.0", "packages/google-cloud-datafusion": "5.0.0", "packages/google-cloud-datalabeling": "6.0.0", "packages/google-cloud-dataplex": "6.0.0", @@ -131,7 +131,7 @@ "packages/google-cloud-eventarc-publishing": "5.0.0", "packages/google-cloud-filestore": "5.0.0", "packages/google-cloud-financialservices": "0.5.0", - "packages/google-cloud-firestore-api": "0.4.0", + "packages/google-cloud-firestore-api": "0.5.0", "packages/google-cloud-functions": "5.0.0", "packages/google-cloud-gdchardwaremanagement": "0.11.0", "packages/google-cloud-geminidataanalytics": "0.9.0", @@ -239,7 +239,7 @@ "packages/google-devtools-cloudbuild": "6.0.0", "packages/google-devtools-cloudprofiler": "0.10.0", "packages/google-devtools-containeranalysis": "7.0.0", - "packages/google-iam": "3.0.0", + "packages/google-iam": "3.1.0", "packages/google-iam-credentials": "5.0.0", "packages/google-identity-accesscontextmanager": "5.0.0", "packages/google-maps-addressvalidation": "4.0.0", diff --git a/changelog.json b/changelog.json index e6676679e32e..d7f9498d3c28 100644 --- a/changelog.json +++ b/changelog.json @@ -1,6 +1,389 @@ { "repository": "googleapis/google-cloud-node", "entries": [ + { + "changes": [ + { + "type": "feat", + "sha": "61ea9c807dfb3eda4ddd377da9a496d17ba48389", + "message": "Update API sources and regenerate", + "issues": [ + "9104" + ] + } + ], + "version": "3.1.0", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/iam", + "id": "8a33313f-7f21-49ad-b2fc-f0d125fc704e", + "createTime": "2026-08-10T18:31:51.385Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "61ea9c807dfb3eda4ddd377da9a496d17ba48389", + "message": "Update API sources and regenerate", + "issues": [ + "9104" + ] + }, + { + "type": "feat", + "sha": "4ac404d73721e787bee054d64358063ae23ce8e4", + "message": "Add explicit ./protos/protos package subpath export", + "issues": [ + "9105" + ], + "scope": "firestore-api" + } + ], + "version": "0.5.0", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/firestore-api", + "id": "a8291df6-6236-4673-81c7-462900506884", + "createTime": "2026-08-10T18:31:51.348Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "61ea9c807dfb3eda4ddd377da9a496d17ba48389", + "message": "Update API sources and regenerate", + "issues": [ + "9104" + ] + } + ], + "version": "3.1.0", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/dataform", + "id": "91a1d9d8-00d9-4ee0-9ab3-5495edd6195d", + "createTime": "2026-08-10T18:31:51.308Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "61ea9c807dfb3eda4ddd377da9a496d17ba48389", + "message": "Update API sources and regenerate", + "issues": [ + "9104" + ] + } + ], + "version": "7.1.0", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/compute", + "id": "c091bf3c-8bc3-44da-bc74-b3af06f6e6f5", + "createTime": "2026-08-10T18:31:51.272Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "61ea9c807dfb3eda4ddd377da9a496d17ba48389", + "message": "Update API sources and regenerate", + "issues": [ + "9104" + ] + } + ], + "version": "0.4.0", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/commerceproducer", + "id": "6acab640-b1a3-4e37-b0d1-ae3e29f4124b", + "createTime": "2026-08-10T18:31:51.237Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "61ea9c807dfb3eda4ddd377da9a496d17ba48389", + "message": "Update API sources and regenerate", + "issues": [ + "9104" + ] + } + ], + "version": "7.1.0", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/aiplatform", + "id": "acca1f8d-d713-48ee-8155-772cc091a8ee", + "createTime": "2026-08-10T18:31:51.199Z" + }, + { + "changes": [ + { + "type": "feat", + "sha": "61ea9c807dfb3eda4ddd377da9a496d17ba48389", + "message": "Update API sources and regenerate", + "issues": [ + "9104" + ] + } + ], + "version": "0.29.0", + "language": "JAVASCRIPT", + "artifactName": "@google-apps/chat", + "id": "2766d8a4-1eee-4630-9bab-b3ec4b3597ed", + "createTime": "2026-08-10T18:31:51.132Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "6.0.1", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/promisify", + "id": "20f90007-a1ef-41e7-b932-13ba3ff8cdbd", + "createTime": "2026-08-10T18:31:51.075Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "6.0.1", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/projectify", + "id": "090cee3f-458e-4401-ae8b-cbcc162cc458", + "createTime": "2026-08-10T18:31:51.036Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "7.0.1", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/paginator", + "id": "73bc71f6-ed0f-4599-a833-80d907246891", + "createTime": "2026-08-10T18:31:50.997Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "2.0.1", + "language": "JAVASCRIPT", + "artifactName": "gapic-tools", + "id": "6d7a3965-a94c-4b5c-a0e5-4262d3a020ac", + "createTime": "2026-08-10T18:31:50.948Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "11.0.1", + "language": "JAVASCRIPT", + "artifactName": "teeny-request", + "id": "97a8fe73-9f98-4d55-ac59-f6a24644a6e0", + "createTime": "2026-08-10T18:31:50.899Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "9.0.1", + "language": "JAVASCRIPT", + "artifactName": "retry-request", + "id": "5db941e5-8de1-4b61-a3b6-8f70af36281e", + "createTime": "2026-08-10T18:31:50.852Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "4.0.1", + "language": "JAVASCRIPT", + "artifactName": "proto3-json-serializer", + "id": "6cf7a840-b4c7-4d42-8e91-4ff5e7eabb46", + "createTime": "2026-08-10T18:31:50.806Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "6.0.1", + "language": "JAVASCRIPT", + "artifactName": "google-proto-files", + "id": "58b64cc7-f856-42b5-985b-0038f206879d", + "createTime": "2026-08-10T18:31:50.760Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "9.0.2", + "language": "JAVASCRIPT", + "artifactName": "googleapis-common", + "id": "6c1d7bee-6711-448a-ada7-7e47afa06fb5", + "createTime": "2026-08-10T18:31:50.721Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "2.0.1", + "language": "JAVASCRIPT", + "artifactName": "google-logging-utils", + "id": "25a4b72f-d510-46f9-9192-6916f0c0b42c", + "createTime": "2026-08-10T18:31:50.678Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "11.0.1", + "language": "JAVASCRIPT", + "artifactName": "google-auth-library", + "id": "501551d3-719b-47e1-b231-8c41200197ab", + "createTime": "2026-08-10T18:31:50.634Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "9.0.2", + "language": "JAVASCRIPT", + "artifactName": "gcp-metadata", + "id": "100eb2af-97f4-4c55-bf26-e075250f8633", + "createTime": "2026-08-10T18:31:50.599Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "6.0.1", + "language": "JAVASCRIPT", + "artifactName": "google-gax", + "id": "4304d76e-f504-4966-b28f-a8affc759932", + "createTime": "2026-08-10T18:31:50.551Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "0.2.1", + "language": "JAVASCRIPT", + "artifactName": "gapic-node-processing", + "id": "911514f5-5a4a-46e7-a5df-a82c9d295f52", + "createTime": "2026-08-10T18:31:50.511Z" + }, + { + "changes": [ + { + "type": "fix", + "sha": "af8074c0281f4f8dc40570f580f4cdebf1d72cde", + "message": "Upgrade all node core library dependencies to their latest node 22 version", + "issues": [ + "9084" + ] + } + ], + "version": "8.0.1", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/common", + "id": "528cf7f2-29d3-43fa-8d05-abe5770ff3c7", + "createTime": "2026-08-10T18:31:50.476Z" + }, { "changes": [ { @@ -88839,5 +89222,5 @@ "createTime": "2023-01-28T04:18:24.718Z" } ], - "updateTime": "2026-08-07T23:06:25.949Z" + "updateTime": "2026-08-10T18:31:51.385Z" } \ No newline at end of file diff --git a/core/common/CHANGELOG.md b/core/common/CHANGELOG.md index 8b81e5e3395c..5c71b13bc486 100644 --- a/core/common/CHANGELOG.md +++ b/core/common/CHANGELOG.md @@ -5,6 +5,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/common?activeTab=versions +## [8.0.1](https://github.com/googleapis/google-cloud-node/compare/common-v8.0.0...common-v8.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [8.0.0](https://github.com/googleapis/google-cloud-node/compare/common-v7.0.0...common-v8.0.0) (2026-08-04) diff --git a/core/common/package.json b/core/common/package.json index 758c30b7d8c6..b1fbe49975ec 100644 --- a/core/common/package.json +++ b/core/common/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/common", "description": "Common components for Cloud APIs Node.js Client Libraries", - "version": "8.0.0", + "version": "8.0.1", "license": "Apache-2.0", "author": "Google Inc.", "engines": { diff --git a/core/packages/gapic-node-processing/CHANGELOG.md b/core/packages/gapic-node-processing/CHANGELOG.md index 04280a833e19..7a5a197b5fff 100644 --- a/core/packages/gapic-node-processing/CHANGELOG.md +++ b/core/packages/gapic-node-processing/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.2.1](https://github.com/googleapis/google-cloud-node/compare/gapic-node-processing-v0.2.0...gapic-node-processing-v0.2.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [0.2.0](https://github.com/googleapis/google-cloud-node/compare/gapic-node-processing-v0.1.11...gapic-node-processing-v0.2.0) (2026-07-29) diff --git a/core/packages/gapic-node-processing/package.json b/core/packages/gapic-node-processing/package.json index cff475c887f5..9e6d0daaf458 100644 --- a/core/packages/gapic-node-processing/package.json +++ b/core/packages/gapic-node-processing/package.json @@ -1,6 +1,6 @@ { "name": "gapic-node-processing", - "version": "0.2.0", + "version": "0.2.1", "description": "Does various processing functions for Nodejs gapic libraries", "bin": "./build/src/cli.js", "scripts": { diff --git a/core/packages/gax/CHANGELOG.md b/core/packages/gax/CHANGELOG.md index ae600e2ed119..56016a42ae4c 100644 --- a/core/packages/gax/CHANGELOG.md +++ b/core/packages/gax/CHANGELOG.md @@ -6,6 +6,13 @@ [1]: https://www.npmjs.com/package/gax-nodejs?activeTab=versions +## [6.0.1](https://github.com/googleapis/google-cloud-node/compare/google-gax-v6.0.0...google-gax-v6.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [6.0.0](https://github.com/googleapis/google-cloud-node/compare/google-gax-v5.0.8...google-gax-v6.0.0) (2026-07-29) diff --git a/core/packages/gax/package.json b/core/packages/gax/package.json index b9499e98bc2a..02af5203ed3b 100644 --- a/core/packages/gax/package.json +++ b/core/packages/gax/package.json @@ -1,6 +1,6 @@ { "name": "google-gax", - "version": "6.0.0", + "version": "6.0.1", "description": "Google API Extensions", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/core/packages/gax/samples/package.json b/core/packages/gax/samples/package.json index cdbe0e2d4710..7e1f3c5059f3 100644 --- a/core/packages/gax/samples/package.json +++ b/core/packages/gax/samples/package.json @@ -14,7 +14,7 @@ "*.js" ], "dependencies": { - "google-gax": "^6.0.0" + "google-gax": "^6.0.1" }, "devDependencies": { "c8": "^9.0.0", diff --git a/core/packages/gcp-metadata/CHANGELOG.md b/core/packages/gcp-metadata/CHANGELOG.md index 4ceb65011936..a475e810532f 100644 --- a/core/packages/gcp-metadata/CHANGELOG.md +++ b/core/packages/gcp-metadata/CHANGELOG.md @@ -5,6 +5,13 @@ [1]: https://www.npmjs.com/package/gcp-metadata?activeTab=versions +## [9.0.2](https://github.com/googleapis/google-cloud-node/compare/gcp-metadata-v9.0.1...gcp-metadata-v9.0.2) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [9.0.1](https://github.com/googleapis/google-cloud-node/compare/gcp-metadata-v9.0.0...gcp-metadata-v9.0.1) (2026-08-05) diff --git a/core/packages/gcp-metadata/package.json b/core/packages/gcp-metadata/package.json index 454f18804bb5..6eb84305f837 100644 --- a/core/packages/gcp-metadata/package.json +++ b/core/packages/gcp-metadata/package.json @@ -1,6 +1,6 @@ { "name": "gcp-metadata", - "version": "9.0.1", + "version": "9.0.2", "description": "Get the metadata from a Google Cloud Platform environment", "repository": { "type": "git", diff --git a/core/packages/gcp-metadata/samples/package.json b/core/packages/gcp-metadata/samples/package.json index e780cc25804e..e8bfffeae539 100644 --- a/core/packages/gcp-metadata/samples/package.json +++ b/core/packages/gcp-metadata/samples/package.json @@ -14,7 +14,7 @@ "test": "mocha" }, "dependencies": { - "gcp-metadata": "^9.0.1" + "gcp-metadata": "^9.0.2" }, "devDependencies": { "chai": "^4.2.0", diff --git a/core/packages/google-auth-library-nodejs/CHANGELOG.md b/core/packages/google-auth-library-nodejs/CHANGELOG.md index 69a898aa9f22..3dfd2e96b250 100644 --- a/core/packages/google-auth-library-nodejs/CHANGELOG.md +++ b/core/packages/google-auth-library-nodejs/CHANGELOG.md @@ -5,6 +5,13 @@ [1]: https://www.npmjs.com/package/google-auth-library?activeTab=versions +## [11.0.1](https://github.com/googleapis/google-cloud-node/compare/google-auth-library-v11.0.0...google-auth-library-v11.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [11.0.0](https://github.com/googleapis/google-cloud-node/compare/google-auth-library-v10.9.1...google-auth-library-v11.0.0) (2026-07-29) diff --git a/core/packages/google-auth-library-nodejs/package.json b/core/packages/google-auth-library-nodejs/package.json index 9839bc79d5a2..709932c0793d 100644 --- a/core/packages/google-auth-library-nodejs/package.json +++ b/core/packages/google-auth-library-nodejs/package.json @@ -1,6 +1,6 @@ { "name": "google-auth-library", - "version": "11.0.0", + "version": "11.0.1", "author": "Google Inc.", "description": "Google APIs Authentication Client Library for Node.js", "engines": { diff --git a/core/packages/google-auth-library-nodejs/samples/package.json b/core/packages/google-auth-library-nodejs/samples/package.json index cdd5e8cbcf16..334f8e96478f 100644 --- a/core/packages/google-auth-library-nodejs/samples/package.json +++ b/core/packages/google-auth-library-nodejs/samples/package.json @@ -17,7 +17,7 @@ "@google-cloud/storage": "^7.0.0", "@aws-sdk/credential-providers": "^3.58.0", "@googleapis/iam": "^34.0.0", - "google-auth-library": "^11.0.0", + "google-auth-library": "^11.0.1", "dotenv": "^17.0.0", "gaxios": "^7.0.0", "node-fetch": "^2.3.0", diff --git a/core/packages/logging-utils/CHANGELOG.md b/core/packages/logging-utils/CHANGELOG.md index 4b7fe59ce181..a027d5476f41 100644 --- a/core/packages/logging-utils/CHANGELOG.md +++ b/core/packages/logging-utils/CHANGELOG.md @@ -1,6 +1,13 @@ # Changelog +## [2.0.1](https://github.com/googleapis/google-cloud-node/compare/google-logging-utils-v2.0.0...google-logging-utils-v2.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [2.0.0](https://github.com/googleapis/google-cloud-node/compare/google-logging-utils-v1.2.0...google-logging-utils-v2.0.0) (2026-07-29) diff --git a/core/packages/logging-utils/package.json b/core/packages/logging-utils/package.json index bada571581e5..a66e9b00e190 100644 --- a/core/packages/logging-utils/package.json +++ b/core/packages/logging-utils/package.json @@ -1,6 +1,6 @@ { "name": "google-logging-utils", - "version": "2.0.0", + "version": "2.0.1", "description": "A debug logger package for other Google libraries", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/core/packages/logging-utils/samples/package.json b/core/packages/logging-utils/samples/package.json index 8afc0de7fd06..bd3e28dc4dab 100644 --- a/core/packages/logging-utils/samples/package.json +++ b/core/packages/logging-utils/samples/package.json @@ -26,7 +26,7 @@ "node": ">=22" }, "dependencies": { - "google-logging-utils": "^2.0.0" + "google-logging-utils": "^2.0.1" }, "devDependencies": { "@google-cloud/typeless-sample-bot": "^4.0.0", diff --git a/core/packages/nodejs-googleapis-common/CHANGELOG.md b/core/packages/nodejs-googleapis-common/CHANGELOG.md index cf43f81713c0..150bb6368f10 100644 --- a/core/packages/nodejs-googleapis-common/CHANGELOG.md +++ b/core/packages/nodejs-googleapis-common/CHANGELOG.md @@ -5,6 +5,13 @@ [1]: https://www.npmjs.com/package/nodejs-googleapis-common?activeTab=versions +## [9.0.2](https://github.com/googleapis/google-cloud-node/compare/googleapis-common-v9.0.1...googleapis-common-v9.0.2) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [9.0.1](https://github.com/googleapis/google-cloud-node/compare/googleapis-common-v9.0.0...googleapis-common-v9.0.1) (2026-08-05) diff --git a/core/packages/nodejs-googleapis-common/package.json b/core/packages/nodejs-googleapis-common/package.json index 0597d05fb31e..f9a4b3a70b53 100644 --- a/core/packages/nodejs-googleapis-common/package.json +++ b/core/packages/nodejs-googleapis-common/package.json @@ -1,6 +1,6 @@ { "name": "googleapis-common", - "version": "9.0.1", + "version": "9.0.2", "description": "A common tooling library used by the googleapis npm module. You probably don't want to use this directly.", "repository": { "type": "git", diff --git a/core/packages/nodejs-googleapis-common/samples/package.json b/core/packages/nodejs-googleapis-common/samples/package.json index 97d883897f8e..79b794f7c140 100644 --- a/core/packages/nodejs-googleapis-common/samples/package.json +++ b/core/packages/nodejs-googleapis-common/samples/package.json @@ -15,7 +15,7 @@ "test": "echo \"There are no sample tests 👻\"" }, "dependencies": { - "googleapis-common": "^9.0.1" + "googleapis-common": "^9.0.2" }, "devDependencies": { "mocha": "^8.0.0" diff --git a/core/packages/nodejs-proto-files/CHANGELOG.md b/core/packages/nodejs-proto-files/CHANGELOG.md index b1c6aa9750fb..f51b6f44f0d1 100644 --- a/core/packages/nodejs-proto-files/CHANGELOG.md +++ b/core/packages/nodejs-proto-files/CHANGELOG.md @@ -5,6 +5,13 @@ [1]: https://www.npmjs.com/package/google-proto-files?activeTab=versions +## [6.0.1](https://github.com/googleapis/google-cloud-node/compare/google-proto-files-v6.0.0...google-proto-files-v6.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [6.0.0](https://github.com/googleapis/google-cloud-node/compare/google-proto-files-v5.0.3...google-proto-files-v6.0.0) (2026-07-29) diff --git a/core/packages/nodejs-proto-files/package.json b/core/packages/nodejs-proto-files/package.json index 012f772cc575..7b00fd452bd2 100644 --- a/core/packages/nodejs-proto-files/package.json +++ b/core/packages/nodejs-proto-files/package.json @@ -1,7 +1,7 @@ { "name": "google-proto-files", "description": "All of the Google API's protocol buffer files", - "version": "6.0.0", + "version": "6.0.1", "license": "Apache-2.0", "author": "google-proto-files project authors", "engines": { diff --git a/core/packages/nodejs-proto-files/samples/package.json b/core/packages/nodejs-proto-files/samples/package.json index cc700a2f2628..19ea6cac89a9 100644 --- a/core/packages/nodejs-proto-files/samples/package.json +++ b/core/packages/nodejs-proto-files/samples/package.json @@ -14,7 +14,7 @@ "test": "mocha" }, "dependencies": { - "google-proto-files": "^6.0.0" + "google-proto-files": "^6.0.1" }, "devDependencies": { "chai": "^4.2.0", diff --git a/core/packages/proto3-json-serializer-nodejs/CHANGELOG.md b/core/packages/proto3-json-serializer-nodejs/CHANGELOG.md index dbae5f6525e5..a387084f6b9e 100644 --- a/core/packages/proto3-json-serializer-nodejs/CHANGELOG.md +++ b/core/packages/proto3-json-serializer-nodejs/CHANGELOG.md @@ -1,6 +1,13 @@ # Changelog +## [4.0.1](https://github.com/googleapis/google-cloud-node/compare/proto3-json-serializer-v4.0.0...proto3-json-serializer-v4.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [4.0.0](https://github.com/googleapis/google-cloud-node/compare/proto3-json-serializer-v3.0.6...proto3-json-serializer-v4.0.0) (2026-07-29) diff --git a/core/packages/proto3-json-serializer-nodejs/package.json b/core/packages/proto3-json-serializer-nodejs/package.json index aaaf9ef65be0..d9e6f0327b35 100644 --- a/core/packages/proto3-json-serializer-nodejs/package.json +++ b/core/packages/proto3-json-serializer-nodejs/package.json @@ -1,6 +1,6 @@ { "name": "proto3-json-serializer", - "version": "4.0.0", + "version": "4.0.1", "repository": { "type": "git", "directory": "core/packages/proto3-json-serializer-nodejs", diff --git a/core/packages/proto3-json-serializer-nodejs/samples/package.json b/core/packages/proto3-json-serializer-nodejs/samples/package.json index 8d64aec5e25c..adb66b632bc5 100644 --- a/core/packages/proto3-json-serializer-nodejs/samples/package.json +++ b/core/packages/proto3-json-serializer-nodejs/samples/package.json @@ -15,7 +15,7 @@ ], "dependencies": { "google-proto-files": "^6.0.0", - "proto3-json-serializer": "^4.0.0", + "proto3-json-serializer": "^4.0.1", "protobufjs": "^7.0.0" }, "devDependencies": { diff --git a/core/packages/retry-request/CHANGELOG.md b/core/packages/retry-request/CHANGELOG.md index 51cc27e93889..ecc732df3c59 100644 --- a/core/packages/retry-request/CHANGELOG.md +++ b/core/packages/retry-request/CHANGELOG.md @@ -1,6 +1,13 @@ # Changelog +## [9.0.1](https://github.com/googleapis/google-cloud-node/compare/retry-request-v9.0.0...retry-request-v9.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [9.0.0](https://github.com/googleapis/google-cloud-node/compare/retry-request-v8.0.4...retry-request-v9.0.0) (2026-07-29) diff --git a/core/packages/retry-request/package.json b/core/packages/retry-request/package.json index b770c721ce4f..a063b0825816 100644 --- a/core/packages/retry-request/package.json +++ b/core/packages/retry-request/package.json @@ -1,6 +1,6 @@ { "name": "retry-request", - "version": "9.0.0", + "version": "9.0.1", "description": "Retry a request.", "main": "index.js", "repository": { diff --git a/core/packages/teeny-request/CHANGELOG.md b/core/packages/teeny-request/CHANGELOG.md index bfbcef520b67..52f17b8bff5e 100644 --- a/core/packages/teeny-request/CHANGELOG.md +++ b/core/packages/teeny-request/CHANGELOG.md @@ -1,6 +1,13 @@ # Changelog +## [11.0.1](https://github.com/googleapis/google-cloud-node/compare/teeny-request-v11.0.0...teeny-request-v11.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [11.0.0](https://github.com/googleapis/google-cloud-node/compare/teeny-request-v10.1.4...teeny-request-v11.0.0) (2026-07-29) diff --git a/core/packages/teeny-request/package.json b/core/packages/teeny-request/package.json index 7dcab8f36a98..ed5ffe3a5bf2 100644 --- a/core/packages/teeny-request/package.json +++ b/core/packages/teeny-request/package.json @@ -1,6 +1,6 @@ { "name": "teeny-request", - "version": "11.0.0", + "version": "11.0.1", "description": "Like request, but smaller.", "main": "./build/src/index.js", "types": "./build/src/index.d.ts", diff --git a/core/packages/tools/CHANGELOG.md b/core/packages/tools/CHANGELOG.md index 9b9046af192e..e7b6c739f6db 100644 --- a/core/packages/tools/CHANGELOG.md +++ b/core/packages/tools/CHANGELOG.md @@ -1,6 +1,13 @@ # Changelog +## [2.0.1](https://github.com/googleapis/google-cloud-node/compare/gapic-tools-v2.0.0...gapic-tools-v2.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [2.0.0](https://github.com/googleapis/google-cloud-node/compare/gapic-tools-v1.1.0...gapic-tools-v2.0.0) (2026-07-29) diff --git a/core/packages/tools/package.json b/core/packages/tools/package.json index a5030bf3fbc8..ac75d5246f90 100644 --- a/core/packages/tools/package.json +++ b/core/packages/tools/package.json @@ -1,6 +1,6 @@ { "name": "gapic-tools", - "version": "2.0.0", + "version": "2.0.1", "description": "compiles, updates, and minifies protos", "main": "build/src/compileProtos.js", "files": [ diff --git a/core/paginator/CHANGELOG.md b/core/paginator/CHANGELOG.md index 77de7105ffde..fb88cc0de747 100644 --- a/core/paginator/CHANGELOG.md +++ b/core/paginator/CHANGELOG.md @@ -5,6 +5,13 @@ [1]: https://www.npmjs.com/package/nodejs-paginator?activeTab=versions +## [7.0.1](https://github.com/googleapis/google-cloud-node/compare/paginator-v7.0.0...paginator-v7.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [7.0.0](https://github.com/googleapis/google-cloud-node/compare/paginator-v6.1.0...paginator-v7.0.0) (2026-07-29) diff --git a/core/paginator/package.json b/core/paginator/package.json index cf299c555873..b25b8412b333 100644 --- a/core/paginator/package.json +++ b/core/paginator/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/paginator", - "version": "7.0.0", + "version": "7.0.1", "description": "A result paging utility used by Google node.js modules", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/core/projectify/CHANGELOG.md b/core/projectify/CHANGELOG.md index 89945edbe0b5..b296404e5f8c 100644 --- a/core/projectify/CHANGELOG.md +++ b/core/projectify/CHANGELOG.md @@ -4,6 +4,13 @@ [npm history][1] [1]: https://www.npmjs.com/package/@google-cloud/projectify?activeTab=versions +## [6.0.1](https://github.com/googleapis/google-cloud-node/compare/projectify-v6.0.0...projectify-v6.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [6.0.0](https://github.com/googleapis/google-cloud-node/compare/projectify-v5.2.0...projectify-v6.0.0) (2026-07-29) diff --git a/core/projectify/package.json b/core/projectify/package.json index 80182bd69890..fc3f90a517b3 100644 --- a/core/projectify/package.json +++ b/core/projectify/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/projectify", - "version": "6.0.0", + "version": "6.0.1", "description": "A simple utility for replacing the projectid token in objects.", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/core/promisify/CHANGELOG.md b/core/promisify/CHANGELOG.md index dfdb72e9918f..41faae7bef7f 100644 --- a/core/promisify/CHANGELOG.md +++ b/core/promisify/CHANGELOG.md @@ -5,6 +5,13 @@ [1]: https://www.npmjs.com/package/nodejs-promisify?activeTab=versions +## [6.0.1](https://github.com/googleapis/google-cloud-node/compare/promisify-v6.0.0...promisify-v6.0.1) (2026-08-10) + + +### Bug Fixes + +* Upgrade all node core library dependencies to their latest node 22 version ([#9084](https://github.com/googleapis/google-cloud-node/issues/9084)) ([af8074c](https://github.com/googleapis/google-cloud-node/commit/af8074c0281f4f8dc40570f580f4cdebf1d72cde)) + ## [6.0.0](https://github.com/googleapis/google-cloud-node/compare/promisify-v5.1.0...promisify-v6.0.0) (2026-07-29) diff --git a/core/promisify/package.json b/core/promisify/package.json index befaabf7afaf..23e21472d243 100644 --- a/core/promisify/package.json +++ b/core/promisify/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/promisify", - "version": "6.0.0", + "version": "6.0.1", "description": "A simple utility for promisifying functions and classes.", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/librarian.yaml b/librarian.yaml index 9352b9b1acd1..1086a254abab 100644 --- a/librarian.yaml +++ b/librarian.yaml @@ -188,7 +188,7 @@ libraries: package_name: '@google/area120-tables' client_documentation_override: https://cloud.google.com/nodejs/docs/reference/area120-tables/latest - name: google-chat - version: 0.28.0 + version: 0.29.0 apis: - path: google/chat/v1 copyright_year: "2026" @@ -226,7 +226,7 @@ libraries: - path: google/cloud/agentregistry/v1 copyright_year: "2026" - name: google-cloud-aiplatform - version: 7.0.0 + version: 7.1.0 apis: - path: google/cloud/aiplatform/v1 - path: google/cloud/aiplatform/v1beta1 @@ -664,12 +664,12 @@ libraries: default_version: v1 package_name: '@google-cloud/procurement' - name: google-cloud-commerceproducer - version: 0.3.0 + version: 0.4.0 apis: - path: google/cloud/commerceproducer/v1beta copyright_year: "2026" - name: google-cloud-compute - version: 7.0.0 + version: 7.1.0 apis: - path: google/cloud/compute/v1 - path: google/cloud/compute/v1beta @@ -782,7 +782,7 @@ libraries: default_version: v1 package_name: '@google-cloud/configmanagement' - name: google-cloud-dataform - version: 3.0.0 + version: 3.1.0 apis: - path: google/cloud/dataform/v1 - path: google/cloud/dataform/v1beta1 @@ -971,7 +971,7 @@ libraries: nodejs: default_version: v1 - name: google-cloud-firestore-api - version: 0.4.0 + version: 0.5.0 apis: - path: google/firestore/v1 - path: google/firestore/admin/v1 @@ -1955,7 +1955,7 @@ libraries: path: google/devtools/containeranalysis/v1beta1 package_name: '@google-cloud/containeranalysis' - name: google-iam - version: 3.0.0 + version: 3.1.0 apis: - path: google/iam/v3 - path: google/iam/v2 diff --git a/packages/google-chat/CHANGELOG.md b/packages/google-chat/CHANGELOG.md index 8dab003eff7b..36516fdf438a 100644 --- a/packages/google-chat/CHANGELOG.md +++ b/packages/google-chat/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.29.0](https://github.com/googleapis/google-cloud-node/compare/chat-v0.28.0...chat-v0.29.0) (2026-08-10) + + +### Features + +* Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389)) + ## [0.28.0](https://github.com/googleapis/google-cloud-node/compare/chat-v0.27.0...chat-v0.28.0) (2026-08-04) diff --git a/packages/google-chat/package.json b/packages/google-chat/package.json index 3c300da43842..9169ccb6cc3e 100644 --- a/packages/google-chat/package.json +++ b/packages/google-chat/package.json @@ -1,6 +1,6 @@ { "name": "@google-apps/chat", - "version": "0.28.0", + "version": "0.29.0", "description": "Google Chat API client for Node.js", "repository": { "type": "git", diff --git a/packages/google-chat/samples/package.json b/packages/google-chat/samples/package.json index 53a57c9ddd70..06d1ee81172f 100644 --- a/packages/google-chat/samples/package.json +++ b/packages/google-chat/samples/package.json @@ -14,7 +14,7 @@ "publish": "echo 'sample test; do not publish'" }, "dependencies": { - "@google-apps/chat": "^0.28.0" + "@google-apps/chat": "^0.29.0" }, "devDependencies": { "c8": "^10.0.0", diff --git a/packages/google-cloud-aiplatform/CHANGELOG.md b/packages/google-cloud-aiplatform/CHANGELOG.md index fa5441581e52..835f7d4e7e71 100644 --- a/packages/google-cloud-aiplatform/CHANGELOG.md +++ b/packages/google-cloud-aiplatform/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [7.1.0](https://github.com/googleapis/google-cloud-node/compare/aiplatform-v7.0.0...aiplatform-v7.1.0) (2026-08-10) + + +### Features + +* Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389)) + ## [7.0.0](https://github.com/googleapis/google-cloud-node/compare/aiplatform-v6.11.0...aiplatform-v7.0.0) (2026-08-04) diff --git a/packages/google-cloud-aiplatform/package.json b/packages/google-cloud-aiplatform/package.json index 3c6c5345cd67..a1f6d1e4e902 100644 --- a/packages/google-cloud-aiplatform/package.json +++ b/packages/google-cloud-aiplatform/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/aiplatform", - "version": "7.0.0", + "version": "7.1.0", "description": "Vertex AI client for Node.js", "repository": { "type": "git", diff --git a/packages/google-cloud-aiplatform/samples/package.json b/packages/google-cloud-aiplatform/samples/package.json index 5f498d7b2a39..c2898432d897 100644 --- a/packages/google-cloud-aiplatform/samples/package.json +++ b/packages/google-cloud-aiplatform/samples/package.json @@ -13,7 +13,7 @@ "test": "mocha --timeout 1200000 test/*.js" }, "dependencies": { - "@google-cloud/aiplatform": "^7.0.0" + "@google-cloud/aiplatform": "^7.1.0" }, "devDependencies": { "chai": "^4.2.0", diff --git a/packages/google-cloud-commerceproducer/CHANGELOG.md b/packages/google-cloud-commerceproducer/CHANGELOG.md index 6a059b00a982..eeade86cff6d 100644 --- a/packages/google-cloud-commerceproducer/CHANGELOG.md +++ b/packages/google-cloud-commerceproducer/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.4.0](https://github.com/googleapis/google-cloud-node/compare/commerceproducer-v0.3.0...commerceproducer-v0.4.0) (2026-08-10) + + +### Features + +* Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389)) + ## [0.3.0](https://github.com/googleapis/google-cloud-node/compare/commerceproducer-v0.2.0...commerceproducer-v0.3.0) (2026-08-04) diff --git a/packages/google-cloud-commerceproducer/package.json b/packages/google-cloud-commerceproducer/package.json index bb321195e459..6cc8190f286f 100644 --- a/packages/google-cloud-commerceproducer/package.json +++ b/packages/google-cloud-commerceproducer/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/commerceproducer", - "version": "0.3.0", + "version": "0.4.0", "description": "Commerceproducer client for Node.js", "repository": { "type": "git", diff --git a/packages/google-cloud-compute/CHANGELOG.md b/packages/google-cloud-compute/CHANGELOG.md index 755bd488dadc..61937be0abe7 100644 --- a/packages/google-cloud-compute/CHANGELOG.md +++ b/packages/google-cloud-compute/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://www.npmjs.com/package/@google-cloud/compute?activeTab=versions +## [7.1.0](https://github.com/googleapis/google-cloud-node/compare/compute-v7.0.0...compute-v7.1.0) (2026-08-10) + + +### Features + +* Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389)) + ## [7.0.0](https://github.com/googleapis/google-cloud-node/compare/compute-v6.15.0...compute-v7.0.0) (2026-08-04) diff --git a/packages/google-cloud-compute/package.json b/packages/google-cloud-compute/package.json index 03eda240e05a..2c37ee8372b0 100644 --- a/packages/google-cloud-compute/package.json +++ b/packages/google-cloud-compute/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/compute", "description": "Google Compute Engine Client Library for Node.js", - "version": "7.0.0", + "version": "7.1.0", "license": "Apache-2.0", "author": "Google LLC", "engines": { diff --git a/packages/google-cloud-compute/samples/package.json b/packages/google-cloud-compute/samples/package.json index 5039c6f6978e..2cb0077e4d15 100644 --- a/packages/google-cloud-compute/samples/package.json +++ b/packages/google-cloud-compute/samples/package.json @@ -14,7 +14,7 @@ "test": "mocha test --timeout 1200000" }, "dependencies": { - "@google-cloud/compute": "^7.0.0", + "@google-cloud/compute": "^7.1.0", "@sendgrid/mail": "^8.0.0", "nodemailer": "^8.0.5", "nodemailer-smtp-transport": "^2.7.4" diff --git a/packages/google-cloud-dataform/CHANGELOG.md b/packages/google-cloud-dataform/CHANGELOG.md index f7d258cfb416..84529c11412b 100644 --- a/packages/google-cloud-dataform/CHANGELOG.md +++ b/packages/google-cloud-dataform/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [3.1.0](https://github.com/googleapis/google-cloud-node/compare/dataform-v3.0.0...dataform-v3.1.0) (2026-08-10) + + +### Features + +* Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389)) + ## [3.0.0](https://github.com/googleapis/google-cloud-node/compare/dataform-v2.5.0...dataform-v3.0.0) (2026-08-04) diff --git a/packages/google-cloud-dataform/package.json b/packages/google-cloud-dataform/package.json index 8ba42b8b25a4..85ae7191c14a 100644 --- a/packages/google-cloud-dataform/package.json +++ b/packages/google-cloud-dataform/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/dataform", - "version": "3.0.0", + "version": "3.1.0", "description": "Dataform API client for Node.js", "repository": { "type": "git", diff --git a/packages/google-cloud-dataform/samples/package.json b/packages/google-cloud-dataform/samples/package.json index 16d76f2536cb..b8dda4013651 100644 --- a/packages/google-cloud-dataform/samples/package.json +++ b/packages/google-cloud-dataform/samples/package.json @@ -14,7 +14,7 @@ "publish": "echo 'sample test; do not publish'" }, "dependencies": { - "@google-cloud/dataform": "^3.0.0" + "@google-cloud/dataform": "^3.1.0" }, "devDependencies": { "c8": "^10.0.0", diff --git a/packages/google-cloud-firestore-api/CHANGELOG.md b/packages/google-cloud-firestore-api/CHANGELOG.md index 44ff0fa0e3a2..a0f89fd89c87 100644 --- a/packages/google-cloud-firestore-api/CHANGELOG.md +++ b/packages/google-cloud-firestore-api/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [0.5.0](https://github.com/googleapis/google-cloud-node/compare/google-cloud-firestore-api-v0.4.0...google-cloud-firestore-api-v0.5.0) (2026-08-10) + + +### Features + +* **firestore-api:** Add explicit ./protos/protos package subpath export ([#9105](https://github.com/googleapis/google-cloud-node/issues/9105)) ([4ac404d](https://github.com/googleapis/google-cloud-node/commit/4ac404d73721e787bee054d64358063ae23ce8e4)) +* Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389)) + ## [0.4.0](https://github.com/googleapis/google-cloud-node/compare/google-cloud-firestore-api-v0.3.0...google-cloud-firestore-api-v0.4.0) (2026-08-04) diff --git a/packages/google-cloud-firestore-api/package.json b/packages/google-cloud-firestore-api/package.json index 70d179d50c42..bdb86aa30cea 100644 --- a/packages/google-cloud-firestore-api/package.json +++ b/packages/google-cloud-firestore-api/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/firestore-api", - "version": "0.4.0", + "version": "0.5.0", "description": "Cloud Firestore API client for Node.js", "repository": { "type": "git", diff --git a/packages/google-iam/CHANGELOG.md b/packages/google-iam/CHANGELOG.md index 78cffcdab1f3..e4dcdf7ac2c0 100644 --- a/packages/google-iam/CHANGELOG.md +++ b/packages/google-iam/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [3.1.0](https://github.com/googleapis/google-cloud-node/compare/iam-v3.0.0...iam-v3.1.0) (2026-08-10) + + +### Features + +* Update API sources and regenerate ([#9104](https://github.com/googleapis/google-cloud-node/issues/9104)) ([61ea9c8](https://github.com/googleapis/google-cloud-node/commit/61ea9c807dfb3eda4ddd377da9a496d17ba48389)) + ## [3.0.0](https://github.com/googleapis/google-cloud-node/compare/iam-v2.4.0...iam-v3.0.0) (2026-08-04) diff --git a/packages/google-iam/package.json b/packages/google-iam/package.json index 80b799be8fac..ee0d293a8af9 100644 --- a/packages/google-iam/package.json +++ b/packages/google-iam/package.json @@ -1,6 +1,6 @@ { "name": "@google-cloud/iam", - "version": "3.0.0", + "version": "3.1.0", "description": "Identity and Access Management client for Node.js", "repository": { "type": "git", diff --git a/packages/google-iam/samples/package.json b/packages/google-iam/samples/package.json index e93f7de4f038..04b2a5287d19 100644 --- a/packages/google-iam/samples/package.json +++ b/packages/google-iam/samples/package.json @@ -14,7 +14,7 @@ "publish": "echo 'sample test; do not publish'" }, "dependencies": { - "@google-cloud/iam": "^3.0.0" + "@google-cloud/iam": "^3.1.0" }, "devDependencies": { "c8": "^10.0.0", From ddb1d99a9c5484a2ab788c7c1f98f12ae3708bd9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 16:56:56 -0700 Subject: [PATCH 05/16] chore(deps-dev): bump tmp from 0.2.6 to 0.2.7 in /core/packages/gaxios (#8647) Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.6 to 0.2.7.
Commits

> **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- core/packages/gaxios/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/packages/gaxios/package.json b/core/packages/gaxios/package.json index 12927571d603..5961c45ea22f 100644 --- a/core/packages/gaxios/package.json +++ b/core/packages/gaxios/package.json @@ -89,7 +89,7 @@ "puppeteer": "^24.0.0", "sinon": "21.0.3", "stream-browserify": "^3.0.0", - "tmp": "0.2.6", + "tmp": "0.2.7", "ts-loader": "^9.5.2", "typescript": "5.8.3", "undici-types": "^7.24.1", From a747a1a0c4968cfeaa74ba67b94bdbbe7390acfd Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Tue, 11 Aug 2026 00:58:11 +0100 Subject: [PATCH 06/16] chore(deps): update dependency protobufjs-cli to v1.2.1 [security] (#8253) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [protobufjs-cli](https://redirect.github.com/protobufjs/protobuf.js) | [`1.2.0` → `1.2.1`](https://renovatebot.com/diffs/npm/protobufjs-cli/1.2.0/1.2.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/protobufjs-cli/1.2.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/protobufjs-cli/1.2.0/1.2.1?slim=true) | --- ### protobuf.js is Vulnerable to OS Command Injection in the CLI [CVE-2026-42290](https://nvd.nist.gov/vuln/detail/CVE-2026-42290) / [GHSA-f84p-cvgm-xgjj](https://redirect.github.com/advisories/GHSA-f84p-cvgm-xgjj)
More information #### Details ##### Summary `pbts` invoked JSDoc by building a shell command string from input file paths and executing it through `child_process.exec`. File paths containing shell metacharacters could therefore be interpreted by the shell instead of being passed to JSDoc as plain arguments. ##### Impact An attacker who can control file names or paths passed to `pbts` may be able to execute arbitrary shell commands with the privileges of the process running `pbts`. This affects the protobufjs CLI tooling path. The protobufjs runtime APIs for encoding, decoding, parsing, and loading protobuf messages are not directly affected by this issue. ##### Preconditions - The application or user must invoke `pbts` on file paths influenced by an attacker. - The attacker must be able to supply or create a path containing shell-significant characters. - The vulnerable `pbts` version must execute the generated JSDoc command through a shell. ##### Workarounds Do not run affected versions of `pbts` on attacker-controlled file names or paths. If this cannot be avoided, sanitize or rename input files before invoking `pbts`, or run the CLI in an isolated environment with minimal privileges. #### Severity - CVSS Score: 7.8 / 10 (High) - Vector String: `CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H` #### References - [https://github.com/protobufjs/protobuf.js/security/advisories/GHSA-f84p-cvgm-xgjj](https://redirect.github.com/protobufjs/protobuf.js/security/advisories/GHSA-f84p-cvgm-xgjj) - [https://github.com/protobufjs/protobuf.js/releases/tag/protobufjs-cli-v1.2.1](https://redirect.github.com/protobufjs/protobuf.js/releases/tag/protobufjs-cli-v1.2.1) - [https://github.com/protobufjs/protobuf.js/releases/tag/protobufjs-cli-v2.0.2](https://redirect.github.com/protobufjs/protobuf.js/releases/tag/protobufjs-cli-v2.0.2) - [https://nvd.nist.gov/vuln/detail/CVE-2026-42290](https://nvd.nist.gov/vuln/detail/CVE-2026-42290) - [https://github.com/advisories/GHSA-f84p-cvgm-xgjj](https://redirect.github.com/advisories/GHSA-f84p-cvgm-xgjj) This data is provided by the [GitHub Advisory Database](https://redirect.github.com/advisories/GHSA-f84p-cvgm-xgjj) ([CC-BY 4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
--- ### protobuf.js: Code injection in pbjs static output from crafted schema names [CVE-2026-44295](https://nvd.nist.gov/vuln/detail/CVE-2026-44295) / [GHSA-6r35-46g8-jcw9](https://redirect.github.com/advisories/GHSA-6r35-46g8-jcw9)
More information #### Details ##### Summary `pbjs` static code generation could emit unsafe JavaScript identifiers derived from schema-controlled names. When generating static JavaScript from a crafted schema or JSON descriptor, certain namespace, enum, service, or derived full names could be written into the generated output without sufficient sanitization. ##### Impact An attacker who can provide or influence schemas passed to `pbjs` may be able to cause generated JavaScript output to contain attacker-controlled code. The injected code would run if the generated file is later executed or imported by the application or build process. This affects the protobufjs CLI static code generation path. Applications that only use trusted schemas, or that do not execute generated output from untrusted schemas, are not directly affected. ##### Preconditions - The application or build process must run `pbjs` static code generation on a schema or JSON descriptor influenced by an attacker. - The attacker-controlled input must contain crafted schema names that reach generated JavaScript output. - The generated JavaScript file must subsequently be executed, imported, or otherwise evaluated. ##### Workarounds Do not run affected versions of `pbjs` static code generation on untrusted schemas or descriptors. If untrusted schemas must be accepted, validate schema names before code generation and run generation in an isolated environment. #### Severity - CVSS Score: 8.7 / 10 (High) - Vector String: `CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N` #### References - [https://github.com/protobufjs/protobuf.js/security/advisories/GHSA-6r35-46g8-jcw9](https://redirect.github.com/protobufjs/protobuf.js/security/advisories/GHSA-6r35-46g8-jcw9) - [https://github.com/protobufjs/protobuf.js/releases/tag/protobufjs-cli-v1.2.1](https://redirect.github.com/protobufjs/protobuf.js/releases/tag/protobufjs-cli-v1.2.1) - [https://github.com/protobufjs/protobuf.js/releases/tag/protobufjs-cli-v2.0.2](https://redirect.github.com/protobufjs/protobuf.js/releases/tag/protobufjs-cli-v2.0.2) - [https://nvd.nist.gov/vuln/detail/CVE-2026-44295](https://nvd.nist.gov/vuln/detail/CVE-2026-44295) - [https://github.com/advisories/GHSA-6r35-46g8-jcw9](https://redirect.github.com/advisories/GHSA-6r35-46g8-jcw9) This data is provided by the [GitHub Advisory Database](https://redirect.github.com/advisories/GHSA-6r35-46g8-jcw9) ([CC-BY 4.0](https://redirect.github.com/github/advisory-database/blob/main/LICENSE.md)).
--- ### Release Notes
protobufjs/protobuf.js (protobufjs-cli) ### [`v1.2.1`](https://redirect.github.com/protobufjs/protobuf.js/releases/tag/protobufjs-cli-v1.2.1): protobufjs-cli: v1.2.1 [Compare Source](https://redirect.github.com/protobufjs/protobuf.js/compare/protobufjs-cli-v1.2.0...protobufjs-cli-v1.2.1) ##### Bug Fixes - Backport input hardening and CLI fixes to 7.x ([#​2173](https://redirect.github.com/protobufjs/protobuf.js/issues/2173)) ([75392ea](https://redirect.github.com/protobufjs/protobuf.js/commit/75392ea1b78bdc4faba027b5db44ad7c50e9c454))
--- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - "" - 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. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/google-cloud-node). --- .../gapic-generator-typescript/package-lock.json | 7 ++++--- core/generator/gapic-generator-typescript/pnpm-lock.yaml | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/core/generator/gapic-generator-typescript/package-lock.json b/core/generator/gapic-generator-typescript/package-lock.json index c0d021ec629b..abe5a05e1149 100644 --- a/core/generator/gapic-generator-typescript/package-lock.json +++ b/core/generator/gapic-generator-typescript/package-lock.json @@ -5702,9 +5702,10 @@ } }, "node_modules/protobufjs-cli": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.2.0.tgz", - "integrity": "sha512-+YvqJEmsmZHGzE5j0tvEzFeHm0sX7pzRFpyj7+GazhkS4Y0r+jgbioVvFxxSWIlPzUel/lxeOnLChBmV8NmyHA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/protobufjs-cli/-/protobufjs-cli-1.2.1.tgz", + "integrity": "sha512-2DePjPlVa3TPmq7qiO8RblAAasOCHLVIGgTFhtLo/e906UanwMfZCPXcPXYZBAB9uhFdU6WzVbXruJF6aM8wDA==", + "license": "BSD-3-Clause", "dependencies": { "chalk": "^4.0.0", "escodegen": "^1.13.0", diff --git a/core/generator/gapic-generator-typescript/pnpm-lock.yaml b/core/generator/gapic-generator-typescript/pnpm-lock.yaml index 06aecf415e94..6c262f58aca5 100644 --- a/core/generator/gapic-generator-typescript/pnpm-lock.yaml +++ b/core/generator/gapic-generator-typescript/pnpm-lock.yaml @@ -28,7 +28,7 @@ dependencies: version: 7.6.5 protobufjs-cli: specifier: ^1.2.0 - version: 1.2.0(protobufjs@7.6.5) + version: 1.2.1(protobufjs@7.6.5) yargs: specifier: ^17.7.2 version: 17.7.2 @@ -2008,7 +2008,7 @@ packages: '@babel/traverse': 7.29.0 google-gax: 5.0.6 google-proto-files: 5.0.1 - protobufjs-cli: 1.2.0(protobufjs@7.6.5) + protobufjs-cli: 1.2.1(protobufjs@7.6.5) rimraf: 5.0.10 uglify-js: 3.19.3 walk-up-path: 3.0.1 @@ -3218,8 +3218,8 @@ packages: dependencies: protobufjs: 7.6.5 - /protobufjs-cli@1.2.0(protobufjs@7.6.5): - resolution: {integrity: sha512-+YvqJEmsmZHGzE5j0tvEzFeHm0sX7pzRFpyj7+GazhkS4Y0r+jgbioVvFxxSWIlPzUel/lxeOnLChBmV8NmyHA==} + /protobufjs-cli@1.2.1(protobufjs@7.6.5): + resolution: {integrity: sha512-2DePjPlVa3TPmq7qiO8RblAAasOCHLVIGgTFhtLo/e906UanwMfZCPXcPXYZBAB9uhFdU6WzVbXruJF6aM8wDA==} engines: {node: '>=12.0.0'} hasBin: true peerDependencies: From 13d1ca8247789323094df9ed916e3ad184053cd7 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2026 00:13:02 +0000 Subject: [PATCH 07/16] chore(main): release storage 7.22.0 (#8676) :robot: I have created a release *beep* *boop* --- ## [7.22.0](https://github.com/googleapis/google-cloud-node/compare/storage-v7.21.0...storage-v7.22.0) (2026-08-11) ### Features * **storage:** Add deleteSourceObjects option to combine/compose method ([#8444](https://github.com/googleapis/google-cloud-node/issues/8444)) ([43abc45](https://github.com/googleapis/google-cloud-node/commit/43abc45c45fe8538694e9794a12ca700e0ae2d90)) ### Bug Fixes * **storage:** Destroy local read stream on upload write failure to prevent resource leaks ([#8752](https://github.com/googleapis/google-cloud-node/issues/8752)) ([77dab53](https://github.com/googleapis/google-cloud-node/commit/77dab53bf6d8a4b911f04e49eef444057d817619)), refs [#7325](https://github.com/googleapis/google-cloud-node/issues/7325) * **storage:** Pass signingEndpoint to URLSigner in file.getSignedUrl ([#8982](https://github.com/googleapis/google-cloud-node/issues/8982)) ([b001807](https://github.com/googleapis/google-cloud-node/commit/b001807a82616521680baf5429fec6af639aeb58)) * **storage:** Resolve Node compatibility crashes, security vulnerability, and stream hangs ([#8622](https://github.com/googleapis/google-cloud-node/issues/8622)) ([512ba79](https://github.com/googleapis/google-cloud-node/commit/512ba79126605b416868db7c5f607d3083934eca)) * **storage:** Set application/json Content-Type for impersonated ADC requests ([#8419](https://github.com/googleapis/google-cloud-node/issues/8419)) ([292c688](https://github.com/googleapis/google-cloud-node/commit/292c68864ddc46f5a89319a9b756599749275e91)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- .release-please-manifest.json | 2 +- changelog.json | 57 +++++++++++++++++++++++++++++++- handwritten/storage/CHANGELOG.md | 15 +++++++++ handwritten/storage/package.json | 2 +- 4 files changed, 73 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 6993a9e6c609..6fdef362cab0 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -34,7 +34,7 @@ "handwritten/logging-winston": "7.0.0", "handwritten/pubsub": "6.0.0", "handwritten/spanner": "8.10.0", - "handwritten/storage": "7.21.0", + "handwritten/storage": "7.22.0", "packages/google-ads-admanager": "0.9.0", "packages/google-ads-datamanager": "1.0.0", "packages/google-ai-generativelanguage": "4.0.0", diff --git a/changelog.json b/changelog.json index d7f9498d3c28..e6362e7d7869 100644 --- a/changelog.json +++ b/changelog.json @@ -1,6 +1,61 @@ { "repository": "googleapis/google-cloud-node", "entries": [ + { + "changes": [ + { + "type": "fix", + "sha": "77dab53bf6d8a4b911f04e49eef444057d817619", + "message": "Destroy local read stream on upload write failure to prevent resource leaks", + "issues": [ + "8752", + "7325" + ], + "scope": "storage" + }, + { + "type": "fix", + "sha": "b001807a82616521680baf5429fec6af639aeb58", + "message": "Pass signingEndpoint to URLSigner in file.getSignedUrl", + "issues": [ + "8982" + ], + "scope": "storage" + }, + { + "type": "fix", + "sha": "292c68864ddc46f5a89319a9b756599749275e91", + "message": "Set application/json Content-Type for impersonated ADC requests", + "issues": [ + "8419" + ], + "scope": "storage" + }, + { + "type": "feat", + "sha": "43abc45c45fe8538694e9794a12ca700e0ae2d90", + "message": "Add deleteSourceObjects option to combine/compose method", + "issues": [ + "8444" + ], + "scope": "storage" + }, + { + "type": "fix", + "sha": "512ba79126605b416868db7c5f607d3083934eca", + "message": "Resolve Node compatibility crashes, security vulnerability, and stream hangs", + "issues": [ + "8622" + ], + "scope": "storage" + } + ], + "version": "7.22.0", + "language": "JAVASCRIPT", + "artifactName": "@google-cloud/storage", + "id": "3f404813-1223-4bf1-b283-434eec63748c", + "createTime": "2026-08-11T00:02:28.769Z" + }, { "changes": [ { @@ -89222,5 +89277,5 @@ "createTime": "2023-01-28T04:18:24.718Z" } ], - "updateTime": "2026-08-10T18:31:51.385Z" + "updateTime": "2026-08-11T00:02:28.769Z" } \ No newline at end of file diff --git a/handwritten/storage/CHANGELOG.md b/handwritten/storage/CHANGELOG.md index bd3c9e8595b1..bcddbd6d5b47 100644 --- a/handwritten/storage/CHANGELOG.md +++ b/handwritten/storage/CHANGELOG.md @@ -5,6 +5,21 @@ [1]: https://www.npmjs.com/package/@google-cloud/storage?activeTab=versions +## [7.22.0](https://github.com/googleapis/google-cloud-node/compare/storage-v7.21.0...storage-v7.22.0) (2026-08-11) + + +### Features + +* **storage:** Add deleteSourceObjects option to combine/compose method ([#8444](https://github.com/googleapis/google-cloud-node/issues/8444)) ([43abc45](https://github.com/googleapis/google-cloud-node/commit/43abc45c45fe8538694e9794a12ca700e0ae2d90)) + + +### Bug Fixes + +* **storage:** Destroy local read stream on upload write failure to prevent resource leaks ([#8752](https://github.com/googleapis/google-cloud-node/issues/8752)) ([77dab53](https://github.com/googleapis/google-cloud-node/commit/77dab53bf6d8a4b911f04e49eef444057d817619)), refs [#7325](https://github.com/googleapis/google-cloud-node/issues/7325) +* **storage:** Pass signingEndpoint to URLSigner in file.getSignedUrl ([#8982](https://github.com/googleapis/google-cloud-node/issues/8982)) ([b001807](https://github.com/googleapis/google-cloud-node/commit/b001807a82616521680baf5429fec6af639aeb58)) +* **storage:** Resolve Node compatibility crashes, security vulnerability, and stream hangs ([#8622](https://github.com/googleapis/google-cloud-node/issues/8622)) ([512ba79](https://github.com/googleapis/google-cloud-node/commit/512ba79126605b416868db7c5f607d3083934eca)) +* **storage:** Set application/json Content-Type for impersonated ADC requests ([#8419](https://github.com/googleapis/google-cloud-node/issues/8419)) ([292c688](https://github.com/googleapis/google-cloud-node/commit/292c68864ddc46f5a89319a9b756599749275e91)) + ## [7.21.0](https://github.com/googleapis/google-cloud-node/compare/storage-v7.20.0...storage-v7.21.0) (2026-06-03) diff --git a/handwritten/storage/package.json b/handwritten/storage/package.json index ed2c26993026..fa61373b6c14 100644 --- a/handwritten/storage/package.json +++ b/handwritten/storage/package.json @@ -1,7 +1,7 @@ { "name": "@google-cloud/storage", "description": "Cloud Storage Client Library for Node.js", - "version": "7.21.0", + "version": "7.22.0", "license": "Apache-2.0", "author": "Google Inc.", "engines": { From f2f336f2884360266847e497a2b007e32c870ef8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2026 01:40:10 +0000 Subject: [PATCH 08/16] chore(deps): bump js-yaml from 4.1.1 to 4.3.0 in /core/generator/gapic-generator-typescript (#8775) Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.3.0.
Changelog

Sourced from js-yaml's changelog.

4.3.0, 3.15.0 - 2026-06-27

Security

  • Backported maxTotalMergeKeys option.

[5.2.0] - 2026-06-26

Added

  • Added maxTotalMergeKeys (10000) loader option to limit the total number of keys processed by YAML merge (<<) across one load() / loadAll() call.
  • Added maxAliases (-1) loader option to limit the number of YAML aliases per document.

Removed

  • maxMergeSeqLength replaced with maxTotalMergeKeys for limiting YAML merge processing.

Fixed

  • Round-trip of integers with exponential form (>= 1e21)

[5.1.0] - 2026-06-23

Added

  • Collection tags can finalize an incrementally populated carrier into a different result value.

Changed

  • [breaking] quoteStyle now selects the preferred quote style; use the restored forceQuotes option to force quoting non-key strings.

[5.0.0] - 2026-06-20

Added

  • Added named exports for schemas, tags, parser events and AST utilities.
  • Reworked JSON_SCHEMA and CORE_SCHEMA with spec-compliant scalar resolution rules, and added YAML11_SCHEMA.
  • Added realMapTag for lossless mappings with non-string and complex keys. Object-based mappings now reject complex keys instead of stringifying them.
  • Added dump() transform option for changing the generated AST before rendering.
  • Added dump() options seqInlineFirst, flowBracketPadding, flowSkipCommaSpace, flowSkipColonSpace, quoteFlowKeys, quoteStyle and tagBeforeAnchor.
  • Added formal data layers (events and AST) for modular data pipelines.
    • Added low-level parser (to events), presenter and visitor APIs.
  • Added the YAML Test Suite to the test set.

Changed

  • See the migration guide for upgrade notes.
  • Rewritten in TypeScript and reorganized the public API around flat named exports.

... (truncated)

Commits
  • 33d05b5 4.3.0 released
  • 663bfab Drop demo publish, to not override new v5 one.
  • 1cb8c7b Add v4-legacy tag for publish
  • 02f27af Restore umd builds back to es5
  • 8be84ed Fix es5 compatibility
  • 59423c6 Replace maxMergeSeqLength option with maxTotalMergeKeys (more robust). Ba...
  • 6842ef6 doc polish
  • 590dbab 4.2.0 released
  • f944dc5 Add package.json funding field
  • f692719 Changelog update
  • Additional commits viewable in compare view

> **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shivanee <46910562+shivanee-p@users.noreply.github.com> --- .../package-lock.json | 18 ++++++++++++++---- .../gapic-generator-typescript/package.json | 2 +- .../gapic-generator-typescript/pnpm-lock.yaml | 16 ++++++++-------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/core/generator/gapic-generator-typescript/package-lock.json b/core/generator/gapic-generator-typescript/package-lock.json index abe5a05e1149..1f4ea02947e2 100644 --- a/core/generator/gapic-generator-typescript/package-lock.json +++ b/core/generator/gapic-generator-typescript/package-lock.json @@ -10,7 +10,7 @@ "license": "Apache-2.0", "dependencies": { "@types/js-yaml": "^4.0.9", - "js-yaml": "^4.1.1", + "js-yaml": "^4.3.0", "long": "^5.3.2", "object-hash": "^3.0.0", "prettier": "^3.2.5", @@ -4557,9 +4557,19 @@ "dev": true }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" diff --git a/core/generator/gapic-generator-typescript/package.json b/core/generator/gapic-generator-typescript/package.json index 4f5a44fefb6c..75eb5fbc1868 100644 --- a/core/generator/gapic-generator-typescript/package.json +++ b/core/generator/gapic-generator-typescript/package.json @@ -46,7 +46,7 @@ }, "dependencies": { "@types/js-yaml": "^4.0.9", - "js-yaml": "^4.1.1", + "js-yaml": "^4.3.0", "long": "^5.3.2", "object-hash": "^3.0.0", "proto3-json-serializer": "^3.0.3", diff --git a/core/generator/gapic-generator-typescript/pnpm-lock.yaml b/core/generator/gapic-generator-typescript/pnpm-lock.yaml index 6c262f58aca5..582cd37dc820 100644 --- a/core/generator/gapic-generator-typescript/pnpm-lock.yaml +++ b/core/generator/gapic-generator-typescript/pnpm-lock.yaml @@ -9,8 +9,8 @@ dependencies: specifier: ^4.0.9 version: 4.0.9 js-yaml: - specifier: ^4.1.1 - version: 4.1.1 + specifier: ^4.3.0 + version: 4.3.0 long: specifier: ^5.3.2 version: 5.3.2 @@ -266,7 +266,7 @@ packages: globals: 13.24.0 ignore: 5.3.2 import-fresh: 3.3.1 - js-yaml: 4.1.1 + js-yaml: 4.3.0 minimatch: 3.1.5 strip-json-comments: 3.1.1 transitivePeerDependencies: @@ -1657,7 +1657,7 @@ packages: imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.1 + js-yaml: 4.3.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -1990,7 +1990,7 @@ packages: dependencies: '@google-cloud/storage': 7.19.0 '@octokit/rest': 20.1.2 - js-yaml: 4.1.1 + js-yaml: 4.3.0 nunjucks: 3.2.4 yargs: 17.7.2 transitivePeerDependencies: @@ -2572,8 +2572,8 @@ packages: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true - /js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + /js-yaml@4.3.0: + resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} hasBin: true dependencies: argparse: 2.0.1 @@ -2917,7 +2917,7 @@ packages: glob: 10.5.0 he: 1.2.0 is-path-inside: 3.0.3 - js-yaml: 4.1.1 + js-yaml: 4.3.0 log-symbols: 4.1.0 minimatch: 9.0.9 ms: 2.1.3 From aaed24f7cebc751d29e3e0a742540f196699101b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Aug 2026 01:44:03 +0000 Subject: [PATCH 09/16] chore(deps-dev): bump tmp from 0.2.5 to 0.2.7 in /core/packages/nodejs-googleapis-common (#8961) Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.7.
Commits

Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- core/packages/nodejs-googleapis-common/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/packages/nodejs-googleapis-common/package.json b/core/packages/nodejs-googleapis-common/package.json index f9a4b3a70b53..a73bc57fe075 100644 --- a/core/packages/nodejs-googleapis-common/package.json +++ b/core/packages/nodejs-googleapis-common/package.json @@ -80,7 +80,7 @@ "proxyquire": "^2.1.3", "puppeteer": "^24.0.0", "sinon": "21.0.3", - "tmp": "0.2.5", + "tmp": "0.2.7", "ts-loader": "^9.5.2", "typescript": "5.8.3", "webpack": "^5.97.1", From 01cc36f73aa7f65a35c7d887e5748e10dbb71303 Mon Sep 17 00:00:00 2001 From: Thiyagu K Date: Fri, 3 Jul 2026 09:18:08 +0000 Subject: [PATCH 10/16] feat(storage): add x-goog-gcs-idempotency-token header linked to gccl-invocation-id for request tracking --- .../storage/src/nodejs-common/service.ts | 4 +- handwritten/storage/src/nodejs-common/util.ts | 4 +- handwritten/storage/src/resumable-upload.ts | 3 ++ handwritten/storage/test/headers.ts | 48 +++++++++++++++---- .../storage/test/nodejs-common/service.ts | 19 ++++++++ .../storage/test/nodejs-common/util.ts | 13 +++-- handwritten/storage/test/resumable-upload.ts | 36 ++++++++++++++ 7 files changed, 111 insertions(+), 16 deletions(-) diff --git a/handwritten/storage/src/nodejs-common/service.ts b/handwritten/storage/src/nodejs-common/service.ts index 9173a38f73d7..24610ca1dfed 100644 --- a/handwritten/storage/src/nodejs-common/service.ts +++ b/handwritten/storage/src/nodejs-common/service.ts @@ -269,12 +269,14 @@ export class Service { if (this.providedUserAgent) { userAgent = `${this.providedUserAgent} ${userAgent}`; } + const idempotencyToken = crypto.randomUUID(); reqOpts.headers = { ...reqOpts.headers, 'User-Agent': userAgent, 'x-goog-api-client': `${getRuntimeTrackingString()} gccl/${ pkg.version - }-${getModuleFormat()} gccl-invocation-id/${crypto.randomUUID()}`, + }-${getModuleFormat()} gccl-invocation-id/${idempotencyToken}`, + 'x-goog-gcs-idempotency-token': idempotencyToken, }; if (reqOpts[GCCL_GCS_CMD_KEY]) { diff --git a/handwritten/storage/src/nodejs-common/util.ts b/handwritten/storage/src/nodejs-common/util.ts index e6c4db98b095..f0c4c7f419b2 100644 --- a/handwritten/storage/src/nodejs-common/util.ts +++ b/handwritten/storage/src/nodejs-common/util.ts @@ -1042,11 +1042,13 @@ export class Util { } _getDefaultHeaders(gcclGcsCmd?: string) { + const idempotencyToken = crypto.randomUUID(); const headers = { 'User-Agent': getUserAgentString(), 'x-goog-api-client': `${getRuntimeTrackingString()} gccl/${ packageJson.version - }-${getModuleFormat()} gccl-invocation-id/${crypto.randomUUID()}`, + }-${getModuleFormat()} gccl-invocation-id/${idempotencyToken}`, + 'x-goog-gcs-idempotency-token': idempotencyToken, }; if (gcclGcsCmd) { diff --git a/handwritten/storage/src/resumable-upload.ts b/handwritten/storage/src/resumable-upload.ts index df63ec637b1d..138415602d3e 100644 --- a/handwritten/storage/src/resumable-upload.ts +++ b/handwritten/storage/src/resumable-upload.ts @@ -829,6 +829,7 @@ export class Upload extends Writable { headers: { 'User-Agent': getUserAgentString(), 'x-goog-api-client': googAPIClient, + 'x-goog-gcs-idempotency-token': this.currentInvocationId.uri, ...headers, }, }; @@ -1008,6 +1009,7 @@ export class Upload extends Writable { const headers: GaxiosOptions['headers'] = { 'User-Agent': getUserAgentString(), 'x-goog-api-client': googAPIClient, + 'x-goog-gcs-idempotency-token': this.currentInvocationId.chunk, }; // If using multiple chunk upload, set appropriate header @@ -1227,6 +1229,7 @@ export class Upload extends Writable { 'Content-Range': 'bytes */*', 'User-Agent': getUserAgentString(), 'x-goog-api-client': googAPIClient, + 'x-goog-gcs-idempotency-token': this.currentInvocationId.checkUploadStatus, }, }; diff --git a/handwritten/storage/test/headers.ts b/handwritten/storage/test/headers.ts index 9ccc685814bb..a19e56556597 100644 --- a/handwritten/storage/test/headers.ts +++ b/handwritten/storage/test/headers.ts @@ -65,11 +65,15 @@ describe('headers', () => { } catch (err) { if (err !== error) throw err; } - assert.ok( - /^gl-node\/(?[^W]+) gccl\/(?[^W]+) gccl-invocation-id\/(?[^W]+)$/.test( - requests[0].headers['x-goog-api-client'] - ) - ); + const apiClientHeader = requests[0].headers['x-goog-api-client']; + const match = + /^gl-node\/(?[^W]+) gccl\/(?[^W]+) gccl-invocation-id\/(?[^W]+)$/.exec( + apiClientHeader + ); + assert.ok(match); + const invocationId = match.groups!.gcclInvocationId; + const idempotencyToken = requests[0].headers['x-goog-gcs-idempotency-token']; + assert.strictEqual(idempotencyToken, invocationId); }); it('populates x-goog-api-client header (deno)', async () => { @@ -87,10 +91,34 @@ describe('headers', () => { } catch (err) { if (err !== error) throw err; } - assert.ok( - /^gl-deno\/0.00.0 gccl\/(?[^W]+) gccl-invocation-id\/(?[^W]+)$/.test( - requests[1].headers['x-goog-api-client'] - ) - ); + const apiClientHeader = requests[1].headers['x-goog-api-client']; + const match = + /^gl-deno\/0.00.0 gccl\/(?[^W]+) gccl-invocation-id\/(?[^W]+)$/.exec( + apiClientHeader + ); + assert.ok(match); + const invocationId = match.groups!.gcclInvocationId; + const idempotencyToken = requests[1].headers['x-goog-gcs-idempotency-token']; + assert.strictEqual(idempotencyToken, invocationId); + }); + + it('generates unique tokens for different requests', async () => { + const storage = new Storage(); + const bucket = storage.bucket('foo-bucket'); + try { + await bucket.create(); + } catch (err) { + if (err !== error) throw err; + } + try { + await bucket.create(); + } catch (err) { + if (err !== error) throw err; + } + const token1 = requests[requests.length - 2].headers['x-goog-gcs-idempotency-token']; + const token2 = requests[requests.length - 1].headers['x-goog-gcs-idempotency-token']; + assert.ok(token1); + assert.ok(token2); + assert.notStrictEqual(token1, token2); }); }); diff --git a/handwritten/storage/test/nodejs-common/service.ts b/handwritten/storage/test/nodejs-common/service.ts index 502c4e5419f9..b830c65eb680 100644 --- a/handwritten/storage/test/nodejs-common/service.ts +++ b/handwritten/storage/test/nodejs-common/service.ts @@ -487,6 +487,25 @@ describe('Service', () => { service.request_(reqOpts, assert.ifError); }); + it('should add the x-goog-gcs-idempotency-token header matching the gccl-invocation-id', done => { + service.makeAuthenticatedRequest = (reqOpts: DecorateRequestOptions) => { + const pkg = service.packageJson; + const r = new RegExp( + `^gl-node/${process.versions.node} gccl/${ + pkg.version + }-${getModuleFormat()} gccl-invocation-id/(?[^W]+)$` + ); + const match = r.exec(reqOpts.headers!['x-goog-api-client']); + assert.ok(match); + const invocationId = match.groups!.gcclInvocationId; + const idempotencyToken = reqOpts.headers!['x-goog-gcs-idempotency-token']; + assert.strictEqual(idempotencyToken, invocationId); + done(); + }; + + service.request_(reqOpts, assert.ifError); + }); + it('should add the `gccl-gcs-cmd` to the api-client header when provided', done => { const expected = 'example.expected/value'; service.makeAuthenticatedRequest = (reqOpts: DecorateRequestOptions) => { diff --git a/handwritten/storage/test/nodejs-common/util.ts b/handwritten/storage/test/nodejs-common/util.ts index 88e6905ffb52..cf3a9ef47d25 100644 --- a/handwritten/storage/test/nodejs-common/util.ts +++ b/handwritten/storage/test/nodejs-common/util.ts @@ -77,10 +77,15 @@ function fakeRequest() { } fakeRequest.defaults = (defaults: r.CoreOptions) => { - assert.ok( - /^gl-node\/(?[^W]+) gccl\/(?[^W]+) gccl-invocation-id\/(?[^W]+)$/.test( - defaults.headers!['x-goog-api-client'] - ) + const match = + /^gl-node\/(?[^W]+) gccl\/(?[^W]+) gccl-invocation-id\/(?[^W]+)$/.exec( + defaults.headers!['x-goog-api-client'] as string + ); + assert.ok(match); + const invocationId = match.groups!.gcclInvocationId; + assert.strictEqual( + defaults.headers!['x-goog-gcs-idempotency-token'], + invocationId ); return fakeRequest; }; diff --git a/handwritten/storage/test/resumable-upload.ts b/handwritten/storage/test/resumable-upload.ts index 6e6985878b00..0de3c85bae6b 100644 --- a/handwritten/storage/test/resumable-upload.ts +++ b/handwritten/storage/test/resumable-upload.ts @@ -877,12 +877,48 @@ describe('resumable-upload', () => { delete metadataNoHeaders.contentLength; delete metadataNoHeaders.contentType; assert.deepStrictEqual(reqOpts.data, metadataNoHeaders); + assert(reqOpts.headers); + const apiClientHeader = reqOpts.headers['x-goog-api-client']; + const match = X_GOOG_API_HEADER_REGEX.exec(apiClientHeader as string); + assert.ok(match); + const invocationId = match.groups!.gcclInvocationId; + const idempotencyToken = reqOpts.headers['x-goog-gcs-idempotency-token']; + assert.strictEqual(idempotencyToken, invocationId); done(); return {headers: {location: '/foo'}}; }; up.createURI(); }); + it('should reuse the same x-goog-gcs-idempotency-token on retry of createURI', async () => { + let invocationCount = 0; + let token1 = ''; + let token2 = ''; + + up.makeRequest = async (reqOpts: GaxiosOptions) => { + invocationCount++; + assert(reqOpts.headers); + if (invocationCount === 1) { + token1 = reqOpts.headers['x-goog-gcs-idempotency-token'] as string; + const error = new GaxiosError( + 'Retriable error', + {} as GaxiosOptions, + { status: 500 } as GaxiosResponse + ); + throw error; + } else if (invocationCount === 2) { + token2 = reqOpts.headers['x-goog-gcs-idempotency-token'] as string; + return { headers: { location: '/foo' } }; + } + return { headers: { location: '/foo' } }; + }; + + await up.createURI(); + assert.strictEqual(invocationCount, 2); + assert.ok(token1); + assert.strictEqual(token1, token2); + }); + it('should pass through the KMS key name', done => { const kmsKeyName = 'kms-key-name'; const up = upload({ From 893e5c1194897075d803367eae4ac75472779de8 Mon Sep 17 00:00:00 2001 From: Thiyagu K Date: Fri, 3 Jul 2026 11:19:34 +0000 Subject: [PATCH 11/16] feat: allow user-provided x-goog-gcs-idempotency-token and synchronize with gccl-invocation-id header --- .../storage/src/nodejs-common/service.ts | 14 +++++-- handwritten/storage/src/resumable-upload.ts | 42 +++++++++++++++++-- .../storage/test/nodejs-common/service.ts | 30 +++++++++++++ handwritten/storage/test/resumable-upload.ts | 25 +++++++++++ 4 files changed, 104 insertions(+), 7 deletions(-) diff --git a/handwritten/storage/src/nodejs-common/service.ts b/handwritten/storage/src/nodejs-common/service.ts index 24610ca1dfed..b3087172bca6 100644 --- a/handwritten/storage/src/nodejs-common/service.ts +++ b/handwritten/storage/src/nodejs-common/service.ts @@ -269,15 +269,23 @@ export class Service { if (this.providedUserAgent) { userAgent = `${this.providedUserAgent} ${userAgent}`; } - const idempotencyToken = crypto.randomUUID(); + const headers = reqOpts.headers || {}; + const userTokenKey = Object.keys(headers).find( + key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' + ); + const idempotencyToken = userTokenKey + ? (headers[userTokenKey] as string) + : crypto.randomUUID(); reqOpts.headers = { - ...reqOpts.headers, + ...headers, 'User-Agent': userAgent, 'x-goog-api-client': `${getRuntimeTrackingString()} gccl/${ pkg.version }-${getModuleFormat()} gccl-invocation-id/${idempotencyToken}`, - 'x-goog-gcs-idempotency-token': idempotencyToken, }; + if (!userTokenKey) { + reqOpts.headers['x-goog-gcs-idempotency-token'] = idempotencyToken; + } if (reqOpts[GCCL_GCS_CMD_KEY]) { reqOpts.headers['x-goog-api-client'] += diff --git a/handwritten/storage/src/resumable-upload.ts b/handwritten/storage/src/resumable-upload.ts index 138415602d3e..6be497336a13 100644 --- a/handwritten/storage/src/resumable-upload.ts +++ b/handwritten/storage/src/resumable-upload.ts @@ -338,7 +338,11 @@ export class Upload extends Writable { timeOfFirstRequest: number; isPartialUpload: boolean; - private currentInvocationId = { + private currentInvocationId: { + checkUploadStatus: string; + chunk: string; + uri: string; + } = { checkUploadStatus: crypto.randomUUID(), chunk: crypto.randomUUID(), uri: crypto.randomUUID(), @@ -806,6 +810,13 @@ export class Upload extends Writable { delete metadata.contentType; } + const userTokenKey = Object.keys(this.customRequestOptions.headers || {}).find( + key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' + ); + if (userTokenKey) { + this.currentInvocationId.uri = this.customRequestOptions.headers![userTokenKey] as string; + } + let googAPIClient = `${getRuntimeTrackingString()} gccl/${ packageJson.version }-${getModuleFormat()} gccl-invocation-id/${this.currentInvocationId.uri}`; @@ -829,11 +840,14 @@ export class Upload extends Writable { headers: { 'User-Agent': getUserAgentString(), 'x-goog-api-client': googAPIClient, - 'x-goog-gcs-idempotency-token': this.currentInvocationId.uri, ...headers, }, }; + if (!userTokenKey) { + reqOpts.headers!['x-goog-gcs-idempotency-token'] = this.currentInvocationId.uri; + } + if (metadata.contentLength) { reqOpts.headers!['X-Upload-Content-Length'] = metadata.contentLength.toString(); @@ -996,6 +1010,13 @@ export class Upload extends Writable { }, }); + const userTokenKey = Object.keys(this.customRequestOptions.headers || {}).find( + key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' + ); + if (userTokenKey) { + this.currentInvocationId.chunk = this.customRequestOptions.headers![userTokenKey] as string; + } + let googAPIClient = `${getRuntimeTrackingString()} gccl/${ packageJson.version }-${getModuleFormat()} gccl-invocation-id/${ @@ -1009,9 +1030,12 @@ export class Upload extends Writable { const headers: GaxiosOptions['headers'] = { 'User-Agent': getUserAgentString(), 'x-goog-api-client': googAPIClient, - 'x-goog-gcs-idempotency-token': this.currentInvocationId.chunk, }; + if (!userTokenKey) { + headers['x-goog-gcs-idempotency-token'] = this.currentInvocationId.chunk; + } + // If using multiple chunk upload, set appropriate header if (multiChunkMode) { // We need to know how much data is available upstream to set the `Content-Range` header. @@ -1211,6 +1235,13 @@ export class Upload extends Writable { async checkUploadStatus( config: CheckUploadStatusConfig = {}, ): Promise> { + const userTokenKey = Object.keys(this.customRequestOptions.headers || {}).find( + key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' + ); + if (userTokenKey) { + this.currentInvocationId.checkUploadStatus = this.customRequestOptions.headers![userTokenKey] as string; + } + let googAPIClient = `${getRuntimeTrackingString()} gccl/${ packageJson.version }-${getModuleFormat()} gccl-invocation-id/${ @@ -1229,10 +1260,13 @@ export class Upload extends Writable { 'Content-Range': 'bytes */*', 'User-Agent': getUserAgentString(), 'x-goog-api-client': googAPIClient, - 'x-goog-gcs-idempotency-token': this.currentInvocationId.checkUploadStatus, }, }; + if (!userTokenKey) { + opts.headers!['x-goog-gcs-idempotency-token'] = this.currentInvocationId.checkUploadStatus; + } + try { const resp = await this.makeRequest(opts); diff --git a/handwritten/storage/test/nodejs-common/service.ts b/handwritten/storage/test/nodejs-common/service.ts index b830c65eb680..857ec514f10a 100644 --- a/handwritten/storage/test/nodejs-common/service.ts +++ b/handwritten/storage/test/nodejs-common/service.ts @@ -506,6 +506,36 @@ describe('Service', () => { service.request_(reqOpts, assert.ifError); }); + it('should respect user-provided x-goog-gcs-idempotency-token case-insensitively and align it with gccl-invocation-id', done => { + const customToken = 'my-custom-token-123'; + const customReqOpts = { + ...reqOpts, + headers: { + 'X-Goog-Gcs-Idempotency-Token': customToken, + }, + }; + + service.makeAuthenticatedRequest = (reqOpts: DecorateRequestOptions) => { + const pkg = service.packageJson; + const r = new RegExp( + `^gl-node/${process.versions.node} gccl/${ + pkg.version + }-${getModuleFormat()} gccl-invocation-id/(?[^W]+)$` + ); + const match = r.exec(reqOpts.headers!['x-goog-api-client']); + assert.ok(match); + const invocationId = match.groups!.gcclInvocationId; + assert.strictEqual(invocationId, customToken); + + // Verify there is no duplicate x-goog-gcs-idempotency-token header + assert.strictEqual(reqOpts.headers!['x-goog-gcs-idempotency-token'], undefined); + assert.strictEqual(reqOpts.headers!['X-Goog-Gcs-Idempotency-Token'], customToken); + done(); + }; + + service.request_(customReqOpts, assert.ifError); + }); + it('should add the `gccl-gcs-cmd` to the api-client header when provided', done => { const expected = 'example.expected/value'; service.makeAuthenticatedRequest = (reqOpts: DecorateRequestOptions) => { diff --git a/handwritten/storage/test/resumable-upload.ts b/handwritten/storage/test/resumable-upload.ts index 0de3c85bae6b..6710f850d1a2 100644 --- a/handwritten/storage/test/resumable-upload.ts +++ b/handwritten/storage/test/resumable-upload.ts @@ -890,6 +890,31 @@ describe('resumable-upload', () => { up.createURI(); }); + it('should respect user-provided x-goog-gcs-idempotency-token case-insensitively and align it with gccl-invocation-id in createURI', async () => { + const customToken = 'my-custom-resumable-token'; + up.customRequestOptions = { + headers: { + 'X-Goog-Gcs-Idempotency-Token': customToken, + }, + }; + + up.authClient.request = async (combinedReqOpts: GaxiosOptions) => { + assert(combinedReqOpts.headers); + const apiClientHeader = combinedReqOpts.headers['x-goog-api-client']; + const match = X_GOOG_API_HEADER_REGEX.exec(apiClientHeader as string); + assert.ok(match); + const invocationId = match.groups!.gcclInvocationId; + assert.strictEqual(invocationId, customToken); + + // Verify there is no duplicate x-goog-gcs-idempotency-token header + assert.strictEqual(combinedReqOpts.headers['x-goog-gcs-idempotency-token'], undefined); + assert.strictEqual(combinedReqOpts.headers['X-Goog-Gcs-Idempotency-Token'], customToken); + return {headers: {location: '/foo'}}; + }; + + await up.createURI(); + }); + it('should reuse the same x-goog-gcs-idempotency-token on retry of createURI', async () => { let invocationCount = 0; let token1 = ''; From 27544db1d1a0810f71496c2fafad83d9ffb1febf Mon Sep 17 00:00:00 2001 From: Thiyagu K Date: Fri, 3 Jul 2026 11:36:08 +0000 Subject: [PATCH 12/16] refactor: simplify sourcemap compilation scripts and add optional chaining for idempotency token access --- handwritten/storage/package.json | 9 +++++---- handwritten/storage/src/resumable-upload.ts | 12 ++++++------ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/handwritten/storage/package.json b/handwritten/storage/package.json index fa61373b6c14..c8427df2a8b7 100644 --- a/handwritten/storage/package.json +++ b/handwritten/storage/package.json @@ -54,6 +54,7 @@ "compile:cjs": "tsc -p ./tsconfig.cjs.json", "compile:esm": "tsc -p .", "compile": "npm run compile:cjs && npm run compile:esm", + "compile:sourcemaps": "npm run compile:cjs -- --sourceMap && npm run compile:esm -- --sourceMap", "conformance-test": "mocha --parallel build/cjs/conformance-test/ --require build/cjs/conformance-test/globalHooks.js", "docs": "jsdoc -c .jsdoc.json", "fix": "gts fix", @@ -61,13 +62,13 @@ "postcompile": "cp ./src/package-json-helper.cjs ./build/cjs/src && cp ./src/package-json-helper.cjs ./build/esm/src", "postcompile:cjs": "babel --plugins gapic-tools/build/src/replaceImportMetaUrl,gapic-tools/build/src/toggleESMFlagVariable build/cjs/src/util.js -o build/cjs/src/util.js && cp internal-tooling/helpers/package.cjs.json build/cjs/package.json", "precompile": "rm -rf build/", - "preconformance-test": "npm run compile:cjs -- --sourceMap", - "predocs": "npm run compile:cjs -- --sourceMap", + "preconformance-test": "npm run compile:sourcemaps", + "predocs": "npm run compile:sourcemaps", "prelint": "cd samples; npm link ../; npm install", "prepare": "npm run compile", "presystem-test:esm": "npm run compile:esm", - "presystem-test": "npm run compile -- --sourceMap", - "pretest": "npm run compile -- --sourceMap", + "presystem-test": "npm run compile:sourcemaps", + "pretest": "npm run compile:sourcemaps", "samples-test": "npm link && cd samples/ && npm link ../ && npm test && cd ../", "system-test:esm": "mkdir -p $HOME/.config && mocha build/esm/system-test --timeout 600000 --exit", "system-test": "mkdir -p $HOME/.config && mocha build/cjs/system-test --timeout 600000 --exit", diff --git a/handwritten/storage/src/resumable-upload.ts b/handwritten/storage/src/resumable-upload.ts index 6be497336a13..0f3c9088581e 100644 --- a/handwritten/storage/src/resumable-upload.ts +++ b/handwritten/storage/src/resumable-upload.ts @@ -810,11 +810,11 @@ export class Upload extends Writable { delete metadata.contentType; } - const userTokenKey = Object.keys(this.customRequestOptions.headers || {}).find( + const userTokenKey = Object.keys(this.customRequestOptions?.headers || {}).find( key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); if (userTokenKey) { - this.currentInvocationId.uri = this.customRequestOptions.headers![userTokenKey] as string; + this.currentInvocationId.uri = this.customRequestOptions?.headers?.[userTokenKey] as string; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -1010,11 +1010,11 @@ export class Upload extends Writable { }, }); - const userTokenKey = Object.keys(this.customRequestOptions.headers || {}).find( + const userTokenKey = Object.keys(this.customRequestOptions?.headers || {}).find( key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); if (userTokenKey) { - this.currentInvocationId.chunk = this.customRequestOptions.headers![userTokenKey] as string; + this.currentInvocationId.chunk = this.customRequestOptions?.headers?.[userTokenKey] as string; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -1235,11 +1235,11 @@ export class Upload extends Writable { async checkUploadStatus( config: CheckUploadStatusConfig = {}, ): Promise> { - const userTokenKey = Object.keys(this.customRequestOptions.headers || {}).find( + const userTokenKey = Object.keys(this.customRequestOptions?.headers || {}).find( key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); if (userTokenKey) { - this.currentInvocationId.checkUploadStatus = this.customRequestOptions.headers![userTokenKey] as string; + this.currentInvocationId.checkUploadStatus = this.customRequestOptions?.headers?.[userTokenKey] as string; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ From 8f7964cd01a1166caa66eb83967aaec549c307f0 Mon Sep 17 00:00:00 2001 From: Thiyagu K Date: Fri, 3 Jul 2026 11:54:00 +0000 Subject: [PATCH 13/16] fix: ignore invalid empty or undefined idempotency tokens and fallback to generating a UUID --- .../storage/src/nodejs-common/service.ts | 8 +++--- handwritten/storage/src/resumable-upload.ts | 24 ++++++++++------- .../storage/test/nodejs-common/service.ts | 27 +++++++++++++++++++ handwritten/storage/test/resumable-upload.ts | 23 ++++++++++++++++ 4 files changed, 70 insertions(+), 12 deletions(-) diff --git a/handwritten/storage/src/nodejs-common/service.ts b/handwritten/storage/src/nodejs-common/service.ts index b3087172bca6..7f60dc7a14d3 100644 --- a/handwritten/storage/src/nodejs-common/service.ts +++ b/handwritten/storage/src/nodejs-common/service.ts @@ -273,8 +273,10 @@ export class Service { const userTokenKey = Object.keys(headers).find( key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); - const idempotencyToken = userTokenKey - ? (headers[userTokenKey] as string) + const userTokenValue = userTokenKey ? headers[userTokenKey] : undefined; + const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue; + const idempotencyToken = hasValidUserToken + ? (userTokenValue as string) : crypto.randomUUID(); reqOpts.headers = { ...headers, @@ -283,7 +285,7 @@ export class Service { pkg.version }-${getModuleFormat()} gccl-invocation-id/${idempotencyToken}`, }; - if (!userTokenKey) { + if (!hasValidUserToken) { reqOpts.headers['x-goog-gcs-idempotency-token'] = idempotencyToken; } diff --git a/handwritten/storage/src/resumable-upload.ts b/handwritten/storage/src/resumable-upload.ts index 0f3c9088581e..caf12be1411e 100644 --- a/handwritten/storage/src/resumable-upload.ts +++ b/handwritten/storage/src/resumable-upload.ts @@ -813,8 +813,10 @@ export class Upload extends Writable { const userTokenKey = Object.keys(this.customRequestOptions?.headers || {}).find( key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); - if (userTokenKey) { - this.currentInvocationId.uri = this.customRequestOptions?.headers?.[userTokenKey] as string; + const userTokenValue = userTokenKey ? this.customRequestOptions?.headers?.[userTokenKey] : undefined; + const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue; + if (hasValidUserToken) { + this.currentInvocationId.uri = userTokenValue as string; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -844,7 +846,7 @@ export class Upload extends Writable { }, }; - if (!userTokenKey) { + if (!hasValidUserToken) { reqOpts.headers!['x-goog-gcs-idempotency-token'] = this.currentInvocationId.uri; } @@ -1013,8 +1015,10 @@ export class Upload extends Writable { const userTokenKey = Object.keys(this.customRequestOptions?.headers || {}).find( key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); - if (userTokenKey) { - this.currentInvocationId.chunk = this.customRequestOptions?.headers?.[userTokenKey] as string; + const userTokenValue = userTokenKey ? this.customRequestOptions?.headers?.[userTokenKey] : undefined; + const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue; + if (hasValidUserToken) { + this.currentInvocationId.chunk = userTokenValue as string; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -1032,7 +1036,7 @@ export class Upload extends Writable { 'x-goog-api-client': googAPIClient, }; - if (!userTokenKey) { + if (!hasValidUserToken) { headers['x-goog-gcs-idempotency-token'] = this.currentInvocationId.chunk; } @@ -1238,8 +1242,10 @@ export class Upload extends Writable { const userTokenKey = Object.keys(this.customRequestOptions?.headers || {}).find( key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); - if (userTokenKey) { - this.currentInvocationId.checkUploadStatus = this.customRequestOptions?.headers?.[userTokenKey] as string; + const userTokenValue = userTokenKey ? this.customRequestOptions?.headers?.[userTokenKey] : undefined; + const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue; + if (hasValidUserToken) { + this.currentInvocationId.checkUploadStatus = userTokenValue as string; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -1263,7 +1269,7 @@ export class Upload extends Writable { }, }; - if (!userTokenKey) { + if (!hasValidUserToken) { opts.headers!['x-goog-gcs-idempotency-token'] = this.currentInvocationId.checkUploadStatus; } diff --git a/handwritten/storage/test/nodejs-common/service.ts b/handwritten/storage/test/nodejs-common/service.ts index 857ec514f10a..66ebd1cc8f53 100644 --- a/handwritten/storage/test/nodejs-common/service.ts +++ b/handwritten/storage/test/nodejs-common/service.ts @@ -536,6 +536,33 @@ describe('Service', () => { service.request_(customReqOpts, assert.ifError); }); + it('should ignore invalid user-provided idempotency tokens and fallback to generating a UUID', done => { + const customReqOpts = { + ...reqOpts, + headers: { + 'X-Goog-Gcs-Idempotency-Token': undefined as unknown as string, + }, + }; + + service.makeAuthenticatedRequest = (reqOpts: DecorateRequestOptions) => { + const pkg = service.packageJson; + const r = new RegExp( + `^gl-node/${process.versions.node} gccl/${pkg.version + }-${getModuleFormat()} gccl-invocation-id/(?[^W]+)$` + ); + const match = r.exec(reqOpts.headers!['x-goog-api-client']); + assert.ok(match); + const invocationId = match.groups!.gcclInvocationId; + + // Verify a fallback token was generated and matches the invocation ID + const idempotencyToken = reqOpts.headers!['x-goog-gcs-idempotency-token']; + assert.strictEqual(idempotencyToken, invocationId); + done(); + }; + + service.request_(customReqOpts, assert.ifError); + }); + it('should add the `gccl-gcs-cmd` to the api-client header when provided', done => { const expected = 'example.expected/value'; service.makeAuthenticatedRequest = (reqOpts: DecorateRequestOptions) => { diff --git a/handwritten/storage/test/resumable-upload.ts b/handwritten/storage/test/resumable-upload.ts index 6710f850d1a2..a5c5c2705ab4 100644 --- a/handwritten/storage/test/resumable-upload.ts +++ b/handwritten/storage/test/resumable-upload.ts @@ -915,6 +915,29 @@ describe('resumable-upload', () => { await up.createURI(); }); + it('should ignore invalid user-provided idempotency tokens and fallback to generating a UUID in createURI', async () => { + up.customRequestOptions = { + headers: { + 'X-Goog-Gcs-Idempotency-Token': '', // invalid empty string + }, + }; + + up.authClient.request = async (combinedReqOpts: GaxiosOptions) => { + assert(combinedReqOpts.headers); + const apiClientHeader = combinedReqOpts.headers['x-goog-api-client']; + const match = X_GOOG_API_HEADER_REGEX.exec(apiClientHeader as string); + assert.ok(match); + const invocationId = match.groups!.gcclInvocationId; + + // Verify a fallback token was generated and matches the invocation ID + const idempotencyToken = combinedReqOpts.headers['x-goog-gcs-idempotency-token']; + assert.strictEqual(idempotencyToken, invocationId); + return {headers: {location: '/foo'}}; + }; + + await up.createURI(); + }); + it('should reuse the same x-goog-gcs-idempotency-token on retry of createURI', async () => { let invocationCount = 0; let token1 = ''; From 45c6892c7d3eef7cdfa9dcee809f739474d7dff0 Mon Sep 17 00:00:00 2001 From: Thiyagu K Date: Fri, 3 Jul 2026 13:19:11 +0000 Subject: [PATCH 14/16] fix: remove user-provided token header when injecting GCS idempotency token to prevent conflicts --- handwritten/storage/src/nodejs-common/service.ts | 3 +++ handwritten/storage/src/resumable-upload.ts | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/handwritten/storage/src/nodejs-common/service.ts b/handwritten/storage/src/nodejs-common/service.ts index 7f60dc7a14d3..4273ed349744 100644 --- a/handwritten/storage/src/nodejs-common/service.ts +++ b/handwritten/storage/src/nodejs-common/service.ts @@ -286,6 +286,9 @@ export class Service { }-${getModuleFormat()} gccl-invocation-id/${idempotencyToken}`, }; if (!hasValidUserToken) { + if (userTokenKey) { + delete reqOpts.headers[userTokenKey]; + } reqOpts.headers['x-goog-gcs-idempotency-token'] = idempotencyToken; } diff --git a/handwritten/storage/src/resumable-upload.ts b/handwritten/storage/src/resumable-upload.ts index caf12be1411e..b1be2e116766 100644 --- a/handwritten/storage/src/resumable-upload.ts +++ b/handwritten/storage/src/resumable-upload.ts @@ -847,6 +847,9 @@ export class Upload extends Writable { }; if (!hasValidUserToken) { + if (userTokenKey) { + delete reqOpts.headers![userTokenKey]; + } reqOpts.headers!['x-goog-gcs-idempotency-token'] = this.currentInvocationId.uri; } @@ -1037,6 +1040,9 @@ export class Upload extends Writable { }; if (!hasValidUserToken) { + if (userTokenKey) { + delete headers[userTokenKey]; + } headers['x-goog-gcs-idempotency-token'] = this.currentInvocationId.chunk; } @@ -1270,6 +1276,9 @@ export class Upload extends Writable { }; if (!hasValidUserToken) { + if (userTokenKey) { + delete opts.headers![userTokenKey]; + } opts.headers!['x-goog-gcs-idempotency-token'] = this.currentInvocationId.checkUploadStatus; } From 3b509b0eb79e0da948ee7f69b71cc3e35e8c1952 Mon Sep 17 00:00:00 2001 From: Thiyagu K Date: Fri, 3 Jul 2026 13:55:22 +0000 Subject: [PATCH 15/16] fix: improve idempotency token validation and standardize token removal logic during resumable uploads --- .../storage/src/nodejs-common/service.ts | 2 +- handwritten/storage/src/resumable-upload.ts | 21 ++++++++----------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/handwritten/storage/src/nodejs-common/service.ts b/handwritten/storage/src/nodejs-common/service.ts index 4273ed349744..5a54ebf6ff86 100644 --- a/handwritten/storage/src/nodejs-common/service.ts +++ b/handwritten/storage/src/nodejs-common/service.ts @@ -274,7 +274,7 @@ export class Service { key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); const userTokenValue = userTokenKey ? headers[userTokenKey] : undefined; - const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue; + const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue !== ''; const idempotencyToken = hasValidUserToken ? (userTokenValue as string) : crypto.randomUUID(); diff --git a/handwritten/storage/src/resumable-upload.ts b/handwritten/storage/src/resumable-upload.ts index b1be2e116766..5abd829266cb 100644 --- a/handwritten/storage/src/resumable-upload.ts +++ b/handwritten/storage/src/resumable-upload.ts @@ -814,9 +814,11 @@ export class Upload extends Writable { key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); const userTokenValue = userTokenKey ? this.customRequestOptions?.headers?.[userTokenKey] : undefined; - const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue; + const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue !== ''; if (hasValidUserToken) { this.currentInvocationId.uri = userTokenValue as string; + } else if (userTokenKey && this.customRequestOptions?.headers) { + delete this.customRequestOptions.headers[userTokenKey]; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -847,9 +849,6 @@ export class Upload extends Writable { }; if (!hasValidUserToken) { - if (userTokenKey) { - delete reqOpts.headers![userTokenKey]; - } reqOpts.headers!['x-goog-gcs-idempotency-token'] = this.currentInvocationId.uri; } @@ -1019,9 +1018,11 @@ export class Upload extends Writable { key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); const userTokenValue = userTokenKey ? this.customRequestOptions?.headers?.[userTokenKey] : undefined; - const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue; + const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue !== ''; if (hasValidUserToken) { this.currentInvocationId.chunk = userTokenValue as string; + } else if (userTokenKey && this.customRequestOptions?.headers) { + delete this.customRequestOptions.headers[userTokenKey]; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -1040,9 +1041,6 @@ export class Upload extends Writable { }; if (!hasValidUserToken) { - if (userTokenKey) { - delete headers[userTokenKey]; - } headers['x-goog-gcs-idempotency-token'] = this.currentInvocationId.chunk; } @@ -1249,9 +1247,11 @@ export class Upload extends Writable { key => key.toLowerCase() === 'x-goog-gcs-idempotency-token' ); const userTokenValue = userTokenKey ? this.customRequestOptions?.headers?.[userTokenKey] : undefined; - const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue; + const hasValidUserToken = typeof userTokenValue === 'string' && userTokenValue !== ''; if (hasValidUserToken) { this.currentInvocationId.checkUploadStatus = userTokenValue as string; + } else if (userTokenKey && this.customRequestOptions?.headers) { + delete this.customRequestOptions.headers[userTokenKey]; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -1276,9 +1276,6 @@ export class Upload extends Writable { }; if (!hasValidUserToken) { - if (userTokenKey) { - delete opts.headers![userTokenKey]; - } opts.headers!['x-goog-gcs-idempotency-token'] = this.currentInvocationId.checkUploadStatus; } From 9d060dc4ffe823b4424be16262c6392584f7682d Mon Sep 17 00:00:00 2001 From: Thiyagu K Date: Thu, 9 Jul 2026 07:08:24 +0000 Subject: [PATCH 16/16] fix: perform immutable updates on customRequestOptions to avoid mutating shared header objects --- handwritten/storage/src/resumable-upload.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/handwritten/storage/src/resumable-upload.ts b/handwritten/storage/src/resumable-upload.ts index 5abd829266cb..d1adfee9d153 100644 --- a/handwritten/storage/src/resumable-upload.ts +++ b/handwritten/storage/src/resumable-upload.ts @@ -818,7 +818,11 @@ export class Upload extends Writable { if (hasValidUserToken) { this.currentInvocationId.uri = userTokenValue as string; } else if (userTokenKey && this.customRequestOptions?.headers) { - delete this.customRequestOptions.headers[userTokenKey]; + this.customRequestOptions = { + ...this.customRequestOptions, + headers: { ...this.customRequestOptions.headers }, + }; + delete this.customRequestOptions.headers![userTokenKey]; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -1022,7 +1026,11 @@ export class Upload extends Writable { if (hasValidUserToken) { this.currentInvocationId.chunk = userTokenValue as string; } else if (userTokenKey && this.customRequestOptions?.headers) { - delete this.customRequestOptions.headers[userTokenKey]; + this.customRequestOptions = { + ...this.customRequestOptions, + headers: { ...this.customRequestOptions.headers }, + }; + delete this.customRequestOptions.headers![userTokenKey]; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${ @@ -1251,7 +1259,11 @@ export class Upload extends Writable { if (hasValidUserToken) { this.currentInvocationId.checkUploadStatus = userTokenValue as string; } else if (userTokenKey && this.customRequestOptions?.headers) { - delete this.customRequestOptions.headers[userTokenKey]; + this.customRequestOptions = { + ...this.customRequestOptions, + headers: { ...this.customRequestOptions.headers }, + }; + delete this.customRequestOptions.headers![userTokenKey]; } let googAPIClient = `${getRuntimeTrackingString()} gccl/${