mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-12-15 07:40:23 +08:00
Merge pull request #489 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '5cde315a061d789ea9539265f96ec65454454983': Update release_docs/HISTORY-1_10.txt and RELEASE.txt after HDF5 1.10.1 release.
This commit is contained in:
commit
9c169ec1c8
@ -3,11 +3,745 @@ HDF5 History
|
|||||||
|
|
||||||
This file contains development history of the HDF5 1.10 branch
|
This file contains development history of the HDF5 1.10 branch
|
||||||
|
|
||||||
|
03. Release Information for hdf5-1.10.1
|
||||||
02. Release Information for hdf5-1.10.0-patch1
|
02. Release Information for hdf5-1.10.0-patch1
|
||||||
01. Release Information for hdf5-1.10.0
|
01. Release Information for hdf5-1.10.0
|
||||||
|
|
||||||
[Search on the string '%%%%' for section breaks of each release.]
|
[Search on the string '%%%%' for section breaks of each release.]
|
||||||
|
|
||||||
|
%%%%1.10.1%%%%
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
%%%%1.10.0-patch1%%%%
|
%%%%1.10.0-patch1%%%%
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,8 +4,8 @@ HDF5 version 1.10.2-snap0 currently under development
|
|||||||
|
|
||||||
INTRODUCTION
|
INTRODUCTION
|
||||||
|
|
||||||
This document describes the differences between HDF5-1.10.0-patch1 and
|
This document describes the differences between HDF5-1.10.1 and HDF5 1.10.2, and
|
||||||
HDF5 1.10.1, and contains information on the platforms tested and known problems in HDF5-1.10.1.
|
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.
|
For more details check the HISTORY*.txt files in the HDF5 source.
|
||||||
|
|
||||||
|
|
||||||
@ -15,23 +15,23 @@ Links to HDF5 1.10.1 source code, documentation, and additional materials can be
|
|||||||
|
|
||||||
The HDF5 1.10.1 release can be obtained from:
|
The HDF5 1.10.1 release can be obtained from:
|
||||||
|
|
||||||
https://support.hdfgroup.org/HDF5/release/obtain5110.html
|
https://support.hdfgroup.org/HDF5/release/obtain5.html
|
||||||
|
|
||||||
User documentation for the snapshot can be accessed directly at this location:
|
User documentation for the snapshot can be accessed directly at this location:
|
||||||
|
|
||||||
https://support.hdfgroup.org/HDF5/doc1.10/
|
https://support.hdfgroup.org/HDF5/doc/
|
||||||
|
|
||||||
New features in the HDF5-1.10.x release series, including brief general
|
New features in the HDF5-1.10.x release series, including brief general
|
||||||
descriptions of some new and modified APIs, are described in the "What's New
|
descriptions of some new and modified APIs, are described in the "New Features
|
||||||
in 1.10.1?" document:
|
in HDF5 1.10" document:
|
||||||
|
|
||||||
https://support.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew1101.html
|
https://support.hdfgroup.org/HDF5/docNewFeatures/index.html
|
||||||
|
|
||||||
All new and modified APIs are listed in detail in the "HDF5 Software Changes
|
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
|
from Release to Release" document, in the section "Release 1.10.1 (current
|
||||||
release) versus Release 1.10.1
|
release) versus Release 1.10.0
|
||||||
|
|
||||||
https://support.hdfgroup.org/HDF5/doc1.10/ADGuide/Changes.html
|
https://support.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
|
||||||
|
|
||||||
If you have any questions or comments, please send them to the HDF Help Desk:
|
If you have any questions or comments, please send them to the HDF Help Desk:
|
||||||
|
|
||||||
@ -54,37 +54,11 @@ New Features
|
|||||||
|
|
||||||
Configuration:
|
Configuration:
|
||||||
-------------
|
-------------
|
||||||
- CMake minimum is now 3.2.2.
|
-
|
||||||
(ADB 2017/01/10)
|
|
||||||
|
|
||||||
- Tools folder is separated into source and test folders. This
|
|
||||||
allows autotools to skip the make command and just execute
|
|
||||||
the make check command.
|
|
||||||
(HDFFV-9719 ADB 2016/10/27)
|
|
||||||
|
|
||||||
Library:
|
Library:
|
||||||
--------
|
--------
|
||||||
- Paged Aggregation
|
-
|
||||||
|
|
||||||
This is one of the file space management strategies. This strategy
|
|
||||||
aggregates small metadata and raw data allocations into constant-sized
|
|
||||||
well-aligned pages, which are suitable for page caching. Paged
|
|
||||||
aggregation together with the page buffering feature will allow efficient
|
|
||||||
I/O accesses.
|
|
||||||
|
|
||||||
- Page Buffering
|
|
||||||
|
|
||||||
The page buffering layer in the HDF5 library absorbs small accesses to
|
|
||||||
the file system. Each page in memory corresponds to a page allocated in
|
|
||||||
the file. Access to the file system is then performed as a single page
|
|
||||||
or multiple of pages, if they are contiguous. This ensures that small
|
|
||||||
accesses to the file system are avoided while providing another caching
|
|
||||||
layer for improved I/O performance. This feature works in conjunction
|
|
||||||
with the paged aggregation feature.
|
|
||||||
|
|
||||||
- Filter plugin API added to access the table of paths to search for a
|
|
||||||
library. Java interface expanded with wrappers for the new functions.
|
|
||||||
(HDFFV-10143 ADB 2017/04/04)
|
|
||||||
|
|
||||||
Parallel Library:
|
Parallel Library:
|
||||||
-----------------
|
-----------------
|
||||||
@ -96,84 +70,19 @@ New Features
|
|||||||
|
|
||||||
C++ Library:
|
C++ Library:
|
||||||
------------
|
------------
|
||||||
- New wrappers for C APIs:
|
-
|
||||||
(HDFFV-10004, HDFFV-10139, HDFFV-10145 - PRs #209, #232, #310, #334, #348)
|
|
||||||
|
|
||||||
// Sets/Gets the strategy and the threshold value that the library will
|
|
||||||
// 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 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
|
|
||||||
|
|
||||||
- New exception: ObjHeaderIException for H5O interface.
|
|
||||||
(HDFFV-10145 - PR #334) -BMR, 2017/03/15
|
|
||||||
|
|
||||||
- New class LinkAccPropList for link access property list, to be used by
|
|
||||||
wrappers of H5Lexists. (HDFFV-10145 - PR #232) -BMR, 2017/01/04
|
|
||||||
|
|
||||||
- New constructors to open datatypes in ArrayType, CompType, DataType,
|
|
||||||
EnumType, FloatType, IntType, StrType, and VarLenType.
|
|
||||||
(HDFFV-10056 - PR #209) -BMR, 2016/12/26
|
|
||||||
|
|
||||||
- New member functions
|
|
||||||
DSetCreatPropList::setNbit() to setup N-bit compression for a dataset.
|
|
||||||
(HDFFV-8623 patch 7) -BMR, 2016/04/25
|
|
||||||
|
|
||||||
ArrayType::getArrayNDims() const
|
|
||||||
ArrayType::getArrayDims() const
|
|
||||||
both to replace the non-const versions. (HDFFV-9725) -BMR, 2016/04/25
|
|
||||||
|
|
||||||
|
|
||||||
Tools:
|
Tools:
|
||||||
------
|
------
|
||||||
- Add options to h5clear:
|
-
|
||||||
-s: clear the status_flags field in the file's superblock
|
|
||||||
-m: Remove the metadata cache image from the file
|
|
||||||
(Pull Request #361 QK 2017/03/22)
|
|
||||||
|
|
||||||
High-Level APIs:
|
High-Level APIs:
|
||||||
---------------
|
---------------
|
||||||
|
-
|
||||||
|
|
||||||
C Packet Table API
|
C Packet Table API
|
||||||
------------------
|
------------------
|
||||||
-
|
-
|
||||||
|
|
||||||
Internal header file
|
Internal header file
|
||||||
--------------------
|
--------------------
|
||||||
@ -181,6 +90,7 @@ New Features
|
|||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
-------------
|
-------------
|
||||||
|
-
|
||||||
|
|
||||||
Support for new platforms, languages and compilers.
|
Support for new platforms, languages and compilers.
|
||||||
=======================================
|
=======================================
|
||||||
@ -191,57 +101,15 @@ Bug Fixes since HDF5-1.10.0-patch1 release
|
|||||||
|
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
- Changed the plugins dlopen option from RTLD_NOW to RTLD_LAZY
|
-
|
||||||
(PR 201 ADB 2016/12/12)
|
|
||||||
|
|
||||||
- Fix error when copying dataset with attribute which is a compound datatype
|
|
||||||
consisting of a variable length string.
|
|
||||||
(HDFFV-7991 VC 2016/08/19, 2016/08/21, 2016/08/24)
|
|
||||||
|
|
||||||
- H5DOappend will not fail if a dataset has no append callback registered.
|
|
||||||
(HDFFV-9960 VC 2016/08/05, 2016/08/14)
|
|
||||||
|
|
||||||
- Fix the problem where the committed datatype's file location is different
|
|
||||||
from the file location of an attribute with that committed datatype.
|
|
||||||
(HDFFV-9940 VC 2016/07/03, 2016/07/06)
|
|
||||||
|
|
||||||
- (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.
|
|
||||||
(HDFFV-9434 VC 2016/05/29)
|
|
||||||
|
|
||||||
- Fix error when copying dataset with attribute which is a compound datatype
|
|
||||||
consisting of a variable length string.
|
|
||||||
(HDFFV-7991 VC 2016/08/19, 2016/08/21, 2016/08/24)
|
|
||||||
|
|
||||||
- H5DOappend will not fail if a dataset has no append callback registered.
|
|
||||||
(HDFFV-9960 VC 2016/08/05, 2016/08/14)
|
|
||||||
|
|
||||||
- Fix the problem where the committed datatype's file location is different
|
|
||||||
from the file location of an attribute with that committed datatype.
|
|
||||||
(HDFFV-9940 VC 2016/07/03, 2016/07/06)
|
|
||||||
|
|
||||||
- (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.
|
|
||||||
(HDFFV-9434 VC 2016/05/29)
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
-------------
|
-------------
|
||||||
- Configuration will check for the strtoll and strtoull functions
|
-
|
||||||
before using alternatives
|
|
||||||
(PR 340 ADB 2017/03/17)
|
|
||||||
|
|
||||||
- CMake uses a Windows pdb directory variable if available and
|
|
||||||
will generate both static and shared pdb files.
|
|
||||||
(HDFFV-9875 ADB 2017/02/06)
|
|
||||||
|
|
||||||
- CMake now builds shared versions of tools.
|
|
||||||
(HDFFV-10123 ADB 2017/02/01)
|
|
||||||
|
|
||||||
Performance
|
Performance
|
||||||
-------------
|
-------------
|
||||||
-
|
-
|
||||||
|
|
||||||
Fortran
|
Fortran
|
||||||
--------
|
--------
|
||||||
@ -249,18 +117,7 @@ Bug Fixes since HDF5-1.10.0-patch1 release
|
|||||||
|
|
||||||
Tools
|
Tools
|
||||||
-----
|
-----
|
||||||
- h5diff correctly ignores strpad in comparing strings.
|
-
|
||||||
(HDFFV-10128 ADB 2017/03/03)
|
|
||||||
|
|
||||||
- h5repack now correctly parses the command line filter options.
|
|
||||||
(HDFFV-10046 ADB 2017/01/24)
|
|
||||||
|
|
||||||
- h5diff correctly indicates error when it cannot read data due
|
|
||||||
to an unavailable filter plugin.
|
|
||||||
(HDFFV-9994 ADB 2017/01/18)
|
|
||||||
|
|
||||||
- h5repack allows the --enable-error-stack option on the command line.
|
|
||||||
(HDFFV-775 ADB 2016/08/08)
|
|
||||||
|
|
||||||
High-Level APIs:
|
High-Level APIs:
|
||||||
------
|
------
|
||||||
@ -272,46 +129,15 @@ Bug Fixes since HDF5-1.10.0-patch1 release
|
|||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
-------------
|
-------------
|
||||||
|
-
|
||||||
|
|
||||||
F90 APIs
|
F90 APIs
|
||||||
--------
|
--------
|
||||||
-
|
-
|
||||||
|
|
||||||
|
|
||||||
C++ APIs
|
C++ APIs
|
||||||
--------
|
--------
|
||||||
- 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. (PR #344) -BMR, 2017/03/17
|
|
||||||
|
|
||||||
- The problem where a user-defined function cannot access both, attribute
|
|
||||||
and dataset, using only one argument is now fixed.
|
|
||||||
(HDFFV-9920 - PR #45) -BMR, 2016/10/11
|
|
||||||
|
|
||||||
- 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, HDFFV-10023.
|
|
||||||
(HDFFV-9758 - PRs #93 and #108) -BMR, 2016/10/27
|
|
||||||
|
|
||||||
- The obsolete macros, H5_NO_NAMESPACE and H5_NO_STD, are removed.
|
|
||||||
(HDFFV-9532 - PR #92) -BMR, 2016/10/23
|
|
||||||
|
|
||||||
- In-memory array information, ArrayType::rank and
|
|
||||||
ArrayType::dimensions, were removed. This is an implementation
|
|
||||||
detail and should not affect applications. (HDFFV-9725) -BMR, 2016/04/25
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
-------
|
-------
|
||||||
@ -443,6 +269,13 @@ The following platforms are not supported but have been tested for this release.
|
|||||||
Version 15.0.3.187 (Build 20150407)
|
Version 15.0.3.187 (Build 20150407)
|
||||||
MPICH 3.1.4 compiled with GCC 4.9.3
|
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
|
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
|
#1 SMP ppc64 GNU/Linux IBM XL C/C++ for Linux, V13.1
|
||||||
(ostrich) and IBM XL Fortran for Linux, V15.1
|
(ostrich) and IBM XL Fortran for Linux, V15.1
|
||||||
@ -453,16 +286,29 @@ The following platforms are not supported but have been tested for this release.
|
|||||||
(cmake and autotools)
|
(cmake and autotools)
|
||||||
|
|
||||||
Fedora 24 4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
|
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)
|
gcc, g++ (GCC) 6.1.1 20160621
|
||||||
GNU Fortran (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3)
|
(Red Hat 6.1.1-3)
|
||||||
|
GNU Fortran (GCC) 6.1.1 20160621
|
||||||
|
(Red Hat 6.1.1-3)
|
||||||
(cmake and autotools)
|
(cmake and autotools)
|
||||||
|
|
||||||
Ubuntu 16.04.1 4.4.0-38-generic #57-Ubuntu SMP x86_64 GNU/Linux
|
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
|
gcc, g++ (Ubuntu 5.4.0-6ubuntu1~16.04.2)
|
||||||
GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609
|
5.4.0 20160609
|
||||||
|
GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2)
|
||||||
|
5.4.0 20160609
|
||||||
(cmake and autotools)
|
(cmake and autotools)
|
||||||
|
|
||||||
|
|
||||||
Known Problems
|
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.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user