Page tree

Release Information

VersionHDF5 1.10.1
Release Date2017-04-27
Download

Download Source

Release Notes

Release Notes

Tested Platforms and Configuration Features

Platforms and Config Features

Compatibility Report Compatibility

Tested Platforms and Configuration Features

release_docs / RELEASE.txt [556:719]  hdf5_1_10_1  HDFFV/hdf5
Supported Platforms
===================

    Linux 2.6.32-573.18.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
    #1 SMP ppc64 GNU/Linux        g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
    (ostrich)                     GNU Fortran (GCC) 4.4.7 20120313 
                                      (Red Hat 4.4.7-4)
                                  IBM XL C/C++ V13.1
                                  IBM XL Fortran V15.1

    Linux 3.10.0-327.10.1.el7     GNU C (gcc), Fortran (gfortran), C++ (g++)
    #1 SMP x86_64 GNU/Linux       compilers:
    (kituo/moohan)                  Version 4.8.5 20150623 (Red Hat 4.8.5-4)
                                    Version 4.9.3, Version 5.2.0
                                  Intel(R) C (icc), C++ (icpc), Fortran (icc)
                                  compilers:
                                     Version 15.0.3.187 Build 20150407
                                  MPICH 3.1.4 compiled with GCC 4.9.3

    SunOS 5.11 32- and 64-bit     Sun C 5.12 SunOS_sparc
    (emu)                         Sun Fortran 95 8.6 SunOS_sparc
                                  Sun C++ 5.12 SunOS_sparc

    Windows 7                     Visual Studio 2012 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2013 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2015 w/ Intel Fortran 16 (cmake)

    Windows 7 x64                 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2013 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2015 w/ Intel Fortran 16 (cmake)
                                  Visual Studio 2015 w/ MSMPI 8 (cmake)
                                  Cygwin(CYGWIN_NT-6.1 2.8.0(0.309/5/3) 
                                      gcc and gfortran compilers (GCC 5.4.0)
                                      (cmake and autotools)

    Windows 10                    Visual Studio 2015 w/ Intel Fortran 16 (cmake)
                                  Cygwin(CYGWIN_NT-6.1 2.8.0(0.309/5/3) 
                                      gcc and gfortran compilers (GCC 5.4.0)
                                      (cmake and autotools)

    Windows 10 x64                Visual Studio 2015 w/ Intel Fortran 16 (cmake)

    Mac OS X Mt. Lion 10.8.5      Apple clang/clang++ version 5.1 from Xcode 5.1
    64-bit                        gfortran GNU Fortran (GCC) 4.8.2
    (swallow/kite)                Intel icc/icpc/ifort version 15.0.3

    Mac OS X Mavericks 10.9.5     Apple clang/clang++ version 6.0 from Xcode 6.2
    64-bit                        gfortran GNU Fortran (GCC) 4.9.2
    (wren/quail)                  Intel icc/icpc/ifort version 15.0.3

    Mac OS X Yosemite 10.10.5     Apple clang/clang++ version 6.1 from Xcode 7.0
    64-bit                        gfortran GNU Fortran (GCC) 4.9.2
    (osx1010dev/osx1010test)      Intel icc/icpc/ifort version 15.0.3

    Mac OS X El Capitan 10.11.6   Apple clang/clang++ version 7.3 from Xcode 7.3
    64-bit                        gfortran GNU Fortran (GCC) 5.2.0
    (osx1010dev/osx1010test)      Intel icc/icpc/ifort version 16.0.2


Tested Configuration Features Summary
=====================================

    In the tables below
          y   = tested
          n   = not tested in this release
          C   = Cluster
          W   = Workstation
          x   = not working in this release
          dna = does not apply
          ( ) = footnote appears below second table
          <blank> = testing incomplete on this feature or platform

Platform                              C         F90/   F90      C++  zlib  SZIP
                                      parallel  F2003  parallel
Solaris2.11 32-bit                      n        y/y    n        y    y     y
Solaris2.11 64-bit                      n        y/n    n        y    y     y
Windows 7                               y        y/y    n        y    y     y
Windows 7 x64                           y        y/y    y        y    y     y
Windows 7 Cygwin                        n        y/n    n        y    y     y
Windows 7 x64 Cygwin                    n        y/n    n        y    y     y
Windows 10                              y        y/y    n        y    y     y
Windows 10 x64                          y        y/y    n        y    y     y
Mac OS X Mountain Lion 10.8.5 64-bit    n        y/y    n        y    y     y
Mac OS X Mavericks 10.9.5 64-bit        n        y/y    n        y    y     y
Mac OS X Yosemite 10.10.5 64-bit        n        y/y    n        y    y     y
Mac OS X El Capitan 10.11.6 64-bit      n        y/y    n        y    y     y
CentOS 7.2 Linux 2.6.32 x86_64 PGI      n        y/y    n        y    y     y
CentOS 7.2 Linux 2.6.32 x86_64 GNU      y        y/y    y        y    y     y
CentOS 7.2 Linux 2.6.32 x86_64 Intel    n        y/y    n        y    y     y
Linux 2.6.32-573.18.1.el6.ppc64         n        y/y    n        y    y     y


Platform                                 Shared  Shared    Shared    Thread-
                                         C libs  F90 libs  C++ libs  safe
Solaris2.11 32-bit                         y       y         y         y
Solaris2.11 64-bit                         y       y         y         y
Windows 7                                  y       y         y         y
Windows 7 x64                              y       y         y         y
Windows 7 Cygwin                           n       n         n         y
Windows 7 x64 Cygwin                       n       n         n         y
Windows 10                                 y       y         y         y
Windows 10 x64                             y       y         y         y
Mac OS X Mountain Lion 10.8.5 64-bit       y       n         y         y
Mac OS X Mavericks 10.9.5 64-bit           y       n         y         y
Mac OS X Yosemite 10.10.5 64-bit           y       n         y         y
Mac OS X El Capitan 10.11.6 64-bit         y       n         y         y
CentOS 7.2 Linux 2.6.32 x86_64 PGI         y       y         y         n
CentOS 7.2 Linux 2.6.32 x86_64 GNU         y       y         y         y
CentOS 7.2 Linux 2.6.32 x86_64 Intel       y       y         y         n
Linux 2.6.32-573.18.1.el6.ppc64            y       y         y         n

Compiler versions for each platform are listed in the preceding
"Supported Platforms" table.


More Tested Platforms
=====================

The following platforms are not supported but have been tested for this release.

    Linux 2.6.32-573.22.1.el6     GNU C (gcc), Fortran (gfortran), C++ (g++)
    #1 SMP x86_64 GNU/Linux       compilers:
    (mayll/platypus)                 Version 4.4.7 20120313
                                     Version 4.8.4
                                  PGI C, Fortran, C++ for 64-bit target on
                                  x86-64;
                                      Version 16.10-0
                                  Intel(R) C (icc), C++ (icpc), Fortran (icc)
                                  compilers:
                                     Version 15.0.3.187 (Build 20150407)
                                  MPICH 3.1.4 compiled with GCC 4.9.3

    Linux 3.10.0-327.18.2.el7     GNU C (gcc) and C++ (g++) compilers
    #1 SMP x86_64 GNU/Linux          Version 4.8.5 20150623 (Red Hat 4.8.5-4)
    (jelly)                       with NAG Fortran Compiler Release 6.1(Tozai) 
                                  Intel(R) C (icc) and C++ (icpc) compilers
                                     Version 15.0.3.187 (Build 20150407)
                                  with NAG Fortran Compiler Release 6.1(Tozai)

    Linux 2.6.32-573.18.1.el6.ppc64  MPICH mpich 3.1.4 compiled with
    #1 SMP ppc64 GNU/Linux           IBM XL C/C++ for Linux, V13.1
    (ostrich)                        and IBM XL Fortran for Linux, V15.1

    Debian 8.4 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux
                                  gcc, g++ (Debian 4.9.2-10) 4.9.2
                                  GNU Fortran (Debian 4.9.2-10) 4.9.2
                                  (cmake and autotools)

    Fedora 24  4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
                                  gcc, g++ (GCC) 6.1.1 20160621 
                                      (Red Hat 6.1.1-3)
                                  GNU Fortran (GCC) 6.1.1 20160621 
                                      (Red Hat 6.1.1-3)
                                  (cmake and autotools)

    Ubuntu 16.04.1 4.4.0-38-generic #57-Ubuntu SMP x86_64 GNU/Linux
                                  gcc, g++ (Ubuntu 5.4.0-6ubuntu1~16.04.2) 
                                      5.4.0 20160609
                                  GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 
                                      5.4.0 20160609
                                  (cmake and autotools)

Release Notes

HDF5 version 1.10.1 released on 2017-04-27
================================================================================

INTRODUCTION

This document describes the differences between HDF5-1.10.0-patch1 and
HDF5 1.10.1, and contains information on the platforms tested and known 
problems in HDF5-1.10.1. For more details check the HISTORY*.txt files 
in the HDF5 source.

Links to HDF5 1.10.1 source code, documentation, and additional materials can 
be found on The HDF5 web page at:

     https://support.hdfgroup.org/HDF5/

The HDF5 1.10.1 release can be obtained from:

     https://support.hdfgroup.org/HDF5/release/obtain5.html

User documentation for the snapshot can be accessed directly at this location:

     https://support.hdfgroup.org/HDF5/doc/

New features in the HDF5-1.10.x release series, including brief general
descriptions of some new and modified APIs, are described in the "New Features
in HDF5 Release 1.10" document:

     https://support.hdfgroup.org/HDF5/docNewFeatures/index.html

All new and modified APIs are listed in detail in the "HDF5 Software Changes
from Release to Release" document, in the section "Release 10.1 (current
release) versus Release 1.10.0

     https://support.hdfgroup.org/HDF5/doc/ADGuide/Changes.html

If you have any questions or comments, please send them to the HDF Help Desk:

    help@hdfgroup.org


CONTENTS

- Major New Features Introduced in HDF5 1.10.1
- Other New Features and Enhancements
- Support for New Platforms, Languages, and Compilers
- Bug Fixes since HDF5-1.10.0-patch1
- Supported Platforms
- Tested Configuration Features Summary
- More Tested Platforms
- Known Problems


Major New Features Introduced in HDF5 1.10.1
============================================

For links to the RFCs and documentation in this section please view 
https://support.hdfgroup.org/HDF5/docNewFeatures in a web browser.

________________________________________
Metadata Cache Image 
________________________________________

    HDF5 metadata is typically small, and scattered throughout the HDF5 file. 
    This can affect performance, particularly on large HPC systems. The 
    Metadata Cache Image feature can improve performance by writing the 
    metadata cache in a single block on file close, and then populating the 
    cache with the contents of this block on file open, thus avoiding the many 
    small I/O operations that would otherwise be required on file open and 
    close. See the RFC for complete details regarding this feature. Also, 
    see the Fine Tuning the Metadata Cache documentation. 

    At present, metadata cache images may not be generated by parallel 
    applications.  Parallel applications can read files with metadata cache
    images, but since this is a collective operation, a deadlock is possible
    if one or more processes do not participate.

________________________________________
Metadata Cache Evict on Close 
________________________________________

    The HDF5 library's metadata cache is fairly conservative about holding on 
    to HDF5 object metadata (object headers, chunk index structures, etc.), 
    which can cause the cache size to grow, resulting in memory pressure on 
    an application or system. The "evict on close" property will cause all 
    metadata for an object to be evicted from the cache as long as metadata 
    is not referenced from any other open object. See the Fine Tuning the 
    Metadata Cache documentation for information on the APIs. 

    At present, evict on close is disabled in parallel builds.

________________________________________
Paged Aggregation 
________________________________________

    The current HDF5 file space allocation accumulates small pieces of metadata 
    and raw data in aggregator blocks which are not page aligned and vary 
    widely in sizes. The paged aggregation feature was implemented to provide 
    efficient paged access of these small pieces of metadata and raw data. 
    See the RFC for details. Also, see the File Space Management documentation.
    
________________________________________
Page Buffering 
________________________________________

    Small and random I/O accesses on parallel file systems result in poor 
    performance for applications. Page buffering in conjunction with paged 
    aggregation can improve performance by giving an application control of 
    minimizing HDF5 I/O requests to a specific granularity and alignment. 
    See the RFC for details. Also, see the Page Buffering documentation.

    At present, page buffering is disabled in parallel builds.



Other New Features and Enhancements
===================================

    Library
    -------
    - Added a mechanism for disabling the SWMR file locking scheme.

      The file locking calls used in HDF5 1.10.0 (including patch1)
      will fail when the underlying file system does not support file
      locking or where locks have been disabled. To disable all file
      locking operations, an environment variable named
      HDF5_USE_FILE_LOCKING can be set to the five-character string
      'FALSE'. This does not fundamentally change HDF5 library
      operation (aside from initial file open/create, SWMR is lock-free),
      but users will have to be more careful about opening files
      to avoid problematic access patterns (i.e.: multiple writers)
      that the file locking was designed to prevent.

      Additionally, the error message that is emitted when file lock
      operations set errno to ENOSYS (typical when file locking has been
      disabled) has been updated to describe the problem and potential
      resolution better.

      (DER, 2016/10/26, HDFFV-9918)

    - The return type of H5Pget_driver_info() has been changed from void *
      to const void *.

      The pointer returned by this function points to internal library
      memory and should not be freed by the user.

      (DER, 2016/11/04, HDFFV-10017)

    - The direct I/O VFD has been removed from the list of VFDs that
      support SWMR.

      This configuration was never officially tested and several SWMR
      tests fail when this VFD is set.

      (DER, 2016/11/03, HDFFV-10169)

    Configuration:
    --------------
    - The minimum version of CMake required to build HDF5 is now 3.2.2.

      (ADB, 2017/01/10)

    - An --enable/disable-developer-warnings option has been added to
      configure.

      This disables warnings that do not indicate poor code quality such
      as -Winline and gcc's -Wsuggest-attribute. Developer warnings are
      disabled by default.

      (DER, 2017/01/10)

    - A bin/restore.sh script was added that reverts autogen.sh processing.

      (DER, 2016/11/08)

    - CMake: Added NAMESPACE hdf5:: to package configuration files to allow
      projects using installed HDF5 binaries built with CMake to link with
      them without specifying the HDF5 library location via IMPORTED_LOCATION.

      (ABD, 2016/10/17, HDFFV-10003)

    - CMake: Changed the CTEST_BUILD_CONFIGURATION option to
      CTEST_CONFIGURATION_TYPE as recommended by the CMake documentation.

      (ABD, 2016/10/17, HDFFV-9971)
    

    Fortran Library:
    ----------------

    - The HDF5 Fortran library can now be compiled with the NAG compiler.

      (MSB, 2017/2/10, HDFFV-9973)


    C++ Library:
    ------------

    - The following C++ API wrappers have been added to the C++ Library:

        // Sets/Gets the strategy and the threshold value that the library
        // will employ in managing file space.
        FileCreatPropList::setFileSpaceStrategy - H5Pset_file_space_strategy
        FileCreatPropList::getFileSpaceStrategy - H5Pget_file_space_strategy

        // Sets/Gets the file space page size for paged aggregation.
        FileCreatPropList::setFileSpacePagesize - H5Pset_file_space_page_size
        FileCreatPropList::getFileSpacePagesize - H5Pget_file_space_page_size

        // Checks if the given ID is valid.
        IdComponent::isValid - H5Iis_valid

        // Sets/Gets the number of soft or user-defined links that can be
        // traversed before a failure occurs.
        LinkAccPropList::setNumLinks - H5Pset_nlinks
        LinkAccPropList::getNumLinks - H5Pget_nlinks

        // Returns a copy of the creation property list of a datatype.
        DataType::getCreatePlist - H5Tget_create_plist

        // Opens/Closes an object within a group or a file, regardless of object 
        // type
        Group::getObjId - H5Oopen
        Group::closeObjId - H5Oclose

        // Maps elements of a virtual dataset to elements of the source dataset.
        DSetCreatPropList::setVirtual - H5Pset_virtual

        // Gets general information about this file.
        H5File::getFileInfo - H5Fget_info2

        // Returns the number of members in a type.
        IdComponent::getNumMembers - H5Inmembers

        // Determines if an element type exists.
        IdComponent::typeExists - H5Itype_exists

        // Determines if an object exists.
        H5Location::exists - H5Lexists.

        // Returns the header version of an HDF5 object.
        H5Object::objVersion - H5Oget_info for version

      (BMR, 2017/03/20, HDFFV-10004, HDFFV-10139, HDFFV-10145)

    - New exception: ObjHeaderIException for H5O interface.

      (BMR, 2017/03/15, HDFFV-10145)

    - New class LinkAccPropList for link access property list, to be used by
      wrappers of H5Lexists.

      (BMR, 2017/01/04, HDFFV-10145)

    - New constructors to open datatypes in ArrayType, CompType, DataType,
      EnumType, FloatType, IntType, StrType, and VarLenType.
      
      (BMR, 2016/12/26, HDFFV-10056)

    - New member functions:

        DSetCreatPropList::setNbit() to setup N-bit compression for a dataset.

        ArrayType::getArrayNDims() const
        ArrayType::getArrayDims() const
        both to replace the non-const versions.

      (BMR, 2016/04/25, HDFFV-8623, HDFFV-9725)


    Tools:
    ------
     - The following options have been added to h5clear:
       -s: clear the status_flags field in the file's superblock
       -m: Remove the metadata cache image from the file

       (QAK, 2017/03/22, PR#361)


    High-Level APIs:
    ---------------
     - Added New Fortran 2003 API for h5tbmake_table_f.

       (MSB, 2017/02/10, HDFFV-8486)



Support for New Platforms, Languages, and Compilers
===================================================

    - Added NAG compiler 



Bug Fixes since HDF5-1.10.0-patch1 release
==================================

    Library
    -------
    - Outdated data structure was used in H5D_CHUNK_DEBUG blocks, causing
      compilation errors when H5D_CHUNK_DEBUG was defined.  This is fixed.

      (BMR, 2017/04/04, HDFFV-8089)

    - SWMR implementation in the HDF5 1.10.0 and 1.10.0-patch1 releases has a 
      broken metadata flush dependency that manifested itself with the following
      error at the end of the HDF5 error stack:

      H5Dint.c line 846 in H5D__swmr_setup(): dataspace chunk index must be 0 
      for SWMR access, chunkno = 1
      major: Dataset
      minor: Bad value

      It was also reported at https://github.com/areaDetector/ADCore/issues/203

      The flush dependency is fixed in this release.

    - Changed the plugins dlopen option from RTLD_NOW to RTLD_LAZY

      (ABD, 2016/12/12, PR#201)

    - A number of issues were fixed when reading/writing from/to corrupted
      files to ensure that the library fails gracefully in these cases:

      * Writing to a corrupted file that has an object message which is
        incorrectly marked as sharable on disk results in a buffer overflow /
        invalid write instead of a clean error message.

      * Decoding data from a corrupted file with a dataset encoded with the
        H5Z_NBIT decoding can result in a code execution vulnerability under
        the context of the application using the HDF5 library.

      * When decoding an array datatype from a corrupted file, the HDF5 library
        fails to return an error in production if the number of dimensions
        decoded is greater than the maximum rank.

      * When decoding an "old style" array datatype from a corrupted file, the
        HDF5 library fails to return an error in production if the number of
        dimensions decoded is greater than the maximum rank.

      (NAF, 2016/10/06, HDFFV-9950, HDFFV-9951, HDFFV-9992, HDFFV-9993)

    - Fixed an error that would occur when copying an object with an attribute
      which is a compound datatype consisting of a variable length string.    

      (VC, 2016/08/24, HDFFV-7991)

    - H5DOappend will no longer fail if a dataset has no append callback 
      registered.

      (VC, 2016/08/14, HDFFV-9960)

    - Fixed an issue where H5Pset_alignment could result in misaligned blocks
      with some input combinations, causing an assertion failure in debug mode.

      (NAF, 2016/08/11, HDFFV-9948)

    - Fixed a problem where a plugin compiled into a DLL in the default plugin
      directory could not be found by the HDF5 library at runtime on Windows
      when the HDF5_PLUGIN_PATH environment variable was not set.

      (ABD, 2016/08/01, HDFFV-9706)

    - Fixed an error that would occur when calling H5Adelete on an attribute
      which is attached to an externally linked object in the target file and
      whose datatype is a committed datatype in the main file.    

      (VC, 2016/07/06, HDFFV-9940)

    - (a) Throw an error instead of assertion when v1 btree level hits the 1 
          byte limit.
      (b) Modifications to better handle error recovery when conversion by
          h5format_convert fails.

      (VC, 2016/05/29, HDFFV-9434)

    - Fixed a memory leak where an array used by the library to track SWMR
      read retries was unfreed.

      The leaked memory was small (on the order of a few tens of ints) and
      allocated per-file. The memory was allocated (and lost) only when a
      file was opened for SWMR access.

      (DER, 2016/04/27, HDFFV-9786)

    - Fixed a memory leak that could occur when opening a file for the first
      time (including creating) and the call fails.

      This occurred when the file-driver-specific info was not cleaned up.
      The amount of memory leaked varied with the file driver, but would
      normally be less than 1 kB.

      (DER, 2016/12/06, HDFFV-10168)

    - Fixed a failure in collective metadata writes.  

      This failure only appeared when collective metadata writes 
      were enabled (via H5Pset_coll_metadata_write()).

      (JRM, 2017/04/10, HDFFV-10055)


    Parallel Library
    ----------------
    - Fixed a bug that could occur when allocating a chunked dataset in parallel
      with an alignment set and an alignment threshold greater than the chunk
      size but less than or equal to the raw data aggregator size.

      (NAF, 2016/08/11, HDFFV-9969)


    Configuration
    -------------         
    - Configuration will check for the strtoll and strtoull functions
      before using alternatives

      (ABD, 2017/03/17, PR#340)

    - CMake uses a Windows pdb directory variable if available and
      will generate both static and shared pdb files.

      (ABD, 2017/02/06, HDFFV-9875)

    - CMake now builds shared versions of tools.

      (ABD, 2017/02/01, HDFFV-10123)

    - Makefiles and test scripts have been updated to correctly remove files
      created when running "make check" and to avoid removing any files under 
      source control.  In-source builds followed by "make clean" and "make 
      distclean" should result in the original source files.

      (LRK, 2017/01/17, HDFFV-10099)

    - The tools directory has been divided into two separate source and test
      directories. This resolves a build dependency and, as a result,
      'make check' will no longer fail in the tools directory if 'make' was
      not executed first.
    
      (ABD, 2016/10/27, HDFFV-9719)

    - CMake: Fixed a timeout error that would occasionally occur when running
      the virtual file driver tests simultaneously due to test directory
      and file name collisions.

      (ABD, 2016/09/19, HDFFV-9431)

    - CMake: Fixed a command length overflow error by converting custom
      commands inside CMakeTest.cmake files into regular dependencies and
      targets.

      (ABD, 2016/07/12, HDFFV-9939)

    - Fixed a problem preventing HDF5 to be built on 32-bit CYGWIN by
      condensing cygwin configuration files into a single file and
      removing outdated compiler settings.

      (ABD, 2016/07/12, HDFFV-9946)


    Fortran
    --------
    - Changed H5S_ALL_F from INTEGER to INTEGER(HID_T)

      (MSB, 2016/10/14, HDFFV-9987)


    Tools
    -----
    - h5diff now correctly ignores strpad in comparing strings.

      (ABD, 2017/03/03, HDFFV-10128)

    - h5repack now correctly parses the command line filter options.

      (ABD, 2017/01/24, HDFFV-10046)

    - h5diff now correctly returns an error when it cannot read data due
      to an unavailable filter plugin.

      (ADB 2017/01/18, HDFFV-9994 )

    - Fixed an error in the compiler wrapper scripts (h5cc, h5fc, et al.)
      in which they would erroneously drop the file argument specified via
      the -o flag when the -o flag was specified before the -c flag on the
      command line, resulting in a failure to compile.

      (LRK, 2016/11/04, HDFFV-9938, HDFFV-9530) 

    - h5repack User Defined (UD) filter parameters were not parsed correctly.

      The UD filter parameters were not being parsed correctly. Reworked coding
      section to parse the correct values and verify number of parameters.

      (ABD, 2016/10/19, HDFFV-9996, HDFFV-9974, HDFFV-9515, HDFFV-9039) 

    - h5repack allows the --enable-error-stack option on the command line.

      (ADB, 2016/08/08, HDFFV-9775)


    C++ APIs
    --------
    - The member function H5Location::getNumObjs() is moved to
      class Group because the objects are in a group or a file only,
      and H5Object::getNumAttrs to H5Location to get the number of
      attributes at a given location.

      (BMR, 2017/03/17, PR#466)

    - Due to the change in the C API, the overloaded functions of
      PropList::setProperty now need const for some arguments.  They are
      planned for deprecation and are replaced by new versions with proper
      consts.

      (BMR, 2017/03/17, PR#344)

    - The high-level API Packet Table (PT) did not write data correctly when
      the datatype is a compound type that has string type as one of the
      members.  This problem started in 1.8.15, after the fix of HDFFV-9042
      was applied, which caused the Packet Table to use native type to access
      the data.  It should be up to the application to specify whether the
      buffer to be read into memory is in the machine's native architecture.
      Thus, the PT is fixed to not use native type but to make a copy of the
      user's provided datatype during creation or the packet table's datatype
      during opening.  If an application wishes to use native type to read the
      data, then the application will request that.  However, the Packet Table
      doesn't provide a way to specify memory datatype in this release.  This
      feature will be available in future releases.

      (BMR, 2016/10/27, HDFFV-9758)

    - The obsolete macros H5_NO_NAMESPACE and H5_NO_STD have been removed from
      the HDF5 C++ API library.

      (BMR, 2016/10/23, HDFFV-9532)

    - The problem where a user-defined function cannot access both, attribute
      and dataset, using only one argument is now fixed.

      (BMR, 2016/10/11, HDFFV-9920)

    - In-memory array information, ArrayType::rank and
      ArrayType::dimensions, were removed. This is an implementation
      detail and should not affect applications.

      (BMR, 2016/04/25, HDFFV-9725)


    Testing
    -------
    - Fixed a problem that caused tests using SWMR to occasionally fail when 
      running "make check" using parallel make.

      (LRK, 2016/03/22, PR#338, PR#346, PR#358)


Supported Platforms
===================

    Linux 2.6.32-573.18.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
    #1 SMP ppc64 GNU/Linux        g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
    (ostrich)                     GNU Fortran (GCC) 4.4.7 20120313 
                                      (Red Hat 4.4.7-4)
                                  IBM XL C/C++ V13.1
                                  IBM XL Fortran V15.1

    Linux 3.10.0-327.10.1.el7     GNU C (gcc), Fortran (gfortran), C++ (g++)
    #1 SMP x86_64 GNU/Linux       compilers:
    (kituo/moohan)                  Version 4.8.5 20150623 (Red Hat 4.8.5-4)
                                    Version 4.9.3, Version 5.2.0
                                  Intel(R) C (icc), C++ (icpc), Fortran (icc)
                                  compilers:
                                     Version 15.0.3.187 Build 20150407
                                  MPICH 3.1.4 compiled with GCC 4.9.3

    SunOS 5.11 32- and 64-bit     Sun C 5.12 SunOS_sparc
    (emu)                         Sun Fortran 95 8.6 SunOS_sparc
                                  Sun C++ 5.12 SunOS_sparc

    Windows 7                     Visual Studio 2012 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2013 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2015 w/ Intel Fortran 16 (cmake)

    Windows 7 x64                 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2013 w/ Intel Fortran 15 (cmake)
                                  Visual Studio 2015 w/ Intel Fortran 16 (cmake)
                                  Visual Studio 2015 w/ MSMPI 8 (cmake)
                                  Cygwin(CYGWIN_NT-6.1 2.8.0(0.309/5/3) 
                                      gcc and gfortran compilers (GCC 5.4.0)
                                      (cmake and autotools)

    Windows 10                    Visual Studio 2015 w/ Intel Fortran 16 (cmake)
                                  Cygwin(CYGWIN_NT-6.1 2.8.0(0.309/5/3) 
                                      gcc and gfortran compilers (GCC 5.4.0)
                                      (cmake and autotools)

    Windows 10 x64                Visual Studio 2015 w/ Intel Fortran 16 (cmake)

    Mac OS X Mt. Lion 10.8.5      Apple clang/clang++ version 5.1 from Xcode 5.1
    64-bit                        gfortran GNU Fortran (GCC) 4.8.2
    (swallow/kite)                Intel icc/icpc/ifort version 15.0.3

    Mac OS X Mavericks 10.9.5     Apple clang/clang++ version 6.0 from Xcode 6.2
    64-bit                        gfortran GNU Fortran (GCC) 4.9.2
    (wren/quail)                  Intel icc/icpc/ifort version 15.0.3

    Mac OS X Yosemite 10.10.5     Apple clang/clang++ version 6.1 from Xcode 7.0
    64-bit                        gfortran GNU Fortran (GCC) 4.9.2
    (osx1010dev/osx1010test)      Intel icc/icpc/ifort version 15.0.3

    Mac OS X El Capitan 10.11.6   Apple clang/clang++ version 7.3 from Xcode 7.3
    64-bit                        gfortran GNU Fortran (GCC) 5.2.0
    (osx1010dev/osx1010test)      Intel icc/icpc/ifort version 16.0.2


Tested Configuration Features Summary
=====================================

    In the tables below
          y   = tested
          n   = not tested in this release
          C   = Cluster
          W   = Workstation
          x   = not working in this release
          dna = does not apply
          ( ) = footnote appears below second table
          <blank> = testing incomplete on this feature or platform

Platform                              C         F90/   F90      C++  zlib  SZIP
                                      parallel  F2003  parallel
Solaris2.11 32-bit                      n        y/y    n        y    y     y
Solaris2.11 64-bit                      n        y/n    n        y    y     y
Windows 7                               y        y/y    n        y    y     y
Windows 7 x64                           y        y/y    y        y    y     y
Windows 7 Cygwin                        n        y/n    n        y    y     y
Windows 7 x64 Cygwin                    n        y/n    n        y    y     y
Windows 10                              y        y/y    n        y    y     y
Windows 10 x64                          y        y/y    n        y    y     y
Mac OS X Mountain Lion 10.8.5 64-bit    n        y/y    n        y    y     y
Mac OS X Mavericks 10.9.5 64-bit        n        y/y    n        y    y     y
Mac OS X Yosemite 10.10.5 64-bit        n        y/y    n        y    y     y
Mac OS X El Capitan 10.11.6 64-bit      n        y/y    n        y    y     y
CentOS 7.2 Linux 2.6.32 x86_64 PGI      n        y/y    n        y    y     y
CentOS 7.2 Linux 2.6.32 x86_64 GNU      y        y/y    y        y    y     y
CentOS 7.2 Linux 2.6.32 x86_64 Intel    n        y/y    n        y    y     y
Linux 2.6.32-573.18.1.el6.ppc64         n        y/y    n        y    y     y


Platform                                 Shared  Shared    Shared    Thread-
                                         C libs  F90 libs  C++ libs  safe
Solaris2.11 32-bit                         y       y         y         y
Solaris2.11 64-bit                         y       y         y         y
Windows 7                                  y       y         y         y
Windows 7 x64                              y       y         y         y
Windows 7 Cygwin                           n       n         n         y
Windows 7 x64 Cygwin                       n       n         n         y
Windows 10                                 y       y         y         y
Windows 10 x64                             y       y         y         y
Mac OS X Mountain Lion 10.8.5 64-bit       y       n         y         y
Mac OS X Mavericks 10.9.5 64-bit           y       n         y         y
Mac OS X Yosemite 10.10.5 64-bit           y       n         y         y
Mac OS X El Capitan 10.11.6 64-bit         y       n         y         y
CentOS 7.2 Linux 2.6.32 x86_64 PGI         y       y         y         n
CentOS 7.2 Linux 2.6.32 x86_64 GNU         y       y         y         y
CentOS 7.2 Linux 2.6.32 x86_64 Intel       y       y         y         n
Linux 2.6.32-573.18.1.el6.ppc64            y       y         y         n

Compiler versions for each platform are listed in the preceding
"Supported Platforms" table.


More Tested Platforms
=====================

The following platforms are not supported but have been tested for this release.

    Linux 2.6.32-573.22.1.el6     GNU C (gcc), Fortran (gfortran), C++ (g++)
    #1 SMP x86_64 GNU/Linux       compilers:
    (mayll/platypus)                 Version 4.4.7 20120313
                                     Version 4.8.4
                                  PGI C, Fortran, C++ for 64-bit target on
                                  x86-64;
                                      Version 16.10-0
                                  Intel(R) C (icc), C++ (icpc), Fortran (icc)
                                  compilers:
                                     Version 15.0.3.187 (Build 20150407)
                                  MPICH 3.1.4 compiled with GCC 4.9.3

    Linux 3.10.0-327.18.2.el7     GNU C (gcc) and C++ (g++) compilers
    #1 SMP x86_64 GNU/Linux          Version 4.8.5 20150623 (Red Hat 4.8.5-4)
    (jelly)                       with NAG Fortran Compiler Release 6.1(Tozai) 
                                  Intel(R) C (icc) and C++ (icpc) compilers
                                     Version 15.0.3.187 (Build 20150407)
                                  with NAG Fortran Compiler Release 6.1(Tozai)

    Linux 2.6.32-573.18.1.el6.ppc64  MPICH mpich 3.1.4 compiled with
    #1 SMP ppc64 GNU/Linux           IBM XL C/C++ for Linux, V13.1
    (ostrich)                        and IBM XL Fortran for Linux, V15.1

    Debian 8.4 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux
                                  gcc, g++ (Debian 4.9.2-10) 4.9.2
                                  GNU Fortran (Debian 4.9.2-10) 4.9.2
                                  (cmake and autotools)

    Fedora 24  4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
                                  gcc, g++ (GCC) 6.1.1 20160621 
                                      (Red Hat 6.1.1-3)
                                  GNU Fortran (GCC) 6.1.1 20160621 
                                      (Red Hat 6.1.1-3)
                                  (cmake and autotools)

    Ubuntu 16.04.1 4.4.0-38-generic #57-Ubuntu SMP x86_64 GNU/Linux
                                  gcc, g++ (Ubuntu 5.4.0-6ubuntu1~16.04.2) 
                                      5.4.0 20160609
                                  GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 
                                      5.4.0 20160609
                                  (cmake and autotools)


Known Problems
==============

    At present, metadata cache images may not be generated by parallel 
    applications.  Parallel applications can read files with metadata cache
    images, but since this is a collective operation, a deadlock is possible
    if one or more processes do not participate.

    Known problems in previous releases can be found in the HISTORY*.txt files 
    in the HDF5 source. Please report any new problems found to 
    help@hdfgroup.org.

 

Compatibility

 

API compatibility report for the hdf5 library  between 1.10.0-patch1 and 1.10.1 versions on x86


Test Info


Library Namehdf5
Version #11.10.0-patch1
Version #21.10.1
CPU Typex86
GCC Version4.1.2
SubjectBinary Compatibility

Test Results


Total Header Files78
Total Shared Libraries9
Total Symbols / Types1749 / 559
VerdictIncompatible
(7.8%)

Problem Summary


SeverityCount
Added Symbols-152
Removed SymbolsHigh61
Problems with
Data Types
High8
Medium8
Low14
Problems with
Symbols
High18
Medium1
Low5
Problems with
Constants
Low19
Other Changes
in Symbols
-2
Other Changes
in Constants
-16

Added Symbols (152)


H5ArrayType.h, libhdf5_cpp.so.101.0.0
namespace H5
ArrayType::getArrayDims hsize_t* dims ) const
ArrayType::getArrayNDims ( ) const

H5CompType.h, libhdf5_cpp.so.101.0.0
namespace H5
CompType::CompType [in-charge] ( H5Location const& loc, char const* name )
CompType::CompType [not-in-charge] ( H5Location const& loc, char const* name )

H5DataType.h, libhdf5_cpp.so.101.0.0
namespace H5
DataType::DataType [in-charge] ( H5Location const& loc, char const* name )
DataType::DataType [in-charge] ( H5Location const& loc, std::string const& name )
DataType::DataType [not-in-charge] ( H5Location const& loc, char const* name )
DataType::DataType [not-in-charge] ( H5Location const& loc, std::string const& name )
DataType::getCreatePlist ( ) const
DataType::p_opentype ( H5Location const& loc, char const* dtype_name ) const

H5DcreatProp.h, libhdf5_cpp.so.101.0.0
namespace H5
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
DSetCreatPropList::setNbit ( ) const
DSetCreatPropList::setVirtual ( DataSpace const& vspace, char const* src_fname, char const* src_dsname, DataSpace const& sspace ) const
DSetCreatPropList::setVirtual ( DataSpace const& vspace, std::string const src_fname, std::string const src_dsname, DataSpace const& sspace ) const

H5DxferProp.h, libhdf5_cpp.so.101.0.0
namespace H5
DSetMemXferPropList::getEDCCheck ( ) const
DSetMemXferPropList::getHyperVectorSize ( ) const
DSetMemXferPropList::getSmallDataBlockSize ( ) const
DSetMemXferPropList::setEDCCheck H5Z_EDC_t check ) const
DSetMemXferPropList::setSmallDataBlockSize hsize_t size ) const

H5EnumType.h, libhdf5_cpp.so.101.0.0
namespace H5
EnumType::EnumType [in-charge] ( H5Location const& loc, char const* name )
EnumType::EnumType [in-charge] ( H5Location const& loc, std::string const& name )
EnumType::EnumType [not-in-charge] ( H5Location const& loc, char const* name )
EnumType::EnumType [not-in-charge] ( H5Location const& loc, std::string const& name )

H5Epubgen.h, libhdf5.so.101.0.0
H5E_CANTCLEAN_g [data]
H5E_CANTMARKCLEAN_g [data]
H5E_CANTMARKSERIALIZED_g [data]
H5E_CANTMARKUNSERIALIZED_g [data]
H5E_CANTUNSERIALIZE_g [data]
H5E_PAGEBUF_g [data]

H5Exception.h, libhdf5_cpp.so.101.0.0
namespace H5
ObjHeaderIException::ObjHeaderIException [in-charge] ( )
ObjHeaderIException::ObjHeaderIException [in-charge] ( std::string const& func_name, std::string const& message )
ObjHeaderIException::ObjHeaderIException [not-in-charge] ( )
ObjHeaderIException::ObjHeaderIException [not-in-charge] ( std::string const& func_name, std::string const& message )
ObjHeaderIException::~ObjHeaderIException [in-charge-deleting] ( )
ObjHeaderIException::~ObjHeaderIException [in-charge] ( )
ObjHeaderIException::~ObjHeaderIException [not-in-charge] ( )

H5FaccProp.h, libhdf5_cpp.so.101.0.0
namespace H5
FileAccPropList::getFcloseDegree ( ) const
FileAccPropList::setFcloseDegree H5F_close_degree_t degree ) const

H5FcreatProp.h, libhdf5_cpp.so.101.0.0
namespace H5
FileCreatPropList::getFileSpacePagesize ( ) const
FileCreatPropList::getFileSpaceStrategy ( H5F_fspace_strategy_t& strategy, hbool_t& persist, hsize_t& threshold ) const
FileCreatPropList::setFileSpacePagesize hsize_t fsp_psize ) const
FileCreatPropList::setFileSpaceStrategy ( H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold ) const

H5File.h, libhdf5_cpp.so.101.0.0
namespace H5
H5File::getFileInfo H5F_info2_t& file_info ) const

H5FloatType.h, libhdf5_cpp.so.101.0.0
namespace H5
FloatType::FloatType [in-charge] ( H5Location const& loc, char const* name )
FloatType::FloatType [in-charge] ( H5Location const& loc, std::string const& name )
FloatType::FloatType [not-in-charge] ( H5Location const& loc, char const* name )
FloatType::FloatType [not-in-charge] ( H5Location const& loc, std::string const& name )

H5Fpublic.h, libhdf5.so.101.0.0
H5Fget_mdc_image_info hid_t file_id, unsigned long* image_addr, hsize_t* image_size )
H5Fget_page_buffering_stats hid_t file_id, unsigned int* accesses, unsigned int* hits, unsigned int* misses, unsigned int* evictions, unsigned int* bypasses )
H5Freset_page_buffering_stats hid_t file_id )
H5Fset_latest_format hid_t file_id, hbool_t latest_format )

