Currently, n5-hdf5 is built on JHDF5 19.04.01. This contains HDF5 1.10.5 binaries built in March 2019. One exception are the ARM macOS binaries from HDF5 1.10.9 built in May 2022 by @mzouink and I. JHDF5 has seen no updates since 2022.
According to The HDF Group release schedule HDF5 1.10.11 is the last release in the 1.10.x series. This makes it unlikely that JHDF5 will seen updates from the current maintainers. The current release is 1.14.3 with 1.14.4 due in a few months.

I propose that we migrate to an actively maintained HDF5 dependency: JavaCPP Presets for HDF5.
Via the JavaDocs for org.bytedeco.hdf5 we can see that the package exposes both the org.bytedeco.hdf5 automatically generated Java bindings for the C API and the hdf5.hdflib bindings from The HDF Group:
http://bytedeco.org/javacpp-presets/hdf5/apidocs/
To provide a bridge from existing usage of JHDF5 I rebased the JHDF5 API to depend on the APIs exposed by JavaCPP Presets for HDF5.
https://github.com/JaneliaSciComp/janelia-jhdf5
A current blocker is to resolve compilation issues on Windows:
bytedeco/javacpp-presets#1405
Fixing the issue involves either convincing Visual Studio C++ to create a large DLL that exports all symbols or create multiple DLLs which depend on each other and which each expose parts of the API.
In summary, the above plan will
- Upgrade the underlying HDF5 C library to version 1.14.3 or newer.
- Expose three APIs for accessing the HDF5 library:
i) hdf.hdflib API from The HDF Group
ii) org.bytedeco.hdf5 API from JavaCPP that is auto-generated from the C API
iii) ch/systemsx/cisd/hdf5 API from JHDF5, rebased on the above APIs.
Currently, n5-hdf5 is built on JHDF5 19.04.01. This contains HDF5 1.10.5 binaries built in March 2019. One exception are the ARM macOS binaries from HDF5 1.10.9 built in May 2022 by @mzouink and I. JHDF5 has seen no updates since 2022.
According to The HDF Group release schedule HDF5 1.10.11 is the last release in the 1.10.x series. This makes it unlikely that JHDF5 will seen updates from the current maintainers. The current release is 1.14.3 with 1.14.4 due in a few months.
I propose that we migrate to an actively maintained HDF5 dependency: JavaCPP Presets for HDF5.
Via the JavaDocs for
org.bytedeco.hdf5we can see that the package exposes both theorg.bytedeco.hdf5automatically generated Java bindings for the C API and thehdf5.hdflibbindings from The HDF Group:http://bytedeco.org/javacpp-presets/hdf5/apidocs/
To provide a bridge from existing usage of JHDF5 I rebased the JHDF5 API to depend on the APIs exposed by JavaCPP Presets for HDF5.
https://github.com/JaneliaSciComp/janelia-jhdf5
A current blocker is to resolve compilation issues on Windows:
bytedeco/javacpp-presets#1405
Fixing the issue involves either convincing Visual Studio C++ to create a large DLL that exports all symbols or create multiple DLLs which depend on each other and which each expose parts of the API.
In summary, the above plan will
i)
hdf.hdflibAPI from The HDF Groupii)
org.bytedeco.hdf5API from JavaCPP that is auto-generated from the C APIiii)
ch/systemsx/cisd/hdf5API from JHDF5, rebased on the above APIs.