Switch SRC_URI to enable tests and upgrade to release 2026.9.0:
- ia:// filesystem for files in Internet Archive items: an
HTTPFileSystem reading from archive.org/download with credentials
from ia configure's ia.ini
- Allow instance-local memory stores with global_store=False while
preserving normal instance caching and the default shared store
- Add an adaptive readahead cache
- Implement created and modified for SFTPFileSystem
- Allow filesystem implementations to assign protocol per instance
- Delegate sizes and cat_ranges from DirFileSystem to the wrapped
filesystem
- Delegate invalidate_cache, ukey and checksum from DirFileSystem
to the wrapped filesystem
- Support negative offsets in TarFileSystem.cat_file
- Mirror readinto from the PyArrow stream onto ArrowFile
- Allow simplecache files to be removed by age using their
modification times
- HTTP: retry transient failures (408/425/429/5xx, dropped
connections, timeouts, truncated range bodies, a 416 inside the
file) of cat_file, HTTPFile block reads and the size lookup
behind open, controlled by the new retries, retry_wait,
retry_statuses and retry_exceptions options
Fixes:
- Compute HadoopFileSystem.fsid from its configured host and port
instead of accessing attributes no longer exposed by PyArrow
- Normalize dot path components in TarFileSystem listings and
lookups, while preserving original archive names for reading
- Make merge_offset_ranges O(n log n) and keep merged blocks within
max_block, replacing the quadratic nested-range filter
- Fix transactions with compressed files
- Make MemoryFileSystem.rm raise FileNotFoundError for a path that
does not exist, as rm_file and the other filesystems do, so
deleting a missing key from a memory-backed mapper raises
KeyError
- Create missing ZIP archives in append mode without truncating
existing archives
- Close cached readers when exiting an open_files context
- Avoid mutating live BlockCache and BackgroundBlockCache instances
when pickling
- End the transaction even when a commit or discard raises, so the
filesystem is not left in transaction mode and deferred temporary
files are cleaned up
- Honor a caller-owned output file in get_file
- Preserve existing files when checking FSMap write access
- Normalize ZIP paths in pipe_file and find
- Reject get destinations that resolve above the target
- Pass maxdepth through in AsyncFileSystem._rm
- Do not let isfile swallow BaseException
- Keep reference filesystem get destinations inside the target
- Return relative names from DirFileSystem.glob and find
- Raise FileNotFoundError for missing ZIP and TAR members
- Stop collapsing three-character drive-relative paths to the drive
root
- Use / as the only glob separator on every platform
- Distinguish omitted and None defaults in FSMap.pop
- Forward an Arrow file's flush and closed state to its stream
- Keep reference filesystem cat_file offsets inside the referenced
part
- Raise FileNotFoundError from archive ls for a missing path
- Download uncached files in simplecache.cat_ranges
- Fix tail on simplecache and filecache
- Get whole-file reference sizes asynchronously in
ReferenceFileSystem._info
- Report the target size for links in TarFileSystem
- Keep the async generator returned by AsyncFileSystemWrapper._walk
- Join the default output filename with / in _expand_paths
- Make names relative in DirFileSystem.walk(detail=True)
- Ignore a leading slash in TarFileSystem paths
- Fix cat_ranges on whole-file caches
- Normalize paths in AsyncFileSystemWrapper like the wrapped
filesystem
- The SFTP host key policy is configurable with the new
host_key_policy argument of SFTPFileSystem, which accepts
"auto_add" (default, unchanged behaviour), "warning" or "reject",
or any paramiko.MissingHostKeyPolicy
Other:
- Use trusted publishing for releases and trigger the release
workflow on tags
- Remove the stale async wrapper documentation warning
- Add Zarr to the test_downstream extra so the Xarray/Zarr test
runs again
- Clarify that rm handles directories
- Fix grammar in features.rst
- Patch HAS_CPYTHON_API where _fast_slice reads it in tests
- Percent-decode the username and password parsed from URLs in
infer_storage_options so that backends (ftp, sftp, smb, ...)
receive the real credentials rather than their URL-encoded form;
a password whose bare % produces bytes that are not valid UTF-8
(for example pass%ab) is left untouched so that pre-existing URLs
with unescaped % continue to work
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>