1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345
|
This file contains some historical information; please do not edit.
EIP 2007-09-23
For bugs fixed in the current release see RELEASE.txt file
For bugs fixed in all releases after HDF4.2r0-Beta see HISTORY.txt file.
HDF4.2r0-Beta
========
1. "hdp dumpgr" and "hdp dumpsds" have two new options:
-g to suppress the data of global (or file) attributes
-l to suppress the data of local attributes
2. The problem where hdp failed on very long file name has been
fixed. (bug #693)
3. The problem where VSinquire failed when being called on a vdata
that has no fields defined, has been fixed. (bug #626)
4. A user attempted to change the values of VGNAMELENMAX and VSNAMELENMAX
to 256 for her own use, but the hdp output showed that the change was
not in effect. This problem is now fixed. (bug #606)
5. hdp dumpvg failed sometimes when reading a file that has a vgroup
being inserted into another. This has been fixed. (bug #477)
6. fp2hdf when used with -p option did the opposite of what it was supposed
to do with palette files. This problem is now fixed. (bug #800). However
the utility hdfimport should be used in the future instead of fp2hdf.
7. hdf2gif failed when a user tried it on JPEG compressed images. (Bug #601).
The problem is now fixed. An error message is displayed if the image is not
8-bit. If the image is 24-bit, the message suggests using hdf2jpeg.
8. ncdump failed to read NetCDF files 3.5 when there were more than one variable
with unlimited dimensions. Fixed.
9. NetCDF part of the HDF4 Library was not ported to Compaq True64 system. Fixed.
10. The hdp commands dumpsds, dumpgr, dumpvd, and dumpvg now display an
informative message when a non-HDF file is given as input. (Bug #817)
11. The compilation warnings and error on the macro HDFclose are fixed.
(Bug #818)
HDF4.1r5
========
1. The following VS routines are added as requested (bug #267):
VSsetblocksize/vsfsetblsz -- sets the block size of the linked-block element.
VSsetnumblocks/vsfsetnmbl -- sets the number of blocks for
a linked-block element.
VSgetblockinfo/vsfgetblinfo -- retrieves the block size and the
number of blocks of a linked-block element.
2. When using SDsetdimscale to set the data type for a dimension to
an unsigned type, the type became signed inadvertently (bug #172).
This problem is now fixed.
3. The memory leak in the netCDF part of the HDF/mfhdf distribution
is fixed. (bug #418)
4. When using "hdp dumpgr", data was being printed in the range of 0-250
when it should be 0-168 (bug #422). This problem is now fixed.
5. hdp dumpgr has a new option to print palette data only -pd. Also,
whenever option -p or -pd is given, only palettes are printed, no
images nor file attributes. (bug #439)
6. The "#define NULL" was removed since ANSI C compilers are required to
define NULL. (bug #448)
7. Giving NULL to the fieldname argument in VSsetfields now returns
FAIL instead of causing segmentation fault. (bug #554)
8. Giving a NULL to the argument name in several name setting routines
now returns FAIL instead of causing segmentation fault. (bug #514)
9. Two routines were added to get compression information for the SD and
GR interfaces, including chunked elements: SDgetcompress/sfgcompress
and GRgetcompress/mggcompress. (bug #307)
Note:
- for a JPEG image, GRgetcompress only returns the compression type, not
the compression information (i.e, quantity and force_baseline) because
this information currently is not retrievable.
- getting compression type for JPEG chunked images is not working yet.
10. Added new fortran function heprntf (HEprint) that takes two
arguments: file name and level. If file name string has 0 length
error messages will be printed to the standard output.
11. Fix the linking bug of unresolved symbol(error_top) DLL when HEclear
was called by users. Users who want to use hdf DLL should define HDFAPDLL
in their applications. Simply going to project setting and adding HDFAPDLL
as the predefined constant should work.
HDF4.1r4
========
1. Fixed GR JPEG compression problem.
2. Added -s, -c and -l options to hdp.
HDF4.1r3
=========
1. HDF 4.1r2 was unable to properly read HDF SDSs created with HDF 3.3x.
It did not read the correct SDS names. This problem has been fixed.
2. Many problems with the GR interface were fixed:
- The GR interface can now read compressed files created with the
DFR8 and DF24 interfaces, except for those which were compressed
with IMCOMP compression.
- The GR interface can read and write images compressed with RLE,
GZIP and Skipping Huffman compression methods.
- Palettes can now be written and read properly with the GR interface.
- 24-bit raster images can now be read by the GR interface.
3. You can now create an SDS with a name up to 256 characters in length.
The previous limit was 64.
4. SDfileinfo no longer returns the wrong number of datasets for old
files created with the DFSD interface.
5. The Vdata/Vgroup interfaces in HDF did not check return values, which
caused problems on the Macintosh, and could have potentially caused
problems on all platforms. HDF now checks all return values properly.
6. Several missing Fortran functions have been added to the
./include/dffunc.inc file.
7. Calling SDreaddata after setting the fill value and before doing
an SDendaccess and SDend caused a core dump on IRIX6.x with the
-64 bit option. This problem has been fixed.
8. Many hdp fixes were made:
- Options 'o' and 'b' or 'x': it used to be that you had to give -o
in order for -b or -x to be valid; now you can just give -b or -x
and the output will go to the screen. Basically, you can have either
binary or ASCII text to the screen now where it used to be just ASCII.
- Options (-r,-i,-n,-c) can be given on the same command line; previously
the last option overrode all the previous ones.
- Added printing of GR file attributes (bug #192)
- Added printing of a palette to the dumpgr command (bug #252) with the new
option -p
-p : print palette info and data
-p -h : print palette info
-p -d : print palette data
- Added printing of SD file attributes to the dumpsds command
- The -c option for dumpvd used to only show the first vdata; now all vdatas
of the same class show for option -c. Also, multiple class names listed
with this option are searched; they used to be ignored.
- Added printing file annotations to the dumpvd command.
- Improved output wording for the dumpvd command. For example, <Undefine>
gets printed instead of nothing, or FULL_INTERLACE/NO_INTERLACE is printed
instead of "0/1".
- In one case the dumpvg command would get into an infinite loop. This
problem has been fixed.
- With the dumpvg command, all vgroups of the same class show for option -c;
previously only the first one was shown. Also, multiple class names listed
with this option are now searched; they used to be ignored.
- File annotations can now be printed with the dumpvg command.
- With the dumpvg command, occasionally a core dump occurred when printing
the Graphical Representation part if multiple hdf files were given. This
has been fixed.
HDF4.1r2
========
1. The hdp utility can now dump data properly to a binary file (using
the -b option).
2. HDF no longer core dumps when reading a NetCDF file.
3. HDF now supports little-endian conversion for VAX and Dec Alpha OpenVMS.
4. The SD interface can now properly handle writing to a one-dimensional
array that is unlimited.
5. The SD interface can now properly handle attributes with a data type
of Little Endian.
6. HDF will no longer fail if you write data to a vdata that had no data
written to it when it was first created.
7. The problems that occurred on the Crays with HDF 4.1r1 have been
corrected.
HDF4.1r1
========
1. A bug was fixed where you would receive an error if you changed the
name of a Vdata to a name that was longer than the original name.
2. The FORTRAN equivalents have been added for several ANxx utility routines
(ANget_tagref, ANid2tagref ...).
3. A bug was fixed where old data (DFSD) in native and little endian format
could not be read by the SD interface correctly.
4. The variable _HDF_ENTIRE_VDATA has been changed to _HDF_VDATA, to avoid
confusion. This variable had been added to HDF 4.1b1. For those
users who are already using it, a macro called _HDF_ENTIRE_VDATA has been
added, which is defined as _HDF_VDATA.
5. SD_FILL and SD_NOFILL were added as file fillmodes.
6. In HDF 4.0r2, you could create an empty compressed SDS. With 4.1b1 you
could not. This was fixed in the 4.1 release.
7. There was a bug in hdp where 'hdp list -a' did not list the file attributes.
This was fixed.
8. In 4.1b1, the SD chunking routine names contained upper case characters
after the initial two "SD" characters (for eg. SDwriteChunk). With 4.1r1
the SD chunking routine names were changed to lower case after the
initial "SD" characters, to be consistent with the SD interface
naming scheme (for eg. SDwritechunk).
HDF4.1b1
========
1. If you opened a file in read only mode with the SD interface,
it would create the file if the file did not exist. This has been fixed.
2. There was a problem with GRstart, which caused GRend to
trigger a segmentation fault when it was called twice.
This has been fixed.
3. DFNT_UCHAR has been added to hdf_unmap_type.
4. A problem was fixed in HDc2fstr, which caused garbage to
be attached to a converted string.
5. The multi-file annotation functions were added to dffunc.inc.
6. A bug was fixed in the DFPnpals function, where it would return
the wrong number of palettes.
7. A problem was fixed with the gzip compression, where an error
occurred if you attempted to write to an SDS that you have created, and
then performed an SDendaccess, followed by a SDselect.
8. HDF4.0r2 did not recognize JPEG images created by HDF 3.3r4. This
has been fixed.
9. The newest SGI cc compiler (7.0) has eliminated the compression code
errors when '-O' option is used.
HDF4.0r2
========
1. SDstart (<non-existent file>, DFACC_RDWR) no longer fails.
It will create a file now.
2. When appending compressed data onto the end of an unlimited
dimension SDS, the SD interface no longer writes the fill-
values in locations where they will immediately be over-
written by data.
3. dfkcray.c, IEG2JPEG and JPEG2IEG do not work if the foreign
data does not start from the 64-bit boundary.
4. On IRIX 6.1 with -n32, hdf/test/comp.c gave error messages.
Fix: Not to use '-O' option (for now).
5. Problem when running 'make test' on UNICOS has been fixed
(bug was in hdf/util/he_main.c).
6. The RIG tag was not getting written out when creating a
GR object, so you couldn't view it with "hdp list". The hdp
command has been updated.
HDF4.0r1p1
==========
1. Fixed a bug in SDS interface which caused a wrong
number of records for UNLIMITED dimensions when
ncsync was called to write data to hdf files.
2. A bug has been fixed in the UNLIMITED dimension record
to improve backward compatibility.
3. Parameter 'class' in vffndcls() has been changed to
'vgclass' to avoid conflicts with C++ reserved word
'class'.
HDF4.0r1
========
1. Fixed Fortran character string handling under UNICOS.
2. Added checks on the return values of HDmalloc calls.
3. The automatic test of hdf utilities (in hdf/util/)
is added to the Makefile and will be executed by
'make test' at the top level.
4. Thanks to Mark W. Dalton for his contribution to the fix
of the adaptive Huffman compression on the CRAY YMP.
His fix is merged into 4.0r1.
5. Added check in SDsetattr() to make sure that the argument
'count' < MAX_ORDER.
HDF4.0b2
========
1. To avoid conflicts with C++, field name 'new' in vgroup_desc
of vg.h is changed to 'new_vg', and in accrec_t 'new' of
hfile.h is changed to 'new_elem'.
2. Fixed the max number of fields of vdata in vparse.c, vshow.c
and show.c (in mfhdf/dumper/). Now vshow and hdp can dump
VSFIELDMAX number of fields.
3. Fixed platform number subclass problem when external data file was
written in Little_endian format (IBM-PC).
4. Fixed the core-dump on some machines when writing large number of
big SDS by holding the buffer instead of freeing it every time.
5. The max number of files which can be open at one time was defined
in hdf.h, hfile.h and netcdf.h. Now there is only one definition
by MAX_FILE in hdf/src/hlimits.h.
6. A bug in SDsetnbitdataset is fixed.
7. Uninitialized memory reads in SDIputattr and hdf_create_dim_vdata
are fixed.
HDF4.0b1
========
1. Added support to unsigned integers for attributes.
2. Bug fixed in SDsetdimscale if dim strings or other attributes already
assigned to that dimension and if the size of the number type
is not 4 bytes.
3. Bug fixed in SDgetdimscale. For dimensions that have no dim scale
SDgetdimscale now returns 0 for nt to indicate that no-scale was assigned.
4. Several buffers allocated by Hxxxx, SDxxxx, and VSxxxx functions were
used through the entire execution time of HDF application programs.
In previous releases those buffers were not freed by HDF. Some debugging
tools list those buffers as memory leaks. In HDF4.0b1 those buffers are freed
by HDF when the programs exit. The fix doesn't work on SunOS.
5. Added Fortran version of VSQueryxxxx and VSfind:
vsqfnelt -- VSQuerycount
vsqfintr -- VSQueryinterlace
vsqfflds -- VSQueryfields
vsqfvsiz -- VSQuerysize
vsqfname -- VSQueryname
vsffnd -- VSfind
6. SDsetdimscale () did not set scales for unlimited dimension.
After appending records to the unlimited dimension, the number of
records was not updated. The bug is fixed.
7. In previous releases, the Vdata interface couldn't define more than 36
fields even though VSFIELDMAX was defined as 64 in hdf.h.
The bug is fixed. Now the maximum number of fields is decided by
VSFIELDMAX.
8. The Fortran function sfgdinfo now returns nattr correctly.
9. hdfrseq is moved out from the HDF release. It is now available on the NCSA
ftp server in directory: /HDF/contrib/NCSA/hdfrseq/.
10. If the same file is accessed twice with DFSDputdata (i.e. the file
is first destroyed), the first call to DFANputlabel after the second
call to DFSDputdata fails. To fix this problem, a new function
DFANclear has been added.
-----------------------------------------------------------------
Name: DFANclear
Purpose: Clear DFAN interface
Inputs: void
Returns: SUCCEED if ok; FAIL otherwise.
Remarks: When a file is re-created in a single run, user should
call DFANclear() before the file is re-created to reset DFAN
interface structures.
Example:
main()
{
int ret;
dump(0); /* DFSDputdata("myfile.hdf",...) is called */
/* in dump() to create myfile.hdf */
ret = DFANclear();
dump(1); /* DFSDputdata("myfile.hdf",...) is called */
/* again to re-create a file with the same */
/* name myfile.hdf */
}
11. A bug is fixed in SDgetcal, which failed in getting number_type from
old hdf files, created by DFSDxxxx calls.
12. hdf.inc missing constants and commas
13. HDgettagname() can't recognize DFTAG_FV and DFTAG_COMPRESSED
in hkit.c
14. fp2hdf is back in hdf/util/.
--------------------------------------------------------------
Known problems:
1. Need Fortran version of VFfieldxxxx functions.
2. Need an easy way to append to a vdata. One solution would be
to make all FULL_INTERLACE vdatas appendable.
3. Need a high level function to create external Vdata, similar to
SDsetexternalfile().
4. SDxxxx interface creates dummy values for dimension records.
For multi-dimensional SDS this isn't too bad. However, for
1-D SDS it doubles the size of the file.
|