Page tree

The license could not be verified: License Certificate has expired!

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 (For a description of the major new features that were introduced, please see New Features in HDF5 Release 1.10.)

This page provides information on the changes that a maintenance developer needs to be aware of between successive releases of HDF5, such as:

  • New or changed features or tools
  • Syntax and behavioral changes in the existing application programming interface (the API)
  • Certain types of changes in configuration or build processes

Bug Note that bug fixes and performance enhancements in the C library are automatically picked up by the C++, Fortran, and Java libraries.

The following information is included below.

Anchor
issues
issues
Compatibility and Performance Issues

Not all HDF5-1.10 releases are compatible. Users should NOT be using 1.10 releases prior to HDF5-1.10.3. See the compatibility matrix below for details on compatibility between 1.10 releases:

Release1.10.5+1.10.41.10.31.10.21.10.11.10.0-patch11.10.0
1.10.5+ YesYesNoNoNoNo
1.10.4Yes YesNoNoNoNo
1.10.3YesYes NoNoNoNo
1.10.2NoNoNo NoNoNo

The following images show how performance has changed from release to release.

Image Added

Image Added

 

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.txt10

Release Notes

Technical notes regarding the current release of the HDF5 Librarylibrary (RELEASE.txt in the source code)

HISTORY-1_10.txt

Release information for all HDF5-1.10 releases

HISTORY-1_8_0-1_10_0.txt

Development history between the HDF5-1.8.0 and HDF5-1.10.0 releases

HISTORY-1_

8.txt

Release information for HDF5-1.8.0 through HDF5-1.8.17 releases

HISTORY-1_0-1_8_0_rc3.txt
                         

Technical notes starting with HDF5-1.0.0 and ending with HDF5-1.8.0-rc3 (the state of the code prior to the HDF5-1.8.0 release)

Anchor
1_10_7
1_10_7
Release 1.10.7 versus 1.10.6

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

In the C Interface (main library)

The following are new C functions in this release:

FunctionDescription
H5P_GET_FAPL_SPLITTER
Retrieves information for a splitter file access property list
H5P_SET_FAPL_SPLITTERSets the file access property list to use the splitter driver
H5P_GET_FILE_LOCKINGGets the file locking property values
H5P_SET_FILE_LOCKINGSets the file locking property values
H5_GET_ALLOC_STATS 
Gets the memory allocation statistics for the library
H5_GET_FREE_LIST_SIZESGets the current size of the free lists used to manage memory
H5S_COMBINE_HYPERSLABPerforms an operation on a hyperslab and an existing selection and returns the resulting selection
H5S_COMBINE_SELECTCombines two hyperslab selections with an operation, returning a dataspace with the resulting selection
H5S_MODIFY_SELECTRefines a hyperslab selection with an operation using a second hyperslab to modify it
H5S_SELECT_ADJUSTAdjusts a selection by subtracting an offset
H5S_SELECT_COPYCopies a selection from one dataspace to another
H5S_SELECT_INTERSECT_BLOCKChecks if current selection intersects with a block
H5S_SELECT_PROJECT_INTERSECTIONProjects the intersection of two source selections to a destination selection
H5S_SELECT_SHAPE_SAME

Checks if two selections are the same shape


In the C++ Wrapper

The following C++ wrappers were added:

WrapperDescription
FileAccPropList::getFileLockingSee H5P_GET_FILE_LOCKING for details
FileAccPropList::setFileLockingSee H5P_SET_FILE_LOCKING for details

Compatibility Notes and Reports

See the API compatibility report for the HDF5 library between 1.10.6 and 1.10.7 for information regarding compatibility with the previous release. The API Compatibility Report page includes all 1.10 compatibility reports.

Anchor
1_10_6
1_10_6
Release 1.10.6 versus 1.10.5

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

In the C Interface (main library)

The following are new C functions in this release:

