NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3856 most downloaded on PyPI
A command line tool for interacting with cloud storage services.
Last release 5 months ago
28 Apr 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 57 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
13 years old
120 releases · first in 2013
Fixed issue with domain permissions functionality.
Fixed exception when using CMEK with resumable uploads.
One column per quarter.
Added support for service account impersonation through a new -i option to specify a service account to impersonate.
-i option to
specify a service account to impersonate.deleted:user:...,
deleted:group:..., deleted:serviceAccount:...).ubla) command
(currently an alias of bucketpolicyonly).-w flag to kms command, which shows a warning rather than failing
when updating key permissions does not succeed.cp my-file gs://my-bucket/non-existent-folder/ would create a file called
non-existent-folder rather than non-existent-folder/my-file.Added support for socks proxies, including socks4 and socks5.
Fixed some text encoding/decoding issues in certain Python 3 environments.
Added HMAC key management for service accounts. This includes a new "hmac" command to create/get/list/update/delete HMAC keys on service accounts. Cur
Added support for running gsutil on Python 3.5+. Python 2 will reach its EOL (End of Life) on Jan. 1, 2020, and gsutil will stop supporting Python 2.7
Compression level is now configurable by setting "gzip_compression_level" under the "GSUtil" section in the boto config file. The default value is 9.
Fixed issue where multiprocessing check would raise an exception if /etc/os-release was not in the expected format.
Fixed a bug where XML API requests would sometimes fail with SSLError exceptions due to SNI not being used for https connections.
Added Bucket Policy Only support to gsutil. This includes a new "bucketpolicyonly" command to get/set BPO on existing buckets, as well adding the abil
Added -u option to rsync; this will skip copying files/objects that are newer (as determined by checking mtime) at the destination.
Added bucket lock support to gsutil. Currently, your project must be added to the allowlist for use with the new bucket lock functionality. This restr
Fixed an issue with the "rsync" command on Windows that would cause gsutil to incorrectly join file path segments when the source given was the root o
Fixed a file path resolution issue on Windows that affected local-to-cloud copy-based operations ("cp", "mv", "rsync"). If a local file URI containing
Added support for reauthentication within gsutil. Note that this only affects authentication when "gs_oauth2_refresh_token" is configured under the "C
Added Cloud KMS support for Google Cloud Storage resources, allowing the use of customer-managed encryption keys (CMEKs). Bucket-related functionality
Added transport compression support, available through the "-j" and "-J" options for the "cp", "mv", and "rsync" commands. This is useful when uploadi
Following the deprecation of Python 2.6 support for gsutil, code sections that were only present to support Python 2.6 have been removed.
When using the JSON API, the "ls -L" and "stat" commands now print an object's storage class update time if it differs from the object's creation time
The cp command now supports reading from and writing to named pipes.
Added bucket label support to gsutil. For more details, see https://cloud.google.com/compute/docs/label-or-tag-resources.
Added support for configuring GCS Cloud Pub/Sub notifications. For more details, see https://cloud.google.com/storage/docs/pubsub-notifications.
Fixed "referenced before assignment" error in some copy_helper exceptions for resumable uploads and non-resumable cloud-to-local downloads.
Added per-object storage class functionality to gsutil. For more details, see https://cloud.google.com/storage/docs/per-object-storage-class.
The console output for many commands has been improved to display command progress.
gsutil now outputs a message that estimates the total number of objects for commands affecting more than 30,000 objects. This value can be adjusted vi
gsutil support for Python 2.6 is deprecated, and gsutil will stop supporting Python 2.6 on September 1, 2016. This change is being made for two reason…
gsutil now supports the beta Customer-Supplied Encryption Keys features for Google Cloud Storage objects, via the JSON API. This feature allows you to
Fixed an oauth2client dependency break that caused the PyPi distribution of gsutil to allow oauth2client 2.0.0, causing all commands to fail with an I
The ls command now supports a -d option (similar to Unix ls -d) for suppressing recursion into subdirectories.
Fixed an OverflowError in apitools that caused download failures for large files on 32-bit machines.
Implemented Sliced Object Download feature. This breaks up a single large object into multiple pieces and downloads them in parallel, improving perfor
Removed the deprecated setmeta -n option.
Added support for JSON-format service account private key files.
Added Nearline storage class support to the mb command.
Fixed a bug that could cause undetected data corruption (preserving incorrect data) if a streaming upload encountered a service error on non-8KiB-alig
When using the JSON API, the ch acl/defacl subcommand now supports project groups via the -p flag. For details, see "gsutil help acl ch".
gsutil now supports HTTP proxy configuration via the http_proxy, https_proxy, or HTTPS_PROXY environment variables. This configuration is used only if
Tab completion now works on gs:// URLs (for Cloud SDK installs only). To install via Cloud SDK, see https://cloud.google.com/sdk/#Quick_Start
resumable_tracker_dir configuration variable is now deprecated.
Fixed a bug that caused resumable uploads to restart if gsutil was terminated with CTRL-C.
Added the hash command, which can calculate hashes of local files. gsutil already calculates hashes for integrity checking, but this allows the user t
Fix acl/defacl ch changing the role of an existing group.
Added parallel test execution support to test command, ex: "gsutil -m test"
Fixed a bug in parallel composite uploads where uploads with existing components would fail.
The long-deprecated -t and -q options have been removed from the cp command.
Nothing published for this version
Fixed potential bug with update command on CentOS.
Improved error messages for deprecated command aliases.
Release 3.40: Skipped
Release 3.39: Skipped
Release 3.38 (release-date: 2013-11-25)
Nothing published for this version
Fix parsing of -R for "acl ch" and chacl commands.
Fix bug when a 400 or 403 exception has no detail.
Fix streaming upload to S3 and provide more useful stack traces multi-threaded failures.
Fixed a bug where the no-op authentication handler was being loaded after other authentication plugins, causing the no-op handler to be chosen instead
Added .git* to MANIFEST.in excludes and fixed cp doc typo. This was needed to overcome problem caused by accidental inclusion of .git* files in releas
Added support for getting and setting lifecycle configuration for buckets.
Implemented consumption of manifest files for cp.
Fixed incorrect package installation detection that resulted in not being able to run the update command while running gsutil from a symlink.
Added support for new Object Change Notifications feature.
Your coding agent can read these notes before it upgrades. Set up the MCP server →