Help us improve by taking our short survey: https://www.hdfgroup.org/website-survey/

| HDF5 Last Updated on 2026-03-23 The HDF5 Field Guide

Loading...
Searching...
No Matches
Release Software Changes for HDF5 1.12

Navigate back: Main / Release Specific Information / Release Specific Information for HDF5 1.12

# Software Changes from Release to Release in HDF5 1.12

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 following information is included below.

- Release 1.12.2 versus Release 1.12.1
- Release 1.12.1 versus Release 1.12.0
- Release 1.12.0 versus Release 1.10.6

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.

Filename | Description
--- | ---
Release Notes | Technical notes regarding the current release of the HDF5 library (RELEASE.txt in the source code)
HISTORY-1_12.txt | Release information for all HDF5-1.12 releases
HISTORY-1_10_0-1_12_0.txt | Development history between the HDF5-1.10.0 and HDF5-1.12.0 releases
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.21 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)

## Release 1.12.2 versus Release 1.12.1

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

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

The following are new C functions in this release:

- H5DSwith_new_ref - Determines if new references are used with dimension scales
- H5LTget_attribute_ullong - Reads an unsigned long long attribute
- H5LTset_attribute_ullong - Create an unsigned long long attribute
- H5VLobject_is_native - Determines whether an object ID represents a native VOL connector object

See API Compatibility Reports for 1.12.2 for complete details.

## Release 1.12.1 versus Release 1.12.0

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

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

The following are new C functions in this release:

- H5Pget_fapl_splitter - Retrieves information for a splitter file access property list
- H5Pset_fapl_splitter - Sets the file access property list to use the splitter driver
- H5Pget_file_locking - Gets the file locking property values
- H5Pset_file_locking - Sets the file locking property values
- H5get_free_list_sizes - Gets the current size of the free lists used to manage memory
- H5Ssel_iter_reset - Resets a dataspace selection iterator back to an initial state
- H5VLquery_optional - Determines whether a VOL connector supports a particular optional callback operation

#### In the C++ Wrapper

The following C++ wrappers were added:

- `DataSet::operator=` - `Operator=` for DataSet class
- `FileAccPropList::getFileLocking` - See H5Pget_file_locking for details
- `FileAccPropList::setFileLocking` - See H5Pset_file_locking for details

See the API Compatibility report for complete details.

### Compatibility Notes and Report

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

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

- H5Fdelete - Deletes an HDF5 file
- H5Fget_fileno - Retrieves a file's file number that uniquely identifies the open file
- H5Fis_accessible - Determines if a file can be opened with a given fapl
- H5Iiterate - Calls a callback for each member of the identifier type specified
- H5Lget_info
  H5Lget_info1
  H5Lget_info2 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - The function H5Oget_info_by_idx was replaced by the macro H5Oget_info_by_idx. The functionH5Oget_info_by_idx3 was added.
- H5Oget_info_by_name
  H5Oget_info_by_name3 - 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 - Retrieves the native file format information about an object
- H5Oget_native_info_by_idx - Retrieves native file format information about an object according to the order of an index
- H5Oget_native_info_by_name - Retrieves native file format information about an object given its name
- H5Oopen_by_token - Opens an object in an HDF5 file using its VOL independent token
- H5Otoken_cmp - Compares two VOL connector object tokens
- H5Otoken_from_str - Deserializes a string into a connector object token
- H5Otoken_to_str - Serializes a connector's object token into a string
- H5Ovisit
  H5Ovisit3 - The function H5Ovisit was replaced by the macro H5Ovisit and the function H5Ovisit3 was added
- H5Ovisit_by_name -
- H5Ovisit_by_name3 - The function H5Ovisit_by_name was replaced by the macro H5Ovisit_by_name, and the function H5Ovisit_by_name3 was added.
- H5Pencode
  H5Pencode1
  H5Pencode2 - Encodes properties on a property list into a buffer
  The previous function was renamed to H5Pencode1 and deprecated, and the macro H5Pencode was introduced.
