HDF5 version 1.4.2 released on Tue Jul 31 17:37:24 CDT 2001
==============================================================================


INTRODUCTION

This document describes the differences between HDF5-1.4.1 and
HDF5-1.4.2, and contains information on the platforms tested and
known problems in HDF5-1.4.2. For more details 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 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
- Bug Fixes since HDF5-1.4.1
- Documentation
- Platforms Tested
- Supported Configuration Features
- Known Problems


New Features
============

    * File sizes greater than 2GB are now supported on Linux systems with
      version 2.4.x or higher kernels.
    * Added a global string variable H5_lib_vers_info_g which holds the
      HDF5 library version information.  This can be used to identify
      an hdf5 library or hdf5 application binary.
      Also added a verification of the consistency between H5_lib_vers_info_g
      and other version information in the source code.
    * Parallel HDF5 now runs on the HP V2500 and HP N4000 machines.
    * F90 API:
        - Added aditional parameter "dims" to the h5dread_f/h5dwrite_f and
          h5aread_f/h5awrite_f subroutines.  This parameter is a 1-D array 
          of size 7 and contains the sizes of the data buffer dimensions. 
          This change enables portability between Windows and UNIX platforms.
          In previous versions of the F90 APIs, the data buffer parameters of 
          the above functions were declared as assumed-shape arrays, which 
          were passed to the C functions by a descriptor.  There is no 
          portable means, however, of passing descriptors from F90 to C, 
          causing portability problems between Windows and UNIX and among
          UNIX platforms.  With this change, the data buffers are assumed-
          size arrays, which can be portably passed to the C functions.
    * F90 static library is available on Windows platforms. 
      See INSTALL_Windows_withF90.txt for details.
    * F90 APIs are available on HPUX 11.00 and 10.20 and IBM SP platforms.
    * H5 <-> GIF convertor has been added. This is available under 
      tools/gifconv. The convertor supports the ability to create animated
      gifs as well.
    * Verified correct operation of library on Solaris 2.8 in both 64-bit and
      32-bit compilation modes.  See INSTALL document for instructions on
      compiling the distribution with 64-bit support.
    * Added support for the Metrowerks Code Warrior compiler for Windows.  
    * For H4->H5 converter utility, added a new option to choose not to convert
      HDF4 specified attributes(reference number, class) into HDF5 attributes.
    * Added support chunking and compression in SDS and image in H4->H5 converter. 
      Currently HDF5 only supports gzip compression, so by default an HDF4 file 
      with any other compression method will be converted into an HDF5 file in 
      gzip compression. 
    * correct the order or reading HDF4 image array in H4->H5 conversion.  
    * Added new parallel hdf5 tests in t_mpi.  The new test checks if the
      filesystem or the MPI-IO can really handle greater than 2GB files.
      If it fails, it prints information message only without failing the
      test.
    * Added a parallel HDF5 example examples/ph5example.c to illustrate
      the basic way of using parallel HDF5.
    * Added a new public macro, H5_VERS_INFO, which is a string holding
      the HDF5 library version information.  This string is also compiled
      into all HDF5 binary code which helps to identify the version information
      of the binary code.  One may use the Unix strings command on the binary
      file and looks for the pattern "HDF5 library version".
    * Added new checking in H5check_version() to verify the five HDF5 version
      information macros (H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE,
      H5_VERS_SUBRELEASE and H5_VERS_INFO) are consistent.
      
         