H5Group.h, libhdf5_cpp.so.101.0.0
namespace H5
Group::getNumObjs ( ) const
Group::getObjId ( char const* name, PropList const& plist ) const
Group::getObjId ( std::string const& name, PropList const& plist ) const

H5IdComponent.h, libhdf5_cpp.so.101.0.0
namespace H5
IdComponent::getNumMembers H5I_type_t type ) [static]
IdComponent::typeExists H5I_type_t type ) [static]

H5IntType.h, libhdf5_cpp.so.101.0.0
namespace H5
IntType::IntType [in-charge] ( H5Location const& loc, char const* name )
IntType::IntType [in-charge] ( H5Location const& loc, std::string const& name )
IntType::IntType [not-in-charge] ( H5Location const& loc, char const* name )
IntType::IntType [not-in-charge] ( H5Location const& loc, std::string const& name )

H5LaccProp.h, libhdf5_cpp.so.101.0.0
namespace H5
LinkAccPropList::DEFAULT [data]
LinkAccPropList::deleteConstants ( ) [static]
LinkAccPropList::fromClass ( ) const
LinkAccPropList::getNumLinks ( ) const
LinkAccPropList::LinkAccPropList [in-charge] ( )
LinkAccPropList::LinkAccPropList [in-charge] LinkAccPropList const& original )
LinkAccPropList::LinkAccPropList [not-in-charge] ( )
LinkAccPropList::LinkAccPropList [not-in-charge] LinkAccPropList const& original )
LinkAccPropList::~LinkAccPropList [in-charge-deleting] ( )
LinkAccPropList::~LinkAccPropList [in-charge] ( )
LinkAccPropList::~LinkAccPropList [not-in-charge] ( )

H5Location.h, libhdf5_cpp.so.101.0.0
namespace H5
H5Location::childObjType char const* objname ) const
H5Location::childObjType hsize_t index, H5_index_t index_type, enum H5_iter_order_t order, char const* objname ) const
H5Location::childObjType std::string const& objname ) const
H5Location::childObjVersion char const* objname ) const
H5Location::childObjVersion std::string const& objname ) const
H5Location::createDataSet ( char const* name, DataType const& data_type, DataSpace const& data_space, DSetCreatPropList const& create_plist ) const
H5Location::createDataSet ( std::string const& name, DataType const& data_type, DataSpace const& data_space, DSetCreatPropList const& create_plist ) const
H5Location::exists ( char const* name, LinkAccPropList const& lapl ) const
H5Location::exists ( std::string const& name, LinkAccPropList const& lapl ) const
H5Location::getObjinfo ( char const* name, H5G_stat_t& statbuf ) const
H5Location::getObjinfo ( char const* name, hbool_t follow_link, H5G_stat_t& statbuf ) const
H5Location::getObjinfo ( std::string const& name, H5G_stat_t& statbuf ) const
H5Location::getObjinfo ( std::string const& name, hbool_t follow_link, H5G_stat_t& statbuf ) const
H5Location::getObjnameByIdx hsize_t idx ) const
H5Location::getObjTypeByIdx hsize_t idx ) const
H5Location::getObjTypeByIdx hsize_t idx, char* type_name ) const
H5Location::getObjTypeByIdx hsize_t idx, std::string& type_name ) const
H5Location::link ( enum H5L_type_t link_type, char const* curr_name, char const* new_name ) const
H5Location::link ( enum H5L_type_t link_type, std::string const& curr_name, std::string const& new_name ) const
H5Location::mount ( char const* name, H5File const& child, PropList const& plist ) const
H5Location::mount ( std::string const& name, H5File const& child, PropList const& plist ) const
H5Location::move char const* src, char const* dst ) const
H5Location::move ( std::string const& src, std::string const& dst ) const
H5Location::openDataSet char const* name ) const
H5Location::openDataSet std::string const& name ) const
H5Location::openGroup char const* name ) const
H5Location::openGroup std::string const& name ) const
H5Location::throwException ( std::string const& func_name, std::string const& msg ) const
H5Location::unlink char const* name ) const
H5Location::unlink std::string const& name ) const
H5Location::unmount char const* name ) const
H5Location::unmount std::string const& name ) const

