Copyrighrt (c) 2014-2020 UPVI, LLC

Live HDF5 1.2 Released and on NI Tools Network

Published: Thursday, 11 February 2021

UPVI, LLC is proud to present the release of the version 1.2 series of the Live HDF5 toolkit. Version 1.2 is now built around HDF5 library version 1.12. A few features such as single-writer, multiple reader have been added. More importantly, many stability improvements have been made.

The toolkit can be acquired through the VI Package Manager installed with LabVIEW, by downloading it from the NI Tools Network, or by downloading it directly from this website. Install using the VI Package Manager. Double-clicking clicking the file should work.

The change list below list all the major and changes since the last release of the 1.1 series. Please see the end of this article for a list of changes since the last release candidate, version

Major changes since version

  • Updated to HDF5 1.12.0
  • This led to several changes as HDF5 changed their ABI, again. Note that is currently broken
  • Ported VIs to match. Note that due to a change in the size of HDF5 references the datatype of the HDF5 references in LabVIEW changed. Due to the use of¬† a typedef, this change should be transparaent under most circumstances.
  • Upgraded to MSVCRT 142 (Required by HDF5 upgrade)
  • Fixed major threading error by reworking error handling. As a result essentially all HDF5 library calls now go through the h5helper library.
  • Updated error handling documentation. Note that the complete HDF5 Error Stack is no longer returned by default and Recover Error is no longer required for clean error messages but is still required to determine specific HDF5 errors.
  • Rebuilt HDF5 library with thread-safety features enabled to fix crash caused by simultaneous Xnode/regular mode accesses. Any HDF5 library used with Live HDF5 must be built with thread-safe features enabled.
  • Added H5Fstart_swmr_write
  • Updated Reference VIs to be consistent with HDF5 1.12 reference functions. Note that documentation is currently incomplete due to incomplete HDF5 documentation.
  • Modified String Sizes parameter in LVH5Tcreate_*_type VIs so that it also accepts an encoding. This will be used in future development to support Unicode strings.

Minor changes since version

  • Fixed several bugs that caused access violations when writing and especially reading string attributes
  • Made the "Type" input on LVH5Tcreate_*_type required to help avoid such bugs in the future
  • Miscellaneous file structure cleanup
  • Fixes in several H5?get_ functions that return strings
  • Fixed H5Oget_info (cluster type was incorrect)
  • Redirected several deprecated HDF5 calls to their non-deprecated equivalents
  • Changed implementation of Not an HDF5 Refnum to a call to H5Iis_valid
  • Fixed a few DLL calls that improperly had const marked for non-const parameters
  • Fixed a potential threading issue in Select HDF5 File Dialog Core
  • Fixed bug in handling of nested VLens under Windows 64
  • Fixed bug in handling of extended ASCII characters in string data
  • Fixed memory leaks in all H5?read/write functions

Changes since

Changes since are primarily cosmetic and documentation related. However, there are two functional changes:

  • Fixed alignment bug in H5Oget_info*.vi which caused improper item types to be returned under 64-bit LabVIEW.
  • Fixed a broken (deprecated) call in