From 83e09c7e34e71b966d2737e02dc366174b80599b Mon Sep 17 00:00:00 2001 From: Davis Vann Bennett Date: Thu, 19 Mar 2026 16:17:14 +0100 Subject: [PATCH 1/7] have towncrier use h2 header for each release note --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index b3816f22c9..b1077e3e5d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -445,6 +445,7 @@ checks = [ directory = 'changes' filename = "docs/release-notes.md" underlines = ["", "", ""] +title_format = "## {version} ({project_date})" issue_format = "[#{issue}](https://github.com/zarr-developers/zarr-python/issues/{issue})" start_string = "\n" From 398a678845fd74a7b249445c27851cb803960d8d Mon Sep 17 00:00:00 2001 From: Davis Vann Bennett Date: Thu, 19 Mar 2026 16:29:28 +0100 Subject: [PATCH 2/7] remove h1 headers --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index 71c095e19a..25ebdb8edf 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -2,7 +2,7 @@ -# zarr 3.1.5 (2025-11-21) +## zarr 3.1.5 (2025-11-21) ## Bugfixes From e0a51f47af6f4f0b3fc3773bfde4e9e74e69ef26 Mon Sep 17 00:00:00 2001 From: Davis Vann Bennett Date: Thu, 19 Mar 2026 17:22:03 +0100 Subject: [PATCH 3/7] release notes --- changes/3464.doc.md | 1 - changes/3562.misc.md | 1 - changes/3603.bugfix.md | 1 - changes/3605.misc.md | 1 - changes/3619.misc.md | 1 - changes/3623.misc.md | 5 ----- changes/3636.misc.md | 1 - changes/3648.misc.md | 1 - changes/3655.bugfix.md | 1 - changes/3656.misc.md | 1 - changes/3657.bugfix.md | 1 - changes/3658.misc.md | 1 - changes/3668.feature.md | 4 ---- changes/3673.misc.md | 1 - changes/3695.bugfix.md | 1 - changes/3700.bugfix.md | 1 - changes/3702.bugfix.md | 1 - changes/3704.misc.md | 1 - changes/3705.bugfix.md | 1 - changes/3706.misc.md | 1 - changes/3708.misc.md | 1 - changes/3710.bugfix.md | 1 - changes/3712.misc.md | 1 - changes/3713.misc.md | 1 - changes/3717.misc.md | 1 - changes/3721.misc.md | 1 - changes/3728.misc.md | 1 - changes/3778.misc.md | 1 - docs/release-notes.md | 29 +++++++++++++++++++++++++++++ 29 files changed, 29 insertions(+), 35 deletions(-) delete mode 100644 changes/3464.doc.md delete mode 100644 changes/3562.misc.md delete mode 100644 changes/3603.bugfix.md delete mode 100644 changes/3605.misc.md delete mode 100644 changes/3619.misc.md delete mode 100644 changes/3623.misc.md delete mode 100644 changes/3636.misc.md delete mode 100644 changes/3648.misc.md delete mode 100644 changes/3655.bugfix.md delete mode 100644 changes/3656.misc.md delete mode 100644 changes/3657.bugfix.md delete mode 100644 changes/3658.misc.md delete mode 100644 changes/3668.feature.md delete mode 100644 changes/3673.misc.md delete mode 100644 changes/3695.bugfix.md delete mode 100644 changes/3700.bugfix.md delete mode 100644 changes/3702.bugfix.md delete mode 100644 changes/3704.misc.md delete mode 100644 changes/3705.bugfix.md delete mode 100644 changes/3706.misc.md delete mode 100644 changes/3708.misc.md delete mode 100644 changes/3710.bugfix.md delete mode 100644 changes/3712.misc.md delete mode 100644 changes/3713.misc.md delete mode 100644 changes/3717.misc.md delete mode 100644 changes/3721.misc.md delete mode 100644 changes/3728.misc.md delete mode 100644 changes/3778.misc.md diff --git a/changes/3464.doc.md b/changes/3464.doc.md deleted file mode 100644 index 155a4575f4..0000000000 --- a/changes/3464.doc.md +++ /dev/null @@ -1 +0,0 @@ -Add documentation example for creating uncompressed arrays in the Compression section of the user guide. diff --git a/changes/3562.misc.md b/changes/3562.misc.md deleted file mode 100644 index e164ab39f8..0000000000 --- a/changes/3562.misc.md +++ /dev/null @@ -1 +0,0 @@ -Add continuous performance benchmarking infrastructure. \ No newline at end of file diff --git a/changes/3603.bugfix.md b/changes/3603.bugfix.md deleted file mode 100644 index 37e1da5cb1..0000000000 --- a/changes/3603.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Correct the target bytes number for auto-chunking when auto-sharding. \ No newline at end of file diff --git a/changes/3605.misc.md b/changes/3605.misc.md deleted file mode 100644 index b8c0757b69..0000000000 --- a/changes/3605.misc.md +++ /dev/null @@ -1 +0,0 @@ -Fix a bug in the test suite that prevented stand-alone example scripts from being tested. \ No newline at end of file diff --git a/changes/3619.misc.md b/changes/3619.misc.md deleted file mode 100644 index 8c36e473b5..0000000000 --- a/changes/3619.misc.md +++ /dev/null @@ -1 +0,0 @@ -Remove upper bounds on `pytest` and `pytest-asyncio` test dependencies. \ No newline at end of file diff --git a/changes/3623.misc.md b/changes/3623.misc.md deleted file mode 100644 index 4060e55e5f..0000000000 --- a/changes/3623.misc.md +++ /dev/null @@ -1,5 +0,0 @@ -This PR contains minor, non-function-altering, changes to use `ZarrFormat` across the repo as opposed to duplicating is with `Literal[2,3]`. - -Additionally, it fixes broken linting by using a `Literal[True, False]` type hint for Numpy hypothesis testing, as opposed to `bool`. - -Basically improves the typehints and reduces fat-finger error surface area slightly. diff --git a/changes/3636.misc.md b/changes/3636.misc.md deleted file mode 100644 index a814160c8b..0000000000 --- a/changes/3636.misc.md +++ /dev/null @@ -1 +0,0 @@ -The minimum required version of NumPy is now 2.0. diff --git a/changes/3648.misc.md b/changes/3648.misc.md deleted file mode 100644 index 156f8671de..0000000000 --- a/changes/3648.misc.md +++ /dev/null @@ -1 +0,0 @@ -Fix deprecation of setting a shape on an array directly in ``numpy`` 2.5+. diff --git a/changes/3655.bugfix.md b/changes/3655.bugfix.md deleted file mode 100644 index 67d384f00d..0000000000 --- a/changes/3655.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fixed a bug in the sharding codec that prevented nested shard reads in certain cases. \ No newline at end of file diff --git a/changes/3656.misc.md b/changes/3656.misc.md deleted file mode 100644 index 159f24d072..0000000000 --- a/changes/3656.misc.md +++ /dev/null @@ -1 +0,0 @@ -Removed *rich* and *mypy* from the `[test]` dependencies, and added a new `[dev]` dependency group that can be used to install all the development dependencies. diff --git a/changes/3657.bugfix.md b/changes/3657.bugfix.md deleted file mode 100644 index 1411704674..0000000000 --- a/changes/3657.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fix obstore _transform_list_dir implementation to correctly relativize paths (removing lstrip usage). \ No newline at end of file diff --git a/changes/3658.misc.md b/changes/3658.misc.md deleted file mode 100644 index f400d97473..0000000000 --- a/changes/3658.misc.md +++ /dev/null @@ -1 +0,0 @@ -Switch from `pre-commit` to [`prek`](https://github.com/j178/prek) for pre-commit checks. \ No newline at end of file diff --git a/changes/3668.feature.md b/changes/3668.feature.md deleted file mode 100644 index def196ec8a..0000000000 --- a/changes/3668.feature.md +++ /dev/null @@ -1,4 +0,0 @@ -Exposes the array runtime configuration as an attribute called `config` on the `Array` and -`AsyncArray` classes. The previous `AsyncArray._config` attribute is now a deprecated alias for `AsyncArray.config`. - -Adds a method for creating a new `Array` / `AsyncArray` instance with a new runtime configuration, and fixes inaccurate documentation about the `write_empty_chunks` configuration parameter. \ No newline at end of file diff --git a/changes/3673.misc.md b/changes/3673.misc.md deleted file mode 100644 index 83643f5d3c..0000000000 --- a/changes/3673.misc.md +++ /dev/null @@ -1 +0,0 @@ -Benchmark CI now only runs for PRs with the `benchmark` label, reducing CodSpeed credit usage. diff --git a/changes/3695.bugfix.md b/changes/3695.bugfix.md deleted file mode 100644 index a7d847e4f1..0000000000 --- a/changes/3695.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Raise error when trying to encode :class:`numpy.dtypes.StringDType` with `na_object` set. \ No newline at end of file diff --git a/changes/3700.bugfix.md b/changes/3700.bugfix.md deleted file mode 100644 index 86acb71d0e..0000000000 --- a/changes/3700.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -CacheStore, LoggingStore and LatencyStore now support with_read_only. \ No newline at end of file diff --git a/changes/3702.bugfix.md b/changes/3702.bugfix.md deleted file mode 100644 index 94a2902567..0000000000 --- a/changes/3702.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Skip chunk coordinate enumeration in resize when the array is only growing, avoiding unbounded memory usage for large arrays. \ No newline at end of file diff --git a/changes/3704.misc.md b/changes/3704.misc.md deleted file mode 100644 index d15d4924e0..0000000000 --- a/changes/3704.misc.md +++ /dev/null @@ -1 +0,0 @@ -Remove an expensive `isinstance` check from the bytes codec decoding routine. \ No newline at end of file diff --git a/changes/3705.bugfix.md b/changes/3705.bugfix.md deleted file mode 100644 index 2abcb4ee7c..0000000000 --- a/changes/3705.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Fix a performance bug in morton curve generation. \ No newline at end of file diff --git a/changes/3706.misc.md b/changes/3706.misc.md deleted file mode 100644 index 70a0e44c58..0000000000 --- a/changes/3706.misc.md +++ /dev/null @@ -1 +0,0 @@ -Allow NumPy ints as input when declaring a shape. \ No newline at end of file diff --git a/changes/3708.misc.md b/changes/3708.misc.md deleted file mode 100644 index dce7546c97..0000000000 --- a/changes/3708.misc.md +++ /dev/null @@ -1 +0,0 @@ -Optimize Morton order computation with hypercube optimization, vectorized decoding, and singleton dimension removal, providing 10-45x speedup for typical chunk shapes. diff --git a/changes/3710.bugfix.md b/changes/3710.bugfix.md deleted file mode 100644 index a40ddcee23..0000000000 --- a/changes/3710.bugfix.md +++ /dev/null @@ -1 +0,0 @@ -Add a dedicated in-memory cache for byte-range requests to the experimental `CacheStore`. \ No newline at end of file diff --git a/changes/3712.misc.md b/changes/3712.misc.md deleted file mode 100644 index 8fa2f2d2f7..0000000000 --- a/changes/3712.misc.md +++ /dev/null @@ -1 +0,0 @@ -Added benchmarks for Morton order computation in sharded arrays. diff --git a/changes/3713.misc.md b/changes/3713.misc.md deleted file mode 100644 index 9b0680dfc0..0000000000 --- a/changes/3713.misc.md +++ /dev/null @@ -1 +0,0 @@ -Vectorize get_chunk_slice for faster sharded array writes. diff --git a/changes/3717.misc.md b/changes/3717.misc.md deleted file mode 100644 index 5fed76b2b7..0000000000 --- a/changes/3717.misc.md +++ /dev/null @@ -1 +0,0 @@ -Add benchmarks for Morton order computation with non-power-of-2 and near-miss shard shapes, covering both pure computation and end-to-end read/write performance. diff --git a/changes/3721.misc.md b/changes/3721.misc.md deleted file mode 100644 index c170712882..0000000000 --- a/changes/3721.misc.md +++ /dev/null @@ -1 +0,0 @@ -Adds synchronous (non-async) encoding and decoding methods to CPU-bound codecs. This is necessary for performance optimizations based on avoiding `asyncio` overhead. These new methods are described by a new protocol: `SupportsSyncCodec`. \ No newline at end of file diff --git a/changes/3728.misc.md b/changes/3728.misc.md deleted file mode 100644 index a3cbb8d3f0..0000000000 --- a/changes/3728.misc.md +++ /dev/null @@ -1 +0,0 @@ -Move development dependencies (`test`, `remote_tests`, `docs`, `dev`) from optional dependencies to [dependency groups](https://packaging.python.org/en/latest/specifications/dependency-groups/). This may cause breakage for anyone who used e.g. `pip install zarr[test]` to get access to test dependencies. To install these dependency groups from a local checkout, use `pip install --group ` (pip 25.1+) or `uv run --group `. \ No newline at end of file diff --git a/changes/3778.misc.md b/changes/3778.misc.md deleted file mode 100644 index 17f26666ed..0000000000 --- a/changes/3778.misc.md +++ /dev/null @@ -1 +0,0 @@ -`Group.tree()` no longer requires the `rich` dependency. Tree rendering now uses built-in ANSI bold for terminals and HTML bold for Jupyter. New parameters: `plain=True` for unstyled output, and `max_nodes` (default 500) to truncate large hierarchies with early bailout. diff --git a/docs/release-notes.md b/docs/release-notes.md index 25ebdb8edf..297318b2ac 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -2,6 +2,35 @@ +## 3.1.6 (2026-03-19) + +### Features + +- Exposes the array runtime configuration as an attribute called `config` on the `Array` and + `AsyncArray` classes. The previous `AsyncArray._config` attribute is now a deprecated alias for `AsyncArray.config`. + + Adds a method for creating a new `Array` / `AsyncArray` instance with a new runtime configuration, and fixes inaccurate documentation about the `write_empty_chunks` configuration parameter. ([#3668](https://github.com/zarr-developers/zarr-python/issues/3668)) + +### Bugfixes + +- Correct the target bytes number for auto-chunking when auto-sharding. ([#3603](https://github.com/zarr-developers/zarr-python/issues/3603)) +- Fixed a bug in the sharding codec that prevented nested shard reads in certain cases. ([#3655](https://github.com/zarr-developers/zarr-python/issues/3655)) +- Fix obstore _transform_list_dir implementation to correctly relativize paths (removing lstrip usage). ([#3657](https://github.com/zarr-developers/zarr-python/issues/3657)) +- Raise error when trying to encode :class:`numpy.dtypes.StringDType` with `na_object` set. ([#3695](https://github.com/zarr-developers/zarr-python/issues/3695)) +- CacheStore, LoggingStore and LatencyStore now support with_read_only. ([#3700](https://github.com/zarr-developers/zarr-python/issues/3700)) +- Skip chunk coordinate enumeration in resize when the array is only growing, avoiding unbounded memory usage for large arrays. ([#3702](https://github.com/zarr-developers/zarr-python/issues/3702)) +- Fix a performance bug in morton curve generation. ([#3705](https://github.com/zarr-developers/zarr-python/issues/3705)) +- Add a dedicated in-memory cache for byte-range requests to the experimental `CacheStore`. ([#3710](https://github.com/zarr-developers/zarr-python/issues/3710)) + +### Improved Documentation + +- Add documentation example for creating uncompressed arrays in the Compression section of the user guide. ([#3464](https://github.com/zarr-developers/zarr-python/issues/3464)) + +### Misc + +- [#3562](https://github.com/zarr-developers/zarr-python/issues/3562), [#3605](https://github.com/zarr-developers/zarr-python/issues/3605), [#3619](https://github.com/zarr-developers/zarr-python/issues/3619), [#3623](https://github.com/zarr-developers/zarr-python/issues/3623), [#3636](https://github.com/zarr-developers/zarr-python/issues/3636), [#3648](https://github.com/zarr-developers/zarr-python/issues/3648), [#3656](https://github.com/zarr-developers/zarr-python/issues/3656), [#3658](https://github.com/zarr-developers/zarr-python/issues/3658), [#3673](https://github.com/zarr-developers/zarr-python/issues/3673), [#3704](https://github.com/zarr-developers/zarr-python/issues/3704), [#3706](https://github.com/zarr-developers/zarr-python/issues/3706), [#3708](https://github.com/zarr-developers/zarr-python/issues/3708), [#3712](https://github.com/zarr-developers/zarr-python/issues/3712), [#3713](https://github.com/zarr-developers/zarr-python/issues/3713), [#3717](https://github.com/zarr-developers/zarr-python/issues/3717), [#3721](https://github.com/zarr-developers/zarr-python/issues/3721), [#3728](https://github.com/zarr-developers/zarr-python/issues/3728), [#3778](https://github.com/zarr-developers/zarr-python/issues/3778) + + ## zarr 3.1.5 (2025-11-21) ## Bugfixes From 2b36ab8b3ca45544184494a523ded8fb1e1fc6bb Mon Sep 17 00:00:00 2001 From: Davis Vann Bennett Date: Thu, 19 Mar 2026 18:17:01 +0100 Subject: [PATCH 4/7] rebuild release notes docs with #3769 --- changes/3769.doc.md | 1 - docs/release-notes.md | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 changes/3769.doc.md diff --git a/changes/3769.doc.md b/changes/3769.doc.md deleted file mode 100644 index f622ac525f..0000000000 --- a/changes/3769.doc.md +++ /dev/null @@ -1 +0,0 @@ -Add AI-assisted code policy to the contributing guide. diff --git a/docs/release-notes.md b/docs/release-notes.md index 297318b2ac..b6134f874d 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -25,6 +25,7 @@ ### Improved Documentation - Add documentation example for creating uncompressed arrays in the Compression section of the user guide. ([#3464](https://github.com/zarr-developers/zarr-python/issues/3464)) +- Add AI-assisted code policy to the contributing guide. ([#3769](https://github.com/zarr-developers/zarr-python/issues/3769)) ### Misc From 54ab6e5ba9b74c217e9b74875abbb037fb783fd1 Mon Sep 17 00:00:00 2001 From: Davis Vann Bennett Date: Thu, 19 Mar 2026 19:25:20 +0100 Subject: [PATCH 5/7] add more release notes --- docs/release-notes.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index b6134f874d..6f12efd38d 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -8,8 +8,9 @@ - Exposes the array runtime configuration as an attribute called `config` on the `Array` and `AsyncArray` classes. The previous `AsyncArray._config` attribute is now a deprecated alias for `AsyncArray.config`. - - Adds a method for creating a new `Array` / `AsyncArray` instance with a new runtime configuration, and fixes inaccurate documentation about the `write_empty_chunks` configuration parameter. ([#3668](https://github.com/zarr-developers/zarr-python/issues/3668)) +- Adds a method for creating a new `Array` / `AsyncArray` instance with a new runtime configuration, and fixes inaccurate documentation about the `write_empty_chunks` configuration parameter. ([#3668](https://github.com/zarr-developers/zarr-python/issues/3668)) +- Adds synchronous methods to stores that do not benefit from an async event loop. The shape of these methods is defined by protocol classes to support structural subtyping. ([#3725](https://github.com/zarr-developers/zarr-python/pull/3725)) +- Fix near-miss penalty in _morton_order with hybrid ceiling+argsort strategy. ([#3718](https://github.com/zarr-developers/zarr-python/pull/3718)) ### Bugfixes @@ -21,11 +22,16 @@ - Skip chunk coordinate enumeration in resize when the array is only growing, avoiding unbounded memory usage for large arrays. ([#3702](https://github.com/zarr-developers/zarr-python/issues/3702)) - Fix a performance bug in morton curve generation. ([#3705](https://github.com/zarr-developers/zarr-python/issues/3705)) - Add a dedicated in-memory cache for byte-range requests to the experimental `CacheStore`. ([#3710](https://github.com/zarr-developers/zarr-python/issues/3710)) +- BaseFloat._check_scalar rejects invalid string values. ([#3586](https://github.com/zarr-developers/zarr-python/issues/3586)) +- Apply drop_axes squeeze in partial decode path for sharding. ([#3763](https://github.com/zarr-developers/zarr-python/issues/3763)) +- Set copy=False in reshape operation. ([#3649](https://github.com/zarr-developers/zarr-python/issues/3649)) +- Validate that dask-style chunks have regular shapes. ([#3779](https://github.com/zarr-developers/zarr-python/issues/3779)) ### Improved Documentation - Add documentation example for creating uncompressed arrays in the Compression section of the user guide. ([#3464](https://github.com/zarr-developers/zarr-python/issues/3464)) - Add AI-assisted code policy to the contributing guide. ([#3769](https://github.com/zarr-developers/zarr-python/issues/3769)) +- Added a glossary. ([#3767](https://github.com/zarr-developers/zarr-python/issues/3767)) ### Misc From 55d0011e176730f4ddce6a1b723c6b36d619d7d2 Mon Sep 17 00:00:00 2001 From: Davis Vann Bennett Date: Thu, 19 Mar 2026 19:28:12 +0100 Subject: [PATCH 6/7] style --- docs/release-notes.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index 6f12efd38d..8e5eb52d60 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -10,21 +10,21 @@ `AsyncArray` classes. The previous `AsyncArray._config` attribute is now a deprecated alias for `AsyncArray.config`. - Adds a method for creating a new `Array` / `AsyncArray` instance with a new runtime configuration, and fixes inaccurate documentation about the `write_empty_chunks` configuration parameter. ([#3668](https://github.com/zarr-developers/zarr-python/issues/3668)) - Adds synchronous methods to stores that do not benefit from an async event loop. The shape of these methods is defined by protocol classes to support structural subtyping. ([#3725](https://github.com/zarr-developers/zarr-python/pull/3725)) -- Fix near-miss penalty in _morton_order with hybrid ceiling+argsort strategy. ([#3718](https://github.com/zarr-developers/zarr-python/pull/3718)) +- Fix near-miss penalty in `_morton_order` with hybrid ceiling+argsort strategy. ([#3718](https://github.com/zarr-developers/zarr-python/pull/3718)) ### Bugfixes - Correct the target bytes number for auto-chunking when auto-sharding. ([#3603](https://github.com/zarr-developers/zarr-python/issues/3603)) - Fixed a bug in the sharding codec that prevented nested shard reads in certain cases. ([#3655](https://github.com/zarr-developers/zarr-python/issues/3655)) -- Fix obstore _transform_list_dir implementation to correctly relativize paths (removing lstrip usage). ([#3657](https://github.com/zarr-developers/zarr-python/issues/3657)) +- Fix obstore `_transform_list_dir` implementation to correctly relativize paths (removing `lstrip` usage). ([#3657](https://github.com/zarr-developers/zarr-python/issues/3657)) - Raise error when trying to encode :class:`numpy.dtypes.StringDType` with `na_object` set. ([#3695](https://github.com/zarr-developers/zarr-python/issues/3695)) -- CacheStore, LoggingStore and LatencyStore now support with_read_only. ([#3700](https://github.com/zarr-developers/zarr-python/issues/3700)) +- `CacheStore`, `LoggingStore` and `LatencyStore` now support with_read_only. ([#3700](https://github.com/zarr-developers/zarr-python/issues/3700)) - Skip chunk coordinate enumeration in resize when the array is only growing, avoiding unbounded memory usage for large arrays. ([#3702](https://github.com/zarr-developers/zarr-python/issues/3702)) - Fix a performance bug in morton curve generation. ([#3705](https://github.com/zarr-developers/zarr-python/issues/3705)) - Add a dedicated in-memory cache for byte-range requests to the experimental `CacheStore`. ([#3710](https://github.com/zarr-developers/zarr-python/issues/3710)) -- BaseFloat._check_scalar rejects invalid string values. ([#3586](https://github.com/zarr-developers/zarr-python/issues/3586)) +- `BaseFloat._check_scalar` rejects invalid string values. ([#3586](https://github.com/zarr-developers/zarr-python/issues/3586)) - Apply drop_axes squeeze in partial decode path for sharding. ([#3763](https://github.com/zarr-developers/zarr-python/issues/3763)) -- Set copy=False in reshape operation. ([#3649](https://github.com/zarr-developers/zarr-python/issues/3649)) +- Set `copy=False` in reshape operation. ([#3649](https://github.com/zarr-developers/zarr-python/issues/3649)) - Validate that dask-style chunks have regular shapes. ([#3779](https://github.com/zarr-developers/zarr-python/issues/3779)) ### Improved Documentation From 568ec46dc8c68ad2665a4b08c951eafcaaf84d67 Mon Sep 17 00:00:00 2001 From: Davis Bennett Date: Thu, 19 Mar 2026 20:17:08 +0100 Subject: [PATCH 7/7] Update release-notes.md Co-authored-by: Max Jones <14077947+maxrjones@users.noreply.github.com> --- docs/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes.md b/docs/release-notes.md index 8e5eb52d60..b974ae10c7 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -7,7 +7,7 @@ ### Features - Exposes the array runtime configuration as an attribute called `config` on the `Array` and - `AsyncArray` classes. The previous `AsyncArray._config` attribute is now a deprecated alias for `AsyncArray.config`. + `AsyncArray` classes. The previous `AsyncArray._config` attribute is now a deprecated alias for `AsyncArray.config`. ([#3668](https://github.com/zarr-developers/zarr-python/issues/3668)) - Adds a method for creating a new `Array` / `AsyncArray` instance with a new runtime configuration, and fixes inaccurate documentation about the `write_empty_chunks` configuration parameter. ([#3668](https://github.com/zarr-developers/zarr-python/issues/3668)) - Adds synchronous methods to stores that do not benefit from an async event loop. The shape of these methods is defined by protocol classes to support structural subtyping. ([#3725](https://github.com/zarr-developers/zarr-python/pull/3725)) - Fix near-miss penalty in `_morton_order` with hybrid ceiling+argsort strategy. ([#3718](https://github.com/zarr-developers/zarr-python/pull/3718))