Skip to content

chore(deps): update dependency google-cloud-storage to v3.1.1 #13445

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate-bot
Copy link
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
google-cloud-storage ==2.9.0 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ==2.10.0 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ==2.18.2 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ==2.17.0 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ==2.0.0 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ==2.12.0 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ==2.13.0 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ==2.16.0 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ==2.19.0 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ~=2.10.0 -> ~=3.1.1 age adoption passing confidence
google-cloud-storage ==3.1.0 -> ==3.1.1 age adoption passing confidence
google-cloud-storage ==2.18.0 -> ==3.1.1 age adoption passing confidence

Release Notes

googleapis/python-storage (google-cloud-storage)

v3.1.1

Compare Source

Bug Fixes
  • Add a check for partial response data (#​1487) (7e0412a)
  • Add trove classifier for Python 3.13 (0100916)
  • deps: Require google-crc32c >= 1.1.3 (0100916)
  • deps: Require protobuf >= 3.20.2, < 7.0.0 (0100916)
  • deps: Require requests >= 2.22.0 (0100916)
  • Remove setup.cfg configuration for creating universal wheels (#​1448) (d3b6b3f)
  • Resolve issue where pre-release versions of dependencies are installed (0100916)
  • Segmentation fault in tink while writing data (#​1490) (2a46c0b)
Documentation

v3.1.0

Compare Source

Features

v3.0.0

Compare Source

⚠ BREAKING CHANGES

Please consult the README for details on this major version release.

  • The default checksum strategy for uploads has changed from None to "auto" (#​1383)
  • The default checksum strategy for downloads has changed from "md5" to "auto" (#​1383)
  • Deprecated positional argument "num_retries" has been removed (#​1377)
  • Deprecated argument "text_mode" has been removed (#​1379)
  • Blob.download_to_filename() now deletes the empty destination file on a 404 (#​1394)
  • Media operations now use the same retry backoff, timeout and custom predicate system as non-media operations, which may slightly impact default retry behavior (#​1385)
  • Retries are now enabled by default for uploads, blob deletes and blob metadata updates (#​1400)
Features
Bug Fixes
Documentation

v2.19.0

Compare Source

Features
Bug Fixes
  • Allow signed post policy v4 with service account and token (#​1356) (8ec02c0)
  • Do not spam the log with checksum related INFO messages when downloading using transfer_manager (#​1357) (42392ef)

v2.18.2

Compare Source

Bug Fixes
  • Add regression test for range read retry issue and bump dependency to fix (#​1338) (0323647)

v2.18.1

Compare Source

Bug Fixes
  • Properly escape URL construction for XML MPU API, fixing a path traversal issue that allowed uploads to unintended buckets. Reported by @​jdomeracki. (#​1333) (bf4d0e0)

v2.18.0

Compare Source

Features
  • Add OpenTelemetry Tracing support as a preview feature (#​1288) (c2ab0e0)
Bug Fixes

v2.17.0

Compare Source

Features
Bug Fixes
Documentation

v2.16.0

Compare Source

Features

v2.15.0

Compare Source

Features
Bug Fixes

v2.14.0

Compare Source

Features
Bug Fixes

v2.13.0

Compare Source

Features
Bug Fixes
Documentation

v2.12.0

Compare Source

Features
Bug Fixes
  • Bump python-auth version to fix issue and remove workaround (#​1158) (28c02dd)
  • Mark _deprecate_threads_param as a wrapper to unblock introspection and docs (#​1122) (69bd4a9)
Documentation
  • Add snippets for upload_chunks_concurrently and add chunk_size (#​1135) (3a0f551)
  • Update formatting and wording in transfer_manager docstrings (#​1163) (9e460d8)

v2.11.0

Compare Source

Features
  • Add gccl-gcs-cmd field to X-Goog-API-Client header for Transfer Manager calls (#​1119) (14a1909)
  • Add transfer_manager.upload_chunks_concurrently using the XML MPU API (#​1115) (56aeb87)
  • Support configurable retries in upload_chunks_concurrently (#​1120) (1271686)
Bug Fixes
Documentation

v2.10.0

Compare Source

Features
Bug Fixes
  • Extend wait for bucket metadata consistency in system tests (#​1053) (d78586c)
Documentation

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Never, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate-bot renovate-bot requested review from a team as code owners June 18, 2025 14:15
@trusted-contributions-gcf trusted-contributions-gcf bot added kokoro:force-run Add this label to force Kokoro to re-run the tests. owlbot:run Add this label to trigger the Owlbot post processor. labels Jun 18, 2025
@product-auto-label product-auto-label bot added samples Issues that are directly related to samples. api: appengine Issues related to the App Engine Admin API API. api: asset api: auth Issues related to the Google Authentication API api: automl Issues related to the AutoML API. api: batch Issues related to the Batch API. api: cloudfunctions Issues related to the Cloud Run functions API. api: composer Issues related to the Cloud Composer API. api: compute Issues related to the Compute Engine API. labels Jun 18, 2025
@product-auto-label product-auto-label bot added api: dataproc Issues related to the Dataproc API. api: dlp Issues related to the Sensitive Data Protection API. api: documentai Issues related to the Document AI API. labels Jun 18, 2025
@kokoro-team kokoro-team removed the kokoro:force-run Add this label to force Kokoro to re-run the tests. label Jun 18, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @renovate-bot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request, automatically generated by Renovate, updates the google-cloud-storage Python client library across various sample applications and test configurations. The update brings the dependency to version 3.1.1, incorporating numerous bug fixes, new features, and breaking changes introduced in the 3.0.0 and 3.1.0 releases.

Highlights

  • Core Dependency Upgrade: The google-cloud-storage Python client library has been updated to its latest stable version, 3.1.1.
  • Major Version Transition: This update includes a significant jump from previous 2.x versions to 3.x, which introduces several breaking changes such as altered default checksum strategies for uploads/downloads, removal of deprecated arguments (num_retries, text_mode), and changes to retry behavior for media operations.
  • Feature Enhancements: New features from v3.0.0 and v3.1.0 are now available, including an api_key argument for the Client constructor, Bucket.move_blob() for HNS-enabled buckets, and improved checksum options.
  • Bug Fixes and Stability: The update incorporates various bug fixes, including a check for partial response data, resolution of pre-release dependency installation issues, and a fix for a segmentation fault in tink during data writing.
  • Widespread Application: The dependency update is applied consistently across numerous requirements.txt and requirements-test.txt files throughout the repository, ensuring all relevant samples leverage the updated library.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This PR updates google-cloud-storage to v3.1.1 across numerous requirements.txt files. This is a significant update, particularly for samples and applications moving from v2.x.x versions of the library to v3.1.1.

Key Concerns & Recommendations:

  1. Python Version Incompatibility (Critical):
    google-cloud-storage >= 3.0.0 (which includes the target v3.1.1) requires Python 3.7+. Several requirements.txt files in this PR currently specify compatibility with python_version < '3.7' (implying Python 3.6 support). This update, as is, will cause installation failures or runtime errors in Python 3.6 environments for those specific samples/applications. This needs to be addressed urgently. I've added a specific comment on auth/cloud-client/requirements.txt detailing this critical issue, which applies to multiple files.

  2. Breaking API Changes in v3.0.0 (Critical):
    The upgrade from v2.x.x to v3.x.x (specifically the v3.0.0 release) introduced several breaking changes. Applications relying on the previous default behaviors or deprecated/renamed features will need to be updated. Key breaking changes include modifications to default checksum strategies, removal of certain arguments (num_retries, text_mode), changes in Blob.download_to_filename() behavior on 404s, updates to retry mechanisms, and method renames (e.g., Blob.from_string() to Blob.from_uri()). The PR description includes detailed release notes which should be reviewed carefully. I've added a specific comment on appengine/flexible/storage/requirements.txt highlighting these concerns for projects making this major version jump.

  3. Thorough Testing Required:
    Given these significant changes, it is crucial that all affected samples and applications are thoroughly tested to ensure they function correctly and as expected with google-cloud-storage v3.1.1.

This automated dependency update by Renovate underscores the importance of careful review and adaptation when major library versions with breaking changes are introduced.

@@ -1,2 +1,2 @@
google-cloud-storage==2.9.0; python_version < '3.7'
google-cloud-storage==2.9.0; python_version > '3.6'
google-cloud-storage==3.1.1; python_version < '3.7'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

Critical: Python Version Incompatibility

The updated google-cloud-storage==3.1.1 requires Python 3.7 or newer. This line, google-cloud-storage==3.1.1; python_version < '3.7', attempts to install this version for Python environments older than 3.7 (e.g., Python 3.6), which is incompatible and will lead to installation or runtime errors.

The previous version google-cloud-storage==2.9.0 supported Python 3.6+.

Affected files: This issue applies to all requirements.txt files in this PR that have a similar python_version < '3.7' specifier for google-cloud-storage, including (but not limited to):

  • auth/downscoping/requirements-test.txt
  • auth/downscoping/requirements.txt
  • functions/http/requirements.txt
  • functions/v2/imagemagick/requirements.txt
  • healthcare/api-client/v1/fhir/requirements.txt
  • healthcare/api-client/v1beta1/fhir/requirements.txt
  • storage/s3-sdk/requirements-test.txt
  • storage/signed_urls/requirements.txt
  • storagetransfer/requirements-test.txt

Recommendation:
To resolve this, you should either:

  1. Update the Python version support for these specific samples to require Python 3.7+ and change this specifier accordingly (e.g., to python_version >= '3.7').
  2. If Python 3.6 support must be maintained for these samples, you must pin google-cloud-storage to a version compatible with Python 3.6 (i.e., <3.0.0) for this specific constraint.
google-cloud-storage<3.0.0; python_version < '3.7'  # Pin to a 2.x version for Python 3.6 compatibility

@@ -1,3 +1,3 @@
Flask==3.0.3
google-cloud-storage==2.9.0
google-cloud-storage==3.1.1
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

Critical: Major Version Upgrade with Breaking API Changes

This update from google-cloud-storage==2.9.0 to ==3.1.1 crosses a major version boundary (v3.0.0), which introduced significant breaking changes. The application code using this library (e.g., appengine/flexible/storage/main.py) needs to be carefully reviewed and tested for compatibility.

Key breaking changes in google-cloud-storage v3.0.0 that might affect your application:

  • Default Checksum Strategy: Changed for both uploads (None to "auto") and downloads ("md5" to "auto"). This could impact how data integrity is verified.
  • Removed/Renamed Arguments & Methods:
    • The positional argument num_retries has been removed from various methods.
    • The text_mode argument has been removed.
    • Blob.from_string() and Bucket.from_string() were renamed to Blob.from_uri() and Bucket.from_uri() respectively.
  • Blob.download_to_filename() Behavior: Now deletes the empty destination file if a 404 error occurs during download.
  • Retry Mechanism: Media operations now use the same retry system as non-media operations. Retries are also enabled by default for uploads, blob deletes, and blob metadata updates, which might alter how transient network issues are handled.

Please thoroughly review the v3.0.0 release notes (also available in the PR description) for a comprehensive list of changes. Extensive testing of the main.py and related functionalities in this directory is essential to ensure compatibility and prevent unexpected behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: appengine Issues related to the App Engine Admin API API. api: asset api: auth Issues related to the Google Authentication API api: automl Issues related to the AutoML API. api: batch Issues related to the Batch API. api: cloudfunctions Issues related to the Cloud Run functions API. api: composer Issues related to the Cloud Composer API. api: compute Issues related to the Compute Engine API. api: dataproc Issues related to the Dataproc API. api: dlp Issues related to the Sensitive Data Protection API. api: documentai Issues related to the Document AI API. owlbot:run Add this label to trigger the Owlbot post processor. samples Issues that are directly related to samples.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants