diff options
Diffstat (limited to 'release_docs/RELEASE.txt')
-rw-r--r-- | release_docs/RELEASE.txt | 341 |
1 files changed, 200 insertions, 141 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index f7a7f34..2050a1c 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,25 +1,25 @@ -HDF5 version 1.8.19 released on 2017-06-15 +HDF5 version 1.8.20 released on 2017-11-28 ================================================================================ INTRODUCTION ============ -This document describes the differences between HDF5-1.8.18 and -HDF5-1.8.19, and contains information on the platforms tested and -known problems in HDF5-1.8.19. +This document describes the differences between HDF5-1.8.19 and +HDF5-1.8.20, and contains information on the platforms tested and +known problems in HDF5-1.8.20. For more details, see the files HISTORY-1_0-1_8_0_rc3.txt and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source. -Links to the HDF5 1.8.19 source code, documentation, and additional materials +Links to the HDF5 1.8.20 source code, documentation, and additional materials can be found on the HDF5 web page at: https://support.hdfgroup.org/HDF5/ -The HDF5 1.8.19 release can be obtained from: +The HDF5 1.8.20 release can be obtained from: https://support.hdfgroup.org/HDF5/release/obtain518.html -User documentation for 1.8.19 can be accessed directly at this location: +User documentation for 1.8.20 can be accessed directly at this location: https://support.hdfgroup.org/HDF5/doc1.8/ @@ -30,8 +30,8 @@ in 1.8.0?" document: https://support.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html All new and modified APIs are listed in detail in the "HDF5 Software Changes -from Release to Release" document, in the section "Release 1.8.19 (current -release) versus Release 1.8.18 +from Release to Release" document, in the section "Release 1.8.20 (current +release) versus Release 1.8.19 https://support.hdfgroup.org/HDF5/doc1.8/ADGuide/Changes.html @@ -45,7 +45,7 @@ CONTENTS - New Features - Support for New Platforms, Languages, and Compilers -- Bug Fixes since HDF5-1.8.19 +- Bug Fixes since HDF5-1.8.20 - Supported Platforms - Supported Configuration Features Summary - More Tested Platforms @@ -55,89 +55,54 @@ CONTENTS New Features ============ - Configuration - -------------- - - CMake in the Tools - - User-defined filters on Windows require that tools be built - with shared libraries. - - CMake command code added to build tools with - shared libraries as well as with static libraries. - - (ADB - 2017/02/07, HDFFV-10123) - - - Library - ------- - - H5PL package - - Users would like to be able to set the plugin path programmatically - instead of through the environment variable. - - H5PL package obtained new APIs for manipulating the entries of - the plugin path table. The new APIs are; - H5PLappend - Insert a plugin path at the end of the list. - H5PLprepend - Insert a plugin path at the beginning of the list. - H5PLreplace - Replace the path at the specified index. - H5PLinsert - Insert a plugin path at the specified index, moving - other paths after the index. - H5PLremove - Remove the plugin path at the specifed index and - compacting the list. - H5PLget - Query the plugin path at the specified index. - H5PLsize - Query the size of the current list of plugin paths. - - (ADB - 2017/04/04, HDFFV-10143) + Tools + ----- + - h5diff - - H5Dget_chunk_storage_size + h5diff has new option enable-error-stack. - The storage size of a chunk in the file is needed to determine the size - of the buffer to be allocated for reading a chunk directly from a file. + Updated h5diff with the --enable-error-stack argument, which + enables the display of the hdf5 error stack. This completes the + improvement to the main tools; h5copy, h5diff, h5dump, h5ls and + h5repack. - New API function gets the size in bytes currently allocated within a - file for a raw data chunk in a dataset. This function was added to get - the chunk size in support of the implementation of H5DOread_chunks, but - may also be useful for other purposes. + (ADB - 2017/08/30, HDFFV-9774) - (VC - 2017/05/02, HDFFV-9934) C++ API ------- - The following C++ API wrappers have been added to the C++ Library: - // Determines if a name exists. - H5Location::nameExists() - C API H5Lexists() - - // Checks if an ID is valid. - IdComponent::isValid() - C API H5Iis_valid() - - // Sets the number of soft or user-defined links that can be - // traversed before a failure occurs. - LinkAccPropList::setNumLinks() - C API H5Pset_nlinks() - - // Gets the number of soft or user-defined link traversals allowed - LinkAccPropList::getNumLinks() - C API H5Pget_nlinks() - // Returns a copy of the creation property list of a datatype. - DataType::getCreatePlist() - C API H5Tget_create_plist() + // Creates a binary object description of this datatype. + void DataType::encode() - C API H5Tencode() - // Opens an object within a location, regarless its type. - H5Location::openObjId() - C API H5Oopen() - H5Location::openObjId() - C API H5Oopen() + // Returns the decoded type from the binary object description. + DataType::decode() - C API H5Tdecode() + ArrayType::decode() - C API H5Tdecode() + CompType::decode() - C API H5Tdecode() + DataType::decode() - C API H5Tdecode() + EnumType::decode() - C API H5Tdecode() + FloatType::decode() - C API H5Tdecode() + IntType::decode() - C API H5Tdecode() + StrType::decode() - C API H5Tdecode() + VarLenType::decode() - C API H5Tdecode() - // Closes an object opened by openObjId(). - H5Location::closeObjId() - C API H5Oclose() + // Three overloaded functions to retrieve information about an object + H5Location::getObjectInfo() - H5Oget_info()/H5Oget_info_by_name() - // Gets general information about a file. - H5File::getFileInfo() - C API H5Fget_info() + (BMR - 2017/10/17, HDFFV-10175) - // Returns the header version of an HDF5 object. - H5Object::objVersion() - C API H5Oget_info() + - New constructors to open existing datatypes added in ArrayType, + CompType, DataType, EnumType, FloatType, IntType, StrType, and + VarLenType. - (BMR, 2017/05/13, HDFFV-10004, HDFFV-10156) + (BMR - 2017/10/17, HDFFV-10175) - - New class LinkAccPropList is added for link access proprety list + - A document is added to the HDF5 C++ API Reference Manual to show the + mapping from a C API to C++ wrappers. It can be found from the main + page of the C++ API Reference Manual. - (BMR, 2017/05/13, HDFFV-10156) + (BMR - 2017/10/17, HDFFV-10151) High-Level APIs @@ -147,7 +112,7 @@ New Features Users wanted to read compressed data directly from a file without any processing by the HDF5 data transfer pipeline, just as they were able to write it directly to a file with H5DOwrite_chunk. - + New API function, corresponding to existing function H5DOwrite_chunk. H5DOread_chunk reads a raw data chunk directly from a chunked dataset in the file into the application buffer, bypassing the library’s internal @@ -159,98 +124,183 @@ New Features Support for New Platforms, Languages, and Compilers =================================================== - - Added OpenMPI 2.0.1 compiled with GCC 4.9.3 + - Added NAG compiler -Bug Fixes since HDF5-1.8.18 +Bug Fixes since HDF5-1.8.19 =========================== Configuration ------------- - - Support for Fortran shared libraries on OS X with autotools now - works. Cmake builds still disables Fortran shared libraries on OS X. - (MSB - 2017/04/30, HDFFV-2772) + - cmake + + The hdf5 library used shared szip and zlib, which needlessly required + applications to link with the same szip and zlib libraries. + + Changed the target_link_libraries commands to use the static libs. + Removed improper link duplication of szip and zlib. + Adjusted the link dependencies and the link interface values of + the target_link_libraries commands. + + (ADB - 2017/11/14, HDFFV-10329) + + - cmake MPI + + CMake implementation for MPI was problematic and would create incorrect + MPI library references in the hdf5 libraries. + + Reworked the CMake MPI code to properly create CMake targets.Also merged + the latest CMake FindMPI.cmake changes to the local copy. This is necessary + until HDF changes the CMake minimum to 3.9 or greater. + + (ADB - 2017/11/02, HDFFV-10321) + + + - Fixed Fortran linker flags when using the NAG Fortran compiler (autotools). + + (HDFFV-10037, MSB, 2017/10/21) + + - cmake + + Too many commands for POST_BUILD step caused command line to be + too big on windows. + + Changed foreach of copy command to use a custom command with the + use of the HDFTEST_COPY_FILE macro. + + (ADB - 2017/07/12, HDFFV-10254) Library ------- - - bitfield datatypes + - filter plugin handling in H5PL.c and H5Z.c + + It was discovered that the dynamic loading process used by + filter plugins had issues with library dependencies. + + CMake build process changed to use LINK INTERFACE keywords, which + allowed HDF5 C library to make dependent libraries private. The + filter plugin libraries no longer require dependent libraries + (such as szip or zlib) to be available. + (ADB - 2017/11/16, HDFFV-10328) - bitfield datatypes did not fully support endianness of the data. + - Fix rare object header corruption bug - Improved the endianness of bitfield datatypes by adding missing functional - code. This code used integer types as a template. + In certain cases, such as when converting large attributes to dense + storage, an error could occur which would either fail an assertion or + cause file corruption. Fixed and added test. - (ADB - 2017/05/12, HDFFV-10186) + (NAF - 2017/11/14, HDFFV-10274) - - Newly created datasets with H5D_COMPACT layout failed to open after - several H5Dopen/H5Dclose cycles. + - H5Zfilter_avail in H5Z.c - The layout "dirty" flag for a compact dataset is now properly reset - before flushing the message. + The public function checked for plugins, while the private + function did not. - (VC - 2017/05/11, HDFFV-10051) + Modified H5Zfilter_avail and private function, H5Z_filter_avail. + Moved check for plugin from public to private function. Updated + H5P__set_filter due to change in H5Z_filter_avail. Updated tests. - - Missing #ifdef __cplusplus macros were added to the generated H5Epubgen.h file. + (ADB - 2017/10/10, HDFFV-10297, HDFFV-10319) - (DER - 2017/04/25, HDFFV-9638) + - Fix H5Sencode bug when num points selected is >2^32 + + Modified to fail if the 32 bit limit is exceeded when encoding either + offsets or counts in the selection. + + (HDFFV-10323, VC, 2017/09/07) + + - Fix H5HL_offset_into() + + (1) Fix H5HL_offset_into() to return error when offset exceeds heap data + block size. + (2) Fix other places in the library that call this routine to detect + error routine. + + (HDFFV-10216, VC, 2017/09/05) Tools ----- - h5repack - h5repack did not maintain the creation order flag of the root - group. + h5repack failed to copy a dataset with existing filter. - Improved h5repack by reading the creation order and applying the - flag to the new root group. Also added arguments to set the - order and index direction, which applies to the traversing of the - original file, on the command line. + Reworked code for h5repack and h5diff code in tools library. Added + improved error handling, cleanup of resources and checks of calls. + Modified H5Zfilter_avail and private function, H5Z_filter_avail. + Moved check for plugin from public to private function. Updated + H5P__set_filter due to change in H5Z_filter_avail. Updated tests. + Note, h5repack output display has changed to clarify the individual + steps of the repack process. The output indicates if an operation + applies to all objects. Lines with notation and no information + have been removed. - (ADB - 2017/05/26, HDFFV-8611) + (ADB - 2017/10/10, HDFFV-10297, HDFFV-10319) - - h5diff + - h5repack - h5diff failed to account for strpad type and null terminators - of char strings. Also, h5diff failed to account for string length - differences and would give a different result depending on file - order in the command line. + h5repack always set the User Defined filter flag to H5Z_FLAG_MANDATORY. - Improved h5diff compare of strings and arrays by adding a check for - string lengths and if the strpad was null filled. + Added another parameter to the 'UD=' option to set the flag by default + to '0' or H5Z_FLAG_MANDATORY, the other choice is '1' or H5Z_FLAG_OPTIONAL. - (ADB - 2017/05/18, HDFFV-9055, HDFFV-10128) + (ADB - 2017/08/31, HDFFV-10269) - - h5diff + - h5ls + + h5ls generated error on stack when it encountered a H5S_NULL + dataspace. + + Adding checks for H5S_NULL before calling H5Sis_simple (located + in the h5tools_dump_mem function) fixed the issue. + + (ADB - 2017/08/17, HDFFV-10188) - h5diff help text about epsilon comparison was confusing. + - h5dump - Changed h5diff help text to indicate that the 'a' refers to the - datapoint in file1 and 'b' refers to the datapoint value in file2. + h5dump segfaulted on output of XML file. - (ADB - 2017/05/16, HDFFV-9995) + Function that escape'd strings used the full buffer length + instead of just the length of the replacement string in a + strncpy call. Using the correct length fixed the issue. + + (ADB - 2017/08/01, HDFFV-10256) - h5diff - h5diff did not report user-defined filter data differences correctly. + h5diff segfaulted on compare of a NULL variable length string. + + Improved h5diff compare of strings by adding a check for + NULL strings and setting the lengths to zero. + + (ADB - 2017/07/25, HDFFV-10246) - Improved h5diff compare of user-defined filter data by reporting an - error if the user-defined filter plugin cannot be found. + - h5import + + h5import crashed trying to import data from a subset of a dataset. + + Improved h5import by adding the SUBSET keyword. h5import understands + to use the Count times the Block as the size of the dimensions. + Added INPUT_B_ORDER keyword to old-style configuration files. + The import from h5dump function expects the binary files to use native + types (FILE '-b' option) in the binary file. + + (ADB - 2017/06/15, HDFFV-10219) - (ADB - 2017/01/18, HDFFV-9994) C++ API ------- - - The class hierarchy is revised to better reflect the HDF5 model. - Class H5File is now derived from class Group instead of H5Location. - Class Attribute is now derived from H5Location instead of IdComponent. - Wrappers of H5A APIs in H5Location are now duplicated in H5Object, - the original wrappers in H5Location will be deprecated in future - releases. - - (BMR - 2017/05/15, HDFFV-10156) + - Marked the following functions deprecated because they were moved to + class H5Object: + H5Location::createAttribute() + H5Location::openAttribute() + H5Location::attrExists() + H5Location::removeAttr() + H5Location::renameAttr() + H5Location::getNumAttrs() + (BMR - 2017/10/17) Supported Platforms @@ -261,13 +311,13 @@ They are built with the configure process unless specified otherwise. Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) #1 SMP x86_64 GNU/Linux compilers: (platypus/mayll) Version 4.4.7 20120313 - Versions 4.9.3, 5.2.0, 6.2.0 + Versions 4.9.3, 5.3.0, 6.2.0 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 17.0.0.098 Build 20160721 + Version 17.0.0.196 Build 20160721 MPICH 3.1.4 compiled with GCC 4.9.3 OpenMPI 2.0.1 compiled with GCC 4.9.3 @@ -279,12 +329,13 @@ They are built with the configure process unless specified otherwise. 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) - Versions 4.9.3, 5.3.0, 6.2.0 + (kituo/moohan/jelly Version 4.8.5 20150623 (Red Hat 4.8.5-4) + Versions 4.9.3, 5.3.0, 6.2.0 Intel(R) C (icc), C++ (icpc), Fortran (icc) compilers: Version 17.0.4.196 Build 20170411 MPICH 3.1.4 compiled with GCC 4.9.3 + NAG Fortran Compiler Release 6.1(Tozai) Build 6116 SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc (emu) Sun Fortran 95 8.6 SunOS_sparc @@ -310,10 +361,6 @@ They are built with the configure process unless specified otherwise. Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 16 (cmake) - Mac OS X Mt. Lion 10.8.5 Apple LLVM version 5.1 (clang-503.0.40) - 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 LLVM version 6.0 (clang-600.0.57) 64-bit gfortran GNU Fortran (GCC) 4.9.2 (wren/quail) Intel icc/icpc/ifort version 15.0.3 @@ -322,10 +369,14 @@ They are built with the configure process unless specified otherwise. 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.4 Apple LLVM version 7.3.0 (clang-703.0.29) + Mac OS X El Capitan 10.11.6 Apple LLVM version 7.3.0 (clang-703.0.29) 64-bit gfortran GNU Fortran (GCC) 5.2.0 (VM osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 + Mac OS Sierra 10.12.6 Apple LLVM version 8.1 (clang-802.0.42) + 64-bit gfortran GNU Fortran (GCC) 7.1.0 + (kite) Intel icc/icpc/ifort version 17.0.2 + Tested Configuration Features Summary ===================================== @@ -350,9 +401,10 @@ 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 +Mac OS Sierra 10.12.6 64-bit n y/y n y y y AIX 6.1 32- and 64-bit n y/n n y y y CentOS 6.7 Linux 2.6.32 x86_64 GNU y y/y y y y y CentOS 6.7 Linux 2.6.32 x86_64 Intel n y/y n y y y @@ -371,9 +423,10 @@ 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 +Mac OS Sierra 10.12.6 64-bit y n y y AIX 6.1 32- and 64-bit y n n y CentOS 6.7 Linux 2.6.32 x86_64 GNU y y y y CentOS 6.7 Linux 2.6.32 x86_64 Intel y y y y @@ -418,12 +471,18 @@ The following platforms are not supported but have been tested for this release. Known Problems ============== - The dynamically loaded plugin test libraries require undefined references + The dynamically loaded plugin test libraries require undefined references to HDF5 functions to be resolved at runtime in order to function properly. - With autotools on CYGWIN this results in build errors, and we have not - found a solution that satisfies both. Therefore the dynamically loaded + With autotools on CYGWIN this results in build errors, and we have not + found a solution that satisfies both. Therefore the dynamically loaded plugin tests have been disabled on CYGWIN. + Mac OS X 10.13 added additional subdirectory structure in .libs for shared + libraries. Consequently "make check" will fail testing java and dynamically + loaded plugin test libraries attempting to copy files from the previous + locations in .libs directories. This will be addressed in the next release + when support for the Mac OS X 10.13 platform is added. + 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. |