summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorFrank Baker <fbaker@hdfgroup.org>2001-02-02 21:45:09 (GMT)
committerFrank Baker <fbaker@hdfgroup.org>2001-02-02 21:45:09 (GMT)
commit19044cbbb88ff40f96df17e10413213d0726d409 (patch)
treec06b3b40f0bb2f4ff9a610322c75b176454d2c8e /doc
parent754b404cf0408de1bb0c7eb931070c607e47e0ef (diff)
downloadhdf5-19044cbbb88ff40f96df17e10413213d0726d409.zip
hdf5-19044cbbb88ff40f96df17e10413213d0726d409.tar.gz
hdf5-19044cbbb88ff40f96df17e10413213d0726d409.tar.bz2
[svn-r3344]
Purpose: Extracting RELEASE and HISTORY from Changes.html and distributing them as separate files will not only leave Changes.html easier to read, but will ease maintenance. Solution: Removed the RELEASE and HISTORY files' contents from Changes.html, inserting links instead. Changes.html now points to RELEASE.txt and HISTORY.txt, duplicates of hdf5/RELEASE and hdf5/HISTORY. These two files will henceforth be distributed within the doc set so that this information can be available to applications developers who cannot access the HDF website (e.g., due to a firewall) and are working without the HDF5 source code. Affected files: hdf5/doc/html/ADGuide/Changes.html hdf5/doc/html/ADGuide/RELEASE.txt hdf5/doc/html/ADGuide/HISTORY.txt Platforms tested: IE 5
Diffstat (limited to 'doc')
-rwxr-xr-xdoc/html/ADGuide/Changes.html1313
-rw-r--r--doc/html/ADGuide/HISTORY.txt984
-rw-r--r--doc/html/ADGuide/RELEASE.txt435
3 files changed, 1445 insertions, 1287 deletions
diff --git a/doc/html/ADGuide/Changes.html b/doc/html/ADGuide/Changes.html
index f6601b1..e5de715 100755
--- a/doc/html/ADGuide/Changes.html
+++ b/doc/html/ADGuide/Changes.html
@@ -37,12 +37,6 @@ an application synchroniaed with the HDF5 library or related software.
<h2>Release 1.4 (current release)</h2>
-<!-- -->
-<!-- insert the file hdf5/RELEASE in this section -->
-<!-- insert the file hdf5/HISTORY in next section -->
-<!-- -->
-
-
<dir>
Several functions were added to or removed from the HDF5 library
@@ -242,1293 +236,38 @@ H5Tinsert_array
These default values had to be special-cased in situations where
they could be returned to distinguish them from error values.
- <h3>Full Release Notes</h3>
- The following material is from the file <code>hdf5/RELEASE</code>,
- as distributed with the HDF5 library source code.
-
-<pre>
-
- HDF5 Release 1.4-Beta2
-
-
-INTRODUCTION
-
-This document describes the differences between HDF5-1.2.0 and
-HDF5-1.4-Beta2, and contains information on the platforms tested and
-known problems in HDF5-1.4-Beta2. For more details check the HISTORY
-file in the HDF5 source.
-
-The HDF5 documentation can be found on the NCSA ftp server
-(ftp.ncsa.uiuc.edu) in the directory:
-
- /HDF/HDF5/docs/
-
-For more information look at the HDF5 home page at:
-
- http://hdf.ncsa.uiuc.edu/HDF5/
-
-If you have any questions or comments, please send them to:
-
- hdfhelp@ncsa.uiuc.edu
-
-
-CONTENTS
-
-- New Features
-- h4toh5 Utility
-- F90 Support
-- C++ Support
-- Bug Fixes since HDF5-1.2.0
-- Platforms Tested
-- Known Problems
-
-New Features
-============
- * The Virtual File Layer, VFL, was added to replace the old file
- drivers. It also provides an API for user defined file drivers.
- * New features added to snapshots. Use 'snapshot help' to see a
- complete list of features.
- * Improved configure to detect if MPIO routines are available when
- parallel mode is requested.
- * Added Thread-Safe support. Phase I implemented.
- * Added data sieve buffering to raw data I/O path. This is enabled
- for all VFL drivers except the mpio & core drivers. Setting the
- sieve buffer size is controlled with the new API function,
- H5Pset_sieve_buf_size(), and retrieved with H5Pget_sieve_buf_size().
- * Added new Virtual File Driver, Stream VFD, to send/receive entire
- HDF5 files via socket connections.
- * As parts of VFL, HDF-GASS and HDF-SRB are also added to this
- release. To find out details, please read INSTALL_VFL file.
- * Increased maximum number of dimensions for a dataset (H5S_MAX_RANK)
- from 31 to 32 to align with HDF4 & netCDF.
- * Added 'query' function to VFL drivers. Also added 'type' parameter to
- VFL 'read' & 'write' calls, so they are aware of the type of data
- being accessed in the file. Updated the VFL document also.
- * A new h4toh5 uitlity, to convert HDF4 files to analogous HDF5 files.
- * Added a new array datatype to the datatypes which can be created. Removed
- "array fields" from compound datatypes (use an array datatype instead).
- * Parallel HDF5 works correctly with mpich-1.2.1 on Solaris, SGI, Linux.
-
-h4toh5 Utility
-==============
-
- The h4toh5 utility is a new utility that converts an HDF4 file to an
- HDF5 file. For details, see the document, "Mapping HDF4 Objects to
- HDF5 Objects":
- http://hdf.ncsa.uiuc.edu/HDF5/papers/H4-H5MappingGuidelines.pdf
-
- Known Limitations of the h4toh5 beta release
- ---------------------------------------------
-
- 1. Error Handling
-
- Error reporting is minimal.
-
- 2. String Datatype
-
- HDF4 has no 'string' type. String valued data are usually defined as
- an array of 'char' in HDF4. The h4toh5 utility will generally map
- these to HDF5 'String' types rather than array of char, with the
- following additional rules:
-
- * For the data of an HDF4 SDS, image, and palette, if the data is
- declared 'DFNT_CHAR8' it will be assumed to be integer and
- will be an H5T_INTEGER type.
- * For attributes of any HDF4 object, data of type 'DFNT_CHAR8'
- will be converted to an HDF5 'H5T_STRING' type.
- * For an HDF4 Vdata, it is difficult to determine whether data
- of type 'DFNT_CHAR8' is intended to be bytes or characters.
- The h4toh5 utility will consider them to be C characters, and
- will convert them to an HDF5 'H5T_STRING' type.
-
-
- 3. Compression, Chunking and External Storage
-
- Chunking is supported, but compression and external storage is not.
-
- An HDF4 object that uses chunking will be converted to an HDF5 file
- with analogous chunked storage.
-
- An HDF4 object that uses compression will be converted to an
- uncompressed HDF5 object.
-
- An HDF4 object that uses external storage will be converted to an
- HDF5 object without external storage.
-
- 4. Memory Use
-
- The beta version of the h4toh5 utility copies data from HDF4 objects
- in a single read followed by a single write to the HDF5 object. For
- large objects, this requires a very large amount of memory, which may
- be extremely slow or fail on some platforms.
-
- Note that a dataset that has only been partly written will
- be read completely, including uninitialized data, and all the
- data will be written to the HDF5 object.
-
- 5. Platforms
-
- The h4toh5 utility requires HDF5.1.4.
-
- The beta h4toh5 utility has been tested on Solaris 2.6, Solaris 2.5,
- Irix 6.5, HPUX 11.0, DEC Unix, FreeBSD, and Windows 2000.
-
-F90 Support
-===========
-
- This is the first release of the HDF5 Library with fully integrated
- F90 API support. The Fortran Library is created when the
- --enable-fortran flag is specified during configuration.
-
- Not all F90 subroutines are implemented. Please refer to the HDF5
- Reference Manual for more details.
-
- F90 APIs are available for the Solaris 2.6 and 2.7, Linux, DEC UNIX,
- T3E, J90 and O2K (64 bit option only) platforms. The Parallel version of
- the HDF5 F90 Library is supported on the O2K and T3E platforms.
-
- Changes since the last prototype release (July 2000)
- ----------------------------------------------------
-
- * h5open_f and h5close_f must be called instead of h5init_types and
- h5close_types.
-
- * The following subroutines are no longer available:
- h5pset_xfer_f
- h5pget_xfer_f
- h5pset_mpi_f
- h5pget_mpi_f
- h5pset_stdio_f
- h5pget_stdio_f
- h5pset_sec2_f
- h5pget_sec2_f
- h5pset_core_f
- h5pget_core_f
- h5pset_family_f
- h5pget_family_f
-
- * The following functions have been added:
- h5pset_fapl_mpio_f
- h5pget_fapl_mpio_f
- h5pset_dxpl_mpio_f
- h5pget_dxpl_mpio_f
-
- * In the previous HDF5 F90 releases, the implementation of object
- references and dataset region references was not portable. This
- release introduces a portable implementation, but it also introduces
- changes to the read/write APIs that handle references. If object or
- dataset region references are written or read to/from an HDF5 file,
- h5dwrite_f and h5dread_f must use the extra parameter, n, for the
- buffer size:
-
- h5dwrite(read)_f(dset_id, mem_type_id, buf, n, hdferr, &
- ^^^
- mem_space_id, file_space_id, xfer_prp)
-
- For other datatypes the APIs were not changed.
-
-
-C++ Support
-===========
-
- This is the first release of the HDF5 Library with fully integrated
- C++ API support. The HDF5 C++ library is built when the --enable-cxx
- flag is specified during configuration.
-
- Check the HDF5 Reference Manual for available C++ documentation.
-
- C++ APIs are available for Solaris 2.6 and 2.7, Linux, and FreeBSD.
-
-
-Bug Fixes since HDF5-1.2.0
-==========================
-
-Library
--------
-
- * The function H5Pset_mpi is renamed as H5Pset_fapl_mpio.
- * Corrected a floating point number conversion error for the Cray J90
- platform. The error did not convert the value 0.0 correctly.
- * Error was fixed which was not allowing dataset region references to
- have their regions retrieved correctly.
- * Corrected a bug that caused non-parallel file drivers to fail in
- the parallel version.
- * Added internal free-lists to reduce memory required by the library
- and H5garbage_collect API function
- * Fixed error in H5Giterate which was not updating the "index"
- parameter correctly.
- * Fixed error in hyperslab iteration which was not walking through the
- correct sequence of array elements if hyperslabs were staggered in a
- certain pattern
- * Fixed several other problems in hyperslab iteration code.
- * Fixed another H5Giterate bug which was causes groups with large
- numbers of objects in them to misbehave when the callback function
- returned non-zero values.
- * Changed return type of H5Aiterate and H5A_operator_t typedef to be
- herr_t, to align them with the dataset and group iterator functions.
- * Changed H5Screate_simple and H5Sset_extent_simple to not allow
- dimensions of size 0 with out the same dimension being unlimited.
- * QAK - 4/19/00 - Improved metadata hashing & caching algorithms to
- avoid many hash flushes and also remove some redundant I/O when
- moving metadata blocks in the file.
- * The "struct(opt)" type conversion function which gets invoked for
- certain compound datatype conversions was fixed for nested compound
- types. This required a small change in the datatype conversion
- function API.
- * Re-wrote lots of the hyperslab code to speed it up quite a bit.
- * Added bounded garbage collection for the free lists when they run
- out of memory and also added H5set_free_list_limits API call to
- allow users to put an upper limit on the amount of memory used for
- free lists.
- * Checked for non-existent or deleted objects when dereferencing one
- with object or region references and disallow dereference.
- * "Time" datatypes (H5T_UNIX_D*) were not being stored and retrieved
- from object headers correctly, fixed now.
- * Fixed H5Dread or H5Dwrite calls with H5FD_MPIO_COLLECTIVE requests
- that may hang because not all processes are transfer the same amount
- of data. (A.K.A. prematured collective return when zero amount data
- requested.) Collective calls that may cause hanging is done via the
- corresponding MPI-IO independent calls.
-
-Configuration
--------------
-
- * The hdf5.h include file was fixed to allow the HDF5 Library to be
- compiled with other libraries/applications that use GNU autoconf.
- * Configuration for parallel HDF5 was improved. Configure now attempts
- to link with libmpi.a and/or libmpio.a as the MPI libraries by
- default. It also uses "mpirun" to launch MPI tests by default. It
- tests to link MPIO routines during the configuration stage, rather
- than failing later as before. One can just do "./configure
- --enable-parallel" if the MPI library is in the system library.
- * Added support for pthread library and thread-safe option.
- * The libhdf5.settings file shows the correct machine byte-sex.
- * Added option "--enable-stream-vfd" to configure w/o the Stream VFD.
- For Solaris, added -lsocket to the LIBS list of libraries.
-
-Tools
------
- * h5dump now accepts both short and long command-line parameters. A
- change from the old way is that multiple attributes, datasets,
- groups, soft-links, and object-ids cannot be specified with just
- one flag but you have to use a flag with each object. I.e., instead
- of doing this:
-
- h5dump -a /attr1 /attr2 foo.h5
-
- do this:
-
- h5dump -a /attr1 -a /attr2 foo.h5
-
- The cases are similar for the other object types.
- * h5dump correctly displays compound datatypes.
- * Corrected an error in h5toh4 which did not convert the 32bits
- int from HDF5 to HDF4 corectly for the T3E platform.
- * h5dump correctly displays the committed copy of predefined types
- correctly.
- * Added an option, -V, to show the version information of h5dump.
- * Fixed a core dumping bug of h5toh4 when executed on platforms like
- TFLOPS.
- * The test script for h5toh4 used to not able to detect the hdp
- dumper command was not valid. It now detects and reports the
- failure of hdp execution.
- * Merged the tools with the 1.2.2 branch. Required adding new
- macros, VERSION12 and VERSION13, used in conditional compilation.
- Updated the Windows project files for the tools.
- * h5dump displays opaque and bitfield data correctly.
- * h5dump and h5ls can browse files created with the Stream VFD
- (eg. "h5ls <hostname>:<port>").
- * h5dump has a new feature "-o <filename>" which outputs the raw data
- of the dataset into ascii text file <filename>.
- * h5toh4 used to converts hdf5 strings type to hdf4 DFNT_INT8 type.
- Corrected to produce hdf4 DFNT_CHAR type instead.
- * h5dump and h5ls displays array data correctly.
-
-Documentation
--------------
-
- * User's Guide and Reference Manual were updated.
- See doc/html/PSandPDF/index.html for more details.
-
-
-Bug Fixes since HDF5-1.4.0-beta2
-================================
-
- * Corrected configuration error which was not including compression support
- correctly.
- * Cleaned up lots of warnings.
- * Changed a few h5dump command line switches and added long versions of
- the switches.
-
-Platforms Tested
-================
-
- Note: Due to the nature of the bug fixes, only static versions of the
- library and tools were tested.
-
-
- AIX 4.3.2 (IBM SP) mpcc_r 3.6.6
- Cray T3E sn6711 2.0.539b Cray Standard C Version 6.3.0.2
- Cray Fortran Version 3.4.0.2
- FreeBSD 4.2-STABLE gcc 2.95.2
- g++ 2.95.2
- HP-UX B.10.20 HP C HP92453-01 A.10.32.30
- HP-UX B.11.00 HP C HP92453-01 A.11.00.13
- IRIX 6.5 MIPSpro cc 7.30
- IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
- mpt.1.4.0.2
- mpich-1.2.1
- Linux 2.2.16-3smp gcc-2.95.2
- g++ 2.95.2
- pgf90 3.1-3
- OSF1 V4.0 DEC-V5.2-040
- Digital Fortran 90 V4.1-270
- SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0
- (Solaris 2.6) WorkShop Compilers 5.0 99/10/25 Fortran 90
- 2.0 Patch 107356-04
- Workshop Compilers 5.0 98/12/15 C++ 5.0
- SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
- (Solaris 2.7) WorkShop Compilers 5.0 99/10/25 Fortran 90
- 2.0 Patch 107356-04
- Workshop Compilers 5.0 98/12/15 C++ 5.0
- TFLOPS 3.3 mpich-1.2.0 with local changes
- Windows NT4.0, 2000 (NT5.0) MSVC++ 6.0
-
-Known Problems
-==============
-
-* When building the HDF5 test project on Windows NT 4.0 (testhdf5
- and testhdf5dll), the compiler fails to compile tvstr.c within
- the whole project; however, when separately selecting the
- tvstr.c source code, it passes the compiler and everything that
- depends on tvstr.obj links correctly.
-
-* h4toh5 fails on object references on the Cray T3E.
-
-* The installation of the DEC Fortran binaries fails. It can be
- done manually by copying the *.mod files from the fortran/src
- directory.
-
-* Fortran modules are not installed when created. This should be done
- manually by copying the modules from the fortran/src directory.
-
-* SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
- fail if library is compiled using optimization of any level.
-
-* The Stream VFD was not tested yet under Windows.
- It is not supported in the TFLOPS machine.
-
-* Shared library option is broken for IBM SP and some Origin 2000 platforms.
- One needs to run ./configure with '--disable-shared'
-
-* The ./dsets tests failed in the TFLOPS machine if the test program,
- dsets.c, is compiled with the -O option. The hdf5 library still works
- correctly with the -O option. The test program works fine if it is
- compiled with -O1 or -O0. Only -O (same as -O2) causes the test
- program to fail.
-
-* Certain platforms give false negatives when testing h5ls:
- - Solaris x86 2.5.1, Cray T3E and Cray J90 give errors during testing
- when displaying object references in certain files. These are benign
- differences due to the difference in sizes of the objects created on
- those platforms. h5ls appears to be dumping object references
- correctly.
- - Cray J90 (and Cray T3E?) give errors during testing when displaying
- some floating-point values. These are benign differences due to the
- different precision in the values displayed and h5ls appears to be
- dumping floating-point numbers correctly.
-
-</pre>
-</dir>
-
-
-<h2>Previous Releases</h2>
-
-<dir>
- The following material is from the file <code>hdf5/HISTORY</code>,
- as distributed with the HDF5 library source code.
-
-<pre>
-
-CONTENTS
-I. Release Information for hdf5-1.2.1
-II. Release Information for hdf5-1.2.0
- A. Platforms Supported
- B. Known Problems
- C. Changes Since Version 1.0.1
- 1. Documentation
- 2. Configuration
- 3. Debugging
- 4. Datatypes
- 5. Dataspaces
- 6. Persistent Pointers
- 7. Parallel Support
- 8. New API Functions
- a. Property List Interface
- b. Dataset Interface
- c. Dataspace Interface
- d. Datatype Interface
- e. Identifier Interface
- f. Reference Interface
- g. Ragged Arrays
- 9. Tools
-
-III. Changes Since the Version 1.0.0 Release
-
-IV. Changes Since the Beta 1.0.0 Release
-
-V. Changes Since the Second Alpha 1.0.0 Release
-
-VI. Changes Since the First Alpha 1.0.0 Release
-
------------------------------------------------------------------------
-I. Release Information for hdf5-1.2.1
-
-Bug fixes since HDF5-1.2.0
-==========================
-
-Configuration
--------------
-
- * The hdf5.h include file was fixed to allow the HDF5 Library to be compiled
- with other libraries/applications that use GNU autoconf.
- * Configuration for parallel HDF5 was improved. Configure now attempts to
- link with libmpi.a and/or libmpio.a as the MPI libraries by default.
- It also uses "mpirun" to launch MPI tests by default. It tests to
- link MPIO routines during the configuration stage, rather than failing
- later as before. One can just do "./configure --enable-parallel"
- if the MPI library is in the system library.
-
-Library
--------
-
- * Error was fixed which was not allowing dataset region references to have
- their regions retrieved correctly.
- * Added internal free-lists to reduce memory required by the library and
- H5garbage_collect API function
- * Fixed error in H5Giterate which was not updating the "index" parameter
- correctly.
- * Fixed error in hyperslab iteration which was not walking through the
- correct sequence of array elements if hyperslabs were staggered in a
- certain pattern
- * Fixed several other problems in hyperslab iteration code.
-
-Tests
-------
- * Added additional tests for group and attribute iteration.
- * Added additional test for staggered hyperslab iteration.
- * Added additional test for random 5-D hyperslab selection.
-
-Tools
-------
-
- * Added an option, -V, to show the version information of h5dump.
- * Fixed a core dumping bug of h5toh4 when executed on platforms like
- TFLOPS.
- * The test script for h5toh4 used to not able to detect the hdp
- dumper command was not valid. It now detects and reports the
- failure of hdp execution.
-
-Documentation
--------------
-
- * User's Guide and Reference Manual were updated.
- See doc/html/PSandPDF/index.html for more details.
-
-
-Platforms Tested:
-================
- Note: Due to the nature of bug fixes, only static versions of the library and tools were tested.
-
-
- AIX 4.3.2 (IBM SP) 3.6.6
- Cray T3E 2.0.4.81 cc 6.3.0.1
- mpt.1.3
- FreeBSD 3.3-STABLE gcc 2.95.2
- HP-UX B.10.20 HP C HP92453-01 A.10.32
- IRIX 6.5 MIPSpro cc 7.30
- IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
- mpt.1.3 (SGI MPI 3.2.0.0)
-
- Linux 2.2.10 SuSE egcs-2.91.66 configured with
- (i686-pc-linux-gnu) --disable-hsizet
- mpich-1.2.0 egcs-2.91.66 19990314/Linux
-
- OSF1 V4.0 DEC-V5.2-040
- SunOS 5.6 cc WorkShop Compilers 4.2 no optimization
- SunOS 5.7 cc WorkShop Compilers 5.0
- TFLOPS 2.8 cicc (pgcc Rel 3.0-5i)
- mpich-1.1.2 with local changes
- Windows NT4.0 sp5 MSVC++ 6.0
-
-Known Problems:
-==============
-
-o SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
- fail if library is compiled using optimization of any level.
-
-
-
-II. Release Information for hdf5-1.2.0
-
-A. Platforms Supported
- -------------------
-
-Operating systems listed below with compiler information and MPI library, if
-applicable, are systems that HDF5 1.2.0 was tested on.
-
- Compiler & libraries
- Platform Information Comment
- -------- ---------- --------
-
- AIX 4.3.2 (IBM SP) 3.6.6
-
- Cray J90 10.0.0.6 cc 6.3.0.0
-
- Cray T3E 2.0.4.61 cc 6.2.1.0
- mpt.1.3
-
- FreeBSD 3.2 gcc 2.95.1
-
- HP-UX B.10.20 HP C HP92453-01 A.10.32
- gcc 2.8.1
-
- IRIX 6.5 MIPSpro cc 7.30
-
- IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
- mpt.1.3 (SGI MPI 3.2.0.0)
-
- Linux 2.2.10 egcs-2.91.66 configured with
- --disable-hsizet
- lbraries: glibc2
-
- OSF1 V4.0 DEC-V5.2-040
-
- SunOS 5.6 cc WorkShop Compilers 4.2
- no optimization
- gcc 2.8.1
-
- SunOS 5.7 cc WorkShop Compilers 5.0
- gcc 2.8.1
-
- TFLOPS 2.7.1 cicc (pgcc Rel 3.0-4i)
- mpich-1.1.2 with local changes
-
- Windows NT4.0 intel MSVC++ 5.0 and 6.0
-
- Windows NT alpha 4.0 MSVC++ 5.0
-
- Windows 98 MSVC++ 5.0
-
-
-B. Known Problems
- --------------
-
-* NT alpha 4.0
- Dumper utiliy h5dump fails if linked with DLL.
-
-* SunOS 5.6 with C WorkShop Compilers 4.2
- Hyperslab selections will fail if library is compiled using optimization
- of any level.
-
-
-C. Changes Since Version 1.0.1
- ---------------------------
-
-1. Documentation
- -------------
-
-* More examples
-
-* Updated user guide, reference manual, and format specification.
-
-* Self-contained documentation for installations isolated from the
- Internet.
-
-* HDF5 Tutorial was added to the documentation
-
-2. Configuration
- -------------
-
-* Better detection and support for MPI-IO.
-
-* Recognition of compilers with known code generation problems.
-
-* Support for various compilers on a single architecture (e.g., the
- native compiler and the GNU compilers).
-
-* Ability to build from read-only media and with different compilers
- and/or options concurrently.
-
-* Added a libhdf5.settings file which summarizes the configuration
- information and is installed along with the library.
-
-* Builds a shared library on most systems that support it.
-
-* Support for Cray T3E, J90 and Windows/NT.
-
-3. Debugging
- ---------
-
-* Improved control and redirection of debugging and tracing messages.
-
-4. Datatypes
- ---------
-
-* Optimizations to compound datatype conversions and I/O operations.
-
-* Added nearly 100 optimized conversion functions for native datatypes
- including support for non-aligned data.
-
-* Added support for bitfield, opaque, and enumeration types.
-
-* Added distinctions between signed and unsigned char types to the
- list of predefined native hdf5 datatypes.
-
-* Added HDF5 type definitions for C9x types like int32_t.
-
-* Application-defined type conversion functions can handle non-packed
- data.
-
-* Changed the H5Tunregister() function to use wildcards when matching
- conversion functions. H5Tregister_hard() and H5Tregister_soft()
- were combined into H5Tregister().
-
-* Support for variable-length datatypes (arrays of varying length per
- dataset element). Variable length strings currently supported only
- as variable length arrays of 1-byte integers.
-
-5. Dataspaces
- ----------
-
-* New query functions for selections.
-
-* I/O operations bypass the stripmining loop and go directly to
- storage for certain contiguous selections in the absense of type
- conversions. In other cases the stripmining buffers are used more
- effectively.
-
-* Reduced the number of I/O requests under certain circumstances,
- improving performance on systems with high I/O latency.
-
-6. Persistent Pointers
- -------------------
-
-* Object (serial and parallel) and dataset region (serial only)
- references are implemented.
-
-7. Parallel Support
- ----------------
-
-* Improved parallel I/O performance.
-
-* Supported new platforms: Cray T3E, Linux, DEC Cluster.
-
-* Use vendor supported version of MPIO on SGI O2K and Cray platforms.
-
-* Improved the algorithm that translates an HDF5 hyperslab selection
- into an MPI type for better collective I/O performance.
-
-8. New API functions
- -----------------
-
- a. Property List Interface:
- ------------------------
-
- H5Pset_xfer - set data transfer properties
- H5Pset_preserve - set dataset transfer property list status
- H5Pget_preserve - get dataset transfer property list status
- H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
- H5Pget_hyper_cache - returns information regarding the caching of
- hyperslab blocks during I/O
- H5Pget_btree_ratios - sets B-tree split ratios for a dataset
- transfer property list
- H5Pset_btree_ratios - gets B-tree split ratios for a dataset
- transfer property list
- H5Pset_vlen_mem_manager - sets the memory manager for variable-length
- datatype allocation
- H5Pget_vlen_mem_manager - sets the memory manager for variable-length
- datatype allocation
-
- b. Dataset Interface:
- ------------------
-
- H5Diterate - iterate over all selected elements in a dataspace
- H5Dget_storage_size - return the amount of storage required for a dataset
- H5Dvlen_reclaim - reclaim VL datatype memory buffers
-
- c. Dataspace Interface:
- --------------------
- H5Sget_select_hyper_nblocks - get number of hyperslab blocks
- H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
- currently selected
- H5Sget_select_elem_npoints - get the number of element points
- in the current selection
- H5Sget_select_elem_pointlist - get the list of element points
- currently selected
- H5Sget_select_bounds - gets the bounding box containing
- the current selection
-
- d. Datatype Interface:
- -------------------
- H5Tget_super - return the base datatype from which a
- datatype is derived
- H5Tvlen_create - creates a new variable-length dataype
- H5Tenum_create - creates a new enumeration datatype
- H5Tenum_insert - inserts a new enumeration datatype member
- H5Tenum_nameof - returns the symbol name corresponding to a
- specified member of an enumeration datatype
- H5Tvalueof - return the value corresponding to a
- specified member of an enumeration datatype
- H5Tget_member_value - return the value of an enumeration datatype member
- H5Tset_tag - tags an opaque datatype
- H5Tget_tag - gets the tag associated with an opaque datatype
-
- e. Identifier Interface:
- ---------------------
- H5Iget_type - retrieve the type of an object
-
- f. Reference Interface:
- --------------------
- H5Rcreate - creates a reference
- H5Rdereference - open the HDF5 object referenced
- H5Rget_region - retrieve a dataspace with the specified region selected
- H5Rget_object_type - retrieve the type of object that an
- object reference points to
-
- g. Ragged Arrays (alpha) (names of those API functions were changed):
- ------------------------------------------------------------------
- H5RAcreate - create a new ragged array (old name was H5Rcreate)
- H5RAopen - open an existing array (old name was H5Ropen)
- H5RAclose - close a ragged array (old name was H5Rclose)
- H5RAwrite - write to an array (old name was H5Rwrite)
- H5RAread - read from an array (old name was H5Rread)
-
-
-9. Tools
- -----
-
-* Enhancements to the h5ls tool including the ability to list objects
- from more than one file, to display raw hexadecimal data, to
- show file addresses for raw data, to format output more reasonably,
- to show object attributes, and to perform a recursive listing,
-
-* Enhancements to h5dump: support new data types added since previous
- versions.
-
-* h5toh4: An hdf5 to hdf4 converter.
-
-
-
-III. Changes Since The Version 1.0.0 Release
-
-* [Improvement]: configure sets up the Makefile in the parallel tests
- suit (testpar/) correctly.
-
-* [Bug-Fix]: Configure failed for all IRIX versions other than 6.3.
- It now configures correctly for all IRIX 6.x version.
-
-* Released Parallel HDF5
-
- Supported Features:
- ------------------
-
- HDF5 files are accessed according to the communicator and INFO
- object defined in the property list set by H5Pset_mpi.
-
- Independent read and write accesses to fixed and extendable dimension
- datasets.
-
- Collective read and write accesses to fixed dimension datasets.
-
- Supported Platforms:
- -------------------
-
- Intel Red
- IBM SP2
- SGI Origin 2000
-
- Changes In This Release:
- -----------------------
-
- o Support of Access to Extendable Dimension Datasets.
- Extendable dimension datasets must use chunked storage methods.
- A new function, H5Dextend, is created to extend the current
- dimensions of a dataset. The current release requires the
- MPI application must make a collective call to extend the
- dimensions of an extendable dataset before writing to the
- newly extended area. (The serial does not require the
- call of H5Dextend. The dimensions of an extendable
- dataset is increased when data is written to beyond the
- current dimensions but within the maximum dimensions.)
- The required collective call of H5Dextend may be relaxed
- in future release.
-
- This release only support independent read and write accesses
- to extendable datasets. Collective accesses to extendable
- datasets will be implemented in future releases.
-
- o Collective access to fixed dimension datasets.
- Collective access to a dataset can be specified in the transfer
- property list argument in H5Dread and H5Dwrite. The current
- release supports collective access to fixed dimension datasets.
- Collective access to extendable datasets will be implemented in
- future releases.
-
- o HDF5 files are opened according to Communicator and INFO object.
- H5Dopen now records the communicator and INFO setup by H5Pset_mmpi
- and pass them to the corresponding MPIO open file calls for
- processing.
-
- o This release has been tested on IBM SP2, Intel Red and SGI Origin 2000
- systems. It uses the ROMIO version of MPIO interface for parallel
- I/O supports.
-
-
-
-IV. Changes Since The Beta 1.0.0 Release
-
-* Added fill values for datasets. For contiguous datasets fill value
- performance may be quite poor since the fill value is written to the
- entire dataset when the dataset is created. This will be remedied
- in a future version. Chunked datasets using fill values do not
- incur any additional overhead. See H5Pset_fill_value().
-
-* Multiple hdf5 files can be "mounted" on one another to create a
- larger virtual file. See H5Fmount().
-
-* Object names can be removed or changed but objects are never
- actually removed from the file yet. See H5Gunlink() and H5Gmove().
-
-* Added a tuning mechanism for B-trees to insure that sequential
- writes to chunked datasets use less overhead. See H5Pset_btree_ratios().
-
-* Various optimizations and bug fixes.
-
-
-V. Changes Since The Second Alpha 1.0.0 Release
-
-* Strided hyperslab selections in dataspaces now working.
-
-* The compression API has been replaced with a more general filter
- API. See doc/html/Filters.html for details.
-
-* Alpha-quality 2d ragged arrays are implemented as a layer built on
- top of other hdf5 objects. The API and storage format will almost
- certainly change.
-
-* More debugging support including API tracing. See Debugging.html.
-
-* C and Fortran style 8-bit fixed-length character string types are
- supported with space or null padding or null termination and
- translations between them.
-
-* Added function H5Fflush() to write all cached data immediately to
- the file.
-
-* Datasets maintain a modification time which can be retrieved with
- H5Gstat().
-
-* The h5ls tool can display much more information, including all the
- values of a dataset.
-
-
-VI. Changes Since The First Alpha 1.0.0 Release
-
-* Two of the packages have been renamed. The data space API has been
- renamed from `H5P' to `H5S' and the property list (template) API has
- been renamed from `H5C' to `H5P'.
-
-* The new attribute API `H5A' has been added. An attribute is a small
- dataset which can be attached to some other object (for instance, a
- 4x4 transformation matrix attached to a 3-dimensional dataset, or an
- English abstract attached to a group).
-
-* The error handling API `H5E' has been completed. By default, when an
- API function returns failure an error stack is displayed on the
- standard error stream. The H5Eset_auto() controls the automatic
- printing and H5E_BEGIN_TRY/H5E_END_TRY macros can temporarily
- disable the automatic error printing.
-
-* Support for large files and datasets (>2GB) has been added. There
- is an html document that describes how it works. Some of the types
- for function arguments have changed to support this: all arguments
- pertaining to sizes of memory objects are `size_t' and all arguments
- pertaining to file sizes are `hsize_t'.
-
-* More data type conversions have been added although none of them are
- fine tuned for performance. There are new converters from integer
- to integer and float to float, but not between integers and floating
- points. A bug has been fixed in the converter between compound
- types.
-
-* The numbered types have been removed from the API: int8, uint8,
- int16, uint16, int32, uint32, int64, uint64, float32, and float64.
- Use standard C types instead. Similarly, the numbered types were
- removed from the H5T_NATIVE_* architecture; use unnumbered types
- which correspond to the standard C types like H5T_NATIVE_INT.
-
-* More debugging support was added. If tracing is enabled at
- configuration time (the default) and the HDF5_TRACE environment
- variable is set to a file descriptor then all API calls will emit
- the function name, argument names and values, and return value on
- that file number. There is an html document that describes this.
- If appropriate debugging options are enabled at configuration time,
- some packages will display performance information on stderr.
-
-* Data types can be stored in the file as independent objects and
- multiple datasets can share a data type.
-
-* The raw data I/O stream has been implemented and the application can
- control meta and raw data caches, so I/O performance should be
- improved from the first alpha release.
-
-* Group and attribute query functions have been implemented so it is
- now possible to find out the contents of a file with no prior
- knowledge.
-
-* External raw data storage allows datasets to be written by other
- applications or I/O libraries and described and accessed through
- HDF5.
-
-* Hard and soft (symbolic) links are implemented which allow groups to
- share objects. Dangling and recursive symbolic links are supported.
-
-* User-defined data compression is implemented although we may
- generalize the interface to allow arbitrary user-defined filters
- which can be used for compression, checksums, encryption,
- performance monitoring, etc. The publicly-available `deflate'
- method is predefined if the GNU libz.a can be found at configuration
- time.
-
-* The configuration scripts have been modified to make it easier to
- build debugging vs. production versions of the library.
-
-* The library automatically checks that the application was compiled
- with the correct version of header files.
-
-
- Parallel HDF5 Changes
-
-* Parallel support for fixed dimension datasets with contiguous or
- chunked storages. Also, support unlimited dimension datasets which
- must use chunk storage. No parallel support for compressed datasets.
-
-* Collective data transfer for H5Dread/H5Dwrite. Collective access
- support for datasets with contiguous storage only, thus only fixed
- dimension datasets for now.
-
-* H5Pset_mpi and H5Pget_mpi no longer have the access_mode
- argument. It is taken over by the data-transfer property list
- of H5Dread/H5Dwrite.
-
-* New functions H5Pset_xfer and H5Pget_xfer to handle the
- specification of independent or collective data transfer_mode
- in the dataset transfer properties list. The properties
- list can be used to specify data transfer mode in the H5Dwrite
- and H5Dread function calls.
-
-* Added parallel support for datasets with chunked storage layout.
- When a dataset is extend in a PHDF5 file, all processes that open
- the file must collectively call H5Dextend with identical new dimension
- sizes.
-
-
- LIST OF API FUNCTIONS
-
-The following functions are implemented. Errors are returned if an
-attempt is made to use some feature which is not implemented and
-printing the error stack will show `not implemented yet'.
-
-Library
- H5check - check that lib version matches header version
- H5open - initialize library (happens automatically)
- H5close - shut down the library (happens automatically)
- H5dont_atexit - don't call H5close on exit
- H5get_libversion - retrieve library version info
- H5check_version - check for specific library version
-
-Property Lists
- H5Pclose - release template resources
- H5Pcopy - copy a template
- H5Pcreate - create a new template
- H5Pget_chunk - get chunked storage properties
- H5Pset_chunk - set chunked storage properties
- H5Pget_class - get template class
- H5Pget_istore_k - get chunked storage properties
- H5Pset_istore_k - set chunked storage properties
- H5Pget_layout - get raw data layout class
- H5Pset_layout - set raw data layout class
- H5Pget_sizes - get address and size sizes
- H5Pset_sizes - set address and size sizes
- H5Pget_sym_k - get symbol table storage properties
- H5Pset_sym_k - set symbol table storage properties
- H5Pget_userblock - get user-block size
- H5Pset_userblock - set user-block size
- H5Pget_version - get file version numbers
- H5Pget_alignment - get data alignment properties
- H5Pset_alignment - set data alignment properties
- H5Pget_external_count- get count of external data files
- H5Pget_external - get information about an external data file
- H5Pset_external - add a new external data file to the list
- H5Pget_driver - get low-level file driver class
- H5Pget_stdio - get properties for stdio low-level driver
- H5Pset_stdio - set properties for stdio low-level driver
- H5Pget_sec2 - get properties for sec2 low-level driver
- H5Pset_sec2 - set properties for sec2 low-level driver
- H5Pget_core - get properties for core low-level driver
- H5Pset_core - set properties for core low-level driver
- H5Pget_split - get properties for split low-level driver
- H5Pset_split - set properties for split low-level driver
- H5P_get_family - get properties for family low-level driver
- H5P_set_family - set properties for family low-level driver
- H5Pget_cache - get meta- and raw-data caching properties
- H5Pset_cache - set meta- and raw-data caching properties
- H5Pget_buffer - get raw-data I/O pipe buffer properties
- H5Pset_buffer - set raw-data I/O pipe buffer properties
- H5Pget_preserve - get type conversion preservation properties
- H5Pset_preserve - set type conversion preservation properties
- H5Pget_nfilters - get number of raw data filters
- H5Pget_filter - get raw data filter properties
- H5Pset_filter - set raw data filter properties
- H5Pset_deflate - set deflate compression filter properties
- H5Pget_mpi - get MPI-IO properties
- H5Pset_mpi - set MPI-IO properties
- H5Pget_xfer - get data transfer properties
- + H5Pset_xfer - set data transfer properties
- + H5Pset_preserve - set dataset transfer property list status
- + H5Pget_preserve - get dataset transfer property list status
- + H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
- + H5Pget_hyper_cache - returns information regarding the caching of
- hyperslab blocks during I/O
- + H5Pget_btree_ratios - sets B-tree split ratios for a dataset
- transfer property list
- + H5Pset_btree_ratios - gets B-tree split ratios for a dataset
- transfer property list
- + H5Pset_vlen_mem_manager - sets the memory manager for variable-length
- datatype allocation
- + H5Pget_vlen_mem_manager - sets the memory manager for variable-length
- datatype allocation
-
-Datasets
- H5Dclose - release dataset resources
- H5Dcreate - create a new dataset
- H5Dget_space - get data space
- H5Dget_type - get data type
- H5Dget_create_plist - get dataset creation properties
- H5Dopen - open an existing dataset
- H5Dread - read raw data
- H5Dwrite - write raw data
- H5Dextend - extend a dataset
- + H5Diterate - iterate over all selected elements in a dataspace
- + H5Dget_storage_size - return the amount of storage required for a dataset
- + H5Dvlen_reclaim - reclaim VL datatype memory buffers
-
-Attributes
- H5Acreate - create a new attribute
- H5Aopen_name - open an attribute by name
- H5Aopen_idx - open an attribute by number
- H5Awrite - write values into an attribute
- H5Aread - read values from an attribute
- H5Aget_space - get attribute data space
- H5Aget_type - get attribute data type
- H5Aget_name - get attribute name
- H5Anum_attrs - return the number of attributes for an object
- H5Aiterate - iterate over an object's attributes
- H5Adelete - delete an attribute
- H5Aclose - close an attribute
-
-Errors
- H5Eclear - clear the error stack
- H5Eprint - print an error stack
- H5Eget_auto - get automatic error reporting settings
- H5Eset_auto - set automatic error reporting
- H5Ewalk - iterate over the error stack
- H5Ewalk_cb - the default error stack iterator function
- H5Eget_major - get the message for the major error number
- H5Eget_minor - get the message for the minor error number
-
-Files
- H5Fclose - close a file and release resources
- H5Fcreate - create a new file
- H5Fget_create_plist - get file creation property list
- H5Fget_access_plist - get file access property list
- H5Fis_hdf5 - determine if a file is an hdf5 file
- H5Fopen - open an existing file
- H5Freopen - reopen an HDF5 file
- H5Fmount - mount a file
- H5Funmount - unmount a file
- H5Fflush - flush all buffers associated with a file to disk
-
-Groups
- H5Gclose - close a group and release resources
- H5Gcreate - create a new group
- H5Gopen - open an existing group
- H5Giterate - iterate over the contents of a group
- H5Gmove - change the name of some object
- H5Glink - create a hard or soft link to an object
- H5Gunlink - break the link between a name and an object
- H5Gget_objinfo - get information about a group entry
- H5Gget_linkval - get the value of a soft link
- H5Gget_comment - get the comment string for an object
- H5Gset_comment - set the comment string for an object
-
-Dataspaces
- H5Screate - create a new data space
- H5Scopy - copy a data space
- H5Sclose - release data space
- H5Screate_simple - create a new simple data space
- H5Sset_space - set simple data space extents
- H5Sis_simple - determine if data space is simple
- H5Sset_extent_simple - set simple data space dimensionality and size
- H5Sget_simple_extent_npoints - get number of points in simple extent
- H5Sget_simple_extent_ndims - get simple data space dimensionality
- H5Sget_simple_extent_dims - get simple data space size
- H5Sget_simple_extent_type - get type of simple extent
- H5Sset_extent_none - reset extent to be empty
- H5Sextent_copy - copy the extent from one data space to another
- H5Sget_select_npoints - get number of points selected for I/O
- H5Sselect_hyperslab - set hyperslab dataspace selection
- H5Sselect_elements - set element sequence dataspace selection
- H5Sselect_all - select entire extent for I/O
- H5Sselect_none - deselect all elements of extent
- H5Soffset_simple - set selection offset
- H5Sselect_valid - determine if selection is valid for extent
- + H5Sget_select_hyper_nblocks - get number of hyperslab blocks
- + H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
- currently selected
- + H5Sget_select_elem_npoints - get the number of element points
- in the current selection
- + H5Sget_select_elem_pointlist - get the list of element points
- currently selected
- + H5Sget_select_bounds - gets the bounding box containing
- the current selection
-
-Datatypes
- H5Tclose - release data type resources
- H5Topen - open a named data type
- H5Tcommit - name a data type
- H5Tcommitted - determine if a type is named
- H5Tcopy - copy a data type
- H5Tcreate - create a new data type
- H5Tequal - compare two data types
- H5Tlock - lock type to prevent changes
- H5Tfind - find a data type conversion function
- H5Tconvert - convert data from one type to another
- H5Tregister - register a conversion function
- H5Tunregister - remove a conversion function
- H5Tget_overflow - get function that handles overflow conv. cases
- H5Tset_overflow - set function to handle overflow conversion cases
- H5Tget_class - get data type class
- H5Tget_cset - get character set
- H5Tget_ebias - get exponent bias
- H5Tget_fields - get floating point fields
- H5Tget_inpad - get inter-field padding
- H5Tget_member_dims - get struct member dimensions
- H5Tget_member_name - get struct member name
- H5Tget_member_offset - get struct member byte offset
- H5Tget_member_type - get struct member type
- H5Tget_nmembers - get number of struct members
- H5Tget_norm - get floating point normalization
- H5Tget_offset - get bit offset within type
- H5Tget_order - get byte order
- H5Tget_pad - get padding type
- H5Tget_precision - get precision in bits
- H5Tget_sign - get integer sign type
- H5Tget_size - get size in bytes
- H5Tget_strpad - get string padding
- H5Tinsert - insert scalar struct member
- H5Tinsert_array - insert array struct member
- H5Tpack - pack struct members
- H5Tset_cset - set character set
- H5Tset_ebias - set exponent bias
- H5Tset_fields - set floating point fields
- H5Tset_inpad - set inter-field padding
- H5Tset_norm - set floating point normalization
- H5Tset_offset - set bit offset within type
- H5Tset_order - set byte order
- H5Tset_pad - set padding type
- H5Tset_precision - set precision in bits
- H5Tset_sign - set integer sign type
- H5Tset_size - set size in bytes
- H5Tset_strpad - set string padding
- + H5Tget_super - return the base datatype from which a
- datatype is derived
- + H5Tvlen_create - creates a new variable-length dataype
- + H5Tenum_create - creates a new enumeration datatype
- + H5Tenum_insert - inserts a new enumeration datatype member
- + H5Tenum_nameof - returns the symbol name corresponding to a
- specified member of an enumeration datatype
- + H5Tvalueof - return the value corresponding to a
- specified member of an enumeration datatype
- + H5Tget_member_value - return the value of an enumeration datatype member
- + H5Tset_tag - tags an opaque datatype
- + H5Tget_tag - gets the tag associated with an opaque datatype
-
- - H5Tregister_hard - register specific type conversion function
- - H5Tregister_soft - register general type conversion function
-
-Filters
- H5Tregister - register a conversion function
-
-Compression
- H5Zregister - register new compression and uncompression
- functions for a method specified by a method number
-
-Identifiers
- + H5Iget_type - retrieve the type of an object
-
-References
- + H5Rcreate - creates a reference
- + H5Rdereference - open the HDF5 object referenced
- + H5Rget_region - retrieve a dataspace with the specified region selected
- + H5Rget_object_type - retrieve the type of object that an
- object reference points to
-
-Ragged Arrays (alpha)
- H5RAcreate - create a new ragged array
- H5RAopen - open an existing array
- H5RAclose - close a ragged array
- H5RAwrite - write to an array
- H5RAread - read from an array
-
-</pre>
</dir>
+<p>&nbsp;
-<!--
-<h2>Release 1.4</h2>
-<dir>
-
- <h3>New Functions</h3>
-
- <h3>Deleted Functions</h3>
+<h2>This and Prior Releases: The RELEASE and HISTORY Files</h2>
- <h3>Functions with Changed Syntax</h3>
-
-</dir>
-<h2>Release 1.2.2</h2>
<dir>
-
+ The HDF5 source code, as distributed to users and developers,
+ contains two files that will be of interest to readers of this
+ document. Both files are located at the top level of the
+ source code tree (i.e., in <code>.../hdf5/</code>) and are
+ duplicated here for your reference:
+ <p>
+ <dl>
+ <dt><a href="RELEASE.txt" target="ExtWin">RELEASE</a>
+ <dd>Technical notes regarding the release, including
+ new features and the changes since the last release,
+ notes regarding new or revised utilities,
+ notes regarding alternative language APIs (Fortran90, C++),
+ bugs fixed since the last release,
+ platforms on which the release has been tested,
+ and
+ known problems.
+ This is the file commonly known among developers as
+ "the release notes."
+ <p>
+ <dt><a href="HISTORY.txt" target="ExtWin">HISTORY</a>
+ <dd>A release-by-release history of the HDF5 library.
+ This file is a compiled set of the release notes
+ (i.e., the RELEASE files) from prior releases.
+ <dl>
</dir>
-<h2>Release 1.2.1</h2>
-<dir>
-
-</dir>
-<h2>Release 1.2</h2>
-<dir>
-
-</dir>
-<h2>Release 1.0.1</h2>
-<dir>
-
-</dir>
-<h2>Release 1.0</h2>
-<dir>
-
-</dir>
--->
-
diff --git a/doc/html/ADGuide/HISTORY.txt b/doc/html/ADGuide/HISTORY.txt
new file mode 100644
index 0000000..79f5065
--- /dev/null
+++ b/doc/html/ADGuide/HISTORY.txt
@@ -0,0 +1,984 @@
+HDF5 HISTORY
+============
+
+CONTENTS
+I. Release Information for hdf5-1.2.2
+II. Release Information for hdf5-1.2.1
+III. Release Information for hdf5-1.2.0
+ A. Platforms Supported
+ B. Known Problems
+ C. Changes Since Version 1.0.1
+ 1. Documentation
+ 2. Configuration
+ 3. Debugging
+ 4. Datatypes
+ 5. Dataspaces
+ 6. Persistent Pointers
+ 7. Parallel Support
+ 8. New API Functions
+ a. Property List Interface
+ b. Dataset Interface
+ c. Dataspace Interface
+ d. Datatype Interface
+ e. Identifier Interface
+ f. Reference Interface
+ g. Ragged Arrays
+ 9. Tools
+
+IV. Changes from Release 1.0.0 to Release 1.0.1
+V. Changes from the Beta 1.0.0 Release to Release 1.0.0
+VI. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release
+VII. Changes from the First Alpha 1.0.0 Release to the
+ Second Alpha 1.0.0 Release
+
+[Search on the string '%%%%' for per-release section breaks.]
+
+-----------------------------------------------------------------------
+
+
+
+%%%%1.2.2%%%% Release Information for hdf5-1.2.2 (6/23/00)
+
+I. Release Information for hdf5-1.2.2
+
+INTRODUCTION
+
+This document describes the differences between HDF5-1.2.1 and
+HDF5-1.2.2, and contains information on the platforms where HDF5-1.2.2
+was tested and known problems in HDF5-1.2.2.
+
+The HDF5 documentation can be found on the NCSA ftp server
+(ftp.ncsa.uiuc.edu) in the directory:
+
+ /HDF/HDF5/docs/
+
+For more information look at the HDF5 home page at:
+
+ http://hdf.ncsa.uiuc.edu/HDF5/
+
+If you have any questions or comments, please send them to:
+
+ hdfhelp@ncsa.uiuc.edu
+
+
+CONTENTS
+
+- Features Added since HDF5-1.2.1
+- Bug Fixes since HDF5-1.2.1
+- Known Problems
+- Platforms Tested
+
+
+Features Added since HDF5-1.2.1
+===============================
+ * Added internal free-lists to reduce memory required by the library and
+ H5garbage_collect API function.
+ * h5dump displays opaque and bitfield types.
+ * New features added to snapshots. Use 'snapshot help' to see a
+ complete list of features.
+ * Improved configure to detect if MPIO routines are available when
+ parallel mode is requested.
+
+Bug Fixes since HDF5-1.2.1
+==========================
+ * h5dump correctly displays compound datatypes, including simple and
+ nested compound types.
+ * h5dump correctly displays the committed copy of predefined types.
+ * Corrected an error in h5toh4 which did not convert the 32-bit
+ int from HDF5 to HDF4 correctly for the T3E platform.
+ * Corrected a floating point number conversion error for the
+ Cray J90 platform. The error did not convert the value 0.0
+ correctly.
+ * Fixed error in H5Giterate which was not updating the "index" parameter
+ correctly.
+ * Fixed error in hyperslab iteration which was not walking through the
+ correct sequence of array elements if hyperslabs were staggered in a
+ certain pattern.
+ * Fixed several other problems in hyperslab iteration code.
+ * Fixed another H5Giterate bug which caused groups with large numbers
+ of objects in them to misbehave when the callback function returned
+ non-zero values.
+ * Changed return type of H5Aiterate and H5A_operator_t typedef to be
+ herr_t, to align them with the dataset and group iterator functions.
+ * Changed H5Screate_simple and H5Sset_extent_simple to not allow dimensions
+ of size 0 without the same dimension being unlimited.
+ * Improved metadata hashing & caching algorithms to avoid
+ many hash flushes and also removed some redundant I/O when moving metadata
+ blocks in the file.
+ * The libhdf5.settings file shows the correct machine byte-sex.
+ * The "struct(opt)" type conversion function which gets invoked for
+ certain compound datatype conversions was fixed for nested compound
+ types. This required a small change in the datatype conversion
+ function API.
+
+Known Problems
+==============
+
+o SunOS 5.6 with C WorkShop Compilers 4.2: hyperslab selections will
+ fail if library is compiled using optimization of any level.
+o TFLOPS: dsets test fails if compiled with optimization turned on.
+o J90: tools fail to dispay data for the datasets with a compound datatype.
+
+Platforms Tested
+================
+
+ AIX 4.3.3 (IBM SP) 3.6.6 | binaries
+ mpicc using mpich 1.1.2 | are not
+ mpicc_r using IBM MPI-IO prototype | available
+ AIX 4.3.2.0 (IBM SP) xlc 5.0.1.0
+ Cray J90 10.0.0.7 cc 6.3.0.2
+ Cray T3E 2.0.5.29 cc 6.3.0.2
+ mpt.1.3
+ FreeBSD 4.0 gcc 2.95.2
+ HP-UX B.10.20 HP C HP92453-01 A.10.32
+ HP-UX B.11.00 HP92453-01 A.11.00.13 HP C Compiler
+ (static library only, h5toh4 tool is not available)
+ IRIX 6.5 MIPSpro cc 7.30
+ IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
+ mpt.1.4
+
+ Linux 2.2.10 SMP gcc 2.95.1
+ mpicc(gcc-2.95.1)
+ gcc (egcs-2.91.66)
+ mpicc (egcs-2.91.66)
+ Linux 2.2.16 (RedHat 6.2) gcc 2.95.2
+
+ OSF1 V4.0 DEC-V5.2-040
+ SunOS 5.6 cc WorkShop Compilers 5.0 no optimization
+ SunOS 5.7 cc WorkShop Compilers 5.0
+ SolarisX86 SunOS 5.5.1 gcc version 2.7.2 with --disable-hsizet
+ TFLOPS 3.2.1 pgcc Rel 3.1-3i
+ mpich-1.1.2 with local changes
+ Windows NT4.0 sp5 MSVC++ 6.0
+ Windows 98 MSVC++ 6.0
+ Windows 2000 MSVC++ 6.0
+
+
+
+%%%%1.2.1%%%% Release Information for hdf5-1.2.1
+
+II. Release Information for hdf5-1.2.1
+
+Bug fixes since HDF5-1.2.0
+==========================
+
+Configuration
+-------------
+
+ * The hdf5.h include file was fixed to allow the HDF5 Library to be compiled
+ with other libraries/applications that use GNU autoconf.
+ * Configuration for parallel HDF5 was improved. Configure now attempts to
+ link with libmpi.a and/or libmpio.a as the MPI libraries by default.
+ It also uses "mpirun" to launch MPI tests by default. It tests to
+ link MPIO routines during the configuration stage, rather than failing
+ later as before. One can just do "./configure --enable-parallel"
+ if the MPI library is in the system library.
+
+Library
+-------
+
+ * Error was fixed which was not allowing dataset region references to have
+ their regions retrieved correctly.
+ * Added internal free-lists to reduce memory required by the library and
+ H5garbage_collect API function
+ * Fixed error in H5Giterate which was not updating the "index" parameter
+ correctly.
+ * Fixed error in hyperslab iteration which was not walking through the
+ correct sequence of array elements if hyperslabs were staggered in a
+ certain pattern
+ * Fixed several other problems in hyperslab iteration code.
+
+Tests
+------
+
+ * Added additional tests for group and attribute iteration.
+ * Added additional test for staggered hyperslab iteration.
+ * Added additional test for random 5-D hyperslab selection.
+
+Tools
+------
+
+ * Added an option, -V, to show the version information of h5dump.
+ * Fixed a core dumping bug of h5toh4 when executed on platforms like
+ TFLOPS.
+ * The test script for h5toh4 used to not able to detect the hdp
+ dumper command was not valid. It now detects and reports the
+ failure of hdp execution.
+
+Documentation
+-------------
+
+ * User's Guide and Reference Manual were updated.
+ See doc/html/PSandPDF/index.html for more details.
+
+
+Platforms Tested:
+================
+Note: Due to the nature of bug fixes, only static versions of the library and tools were tested.
+
+
+ AIX 4.3.2 (IBM SP) 3.6.6
+ Cray T3E 2.0.4.81 cc 6.3.0.1
+ mpt.1.3
+ FreeBSD 3.3-STABLE gcc 2.95.2
+ HP-UX B.10.20 HP C HP92453-01 A.10.32
+ IRIX 6.5 MIPSpro cc 7.30
+ IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
+ mpt.1.3 (SGI MPI 3.2.0.0)
+
+ Linux 2.2.10 SuSE egcs-2.91.66 configured with
+ (i686-pc-linux-gnu) --disable-hsizet
+ mpich-1.2.0 egcs-2.91.66 19990314/Linux
+
+ OSF1 V4.0 DEC-V5.2-040
+ SunOS 5.6 cc WorkShop Compilers 4.2 no optimization
+ SunOS 5.7 cc WorkShop Compilers 5.0
+ TFLOPS 2.8 cicc (pgcc Rel 3.0-5i)
+ mpich-1.1.2 with local changes
+ Windows NT4.0 sp5 MSVC++ 6.0
+
+Known Problems:
+==============
+
+o SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
+ fail if library is compiled using optimization of any level.
+
+
+
+%%%%1.2.0%%%% Release Information for hdf5-1.2.0
+
+III. Release Information for hdf5-1.2.0
+
+A. Platforms Supported
+ -------------------
+
+Operating systems listed below with compiler information and MPI library, if
+applicable, are systems that HDF5 1.2.0 was tested on.
+
+ Compiler & libraries
+ Platform Information Comment
+ -------- ---------- --------
+
+ AIX 4.3.2 (IBM SP) 3.6.6
+
+ Cray J90 10.0.0.6 cc 6.3.0.0
+
+ Cray T3E 2.0.4.61 cc 6.2.1.0
+ mpt.1.3
+
+ FreeBSD 3.2 gcc 2.95.1
+
+ HP-UX B.10.20 HP C HP92453-01 A.10.32
+ gcc 2.8.1
+
+ IRIX 6.5 MIPSpro cc 7.30
+
+ IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
+ mpt.1.3 (SGI MPI 3.2.0.0)
+
+ Linux 2.2.10 egcs-2.91.66 configured with
+ --disable-hsizet
+ lbraries: glibc2
+
+ OSF1 V4.0 DEC-V5.2-040
+
+ SunOS 5.6 cc WorkShop Compilers 4.2
+ no optimization
+ gcc 2.8.1
+
+ SunOS 5.7 cc WorkShop Compilers 5.0
+ gcc 2.8.1
+
+ TFLOPS 2.7.1 cicc (pgcc Rel 3.0-4i)
+ mpich-1.1.2 with local changes
+
+ Windows NT4.0 intel MSVC++ 5.0 and 6.0
+
+ Windows NT alpha 4.0 MSVC++ 5.0
+
+ Windows 98 MSVC++ 5.0
+
+
+B. Known Problems
+ --------------
+
+* NT alpha 4.0
+ Dumper utiliy h5dump fails if linked with DLL.
+
+* SunOS 5.6 with C WorkShop Compilers 4.2
+ Hyperslab selections will fail if library is compiled using optimization
+ of any level.
+
+
+C. Changes Since Version 1.0.1
+ ---------------------------
+
+1. Documentation
+ -------------
+
+* More examples
+
+* Updated user guide, reference manual, and format specification.
+
+* Self-contained documentation for installations isolated from the
+ Internet.
+
+* HDF5 Tutorial was added to the documentation
+
+2. Configuration
+ -------------
+
+* Better detection and support for MPI-IO.
+
+* Recognition of compilers with known code generation problems.
+
+* Support for various compilers on a single architecture (e.g., the
+ native compiler and the GNU compilers).
+
+* Ability to build from read-only media and with different compilers
+ and/or options concurrently.
+
+* Added a libhdf5.settings file which summarizes the configuration
+ information and is installed along with the library.
+
+* Builds a shared library on most systems that support it.
+
+* Support for Cray T3E, J90 and Windows/NT.
+
+3. Debugging
+ ---------
+
+* Improved control and redirection of debugging and tracing messages.
+
+4. Datatypes
+ ---------
+
+* Optimizations to compound datatype conversions and I/O operations.
+
+* Added nearly 100 optimized conversion functions for native datatypes
+ including support for non-aligned data.
+
+* Added support for bitfield, opaque, and enumeration types.
+
+* Added distinctions between signed and unsigned char types to the
+ list of predefined native hdf5 datatypes.
+
+* Added HDF5 type definitions for C9x types like int32_t.
+
+* Application-defined type conversion functions can handle non-packed
+ data.
+
+* Changed the H5Tunregister() function to use wildcards when matching
+ conversion functions. H5Tregister_hard() and H5Tregister_soft()
+ were combined into H5Tregister().
+
+* Support for variable-length datatypes (arrays of varying length per
+ dataset element). Variable length strings currently supported only
+ as variable length arrays of 1-byte integers.
+
+5. Dataspaces
+ ----------
+
+* New query functions for selections.
+
+* I/O operations bypass the stripmining loop and go directly to
+ storage for certain contiguous selections in the absense of type
+ conversions. In other cases the stripmining buffers are used more
+ effectively.
+
+* Reduced the number of I/O requests under certain circumstances,
+ improving performance on systems with high I/O latency.
+
+6. Persistent Pointers
+ -------------------
+
+* Object (serial and parallel) and dataset region (serial only)
+ references are implemented.
+
+7. Parallel Support
+ ----------------
+
+* Improved parallel I/O performance.
+
+* Supported new platforms: Cray T3E, Linux, DEC Cluster.
+
+* Use vendor supported version of MPIO on SGI O2K and Cray platforms.
+
+* Improved the algorithm that translates an HDF5 hyperslab selection
+ into an MPI type for better collective I/O performance.
+
+8. New API functions
+ -----------------
+
+ a. Property List Interface:
+ ------------------------
+
+ H5Pset_xfer - set data transfer properties
+ H5Pset_preserve - set dataset transfer property list status
+ H5Pget_preserve - get dataset transfer property list status
+ H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
+ H5Pget_hyper_cache - returns information regarding the caching of
+ hyperslab blocks during I/O
+ H5Pget_btree_ratios - sets B-tree split ratios for a dataset
+ transfer property list
+ H5Pset_btree_ratios - gets B-tree split ratios for a dataset
+ transfer property list
+ H5Pset_vlen_mem_manager - sets the memory manager for variable-length
+ datatype allocation
+ H5Pget_vlen_mem_manager - sets the memory manager for variable-length
+ datatype allocation
+
+ b. Dataset Interface:
+ ------------------
+
+ H5Diterate - iterate over all selected elements in a dataspace
+ H5Dget_storage_size - return the amount of storage required for a dataset
+ H5Dvlen_reclaim - reclaim VL datatype memory buffers
+
+ c. Dataspace Interface:
+ --------------------
+ H5Sget_select_hyper_nblocks - get number of hyperslab blocks
+ H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
+ currently selected
+ H5Sget_select_elem_npoints - get the number of element points
+ in the current selection
+ H5Sget_select_elem_pointlist - get the list of element points
+ currently selected
+ H5Sget_select_bounds - gets the bounding box containing
+ the current selection
+
+ d. Datatype Interface:
+ -------------------
+ H5Tget_super - return the base datatype from which a
+ datatype is derived
+ H5Tvlen_create - creates a new variable-length dataype
+ H5Tenum_create - creates a new enumeration datatype
+ H5Tenum_insert - inserts a new enumeration datatype member
+ H5Tenum_nameof - returns the symbol name corresponding to a
+ specified member of an enumeration datatype
+ H5Tvalueof - return the value corresponding to a
+ specified member of an enumeration datatype
+ H5Tget_member_value - return the value of an enumeration datatype member
+ H5Tset_tag - tags an opaque datatype
+ H5Tget_tag - gets the tag associated with an opaque datatype
+
+ e. Identifier Interface:
+ ---------------------
+ H5Iget_type - retrieve the type of an object
+
+ f. Reference Interface:
+ --------------------
+ H5Rcreate - creates a reference
+ H5Rdereference - open the HDF5 object referenced
+ H5Rget_region - retrieve a dataspace with the specified region selected
+ H5Rget_object_type - retrieve the type of object that an
+ object reference points to
+
+ g. Ragged Arrays (alpha) (names of those API functions were changed):
+ ------------------------------------------------------------------
+ H5RAcreate - create a new ragged array (old name was H5Rcreate)
+ H5RAopen - open an existing array (old name was H5Ropen)
+ H5RAclose - close a ragged array (old name was H5Rclose)
+ H5RAwrite - write to an array (old name was H5Rwrite)
+ H5RAread - read from an array (old name was H5Rread)
+
+
+9. Tools
+ -----
+
+* Enhancements to the h5ls tool including the ability to list objects
+ from more than one file, to display raw hexadecimal data, to
+ show file addresses for raw data, to format output more reasonably,
+ to show object attributes, and to perform a recursive listing,
+
+* Enhancements to h5dump: support new data types added since previous
+ versions.
+
+* h5toh4: An hdf5 to hdf4 converter.
+
+
+
+%%%%1.0.1%%%% Release Information for hdf5-1.0.1
+
+IV. Changes from Release 1.0.0 to Release 1.0.1
+
+* [Improvement]: configure sets up the Makefile in the parallel tests
+ suit (testpar/) correctly.
+
+* [Bug-Fix]: Configure failed for all IRIX versions other than 6.3.
+ It now configures correctly for all IRIX 6.x version.
+
+* Released Parallel HDF5
+
+ Supported Features:
+ ------------------
+
+ HDF5 files are accessed according to the communicator and INFO
+ object defined in the property list set by H5Pset_mpi.
+
+ Independent read and write accesses to fixed and extendable dimension
+ datasets.
+
+ Collective read and write accesses to fixed dimension datasets.
+
+ Supported Platforms:
+ -------------------
+
+ Intel Red
+ IBM SP2
+ SGI Origin 2000
+
+ Changes In This Release:
+ -----------------------
+
+ o Support of Access to Extendable Dimension Datasets.
+ Extendable dimension datasets must use chunked storage methods.
+ A new function, H5Dextend, is created to extend the current
+ dimensions of a dataset. The current release requires the
+ MPI application must make a collective call to extend the
+ dimensions of an extendable dataset before writing to the
+ newly extended area. (The serial does not require the
+ call of H5Dextend. The dimensions of an extendable
+ dataset is increased when data is written to beyond the
+ current dimensions but within the maximum dimensions.)
+ The required collective call of H5Dextend may be relaxed
+ in future release.
+
+ This release only support independent read and write accesses
+ to extendable datasets. Collective accesses to extendable
+ datasets will be implemented in future releases.
+
+ o Collective access to fixed dimension datasets.
+ Collective access to a dataset can be specified in the transfer
+ property list argument in H5Dread and H5Dwrite. The current
+ release supports collective access to fixed dimension datasets.
+ Collective access to extendable datasets will be implemented in
+ future releases.
+
+ o HDF5 files are opened according to Communicator and INFO object.
+ H5Dopen now records the communicator and INFO setup by H5Pset_mmpi
+ and pass them to the corresponding MPIO open file calls for
+ processing.
+
+ o This release has been tested on IBM SP2, Intel Red and SGI Origin 2000
+ systems. It uses the ROMIO version of MPIO interface for parallel
+ I/O supports.
+
+
+
+%%%%1.0.0%%%% Release Information for hdf5-1.0.0
+
+V. Changes from the Beta 1.0.0 Release to Release 1.0.0
+
+* Added fill values for datasets. For contiguous datasets fill value
+ performance may be quite poor since the fill value is written to the
+ entire dataset when the dataset is created. This will be remedied
+ in a future version. Chunked datasets using fill values do not
+ incur any additional overhead. See H5Pset_fill_value().
+
+* Multiple hdf5 files can be "mounted" on one another to create a
+ larger virtual file. See H5Fmount().
+
+* Object names can be removed or changed but objects are never
+ actually removed from the file yet. See H5Gunlink() and H5Gmove().
+
+* Added a tuning mechanism for B-trees to insure that sequential
+ writes to chunked datasets use less overhead. See H5Pset_btree_ratios().
+
+* Various optimizations and bug fixes.
+
+
+
+%%%%1.0.0 Beta%%%% Release Information for hdf5-1.0.0 Beta
+
+VI. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release
+
+* Strided hyperslab selections in dataspaces now working.
+
+* The compression API has been replaced with a more general filter
+ API. See doc/html/Filters.html for details.
+
+* Alpha-quality 2d ragged arrays are implemented as a layer built on
+ top of other hdf5 objects. The API and storage format will almost
+ certainly change.
+
+* More debugging support including API tracing. See Debugging.html.
+
+* C and Fortran style 8-bit fixed-length character string types are
+ supported with space or null padding or null termination and
+ translations between them.
+
+* Added function H5Fflush() to write all cached data immediately to
+ the file.
+
+* Datasets maintain a modification time which can be retrieved with
+ H5Gstat().
+
+* The h5ls tool can display much more information, including all the
+ values of a dataset.
+
+
+
+%%%%1.0.0 Alpha 2%%%% Release Information for hdf5-1.0.0 Alpha 2
+
+VII. Changes from the First Alpha 1.0.0 Release to
+ the Second Alpha 1.0.0 Release
+
+* Two of the packages have been renamed. The data space API has been
+ renamed from `H5P' to `H5S' and the property list (template) API has
+ been renamed from `H5C' to `H5P'.
+
+* The new attribute API `H5A' has been added. An attribute is a small
+ dataset which can be attached to some other object (for instance, a
+ 4x4 transformation matrix attached to a 3-dimensional dataset, or an
+ English abstract attached to a group).
+
+* The error handling API `H5E' has been completed. By default, when an
+ API function returns failure an error stack is displayed on the
+ standard error stream. The H5Eset_auto() controls the automatic
+ printing and H5E_BEGIN_TRY/H5E_END_TRY macros can temporarily
+ disable the automatic error printing.
+
+* Support for large files and datasets (>2GB) has been added. There
+ is an html document that describes how it works. Some of the types
+ for function arguments have changed to support this: all arguments
+ pertaining to sizes of memory objects are `size_t' and all arguments
+ pertaining to file sizes are `hsize_t'.
+
+* More data type conversions have been added although none of them are
+ fine tuned for performance. There are new converters from integer
+ to integer and float to float, but not between integers and floating
+ points. A bug has been fixed in the converter between compound
+ types.
+
+* The numbered types have been removed from the API: int8, uint8,
+ int16, uint16, int32, uint32, int64, uint64, float32, and float64.
+ Use standard C types instead. Similarly, the numbered types were
+ removed from the H5T_NATIVE_* architecture; use unnumbered types
+ which correspond to the standard C types like H5T_NATIVE_INT.
+
+* More debugging support was added. If tracing is enabled at
+ configuration time (the default) and the HDF5_TRACE environment
+ variable is set to a file descriptor then all API calls will emit
+ the function name, argument names and values, and return value on
+ that file number. There is an html document that describes this.
+ If appropriate debugging options are enabled at configuration time,
+ some packages will display performance information on stderr.
+
+* Data types can be stored in the file as independent objects and
+ multiple datasets can share a data type.
+
+* The raw data I/O stream has been implemented and the application can
+ control meta and raw data caches, so I/O performance should be
+ improved from the first alpha release.
+
+* Group and attribute query functions have been implemented so it is
+ now possible to find out the contents of a file with no prior
+ knowledge.
+
+* External raw data storage allows datasets to be written by other
+ applications or I/O libraries and described and accessed through
+ HDF5.
+
+* Hard and soft (symbolic) links are implemented which allow groups to
+ share objects. Dangling and recursive symbolic links are supported.
+
+* User-defined data compression is implemented although we may
+ generalize the interface to allow arbitrary user-defined filters
+ which can be used for compression, checksums, encryption,
+ performance monitoring, etc. The publicly-available `deflate'
+ method is predefined if the GNU libz.a can be found at configuration
+ time.
+
+* The configuration scripts have been modified to make it easier to
+ build debugging vs. production versions of the library.
+
+* The library automatically checks that the application was compiled
+ with the correct version of header files.
+
+
+ Parallel HDF5 Changes
+
+* Parallel support for fixed dimension datasets with contiguous or
+ chunked storages. Also, support unlimited dimension datasets which
+ must use chunk storage. No parallel support for compressed datasets.
+
+* Collective data transfer for H5Dread/H5Dwrite. Collective access
+ support for datasets with contiguous storage only, thus only fixed
+ dimension datasets for now.
+
+* H5Pset_mpi and H5Pget_mpi no longer have the access_mode
+ argument. It is taken over by the data-transfer property list
+ of H5Dread/H5Dwrite.
+
+* New functions H5Pset_xfer and H5Pget_xfer to handle the
+ specification of independent or collective data transfer_mode
+ in the dataset transfer properties list. The properties
+ list can be used to specify data transfer mode in the H5Dwrite
+ and H5Dread function calls.
+
+* Added parallel support for datasets with chunked storage layout.
+ When a dataset is extend in a PHDF5 file, all processes that open
+ the file must collectively call H5Dextend with identical new dimension
+ sizes.
+
+
+ LIST OF API FUNCTIONS
+
+The following functions are implemented. Errors are returned if an
+attempt is made to use some feature which is not implemented and
+printing the error stack will show `not implemented yet'.
+
+Library
+ H5check - check that lib version matches header version
+ H5open - initialize library (happens automatically)
+ H5close - shut down the library (happens automatically)
+ H5dont_atexit - don't call H5close on exit
+ H5get_libversion - retrieve library version info
+ H5check_version - check for specific library version
+
+Property Lists
+ H5Pclose - release template resources
+ H5Pcopy - copy a template
+ H5Pcreate - create a new template
+ H5Pget_chunk - get chunked storage properties
+ H5Pset_chunk - set chunked storage properties
+ H5Pget_class - get template class
+ H5Pget_istore_k - get chunked storage properties
+ H5Pset_istore_k - set chunked storage properties
+ H5Pget_layout - get raw data layout class
+ H5Pset_layout - set raw data layout class
+ H5Pget_sizes - get address and size sizes
+ H5Pset_sizes - set address and size sizes
+ H5Pget_sym_k - get symbol table storage properties
+ H5Pset_sym_k - set symbol table storage properties
+ H5Pget_userblock - get user-block size
+ H5Pset_userblock - set user-block size
+ H5Pget_version - get file version numbers
+ H5Pget_alignment - get data alignment properties
+ H5Pset_alignment - set data alignment properties
+ H5Pget_external_count- get count of external data files
+ H5Pget_external - get information about an external data file
+ H5Pset_external - add a new external data file to the list
+ H5Pget_driver - get low-level file driver class
+ H5Pget_stdio - get properties for stdio low-level driver
+ H5Pset_stdio - set properties for stdio low-level driver
+ H5Pget_sec2 - get properties for sec2 low-level driver
+ H5Pset_sec2 - set properties for sec2 low-level driver
+ H5Pget_core - get properties for core low-level driver
+ H5Pset_core - set properties for core low-level driver
+ H5Pget_split - get properties for split low-level driver
+ H5Pset_split - set properties for split low-level driver
+ H5P_get_family - get properties for family low-level driver
+ H5P_set_family - set properties for family low-level driver
+ H5Pget_cache - get meta- and raw-data caching properties
+ H5Pset_cache - set meta- and raw-data caching properties
+ H5Pget_buffer - get raw-data I/O pipe buffer properties
+ H5Pset_buffer - set raw-data I/O pipe buffer properties
+ H5Pget_preserve - get type conversion preservation properties
+ H5Pset_preserve - set type conversion preservation properties
+ H5Pget_nfilters - get number of raw data filters
+ H5Pget_filter - get raw data filter properties
+ H5Pset_filter - set raw data filter properties
+ H5Pset_deflate - set deflate compression filter properties
+ H5Pget_mpi - get MPI-IO properties
+ H5Pset_mpi - set MPI-IO properties
+ H5Pget_xfer - get data transfer properties
+ + H5Pset_xfer - set data transfer properties
+ + H5Pset_preserve - set dataset transfer property list status
+ + H5Pget_preserve - get dataset transfer property list status
+ + H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O
+ + H5Pget_hyper_cache - returns information regarding the caching of
+ hyperslab blocks during I/O
+ + H5Pget_btree_ratios - sets B-tree split ratios for a dataset
+ transfer property list
+ + H5Pset_btree_ratios - gets B-tree split ratios for a dataset
+ transfer property list
+ + H5Pset_vlen_mem_manager - sets the memory manager for variable-length
+ datatype allocation
+ + H5Pget_vlen_mem_manager - sets the memory manager for variable-length
+ datatype allocation
+
+Datasets
+ H5Dclose - release dataset resources
+ H5Dcreate - create a new dataset
+ H5Dget_space - get data space
+ H5Dget_type - get data type
+ H5Dget_create_plist - get dataset creation properties
+ H5Dopen - open an existing dataset
+ H5Dread - read raw data
+ H5Dwrite - write raw data
+ H5Dextend - extend a dataset
+ + H5Diterate - iterate over all selected elements in a dataspace
+ + H5Dget_storage_size - return the amount of storage required for a dataset
+ + H5Dvlen_reclaim - reclaim VL datatype memory buffers
+
+Attributes
+ H5Acreate - create a new attribute
+ H5Aopen_name - open an attribute by name
+ H5Aopen_idx - open an attribute by number
+ H5Awrite - write values into an attribute
+ H5Aread - read values from an attribute
+ H5Aget_space - get attribute data space
+ H5Aget_type - get attribute data type
+ H5Aget_name - get attribute name
+ H5Anum_attrs - return the number of attributes for an object
+ H5Aiterate - iterate over an object's attributes
+ H5Adelete - delete an attribute
+ H5Aclose - close an attribute
+
+Errors
+ H5Eclear - clear the error stack
+ H5Eprint - print an error stack
+ H5Eget_auto - get automatic error reporting settings
+ H5Eset_auto - set automatic error reporting
+ H5Ewalk - iterate over the error stack
+ H5Ewalk_cb - the default error stack iterator function
+ H5Eget_major - get the message for the major error number
+ H5Eget_minor - get the message for the minor error number
+
+Files
+ H5Fclose - close a file and release resources
+ H5Fcreate - create a new file
+ H5Fget_create_plist - get file creation property list
+ H5Fget_access_plist - get file access property list
+ H5Fis_hdf5 - determine if a file is an hdf5 file
+ H5Fopen - open an existing file
+ H5Freopen - reopen an HDF5 file
+ H5Fmount - mount a file
+ H5Funmount - unmount a file
+ H5Fflush - flush all buffers associated with a file to disk
+
+Groups
+ H5Gclose - close a group and release resources
+ H5Gcreate - create a new group
+ H5Gopen - open an existing group
+ H5Giterate - iterate over the contents of a group
+ H5Gmove - change the name of some object
+ H5Glink - create a hard or soft link to an object
+ H5Gunlink - break the link between a name and an object
+ H5Gget_objinfo - get information about a group entry
+ H5Gget_linkval - get the value of a soft link
+ H5Gget_comment - get the comment string for an object
+ H5Gset_comment - set the comment string for an object
+
+Dataspaces
+ H5Screate - create a new data space
+ H5Scopy - copy a data space
+ H5Sclose - release data space
+ H5Screate_simple - create a new simple data space
+ H5Sset_space - set simple data space extents
+ H5Sis_simple - determine if data space is simple
+ H5Sset_extent_simple - set simple data space dimensionality and size
+ H5Sget_simple_extent_npoints - get number of points in simple extent
+ H5Sget_simple_extent_ndims - get simple data space dimensionality
+ H5Sget_simple_extent_dims - get simple data space size
+ H5Sget_simple_extent_type - get type of simple extent
+ H5Sset_extent_none - reset extent to be empty
+ H5Sextent_copy - copy the extent from one data space to another
+ H5Sget_select_npoints - get number of points selected for I/O
+ H5Sselect_hyperslab - set hyperslab dataspace selection
+ H5Sselect_elements - set element sequence dataspace selection
+ H5Sselect_all - select entire extent for I/O
+ H5Sselect_none - deselect all elements of extent
+ H5Soffset_simple - set selection offset
+ H5Sselect_valid - determine if selection is valid for extent
+ + H5Sget_select_hyper_nblocks - get number of hyperslab blocks
+ + H5Sget_select_hyper_blocklist - get the list of hyperslab blocks
+ currently selected
+ + H5Sget_select_elem_npoints - get the number of element points
+ in the current selection
+ + H5Sget_select_elem_pointlist - get the list of element points
+ currently selected
+ + H5Sget_select_bounds - gets the bounding box containing
+ the current selection
+
+Datatypes
+ H5Tclose - release data type resources
+ H5Topen - open a named data type
+ H5Tcommit - name a data type
+ H5Tcommitted - determine if a type is named
+ H5Tcopy - copy a data type
+ H5Tcreate - create a new data type
+ H5Tequal - compare two data types
+ H5Tlock - lock type to prevent changes
+ H5Tfind - find a data type conversion function
+ H5Tconvert - convert data from one type to another
+ H5Tregister - register a conversion function
+ H5Tunregister - remove a conversion function
+ H5Tget_overflow - get function that handles overflow conv. cases
+ H5Tset_overflow - set function to handle overflow conversion cases
+ H5Tget_class - get data type class
+ H5Tget_cset - get character set
+ H5Tget_ebias - get exponent bias
+ H5Tget_fields - get floating point fields
+ H5Tget_inpad - get inter-field padding
+ H5Tget_member_dims - get struct member dimensions
+ H5Tget_member_name - get struct member name
+ H5Tget_member_offset - get struct member byte offset
+ H5Tget_member_type - get struct member type
+ H5Tget_nmembers - get number of struct members
+ H5Tget_norm - get floating point normalization
+ H5Tget_offset - get bit offset within type
+ H5Tget_order - get byte order
+ H5Tget_pad - get padding type
+ H5Tget_precision - get precision in bits
+ H5Tget_sign - get integer sign type
+ H5Tget_size - get size in bytes
+ H5Tget_strpad - get string padding
+ H5Tinsert - insert scalar struct member
+ H5Tinsert_array - insert array struct member
+ H5Tpack - pack struct members
+ H5Tset_cset - set character set
+ H5Tset_ebias - set exponent bias
+ H5Tset_fields - set floating point fields
+ H5Tset_inpad - set inter-field padding
+ H5Tset_norm - set floating point normalization
+ H5Tset_offset - set bit offset within type
+ H5Tset_order - set byte order
+ H5Tset_pad - set padding type
+ H5Tset_precision - set precision in bits
+ H5Tset_sign - set integer sign type
+ H5Tset_size - set size in bytes
+ H5Tset_strpad - set string padding
+ + H5Tget_super - return the base datatype from which a
+ datatype is derived
+ + H5Tvlen_create - creates a new variable-length dataype
+ + H5Tenum_create - creates a new enumeration datatype
+ + H5Tenum_insert - inserts a new enumeration datatype member
+ + H5Tenum_nameof - returns the symbol name corresponding to a
+ specified member of an enumeration datatype
+ + H5Tvalueof - return the value corresponding to a
+ specified member of an enumeration datatype
+ + H5Tget_member_value - return the value of an enumeration datatype member
+ + H5Tset_tag - tags an opaque datatype
+ + H5Tget_tag - gets the tag associated with an opaque datatype
+
+ - H5Tregister_hard - register specific type conversion function
+ - H5Tregister_soft - register general type conversion function
+
+Filters
+ H5Tregister - register a conversion function
+
+Compression
+ H5Zregister - register new compression and uncompression
+ functions for a method specified by a method number
+
+Identifiers
+ + H5Iget_type - retrieve the type of an object
+
+References
+ + H5Rcreate - creates a reference
+ + H5Rdereference - open the HDF5 object referenced
+ + H5Rget_region - retrieve a dataspace with the specified region selected
+ + H5Rget_object_type - retrieve the type of object that an
+ object reference points to
+
+Ragged Arrays (alpha)
+ H5RAcreate - create a new ragged array
+ H5RAopen - open an existing array
+ H5RAclose - close a ragged array
+ H5RAwrite - write to an array
+ H5RAread - read from an array
+
+
diff --git a/doc/html/ADGuide/RELEASE.txt b/doc/html/ADGuide/RELEASE.txt
new file mode 100644
index 0000000..59d0aab
--- /dev/null
+++ b/doc/html/ADGuide/RELEASE.txt
@@ -0,0 +1,435 @@
+
+
+ HDF5 Release 1.4-Beta3
+
+
+INTRODUCTION
+
+This document describes the differences between HDF5-1.2.0 and
+HDF5-1.4-Beta3, and contains information on the platforms tested and
+known problems in HDF5-1.4-Beta3. For more details check the HISTORY
+file in the HDF5 source.
+
+The HDF5 documentation can be found on the NCSA ftp server
+(ftp.ncsa.uiuc.edu) in the directory:
+
+ /HDF/HDF5/docs/
+
+For more information look at the HDF5 home page at:
+
+ http://hdf.ncsa.uiuc.edu/HDF5/
+
+If you have any questions or comments, please send them to:
+
+ hdfhelp@ncsa.uiuc.edu
+
+
+CONTENTS
+
+- New Features
+- h4toh5 Utility
+- F90 Support
+- C++ Support
+- Bug Fixes since HDF5-1.2.0
+- Bug Fixes since HDF5-1.4.0-beta2
+- Platforms Tested
+- Known Problems
+
+New Features
+============
+ * The Virtual File Layer, VFL, was added to replace the old file
+ drivers. It also provides an API for user defined file drivers.
+ * New features added to snapshots. Use 'snapshot help' to see a
+ complete list of features.
+ * Improved configure to detect if MPIO routines are available when
+ parallel mode is requested.
+ * Added Thread-Safe support. Phase I implemented.
+ * Added data sieve buffering to raw data I/O path. This is enabled
+ for all VFL drivers except the mpio & core drivers. Setting the
+ sieve buffer size is controlled with the new API function,
+ H5Pset_sieve_buf_size(), and retrieved with H5Pget_sieve_buf_size().
+ * Added new Virtual File Driver, Stream VFD, to send/receive entire
+ HDF5 files via socket connections.
+ * As parts of VFL, HDF-GASS and HDF-SRB are also added to this
+ release. To find out details, please read INSTALL_VFL file.
+ * Increased maximum number of dimensions for a dataset (H5S_MAX_RANK)
+ from 31 to 32 to align with HDF4 & netCDF.
+ * Added 'query' function to VFL drivers. Also added 'type' parameter to
+ VFL 'read' & 'write' calls, so they are aware of the type of data
+ being accessed in the file. Updated the VFL document also.
+ * A new h4toh5 uitlity, to convert HDF4 files to analogous HDF5 files.
+ * Added a new array datatype to the datatypes which can be created. Removed
+ "array fields" from compound datatypes (use an array datatype instead).
+ * Parallel HDF5 works correctly with mpich-1.2.1 on Solaris, SGI, Linux.
+
+h4toh5 Utility
+==============
+
+ The h4toh5 utility is a new utility that converts an HDF4 file to an
+ HDF5 file. For details, see the document, "Mapping HDF4 Objects to
+ HDF5 Objects":
+ http://hdf.ncsa.uiuc.edu/HDF5/papers/H4-H5MappingGuidelines.pdf
+
+ Known Limitations of the h4toh5 beta release
+ ---------------------------------------------
+
+ 1. Error Handling
+
+ Error reporting is minimal.
+
+ 2. String Datatype
+
+ HDF4 has no 'string' type. String valued data are usually defined as
+ an array of 'char' in HDF4. The h4toh5 utility will generally map
+ these to HDF5 'String' types rather than array of char, with the
+ following additional rules:
+
+ * For the data of an HDF4 SDS, image, and palette, if the data is
+ declared 'DFNT_CHAR8' it will be assumed to be integer and
+ will be an H5T_INTEGER type.
+ * For attributes of any HDF4 object, data of type 'DFNT_CHAR8'
+ will be converted to an HDF5 'H5T_STRING' type.
+ * For an HDF4 Vdata, it is difficult to determine whether data
+ of type 'DFNT_CHAR8' is intended to be bytes or characters.
+ The h4toh5 utility will consider them to be C characters, and
+ will convert them to an HDF5 'H5T_STRING' type.
+
+
+ 3. Compression, Chunking and External Storage
+
+ Chunking is supported, but compression and external storage is not.
+
+ An HDF4 object that uses chunking will be converted to an HDF5 file
+ with analogous chunked storage.
+
+ An HDF4 object that uses compression will be converted to an
+ uncompressed HDF5 object.
+
+ An HDF4 object that uses external storage will be converted to an
+ HDF5 object without external storage.
+
+ 4. Memory Use
+
+ The beta version of the h4toh5 utility copies data from HDF4 objects
+ in a single read followed by a single write to the HDF5 object. For
+ large objects, this requires a very large amount of memory, which may
+ be extremely slow or fail on some platforms.
+
+ Note that a dataset that has only been partly written will
+ be read completely, including uninitialized data, and all the
+ data will be written to the HDF5 object.
+
+ 5. Platforms
+
+ The h4toh5 utility requires HDF5.1.4 and HDF4r1.4
+
+ The beta h4toh5 utility has been tested on Solaris 2.6, Solaris 2.5,
+ Irix 6.5, HPUX 11.0, DEC Unix, FreeBSD, Windows 2000(NT5.0),Windows NT
+ and Windows 98.
+
+F90 Support
+===========
+
+ This is the first release of the HDF5 Library with fully integrated
+ F90 API support. The Fortran Library is created when the
+ --enable-fortran flag is specified during configuration.
+
+ Not all F90 subroutines are implemented. Please refer to the HDF5
+ Reference Manual for more details.
+
+ F90 APIs are available for the Solaris 2.6 and 2.7, Linux, DEC UNIX,
+ T3E, J90 and O2K (64 bit option only) platforms. The Parallel version of
+ the HDF5 F90 Library is supported on the O2K and T3E platforms.
+
+ Changes since the last prototype release (July 2000)
+ ----------------------------------------------------
+
+ * h5open_f and h5close_f must be called instead of h5init_types and
+ h5close_types.
+
+ * The following subroutines are no longer available:
+ h5pset_xfer_f
+ h5pget_xfer_f
+ h5pset_mpi_f
+ h5pget_mpi_f
+ h5pset_stdio_f
+ h5pget_stdio_f
+ h5pset_sec2_f
+ h5pget_sec2_f
+ h5pset_core_f
+ h5pget_core_f
+ h5pset_family_f
+ h5pget_family_f
+
+ * The following functions have been added:
+ h5pset_fapl_mpio_f
+ h5pget_fapl_mpio_f
+ h5pset_dxpl_mpio_f
+ h5pget_dxpl_mpio_f
+
+ * In the previous HDF5 F90 releases, the implementation of object
+ references and dataset region references was not portable. This
+ release introduces a portable implementation, but it also introduces
+ changes to the read/write APIs that handle references. If object or
+ dataset region references are written or read to/from an HDF5 file,
+ h5dwrite_f and h5dread_f must use the extra parameter, n, for the
+ buffer size:
+
+ h5dwrite(read)_f(dset_id, mem_type_id, buf, n, hdferr, &
+ ^^^
+ mem_space_id, file_space_id, xfer_prp)
+
+ For other datatypes the APIs were not changed.
+
+
+C++ Support
+===========
+
+ This is the first release of the HDF5 Library with fully integrated
+ C++ API support. The HDF5 C++ library is built when the --enable-cxx
+ flag is specified during configuration.
+
+ Check the HDF5 Reference Manual for available C++ documentation.
+
+ C++ APIs are available for Solaris 2.6 and 2.7, Linux, and FreeBSD.
+
+
+Bug Fixes since HDF5-1.2.0
+==========================
+
+Library
+-------
+
+ * The function H5Pset_mpi is renamed as H5Pset_fapl_mpio.
+ * Corrected a floating point number conversion error for the Cray J90
+ platform. The error did not convert the value 0.0 correctly.
+ * Error was fixed which was not allowing dataset region references to
+ have their regions retrieved correctly.
+ * Corrected a bug that caused non-parallel file drivers to fail in
+ the parallel version.
+ * Added internal free-lists to reduce memory required by the library
+ and H5garbage_collect API function
+ * Fixed error in H5Giterate which was not updating the "index"
+ parameter correctly.
+ * Fixed error in hyperslab iteration which was not walking through the
+ correct sequence of array elements if hyperslabs were staggered in a
+ certain pattern
+ * Fixed several other problems in hyperslab iteration code.
+ * Fixed another H5Giterate bug which was causes groups with large
+ numbers of objects in them to misbehave when the callback function
+ returned non-zero values.
+ * Changed return type of H5Aiterate and H5A_operator_t typedef to be
+ herr_t, to align them with the dataset and group iterator functions.
+ * Changed H5Screate_simple and H5Sset_extent_simple to not allow
+ dimensions of size 0 with out the same dimension being unlimited.
+ * QAK - 4/19/00 - Improved metadata hashing & caching algorithms to
+ avoid many hash flushes and also remove some redundant I/O when
+ moving metadata blocks in the file.
+ * The "struct(opt)" type conversion function which gets invoked for
+ certain compound datatype conversions was fixed for nested compound
+ types. This required a small change in the datatype conversion
+ function API.
+ * Re-wrote lots of the hyperslab code to speed it up quite a bit.
+ * Added bounded garbage collection for the free lists when they run
+ out of memory and also added H5set_free_list_limits API call to
+ allow users to put an upper limit on the amount of memory used for
+ free lists.
+ * Checked for non-existent or deleted objects when dereferencing one
+ with object or region references and disallow dereference.
+ * "Time" datatypes (H5T_UNIX_D*) were not being stored and retrieved
+ from object headers correctly, fixed now.
+ * Fixed H5Dread or H5Dwrite calls with H5FD_MPIO_COLLECTIVE requests
+ that may hang because not all processes are transfer the same amount
+ of data. (A.K.A. prematured collective return when zero amount data
+ requested.) Collective calls that may cause hanging is done via the
+ corresponding MPI-IO independent calls.
+ * If configure with --enable-debug=all, couple functions would issue
+ warning messages to "stderr" that the operation is expensive time-wise.
+ This messed up applications (like testings) that did not expect the
+ extra output. It is changed so that the warning will be printed only
+ if the corresponding Debug key is set.
+
+Configuration
+-------------
+
+ * The hdf5.h include file was fixed to allow the HDF5 Library to be
+ compiled with other libraries/applications that use GNU autoconf.
+ * Configuration for parallel HDF5 was improved. Configure now attempts
+ to link with libmpi.a and/or libmpio.a as the MPI libraries by
+ default. It also uses "mpirun" to launch MPI tests by default. It
+ tests to link MPIO routines during the configuration stage, rather
+ than failing later as before. One can just do "./configure
+ --enable-parallel" if the MPI library is in the system library.
+ * Added support for pthread library and thread-safe option.
+ * The libhdf5.settings file shows the correct machine byte-sex.
+ * Added option "--enable-stream-vfd" to configure w/o the Stream VFD.
+ For Solaris, added -lsocket to the LIBS list of libraries.
+
+Tools
+-----
+ * h5dump now accepts both short and long command-line parameters:
+ -h, --help Print a usage message and exit
+ -B, --bootblock Print the content of the boot block
+ -H, --header Print the header only; no data is displayed
+ -i, --object-ids Print the object ids
+ -V, --version Print version number and exit
+ -a P, --attribute=P Print the specified attribute
+ -d P, --dataset=P Print the specified dataset
+ -g P, --group=P Print the specified group and all members
+ -l P, --soft-link=P Print the value(s) of the specified soft link
+ -o F, --output=F Output raw data into file F
+ -t T, --datatype=T Print the specified named data type
+ -w #, --width=# Set the number of columns
+
+ P - is the full path from the root group to the object.
+ T - is the name of the data type.
+ F - is a filename.
+ # - is an integer greater than 1.
+ * A change from the old way command line parameters were interpreted
+ is that multiple attributes, datasets, groups, soft-links, and
+ object-ids cannot be specified with just one flag but you have to
+ use a flag with each object. I.e., instead of doing this:
+
+ h5dump -a /attr1 /attr2 foo.h5
+
+ do this:
+
+ h5dump -a /attr1 -a /attr2 foo.h5
+
+ The cases are similar for the other object types.
+ * h5dump correctly displays compound datatypes.
+ * Corrected an error in h5toh4 which did not convert the 32bits
+ int from HDF5 to HDF4 corectly for the T3E platform.
+ * h5dump correctly displays the committed copy of predefined types
+ correctly.
+ * Added an option, -V, to show the version information of h5dump.
+ * Fixed a core dumping bug of h5toh4 when executed on platforms like
+ TFLOPS.
+ * The test script for h5toh4 used to not able to detect the hdp
+ dumper command was not valid. It now detects and reports the
+ failure of hdp execution.
+ * Merged the tools with the 1.2.2 branch. Required adding new
+ macros, VERSION12 and VERSION13, used in conditional compilation.
+ Updated the Windows project files for the tools.
+ * h5dump displays opaque and bitfield data correctly.
+ * h5dump and h5ls can browse files created with the Stream VFD
+ (eg. "h5ls <hostname>:<port>").
+ * h5dump has a new feature "-o <filename>" which outputs the raw data
+ of the dataset into ascii text file <filename>.
+ * h5toh4 used to converts hdf5 strings type to hdf4 DFNT_INT8 type.
+ Corrected to produce hdf4 DFNT_CHAR type instead.
+ * h5dump and h5ls displays array data correctly.
+
+Documentation
+-------------
+
+ * User's Guide and Reference Manual were updated.
+ See doc/html/PSandPDF/index.html for more details.
+
+
+Bug Fixes since HDF5-1.4.0-beta2
+================================
+
+ * Corrected configuration error which was not including compression support
+ correctly.
+ * Cleaned up lots of warnings.
+ * Changed a few h5dump command line switches and added long versions of
+ the switches.
+ * Changed parameters for H5Tconvert, H5Pset_bufer and H5Pget_buffer from
+ size_t to hsize_t
+ * Fixed fairly obscure bug in hyperslab I/O which could (in rare cases)
+ not copy all the data during a transfer.
+ * Removed ragged array code from library.
+ * F90 library and module files are installed properly now on all supported platforms.
+
+Platforms Tested
+================
+
+ Note: Due to the nature of the bug fixes, only static versions of the
+ library and tools were tested.
+
+
+ AIX 4.3.2 (IBM SP) mpcc_r 3.6.6
+ Cray T3E sn6711 2.0.5.43 Cray Standard C Version 6.4.0.0
+ Cray Fortran Version 3.4.0.2
+ FreeBSD 4.2 gcc 2.95.2
+ g++ 2.95.2
+ HP-UX B.10.20 HP C HP92453-01 A.10.32.30
+ HP-UX B.11.00 HP C HP92453-01 A.11.00.13
+ IRIX 6.5 MIPSpro cc 7.30
+ IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m
+ mpt.1.4.0.2
+ mpich-1.2.1
+ Linux 2.2.16-3smp gcc-2.95.2
+ g++ 2.95.2
+ pgf90 3.1-3
+ OSF1 V4.0 DEC-V5.2-040
+ Digital Fortran 90 V4.1-270
+ SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0
+ (Solaris 2.6) WorkShop Compilers 5.0 99/10/25 Fortran 90
+ 2.0 Patch 107356-04
+ Workshop Compilers 5.0 98/12/15 C++ 5.0
+ SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0
+ (Solaris 2.7) WorkShop Compilers 5.0 99/10/25 Fortran 90
+ 2.0 Patch 107356-04
+ Workshop Compilers 5.0 98/12/15 C++ 5.0
+ TFLOPS 3.3 mpich-1.2.0 with local changes
+ Windows NT4.0, 2000 (NT5.0) MSVC++ 6.0
+ Windows 98 MSVC++ 6.0
+
+Known Problems
+==============
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+ platforms. This is due to the fact that not all of the system
+ libraries on Solaris are available in a static format.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on Linux platforms using the gcc-2.95.2 compiler.
+
+ It is suggested that you don't use this option on these platforms
+ during configuration.
+
+* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
+ compilation. The ANSI version of the compiler complains about not being
+ able to handle the `long long' datatype with the warning:
+
+ warning: ANSI C does not support `long long'
+
+ This warning is innocuous and can be safely ignored.
+
+* SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will
+ fail if library is compiled using optimization of any level.
+
+* When building hdf5 tools and applications on windows platform, a linking
+warning: defaultlib "LIBC" conflicts with use of other libs will appear
+on debug version when running VC++6.0. This warning doesn't affect building
+and testing hdf5 applications. We are investigating this now.
+* The Stream VFD was not tested yet under Windows.
+ It is not supported in the TFLOPS machine.
+
+* Shared library option is broken for IBM SP and some Origin 2000 platforms.
+ One needs to run ./configure with '--disable-shared'
+
+* The ./dsets tests failed in the TFLOPS machine if the test program,
+ dsets.c, is compiled with the -O option. The hdf5 library still works
+ correctly with the -O option. The test program works fine if it is
+ compiled with -O1 or -O0. Only -O (same as -O2) causes the test
+ program to fail.
+
+* Certain platforms give false negatives when testing h5ls:
+ - Solaris x86 2.5.1, Cray T3E and Cray J90 give errors during testing
+ when displaying object references in certain files. These are benign
+ differences due to the difference in sizes of the objects created on
+ those platforms. h5ls appears to be dumping object references
+ correctly.
+ - Cray J90 (and Cray T3E?) give errors during testing when displaying
+ some floating-point values. These are benign differences due to the
+ different precision in the values displayed and h5ls appears to be
+ dumping floating-point numbers correctly.
+
+* Before building HDF5 F90 Library from source on Crays (T3E and J90)
+ replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory
+ in the top level directory with the Cray-specific files from the
+ ftp://hdf.ncsa.uiuc.edu/pub/ougoing/hdf5/hdf5-1.4.0-beta/F90_source_for_Crays
+ directory.