Bug Fixes since HDF5-1.4.1 Release
==================================

    * Fixed bug with non-zero userblock sizes causing raw data to not
      write correctly.
    * Fixed problems with Pablo build and linking with non-standard MPI I/O.
    * Fixed build on Linux systems with --enable-static-exec flag. It now
      works correctly.
    * IMPORTANT: Fixed file metadata corruption bug which could cause 
      metadata data loss in certain situations.
    * The allocation by alignment (H5Pset_alignment) feature code somehow
      got dropped in some 1.3.x version. Re-implemented it with "new and
      improved" algorithm.  It keeps track of "wasted" file-fragment in
      the free-list too.
    * Removed limitation that the data transfer buffer size needed to be
      set for datasets whose dimensions were too large for the 'all' 
      selection code to handle.  Any size dimensioned datasets should be 
      handled correctly now.
    * Changed behavior of H5Tget_member_type to correctly emulate HDF5 v1.2.x
      when --enable-hdf5v1_2 configure flag is enabled.
    * Added --enable-linux-lfs flag to allow more control over whether to 
      enable or disable large file support on Linux.
    * Fixed various bugs releated to SDS dimensional scale conversions in H4->H5 
      converter.
    * Fixed a bug to correctly convert HDF4 objects with fill value into HDF5.
    * Fixed a bug of H5pubconf.h causing repeated definitions if it is included
      more than once.  hdf5.h now includes H5public.h which includes
      H5pubconf.h.  Applications should #include hdf5.h which handles multiple
      inclusion correctly.
    * Fixed H5FDmpio.h to be C++ friendly by making Parallel HDF5 API's to be
      external to C++.
    * Fixed a bug in H5FD_mpio_flush() that might result in negative file seek
      if both MPIO and Split-file drivers are used together.