H5Object.h, libhdf5_cpp.so.101.0.0
namespace H5
H5Object::attrExists char const* name ) const
H5Object::attrExists std::string const& name ) const
H5Object::createAttribute ( char const* name, DataType const& type, DataSpace const& space, PropList const& create_plist ) const
H5Object::createAttribute ( std::string const& name, DataType const& type, DataSpace const& space, PropList const& create_plist ) const
H5Object::iterateAttrs ( void(*user_op)(H5Object&, std::string, void*), unsigned int* idx, void* op_data )
H5Object::objVersion ( ) const
H5Object::openAttribute char const* name ) const
H5Object::openAttribute std::string const& name ) const
H5Object::openAttribute unsigned int const idx ) const
H5Object::removeAttr char const* name ) const
H5Object::removeAttr std::string const& name ) const
H5Object::renameAttr ( char const* oldname, char const* newname ) const
H5Object::renameAttr ( std::string const& oldname, std::string const& newname ) const

H5PLextern.h, libdynlibvers.so
H5PLget_plugin_info ( )
H5PLget_plugin_type ( )

H5PLpublic.h, libhdf5.so.101.0.0
H5PLappend char const* plugin_path )
H5PLget ( unsigned int index, char* pathname, size_t size )
H5PLinsert ( char const* plugin_path, unsigned int index )
H5PLprepend char const* plugin_path )
H5PLremove unsigned int index )
H5PLreplace ( char const* plugin_path, unsigned int index )
H5PLsize unsigned int* listsize )

