Change Log#

Version 1.3.0 (November 7th, 2023):

Version 1.2.0 (June 2nd, 2023):

  • Remove h5py2 compatibility code, remove h5py2 CI runs, mention NEP29 as upstream dependency support strategy. By Kai Mühlbauer and Mark Harfouche.

  • Update to pyproject.toml-only build process, adapt CI, use ruff for linting, add .pre-commit-config.yaml. By Kai Mühlbauer.

  • Maintenance CI (use setup-micromamba), fix hsds, fix tests, fix license. By Kai Mühlbauer.

  • Raise early with h5py-error. By Kai Mühlbauer.

  • Add simple test to ensure that the shape is stored in the coordinates. By Mark Harfouche.

Version 1.1.0 (November 23rd, 2022):

  • Rework adding _FillValue-attribute, add tests. By Kai Mühlbauer.

  • Add special add_phony method for creating phony dimensions, add test. By Kai Mühlbauer.

  • Rewrite _unlabeled_dimension_mix (labeled/unlabeled), add tests. By Kai Mühlbauer.

  • Add default netcdf fillvalues, pad only if necessary, adapt tests. By Kai Mühlbauer.

  • Fix regression in padding algorithm, add test. By Kai Mühlbauer.

  • Set track_order=True by default in created files if h5py 3.7.0 or greater is detected to help compatibility with netCDF4-c programs. By Mark Harfouche.

Version 1.0.2 (August 2nd, 2022):

Version 1.0.1 (June 27th, 2022):

  • Fix failing tests when using netCDF4 4.9.0. Reported and patch submitted by Bas Couwenberg.

