Skip to content

Commit 2200fc7

Browse files
joshmoorejakirkham
andauthored
Release notes 2.11.0 (#959)
* Release notes 2.11.0 * Rendering improvements for changelog * Remove duplicated entries from 2.10.3 * Apply suggestions from code review Co-authored-by: jakirkham <[email protected]> Co-authored-by: jakirkham <[email protected]>
1 parent 2813231 commit 2200fc7

File tree

2 files changed

+107
-16
lines changed

2 files changed

+107
-16
lines changed

.github/workflows/minimal.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
branches: [ master ]
1010

1111
jobs:
12-
build:
12+
minimum_build:
1313

1414
runs-on: ubuntu-latest
1515
steps:

docs/release.rst

Lines changed: 106 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,119 @@ Release notes
66
Unreleased
77
----------
88

9-
This release of Zarr Python introduces a new ``BaseStore`` class that all provided store classes implemented in Zarr Python now inherit from. This is done as part of refactoring to enable future support of the Zarr version 3 spec. Existing third-party stores that are a MutableMapping (e.g. dict) can be converted to a new-style key/value store inheriting from ``BaseStore`` by passing them as the argument to the new ``zarr.storage.KVStore`` class. For backwards compatibility, various higher-level array creation and convenience functions still accept plain Python dicts or other mutable mappings for the ``store`` argument, but will internally convert these to a ``KVStore``.
9+
.. _release_2.11.0:
1010

11+
2.11.0
12+
------
1113

1214
Enhancements
1315
~~~~~~~~~~~~
1416

15-
* write_empty_chunks defaults to False.
16-
By :user:`Juan Nunez-Iglesias <jni>`; :issue:`853`.
17+
* **Sparse changes with performance impact!** One of the advantages of the Zarr
18+
format is that it is sparse, which means that chunks with no data (more
19+
precisely, with data equal to the fill value, which is usually 0) don't need
20+
to be written to disk at all. They will simply be assumed to be empty at read
21+
time. However, until this release, the Zarr library would write these empty
22+
chunks to disk anyway. This changes in this version: a small performance
23+
penalty at write time leads to significant speedups at read time and in
24+
filesystem operations in the case of sparse arrays. To revert to the old
25+
behavior, pass the argument ``write_empty_chunks=True`` to the array creation
26+
function. By :user:`Juan Nunez-Iglesias <jni>`; :issue:`853` and
27+
:user:`Davis Bennett <d-v-b>`; :issue:`738`.
28+
29+
* **Fancy indexing**. Zarr arrays now support NumPy-style fancy indexing with
30+
arrays of integer coordinates. This is equivalent to using zarr.Array.vindex.
31+
Mixing slices and integer arrays is not supported.
32+
By :user:`Juan Nunez-Iglesias <jni>`; :issue:`725`.
1733

18-
* Allow to assign array ``fill_values`` and update metadata accordingly. :issue:`662`
34+
* **New base class**. This release of Zarr Python introduces a new
35+
``BaseStore`` class that all provided store classes implemented in Zarr
36+
Python now inherit from. This is done as part of refactoring to enable future
37+
support of the Zarr version 3 spec. Existing third-party stores that are a
38+
MutableMapping (e.g. dict) can be converted to a new-style key/value store
39+
inheriting from ``BaseStore`` by passing them as the argument to the new
40+
``zarr.storage.KVStore`` class. For backwards compatibility, various
41+
higher-level array creation and convenience functions still accept plain
42+
Python dicts or other mutable mappings for the ``store`` argument, but will
43+
internally convert these to a ``KVStore``.
44+
By :user:`Greggory Lee <grlee77>`; :issue:`839`, :issue:`789`, and :issue:`950`.
1945

20-
* array indexing with [] (getitem and setitem) now supports fancy indexing.
21-
By :user:`Juan Nunez-Iglesias <jni>`; :issue:`725`.
46+
* Allow to assign array ``fill_values`` and update metadata accordingly.
47+
By :user:`Ryan Abernathey <rabernat>`, :issue:`662`.
48+
49+
* Allow to update array fill_values
50+
By :user:`Matthias Bussonnier <Carreau>` :issue:`665`.
51+
52+
Bug fixes
53+
~~~~~~~~~
54+
55+
* Fix bug where the checksum of zipfiles is wrong
56+
By :user:`Oren Watson <orenwatson>` :issue:`930`.
57+
58+
* Fix consolidate_metadata with FSStore.
59+
By :user:`Joe Hamman <jhamman>` :issue:`916`.
60+
61+
* Unguarded next inside generator.
62+
By :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>` :issue:`889`.
63+
64+
Documentation
65+
~~~~~~~~~~~~~
66+
67+
* Update docs creation of dev env.
68+
By :user:`Ray Bell <raybellwaves>` :issue:`921`.
69+
70+
* Update docs to use ``python -m pytest``.
71+
By :user:`Ray Bell <raybellwaves>` :issue:`923`.
72+
73+
* Fix versionadded tag in zarr.core.Array docstring.
74+
By :user:`Juan Nunez-Iglesias <jni>` :issue:`852`.
75+
76+
* Doctest seem to be stricter now, updating tostring() to tobytes().
77+
By :user:`John Kirkham <jakirkham>` :issue:`907`.
78+
79+
* Minor doc fix.
80+
By :user:`Mads R. B. Kristensen <madsbk>` :issue:`937`.
81+
82+
Maintenance
83+
~~~~~~~~~~~
84+
85+
* Upgrade MongoDB in test env.
86+
By :user:`Joe Hamman <jhamman>` :issue:`939`.
87+
88+
* Pass dimension_separator on fixture generation.
89+
By :user:`Josh Moore <joshmoore>` :issue:`858`.
90+
91+
* Activate Python 3.9 in GitHub Actions.
92+
By :user:`Josh Moore <joshmoore>` :issue:`859`.
93+
94+
* Drop shortcut ``fsspec[s3]`` for dependency.
95+
By :user:`Josh Moore <joshmoore>` :issue:`920`.
96+
97+
* and a swath of code-linting improvements by :user:`Dimitri Papadopoulos Orfanos <DimitriPapadopoulos>`:
98+
99+
- Unnecessary comprehension (:issue:`899`)
100+
101+
- Unnecessary ``None`` provided as default (:issue:`900`)
102+
103+
- use an if ``expression`` instead of `and`/`or` (:issue:`888`)
104+
105+
- Remove unnecessary literal (:issue:`891`)
106+
107+
- Decorate a few method with `@staticmethod` (:issue:`885`)
108+
109+
- Drop unneeded ``return`` (:issue:`884`)
110+
111+
- Drop explicit ``object`` inheritance from ``class``es (:issue:`886`)
112+
113+
- Unnecessary comprehension (:issue:`883`)
114+
115+
- Codespell configuration (:issue:`882`)
22116
23-
* write_empty_chunks=False deletes chunks consisting of only fill_value.
24-
By :user:`Davis Bennett <d-v-b>`; :issue:`738`.
117+
- Fix typos found by codespell (:issue:`880`)
25118
26-
* Move metadata handling to a class.
27-
By :user:`Greggory Lee <grlee77>`; :issue:`839`.
119+
- Proper C-style formatting for integer (:issue:`913`)
28120
29-
* Create a Base store class for Zarr Store.
30-
By :user:`Greggory Lee <grlee77>`; :issue:`789`.
121+
- Add LGTM.com / DeepSource.io configuration files (:issue:`909`)
31122
32123
.. _release_2.10.3:
33124
@@ -144,7 +235,7 @@ Maintenance
144235
~~~~~~~~~~~
145236

146237
* Correct conda-forge deployment of Zarr.
147-
By :user:`Josh Moore <joshmoore>`; :issue:`XXX`.
238+
By :user:`Josh Moore <joshmoore>`; :issue:`819`.
148239

149240
.. _release_2.9.0:
150241

@@ -346,8 +437,8 @@ This release of Zarr Python is the first release of Zarr to not support Python 3
346437
<https://github.com/zarr-developers/zarr-python/issues/536#issuecomment-721253094>`_ for some performance analysis
347438
showing order of magnitude faster response in some benchmark.
348439

349-
See `this link <https://github.com/zarr-developers/zarr-python/milestone/11?closed=1>` for the full list of closed and
350-
merged PR tagged with the 2.6 milestone.
440+
See `this link <https://github.com/zarr-developers/zarr-python/milestone/11?closed=1>`_
441+
for the full list of closed and merged PR tagged with the 2.6 milestone.
351442

352443
* Add ability to partially read and decompress arrays, see :issue:`667`. It is
353444
only available to chunks stored using fsspec and using Blosc as a compressor.

0 commit comments

Comments
 (0)