FunctionDescription
H5P_GET_FAPL_HDFSGets the information of the given Read-Only HDFS virtual file driver
H5P_GET_FAPL_ROS3Gets the information of the given Read-Only S3 virtual file driver
H5P_SET_FAPL_HDFSSets up Read-Only HDFS virtual file driver
H5P_SET_FAPL_ROS3Sets up Read-Only S3 virtual file driver

 

In the C++ Wrapper

The following C++ wrapper was added:

WrapperDescription
LinkCreatPropList::getCreateIntermediateGroup  ( ) const
See H5P_GET_CREATE_INTERMEDIATE_GROUP
LinkCreatPropList::setCreateIntermediateGroup  bool crt_intmd_group ) const
See H5P_SET_CREATE_INTERMEDIATE_GROUP

Compatibility Notes and Reports

See the  API Compatibility Report for information regarding compatibility with previous releases.

Anchor
1_10_5
1_10_5
Release 1.10.5 versus 1.10.4, 1.10.3, and 1.10.2

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

In the C Interface (main library)

The following are new C functions in this release:

FunctionDescription
H5D_GET_CHUNK_INFORetrieves information about a chunk specified by the chunk index
H5D_GET_CHUNK_INFO_BY_COORDRetrieves information about a chunk specified by its coordinates
H5D_GET_NUM_CHUNKSRetrieves number of chunks that have nonempty intersection with a specified selection

H5F_GET_DSET_NO_ATTRS_HINT

Retrieves the setting for determining whether the specified file does or does not create minimized dataset object headers

H5F_SET_DSET_NO_ATTRS_HINT

Sets the flag to create minimized dataset object headers

H5P_GET_DSET_NO_ATTRS_HINT

Retrieves the setting for determining whether the specified DCPL does or does not create minimized dataset object headers

H5P_SET_DSET_NO_ATTRS_HINT

Sets the flag to create minimized dataset object headers

 

The following changed in this release:

FunctionDescription

H5O_GET_INFO, H5O_GET_INFO_BY_NAME, H5O_GET_INFO_BY_IDX, H5O_VISIT, H5O_VISIT_BY_NAME

In 1.10.3 the original functions were versioned to H5Oget_info*1 and H5Ovisit*1 and the macros H5Oget_info* and H5Ovisit* were created. This broke the API compatibility for a maintenance release. In HDF5-1.10.5, the macros introduced in HDF5-1.10.3 were removed. The H5Oget_info*1 and H5Ovisit*1 APIs were copied to H5Oget_Info* and H5Ovisit*. As an example, H5Oget_info and H5Oget_info1 are identical in this release.

 

In the C++ Wrapper

The following C++ wrapper was added:

C++ WrapperDescription
H5Object::visit()

Wrapper for the C API H5O_VISIT2. Recursively visit elements reachable from an HDF5 object and perform a common set of operations across all of those elements. See H5O_VISIT2 for more information on this function.

 

In the Fortran Wrapper

The following Fortran wrappers were added or changed:

Fortran WrapperDescription

h5fget_dset_no_attrs_hint_f

h5fset_dset_no_attrs_hint_f

h5pget_dset_no_attrs_hint_f

h5pset_dset_no_attrs_hint_f

Wrappers for the dataset object header minimization calls. See H5F_GET_DSET_NO_ATTRS_HINT, H5F_SET_DSET_NO_ATTRS_HINT, H5P_GET_DSET_NO_ATTRS_HINT, and H5P_SET_DSET_NO_ATTRS_HINT.

h5ovisit_f

h5oget_info_by_name_f

h5oget_info

h5oget_info_by_idx

h5ovisit_by_name_f

Added new Fortran 'fields' optional parameter. See H5O_VISIT2, H5O_GET_INFO_BY_NAME2, H5O_GET_INFO2, H5O_GET_INFO_BY_IDX2, and H5O_VISIT_BY_NAME2.

 

The following Fortran utility function was added:

FunctionDescription
h5gmtime converts (C) 'time_t' structure to Fortran DATE AND TIME storage format

 

A new Fortran derived type was added:

Derived TypeDescription
c_h5o_info_t

This is  interoperable with C's h5o_info_t. This is needed for callback functions which pass C's h5o_info_t data type definition.

See the Fortran signature for H5O_GET_INFO2.

 

In the Java wrapper

The following Java wrappers were added or changed:

Java WrapperDescription
H5Fset_libver_boundsSee the C API  H5F_SET_LIBVER_BOUNDS for information on this function

H5Fget_dset_no_attrs_hint

H5Fset_dset_no_attrs_hint

H5Pget_dset_no_attrs_hint

H5Pset_dset_no_attrs_hint

Wrappers for the dataset object header minimization calls  See H5F_GET_DSET_NO_ATTRS_HINT, H5F_SET_DSET_NO_ATTRS_HINT, H5P_GET_DSET_NO_ATTRS_HINT, and H5P_SET_DSET_NO_ATTRS_HINT for more information on these APIs.

Compatibility Notes and Reports

See these API Compatibility Reports for 1.10 for information regarding compatibility with previous releases. Reports are available comparing HDF5-1.10.5 vs 1.10.2, HDF5-1.10.5 vs 1.10.3, and HDF5-1.10.5 vs 1.10.4.

 

Anchor
1_10_4
1_10_4
Release 1.10.4 versus Release 1.10.3

See the API compatibility Report for information regarding compatibility with previous releases

 

Anchor
1_10_3
1_10_3
Release 1.10.3 versus Release 1.10.2

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

In the C Interface (main library)

The following are new C functions in this release:

FunctionDescription
H5D_READ_CHUNKMoved from HDF5 High Level Optimizations library to core library
H5D_WRITE_CHUNKMoved from HDF5 High Level Optimizations library to core library

H5O_GET_INFO

H5O_GET_INFO1

H5O_GET_INFO2

The function H5O_GET_INFO was moved to H5O_GET_INFO1, and the macro H5O_GET_INFO was created that can be mapped to either H5O_GET_INFO1 or H5O_GET_INFO2. For HDF5-1.10 and earlier releases, H5O_GET_INFO is mapped to H5O_GET_INFO1 by default.

H5O_GET_INFO_BY_IDX

H5O_GET_INFO_BY_IDX1

H5O_GET_INFO_BY_IDX2

The function H5O_GET_INFO_BY_IDX was moved to H5O_GET_INFO_BY_IDX1, and the macro H5O_GET_INFO_BY_IDX was created that can be mapped to either H5O_GET_INFO_BY_IDX1 or H5O_GET_INFO_BY_IDX2. For HDF5-1.10 and earlier releases, H5O_GET_INFO_BY_IDX is mapped to H5O_GET_INFO_BY_IDX1 by default.

H5O_GET_INFO_BY_NAME

H5O_GET_INFO_BY_NAME1

H5O_GET_INFO_BY_NAME2

The function H5O_GET_INFO_BY_NAME was moved to H5O_GET_INFO_BY_NAME1, and the macro H5O_GET_INFO_BY_NAME was created that can be mapped to either H5O_GET_INFO_BY_NAME1 or H5O_GET_INFO_BY_NAME2. For HDF5-1.10 and earlier releases, H5O_GET_INFO_BY_NAME is mapped to H5O_GET_INFO_BY_NAME1 by default.

H5O_VISIT

H5O_VISIT1

H5O_VISIT2

The function H5O_VISIT was moved to H5O_VISIT1, and the macro H5O_VISIT was created that can be mapped to either H5O_VISIT1 or H5O_VISIT2. For HDF5-1.10 and earlier releases, H5O_VISIT is mapped to H5O_VISIT1 by default.

H5O_VISIT_BY_NAME

H5O_VISIT_BY_NAME1

H5O_VISIT_BY_NAME2

The function H5O_VISIT_BY_NAME was moved to H5O_VISIT_BY_NAME1, and the macro H5O_VISIT_BY_NAME was created that can be mapped to either H5O_VISIT_BY_NAME1 or H5O_VISIT_BY_NAME2. For HDF5-1.10 and earlier releases, H5O_VISIT_BY_NAME is mapped to H5O_VISIT_BY_NAME1 by default.

 

