Skip to content

Releases: zarr-developers/zarr-python

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

  • Allow s3 testing in face of ambient AWS credentials by @chuckwondo in #3947
  • ci: run all of xarray's tests in downstream workflow by @maxrjones in #3940
  • chore(deps): bump the actions group across 1 directory with 12 updates by @dependabot[bot] in #3930
  • chore: update pre-commit hooks by @pre-commit-ci[bot] in #3943
  • chore(zarr-metadata): bump version to 0.1.1 by @d-v-b in #3949
  • refactor: simplify internal chunk representation by @d-v-b in #3899
  • Fix V3 time types by @chuckwondo in #3955
  • chore: fix ability to run mypy via hatch by @chuckwondo in #3952
  • Fix minor typos by @kabilar in #3957
  • chore(deps): bump the actions group with 5 updates by @dependabot[bot] in #3951
  • deprecate blosc enums by @d-v-b in #3963
  • BUG: Fix empty Group nodes lacking a "consolidated_metadata" field by @TomAugspurger in #3967
  • fix(zarr-metadata): model stored metadata more closely by @d-v-b in #3962
  • fix: allow writing to 0-dimensional arrays with sharding by @NIK-TIGER-BILL in #3966
  • chore(deps): bump the actions group with 2 updates by @dependabot[bot] in #3970
  • chore: run mypy from developer environment by @d-v-b in #3972
  • feat:get_ranges by @d-v-b in #3925
  • chore: remove warning on fixed length utf32 by @d-v-b in #3979
  • misc(zarr-metadata): typed constants and fixes by @d-v-b in #3978
  • chore: cd workflow by @d-v-b in #3935
  • perf: cache default ArraySpec for regular chunk grids by @d-v-b in #3908
  • refactor(sharding): store chunks_per_shard explicitly in _ShardIndex by @d-v-b in #3975
  • docs: update link to developer chat by @d-v-b in #3980
  • feat(zarr-metadata): partial metadata types by @d-v-b in #3982
  • chore(zarr-metadata): set up a changelog by @d-v-b in #3981
  • Optimize partial shard reads by @aldenks in #3004
  • Do not install CuPy on darwin by @chuckwondo in #3988
  • chore(zarr-metadata): prepare for 0.2.0 release by @d-v-b in #3986
  • Widen ChunksLike type alias by @chuckwondo in #3990
  • fix: match v* when extracting a zarr version from git tags by @d-v-b in #3994
  • feat: subchunk write order by @ilan-gold in #3826
  • prune old string dtype class by @d-v-b in #3973
  • fix: compare metadata objects by JSON form by @d-v-b in #3999
  • Run doctests via pytest and fix broken doctests. by @chuckwondo in #4000
  • fix(FsspecStore): close owned async filesystem on store.close() by @josh-ag2 in #4003
  • chore(deps): bump the actions group across 1 directory with 8 updates by @dependabot[bot] in #4014
  • fix: use hatch's default env so the uv installer is inherited by @lhoupert in #4023
  • chore: update pre-commit hooks by @pre-commit-ci[bot] in #4024
  • docs: test more code snippets in docs by @d-v-b in #4018
  • chore(deps-dev): bump uv from 0.11.14 to 0.11.15 in the uv group across 1 directory by @dependabot[bot] in #4019
  • refactor: remove random subchunk ordering by @d-v-b in #4011
  • fix: make xarray downstream tests work by @d-v-b in #4043
  • test: add property tests for block and mask indexing by @maxrjones in #4054
  • refactor: use backported sentinel type by @d-v-b in #4046
  • chore(deps): bump aiohttp from 3.13.5 to 3.14.0 in the uv group across 1 directory by @dependabot[bot] in #4031
  • Revert "fix: make xarray downstream tests work" by @d-v-b in #4047
  • chore: indexing test cleanup by @d-v-b in #4001
  • refactor/consolidated JSON IO routines by @d-v-b in #3998
  • chore(deps): bump the actions group with 3 updates by @dependabot[bot] in #4058
  • Modify custom dtype example to use only public API by @chuckwondo in #4052
  • fix: copy attributes passed from the user to avoid mutation by @stibrew in #4060
  • docs: add core-developer self-merge policy by @maxrjones in #4053
  • fix![zarr-metadata]: define JSONValue type, and narrow object annotations to use JSONValue by @d-v-b in #4037
  • perf: cache lexicographic chunk coords in sharding codec by @d-v-b in #4012
  • deprecate more enums by @d-v-b in #3968
  • fix: update OSPO action references to canonical org path by @zkoppert in #3856
  • chore(deps): bump tornado from 6.5.5 to 6.5.6 in the uv group across 1 directory by @dependabot[bot] in #4062
  • harden developer environment by @d-v-b in #4066
  • chore(deps): bump codecov/codecov-action from 6.0.1 to 7.0.0 in the actions group by @dependabot[bot] in #4071
  • chore(deps): bump the python-dependencies group with 14 updates by @dependabot[bot] in #4072
  • chore(deps): bump tornado from 6.5.6 to 6.5.7 by @dependabot[bot] in #4067
  • chore(deps): bump cryptography from 48.0.0 to 48.0.1 by @dependabot[bot] in #4070
  • chore(deps): bump aiohttp from 3.14.0 to 3.14.1 by @dependabot[bot] in #4069
  • Claude/storage codec bugfixes by @d-v-b in #4074
  • chore(deps): bump bleach from 6.3.0 to 6.4.0 by @dependabot[bot] in #4081
  • Control sharding codec read coalescing with ArrayConfig and runtime config options by @aldenks in #3987
  • chore(deps-dev): bump the python-dependencies group across 1 directory with 2 updates by @dependabot[bot] in #4080
  • allow roundtripping the BytesCodec by @keewis in #3417
  • feat![zarr-metadata]: extensive top-level exports by @d-v-b in #4083
  • zarr metadata 0.3.0 by @d-v-b in #4084
  • Claude/py312 modernizations by @d-v-b in #4087
  • chore(deps): bump CodSpeedHQ/action from 4.17.0 to 4.17.5 in the actions group by @dependabot[bot] in #4079
  • chore: add rectilinear hypothesis block indexing tests by @maxrjones in #4075
  • chore(deps): bump pydantic-settings from 2.14.1 to 2.14.2 by @dependabot[bot] in #4089
  • chore: dependabot only updates direct dependencies by @d-v-b in #4090
  • chore(deps): bump msgpack from 1.1.2 to 1.2.1 by @dependabot[bot] in #4088
  • test: pytest cleanups / modernization by @d-v-b in #4093
  • fix(testing): correct delete_dir prefix matching in stateful tests by @NIK-TIGER-BILL in #4002
  • chore(deps): bump the actions group with 3 updates by @dependabot[bot] in #4097
  • Remove struct unstable warning by @d-v-b in https://github.com/zarr-developers/z...
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

