HDF5 version 1.4.5 released on Sun Feb  2 20:10:01 CST 2003
==============================================================================


INTRODUCTION

This document describes the differences between HDF5-1.4.4 and
HDF5-1.4.5, and contains information on the platforms tested and
known problems in HDF5-1.4.5. For additional information check the 
HISTORY.txt 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, see 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
- Bug Fixes since HDF5-1.4.4
- Performance Improvements
- Documentation
- Platforms Tested
- Supported Configuration Features
- Known Problems


New Features
============
  o Configuration
  ================
    * Added "unofficial support" for building with a C++ compiler (or at least
      not failing badly when building with a C++ compiler).  QAK - 2003/01/09
    * Added "unofficial support" for AIX 64bits.  See INSTALL for configure
      details. AKC - 2002/08/29
    * Added "--with-dmalloc" flag, to easily enable support for the 'dmalloc'
      debugging malloc implementation. QAK - 2002/07/15

  o Library
  =========
    o General
    --------- 
      * Allow scalar dataspaces to be used for parallel I/O.  QAK - 2002/11/05
      * Added environment variable "HDF5_DISABLE_VERSION_CHECK", which disables
        the version checking between the header files and the library linked
        into an application if set to '1'.  This should be used with caution,
        mis-matched headers and library binaries can cause _serious_ problems.
        QAK - 2002/10/15
      * Partially fixed space allocation inefficiencies in the file by
        improving our algorithms for re-using freed space.  QAK - 2002/08/27
      * API tracing has been improved. Nested API calls don't screw up the
        output format; function call and return event times can be logged;
        total time spent in each function can be logged.  The following
        HDF5_DEBUG environment variable words affect tracing:
	    trace   -- turn on/off basic tracing
	    ttimes  -- turn on tracing and report event times and
                       time spent in each API function.
        ttop    -- turn on tracing but display only top-level
                       API calls.

    o APIs
    ------
      * Several missing fortran APIs have been added to the library:

        h5get_libversion_f        h5tget_member_index_f  h5dget_storage_size_f 
        h5check_version_f         h5tvlen_create_f       h5dvlen_get_max_len_f
        h5garbage_collect_f                              h5dwrite_vl_f
        h5dont_atexit_f                                  h5dread_vl_f

      Functions h5dvlen_get_max_len_f, h5dwrite_vl_f, and h5dread_vl_f support
      VL Length C APIs functionality for integer, real and string datatypes.
      See HDF5 Reference Manual and HDF5 FORTRAN90 User's Notes for more
      information and for the functions description.

  o Parallel library
  ==================
    * The MPI-posix virtual file driver makes gpfs_fcntl() hints to tell
        the underlying GPFS file system to avoid prefetching byte range
        tokens if USE_GPFS_HINTS is defined when this file is compiled.
        This temporary solution is intended to be removed once the HDF5
        API supports the necessary functionality that makes it possible
        for this sort of thing do be done at a higher software layer.
        RPM - 2002/12/03
    * Added MPI-posix VFL driver.  This VFL driver uses MPI functions to
        coordinate actions, but performs I/O directly with POSIX sec(2)
        (i.e. open/close/read/write/etc.) calls.  This driver should _NOT_
        be used to access files that are not on a parallel filesystem.
        The following API functions were added:
            herr_t H5Pset_fapl_mpiposix(hid_t fapl_id, MPI_Comm comm);
            herr_t H5Pget_fapl_mpiposix(hid_t fapl_id, MPI_Comm *comm/*out*/);
        QAK - 2002/07/15



  o Support for new platforms and languages
  =========================================
    * C++ API now works on the Origin2000 (IRIX6.5.14.)  BMR - 2002/11/14

  
  o Misc.
  =========================================
    HDF5 1.4.5 works with Portland Group Compilers (pgcc, pgf90 and pgCC 
    version 4.0-2) on Linux 2.4 


Bug Fixes since HDF5-1.4.4 Release
==================================
    * H5Fopen without the H5F_ACC_CREAT flag should not succeed in creating
        a new file with the 'core' VFL driver.  QAK - 2003/01/24
    * Corrected metadata caching bug in parallel I/O which could cause hangs
        when chunked datasets were accessed with independent transfer mode.
        QAK - 2003/01/23
    * Allow opening objects with unknown object header messages.
        QAK - 2003/01/21
    * Added improved error assertion for nil VL strings.  It return error
        stack instead of a simple assertion.  SLU - 2002/12/16
    * Fixed h5dump bug(cannot dump data and datatype) for VL string. 
        SLU - 2002/11/18 
    * Fixed error condition where "none" selections were not being handled
        correctly in serial & parallel.  QAK - 2002/10/29
    * Fixed problem where optimized hyperslab routines were incorrectly
        invoked for parallel I/O operations in collective mode.  QAK - 2002/07/22
    * Fixed metadata corruption problem which could occur when many objects
        are created in a file during parallel I/O.  QAK - 2002/07/19
    * Fixed minor problem with configuration when users specified /usr/include
        and /usr/lib for the --with-* options that some compilers can't
        handle. BW - 2003/01/23



Documentation
=============
    New PDF files are not available for this release.


Platforms Tested
================

    AIX 5.1  (32 and 64-bit)      C for AIX Compiler, Version 6
                                  xlf 8.1.0.2
                                  poe 3.2.0.11
    Cray T3E sn6606 2.0.6.08      Cray Standard C Version 6.6.0.1.3 
                                  Cray Fortran Version 3.6.0.0.12 
    Cray SV1 10.0.1. 0            Cray Standard C Version 6.6.0.1.3
                                  Cray Fortran Version 3.6.0.0.12
    Cray T90IEEE 10.0.1.01u       Cray Standard C Version 6.4.0.2.3
                                  Cray Fortran Version 3.4.0.3
    FreeBSD 4.7                   gcc 2.95.4
                                  g++ 2.95.5
    HP-UX B.11.00                 HP C  HP92453-01 A.11.01.20 
                                  HP F90 v2.4
    IRIX 6.5                      MIPSpro cc 7.30
    IRIX64 6.5 (64 & n32)         MIPSpro cc 7.3.1.3m
                                  F90 MIPSpro 7.3.1.3m (64 only)
    Linux 2.4.18                  gcc 3.2.1
                                  g++ 3.2.1
                                  Intel(R) C++ Version 6.0
                                  Intel(R) Fortran Compiler Version 6.0
                                  PGI compilers (pgcc, pgf90, pgCC) version 4.0-2
                                  pgf90  3.2-4
    OSF1 V5.1                     Compaq C V6.4-014
                                  Compaq Fortran X5.4A-1684
                                  gcc version 3.0 for C++
    SunOS 5.7                     WorkShop Compilers 5.0 98/12/15 C 5.0
     (Solaris 2.7)                WorkShop Compilers 5.0 98/12/15 C++ 5.0 
                                  WorkShop Compilers 5.0 98/10/25 
                                  FORTRAN 90 2.0 Patch 107356-04 
    SunOS 5.8/32                  Sun WorkShop 6 update 1 C 5.2 2000/09/11
     (Solaris 2.8)                Sun WorkShop 6 update 1 Fortran 95 6.1 
                                          Patch 109503-07 2001/08/11
                                  Sun WorkShop 6 update 1 C++ 5.2 Patch
                                        109508-04 2001/07/11
    SunOS 5.8/64                  Sun WorkShop 6 update 1 C 5.2 2000/09/11
     (Solaris 2.8)                Sun WorkShop 6 update 1 Fortran 95 6.1 
                                          Patch 109503-07 2001/08/11
                                  Sun WorkShop 6 update 1 C++ 5.2 Patch
                                        109508-04 2001/07/11
    TFLOPS r1.0.4 v4.3.3 i386     pgcc Rel 3.1-4i with mpich-1.2.4 with
                                          local modifications
    IA-32 Linux 2.4.9             gcc 2.96
                                  Intel(R) C++ Version 7.0
                                  Intel(R) Fortran Compiler Version 7.0
                                  
    IA-64 Linux 2.4.16 ia64       gcc version 2.96 20000731
                                  Intel(R) C++ Version 7.0
                                  Intel(R) Fortran Compiler Version 7.0
    Windows 2000 (NT5.0)          MSVC++ 6.0
                                  DEC Visual Fortran 6.0
    Windows XP                    .NET
    Windows NT4.0                 Code Warrior 6.0
    MAC OS X                      Darwin 6.2
                                  gcc and g++ Apple Computer, Inc. GCC 
                                  version 1161, based on gcc version 3.1
                                  


