Skip to content

Releases

v3.4.2

Choose a tag to compare

@d-v-b d-v-b released this 27 Oct 15:29
a2f2415

What's Changed

Dependency updates

  • chore(deps): bump the python-dependencies group with 8 updates by @dependabot[bot] in #4488
  • chore(deps): bump cairosvg from 2.9.0 to 2.9.1 by @dependabot[bot] in #4499
  • chore(deps): bump multidict from 6.7.1 to 6.9.1 by @dependabot[bot] in #4500
  • chore(deps): bump multidict from 6.7.1 to 6.9.1 in /packages/zarr-http-server in the uv group across 1 directory by @dependabot[bot] in #4498
  • chore(deps): bump werkzeug from 3.1.8 to 3.1.9 by @dependabot[bot] in #4497
  • chore(deps): bump github-community-projects/issue-metrics from 5.0.2 to 5.0.3 in the actions group across 1 directory by @dependabot[bot] in #4487
  • chore(deps): bump aiohttp from 3.14.3 to 3.14.4 by @dependabot[bot] in #4529
  • chore(deps): bump certifi from 2026.4.22 to 2026.10.19 by @dependabot[bot] in #4535
  • chore(deps): bump pillow from 12.3.0 to 13.0.0 by @dependabot[bot] in #4540
  • chore(deps-dev): bump uv from 0.12.21 to 0.13.4 by @dependabot[bot] in #4536
  • chore(deps): bump aiohttp from 3.14.3 to 3.14.4 in /packages/zarr-http-server in the uv group across 1 directory by @dependabot[bot] in #4530
  • chore(deps): bump the actions group across 1 directory with 5 updates by @dependabot[bot] in #4552
  • chore(deps): bump graphql-core from 3.2.8 to 3.2.12 by @dependabot[bot] in #4567
  • chore(deps): bump setuptools from 83.0.0 to 84.1.0 by @dependabot[bot] in #4566

What's Changed

  • fix: zero default scalar for bytes fields in structured dtypes by @safaksm in #4495
  • test(dtype): cover unicode fields in the structured default scalar test by @d-v-b in #4496
  • docs: add a deprecation policy to the contributing guide by @maxrjones in #4051
  • fix: bound memory used by resize chunk cleanup by @2160039878-cyber in #4344
  • fix: reset the codec-pipeline thread pool after fork by @barlowa124 in #4483
  • DOC: fix v3 migration guide store table by @nuglifeleoji in #3850
  • docs: save/save_array/save_group write to any store by @maxrjones in #4520
  • ci(docs): fix the Read the Docs sub-site builds and skip filters by @d-v-b in #4543
  • ci(big-endian): resolve dependencies from pyproject.toml instead of trusting Debian by @d-v-b in #4547
  • fix(storage): pickle the zarr.storage module by name by @d-v-b in #4557
  • feat(zarr-metadata)!: read metadata against definitions in a scope, and make every model a pair of document and scope by @d-v-b in #4490
  • fix(storage): open ZipStore archive on first use from every method and reopen it without truncating by @d-v-b in #4450
  • docs: clarify Zarr v3 codec pipeline roles by @mgalore in #4166
  • fix(api): apply config when open_array opens an existing array by @d-v-b in #4408
  • feat: require opt-in to read data encoded with the pickle codec by @bhaskargurram-ai in #4465
  • docs: create the explicit serializer example array with overwrite=True by @d-v-b in #4569
  • ci(big-endian): install tzdata so pip check passes on the s390x image by @d-v-b in #4570
  • docs: 3.4.2 release notes by @d-v-b in #4565

New Contributors

Full Changelog: v3.4.1...v3.4.2

v3.4.1

Choose a tag to compare

@d-v-b d-v-b released this 08 Oct 17:11
246fa20

What's Changed

Dependency updates

  • chore(deps): bump the python-dependencies group with 5 updates by @dependabot[bot] in #4371
  • chore(deps): bump the actions group across 1 directory with 4 updates by @dependabot[bot] in #4370
  • chore(deps-dev): bump the python-dependencies group with 4 updates by @dependabot[bot] in #4394
  • chore(deps): bump codecov/codecov-action from 7.0.0 to 7.1.1 in the actions group by @dependabot[bot] in #4393
  • chore(deps): bump astral-sh/setup-uv from 10.1.0 to 10.2.0 in the actions group by @dependabot[bot] in #4460
  • chore(deps): bump the python-dependencies group with 7 updates by @dependabot[bot] in #4461
  • chore(deps): bump the uv group across 2 directories with 2 updates by @dependabot[bot] in #4463
  • chore(deps): bump urllib3 from 2.7.0 to 2.8.0 by @dependabot[bot] in #4462

