Changelog
Note: in some releases, there are no changes, because we always guarantee releasing in step with fsspec.
2026.4.0
add fallback when missing __version__ (#826)
use project ID in gRPC, if set (#825)
fix location lookup in put_file (#821)
error message formatting in rm_files (#820)
requestor pays in ExtendedGcs (#817)
logging error->warning in storage layout API (#816)
fix prefetcher docs (#815)
cleanup on failure in cloud build benchmarks (#812)
benchmark updates (#812, 811, 810, 802)
migrate setuptools to hatch (#809)
retreive coroutine exceptions (#807)
honour NO_GCE_CHECK (#803)
update README (#801)
use moveTo in standard buckets (#800)
typos (#798, 796, 794)
prefetcher for standard buckets (#795)
2026.3.0
Support for Rapid and hierarchical buckets is moved from opt-in to default. The default implementation is now ExtendedGcsFileSystem. This still defers to GCSFileSystem for operations on “normal” buckets (i.e., not zonal, rapid, hierarchical). Set GCSFS_EXPERIMENTAL_ZB_HNS_SUPPORT to disable.
docs for zonal/rapid storage support (#792, 788, 781)
test/ci/cov fixes (#785, 772, 766, 765, 764)
fix zonalfile writes to track byte count (#777)
benchmarks (#775, 770, 767, 762)
fix folder rename race (HNS) (#771)
create zonal buckets (#769)
graceful close (#763)
list: pass only valid kwargs (#759)
make mv_file atomic (#758)
2026.2.0
New readahead-chunks cacher (#754, 750)
test coverage (#752)
info() integration tests for hierarchical (#749)
more benchmark work (#748, 745)
zonal file downloads (#744)
rm for hierarchical (#742)
2026.1.0
New opt-in support for hierarchical buckets.
Support alternative GCP Universes (#732)
overrides for HNS buckets (#731, 730, 727
CI for HNS and zonal buckets (#729, 721, 719)
Zonal bucket write mode (#726)
CI auth fixes (#720, 725
Microbenchmarks framework (#722)
capture generation value after upload (#718)
2025.12.0
Fix CI when run against rela SGC buckets (#71)
Run extended rests when env var is set (#712)
Support py3.14 and drop 3.9 (#709)
Introduce ExtendedGcsFileSystem for Zonal Bucket gRPC Read Path (#707)
2025.10.0
fix info() performance regression (#705)
add CoC (#703)
mkdir should not create bucket by default (#701)
add anonymous tracker to docs (#700)
2025.9.0
fix slow ls iterations (#697)
Ensure right error type for get() on nonexistent (#695)
2025.7.0
acknowledge Anaconda support (#691)
less refreshing for CI (#690)
2025.5.1
Fix token timezone comparison (#683, 688)
2025.5.0
Avoid deprecated utcnow (#680)
Add support for specifying Cloud KMS keys when creating files (#679)
Yet another fix for isdir (#676)
Create warning for appending mode ‘a’ operations (#675)
add userProject to batch deletion query (#673)
2025.3.2
no changes
2025.3.1
Fix find with path not ending with “/” (#668)
remove “beta” note from doc (#666)
don’t check expiry of creds that don’t expire (#665)
2025.3.0
Improvements for credentials refresh under high load (#658)
2025.2.0
guess upload file MIME types (#655)
better shutdown cleanup (#657)
2024.12.0
Exclusive write (#651)
Avoid IndexError on integer seconds (#649)
note on non-posixness (#648)
handle chache_timeout=0 (#646)
2024.10.0
Remove race condition in credentials (#643)
fix md5 hash order logic (#640)
2024.9.0
In case error in a pure string (#631)
2024.6.1
no changes
2024.6.0
Add seek(0) to request data to prevent issues on retries (#624)
2024.5.0
swap order of “gcs”, “gs” protocols (#620)
fix get_file for relative lpath (#618)
2024.3.1
fix expiration= for sign() (#613)
do populate dircache in ls() (#612)
allow passing extra options to mkdir (#610)
credentials docs (#609)
retry in bulk rm (#608)
clean up loop on close (#606)
2024.2.0
doc for passing tokens (#603)
2023.12.2
no changes
2023.12.1
no changes
2023.12.0
use same version when paginating list (#591)
fix double asterisk glob test (#589)
2023.10.0
Fix for transactions of small files (#586)
2023.9.2
CI updates (#582)
2023.9.1
small fixes following #573 (#578)
2023.9.0
bulk operations edge cases (#576, 572)
inventory report based file listing (#573)
pickle HttpError (#571)
avoid warnings (#569)
maxdepth in find() (#566)
invalidate dircache (#564)
standard metadata field names (#563)
performance of building cache in find() (#561)
2023.6.0
allow raw/session token for auth (#554)
fix listings_expiry_time kwargs (#551)
allow setting fixed metadata on put/pipe (#550)
2023.5.0
Allow emulator host without protocol (#548)
Prevent upload retry from closing the file being sent (#540)
2023.4.0
No changes
2023.3.0
Don’t let find() mess up dircache (#531)
Drop py3.7 (#529)
Update docs (#528)
Make times UTC (#527)
Use BytesIO for large bodies (#525)
Fix: Don’t append generation when it is absent (#523)
get/put/cp consistency tests (#521)
2023.1.0
Support create time (#516, 518)
defer async session creation (#513, 514)
support listing of file versions (#509)
fix
signfollowing versioned split protocol (#513)
2022.11.0
implement object versioning (#504)
2022.10.0
bump fsspec to 2022.10.0 (#503)
2022.8.1
don’t install prerelease aiohttp (#490)
2022.7.1
Try cloud auth by default (#479)
2022.5.0
invalidate listings cache for simple put/pipe (#474)
conform _mkdir and _cat_file to upstream (#471)
2022.3.0
(note that this release happened in 2022.4, but we label as 2022.3 to match fsspec)
bucket exists workaround (#464)
dirmarkers (#459)
check connection (#457)
browser connection now uses local server (#456)
bucket location (#455)
ensure auth is closed (#452)
2022.02.0
fix list_buckets without cache (#449)
drop py36 (#445)
2022.01.0
update refname for versions (#442)
2021.11.1
don’t touch cache when doing find with a prefix (#437)
2021.11.0
move to fsspec org
add support for google fixed_key_metadata (#429)
deprecate content_encoding parameter of setxattrs method (#429)
use emulator for resting instead of vcrpy (#424)
2021.10.1
url signing (#411)
default callback (#422)
2021.10.0
min version for decorator
default callback in get (#422)
2021.09.0
correctly recognise 404 (#419)
fix for .details due to upstream (#417)
callbacks in get/put (#416)
“%” in paths (#415)
2021.08.1
don’t retry 404s (#406)
2021.07.0
fix find/glob with a prefix (#399)
2021.06.1
kwargs to aiohttpClient session
graceful timeout when disconnecting at finalise (#397)
2021.06.0
negative ranges in cat_file (#394)
2021.05.0
no credentials bug fix (#390)
use googleapis.com (#388)
more retries (#387, 385, 380)
Code cleanup (#381)
license to match stated one (#378)
deps updated (#376)
Version 2021.04.0
switch to calver and fsspec pin
Version 0.8.0
keep up with fsspec 0.9.0 async
one-shot find
consistency checkers
retries for intermittent issues
timeouts
partial cat
http error status
CI to GHA
Version 0.7.0
async operations via aiohttp
Version 0.6.0
API-breaking: Changed requester-pays handling for
GCSFileSystem.The
user_projectkeyword has been removed, and has been replaced with therequester_payskeyword. If you’re working with arequester_paysbucket you will need to explicitly passrequester_pays-True. This will include yourprojectID in requests made to GCS.
Version 0.5.3
Version 0.5.0
Added the ability to make requester-pays requests with the
user_projectparameter (PR #206)
Version 0.4.0
Improved performance when serializing filesystem objects (PR #182)
Fixed authorization errors when using
gcsfswithin multithreaded code (PR #183, PR #192)Added contributing instructions (PR #185)
Improved performance for
gcsfs.GCSFileSystem.info()(PR #187)Fixed bug in
gcsfs.GCSFileSystem.info()raising an error (PR #190)