Skip to content

feat(storage): Set CRC32C as the default checksum option#7547

Merged
pearigee merged 11 commits into
googleapis:mainfrom
thiyaguk09:feat/default-crc32c
Apr 14, 2026
Merged

feat(storage): Set CRC32C as the default checksum option#7547
pearigee merged 11 commits into
googleapis:mainfrom
thiyaguk09:feat/default-crc32c

Conversation

@thiyaguk09
Copy link
Copy Markdown
Contributor

@thiyaguk09 thiyaguk09 commented Mar 10, 2026

This pull request significantly enhances the data integrity features of the transfer manager by introducing CRC32C checksum validation. It updates the system to fully support CRC32C as a validation option and configures it as the default for file uploads, thereby strengthening data consistency checks during transfer operations.

Highlights

  • New Checksum Option: The crc32c checksum option has been added as a valid validation method for file uploads.
  • Default Validation: CRC32C is now set as the default checksum validation for TransferManager uploads when no specific validation option is provided.
  • CRC32C Implementation: Logic was implemented to calculate and include the x-goog-hash header with the crc32c value during multipart uploads.
  • Enhanced Testing: New unit tests were added to ensure that both explicit and default crc32c validation behaviors function as expected.

This is the relevant ticket: b/428117019

thiyaguk09 and others added 2 commits March 6, 2026 15:36
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@product-auto-label product-auto-label Bot added the api: storage Issues related to the Cloud Storage API. label Mar 10, 2026
@thiyaguk09 thiyaguk09 marked this pull request as ready for review March 10, 2026 08:34
@thiyaguk09 thiyaguk09 requested a review from a team as a code owner March 10, 2026 08:34
@quirogas quirogas added the priority: p2 Moderately-important priority. Fix may not be included in next release. label Mar 10, 2026
@pearigee
Copy link
Copy Markdown
Contributor

Friendly ping on this PR! Is this still a work in progress?

@thiyaguk09
Copy link
Copy Markdown
Contributor Author

Friendly ping on this PR! Is this still a work in progress?

No, it's ready to be merged.

@pearigee
Copy link
Copy Markdown
Contributor

Thanks for the update! Looks like we are still waiting on a review from gcs-team?

@pearigee pearigee merged commit 1a693aa into googleapis:main Apr 14, 2026
32 checks passed
thiyaguk09 added a commit to thiyaguk09/google-cloud-node-fork that referenced this pull request May 5, 2026
…7547)

* fix-Set crc32c as the default option

* code fix

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Gabe Pearhill <86282859+pearigee@users.noreply.github.com>
@thiyaguk09 thiyaguk09 deleted the feat/default-crc32c branch May 7, 2026 07:29
@codyoss codyoss mentioned this pull request May 11, 2026
gcf-merge-on-green Bot pushed a commit that referenced this pull request May 11, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>common: 6.0.1</summary>

## [6.0.1](https://togithub.com/googleapis/google-cloud-node/compare/common-v6.0.0...common-v6.0.1) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>jsdoc-fresh: 5.0.3</summary>

## [5.0.3](https://togithub.com/googleapis/google-cloud-node/compare/jsdoc-fresh-v5.0.2...jsdoc-fresh-v5.0.3) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>jsdoc-region-tag: 4.0.2</summary>

## [4.0.2](https://togithub.com/googleapis/google-cloud-node/compare/jsdoc-region-tag-v4.0.1...jsdoc-region-tag-v4.0.2) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>pack-n-play: 4.2.2</summary>

## [4.2.2](https://togithub.com/googleapis/google-cloud-node/compare/pack-n-play-v4.2.1...pack-n-play-v4.2.2) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>gapic-generator: 4.11.14</summary>

## [4.11.14](https://togithub.com/googleapis/google-cloud-node/compare/gapic-generator-v4.11.13...gapic-generator-v4.11.14) (2026-05-11)


### Bug Fixes