What's Changed

  • ci: keep subpackage pull requests out of generated zarr release notes by @d-v-b in #4361
  • fix: replace runtime assert statements with explicit checks by @d-v-b in #4363
  • fix(zarr-indexing): replace runtime assert statements with explicit checks by @d-v-b in #4364
  • fix(ci): preserve branch zarr in xarray downstream tests by @glaziermag in #4368
  • chore: centralize development and CI verbs in just by @d-v-b in #4372
  • fix: accept uint8 dtype aliases in Zarr v2 by @guhou-hvi in #4381
  • perf: cut the fill_value check on the chunk write path by @PursuitOfDataScience in #4382
  • fix(dtype): accept any byte order for byte-order-irrelevant v2 dtype names by @d-v-b in #4385
  • fix(ci): run zarr-indexing tests on the matrix interpreter by @d-v-b in #4390
  • refactor: keep the blocked all_equal scan on the CPU buffer by @d-v-b in #4392
  • chore: bump numcodecs min version by @Oisin-M in #4396
  • fix(sharding): reject variable-size codecs in index_codecs by @d-v-b in #4397
  • fix(dtype): fix nested v2 round trips and detect unsupported field conversions by @d-v-b in #4340
  • fix(dtype): resolve struct fields with the registry that resolves the struct by @d-v-b in #4387
  • fix(store): run every LocalStore filesystem call off the event loop by @d-v-b in #4353
  • fix(storage): yield only direct children from FsspecStore.list_dir by @d-v-b in #4402
  • fix(dtype): preserve scaled generic time units and normalize the μs alias by @d-v-b in #4342
  • docs: show package tag instead of monorepo release in subpackage docs by @maxrjones in #4229
  • chore: keep sub-package pyproject.toml standalone; overlay in-repo zarr from just by @d-v-b in #4406
  • test: deflake test_encode_and_write_as_completed_cancels_stray_writes_on_failure by @d-v-b in #4409
  • build: ground sub-package packaging in current uv/hatch/setuptools-scm guidance by @d-v-b in #4407
  • fix(array): reject unknown keys in ArrayConfig.from_dict by @d-v-b in #4414
  • fix(indexing): avoid full-grid allocations for sparse selections by @d-v-b in #4356
  • fix: byte-order bugs and little-endian test assumptions on big-endian hosts by @d-v-b in #4435
  • fix: honor storage_options in save and save_group by @Rodrigo-Palma in #4415
  • fix: list nested prefixes when FsspecStore path is "" or "/" by @bendichter in #4452
  • fix(tests): repair docstring-consistency test and align create_array docs by @guhou-hvi in #4417
  • fix(group): apply config when require_array returns an existing array by @d-v-b in #4413
  • fix: accept must_understand=false extra fields in v3 group metadata by @anishmehta24 in #4391
  • feat(api): declare mode and data on create by @d-v-b in #4455
  • fix(group): create group helper arrays in the group's zarr format by @d-v-b in #4412
  • fix(api): validate a new node before deleting the existing one by @d-v-b in #4410
  • fix(chunk-grids): require chunk sizes of at least 1 and read the 0, false and true sizes older releases stored by @d-v-b in #4334
  • test(chunk-grids): sample the full rectilinear chunk grid declaration space by @d-v-b in #4377
  • fix(chunk-grids): read mixed regular/rectilinear chunk grids written by zarr 3.2.x by @d-v-b in #4375
  • test(stateful): bound how far append grows an axis in the array lifecycle test by @d-v-b in #4470
  • fix(sharding): reject a stored shard too short to hold its index on every path by @d-v-b in #4475
  • fix(chunk-grids): judge every chunk specification by the chunk normalizer alone by @d-v-b in #4376
  • fix: avoid copying 0-d chunk data when indexing CPU NDBuffers by @janickm in #4466
  • fix(sharding): validate nested sharding codecs and reject an inner chunk size of 0 by @d-v-b in #4480
  • Fix/from array overwrite source by @ianhi in #4405
  • fix(ci): run xarray's backend tests from their new package by @d-v-b in #4491
  • docs: 3.4.1 release notes by @d-v-b in #4489