Version 1.0.0 (March 31st, 2022):

  • Add HSDS pytest-fixture, make tests work with h5ypd. By Aleksandar Jelenak.

  • Remove _NCProperties from existing file if writing invalid netcdf features. Warn users if .nc file extension is used writing invalid netcdf features. By Kai Mühlbauer.

  • Remove deprecated code (eg. remove deprecated code (eg. handling mode, chunking_heuristics, decode_vlen_strings), adapt LICENSE/AUTHOR.txt, prepare repository for release 1.0. By Kai Mühlbauer.

Version 0.15.0 (March 18th, 2022):

  • Add documentation to h5netcdf, merging current available documentation available as .rst-files, in the repo-wiki and new API-docs into one document using sphinx-doc and sphinx-book-theme. By Kai Mühlbauer.

Version 0.14.1 (March 2nd, 2022):

  • Directly return non-string Empty-type attributes as empty numpy-ndarray. By Kai Mühlbauer.

Version 0.14.0 (February 25, 2022):

  • Add chunking_heuristic keyword and custom heuristic chunking_heuristic="h5netcdf" with better handling of unlimited dimensions. By Dion Häfner.

  • Return group name instead of full group path for legacy API. By Kai Mühlbauer.

  • Add endian keyword argument legacyapi.Dataset.createVariable. By Kai Mühlbauer.

  • Resize Dimensions when writing to variables (legacy API only), return padded arrays. By Kai Mühlbauer.

  • Allow 1D boolean indexers in legacy API. By Kai Mühlbauer.

  • Revert order tracking by default to avoid a bug in h5py (Closes Issue #136). By Mark Harfouche.

  • Implement Dimension-class. By Kai Mühlbauer.

  • Return items from 0-dim and one-element 1-dim array attributes. Return multi-element attributes as lists. Return string attributes as Python strings decoded from their respective encoding (utf-8, ascii). By Kai Mühlbauer.

Version 0.13.0 (January 12, 2022):

  • Assign dimensions at creation time, instead of at sync/flush (file-close). By Kai Mühlbauer.

  • Create/attach dimension scales on the fly, instead of at sync/flush (file-close). By Kai Mühlbauer.

  • Ensure order tracking is true for newly created netcdf4 files as required by the netcdf4 standard. This enables files created by h5netcdf to be appended to by netCDF4 library users (Closes Issue #128). By Mark Harfouche.

Version 0.12.0 (December 20, 2021):

  • Added FutureWarning to use mode='r' as default when opening files. By Ryan Grout.

  • Moved handling of _nc4_non_coord_ to h5netcdf.BaseVariable. By Kai Mühlbauer.

  • Write _NCProperties when overwriting existing files. By Kai Mühlbauer.

  • Create/Attach dimension scales on append (mode="r+") By Kai Mühlbauer.

  • Create/Attach/Detach dimension scales only if necessary. By Kai Mühlbauer.

  • Switch warning into error when using invalid netCDF features. By Kai Mühlbauer.

  • Avoid circular references to objects referencing h5py objects. By Tom Augspurger.

Version 0.11.0 (April 20, 2021):

  • Included h5pyd.Dataset objects as netCDF variables. By Aleksandar Jelenak.

  • Added automatic PyPI upload on creation of github release.

  • Moved Changelog to CHANGELOG.rst.

  • Updated decode_vlen_strings FutureWarning.

  • Support for h5py.Empty strings. By Kai Mühlbauer.

Version 0.10.0 (February 11, 2021):

  • Replaced decode_strings with decode_vlen_strings. By Kai Mühlbauer.

Version 0.9.0 (February 7, 2021):

  • Special thanks to Kai Mühlbauer for stepping up as a co-maintainer!

  • Support for decode_strings, to restore old behavior with h5py 3. By Kai Mühlbauer.

Version 0.8.1 (July 17, 2020):

  • Fix h5py deprecation warning in test suite.

Version 0.8.0 (February 4, 2020):

  • Support for reading Datasets with missing dimension scales. By Kai Mühlbauer.

  • Fixed a bug where Datatype objects were treated as Datasets.

  • Fixed several issues with upstream deprecations.

Version 0.7.4 (June 1, 2019):

  • Fixed a flakey test on Python 2.7 and 3.4.

Version 0.7.3 (May 20, 2019):

  • Fixed another bug that could result in reusing dimension IDs, when modifying existing files.

Version 0.7.1 (Mar 16, 2019):

  • Fixed a bug where h5netcdf could write invalid netCDF files with reused dimension IDs when dimensions are written in multiple groups. netCDF-C 4.6.2 will crash when reading these files, but you can still read these files with older versions of the netcdf library (or h5netcdf).

  • Updated to use version 2 of _NCProperties attribute.

Version 0.7 (Feb 26, 2019):

  • Support for reading and writing file-like objects (requires h5py 2.9 or newer). By Scott Henderson.

Version 0.6.2 (Aug 19, 2018):

  • Fixed a bug that prevented creating variables with the same name as previously created dimensions in reopened files.

Version 0.6.1 (Jun 8, 2018):

  • Compression with arbitrary filters no longer triggers warnings about invalid netCDF files, because this is now supported by netCDF.

Version 0.6 (Jun 7, 2018):

  • Support for reading and writing data to remote HDF5 files via the HDF5 REST API using the h5pyd package. Any file “path” starting with either http://, https://, or hdf5:// will automatically trigger the use of this package. By Aleksandar Jelenak.

Version 0.5.1 (Apr 11, 2018):

  • Bug fix for files with an unlimited dimension with no associated variables. By Aleksandar Jelenak.

Version 0.5 (Oct 17, 2017):

Version 0.4.3 (Oct 10, 2017):

  • Fix test suite failure with recent versions of netCDF4-Python.

Version 0.4.2 (Sep 12, 2017):

  • Raise AttributeError rather than KeyError when attributes are not found using the legacy API. This fixes an issue that prevented writing to h5netcdf with dask.

Version 0.4.1 (Sep 6, 2017):

  • Include tests in source distribution on pypi.

Version 0.4 (Aug 30, 2017):

  • Add invalid_netcdf argument. Warnings are now issued by default when writing an invalid NetCDF file. See the “Invalid netCDF files” section of the README for full details.

Version 0.3.1 (Sep 2, 2016):

  • Fix garbage collection issue.

  • Add missing .flush() method for groups.

  • Allow creating dimensions of size 0.

Version 0.3.0 (Aug 7, 2016):

  • Datasets are now loaded lazily. This should increase performance when opening files with a large number of groups and/or variables.

  • Support for writing arrays of variable length unicode strings with dtype=str via the legacy API.

  • h5netcdf now writes the _NCProperties attribute for identifying netCDF4 files.