H5Ppublic.h, libhdf5.so.101.0.0
H5Pget_evict_on_close hid_t fapl_id, hbool_t* evict_on_close )
H5Pget_file_space_page_size hid_t plist_id, hsize_t* fsp_size )
H5Pget_file_space_strategy hid_t plist_id, H5F_fspace_strategy_t* strategy, hbool_t* persist, hsize_t* threshold )
H5Pget_mdc_image_config hid_t plist_id, H5AC_cache_image_config_t* config_ptr )
H5Pget_page_buffer_size hid_t plist_id, size_t* buf_size, unsigned int* min_meta_per, unsigned int* min_raw_per )
H5Pset_evict_on_close hid_t fapl_id, hbool_t evict_on_close )
H5Pset_file_space_page_size hid_t plist_id, hsize_t fsp_size )
H5Pset_file_space_strategy hid_t plist_id, H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold )
H5Pset_mdc_image_config hid_t plist_id, H5AC_cache_image_config_t* config_ptr )
H5Pset_page_buffer_size hid_t plist_id, size_t buf_size, unsigned int min_meta_per, unsigned int min_raw_per )

H5PropList.h, libhdf5_cpp.so.101.0.0
namespace H5
PropList::setProperty ( char const* name, std::string const& strg ) const
PropList::setProperty ( char const* name, void const* value ) const
PropList::setProperty ( std::string const& name, std::string const& strg ) const
PropList::setProperty ( std::string const& name, void const* value ) const

H5StrType.h, libhdf5_cpp.so.101.0.0
namespace H5
StrType::StrType [in-charge] ( H5Location const& loc, char const* name )
StrType::StrType [in-charge] ( H5Location const& loc, std::string const& name )
StrType::StrType [not-in-charge] ( H5Location const& loc, char const* name )
StrType::StrType [not-in-charge] ( H5Location const& loc, std::string const& name )

H5VarLenType.h, libhdf5_cpp.so.101.0.0
namespace H5
VarLenType::VarLenType [in-charge] ( H5Location const& loc, char const* name )
VarLenType::VarLenType [in-charge] ( H5Location const& loc, std::string const& name )
VarLenType::VarLenType [not-in-charge] ( H5Location const& loc, char const* name )
VarLenType::VarLenType [not-in-charge] ( H5Location const& loc, std::string const& name )

to the top

Removed Symbols (61)


H5ArrayType.h, libhdf5_cpp.so.100.0.0
namespace H5
ArrayType::getArrayDims hsize_t* dims )
ArrayType::getArrayNDims ( )
ArrayType::setArrayInfo ( )

H5Attribute.h, libhdf5_cpp.so.100.0.0
namespace H5
Attribute::flush H5F_scope_t scope ) const

H5CommonFG.h, libhdf5_cpp.so.100.0.0
namespace H5
CommonFG::childObjType char const* objname ) const
CommonFG::childObjType hsize_t index, H5_index_t index_type, enum H5_iter_order_t order, char const* objname ) const
CommonFG::childObjVersion char const* objname ) const
CommonFG::createDataSet ( char const* name, DataType const& data_type, DataSpace const& data_space, DSetCreatPropList const& create_plist ) const
CommonFG::getNumObjs ( ) const
CommonFG::getObjinfo ( char const* name, H5G_stat_t& statbuf ) const
CommonFG::getObjinfo ( char const* name, hbool_t follow_link, H5G_stat_t& statbuf ) const
CommonFG::getObjTypeByIdx hsize_t idx ) const
CommonFG::getObjTypeByIdx hsize_t idx, char* type_name ) const
CommonFG::link ( enum H5L_type_t link_type, char const* curr_name, char const* new_name ) const
CommonFG::mount ( char const* name, H5File const& child, PropList const& plist ) const
CommonFG::mount ( char const* name, H5File& child, PropList& plist ) const
CommonFG::move char const* src, char const* dst ) const
CommonFG::openDataSet char const* name ) const
CommonFG::openGroup char const* name ) const
CommonFG::unlink char const* name ) const
CommonFG::unmount char const* name ) const

H5DataSet.h, libhdf5_cpp.so.100.0.0
namespace H5
DataSet::fillMemBuf ( void const* fill, DataType& fill_type, void* buf, DataType& buf_type, DataSpace& space )
DataSet::fillMemBuf void* buf, DataType& buf_type, DataSpace& space )
DataSet::getVlenBufSize ( DataType& type, DataSpace& space ) const

H5DataSpace.h, libhdf5_cpp.so.100.0.0
namespace H5
DataSpace::extentCopy DataSpace& dest_space ) const

H5DataType.h, libhdf5_cpp.so.100.0.0
namespace H5
DataType::commit ( H5Location& loc, char const* name )
DataType::commit ( H5Location& loc, std::string const& name )
DataType::DataType [in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )
DataType::DataType [not-in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )

H5DcreatProp.h, libhdf5_cpp.so.100.0.0
namespace H5
DSetCreatPropList::allFiltersAvail ( )
DSetCreatPropList::getAllocTime ( )
DSetCreatPropList::getFillTime ( )
DSetCreatPropList::isFillValueDefined ( )
DSetCreatPropList::setAllocTime H5D_alloc_time_t alloc_time )
DSetCreatPropList::setFillTime H5D_fill_time_t fill_time )

H5DxferProp.h, libhdf5_cpp.so.100.0.0
namespace H5
DSetMemXferPropList::getEDCCheck ( )
DSetMemXferPropList::getHyperVectorSize ( )
DSetMemXferPropList::getSmallDataBlockSize ( )
DSetMemXferPropList::setEDCCheck H5Z_EDC_t check )
DSetMemXferPropList::setSmallDataBlockSize hsize_t size )

H5FaccProp.h, libhdf5_cpp.so.100.0.0
namespace H5
FileAccPropList::getFcloseDegree ( )
FileAccPropList::setFcloseDegree H5F_close_degree_t degree )
FileAccPropList::setSplit ( FileAccPropList& meta_plist, FileAccPropList& raw_plist, char const* meta_ext, char const* raw_ext ) const
FileAccPropList::setSplit ( FileAccPropList& meta_plist, FileAccPropList& raw_plist, std::string const& meta_ext, std::string const& raw_ext ) const

H5File.h, libhdf5_cpp.so.100.0.0
namespace H5
H5File::getVFDHandle ( FileAccPropList& fapl, void** file_handle ) const

H5Group.h, libhdf5_cpp.so.100.0.0
namespace H5
Group::Group [in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )
Group::Group [not-in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )

H5Library.h, libhdf5_cpp.so.100.0.0
namespace H5
H5Library::need_cleanup [data]

H5Location.h, libhdf5_cpp.so.100.0.0
namespace H5
H5Location::attrExists char const* name ) const
H5Location::attrExists std::string const& name ) const
H5Location::createAttribute ( char const* name, DataType const& type, DataSpace const& space, PropList const& create_plist ) const
H5Location::createAttribute ( std::string const& name, DataType const& type, DataSpace const& space, PropList const& create_plist ) const
H5Location::dereference ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )
H5Location::iterateAttrs ( void(*user_op)(H5Location&, std::string, void*), unsigned int* idx, void* op_data )
H5Location::openAttribute char const* name ) const
H5Location::openAttribute std::string const& name ) const
H5Location::openAttribute unsigned int const idx ) const
H5Location::removeAttr char const* name ) const
H5Location::removeAttr std::string const& name ) const
H5Location::renameAttr ( char const* oldname, char const* newname ) const
H5Location::renameAttr ( std::string const& oldname, std::string const& newname ) const

to the top

Problems with Data Types, High Severity (8)


H5FDpublic.h
[+] struct H5FD_t (1)

H5File.h
namespace H5
[+] class H5File (3)

H5Location.h
namespace H5
[+] class H5Location (1)

H5Object.h
namespace H5
[+] class H5Object (2)

H5public.h
[+] typedef haddr_t (1)

to the top

Problems with Symbols, High Severity (18)


H5ArrayType.h, libhdf5_cpp.so.100.0.0
namespace H5
[+] ArrayType::getArrayDims hsize_t* dims ) (1)
[+] ArrayType::getArrayNDims ( ) (1)

H5DataType.h, libhdf5_cpp.so.100.0.0
namespace H5
[+] DataType::DataType [in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist ) (1)
[+] DataType::DataType [not-in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist ) (1)

H5DcreatProp.h, libhdf5_cpp.so.100.0.0
namespace H5
[+] DSetCreatPropList::allFiltersAvail ( ) (1)
[+] DSetCreatPropList::getAllocTime ( ) (1)
[+] DSetCreatPropList::getFillTime ( ) (1)
[+] DSetCreatPropList::isFillValueDefined ( ) (1)
[+] DSetCreatPropList::setAllocTime H5D_alloc_time_t alloc_time ) (1)
[+] DSetCreatPropList::setFillTime H5D_fill_time_t fill_time ) (1)

H5DxferProp.h, libhdf5_cpp.so.100.0.0
namespace H5
[+] DSetMemXferPropList::getEDCCheck ( ) (1)
[+] DSetMemXferPropList::getHyperVectorSize ( ) (1)
[+] DSetMemXferPropList::getSmallDataBlockSize ( ) (1)
[+] DSetMemXferPropList::setEDCCheck H5Z_EDC_t check ) (1)
[+] DSetMemXferPropList::setSmallDataBlockSize hsize_t size ) (1)

H5FaccProp.h, libhdf5_cpp.so.100.0.0
namespace H5
[+] FileAccPropList::getFcloseDegree ( ) (1)
[+] FileAccPropList::setFcloseDegree H5F_close_degree_t degree ) (1)

H5FDpublic.h, libhdf5.so.100.0.1
[+] H5FDflush H5FD_t* file, hid_t dxpl_id, unsigned int closing ) (1)

to the top

Problems with Data Types, Medium Severity (8)


H5FDpublic.h
[+] struct H5FD_class_t (1)
[+] struct H5FD_t (2)