New Contributors

Full Changelog: v3.4.0...v3.4.1

v3.4.0

Choose a tag to compare

@d-v-b d-v-b released this 15 Sep 20:55
292aeb4

zarr 3.4.0. Highlights are in the release blog post; the full per-change list is in the release notes. This release adds a required dependency on msgspec>=0.19.

What's Changed

  • docs: fix link checker errors and warnings; run weekly by @maxrjones in #4214
  • fix: ManagedMemoryStore sync methods must respect the path prefix by @d-v-b in #4204
  • fix: minor correctness and hygiene fixes from the sync-pipeline audit by @d-v-b in #4205
  • fix: reject malformed chunk keys in DefaultChunkKeyEncoding by @d-v-b in #4219
  • fix: explicit store sync-IO capability; wrappers forward it; LatencyStore fixes by @d-v-b in #4206
  • docs: add dev blog, update 3.3.0 release notes by @d-v-b in #4191
  • fix: make consolidated metadata nesting independent of persisted key order by @d-v-b in #4227
  • Convert rst double-backtick docstring markup to markdown by @jhamman in #4193
  • fix: preserve non-JSON-serializable storage options in _make_async by @d-v-b in #4239
  • chore: bump ruff to 0.16.0 and fix new default-rule violations by @d-v-b in #4213
  • docs: add a page linking to the companion packages by @d-v-b in #4247
  • docs: update readme by @d-v-b in #4251
  • docs: add card for zarr-http-server by @d-v-b in #4249
  • fix: allow require_array to accept a ZDType by @JOhnsonKC201 in #4189
  • fix: accept numpy integers as chunk sizes by @d-v-b in #4257
  • fix(build): use an sdist allowlist so the zarr sdist stops shipping subpackages by @d-v-b in #4261
  • Add unified JSON metadata validation via msgspec (#3285) by @vup903 in #4063
  • deps: bump cast-value.rs to >= 0.4.2 by @d-v-b in #4260
  • docs: add roadmap page outlining future plans by @d-v-b in #4149
  • fix: accept universal-pathlib UPath as a StoreLike value by @d-v-b in #4265
  • fix: make the nightly hypothesis failure alarm able to file issues by @glaziermag in #4274
  • fix: reject a string-valued zero scale in the scale_offset codec by @dylanpulver in #4279
  • fix: keep fill value and attributes in from_array by @paraseba in #4288
  • fix: skip exact byte comparison for gzip codec due to timestamp variance by @sheikhayaan in #4270
  • docs+test: gzip MTIME documentation follow-up and fused-pipeline test style pass - #310 by @d-v-b in #4296
  • feat: name packages that provide a codec zarr cannot find by @arcusbuilds in #4277
  • Fix infinite loop in _guess_num_chunks_per_axis_shard for 0-dimensional arrays by @Tomatokeftes in #4305
  • fix: resolve chunks=-1 to chunk size 1 on zero-length axes by @d-v-b in #4307
  • docs: document Read the Docs slugs for subpackage releases by @cucuwang in #4297
  • fix: shape the value buffer for coordinate selections in sharded writes by @dylanpulver in #4284
  • fix(sharding): flatten any multi-dim value for coordinate selections in partial writes by @d-v-b in #4316
  • fix(chunk-grids): make array creation O(1) in per-dimension chunk count by @d-v-b in #4218
  • chore(tests): move gzip mtime-comparison helper out of library code by @d-v-b in #4326
  • fix: unsigned index arrays raise IndexError because np.diff wraps and uint64 promotes by @selmanozleyen in #4286
  • fix: preserve index bounds and input arrays during normalization by @d-v-b in #4332
  • docs: state the rectilinear-flag consequence of #4272 and qualify nchunks_initialized by @d-v-b in #4323
  • chore(metadata): import Literal at module level in v2.py by @d-v-b in #4327
  • fix(metadata): handle argless KeyError from a codec's from_dict by @d-v-b in #4324
  • fix: deep-copy source attributes in from_array by @d-v-b in #4325
  • fix: resolve chunks=False to chunk size 1 on zero-length axes by @d-v-b in #4328
  • feat: accept numpy arrays as chunks/shards in create_array, Group.create_array and from_array by @d-v-b in #4329
  • fix: remove attribute nesting depth limit by @d-v-b in #4330
  • test: give the sharded coordinate-selection write path real weight in test_oindex by @d-v-b in #4331
  • fix: preserve the source Zarr dtype in from_array by @d-v-b in #4335
  • docs: explain from_array attribute copy recursion limit by @d-v-b in #4338
  • fix(docs): stop the docs build and docs tests deleting a cwd-relative data/ directory by @d-v-b in #4339
  • fix: complete imagecodecs codec package hints by @d-v-b in #4351
  • fix(store): retry the LocalStore rename when the destination is busy by @Tomatokeftes in #4358
  • refactor(store): polish the LocalStore rename retry from #4358 by @d-v-b in #4359
  • docs(blog): zarr 3.4.0 release post by @d-v-b in #4355
  • docs: 3.4.0 release notes by @d-v-b in #4360

Dependency updates

  • chore(deps): bump the python-dependencies group across 1 directory with 11 updates by @dependabot[bot] in #4216
  • chore(deps): bump cryptography from 48.0.1 to 50.0.0 by @dependabot[bot] in #4240
  • chore(deps): bump aiohttp from 3.14.1 to 3.14.3 by @dependabot[bot] in #4233
  • chore(deps): bump pymdown-extensions from 10.21.3 to 11.0 by @dependabot[bot] in #4197
  • chore(deps): bump the actions group across 1 directory with 9 updates by @dependabot[bot] in #4241
  • chore(deps-dev): bump the python-dependencies group across 1 directory with 5 updates by @dependabot[bot] in #4242
  • chore(deps): bump the actions group with 4 updates by @dependabot[bot] in #4258
  • chore(deps): bump the python-dependencies group with 6 updates by @dependabot[bot] in #4259
  • chore(deps): bump the python-dependencies group across 1 directory with 7 updates by @dependabot[bot] in #4278
  • chore(deps): bump the actions group across 1 directory with 4 updates by @dependabot[bot] in #4294
  • chore(deps): bump the python-dependencies group with 7 updates by @dependabot[bot] in #4295
  • chore(deps): bump CodSpeedHQ/action from 5.0.3 to 5.2.1 in the actions group by @dependabot[bot] in #4308
  • chore(deps-dev): bump the python-dependencies group with 5 updates by @dependabot[bot] in #4309
  • chore(deps): bump pymdown-extensions from 11.0 to 11.0.1 by @dependabot[bot] in #4314
  • chore(deps): bump the python-dependencies group with 6 updates by @dependabot[bot] in #4337
  • chore(deps): bump zizmorcore/zizmor-action from 0.6.2 to 0.6.3 in the actions group by @dependabot[bot] in #4336

New Contributors

Read more

v3.3.0

Choose a tag to compare

@d-v-b d-v-b released this 30 Jul 16:33
53e6dc6

What's Changed

Read more

v3.2.1

Choose a tag to compare

@d-v-b d-v-b released this 05 May 12:33
85890b3

What's Changed

  • feat:metadata package by @d-v-b in #3919
  • fix: CastValue wrap validation bug by @d-v-b in #3938
  • fix: use contextual arrayspec when validating / evolving codecs by @d-v-b in #3941
  • fix: defer to fsspec for memory url scheme by @d-v-b in #3944
  • release : 3.2.1 release notes by @d-v-b in #3942

Full Changelog: v3.2.0...v3.2.1

v3.2.0

Choose a tag to compare

@d-v-b d-v-b released this 30 Apr 22:16
3ede5e8

What's Changed

New Contributors

Full Changelog: v3.1.6...v3.2.0

v3.2.0rc1

v3.2.0rc1 Pre-release
Pre-release

Choose a tag to compare

@d-v-b d-v-b released this 30 Apr 22:10
3ede5e8

What's Changed

New Contributors

Full Changelog: v3.1.6...v3.2.0rc1

v3.1.6

Choose a tag to compare

@maxrjones maxrjones released this 20 Mar 00:06
25ee087

See release notes at https://zarr.readthedocs.io/en/stable/release-notes.html

What's Changed

New Contributors

Read more

v3.1.5

Choose a tag to compare

@d-v-b d-v-b released this 21 Nov 14:05
7d8105f

What's Changed

Full Changelog: v3.1.4...v3.1.5

v3.1.4

Choose a tag to compare

@maxrjones maxrjones released this 21 Nov 00:08
2530ce0

See release notes at https://zarr.readthedocs.io/en/stable/release-notes.html

What's Changed

New Contributors

Full Changelog: v3.1.3...v3.1.4