Software Changes from Release to Release for HDF5 1.12

From HDF5 Wiki
Jump to navigation Jump to search

For a description of the major new features that were introduced, please see New Features in HDF5 Release 1.12.

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

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

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.

Release Notes Technical notes regarding the current release of the HDF5 library (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_10.txt Release information for HDF5-1.10.0 through 1.10.5.
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)

Release 1.12.0 versus Release 1.10.6

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

New Features

For a description of the major new features that were introduced, please see New Features in HDF5 Release 1.12.

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

In the C/Fortran Interface (main library)

Following are the new or changed APIs introduced in HDF5-1.12.0. Those introduced with a new feature list the specific new feature that they were added for.

Procedure/Function Fortran Description or Change
H5Fdelete() N Deletes an HDF5 file
H5Fget_fileno() Y Retrieves a file's file number that uniquely identifies the open file
H5Fis_accessible() Y Determines if a file can be opened with a given fapl
H5Iiterate() N Calls a callback for each member of the identifier type specified
H5Lget_info(), H5Lget_info1(), H5Lget_info2() Y (no change) The function H5Lget_info() was moved to H5Lget_info1(), and H5Lget_info2() was introduced. The macro H5Lget_info() was created that can be mapped to either H5Lget_info1() or H5Lget_info2(). For HDF5-1.12, H5Lget_info() is mapped to H5Lget_info2() by default. In earlier releases, H5Lget_info() is mapped to H5Lget_info1().
H5Lget_info_by_idx(), H5Lget_info_by_idx1(), H5Lget_info_by_idx2() Y (no change) The function H5Lget_info_by_idx() was moved to H5Lget_info_by_idx1(), and H5Lget_info_by_idx2() was introduced. The macro H5Lget_info_by_idx() was created that can be mapped to either H5Lget_info_by_idx1() or H5Lget_info_by_idx2(). For HDF5-1.12, H5Lget_info_by_idx() is mapped to H5Lget_info_by_idx2() by default. In earlier releases, H5Lget_info_by_idx() is mapped to H5Lget_info_by_idx1().
H5Literate(), H5Literate1(), H5Literate2() Y (no change) The function H5Literate() was moved to H5Literate1(), and H5Literate2() was introduced. The macro H5Literate() was created that can be mapped to either H5Literate1() or H5Literate2(). For HDF5-1.12, H5Literate() is mapped to H5Literate2() by default. In earlier releases, H5Literate() is mapped to H5Literate1().
H5Literate_by_name(), H5Literate_by_name1(), H5Literate_by_name2() Y (no change) The function H5Literate_by_name() was moved to H5Literate_by_name1(), and H5Literate_by_name2() was introduced. The macro H5Literate_by_name() was created that can be mapped to either H5Literate_by_name1() or H5Literate_by_name2(). For HDF5-1.12, H5Literate_by_name() is mapped to H5Literate_by_name2() by default. In earlier releases, H5Literate_by_name() is mapped to H5Literate_by_name1().
H5Lvisit(), H5Lvisit1(), H5Lvisit2() N The function H5Lvisit() was moved to H5Lvisit1(), and H5Lvisit2() was introduced. The macro H5Lvisit() was created that can be mapped to either H5Lvisit1() or H5Lvisit2(). For HDF5-1.12, H5Lvisit() is mapped to H5Lvisit2() by default. In earlier releases, H5Lvisit() is mapped to H5Lvisit1().
H5Lvisit_by_name(), H5Lvisit_by_name1(), H5Lvisit_by_name2() N The function H5Lvisit_by_name() was moved to H5Lvisit_by_name1(), and H5Lvisit_by_name2() was introduced. The macro H5Lvisit_by_name() was created that can be mapped to either H5Lvisit_by_name1() or H5Lvisit_by_name2(). For HDF5-1.12, H5Lvisit_by_name() is mapped to H5Lvisit_by_name2() by default. In earlier releases, H5Lvisit_by_name() is mapped to H5Lvisit_by_name1().
H5Oget_info(), H5Oget_info3() N/A The function H5Oget_info() was replaced by the macro H5Oget_info() and the function H5Oget_info3() was added.
H5Oget_info_by_idx(), H5Oget_info_by_idx3() N/A The function H5Oget_info_by_idx() was replaced by the macro H5Oget_info_by_idx(). The function H5Oget_info_by_idx3() was added.
H5Oget_info_by_name(), H5Oget_info_by_name3() N/A The function H5Oget_info_by_name() was replaced by the macro H5Oget_info_by_name(). The function H5Oget_info_by_name3() was added.
H5Oget_native_info() N Retrieves the native file format information about an object
H5Oget_native_info_by_idx() N Retrieves native file format information about an object according to the order of an index
H5Oget_native_info_by_name() N Retrieves native file format information about an object given its name
H5Oopen_by_token() Y Opens an object in an HDF5 file using its VOL independent token
H5Otoken_cmp() Y Compares two VOL connector object tokens
H5Otoken_from_str() N Deserializes a string into a connector object token
H5Otoken_to_str() N Serializes a connector's object token into a string
H5Ovisit(), H5Ovisit3() N/A The function H5Ovisit() was replaced by the macro H5Ovisit() and the function H5Ovisit3() was added
H5Ovisit_by_name(), H5Ovisit_by_name3() N/A The function H5Ovisit_by_name() was replaced by the macro H5Ovisit_by_name(), and the function H5Ovisit_by_name3() was added.
H5Pencode(), H5Pencode1(), H5Pencode2() N Encodes properties in a property list into a buffer. The previous function was renamed to H5Pencode1() and deprecated, the macro H5Pencode() was introduced, and H5Pencode2() was added.
H5Pget_vol_id() Y Returns the identifier of the current VOL connector
H5Pget_vol_info() N Returns a copy of the VOL information for a connector
H5Pset_vol() Y Set the file VOL connector for a file access property list
H5Rcopy() N Copies an existing reference
H5Rcreate_attr() N Creates an attribute reference
H5Rcreate_object() N Creates an object reference
H5Rcreate_region() N Creates a region reference
H5Rdestroy() N Closes a reference
H5Requal() N Determines whether two references are equal
H5Rget_attr_name() N Retrieves the attribute name for a referenced object
H5Rget_file_name() N Retrieves the file name for a referenced object
H5Rget_obj_name() N Retrieves the object name for a referenced object
H5Rget_obj_type3() N Retrieves the type of object that an object reference points to
H5Rget_type() N Retrieves the type of reference
H5Ropen_attr() N Opens the referenced HDF5 attribute
H5Ropen_object() N Opens the referenced HDF5 object
H5Ropen_region() N Sets up a dataspace and selection as specified by a region reference
H5S_COMBINE_HYPERSLAB N Performs an operation on a hyperslab and an existing selection and returns the resulting selection
H5S_COMBINE_SELECT N Combines two hyperslab selections with an operation, returning a dataspace with the resulting selection
H5S_ENCODE, H5S_ENCODE1, H5S_ENCODE2 N/A Encodes a dataspace object description into a binary buffer