H5Fpublic.h
[+] struct H5F_sect_info_t (1)

H5Location.h
namespace H5
[+] class H5Location (1)

H5Lpublic.h
[+] struct H5L_info_t (1)
[+] union H5L_info_t::anon-union-H5Lpublic.h-80 (1)

H5Opublic.h
[+] struct H5O_info_t (1)

to the top

Problems with Symbols, Medium Severity (1)


H5Ppublic.h, libhdf5.so.100.0.1
[+] H5Pget_driver_info hid_t plist_id ) (1)

to the top

Problems with Data Types, Low Severity (14)


H5ArrayType.h
namespace H5
[+] class ArrayType (3)

H5FDpublic.h
[+] struct H5FD_class_t (2)
[+] struct H5FD_t (3)

H5Fpublic.h
[+] struct H5F_sect_info_t (1)

H5Lpublic.h
[+] struct H5L_info_t (1)
[+] union H5L_info_t::anon-union-H5Lpublic.h-80 (1)

H5Opublic.h
[+] struct H5O_info_t (1)

H5public.h
[+] typedef haddr_t (2)

to the top

Problems with Symbols, Low Severity (5)


H5Object.h, libhdf5_cpp.so.100.0.0
namespace H5
[+] H5Object::~H5Object [not-in-charge] ( ) (1)
[+] H5Object::~H5Object [in-charge] ( ) (1)
[+] H5Object::~H5Object [in-charge-deleting] ( ) (1)

H5Ppublic.h, libhdf5.so.100.0.1
[+] H5Pget_driver_info hid_t plist_id ) (1)
[+] H5Pset hid_t plist_id, char const* name, void* value ) (1)

to the top

Problems with Constants, Low Severity (19)


H5FDlog.h
[+] H5FD_LOG_ALLOC
[+] H5FD_LOG_FILE_READ
[+] H5FD_LOG_FILE_WRITE
[+] H5FD_LOG_FLAVOR
[+] H5FD_LOG_LOC_READ
[+] H5FD_LOG_LOC_SEEK
[+] H5FD_LOG_LOC_WRITE
[+] H5FD_LOG_NUM_READ
[+] H5FD_LOG_NUM_SEEK
[+] H5FD_LOG_NUM_TRUNCATE
[+] H5FD_LOG_NUM_WRITE
[+] H5FD_LOG_TIME_CLOSE
[+] H5FD_LOG_TIME_OPEN
[+] H5FD_LOG_TIME_READ
[+] H5FD_LOG_TIME_SEEK
[+] H5FD_LOG_TIME_STAT
[+] H5FD_LOG_TIME_WRITE

H5public.h
[+] H5_VERS_SUBRELEASE
[+] HADDR_UNDEF

to the top

Other Changes in Symbols (2)


H5Location.h, libhdf5_cpp.so.100.0.0
namespace H5
[+] H5Location::H5Location [in-charge] ( ) (1)
[+] H5Location::H5Location [not-in-charge] ( ) (1)

to the top

Other Changes in Constants (16)


H5ACpublic.h
[+] H5AC__CACHE_IMAGE__ENTRY_AGEOUT__MAX
[+] H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE

H5FDlog.h
[+] H5FD_LOG_FREE
[+] H5FD_LOG_META_IO
[+] H5FD_LOG_TIME_TRUNCATE
[+] H5FD_LOG_TRUNCATE

H5FDpublic.h
[+] H5FD_FEAT_PAGED_AGGR
[+] H5FD_FEAT_USE_ALLOC_SIZE

H5pubconf.h
[+] H5_HAVE_LLROUND
[+] H5_HAVE_LLROUNDF
[+] H5_HAVE_LROUND
[+] H5_HAVE_LROUNDF
[+] H5_HAVE_ROUND
[+] H5_HAVE_ROUNDF
[+] H5_HAVE_STRTOLL
[+] H5_HAVE_STRTOULL

to the top

Header Files (78)


H5AbstractDs.h
H5ACpublic.h
H5api_adpt.h
H5Apublic.h
H5ArrayType.h
H5AtomType.h
H5Attribute.h
H5Classes.h
H5CommonFG.h
H5CompType.h
H5Cpp.h
H5CppDoc.h
H5Cpublic.h
H5DataSet.h
H5DataSpace.h
H5DataType.h
H5DcreatProp.h
H5DOpublic.h
H5Dpublic.h
H5DSpublic.h
H5DxferProp.h
H5EnumType.h
H5Epubgen.h
H5Epublic.h
H5Exception.h
H5f90i.h
H5f90i_gen.h
H5FaccProp.h
H5FcreatProp.h
H5FDcore.h
H5FDdirect.h
H5FDfamily.h
H5FDlog.h
H5FDmpi.h
H5FDmpio.h
H5FDmulti.h
H5FDpublic.h
H5FDsec2.h
H5FDstdio.h
H5File.h
H5FloatType.h
H5Fpublic.h
H5Gpublic.h
H5Group.h
H5IdComponent.h
H5IMpublic.h
H5Include.h
H5IntType.h
H5Ipublic.h
H5LDpublic.h
H5Library.h
H5Location.h
H5Lpublic.h
H5LTpublic.h
H5MMpublic.h
H5Object.h
H5OcreatProp.h
H5Opublic.h
H5overflow.h
H5PacketTable.h
H5PLextern.h
H5PLpublic.h
H5Ppublic.h
H5PredType.h
H5PropList.h
H5PTpublic.h
H5pubconf.h
H5public.h
H5Rpublic.h
H5Spublic.h
H5StrType.h
H5TBpublic.h
H5Tpublic.h
H5VarLenType.h
H5version.h
H5Zpublic.h
hdf5.h
hdf5_hl.h

to the top

Shared Libraries (9)


libhdf5.so.100.0.1
libhdf5_cpp.so.100.0.0
libhdf5_fortran.so.100.0.1
libhdf5_hl.so.100.0.0
libhdf5_hl_cpp.so.100.0.0
libhdf5_java.so.100.0.0
libhdf5hl_fortran.so.100.0.0
libsz.so.2.0.0
libz.so.1.2.5

to the top



Test Info


Library Namehdf5
Version #11.10.0-patch1
Version #21.10.1
CPU Typex86
GCC Version4.1.2
SubjectSource Compatibility

Test Results


Total Header Files78
Total Shared Libraries9
Total Symbols / Types1930 / 571
VerdictIncompatible
(6.3%)

Problem Summary


SeverityCount
Added Symbols-154
Removed SymbolsHigh66
Problems with
Data Types
High5
Medium0
Low6
Problems with
Symbols
High0
Medium6
Low1
Problems with
Constants
Low26
Other Changes
in Symbols
-20
Other Changes
in Constants
-23

Added Symbols (154)


H5CompType.h
namespace H5
CompType::CompType [in-charge] ( H5Location const& loc, char const* name )
CompType::CompType [in-charge] ( H5Location const& loc, int const H5std_string )
CompType::CompType [not-in-charge] ( H5Location const& loc, char const* name )
CompType::CompType [not-in-charge] ( H5Location const& loc, int const H5std_string )

H5DataType.h
namespace H5
DataType::DataType [in-charge] ( H5Location const& loc, char const* name )
DataType::DataType [in-charge] ( H5Location const& loc, std::string const& name )
DataType::DataType [not-in-charge] ( H5Location const& loc, char const* name )
DataType::DataType [not-in-charge] ( H5Location const& loc, std::string const& name )
DataType::getCreatePlist ( ) const
DataType::p_opentype ( H5Location const& loc, char const* dtype_name ) const

H5DcreatProp.h
namespace H5
DSetCreatPropList::setNbit ( ) const
DSetCreatPropList::setVirtual ( DataSpace const& vspace, char const* src_fname, char const* src_dsname, DataSpace const& sspace ) const
DSetCreatPropList::setVirtual ( DataSpace const& vspace, std::string const src_fname, std::string const src_dsname, DataSpace const& sspace ) const

H5EnumType.h
namespace H5
EnumType::EnumType [in-charge] ( H5Location const& loc, char const* name )
EnumType::EnumType [in-charge] ( H5Location const& loc, std::string const& name )
EnumType::EnumType [not-in-charge] ( H5Location const& loc, char const* name )
EnumType::EnumType [not-in-charge] ( H5Location const& loc, std::string const& name )

H5Epubgen.h
H5E_CANTCLEAN_g [data]
H5E_CANTMARKCLEAN_g [data]
H5E_CANTMARKSERIALIZED_g [data]
H5E_CANTMARKUNSERIALIZED_g [data]
H5E_CANTUNSERIALIZE_g [data]
H5E_PAGEBUF_g [data]

H5Exception.h
namespace H5
ObjHeaderIException::ObjHeaderIException [in-charge] ( )
ObjHeaderIException::ObjHeaderIException [in-charge] ( std::string const& func_name, std::string const& message )
ObjHeaderIException::ObjHeaderIException [not-in-charge] ( )
ObjHeaderIException::ObjHeaderIException [not-in-charge] ( std::string const& func_name, std::string const& message )
ObjHeaderIException::~ObjHeaderIException [in-charge-deleting] ( )
ObjHeaderIException::~ObjHeaderIException [in-charge] ( )
ObjHeaderIException::~ObjHeaderIException [not-in-charge] ( )

H5FaccProp.h
namespace H5
FileAccPropList::getFileAccDirect ( size_t& boundary, size_t& block_size, size_t& cbuf_size ) const
FileAccPropList::setFileAccDirect size_t boundary, size_t block_size, size_t cbuf_size ) const

H5FcreatProp.h
namespace H5
FileCreatPropList::getFileSpacePagesize ( ) const
FileCreatPropList::getFileSpaceStrategy ( H5F_fspace_strategy_t& strategy, hbool_t& persist, hsize_t& threshold ) const
FileCreatPropList::setFileSpacePagesize hsize_t fsp_psize ) const
FileCreatPropList::setFileSpaceStrategy ( H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold ) const

H5File.h
namespace H5
H5File::getFileInfo H5F_info2_t& file_info ) const

H5FloatType.h
namespace H5
FloatType::FloatType [in-charge] ( H5Location const& loc, char const* name )
FloatType::FloatType [in-charge] ( H5Location const& loc, std::string const& name )
FloatType::FloatType [not-in-charge] ( H5Location const& loc, char const* name )
FloatType::FloatType [not-in-charge] ( H5Location const& loc, std::string const& name )

H5Fpublic.h
H5Fget_mdc_image_info hid_t file_id, unsigned long* image_addr, hsize_t* image_size )
H5Fget_page_buffering_stats hid_t file_id, unsigned int* accesses, unsigned int* hits, unsigned int* misses, unsigned int* evictions, unsigned int* bypasses )
H5Freset_page_buffering_stats hid_t file_id )
H5Fset_latest_format hid_t file_id, hbool_t latest_format )

H5Group.h
namespace H5
Group::closeObjId hid_t obj_id ) const
Group::getNumObjs ( ) const
Group::getObjId ( char const* name, PropList const& plist ) const
Group::getObjId ( std::string const& name, PropList const& plist ) const

H5IdComponent.h
namespace H5
IdComponent::getNumMembers H5I_type_t type ) [static]
IdComponent::isValid hid_t an_id ) [static]
IdComponent::typeExists H5I_type_t type ) [static]

