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
HISTORY-1_0-1_8_0_rc3.txt
                         
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, provides 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.20 of November 2017 versus Release 1.8.19

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

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

In the C Interface (main library)
None.

In the C High Level Interface
None.

In the C++ Wrapper
Many changes were made to improve the C++ API model. Please review the RELEASE.txt file or the compatibility report below for complete information on the C++ changes in this release.

Compatibility Notes and Report and Comments

Compatibility report for Release 1.8.20 versus Release 1.8.19
The following interface compatibility report provides a full list of the changed symbols:

API compatibility report for the HDF5 Library between 1.8.19 and 1.8.20 versions on x86_64

Release 1.8.19 of June 2017 versus Release 1.8.18

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

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

In the C Interface (main library)
The following new C functions were added:
H5Dget_chunk_storage_size
H5PLappend
H5PLget
H5PLinsert
H5PLprepend
H5PLremove
H5PLreplace
H5PLsize
 
In the C High Level Interface
The following new C function was added:
H5DOread_chunk
 
In the C++ Wrapper
Many changes were made to improve the C++ API model. Please review the RELEASE.txt file or Compatibility report below for complete information on the C++ changes in this release.

Compatibility Notes and Report and Comments

Compatibility report for Release 1.8.19 versus Release 1.8.18
The following interface compatibility report provides a full list of the changed symbols:

API compatibility report for the HDF5 Library between 1.8.18 and 1.8.19 versions on x86_64

Release 1.8.18 of November 2016 versus Release 1.8.17

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

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

In the C Interface (main library)
None.

In the C++ Interface (main library wrappers)
The macro H5_NO_NAMESPACE was deprecated.

New member functions added to provide const versions:
DSetCreatPropList::allFiltersAvail() const
DSetCreatPropList::getAllocTime () const
DSetCreatPropList::getFillTime () const
DSetCreatPropList::isFillValueDefined () const
DSetCreatPropList::setAllocTime (H5D_alloc_time_t alloc_time) const
DSetCreatPropList::setFillTime (H5D_fill_time_t fill_time) const
DSetMemXferPropList::getEDCCheck () const
DSetMemXferPropList::getHyperVectorSize () const
DSetMemXferPropList::getSmallDataBlockSize () const
DSetMemXferPropList::setEDCCheck (H5Z_EDC_t check) const
DSetMemXferPropList::setHyperVectorSize (size_t vector_size) const
DSetMemXferPropList::setSmallDataBlockSize (hsize_t size) const
FileAccPropList::getFcloseDegree () const
FileAccPropList::setFcloseDegree (H5F_close_degree_t degree) const

The following member functions were removed:
ArrayType::getArrayDims (hsize_t* dims)
ArrayType::getArrayNDims ()
DataType::commit (H5Location& loc, char const* name)
DataType::commit (H5Location& loc, std::string const& name)
DSetCreatPropList::allFiltersAvail ()
DSetCreatPropList::getAllocTime ()
DSetCreatPropList::getFillTime ()
DSetCreatPropList::isFillValueDefined ()
DSetCreatPropList::setAllocTime (H5D_alloc_time_t alloc_time)
DSetCreatPropList::setFillTime (H5D_fill_time_t fill_time)
DSetMemXferPropList::getEDCCheck ()
DSetMemXferPropList::getHyperVectorSize ()
DSetMemXferPropList::getSmallDataBlockSize ()
DSetMemXferPropList::setEDCCheck (H5Z_EDC_t check)
DSetMemXferPropList::setHyperVectorSize (size_t vector_size)
DSetMemXferPropList::setSmallDataBlockSize (hsize_t size)
FileAccPropList::getFcloseDegree ()
FileAccPropList::setFcloseDegree (H5F_close_degree_t degree)
H5Location::H5Location [in-charge] (hid_t const loc_id)
H5Location::H5Location [not-in-charge] (hid_t const loc_id)
H5Object::H5Object [in-charge] (hid_t const object_id)
H5Object::H5Object [not-in-charge] (hid_t const object_id)
CommonFG::mount (char const* name, H5File& child, PropList& plist) const
DataSet::getVlenBufSize (DataType& type, DataSpace& space) const
DataType::commit (H5Location& loc, char const* name)
DataType::commit (H5Location& loc, std::string const& name)