Supported Configuration Features Summary
========================================

    In the tables below
          y   = tested and supported
          n   = not supported or not tested in this release
          x   = not working in this release
          dna = does not apply
          ( ) = footnote appears below second table


    Platform             C   C         F90  F90       C++  Shared         zlib
                             parallel       parallel       libraries (5)
    Solaris2.6           y   n         y    n         y    y              y
    Solaris2.7 64-bit    y   y (1)     y    y (1)     y    y              y
    Solaris2.7 32-bit    y   y (1)     y    y (1)     y    y              y
    Solaris2.8 64-bit    y   n         y    y (1)     y    y              y
    Solaris2.8 32-bit    y   n         y    y (1)     y    y              y
    IRIX6.5              y   y (1)     n    n         n    y              y 
    IRIX64_6.5 64-bit    y   y (2)     y    y         y    y              y
    IRIX64_6.5 32-bit    y   y (2)     n    n         n    y              y
    HPUX11.00            y   y (1)     y    n         n    y              y
    OSF1 v5.1            y   n         y    n         y    y              y
    T3E             (6)  y   n         y    n         n    n              y
    SV1                  y   n         y    n         n    n              y
    T90 IEEE             y   n         y    n         n    n              y
    TFLOPS               n   y (1)     n    n         n    n              y
    AIX-5.1 32-bit       y   y         y    y         y    n              y
    AIX-5.1 64-bit       y   y         y    y         y    n              y
    WinXP           (7)  y   n         n    n         y    y              y
    WinNT/2000           y   n         y    n         y    y              y
    WinNT CW             y   n         n    n         n    n              y
    Mac OS X 10.2        y   n         n    n         y    y              y
    FreeBSD              y   y (1)     n    n         y    y              y
    Linux 2.2            y   y (1)     y    y (1)     y    y              y
    Linux 2.4 gcc   (3)  y   y (1)     y    n         y    y              y
    Linux 2.4 Intel (3)  y   n         y    n         n    n              y
    Linux 2.4 PGI   (3)  y   n         y    n         y    n              y
    Linux 2.4 IA32       y   n         y    n         n    n              y
    Linux 2.4 IA64       y   n         y    n         n    n              y
    

    Platform             static-  Thread-  SRB  GASS  STREAM-
                         exec     safe                VFD
    Solaris2.6           x        y        n    n     y
    Solaris2.7 64-bit    x        y        n    n     y
    Solaris2.7 32-bit    x        y        n    n     y
    Solaris2.8 64-bit    x        n        n    n     y
    Solaris2.8 32-bit    x        y        n    n     y
    IRIX6.5              x        n        n    n     y
    IRIX64_6.5 64-bit    x        y        n    y     y
    IRIX64_6.5 32-bit    x        y        n    y     y
    HPUX11.00            x        n        n    n     y
    OSF1 v5.1            y        n        n    n     y
    T3E             (6)  y        n        n    n     y
    SV1                  y        n        n    n     y
    T90 IEEE             y        n        n    n     y
    TFLOPS               y        n        n    n     n
    AIX-5.1 32-bit       y        n        n    n     y
    AIX-5.1 64-bit       y        n        n    n     y
    WinXP           (7)  dna      n        n    n     n
    WinNT/2000           dna      n        n    n     n
    WinNT CW             dna      n        n    n     n
    Mac OS X 10.2        y        n        n    n     y
    FreeBSD              y        y        n    n     y
    Linux 2.2            y        y        n    n     y
    Linux 2.4 gcc   (3)  y        y        n    n     y
    Linux 2.4 Intel (3)  y        n        n    n     y
    Linux 2.4 PGI   (3)  y        n        n    n     y
    Linux 2.4 IA32       y        n        n    n     y
    Linux 2.4 IA64       y        n        n    n     y

    Notes: (1) Using mpich 1.2.4.
           (2) Using mpt and mpich 1.2.4.
           (3) Linux 2.4 with GNU, Intel, and PGI compilers.
           (4) No HDF4-related tools.
           (5) Shared libraries are provided only for the C library, 
               except on Windows where they are provided for all languages.
           (6) Debug mode only.
           (7) Binaries only; source code for this platform is not being 
               released at this time.


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

    * On Linux 2.4 IA64, Fortran test fails for h5dwrite_vl_f 
      for integer and real base datatypes.

    * When fortran library is built with Intel compilers, compilation
      for fflush1.f90, fflush2.f90 and fortanlib_test.f90 will fail 
      complaining about EXEC function. Comment the call to EXEC subroutine
      in each program, or get a patch for the HDF5 Fortran source code. 

    * Fortran external dataset test fails on Linux 2.4 with pgf90 compiler.

    * On Windows, h5dump may abort printing if a VL string is longer than 4096
      bytes due to a compiler problem.  It'll be fixed in v1.6 release.

    * Datasets or attributes which have a variable-length string datatype are
      not printing correctly with h5dump and h5ls.

    * When a dataset with the variable-length datatype is overwritten, 
      the library can develop memory leaks that cause the file to become 
      unnecessarily large.  This is planned to be fixed in the next release.

    * On the SV1, the h5ls test fails due to a difference between the 
      SV1 printf precision and the printf precision on other platforms.

    * The h5dump tests may fail to match the expected output on some
      platforms (e.g. SP2 parallel, Windows) where the error messages
      directed to "stderr" do not appear in the "right order" with output
      from stdout.  This is not an error.

    * The --enable-static-exec configure flag fails to compile for HP-UX
      11.00 platforms.

    * The executables are always dynamic on IRIX64 6.5(64 and n32) and 
      IRIX 6.5 even if they are configured with --enable-static-exec.

    * IRIX 6.5 fails to compile if configured with --enable-static-exec.

    * The executables are always dynamic on Solaris 2.7 ans 2.8(64 and n32)
      even if they are configured with --enable-static-exec.
    
    * The HDF5_MPI_OPT_TYPES optimization code in the parallel HDF5 will cause
      a hang in some cases when chunked storage is used.  This is now set to
      be off by default.  One may turn it on by setting the environment 
      variable HDF5_MPI_OPT_TYPES to a non-zero value such as 1.

    * On OSF1 v5.1 and IA32 h5dumpgentst program that generates test files
      for h5dump, gives segmentation fault.

    * On Windows platforms, C and Fortran tests fail with the debug DLL version
      of the Library if built from all_withf90.zip file.

    * On Cray T3E (sn6606 2.0.6.08 unicosmk CRAY T3E) with Cray Standard C Version 6.6.0.1.3
      compiler optimization causes errors in many HDF5 Library tests. Use -g -h zero flags
      to build HDF5 Library. 

    * On Cray SV1 10.0.1. 0 datatype convertion test fails. Please check HDF FTP site
      if patch is available. We will try to provide one in the nearest future. 

    * For configuration, building and testing with Intel and PGI compilers see
      corresponding section in INSTALL file.

