Skip to content

HDF5 2.0 Planning

Dana Robinson edited this page Oct 30, 2024 · 10 revisions

These are the topics/issues we're going to focus on in the next version of HDF5. This list is ambitious, so not everything here is realistically going to make it in.

NOTE: This list is being adapted from an earlier HDF5 1.16.0 to-do list. It should be finalized by early November (for a March 2025 release).

Tentative 2.0.0 changes

  • Update library defaults to provide better performance with cloud-optimized HDF5 and modern I/O hardware
  • Complex number support
  • Build system changes
    • Better alignment between Autotools and CMake
    • Might drop/rename some build features
  • Use HDoff_t instead of off_t in public API

Bugfixes and general quality

  • Fix all oss-fuzz and other segfault-related bugs (there are several in Jira) and harden surrounding code
  • -fsanitize=memory/address/undefined clean and added to CI
  • Fix file image bugs and review code (#1915)

Cloud-Optimized HDF5

  • Review and possibly refactor ros3 VFD code
  • Performance testing

Support for new datatypes

  • Complex numbers
  • ML types (FP8, FP4)
  • Fix outstanding long double issues (mainly POWER)

Configure issues

  • Autotools pkg-config support
  • CMake support for MinGW + MSYS2

Performance

  • Additional subfiling performance profiling and fixing

Windows as a first-class citizen

  • Win32 VFD
  • Unicode/code page file name tests
  • H5Dwrite performance issue
  • Core VFD slowdown

CI/CD/Testing

  • Determine a final version naming/numbering scheme that works well with package management systems
  • Clean up CDash, public CDash all green
  • Schedule a pre-release and code freeze
  • Fix MacOS signed binary issues
  • Develop a manual test process
  • Move VOL tool testing to main repo

Documentation

  • All “developer-level” public headers have full Doxygen (VOL, VFD, etc.)
  • Develop a list of user guide improvements that need to be made

Misc

  • Close PR #1387 (minor datatype optimization)
  • Go over plugin, etc. paths and make sure that everything is handled well and uniformly

Tools

  • H5L copy hack in h5repack

Fortran wrappers

  • Make sure cross-compiling with Fortran works well
Clone this wiki locally