In the C High Level Interface

The following C functions were deprecated in this release:

FunctionDescription
H5DO_READ_CHUNKDeprecated, moved to H5D_READ_CHUNK
H5DO_WRITE_CHUNKDeprecated, moved to H5D_WRITE_CHUNK

 

In the C++ Wrapper

Several C++ wrappers were added or modified to provide additional support. See the API Compatibility Report for details.

Compatibility Notes and Report

See the API Compatibility Report for information regarding compatibility with previous releases.

Anchor
1_10_2
1_10_2
Release 1.10.2 versus Release 1.10.1

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

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

In the C Interface (main library)

The following are new C functions in this release:

FunctionDescription
H5D_GET_CHUNK_STORAGE_SIZEReturns storage amount allocated within a file for a raw data chunk in a dataset
H5F_GET_EOARetrieves the file’s EOA
H5F_INCREMENT_FILESIZE

Sets the file’s EOA to the maximum of (EOA, EOF) + increment

H5F_SET_LIBVER_BOUNDSEnables the switch of version bounds setting for a file
H5FDdriver_queryQueries a VFL driver for its feature flags when a file is not available (not documented in Reference Manual)
H5P_GET_VIRTUAL_PREFIXRetrieves prefix applied to VDS source file paths
H5P_SET_VIRTUAL_PREFIXSets prefix to be applied to VDS source file paths

 

The following C functions changed in this release:

FunctionChange
H5P_SET_LIBVER_BOUNDSHDF5-1.10 was added to the range of versions
H5P_SET_VIRTUALA change was made to the method of searching for VDS source files
H5PL*The parameters for many of the H5PL APIs were renamed

 

In the C High Level Interface

The following new C function was added to this release:

FunctionDescription
H5DO_READ_CHUNKReads a raw data chunk directly from a dataset in a file

 

In the C++ Wrapper

The following C++ wrappers were added:

C++ WrapperDescription
H5Lcreate_soft

Creates a soft link from link_name to target_name

H5Lcreate_hard

Creates a hard link from new_name to curr_name

H5Lcopy

Copy an object from a group of file

H5Lmove

Rename an object in a group or file

H5Ldelete

Removes the specified link from this location

H5Tencode

Creates a binary object description of this datatype

H5Tdecode

Returns the decoded type from the binary object description

H5Lget_info

Returns the information of the named link

 

These were also added:

  • Class LinkCreatPropList for link create property list

  • Overloaded functions H5Location::createGroup to take a link creation property list

See the API Compatibility report for complete details.

 

In the Java Wrapper

The following Java wrappers were added:

Java WrapperDescription
H5Pset_evict_on_close
Controls the library's behavior of evicting metadata associated with a closed object
H5Pget_evict_on_close
Retrieves the file access property list setting that determines whether an HDF5 object will be evicted from the library's metadata cache when closed
H5Pset_chunk_opts
Sets the edge chunk option in a dataset creation property list
H5Pget_chunk_opts

Retrieves the edge chunk option setting from a dataset creation property list

H5Pset_efile_prefix

Sets the external dataset storage file prefix in the dataset access property list

H5Pget_efile_prefix

Retrieves the prefix for external raw data storage files as set in the dataset access property list

H5Pset_virtual_prefix

Sets prefix to be applied to VDS source file paths

H5Pget_virtual_prefix

Retrieves prefix applied to VDS source file paths

See the Release.txt file for details.

Tools

New options were added to the h5clear utility:

--filesizePrint the file’s EOA and EOF
--increment=C

Set the file’s EOA to the maximum of (EOA, EOF) + C for the file

C is >= 0; C is optional and will default to 1M when not set

 

A new option was added to h5diff:

--enable-error-stackEnable the error stack

Compatibility Notes and Report

See API Compatibility Reports for 1.10 for information regarding compatibility with previous releases.

