HDF5 documents and links 
Introduction to HDF5 
HDF5 User's Guide 
HDF5 Reference Manual 
HDF5 Application Developer's Guide 

HDF5 Software Changes from Release to Release

This document is designed to help developers maintain HDF5-based applications as they are used with successive releases of HDF5. To that end, this document lists the changes at each release that a maintenance developer needs to be aware of:

Bugfixes and performance enhancements in the C library are automatically picked up by the C++ and Fortran libraries. The Java library will pick up the same bugfixes and enhancements at its next subsequent release as it is always built with the latest released version of the C library.

The release notes also list changes made to the library, but these notes tend to be more at a more detail oriented level. The release notes may include new features, bugs fixed, supported configuration features, platforms on which the library has been tested, and known problems. The release note files are listed below and can be found at the top level of the HDF5 source code tree in the release_docs directory of the distributed HDF5 source code.

RELEASE.txt Technical notes regarding the current release of the HDF5 Library
HISTORY-1_8.txt Technical notes for previous 1.8 releases of the HDF5 Library by release
Technical notes for releases prior to the 1.8.0 release of the HDF5 Library by release

Are you porting an existing application from HDF5 Release 1.6.x to HDF5 Release 1.8.x?
If you are porting an existing application from any HDF5 version in the Release 1.6.x series to any version in the Release 1.8.x series, refer to “What's New in HDF5 1.8.0”. This document, with the documents linked in its introduction, provide a guide to the changes introduced in the transition from the 1.6.x series to HDF5 Release 1.8.0 and discussions of various compatibility issues.

Release 1.8.14 of November 2014 (current release) versus Release 1.8.13

This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.8.13 to Release 1.8.14.

New and Changed Functions, Classes, Subroutines, Wrappers, and Macros

In the main library C Interface
No new C functions have been added.

The behavior of the following C function has been changed:
The function H5Pset_core_write_tracking has been modified to enforce the limitation that the value of the page_size parameter cannot equal 0 (zero):

The following performance optimization has been implemented in the Parallel HDF5 library:
The algoritm for writing chunk fill values for new datasets has been optimized to write out all chunk fill values collectively in a single MPI-IO call. This was previously done independently by rank 0 (zero) one block at a time. This optimization should produce a significant performance improvement when creating chunked datasets in parallel, most notably when chunk dimensions are relatively small. This optimization will be evident in use of the following function:

In the high-level library C Interface
High-level HDF5 interfaces now ensure that strings are null-terminated and will not overflow a buffer.
In several high-level functions, the type from the file was previously re-used as the memory type and no check is made to ensure that a string was actually null-terminated.

All high-level functions now check for NULL pointers; verify that a received a string is null-terminated; and verify that the string will not overflow the buffer. The minimum length of the buffers is now used in strncmp to avoid overflow.

In the main library C++ Interface
No new C++ methods have been added.

The following changes have been made in the C++ interface:
Changed defaults
  • Default value of class member id:
    The data member id in several classes that represent HDF5 objects are now initialized to H5I_INVALID_ID.
  • Default value of a PropList member id:
    The data member id in class PropList is now initialized to H5P_DEFAULT.
  • In HDF5 Release 1.8.13 and earlier, the above were initialized to 0 (zero).

Changed file access flags
  • The flag H5F_ACC_CREAT has been removed from the C++ interface.

In the main library Fortran Interface
No new Fortran subroutines have been added.

Changed Fortran INTEGER parameter types:
Types of the following Fortran parameter constants have been changed from INTEGER to INTEGER(HID_T):
    H5FD_CORE            H5FD_MULTI
    H5FD_FAMILY          H5FD_SEC2
    H5FD_LOG             H5FD_STDIO
Other internal int types have been changed to hid_t, but this change is expected to be transparent to the user.

Compatibility Report and Comments

Compatibility report for Release 1.8.14 versus Release 1.8.13
API compatibility report for the HDF5 Library between 1.8.13 and 1.8.14 versions on x86

Changed shared library interface version number (soname)
To increase the maintainability of HDF5, an architectural change has been made that required renaming several public symbols in H5Ppublic.h.

Due to these changes, the shared library interface version number (soname) has been increased. For a full list of the changed symbols, see the interface compatibility report linked immediately above.

Prior Releases in the 1.8.x Series

Change notes for HDF5 Release 1.8.0 to the release immediately preceding the current release are published in “HDF5 Software Changes from Release to Release for HDF5 Releases 1.8.x”.

Releases 1.6.x and 1.4.x

Change notes for HDF5 Release 1.6.10 and earlier releases are published in “HDF5 Software Changes from Release to Release for HDF5 Releases 1.4.0 through 1.6.10”.

HDF5 documents and links 
Introduction to HDF5 
HDF5 User's Guide 
HDF5 Reference Manual 
HDF5 Application Developer's Guide 

The HDF Group Help Desk:
Describes HDF5 Release 1.8.14, November 2014.
  Copyright by The HDF Group
and the Board of Trustees of the University of Illinois

Last modified: 17 November 2014