- 3.0.0-rc1 (latest)
- 2.19.0
- 2.17.0
- 2.16.0
- 2.15.0
- 2.14.0
- 2.13.0
- 2.12.0
- 2.11.0
- 2.10.0
- 2.9.0
- 2.8.0
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.0
- 2.2.1
- 2.1.0
- 2.0.0
- 1.44.0
- 1.43.0
- 1.42.3
- 1.41.1
- 1.40.0
- 1.39.0
- 1.38.0
- 1.37.1
- 1.36.2
- 1.35.1
- 1.34.0
- 1.33.0
- 1.32.0
- 1.31.2
- 1.30.0
- 1.29.0
- 1.28.1
- 1.27.0
- 1.26.0
- 1.25.0
- 1.24.1
- 1.23.0
- 1.22.0
- 1.21.0
- 1.20.0
- 1.19.0
- 1.18.0
- 1.17.0
Changelog
3.0.0rc1 (2024-12-12)
⚠ BREAKING CHANGES
The default checksum strategy for uploads has changed from None to “auto” (#1383) (5375fa0)
The default checksum strategy for downloads has changed from “md5” to “auto” (#1383) (5375fa0)
Deprecated positional argument “num_retries” has been removed (#1377) (58b5040)
Deprecated argument “text_mode” has been removed (#1379) (4d20a8e)
Media operation retries now work identically to other retries, which may impact default retry settings (#1385) (f3517bf)
Blob.download_to_filename() deletes the empty destination file on a 404
Features
Add “auto” checksum option and make default (#1383) (5375fa0)
Blob.download_to_filename() deletes the empty destination file on a 404 (066be2d)
Deprecated argument “text_mode” has been removed (#1379) (4d20a8e) (4e9a382)
Deprecated positional argument “num_retries” has been removed (#1377) (58b5040) (4e9a382)
Enable custom predicates for media operations (#1385) (f3517bf)
Media operation retries now work identically to other retries, which may impact default retry settings (#1385) (f3517bf) (4e9a382)
The default checksum strategy for downloads has changed from “md5” to “auto” (#1383) (5375fa0) (4e9a382)
The default checksum strategy for uploads has changed from None to “auto” (#1383) (5375fa0) (4e9a382)
Bug Fixes
Cancel upload when BlobWriter exits with exception (#1243) (df107d2)
Changed name of methods
Blob.from_string()
andBucket.from_string()
tofrom_uri()
(#1335) (58c1d03)Correctly calculate starting offset for retries of ranged reads (#1376) (7b6c9a0)
Documentation
2.19.0 (2024-11-21)
Features
Add restore_bucket and handling for soft-deleted buckets (#1365) (ab94efd)
IAM signBlob retry and universe domain support (#1380) (abc8061)
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)
2.18.2 (2024-08-08)
Bug Fixes
2.18.1 (2024-08-05)
Bug Fixes
2.18.0 (2024-07-09)
Features
Bug Fixes
2.17.0 (2024-05-22)
Features
Bug Fixes
Documentation
2.16.0 (2024-03-18)
Features
2.15.0 (2024-02-28)
Features
Bug Fixes
2.14.0 (2023-12-10)
Features
Bug Fixes
Clarify error message and docstrings in Blob class method (#1196) (92c20d3)
Propagate timeout in BlobWriter (#1186) (22f36da), closes #1184
Use native namespace to avoid pkg_resources warnings (#1176) (2ed915e)
2.13.0 (2023-10-31)
Features
Bug Fixes
Blob.from_string parse storage uri with regex (#1170) (0a243fa)
Bucket.delete(force=True) now works with version-enabled buckets (#1172) (0de09d3)
Fix typo in Bucket.clear_lifecycle_rules() (#1169) (eae9ebe)
Documentation
2.12.0 (2023-10-12)
Features
Add additional_blob_attributes to upload_many_from_filenames (#1162) (c7229f2)
Add crc32c_checksum argument to download_chunks_concurrently (#1138) (fc92ad1)
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)
2.11.0 (2023-09-19)
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
2.10.0 (2023-06-14)
Features
Bug Fixes
Documentation
2.9.0 (2023-05-04)
Features
Bug Fixes
Documentation
Add sample and sample test for transfer manager (#1027) (4698799)
Remove threads in transfer manager samples (#1029) (30c5146)
2.8.0 (2023-03-29)
Features
Bug Fixes
Documentation
2.7.0 (2022-12-07)
Features
Add “transfer_manager” module for concurrent uploads and downloads, as a preview feature (#943) (9998a5e)
Bug Fixes
2.6.0 (2022-11-07)
Features
Add Autoclass support and samples (#791) (9ccdc5f), closes #797
Add predefined_acl to create_resumable_upload_session (#878) (2b3e8f9)
Enable delete_blobs() to preserve generation (#840) (8fd4c37), closes #814
Make tests run against environments other than prod (#883) (7dfeb62)
Bug Fixes
Align bucket bound hostname url builder consistency (#875) (8a24add)
BlobWriter.close() will do nothing if already closed (#887) (7707220)
Documentation
Clarify prefixes entity in list_blobs usage (#837) (7101f47)
Update docstring for lifecycle_rules to match generator behavior (#841) (36fb81b)
2.5.0 (2022-07-24)
Features
Documentation
2.4.0 (2022-06-07)
Features
Bug Fixes
Documentation
samples: Update the Recovery Point Objective (RPO) sample output (#725) (b0bf411)
Update generation_metageneration.rst with a missing space (#798) (1e7cdb6)
2.3.0 (2022-04-12)
Features
Bug Fixes
Documentation
2.2.1 (2022-03-15)
Bug Fixes
2.2.0 (2022-03-14)
Features
Bug Fixes
add user agent in python-storage when calling resumable media (c7bf615)
deps: require google-api-core>=1.31.5, >=2.3.2 (#722) (e9aab38)
Fix BlobReader handling of interleaved reads and seeks (#721) (5d1cfd2)
Documentation
2.1.0 (2022-01-19)
Features
2.0.0 (2022-01-12)
⚠ BREAKING CHANGES
- Remove Python 2 support (#657)
Features
1.44.0 (2022-01-05)
Features
Documentation
This is just a simple PR to better describe what the code is doing in the comments. (0459cb4)
use writeable streamin example for ‘download_blob_to_file’ (#676) (96092d4)
1.43.0 (2021-11-15)
Features
Bug Fixes
Documentation
1.42.3 (2021-09-30)
Bug Fixes
1.42.2 (2021-09-16)
Bug Fixes
1.42.1 (2021-09-07)
Bug Fixes
Documentation
1.42.0 (2021-08-05)
Features
Bug Fixes
deps: add explicit ranges for ‘google-api-core’ and ‘google-auth’ (#530) (310f207)
downloading no longer marks metadata fields as ‘changed’ (#523) (160d1ec)
make ‘requests.exceptions.ChunkedEncodingError retryable by default (#526) (4abb403)
Documentation
1.41.1 (2021-07-20)
Bug Fixes
deps: pin
{api,cloud}-core
,auth
to allow 2.x versions on Python 3 (#512) (4d7500e)remove trailing commas from error message constants (#505) (d4a86ce), closes #501
Documentation
1.41.0 (2021-07-13)
Features
Bug Fixes
deps: update minimum dependency versions to pick up bugfixes (#496) (92251a5), closes #494
populate etag / generation / metageneration properties during download (#488) (49ba14c)
1.40.0 (2021-06-30)
Features
add preconditions and retry configuration to blob.create_resumable_upload_session (#484) (0ae35ee)
add public access prevention to bucket IAM configuration (#304) (e3e57a9)
Bug Fixes
1.39.0 (2021-06-21)
Features
- media operation retries can be configured using the same interface as with non-media operation (#447) (0dbbb8a)
Bug Fixes
replace python lifecycle action parsing ValueError with warning (#437) (2532d50)
revise blob.compose query parameters
if_generation_match
(#454) (70d19e7)
Documentation
streamline ‘timeout’ / ‘retry’ docs in docstrings (#461) (78b2eba)
streamline docstrings for conditional parmas (#464) (6999370)
1.38.0 (2021-04-26)
Features
Bug Fixes
Documentation
1.37.1 (2021-04-02)
Bug Fixes
Ensure consistency check in test runs even if expected error occurs (#402) (416bcd4)
silence expected errors for routine operations on BlobReader (#400) (d52853b)
1.37.0 (2021-03-24)
Features
Bug Fixes
1.36.2 (2021-03-09)
Bug Fixes
1.36.1 (2021-02-19)
Bug Fixes
allow metadata keys to be cleared (#383) (79d27da), closes #381
allow signed url version v4 without signed credentials (#356) (3e69bf9)
1.36.0 (2021-02-10)
Features
Bug Fixes
correctly decode times without microseconds (#375) (37a1eb5), closes #363
expose num_retries parameter for blob upload methods (#353) (fdabd6a), closes #352
1.35.1 (2021-01-28)
Bug Fixes
address incorrect usage of request preconditions (#366) (321658c)
Amend default retry behavior for bucket operations on client (#358) (b91e57d)
1.35.0 (2020-12-14)
Features
1.34.0 (2020-12-11)
Features
Bug Fixes
avoid triggering global logging config (#333) (602108a), closes #332
fall back to ‘charset’ of ‘content_type’ in ‘download_as_text’ (#326) (63ff233), closes #319
fix conditional retry handling of camelCase query params (#340) (4ff6141)
update ‘custom_time’ setter to record change (#323) (5174154), closes #322
1.33.0 (2020-11-16)
Features
add classifiers for python3.9 and remove for python3.5 (#295) (f072825)
add testing support for Python 3.9, drop Python 3.5 (#313) (fa14009)
Bug Fixes
use passed-in
client
withinBlob.from_string
and helpers (#290) (d457ce3), closes #286preserve
metadata
value when uploading new file content (#298) (5ab6b0d), closes #293
1.32.0 (2020-10-16)
Features
Bug Fixes
use version.py for versioning, avoid issues with discovering version via get_distribution (#288) (fcd1c4f)
1.31.2 (2020-09-23)
Documentation
1.31.1 (2020-09-16)
Bug Fixes
preserve existing blob hashes when ‘X-Goog-Hash header’ is not present (#267) (277afb8)
blob: base64 includes additional characters (#258) (cf0774a)
Documentation
1.31.0 (2020-08-26)
Features
add configurable checksumming for blob uploads and downloads (#246) (23b7d1c)
add support for ‘Blob.custom_time’ and lifecycle rules (#199) (180873d)
storage: add support of daysSinceNoncurrentTime and noncurrentTimeBefore (#162) (136c097)
pass ‘client_options’ to base class ctor (#225) (e1f91fc), closes #210
rename ‘Blob.download_as_{string,bytes}’, add ‘Blob.download_as_text’ (#182) (73107c3)
Bug Fixes
Documentation
1.30.0 (2020-07-24)
Features
Bug Fixes
Documentation
Documentation
Dependencies
1.29.0 (2020-06-09)
Features
add generationmatch args into Blob.compose() (#122) (dc01c59)
add Bucket.reload() and Bucket.update() wrappers to restrict generation match args (#153) (76dd9ac), closes #127
add helper for bucket bound hostname URLs (#137) (b26f9fa), closes #121
add ifgenerationmatch support for Bucket.rename_blob() (#141) (f52efc8)
add offset and includeTrailingPrefix options to list_blobs (#125) (d84c0dd)
Bug Fixes
add documentaion of list_blobs with user project (#147) (792b21f)
add projection parameter to blob.reload method (#146) (ddad20b)
add unused variables to method generation match (#152) (f6574bb)
1.28.1 (2020-04-28)
Bug Fixes
1.28.0 (2020-04-22)
Features
Bug Fixes
1.27.0 (2020-04-01)
Features
generate signed URLs for blobs/buckets using virtual hostname (#58) (23df542)
add conformance tests for virtual hosted style signed URLs (#83) (5adc8b0)
improve v4 signature query parameters encoding (#48) (8df0b55)
Bug Fixes
1.26.0 (2020-02-12)
Features
Bug Fixes
fix documentation of max_result parameter in list_blob (#43) (ff15f19)
fix system test and change scope for iam access token (#47) (bc5375f)
remove low version error assertion from iam conditions system tests (#53) (8904aee)
1.25.0
01-16-2020 11:00 PST
Implementation Changes
fix: replace unsafe six.PY3 with PY2 for better future compatibility with Python 4 (#10081)
fix(storage): fix document of delete blob (#10015)
New Features
- feat(storage): support optionsRequestedPolicyVersion (#9989)
Dependencies
- chore(storage): bump core dependency to 1.2.0 (#10160)
1.24.1
01-02-2020 13:20 PST
Implementation Changes
- Add ‘ARCHIVE’ storage class (#9533)
1.24.0
01-02-2020 10:39 PST
Implementation Changes
-str() metadata for for blob (#9796)
New Features
- Add timeout parameter to Batch interface to match google-cloud-core (#10010)
1.23.0
11-12-2019 12:57 PST
Implementation Changes
- Move
create_bucket
implementation fromBucket
toClient
. (#8604)
New Features
- Add opt-in raw download support. (#9572)
Dependencies
- Pin
google-resumable-media >= 0.5.0, < 0.6dev
. (#9572)
Documentation
- Add python 2 sunset banner to documentation. (#9036)
Internal / Testing Changes
Fix query-string order dependent assert. (#9728)
Normalize VPCSC configuration in system tests. (#9616)
1.22.0
11-05-2019 10:22 PST
New Features
- Add UBLA attrs to IAMConfiguration. (#9475)
1.21.0
10-28-2019 21:52 PDT
Implementation Changes
Add gcloud-python header to user agent (#9551)
Don’t report a gapic version for storage (#9549)
Update storage endpoint from www.googleapis.com to storage.googleapis.com (#9543)
Call anonymous client method to remove dependency of google application credentials (#9455)
Enable CSEK w/ V4 signed URLs (#9450)
New Features
- Support predefined ACLs in
Bucket.create
(#9334)
Documentation
Add
hmac_key
and notification documentation rst files (#9529)Remove references to the old authentication credentials (#9456)
Clarify docstring for
Blob.download_as_string
(#9332)
1.20.0
09-26-2019 06:45 PDT
New Features
Add
user_project
param to HMAC-related methods. (#9237)Add
Blob.from_string
andBucket.from_string
factories. (#9143)
Documentation
Fix intersphinx reference to
requests
. (#9294)Fix deep / broken URL for service account setup. (#9164)
Internal / Testing Changes
Fix typo in
_helpers.py
. (#9239)In systests, retry bucket creation on 503. (#9248)
Avoid using
REGIONAL
/MULTI_REGIONAL
in examples, tests. (#9205)Move
benchwrapper
intotests/perf
. (#9246)Add support for
STORAGE_EMULATOR_HOST
; addbenchwrapper
script. (#9219)
1.19.0
08-28-2019 09:45 PDT
Implementation Changes
Expose ‘HMACKeyMetadata.id’ field. (#9115)
Make ‘Blob.bucket’ a readonly property. (#9113)
Clarify ‘response_type’ for signed_url methods. (#8942)
New Features
- Add
client_options
to constructors for manual clients. (#9054)
Documentation
- Remove compatability badges from READMEs. (#9035)
Internal / Testing Changes
Remove CI for gh-pages, use googleapis.dev for api_core refs. (#9085)
Fix tests broken by yesterday’s google-resumable-media release. (#9119)
Harden ‘test_access_to_public_bucket’ systest against 429 / 503 errors. (#8997)
1.18.0
08-07-2019 00:37 PDT
New Features
- Add HMAC key support. (#8430)
Documentation
- Mark old storage classes as legacy, not deprecated. (#8887)
Internal / Testing Changes
Normalize ‘lint’ / ‘blacken’ support under nox. (#8831)
Update intersphinx mapping for requests. (#8805)
1.17.0
07-24-2019 12:37 PDT
New Features
Implementation Changes
Retry bucket creation in signing setup. (#8620)
Fix URI -> blob name conversion in
Client download_blob_to_file
. (#8440)Avoid escaping tilde in blob public / signed URLs. (#8434)
Add generation to ‘Blob.repr’. (#8423)
Documentation
Link to googleapis.dev documentation in READMEs. (#8705)
Add compatibility check badges to READMEs. (#8288)
Fix example in
Client.download_blob_to_file
docstring. (#8629)Remove typing information for kwargs to not conflict with type checkers (#8546)
Internal / Testing Changes
Skip failing
test_bpo_set_unset_preserves_acls
systest. (#8617)Add nox session ‘docs’. (#8478)
Add docs job to publish to googleapis.dev. (#8464)
1.16.1
06-04-2019 11:09 PDT
Dependencies
- Don’t pin
google-api-core
in libs usinggoogle-cloud-core
. (#8213)
Documentation
Fix example in
download_blob_to_file
docstring. (#8201)Tweak
fields
docstring further. (#8040)Improve docs for
fields
argument toBucket.list_blobs
. (#8023)Fix docs typo. (#8027)
Internal / Testing Changes
Retry harder in face of 409/429 during module teardown. (#8113)
Add more retries for 429s during teardown operations. (#8112)
1.16.0
05-16-2019 12:55 PDT
New Features
Update
Client.create_bucket
to take a Bucket object or string. (#7820)Update
Client.get_bucket
to take aBucket
object or string. (#7856)Add
Client.download_blob_to_file
method. (#7949)Add
client_info
support to client / connection. (#7872)
Dependencies
1.15.0
04-17-2019 15:37 PDT
New Features
Implementation Changes
Remove classifier for Python 3.4 for end-of-life. (#7535)
Ensure that ‘Blob.reload’ passes encryption headers. (#7441)
Documentation
- Update client library documentation URLs. (#7307)
Internal / Testing Changes
Fix failing system tests (#7714)
Increase number of retries for 429 errors. (#7484)
Un-flake KMS integration tests expecting empty bucket. (#7479)
1.14.0
02-06-2019 12:49 PST
New Features
- Add ‘Bucket.iam_configuration’ property, enabling Bucket-Policy-Only. (#7066)
Documentation
- Improve docs for ‘generate_signed_url’. (#7201)
1.13.2
12-17-2018 17:02 PST
Implementation Changes
- Update
Blob.update_storage_class
to support rewrite tokens. (#6527)
Internal / Testing Changes
Skip signing tests for insufficient credentials (#6917)
Document Python 2 deprecation (#6910)
Normalize docs for
page_size
/max_results
/page_token
. (#6842)
1.13.1
12-10-2018 13:31 PST
Implementation Changes
Import
iam.policy
fromgoogle.api_core
. (#6741)Accomodate new back-end restriction on retention period. (#6388)
Avoid deleting a blob renamed to itself (#6365)
Dependencies
Update dependency to google-cloud-core (#6835)
Bump minimum
api_core
version for all GAPIC libs to 1.4.1. (#6391)
Documentation
- Normalize use of support level badges (#6159)
Internal / Testing Changes
Blacken libraries (#6794)
Add templates for flake8, coveragerc, noxfile, and black. (#6642)
Harden teardown in system tests. (#6444)
Harden
create_bucket
call in systests vs. 429 TooManyRequests. (#6401)Skip public bucket test in VPC Service Controls (#6230)
Fix lint failure. (#6219)
Disable test running in VPC Service Controls restricted environment (#6215)
Use new Nox (#6175)
1.13.0
New Features
Add support for bucket retention policies (#5534)
Allow
destination.content_type
to be None inBlob.compose
. (#6031)
Implementation Changes
- Ensure that
method
forBlob.generate_signed_url
is uppercase. (#6110)
Documentation
Clarify GCS URL signing limitations on GCE (#6104)
Redirect renamed ‘usage.html’/’client.html’ -> ‘index.html’. (#5996)
1.12.0
New Features
Add support for Python 3.7, drop support for Python 3.4. (#5942)
Add lifecycle rules helpers to bucket. (#5877)
Implementation Changes
- Add ‘stacklevel=2’ to deprecation warnings. (#5897)
Documentation
Internal / Testing Changes
1.11.0
Implementation Changes
Preserve message / args from an
InvalidResponse
. (#5492)Fix generating signed urls for blobs with non-ascii names. (#5625)
Move bucket location specification to
Bucket.create
; deprecateBucket.location
setter (#5808)
New Features
- Add
Client.get_service_account_email
. (#5765)
Documentation
Clarify
None
values for resource-backed properties. (#5509)Elaborate docs for
{Bucket,Blob}.make_{public,private}
; note how to enable anonymous accesss toBlob.public_url
. (#5767)
Internal / Testing Changes
Harden
create_bucket
systest against 429 responses. (#5535)Add system test: signed URLs w/ non-ASCII blob name. (#5626)
Harden
tearDownModule
against 429 TooManyRequests. (#5701)Retry
notification.create()
on503 ServiceUnavailable
. (#5741)Fix failing KMS system tests. (#5832, #5837, #5860)
1.10.0
New Features
Add support for KMS keys (#5259)
Add
{Blob,Bucket}make_private
method (#5336)
Internal / Testing Changes
- Modify system tests to use prerelease versions of grpcio (#5304)
1.9.0
Implementation Changes
- Change GCS batch endpoint from
/batch
to/batch/storage/v1
(#5040)
New Features
Allow uploading files larger than 2GB by using Resumable Media Requests (#5187)
Add range downloads (#5081)
Documentation
Update docstring to reflect correct units (#5277)
Replace link to 404 object IAM docs with a note on limited utility. (#5181)
Update doc reference in GCS client documentation (#5084)
Add see also for
Bucket.create
method call forClient.create_bucket()
documentation. (#5073)Link out to requester pays docs. (#5065)
Internal / Testing Changes
Add testing support for Python 3.7; remove testing support for Python 3.4. (#5295)
Fix bad trove classifier
Remove unused var (flake8 warning) (#5280)
Fix unit test moving batch to batch/storage/v1 (#5082)
1.8.0
New features
Implement predefined acl (#4757)
Add support for resumable signed url generation (#4789)
Implementation changes
- Do not quote embedded slashes for public / signed URLs (#4716)
Dependencies
- Update dependency range for api-core to include v1.0.0 releases (#4944)
Documentation
- Missing word in docstring (#4763)
Testing and internal changes
Install local dependencies when running lint (#4936)
Re-enable lint for tests, remove usage of pylint (#4921)
Normalize all setup.py files (#4909)
1.7.0
Features
Enable anonymous access to blobs in public buckets (#4315)
Make project optional / overridable for storage client (#4381)
Relax regex used to test for valid project IDs (#4543)
Add support for
source_generation
parameter toBucket.copy_blob
(#4546)
1.6.0
Documentation
- Added link to “Python Development Environment Setup Guide” in project README (#4187, h/t to @michaelawyu)
Dependencies
Upgrading to
google-cloud-core >= 0.28.0
and adding dependency ongoogle-api-core
(#4221, #4280)Requiring
google-resumable-media >= 0.3.1
(#4244)