v3.1.3

Choose a tag to compare

@d-v-b d-v-b released this 18 Sep 19:32
de94764

What's Changed

  • Use atomic writes for new files in LocalStore by @shoyer in #3412
  • Simplify local store tests by @shoyer in #3414
  • Remove Store.set_partial_writes by @shoyer in #3413
  • chore/unformatted exceptions by @d-v-b in #3403
  • chore: update pre-commit hooks by @pre-commit-ci[bot] in #3423
  • fix: ChunkCoords definition by @LDeakin in #3425
  • specify default event loop for async tests by @d-v-b in #3424
  • Ensure absolute paths work with consolidate metadata by @shoyer in #3428
  • Fix creating groups with group() by @dstansby in #3431
  • Raise more helpful errors in _dereference_path by @dstansby in #3392
  • Pass read_only into LocalStore.open() by @shoyer in #3432
  • Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows in the github_actions group across 1 directory by @dependabot[bot] in #3434
  • obstore delete_dir by @slowjazz in #3310
  • Bump the actions group across 1 directory with 4 updates by @dependabot[bot] in #3439
  • fix/shard iteration redux by @d-v-b in #3422
  • feature(ci): updload nightly wheel to scientific python anaconda repo by @jhamman in #3449
  • Document that copy() functions are not implemented by @dstansby in #3442
  • allow int-like floats for int dtype fill values by @d-v-b in #3448
  • Fix nightly-wheel tag by @jhamman in #3450
  • chore/handle numcodecs codecs by @d-v-b in #3376
  • Bump astral-sh/setup-uv from 6.6.1 to 6.7.0 in the actions group by @dependabot[bot] in #3455
  • Raise helpful errors when opening a group with wrong node type. by @dstansby in #3444
  • Minor fixes for zarr.codecs.numcodecs by @K-Meech in #3459
  • docstring cleanup by @d-v-b in #3390
  • Add CLI for converting v2 metadata to v3 by @K-Meech in #3257
  • Add registry for chunk key encodings for extensibility by @RFLeijenaar in #3436
  • fix:*-like creation routines take kwargs by @d-v-b in #2992
  • Prevent creation of arrays/groups under a parent array by @K-Meech in #3407

New Contributors

  • @RFLeijenaar made their first contribution in #3436

Full Changelog: v3.1.2...v3.1.3