* Add logic to check for IAM RPC methods within the service before adding mixin to avoid generating duplicate methods ([#7929](https://togithub.com/googleapis/google-cloud-node/issues/7929)) ([b908005](https://togithub.com/googleapis/google-cloud-node/commit/b90800518eb02799a812e6c2d21f57216564da30))
* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
* **gapic-generator-typescript:** Add .boolean() to diregapic and handwritten_layer ([#8100](https://togithub.com/googleapis/google-cloud-node/issues/8100)) ([5b4ab3b](https://togithub.com/googleapis/google-cloud-node/commit/5b4ab3bd8487ad5ba4816157e0deb33d418ed836))
</details>

<details><summary>google-gax: 5.0.7</summary>

## [5.0.7](https://togithub.com/googleapis/google-cloud-node/compare/google-gax-v5.0.6...google-gax-v5.0.7) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>gaxios: 7.1.5</summary>

## [7.1.5](https://togithub.com/googleapis/google-cloud-node/compare/gaxios-v7.1.4...gaxios-v7.1.5) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>gcp-metadata: 8.1.3</summary>

## [8.1.3](https://togithub.com/googleapis/google-cloud-node/compare/gcp-metadata-v8.1.2...gcp-metadata-v8.1.3) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>google-auth-library: 10.6.3</summary>

## [10.6.3](https://togithub.com/googleapis/google-cloud-node/compare/google-auth-library-v10.6.2...google-auth-library-v10.6.3) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>google-logging-utils: 1.1.4</summary>

## [1.1.4](https://togithub.com/googleapis/google-cloud-node/compare/google-logging-utils-v1.1.3...google-logging-utils-v1.1.4) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>googleapis-common: 8.0.2</summary>

## [8.0.2](https://togithub.com/googleapis/google-cloud-node/compare/googleapis-common-v8.0.1...googleapis-common-v8.0.2) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>proto3-json-serializer: 3.0.5</summary>

## [3.0.5](https://togithub.com/googleapis/google-cloud-node/compare/proto3-json-serializer-v3.0.4...proto3-json-serializer-v3.0.5) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>retry-request: 8.0.3</summary>

## [8.0.3](https://togithub.com/googleapis/google-cloud-node/compare/retry-request-v8.0.2...retry-request-v8.0.3) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>gapic-tools: 1.0.6</summary>

## [1.0.6](https://togithub.com/googleapis/google-cloud-node/compare/gapic-tools-v1.0.5...gapic-tools-v1.0.6) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>paginator: 6.0.1</summary>

## [6.0.1](https://togithub.com/googleapis/google-cloud-node/compare/paginator-v6.0.0...paginator-v6.0.1) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>precise-date: 5.0.1</summary>

## [5.0.1](https://togithub.com/googleapis/google-cloud-node/compare/precise-date-v5.0.0...precise-date-v5.0.1) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>projectify: 5.0.1</summary>

## [5.0.1](https://togithub.com/googleapis/google-cloud-node/compare/projectify-v5.0.0...projectify-v5.0.1) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>promisify: 5.0.1</summary>

## [5.0.1](https://togithub.com/googleapis/google-cloud-node/compare/promisify-v5.0.0...promisify-v5.0.1) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>bigquery: 8.3.1</summary>

## [8.3.1](https://togithub.com/googleapis/google-cloud-node/compare/bigquery-v8.3.0...bigquery-v8.3.1) (2026-05-11)


### Bug Fixes

* **bigquery:** Run npm run types in correct directory in owlbot ([#8061](https://togithub.com/googleapis/google-cloud-node/issues/8061)) ([0948b35](https://togithub.com/googleapis/google-cloud-node/commit/0948b354bab60bbae906b7e9f8996b5b35754361))
* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
* Pin @sinonjs/fake-timers to unblock build in bigquery ([#8121](https://togithub.com/googleapis/google-cloud-node/issues/8121)) ([374167b](https://togithub.com/googleapis/google-cloud-node/commit/374167bd4c1b45c38112938df55e821fdeb82c97))
</details>

<details><summary>bigquery-storage: 5.1.1</summary>

## [5.1.1](https://togithub.com/googleapis/google-cloud-node/compare/bigquery-storage-v5.1.0...bigquery-storage-v5.1.1) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
* Upgrade the protobufjs dependency for bigquery storage ([#8136](https://togithub.com/googleapis/google-cloud-node/issues/8136)) ([778adb0](https://togithub.com/googleapis/google-cloud-node/commit/778adb0d5f368448f99bf68dcbcf37c3a7394f5d))
</details>

<details><summary>bigtable: 6.5.1</summary>

## [6.5.1](https://togithub.com/googleapis/google-cloud-node/compare/bigtable-v6.5.0...bigtable-v6.5.1) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>cloud-profiler: 6.0.5</summary>

## [6.0.5](https://togithub.com/googleapis/google-cloud-node/compare/cloud-profiler-v6.0.4...cloud-profiler-v6.0.5) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>datastore: 10.1.1</summary>

## [10.1.1](https://togithub.com/googleapis/google-cloud-node/compare/datastore-v10.1.0...datastore-v10.1.1) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
* Upgrade protobufjs and fix legacy key decoding in Datastore ([#8088](https://togithub.com/googleapis/google-cloud-node/issues/8088)) ([939d18d](https://togithub.com/googleapis/google-cloud-node/commit/939d18dfd14295405a06d2023651d006d4992310))
</details>

<details><summary>firestore: 8.6.0</summary>

## [8.6.0](https://togithub.com/googleapis/google-cloud-node/compare/firestore-v8.5.0...firestore-v8.6.0) (2026-05-11)


### Features

* **firestore:** Added FieldValue.minimum() and FieldValue.maximum() ([#8151](https://togithub.com/googleapis/google-cloud-node/issues/8151)) ([41671b0](https://togithub.com/googleapis/google-cloud-node/commit/41671b08ba94df02ab6fd42ea216dbcfe51d18ad))
* **firestore:** Added search stage support for languageCode, offset, limit, and retrievalDepth ([#8161](https://togithub.com/googleapis/google-cloud-node/issues/8161)) ([4acb075](https://togithub.com/googleapis/google-cloud-node/commit/4acb07593b5c6a1387a1dfb97bf7ab4cd399f329))


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
* **firestore:** Ensure limit(0) is properly serialized in query requests ([#8076](https://togithub.com/googleapis/google-cloud-node/issues/8076)) ([8631008](https://togithub.com/googleapis/google-cloud-node/commit/86310088f5dea61b4dfe3580e273b34aad79eac0)), closes [#7382](https://togithub.com/googleapis/google-cloud-node/issues/7382)
* **firestore:** Respect `ignoreUndefinedProperties` in subpipelines ([#8089](https://togithub.com/googleapis/google-cloud-node/issues/8089)) ([a9f6c3f](https://togithub.com/googleapis/google-cloud-node/commit/a9f6c3f3f721ba4920d925de6afa24ba9e81c7ad))
</details>

<details><summary>logging: 11.2.2</summary>

## [11.2.2](https://togithub.com/googleapis/google-cloud-node/compare/logging-v11.2.1...logging-v11.2.2) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>logging-bunyan: 5.1.2</summary>

## [5.1.2](https://togithub.com/googleapis/google-cloud-node/compare/logging-bunyan-v5.1.1...logging-bunyan-v5.1.2) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>logging-winston: 6.0.2</summary>

## [6.0.2](https://togithub.com/googleapis/google-cloud-node/compare/logging-winston-v6.0.1...logging-winston-v6.0.2) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
</details>

<details><summary>pubsub: 5.3.1</summary>

## [5.3.1](https://togithub.com/googleapis/google-cloud-node/compare/pubsub-v5.3.0...pubsub-v5.3.1) (2026-05-11)


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
* **pubsub:** Remove messages from leasing on nackWithResponse ([#7817](https://togithub.com/googleapis/google-cloud-node/issues/7817)) ([841f0ca](https://togithub.com/googleapis/google-cloud-node/commit/841f0ca06d3d70278bb1d0c99535ad3c73c3d5d4))
</details>

<details><summary>storage: 7.20.0</summary>

## [7.20.0](https://togithub.com/googleapis/google-cloud-node/compare/storage-v7.19.0...storage-v7.20.0) (2026-05-11)


### Features

* **storage:** Implement Object Contexts with advanced filtering and validation ([#7548](https://togithub.com/googleapis/google-cloud-node/issues/7548)) ([d60757e](https://togithub.com/googleapis/google-cloud-node/commit/d60757e2c61077ee3dfd881be45ef7ca554bd038))
* **storage:** Implement robust path validation and structured skip reporting ([#7546](https://togithub.com/googleapis/google-cloud-node/issues/7546)) ([113d05c](https://togithub.com/googleapis/google-cloud-node/commit/113d05c3bf068487bd81a7d4dbb4510f89142618))
* **storage:** Set CRC32C as the default checksum option ([#7547](https://togithub.com/googleapis/google-cloud-node/issues/7547)) ([1a693aa](https://togithub.com/googleapis/google-cloud-node/commit/1a693aa3ade3ffb2ac25ff54677602d199b5e3da))


### Bug Fixes

* Bump all node submodules ([#8178](https://togithub.com/googleapis/google-cloud-node/issues/8178)) ([9fd76ef](https://togithub.com/googleapis/google-cloud-node/commit/9fd76eff87b1cf02db6205f141449b31e8ab7d8f))
* Resolve flakiness in Service retry system tests ([#7945](https://togithub.com/googleapis/google-cloud-node/issues/7945)) ([1a44778](https://togithub.com/googleapis/google-cloud-node/commit/1a44778856255471fa96e7df26e232ffb543d87c))
</details>

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: storage Issues related to the Cloud Storage API. priority: p2 Moderately-important priority. Fix may not be included in next release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants