Release notes#
3.0.6 (2025-03-20)#
Bugfixes#
Restore functionality of del z.attrs[‘key’] to actually delete the key. (#2908)
3.0.5 (2025-03-07)#
Bugfixes#
Misc#
3.0.4 (2025-02-23)#
Features#
Adds functions for concurrently creating multiple arrays and groups. (#2665)
Bugfixes#
Misc#
3.0.3 (2025-02-14)#
Features#
Improves performance of FsspecStore.delete_dir for remote filesystems supporting concurrent/batched deletes, e.g., s3fs. (#2661)
Added
zarr.config.enable_gpu()to update Zarr’s configuration to use GPUs. (#2751)Avoid reading chunks during writes where possible. #757 (#2784)
LocalStorelearned todelete_dir. This makes array and group deletes more efficient. (#2804)Add zarr.testing.strategies.array_metadata to generate ArrayV2Metadata and ArrayV3Metadata instances. (#2813)
Add arbitrary shards to Hypothesis strategy for generating arrays. (#2822)
Bugfixes#
Fixed bug with Zarr using device memory, instead of host memory, for storing metadata when using GPUs. (#2751)
The array returned by
zarr.emptyand an emptyzarr.core.buffer.cpu.NDBufferwill now be filled with the specified fill value, or with zeros if no fill value is provided. This fixes a bug where Zarr format 2 data with no fill value was written with un-predictable chunk sizes. (#2755)Fix zip-store path checking for stores with directories listed as files. (#2758)
Use removeprefix rather than replace when removing filename prefixes in FsspecStore.list (#2778)
Enable automatic removal of needs release notes with labeler action (#2781)
Use the proper label config (#2785)
Alters the behavior of
create_arrayto ensure that any groups implied by the array’s name are created if they do not already exist. Also simplifies the type signature for any function that takes an ArrayConfig-like object. (#2795)Enitialise empty chunks to the default fill value during writing and add default fill values for datetime, timedelta, structured, and other (void* fixed size) data types (#2799)
Ensure utf8 compliant strings are used to construct numpy arrays in property-based tests (#2801)
Fix pickling for ZipStore (#2807)
Update numcodecs to not overwrite codec configuration ever. Closes #2800. (#2811)
Fix fancy indexing (e.g. arr[5, [0, 1]]) with the sharding codec (#2817)
Improved Documentation#
Added new user guide on Using GPUs with Zarr. (#2751)
3.0.2 (2025-01-31)#
Features#
Test
getsize()andgetsize_prefix()inStoreTests. (#2693)Test that a
ValueErroris raised for invalid byte range syntax inStoreTests. (#2693)Separate instantiating and opening a store in
StoreTests. (#2693)Add a test for using Stores as a context managers in
StoreTests. (#2693)Implemented
LogingStore.open(). (#2693)LoggingStoreis now a generic class. (#2693)Change StoreTest’s
test_store_repr,test_store_supports_writes,test_store_supports_partial_writes, andtest_store_supports_listingto to be implemented using@abstractmethod, rather raisingNotImplementedError. (#2693)Test the error raised for invalid buffer arguments in
StoreTests. (#2693)Test that data can be written to a store that’s not yet open using the store.set method in
StoreTests. (#2693)Adds a new function
init_arrayfor initializing an array in storage, and refactorscreate_arrayto useinit_array.create_arraytakes two new parameters:data, an optional array-like object, andwrite_data, a bool which defaults toTrue. Ifdatais given tocreate_array, then thedtypeandshapeattributes ofdataare used to define the corresponding attributes of the resulting Zarr array. Additionally, ifdatagiven andwrite_dataisTrue, then the values indatawill be written to the newly created array. (#2761)
Bugfixes#
Wrap sync fsspec filesystems with
AsyncFileSystemWrapper. (#2533)Added backwards compatibility for Zarr format 2 structured arrays. (#2681)
Update equality for
LoggingStoreandWrapperStoresuch that ‘other’ must also be aLoggingStoreorWrapperStorerespectively, rather than only checking the types of the stores they wrap. (#2693)Ensure that
ZipStoreis open before getting or setting any values. (#2693)Use stdout rather than stderr as the default stream for
LoggingStore. (#2693)Match the errors raised by read only stores in
StoreTests. (#2693)Fixed
ZipStoreto make sure the correct attributes are saved when instances are pickled. This fixes a previous bug that prevent usingZipStorewith aProcessPoolExecutor. (#2762)Updated the optional test dependencies to include
botocoreandfsspec. (#2768)Fixed the fsspec tests to skip if
botocoreis not installed. Previously they would have failed with an import error. (#2768)Optimize full chunk writes. (#2782)
Improved Documentation#
Changed the machinery for creating changelog entries. Now individual entries should be added as files to the changes directory in the zarr-python repository, instead of directly to the changelog file. (#2736)
Other#
Created a type alias
ChunkKeyEncodingLiketo model the union ofChunkKeyEncodinginstances and the dict form of the parameters of those instances.ChunkKeyEncodingLikeshould be used by high-level functions to provide a convenient way for creatingChunkKeyEncodingobjects. (#2763)
3.0.1 (Jan. 17, 2025)#
Bug fixes#
Fixes
orderargument for Zarr format 2 arrays (#2679).Fixes a bug that prevented reading Zarr format 2 data with consolidated metadata written using
zarr-pythonversion 2 (#2694).Ensure that compressor=None results in no compression when writing Zarr format 2 data (#2708).
Fix for empty consolidated metadata dataset: backwards compatibility with Zarr-Python 2 (#2695).
Documentation#
Other#
3.0.0 (Jan. 9, 2025)#
3.0.0 is a new major release of Zarr-Python, with many breaking changes. See the 3.0 Migration Guide for a listing of what’s changed.
Normal release note service will resume with further releases in the 3.0.0 series.
Release notes for the zarr-python 2.x and 1.x releases can be found here: https://zarr.readthedocs.io/en/support-v2/release.html