Documentation
=============

    * The H5T_conv_t and H5T_cdata_t structures are now properly defined
      in the H5Tregister entry in the "H5T" section of the "HDF5 Reference 
      Manual" and described in detail in section 12, "Data Conversions," in 
      the "Datatypes" chapter of the "HDF5 User's Guide."
    * The new tools h52gif and gif2h5 have been added to the "Tools" section
      of the Reference Manual.
    * A "Freespace Management" section has been added to the "Performance" 
      chapter of the User's Guide.
    * Several user-reported bugs have been fixed since Release 1.4.1.
    * The "HDF5 Image and Palette Specification" (in the "HDF5 Application
      Developer's Guide") has been heavily revised.  Based on extensive user 
      feedback and input from visualization software developers, Version 1.2 
      of the image specification is substantially different from prior 
      versions.


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

    AIX 4.3.3.0 (IBM SP powerpc)  xlc 3.6.6.0
                                  mpcc_r 3.6.6.0
                                  xlf 07.01.0000.0002
                                  mpxlf 07.01.0000.0002
    AIX 4.3 (IBM SP RS6000)       C for AIX Compiler, Version 5.0.2.0
                                  xlf 7.1.0.2
                                  poe 2.4.0.14 (includes mpi)
    Cray T3E sn6711 2.0.5.49a     Cray Standard C Version 6.5.0.1
    Cray SV1 10.0.0.2             Cray Standard C Version 6.5.0.1  
                                  Cray Fortran Version 3.5.0.1
    FreeBSD 4.3                   gcc 2.95.3
                                  g++ 2.95.3
    HP-UX B.10.20                 HP C  HP92453-01 A.10.32.30
                                  HP F90 v2.3
    HP-UX B.11.00                 HP C  HP92453-01 A.11.01.20 
                                  HP F90 v2.4
    HP-UX B.11.00 SysV            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.2m
    Linux 2.4.4                   gcc 2.95.3
                                  g++ 2.95.3
    Linux 2.2.18smp               gcc 2.95.2
                                  gcc 2.95.2 with mpich 1.2.1
                                  g++ 2.95.2
                                  pgf90 3.2-4
    OSF1 V4.0                     DEC-V5.2-040 on Digital UNIX V4.0 (Rev 564)
                                  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 98/10/25 FORTRAN 90 
                                          2.0 Patch 107356-04
    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 
                                          2000/09/11
                                  Sun WorkShop 6 update 1 C++ 5.2 2000/09/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 
                                          2000/09/11
                                  Sun WorkShop 6 update 1 C++ 5.2 2000/09/11
    TFLOPS r1.0.4 v4.0.7 i386     pgcc Rel 3.1-4i with mpich-1.2.1 with
                                          local modifications
    Windows 2000 (NT5.0)          MSVC++ 6.0
    Windows NT4.0                 MSVC++ 6.0
                                  DEC Visual Fortran 6.0
    Windows NT4.0                 Code Warrior 6.0
    Windows 98                    MSVC++ 6.0
                                  DEC Visual Fortran 6.0


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
         ( ) = footnote appears below second table


    Platform       C  C         F90  F90       C++  Shared     zlib  Tools
                      parallel       parallel       libraries
                                                    (5)
    Solaris2.6     y  n         y    n         y    y          y     y
    Solaris2.7     y  y (1)     y    n         y    y          y     y
    Solaris2.8 64  y  n         n    n         y    y          y     y
    Solaris2.8 32  y  n         y    n         y    y          y     y
    IRIX6.5        y  y (1)     n    n         n    y          y     y
    IRIX64_6.5 64  y  y (2)     y    y         n    y          y     y
    IRIX64_6.5 32  y  y (2)     n    n         n    y          y     y
    HPUX10.20      y  n         y    n         n    y          y     y
    HPUX11.00      y  n         y    n         n    y          y     y
    HPUX11 SysV    y  n         y    n         n    y          y     y
    DECOSF         y  n         y    n         n    y          y     y
    T3E            y  y         y    y         n    n          y     y
    SV1            y  n         y    n         n    n          y     y
    TFLOPS         y  y (1)     n    n         n    n          y     y (4)
    AIX-4.3 SP2    y  y         y    y         n    n          y     n
    AIX-4.3 SP3    y  y         y    y         n    n          y     n
    Win2000        y  n         n    n         n    y          y     y
    Win98          y  n         y    n         n    y          y     y
    WinNT          y  n         y    n         n    y          y     y
    WinNT CW       y  n         n    n         n    n          y     y
    FreeBSD        y  n         n    n         y    y          y     y
    Linux 2.2      y  y (1)     y    n         y    y          y     y
    Linux 2.4      y  y (1)     n    n         y    y          y     y


    Platform       1.2            static-   Thread-  SRB  GASS	STREAM-
                   compatibility  exec      safe                VFD
    Solaris2.6     y              x         n        n    n     y
    Solaris2.7     y              x         y        n    n     y
    Solaris2.8 64  y              y         n        n    n     y
    Solaris2.8 32  y              x         n        n    n     y
    IRIX6.5        y              x         y        n    n     y
    IRIX64_6.5 64  y              x         n        n    n     y
    IRIX64_6.5 32  y              x         n        n    n     y
    HPUX10.20      y              y         n        n    n     y
    HPUX11.00      y              x         n        n    n     y
    HPUX11 SysV    y              x         n        n    n     y
    DECOSF         y              y         n        n    n     y
    T3E            y              y         n        n    n     y
    SV1            y              y         n        n    n     y
    TFLOPS         y              y         n        n    n     n
    AIX-4.3 SP2    y              y (3)     n        n    n     y
    AIX-4.3 SP3    y              y         n        n    n     y
    Win2000        y              y         n        n    n     n
    Win98          n              y         n        n    n     n
    WinNT          y              y         n        n    n     n
    WinNT CW       n              n         n        n    n     n
    FreeBSD        y              y         n        n    n     y
    Linux 2.2      y              y         y        n    n     y
    Linux 2.4      y              y         y        n    n     y


    Footnotes:  (1) Using mpich.
                (2) Using mpt and mpich.
                (3) When configured with static-exec enabled, tests fail 
                    in serial mode.
                (4) No HDF4-related tools.
                (5) Shared libraries are provided only for the C library.


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

    * When a dataset with the variable-legth 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 in 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.
    
    * For 24-bit image conversion from H4->H5, the current conversion is
      not consistent with HDF5 image specification. 

    * In some cases, and SDS with an UNLIMITED dimension that has not
      been written (current size = 0) is not converted correctly.

    * After "make install" or "make install-doc" one may need to reload
      the source from the tar file before doing another build.

    * 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 environment variable
      HDF5_MPI_OPT_TYPES to a non-zero value such as 1.

