pypi / cloudpathlib
cloudpathlib
What changed in cloudpathlib 0.25 to 0.26, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-30.
2 breaking2 new APIs and options1 performance6 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initcloudpathlib 0.264 changes
Breaking changes 1
The minimum supported Python version is now 3.10; Python 3.9 is no longer supported.
Fixes and other changes 3
Cloud paths can be pickled repeatedly without a ParseResult error.
CloudPath.mkdir(parent_mode=...) works across providers with Python 3.15.
Writes now upload when the local cache file and cloud file have the same modified time, avoiding a spurious error on the second close.
cloudpathlib 0.257 changes
Breaking changes 1
Local targets that escape their base directory now raise CloudPathLocalPathTraversalError, preventing cloud object keys from writing outside the intended directory.
New APIs and options 2
The new lazy keyword lists directories on demand, allowing callers using top_down=True to prune subtrees and avoid fetching their contents.
S3Client now supports addressing_style="virtual".
Performance 1
Metadata retrieval now uses HeadObject instead of GetObject, so stat, etag, and size no longer open the object body.
Fixes and other changes 3
Local mock paths now support presigned URLs, returning deterministic URLs with expires and signature query parameters instead of raising NotImplementedError.
S3 copy and move now forward copy-specific extra arguments such as CopySourceSSECustomerKey.
Metadata retrieval no longer raises KeyError when S3-compatible gateways omit ETag from HeadObject responses.