summaryrefslogtreecommitdiffstats
path: root/release_docs/RELEASE.txt
diff options
context:
space:
mode:
Diffstat (limited to 'release_docs/RELEASE.txt')
-rw-r--r--release_docs/RELEASE.txt341
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.