H5IntType.h
namespace H5
IntType::IntType [in-charge] ( H5Location const& loc, char const* name )
IntType::IntType [in-charge] ( H5Location const& loc, std::string const& name )
IntType::IntType [not-in-charge] ( H5Location const& loc, char const* name )
IntType::IntType [not-in-charge] ( H5Location const& loc, std::string const& name )

H5LaccProp.h
namespace H5
LinkAccPropList::DEFAULT [data]
LinkAccPropList::deleteConstants ( ) [static]
LinkAccPropList::fromClass ( ) const
LinkAccPropList::getNumLinks ( ) const
LinkAccPropList::LinkAccPropList [in-charge] ( )
LinkAccPropList::LinkAccPropList [in-charge] LinkAccPropList const& original )
LinkAccPropList::LinkAccPropList [in-charge] hid_t const plist_id )
LinkAccPropList::LinkAccPropList [not-in-charge] ( )
LinkAccPropList::LinkAccPropList [not-in-charge] LinkAccPropList const& original )
LinkAccPropList::LinkAccPropList [not-in-charge] hid_t const plist_id )
LinkAccPropList::setNumLinks size_t nlinks ) const
LinkAccPropList::~LinkAccPropList [in-charge-deleting] ( )
LinkAccPropList::~LinkAccPropList [in-charge] ( )
LinkAccPropList::~LinkAccPropList [not-in-charge] ( )

H5Location.h
namespace H5
H5Location::childObjType char const* objname ) const
H5Location::childObjType hsize_t index, H5_index_t index_type, enum H5_iter_order_t order, char const* objname ) const
H5Location::childObjType std::string const& objname ) const
H5Location::childObjVersion char const* objname ) const
H5Location::childObjVersion std::string const& objname ) const
H5Location::createDataSet ( char const* name, DataType const& data_type, DataSpace const& data_space, DSetCreatPropList const& create_plist ) const
H5Location::createDataSet ( std::string const& name, DataType const& data_type, DataSpace const& data_space, DSetCreatPropList const& create_plist ) const
H5Location::createGroup ( char const* name, size_t size_hint ) const
H5Location::createGroup ( std::string const& name, size_t size_hint ) const
H5Location::exists ( char const* name, LinkAccPropList const& lapl ) const
H5Location::exists ( std::string const& name, LinkAccPropList const& lapl ) const
H5Location::getLinkval ( char const* link_name, size_t size ) const
H5Location::getLinkval ( std::string const& link_name, size_t size ) const
H5Location::getObjinfo ( char const* name, H5G_stat_t& statbuf ) const
H5Location::getObjinfo ( char const* name, hbool_t follow_link, H5G_stat_t& statbuf ) const
H5Location::getObjinfo ( std::string const& name, H5G_stat_t& statbuf ) const
H5Location::getObjinfo ( std::string const& name, hbool_t follow_link, H5G_stat_t& statbuf ) const
H5Location::getObjnameByIdx hsize_t idx ) const
H5Location::getObjnameByIdx hsize_t idx, char* name, size_t size ) const
H5Location::getObjnameByIdx hsize_t idx, std::string& name, size_t size ) const
H5Location::getObjTypeByIdx hsize_t idx ) const
H5Location::getObjTypeByIdx hsize_t idx, char* type_name ) const
H5Location::getObjTypeByIdx hsize_t idx, std::string& type_name ) const
H5Location::iterateElems ( char const* name, int* idx, H5G_iterate_t op, void* op_data )
H5Location::iterateElems ( std::string const& name, int* idx, H5G_iterate_t op, void* op_data )
H5Location::link ( enum H5L_type_t link_type, char const* curr_name, char const* new_name ) const
H5Location::link ( enum H5L_type_t link_type, std::string const& curr_name, std::string const& new_name ) const
H5Location::mount ( char const* name, H5File const& child, PropList const& plist ) const
H5Location::mount ( std::string const& name, H5File const& child, PropList const& plist ) const
H5Location::move char const* src, char const* dst ) const
H5Location::move ( std::string const& src, std::string const& dst ) const
H5Location::openDataSet char const* name ) const
H5Location::openDataSet std::string const& name ) const
H5Location::openGroup char const* name ) const
H5Location::openGroup std::string const& name ) const
H5Location::throwException ( std::string const& func_name, std::string const& msg ) const
H5Location::unlink char const* name ) const
H5Location::unlink std::string const& name ) const
H5Location::unmount char const* name ) const
H5Location::unmount std::string const& name ) const

H5Object.h
namespace H5
H5Object::attrExists char const* name ) const
H5Object::attrExists std::string const& name ) const
H5Object::createAttribute ( char const* name, DataType const& type, DataSpace const& space, PropList const& create_plist ) const
H5Object::createAttribute ( std::string const& name, DataType const& type, DataSpace const& space, PropList const& create_plist ) const
H5Object::iterateAttrs ( void(*user_op)(H5Object&, std::string, void*), unsigned int* idx, void* op_data )
H5Object::objVersion ( ) const
H5Object::openAttribute char const* name ) const
H5Object::openAttribute std::string const& name ) const
H5Object::openAttribute unsigned int const idx ) const
H5Object::removeAttr char const* name ) const
H5Object::removeAttr std::string const& name ) const
H5Object::renameAttr ( char const* oldname, char const* newname ) const
H5Object::renameAttr ( std::string const& oldname, std::string const& newname ) const

H5PacketTable.h
FL_PacketTable::FL_PacketTable [in-charge] hid_t fileID, char const* name, hid_t dtypeID, hsize_t chunkSize, hid_t plistID )
FL_PacketTable::FL_PacketTable [not-in-charge] hid_t fileID, char const* name, hid_t dtypeID, hsize_t chunkSize, hid_t plistID )

H5PLpublic.h
H5PLappend char const* plugin_path )
H5PLget ( unsigned int index, char* pathname, size_t size )
H5PLinsert ( char const* plugin_path, unsigned int index )
H5PLprepend char const* plugin_path )
H5PLremove unsigned int index )
H5PLreplace ( char const* plugin_path, unsigned int index )
H5PLsize unsigned int* listsize )

H5Ppublic.h
H5Pget_evict_on_close hid_t fapl_id, hbool_t* evict_on_close )
H5Pget_file_space_page_size hid_t plist_id, hsize_t* fsp_size )
H5Pget_file_space_strategy hid_t plist_id, H5F_fspace_strategy_t* strategy, hbool_t* persist, hsize_t* threshold )
H5Pget_mdc_image_config hid_t plist_id, H5AC_cache_image_config_t* config_ptr )
H5Pget_page_buffer_size hid_t plist_id, size_t* buf_size, unsigned int* min_meta_per, unsigned int* min_raw_per )
H5Pset_evict_on_close hid_t fapl_id, hbool_t evict_on_close )
H5Pset_file_space_page_size hid_t plist_id, hsize_t fsp_size )
H5Pset_file_space_strategy hid_t plist_id, H5F_fspace_strategy_t strategy, hbool_t persist, hsize_t threshold )
H5Pset_mdc_image_config hid_t plist_id, H5AC_cache_image_config_t* config_ptr )
H5Pset_page_buffer_size hid_t plist_id, size_t buf_size, unsigned int min_meta_per, unsigned int min_raw_per )

H5PropList.h
namespace H5
PropList::setProperty ( char const* name, std::string const& strg ) const
PropList::setProperty ( char const* name, void const* value ) const
PropList::setProperty ( std::string const& name, std::string const& strg ) const
PropList::setProperty ( std::string const& name, void const* value ) const

H5StrType.h
namespace H5
StrType::StrType [in-charge] ( H5Location const& loc, char const* name )
StrType::StrType [in-charge] ( H5Location const& loc, std::string const& name )
StrType::StrType [not-in-charge] ( H5Location const& loc, char const* name )
StrType::StrType [not-in-charge] ( H5Location const& loc, std::string const& name )

H5VarLenType.h
namespace H5
VarLenType::VarLenType [in-charge] ( H5Location const& loc, char const* name )
VarLenType::VarLenType [in-charge] ( H5Location const& loc, std::string const& name )
VarLenType::VarLenType [not-in-charge] ( H5Location const& loc, char const* name )
VarLenType::VarLenType [not-in-charge] ( H5Location const& loc, std::string const& name )

to the top

Removed Symbols (66)


H5ArrayType.h
namespace H5
ArrayType::setArrayInfo ( )

H5Attribute.h
namespace H5
Attribute::flush H5F_scope_t scope ) const

H5CommonFG.h
namespace H5
CommonFG::childObjType char const* objname ) const
CommonFG::childObjType hsize_t index, H5_index_t index_type, enum H5_iter_order_t order, char const* objname ) const
CommonFG::childObjType int const H5std_string ) const
CommonFG::childObjVersion char const* objname ) const
CommonFG::childObjVersion int const H5std_string ) const
CommonFG::createDataSet ( char const* name, DataType const& data_type, DataSpace const& data_space, DSetCreatPropList const& create_plist ) const
CommonFG::createDataSet int const H5std_string ) const
CommonFG::createGroup ( char const* name, size_t size_hint ) const
CommonFG::createGroup int const H5std_string ) const
CommonFG::getNumObjs ( ) const
CommonFG::getObjinfo ( char const* name, H5G_stat_t& statbuf ) const
CommonFG::getObjinfo ( char const* name, hbool_t follow_link, H5G_stat_t& statbuf ) const
CommonFG::getObjinfo int const H5std_string ) const
CommonFG::getObjnameByIdx hsize_t idx, char* name, size_t size ) const
CommonFG::getObjnameByIdx hsize_t idx, int& name, size_t size ) const
CommonFG::getObjTypeByIdx hsize_t idx ) const
CommonFG::getObjTypeByIdx hsize_t idx, char* type_name ) const
CommonFG::getObjTypeByIdx hsize_t idx, int& type_name ) const
CommonFG::iterateElems ( char const* name, int* idx, H5G_iterate_t op, void* op_data )
CommonFG::iterateElems int const H5std_string )
CommonFG::link ( enum H5L_type_t link_type, char const* curr_name, char const* new_name ) const
CommonFG::link ( enum H5L_type_t link_type, int const H5std_string ) const
CommonFG::mount ( char const* name, H5File const& child, PropList const& plist ) const
CommonFG::mount ( char const* name, H5File& child, PropList& plist ) const
CommonFG::mount int const H5std_string ) const
CommonFG::move char const* src, char const* dst ) const
CommonFG::move int const H5std_string ) const
CommonFG::openDataSet char const* name ) const
CommonFG::openDataSet int const H5std_string ) const
CommonFG::openGroup char const* name ) const
CommonFG::openGroup int const H5std_string ) const
CommonFG::unlink char const* name ) const
CommonFG::unlink int const H5std_string ) const
CommonFG::unmount char const* name ) const
CommonFG::unmount int const H5std_string ) const

H5DataSet.h
namespace H5
DataSet::fillMemBuf ( void const* fill, DataType& fill_type, void* buf, DataType& buf_type, DataSpace& space )
DataSet::fillMemBuf void* buf, DataType& buf_type, DataSpace& space )
DataSet::getVlenBufSize ( DataType& type, DataSpace& space ) const

H5DataSpace.h
namespace H5
DataSpace::extentCopy DataSpace& dest_space ) const

H5DataType.h
namespace H5
DataType::commit ( H5Location& loc, char const* name )
DataType::commit ( H5Location& loc, std::string const& name )
DataType::DataType [in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )
DataType::DataType [not-in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )

H5FaccProp.h
namespace H5
FileAccPropList::setSplit ( FileAccPropList& meta_plist, FileAccPropList& raw_plist, char const* meta_ext, char const* raw_ext ) const
FileAccPropList::setSplit ( FileAccPropList& meta_plist, FileAccPropList& raw_plist, std::string const& meta_ext, std::string const& raw_ext ) const

H5File.h
namespace H5
H5File::getVFDHandle ( FileAccPropList& fapl, void** file_handle ) const

H5Group.h
namespace H5
Group::Group [in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )
Group::Group [not-in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )

H5IdComponent.h
namespace H5
IdComponent::IdComponent [in-charge] hid_t const h5_id )
IdComponent::IdComponent [not-in-charge] hid_t const h5_id )

H5Library.h
namespace H5
H5Library::need_cleanup [data]

H5Location.h
namespace H5
H5Location::attrExists char const* name ) const
H5Location::attrExists std::string const& name ) const
H5Location::createAttribute ( char const* name, DataType const& type, DataSpace const& space, PropList const& create_plist ) const
H5Location::createAttribute ( std::string const& name, DataType const& type, DataSpace const& space, PropList const& create_plist ) const
H5Location::dereference ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist )
H5Location::iterateAttrs ( void(*user_op)(H5Location&, std::string, void*), unsigned int* idx, void* op_data )
H5Location::openAttribute char const* name ) const
H5Location::openAttribute std::string const& name ) const
H5Location::openAttribute unsigned int const idx ) const
H5Location::removeAttr char const* name ) const
H5Location::removeAttr std::string const& name ) const
H5Location::renameAttr ( char const* oldname, char const* newname ) const
H5Location::renameAttr ( std::string const& oldname, std::string const& newname ) const

to the top

Problems with Data Types, High Severity (5)


H5FDpublic.h
[+] struct H5FD_t (1)

H5Location.h
namespace H5
[+] class H5Location (2)

H5Object.h
namespace H5
[+] class H5Object (2)

to the top

Problems with Symbols, Medium Severity (6)


H5DataType.h
namespace H5
[+] DataType::DataType [in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist ) (1)
[+] DataType::DataType [not-in-charge] ( Attribute const& attr, void const* ref, enum H5R_type_t ref_type, PropList const& plist ) (1)

H5Object.h
namespace H5
[+] H5Object::~H5Object [not-in-charge] ( ) (1)
[+] H5Object::~H5Object [in-charge] ( ) (1)
[+] H5Object::~H5Object [in-charge-deleting] ( ) (1)

H5Ppublic.h
[+] H5Pget_driver_info hid_t plist_id ) (1)

to the top

Problems with Data Types, Low Severity (6)


H5FDpublic.h
[+] struct H5FD_class_t (1)
[+] struct H5FD_t (2)

H5File.h
namespace H5
[+] class H5File (2)

H5public.h
[+] typedef haddr_t (1)

to the top

Problems with Symbols, Low Severity (1)


H5FDpublic.h
[+] H5FDflush H5FD_t* file, hid_t dxpl_id, unsigned int closing ) (1)

to the top

Problems with Constants, Low Severity (26)


H5FDlog.h
[+] H5FD_LOG_ALL
[+] H5FD_LOG_ALLOC
[+] H5FD_LOG_FILE_READ
[+] H5FD_LOG_FILE_WRITE
[+] H5FD_LOG_FLAVOR
[+] H5FD_LOG_LOC_READ
[+] H5FD_LOG_LOC_SEEK
[+] H5FD_LOG_LOC_WRITE
[+] H5FD_LOG_NUM_READ
[+] H5FD_LOG_NUM_SEEK
[+] H5FD_LOG_NUM_TRUNCATE
[+] H5FD_LOG_NUM_WRITE
[+] H5FD_LOG_TIME_CLOSE
[+] H5FD_LOG_TIME_IO
[+] H5FD_LOG_TIME_OPEN
[+] H5FD_LOG_TIME_READ
[+] H5FD_LOG_TIME_SEEK
[+] H5FD_LOG_TIME_STAT
[+] H5FD_LOG_TIME_WRITE

H5pubconf.h
[+] H5_PACKAGE_STRING
[+] H5_PACKAGE_VERSION
[+] H5_VERSION

H5public.h
[+] H5_VERS_INFO
[+] H5_VERS_RELEASE
[+] H5_VERS_SUBRELEASE
[+] HADDR_UNDEF

to the top

Other Changes in Symbols (20)


H5ArrayType.h
namespace H5
[+] ArrayType::getArrayDims hsize_t* dims ) (1)
[+] ArrayType::getArrayNDims ( ) (1)

H5DcreatProp.h
namespace H5
[+] DSetCreatPropList::allFiltersAvail ( ) (1)
[+] DSetCreatPropList::getAllocTime ( ) (1)
[+] DSetCreatPropList::getFillTime ( ) (1)
[+] DSetCreatPropList::isFillValueDefined ( ) (1)
[+] DSetCreatPropList::setAllocTime H5D_alloc_time_t alloc_time ) (1)
[+] DSetCreatPropList::setFillTime H5D_fill_time_t fill_time ) (1)

H5DxferProp.h
namespace H5
[+] DSetMemXferPropList::getEDCCheck ( ) (1)
[+] DSetMemXferPropList::getHyperVectorSize ( ) (1)
[+] DSetMemXferPropList::getSmallDataBlockSize ( ) (1)
[+] DSetMemXferPropList::setEDCCheck H5Z_EDC_t check ) (1)
[+] DSetMemXferPropList::setHyperVectorSize size_t vector_size ) (1)
[+] DSetMemXferPropList::setSmallDataBlockSize hsize_t size ) (1)

H5FaccProp.h
namespace H5
[+] FileAccPropList::getFcloseDegree ( ) (1)
[+] FileAccPropList::setFcloseDegree H5F_close_degree_t degree ) (1)

H5Location.h
namespace H5
[+] H5Location::H5Location [in-charge] ( ) (1)
[+] H5Location::H5Location [not-in-charge] ( ) (1)

H5PacketTable.h
[+] FL_PacketTable::FL_PacketTable [in-charge] hid_t fileID, char* name, hid_t dtypeID, hsize_t chunkSize, int compression ) (1)
[+] FL_PacketTable::FL_PacketTable [not-in-charge] hid_t fileID, char* name, hid_t dtypeID, hsize_t chunkSize, int compression ) (1)

to the top

Other Changes in Constants (23)


H5ACpublic.h
[+] H5AC__CACHE_IMAGE__ENTRY_AGEOUT__MAX
[+] H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE
[+] H5AC__CURR_CACHE_IMAGE_CONFIG_VERSION

H5Epubgen.h
[+] H5E_CANTCLEAN
[+] H5E_CANTMARKCLEAN
[+] H5E_CANTMARKSERIALIZED
[+] H5E_CANTMARKUNSERIALIZED
[+] H5E_CANTUNSERIALIZE
[+] H5E_PAGEBUF

H5FDlog.h
[+] H5FD_LOG_FREE
[+] H5FD_LOG_META_IO
[+] H5FD_LOG_TIME_TRUNCATE
[+] H5FD_LOG_TRUNCATE

H5FDpublic.h
[+] H5FD_FEAT_PAGED_AGGR
[+] H5FD_FEAT_USE_ALLOC_SIZE

H5pubconf.h
[+] H5_HAVE_LLROUND
[+] H5_HAVE_LLROUNDF
[+] H5_HAVE_LROUND
[+] H5_HAVE_LROUNDF
[+] H5_HAVE_ROUND
[+] H5_HAVE_ROUNDF
[+] H5_HAVE_STRTOLL
[+] H5_HAVE_STRTOULL

to the top

Header Files (78)


H5AbstractDs.h
H5ACpublic.h
H5api_adpt.h
H5Apublic.h
H5ArrayType.h
H5AtomType.h
H5Attribute.h
H5Classes.h
H5CommonFG.h
H5CompType.h
H5Cpp.h
H5CppDoc.h
H5Cpublic.h
H5DataSet.h
H5DataSpace.h
H5DataType.h
H5DcreatProp.h
H5DOpublic.h
H5Dpublic.h
H5DSpublic.h
H5DxferProp.h
H5EnumType.h
H5Epubgen.h
H5Epublic.h
H5Exception.h
H5f90i.h
H5f90i_gen.h
H5FaccProp.h
H5FcreatProp.h
H5FDcore.h
H5FDdirect.h
H5FDfamily.h
H5FDlog.h
H5FDmpi.h
H5FDmpio.h
H5FDmulti.h
H5FDpublic.h
H5FDsec2.h
H5FDstdio.h
H5File.h
H5FloatType.h
H5Fpublic.h
H5Gpublic.h
H5Group.h
H5IdComponent.h
H5IMpublic.h
H5Include.h
H5IntType.h
H5Ipublic.h
H5LDpublic.h
H5Library.h
H5Location.h
H5Lpublic.h
H5LTpublic.h
H5MMpublic.h
H5Object.h
H5OcreatProp.h
H5Opublic.h
H5overflow.h
H5PacketTable.h
H5PLextern.h
H5PLpublic.h
H5Ppublic.h
H5PredType.h
H5PropList.h
H5PTpublic.h
H5pubconf.h
H5public.h
H5Rpublic.h
H5Spublic.h
H5StrType.h
H5TBpublic.h
H5Tpublic.h
H5VarLenType.h
H5version.h
H5Zpublic.h
hdf5.h
hdf5_hl.h

to the top

Shared Libraries (9)


libhdf5.so.100.0.1
libhdf5_cpp.so.100.0.0
libhdf5_fortran.so.100.0.1
libhdf5_hl.so.100.0.0
libhdf5_hl_cpp.so.100.0.0
libhdf5_java.so.100.0.0
libhdf5hl_fortran.so.100.0.0
libsz.so.2.0.0
libz.so.1.2.5

to the top



Generated on Thu Apr 27 10:50:13 2017 for hdf5 by ABI Compliance Checker 1.99.9  
A tool for checking backward compatibility of a C/C++ library API  

In the C interface, the hid_t change from 32-bit to 64-bit was made in order to address a performance problem that arose when the library “ran out” of valid object identifiers to issue and thus needed to employ an expensive algorithm to find previously issued identifiers that could be re-issued. This problem is avoided by switching the size of the hid_t type to 64-bit integers instead of 32-bit integers in order to make the pool of available integers significantly larger. (H5E_major_t and H5E_minor_t are aliased to hid_t which is why they changed size as well). (An alternate solution to this problem was applied in release HDF5 1.8.5 but this is the cleaner/preferred solution and had to wait until 1.10.0 to be included).

hbool_t will now be defined as a _Bool type when configure determines that it’s available.

Public structs that have members of type hid_t or hbool_t are affected by the above changes accordingly.

The H5Fget_info function was renamed due to the introduction of a newer version of the function which returns additional information. The H5Rdereference function was renamed due to the introduction of a newer version of the function which allows a data access property list to be passed in. Both changes are accompanied with compatibility macros, so while existing code will need to be recompiled in order to use the newer library version, these functions do not need to be changed in application code using them provided that the HDF5 API compatibility macros are configured appropriately.

--- Last Modified: March 14, 2018 | 11:45 AM