- H5Pget_vol_id - Returns the identifier of the current VOL connector
- H5Pget_vol_info - Returns a copy of the VOL information for a connector
- H5Pset_vol - Set the file VOL connector for a file access property list
- H5Rcopy - Copies an existing reference
- H5Rcreate_attr - Creates an attribute reference
- H5Rcreate_object - Creates an object reference
- H5Rcreate_region - Creates a region reference
- H5Rdestroy - Closes a reference
- H5Requal - Determines whether two references are equal
- H5Rget_attr_name - Retrieves the attribute name for a referenced object
- H5Rget_file_name - Retrieves the file name for a referenced object
- H5Rget_obj_name - Retrieves the object name for a referenced object
- H5Rget_obj_type3 - Retrieves the type of object that an object reference points to
- H5Rget_type - Retrieves the type of reference
- H5Ropen_attr - Opens the referenced HDF5 attribute
- H5Ropen_object - Opens the referenced HDF5 object
- H5Ropen_region - Sets up a dataspace and selection as specified by a region reference
- H5Scombine_hyperslab - Performs an operation on a hyperslab and an existing selection and returns the resulting selection
- H5Scombine_select - Combines two hyperslab selections with an operation, returning a dataspace with the resulting selection
- H5Sencode
  H5Sencode1
  H5Sencode2 - Encodes a dataspace object description into a binary buffer
  The function H5Sencode was renamed to H5Sencode1 and deprecated in this release. The macro H5Sencode and the function H5Sencode2 were introduced in this release.
- H5Smodify_select - Refines a hyperslab selection with an operation using a second hyperslab to modify it
- H5Ssel_iter_close - Closes a dataspace selection iterator
- H5Ssel_iter_create - Creates a dataspace selection iterator for a dataspace's selection
- H5Ssel_iter_get_seq_list - Retrieves a list of offset / length sequences for the elements in an iterator
- H5Sselect_adjust - Adjusts a selection by subtracting an offset
- H5Sselect_copy - Copies a selection from one dataspace to another
- H5Sselect_intersect_block - Checks if current selection intersects with a block
- H5Sselect_project_intersection - Projects the intersection of two source selections to a destination selection
- H5Sselect_shape_same - Checks if two selections are the same shape
- H5Treclaim - Frees the buffers allocated for storing variable-length data in memory
- H5VLclose - Closes a VOL connector identifier
- H5VLget_connector_id - Retrieves the VOL connector identifier for a given object identifier
- H5VLget_connector_id_by_name - Retrieves the identifier for a registered VOL connector name
- H5VLget_connector_id_by_value - Retrieves the identifier for a registered VOL connector value
- H5VLget_connector_name - Retrieves the connector name for the VOL associated with the object or file identifier
- H5VLis_connector_registered_by_name - Tests whether a VOL class has been registered or not for a connector name
- H5VLis_connector_registered_by_value - Tests whether a VOL class has been registered or not for a connector value
- H5VLregister_connector - Registers a new VOL connector
- H5VLregister_connector_by_name - Registers a new VOL connector by name
- H5VLregister_connector_by_value - Registers a new VOL connector by connector value
- H5VLunregister_connector - Removes a VOL connector identifier from the library

In the 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.

- h5fget_fileno_f - Retrieves a file's file number that uniquely identifies the open file
- h5fis_accessible_f - Determines if a file can be opened with a given fapl
- `h5lget_info_f` - The function h5lget_info_f is mapped to H5Lget_info2.
- `h5lget_info_by_idx_f` - The function h5lget_info_by_idx_f is mapped to H5Lget_info_by_idx2.
- h5literate_f - The function h5literate_f is mapped to H5Literate2.
- h5literate_by_name_f - The function h5literate_by_name_f is mapped to H5Literate_by_name2.
- `h5oopen_by_token_f` - Opens an object in an HDF5 file using its VOL independent token
- `h5otoken_cmp_f` - Compares two VOL connector object tokens
- h5pget_vol_id_f - Returns the identifier of the current VOL connector
- h5pset_vol_f - Set the file VOL connector for a file access property list
- h5vlclose_f - Closes a VOL connector identifier
- h5vlget_connector_id_f - Retrieves the VOL connector identifier for a given object identifier
- h5vlget_connector_id_by_name_f - Retrieves the identifier for a registered VOL connector name
- h5vlget_connector_id_by_value_f - Retrieves the identifier for a registered VOL connector value
- h5vlget_connector_name_f - Retrieves the connector name for the VOL associated with the object or file identifier
- h5vlis_connector_registered_by_name_f - Tests whether a VOL class has been registered or not for a connector name
- h5vlis_connector_registered_by_value_f - Tests whether a VOL class has been registered or not for a connector value
- h5vlregister_connector_by_name_f - Registers a new VOL connector by name
- h5vlregister_connector_by_value_f - Registers a new VOL connector by connector value
- h5vlunregister_connector_f - Removes a VOL connector identifier from the library

#### In the C++ Wrapper

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

[Compatibility report for Release 1.12.0 versus Release 1.10.6]()

Navigate back: Main / Release Specific Information / Release Specific Information for HDF5 1.12