When reading HDF5 files, the HDF5 file version bounds chosen by the writing program must be no newer than the reading program’s HDF5 library version. Usually this is not a problem unless using a very old program to read HDF5 files. When necessary to write older version HDF5 files, select the HDF5 file version from the writing program API.
Python h5py: use libver= when necessary:
with h5py.File(libver='earliest') as f: ....
Matlab low-level HDF5 interface H5P.set_libver_bounds() set HDF5 file write library version bounds.
C / C++ / Fortran HDF5 library can set the HDF5 library version bounds by H5Fset_libver_bounds().
Related: Check HDF5 files for corruption