Compatibility Notes and Report and Comments

Compatibility report for Release 1.8.18 versus Release 1.8.17
The following interface compatibility report provides a full list of the changed symbols:

API compatibility report for the HDF5 Library between 1.8.17 and 1.8.18 versions on x86_64


 

Release 1.8.17 of May 2016 versus Release 1.8.16

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

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

In the C Interface (main library)
The following new C functions and environment variable enable setting a relative path for raw data files associated with datasets using external storage:
Functions: H5Pset_efile_prefix
H5Pget_efile_prefix
 
Environment variable:    HDF5_EXTFILE_PREFIX

In the C High-Level Interface
The following new functions have been added in the Packet Table (H5PT) high-level interface: H5PTcreate
H5PTget_dataset
H5PTget_type
H5PTcreate replaces H5PTcreate_fl, which is deprecated and may be removed in a future release.

The following functions were previously removed from the library distribution but are once again publicly available.
Reinstated in its original form: H5PTis_varlen
An updated form of H5PTfree_vlen_readbuff reinstated as: H5PTfree_vlen_buff

In the C++ Interface (main library wrappers)
New member function added in DSetCreatPropList:
DSetCreatPropList::setNbit() was added to set up N-bit compression for a dataset.

New overloaded const member functions added in ArrayType:
The following functions were added to provide const versions; the non-const versions have been marked deprecated.
    ArrayType::getArrayNDims() const
    ArrayType::getArrayDims() const
                    
The datamembers ArrayType::rank and ArrayType::dimensions have been removed. This is an implementation detail and should not affect applications.

In the C++ High-Level Interface
New constructor added in FL_PacketTable:
An overloaded constructor has been added to FL_PacketTable. The function now takes a property list identifier to provide flexibility on creation properties such as compression.
    FL_PacketTable(hid_t fileID, const char* name, hid_t dtypeID,
                   hsize_t chunkSize = 0, hid_t plistID = H5P_DEFAULT)
                    
New member functions added in PacketTable:
Two accessor wrappers were added to class PacketTable.

PacketTable::GetDataset() returns the identifier of the dataset associated with the packet table.

PacketTable::GetDatatype() returns the identifier of the datatype that the packet table uses.

New member functions added with a char* argument:
Overloaded functions have been added to provide a const char* argument. The existing versions of these functions will be deprecated in future releases.

This also removes the following warning:

    deprecated conversion from string constant to "char*" [-Wwrite-strings]
                    
Ifdef blocks removed:
The #ifdef VLPT_REMOVED blocks have been removed from the packet table library source code except for the following functions:

VL_PacketTable::IsVariableLength() was moved to PacketTable.

VL_PacketTable::FreeReadBuff() is now PacketTable::FreeBuff().

Compatibility Notes and Report

Changed shared library interface version numbers (soname)
For HDF5 Release 1.8.17, the shared object version numbers have changed as follows.
Library Release
1.8.16     
Release
1.8.17     
Reason for Change
HDF5 C Library 10.1.0 10.2.0 Added APIs
HDF5 High-level C Library   10.0.2 10.1.0 Added APIs
C++ Library 11.0.0 12.0.0 Changes in existing APIs
High-level C++ Library 11.0.0 11.1.0 Added APIs
All others 10.0.2 10.0.3 Code changes that did not result in interface changes

Compatibility report for Release 1.8.17 versus Release 1.8.16
The following interface compatibility report provides a full list of the changed symbols:

API compatibility report for the HDF5 Library between 1.8.16 and 1.8.17 versions on x86


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.20, November 2017.
  Copyright by The HDF Group
and the Board of Trustees of the University of Illinois

Last modified: November 2017