v2.1.0
Major Changes
-
Binaries are now available:
- conda-forge packages for Linux, MacOSX, and Windows;
- pip wheels for Linux and MacOSX (but not Windows).
-
Added support for StringDType, a.k.a. NpyStrings.
Requires h5py >=3.14.0 and NumPy >=2.0.
Like in h5py, StringDType is completely opt-in. -
The
astype()method is now functional; it returns a lazy read-only accessor just like in h5py. -
Fixed breakage in
delete_versions()after upgrading to h5py 3.14.0.
Minor Changes
-
Fixed crash when handling empty multidimensional datasets.
-
Fixed bugs where
InMemoryArrayDataset.__getitem__()and__array__()
would return the wrong dtype. -
The
.chunksproperty of a Dataset would occasionally return an unnecessary
ndindex.ChunkType; it now always returns a tuple of ints like in h5py. -
Fixed bug where the
ENABLE_CHUNK_REUSE_VALIDATIONenvironment variable would incur
in a false positive when the first element of an object array is bytes, but then later
on there are str elements. -
Overhauled ASV benchmarks support.
-
resize():- Fixed crash in
InMemorySparseDataset.resize(). - Fixed issue where calling
InMemoryArrayDataset.resize()to enlarge a dataset was
slow and caused huge memory usage.
- Fixed crash in
-
create_dataset():- The
dtype=parameter now accepts any DTypeLike, e.g."i4"orint, in
addition to actualnumpy.dtypeobjects. - Fixed bug that could lead to overflow/underflow/loss of definition after calling
__setitem__on the initial version of a dataset. - Avoid unnecessary double dtype conversions when passing a list to the
data=
parameter with an explicitdtype=parameter. - Fixed crashes when
chunks=parameter was either a bare integer or True. chunks=Falseis now explicitly disallowed
(before it would lead to an uncontrolled crash).- Warn for all ignored kwargs, not just for
maxshape.
- The
-
modify_metadata():- Fixed bug where setting
fillvalue=0would retain the previous fillvalue. - Speed up when the fillvalue doesn't change.
- Fixed bug when changing dtype and fillvalue at the same time, which could cause the
new fillvalue to be transitorily cast to the old dtype and overflow, underflow,
or lose definition.
- Fixed bug where setting