Anchor
1_10_1
1_10_1
Release 1.10.1 versus Release 1.10.0 (and 1.10.0-patch1)

This section lists interface-level changes and other user-visible changes in behavior in the transition from HDF5 Release 1.10.0 (and HDF5-1.10.0-patch1) to Release 1.10.1.

New Features

Several new features are introduced in HDF5 Release 1.10.1.

Metadata Cache Image

Metadata Cache Evict on Close

Paged Aggregation

Page Buffering

New Features, including associated C Functions

The following features are described and documented in New Features in HDF5 Release 1.10. Each new feature in 1.10.1 is listed below along with the associated C functions:

...

H5Pget_page_buffer_size              

Retrieves the maximum size for the page buffer and the minimum percentage for metadata and raw data pages.

H5Pset_page_buffer_size

Sets the maximum size for the page buffer and the minimum percentage for metadata and raw data pages.

H5Fget_page_buffering_stats

Retrieves statistics about page access when it is enabled.

H5Freset_page_buffering_stats

Resets the page buffer statistics.

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

In the C Interface (main library)

...

H5PLappend

H5PLget

H5PLinsert

H5PLprepend

H5PLremove

H5PLreplace

H5PLsize
 

In the C++ Wrapper

...

PLEASE review the Compatibility report below for complete information on the C++ changes in this release.

Compatibility Report

Compatibility report for Release 1.10.1 versus Release 1.10.0-patch1

See API compatibility report for the HDF5 Library between Compatibility Reports for 1.10for information regarding compatibility with previous releases.1 and 1.10.0-patch1 versions on x86

 

Anchor
1_10_0
1_10_0
Release 1.10.0 of March 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.10.0.

Changed Type

hid_t

Changed from a 32-bit to a 64-bit value.

hid_t is the type is used for all HDF5 identifiers. This change, which is necessary to accomodate the capacities of modern computing systems, therefore affects all HDF5 applications. If an application has been using HDF5’s hid_t the type, recompilation will normally be sufficient to take advantage of HDF5 Release 1.10.0. If an application uses an integer type instead of HDF5’s hid_t type, those identifiers must be changed to a 64-bit type when the application is ported to the 1.10.x series.

New Features and Feature Sets

Several new features are introduced in HDF5 Release 1.10.0.

...

More substantial lists follow, including new and modified C functions and Fortran subroutines.

New Features, including associated C Functions and Fortran Wrappers

The following features are described and documented in New Features in HDF5 Release 1.10.0. On this page, we list each feature and its associated C functions and Fortran wrappers.

...

Property List Encoding and Decoding:
 

H5Pencode   

 

H5Pdecode 

 

Additional New Functions:
 

...

    H5LDget_dset_type_size

New and Changed Elements of the Packet Table (H5PT) High-level API

In the C Interface

Replacement functions:

...

The existing version will be deprecated in a future release.

Java Interface Changes

Integration into Main HDF5 Library

...

A number of new APIs have been added in the Java interface, including APIs for the VDS and SWMR features.

Functions with Changed Behavior

H5Lexists

The behavior of this function has changed in this release. When testing the pathname / (a slash representing the root of an HDF5 file) H5Lexists now returns successfully with the value 1 (one). See the entry in the HDF5 Reference Manual for H5Lexists for more information.

API Compatibility

See API Compatibility Macros in HDF5 for details on the following.

...

The compatiblity macro H5Rdereference is introduced.

Autotools Configuration and Large File Support

Autotools configuration has been extensively reworked and autotool’s handling of large file support has been overhauled in this release.

...

RELEASE.txt is found in the release_docs/ subdirectory at the root level of the HDF5 code distribution.

Compatibility Report and Comments

Compatibility report for Release 1.10.0 versus Release 1.8.16

   See API compatibility report for the HDF5 Library between Compatibility Reports for 1.10.0 and 1.8.16 versions on x86 for information regarding compatibility with previous releases.

Comments regarding the report

...