The function H5S_ENCODE was renamed to H5S_ENCODE1 and deprecated in this release. The macro H5S_ENCODE and the function H5S_ENCODE2 were introduced in this release.

H5S_MODIFY_SELECT N Refines a hyperslab selection with an operation using a second hyperslab to modify it
H5S_SEL_ITER_CLOSE N Closes a dataspace selection iterator
H5S_SEL_ITER_CREATE N Creates a dataspace selection iterator for a dataspace's selection
H5S_SEL_ITER_GET_SEQ_LIST N Retrieves a list of offset / length sequences for the elements in an iterator
H5S_SELECT_ADJUST N Adjusts a selection by subtracting an offset
H5S_SELECT_COPY N Copies a selection from one dataspace to another
H5S_SELECT_INTERSECT_BLOCK N Checks if current selection intersects with a block
H5S_SELECT_PROJECT_INTERSECTION N Projects the intersection of two source selections to a destination selection
H5S_SELECT_SHAPE_SAME N Checks if two selections are the same shape
H5T_RECLAIM N Frees the buffers allocated for storing variable-length data in memory
H5VL_CLOSE Y Closes a VOL connector identifier
H5VL_GET_CONNECTOR_ID Y Retrieves the VOL connector identifier for a given object identifier
H5VL_GET_CONNECTOR_ID_BY_NAME Y Retrieves the identifier for a registered VOL connector name
H5VL_GET_CONNECTOR_ID_BY_VALUE Y Retrieves the identifier for a registered VOL connector value
H5VL_GET_CONNECTOR_NAME Y Retrieves the connector name for the VOL associated with the object or file identifier
H5VL_IS_CONNECTOR_REGISTERED_BY_NAME Y Tests whether a VOL class has been registered or not for a connector name
H5VL_IS_CONNECTOR_REGISTERED_BY_VALUE Y Tests whether a VOL class has been registered or not for a connector value
H5VL_REGISTER_CONNECTOR N Registers a new VOL connector
H5VL_REGISTER_CONNECTOR_BY_NAME Y Registers a new VOL connector by name
H5VL_REGISTER_CONNECTOR_BY_VALUE Y Registers a new VOL connector by connector value
H5VL_UNREGISTER_CONNECTOR Y Removes a VOL connector identifier from the library

In the C++ Wrapper

Method Description
H5File::getFileNum See H5Fget_fileno()
H5File::isAccessible See H5Fis_accessible()
LinkCreatPropList::getCreateIntermediateGroup See H5Pget_create_intermediate_group()
LinkCreatPropList::setCreateIntermediateGroup See H5Pset_create_intermediate_group()
H5Location::getLinkInfo See H5Lget_info()
H5Location::getNativeObjinfo See H5Oget_native_info()
H5Location::getObjinfo See H5Oget_info()
H5Object::visit See H5Ovisit()

API Compatibility

See API Compatibility Macros in HDF5 for details on using HDF5 version 1.12 with previous releases.

See REL:Home#HDF5 1.12 for the compatibility report for Release 1.12.0 versus Release 1.10.6