Changelog
Unreleased
Added reading compat for stores produced in python with
numcodecs.blosc#286Bump HTTP compat to 2 #284
V2 performance improvements #280
readblock!fast path for single-chunk full-reads that bypasses the readtask channel and the chunk-shaped scratch buffer, decoding straight into the output arraywriteblock!fast path for single-chunk full-overwrites that bypasses the readtask/writetask channels and the chunk-shaped scratch buffer, encoding straight from the input array into the storeZero-copy chunk write for
NoCompressor+ no filters: the single-chunk fastpath hands areinterpret(UInt8, ain)view straight to the store, skipping the chunk-sizedVector{UInt8}allocation + memcpyNoCompressorwrites: replaceappend!over the reinterpret view with bulkresize!+copyto!in the genericzcompress!fallbackNoCompressorreads: bulk-copyzuncompress!method dispatched on::NoCompressorbypassescopyto!(::Array, ::ReinterpretArray)'s element-by-element walkgetchunkarray_undefskips the dead zero-fill of the chunk-shaped scratch buffer on full-overwrite paths
Added manual pagination in order to go beyond the default 1k #282
Added
waitto writetask inwriteblock!#281Fix getattrs for v3 #277
Add
CachingStore, a store that caches reads from a remote store in a local cache store #231Fix CondaPkg branch in CI, use release version instead #273
Fix creation of on-disk arrays that do not fit in memory #269
Add another consistent caching approach through
zarrcache#299
v0.10.0 - 2026-04-24
Enable
sharding_indexedcodec for Zarr v3 #241outer chunks (shards) are now split into inner chunks with a byte-range index, enabling efficient partial reads of large arrays
Python zarr interoperability tests for sharded arrays using real fixtures generated via PythonCall/zarr-python
Function-based codec registration system with typed
CodecEntryfor extensible V3 codec parsingsharding_indexedcodec context propagation: inner codec parser now receives element-size context so codecs likebloscget the correcttypesizesharding_indexeddecode double-shift bug forindex_location=:start: shard index offsets are now treated as absolute byte offsets from the shard start in all casessharding_indexeddecode fill value:zdecode!now accepts an optionalfill_valueargument so missing inner chunks are filled with the array fill value instead ofzero(T)pipeline_decode!forV2Pipelinenow accepts thefill_valuekeyword argument (ignored, but required to match the unified call site inZArray.readblock!)Ragged inner chunks in
ShardingCodechandled correctly
fixes UI str parsing #259
added zarr_format to ZGroup #258
Add support for S3Path and remove deprecated global_aws_config() #253
(docs) get started #246
update badges #245
setup vitepress #243
Registration system for chunk key encoding #242
test: Consolidate CondaPkg.add calls #240
test: Read Julia-generated v3 fixtures with Python zarr #239
Use CondaPkg.jl#206 for nightly, fix manifest_uuid_path #238
fix docs build #237
consolidate methods #235
Add AbstractChunkKeyEncoding #234
V3 codec pipeline, group creation, and Python interop #232
Add read support for big endian #230
Indent method/type signatures on docstrings #229
Promote header levels in tutorial.md #228
Continue on v3 PR #226
move AWSS3 into extension #224