CDF Changes Log, CDF V2.5 V2.0.0 11-Feb-91 Initial release of CDF V2.0. V2.1.0 7-Jun-91 Initial release of CDF V2.1. V2.2.0 20-May-92 Initial release of CDF V2.2. V2.3.0 1-Oct-92 Initial release of CDF V2.3. V2.4.0 26-Jan-94 Initial release of CDF V2.4. V2.5.0 21-Dec-94 Initial release of CDF V2.5. New features include... - The distribution has been ported to the Macintosh (MacOS 7.0). A version of the CDF library is available for Symantec THINK C and Macintosh Programmer's Workshop (MPW) C and Fortran applications. The CDF toolkit programs have user interfaces typical of Macintosh applications. - A shareable version of the CDF library is available on DEC Alphas running OSF/1. Because of this, support for CDF's IDL interface has also been added for that platform. - Create/write access for a CDF with any supported encoding is now supported on all platforms. Previous CDF distributions only supported host and network encodings when creating/writing a CDF. - Support for Version 1 CDFs has been eliminated. If necessary, use CDF V2.4 to convert your Version 1 CDFs to Version 2 CDFs before accessing them with CDF V2.5. - A cache size qualifier has been added to most of the CDF toolkit programs. With this qualifier, the cache size to be used with open CDFs can be adjusted for increased performance. - Most of the functionality of CDFinquire has been moved to SkeletonTable. CDFinquire may still be used to inquire the version of the CDF distribution being used and the default qualifiers for the CDF toolkit programs. This was done in an effort to eliminate redundant capabilities between the two programs. - The ability to delete variables, attributes, and attribute entries from a CDF has been added. - An operation has been added to the Internal Interface which allows variable records to be allocated in a single-file CDF (but not yet written). The application program is then expected to write to the allocated variable records before closing the CDF. This method is more efficient than using `initial records'. - The option of converting -0.0 to 0.0 by the CDF library when reading from a CDF now also applies to writing to a CDF. When -0.0 to 0.0 mode is enabled, -0.0 would be converted to 0.0 by the CDF library before being written to a CDF. - An encoding qualifier has been added to the CDFconvert toolkit program to allow any supported encoding to be selected for the destination CDF of a conversion. - Support for the Obsolete Interface has been eliminated. Applications written for CDF Version 1 must now be modified for the Standard (or Internal) Interface of CDF Version 2. - The CDF V2.5 distribution is configured for a default format of single-file (previous CDF distributions defaulted to multi-file). This may be changed before building/installing the CDF distribution if desired. - A statistics qualifier has been added to some of the CDF toolkit programs. When selected, caching statistics are displayed when a CDF is closed. - CDFskeleton has been renamed to SkeletonCDF. This should ease the confusion experienced by some users. SkeletonTable creates a skeleton table and SkeletonCDF creates a skeleton CDF. (Note that the symbol CDFSKELETON on VMS systems and the environment variable `cdfskeleton' on UNIX systems is still defined in the corresponding `definitions' file for compatibility with existing user systems.) - CDFs created with CDF V2.5 will use less disk space than CDFs created with previous CDF distributions. The savings will consist of 1689 bytes per CDF regardless of its contents plus an additional savings of 128 bytes per variable. A side effect of this is that V2.5 CDFs may only be read with the CDF V2.5 distribution. Previous CDF distributions will not be able to read CDFs created with CDF V2.5. - Assumed attribute scopes are no longer supported. The CDF library will now automatically convert an assumed scope to its definite equivalent scope. Because of this the CDFscope toolkit program has also been eliminated. If necessary, use CDF V2.4 to correct attribute scopes. Note that the Internal Interface of CDF V2.5 may still be used to correct an attribute scope. - The CDF library has been modified to use less memory for each open CDF (unless a large cache size is specified). This should ease the memory limitation problems encountered on the IBM PC and Macintosh. Access to attribute entry data may be slower because of this change. - Dynamic-link libraries (DLLs) are now supplied with the MS-DOS distribution for Microsoft and Borland Windows applications. - Qualifiers have been added to CDFedit which allow attribute entries to either be displayed with the attributes or on separate menus (with one for each attribute). V2.5.1 30-Dec-94 Fixed bug in CDF library which in restricted memory situations (eg. IBM PC and Macintosh) could cause a hyper write to repeatedly write the first value in the buffer (instead of writing each value in the buffer). V2.5.2 9-Jan-95 Fixed bug in CDF library involving the creation of a new zVariable in a CDF containing only rVariables. V2.5.3 12-Jan-95 Allow uppercase file extensions on the Macintosh (because of CD-ROMs). V2.5.4 13-Jan-95 Allow mixed-case in tokens (eg. format, majority, and data types in a skeleton table). V2.5.5 23-Jan-95 Port to IRIX 6.0 (32-bit and 64-bit). Added flexibility to `computeEPOCH' (C) and `compute_EPOCH' (Fortran). Fixed bug in IDL interface involving the inquiry of r/zVariables having zero dimensions. A BAD_MALLOC error might result on those machines not allowing an allocation of zero bytes. V2.5.6 31-Jan-95 Added `encodeEPOCH3/encode_EPOCH3' to exports file for the shareable CDF library on AIX systems. Modified the `encodeEPOCH1/encode_EPOCH1' routines to also consider the milliseconds when calculating the day fraction. V2.5.7 16-Mar-95 Added `static' function prototypes in `windoz.c' so that the C compiler on DEC Alpha/OpenVMS platforms does not complain. Added match control parameters for the shareable CDF library on VMS/OpenVMS systems. Added support for IRIX 5.x. Fixed Solaris 2.3 support. Fixed `recNum' parameter of `LastAllocatedRecord' (may affect OSF/1 and IRIX 6.x in 64-bit mode). Added support for a shareable CDF library and CDF's IDL interface on IRIX 5.x and 6.x systems. Changes to the UNIX installation procedures to allow for different C compilers. Added `cdf0' for CDF's IDL interface. When `cdf0.pro' is executed (using `@'), a set of structure variables will be created containing the constants used by the CDF library. The structures created and their contents are as follows... CDFconst - General CDF constants. CDFdataType - Data type codes. CDFencoding - Encoding codes. CDFdecoding - Decoding codes. CDFiCode - Informational status codes. CDFwCode - Warning status codes. CDFeCode - Error status codes. CDFiiFnc - Internal Interface functions. CDFiiItem - General Internal Interface items. CDFiiItemA - Internal Interface attribute items. CDFiiItemE - Internal Interface entry items. CDFiiItemR - Internal Interface rVariable items. CDFiiItemZ - Internal Interface zVariable items. For example, `CDFconst.SINGLE_FILE' is the value used to indicate a single-file CDF. These structures contain the same values defined using the `cdf.pro', `cdf1.pro', and `cdf2.pro' batch files (which are no longer needed). To see the contents of each structure, use the command... IDL> help, /structure, The use of these structures eliminates the problem of too many local variables caused by the use of `cdf.pro' (and `cdf1.pro'/`cdf2.pro'). The automatic execution of `cdf.pro' has also been removed from the IDL startup file. If your application absolutely relies on `cdf.pro' being executed automatically, then uncomment the corresponding line in the IDL startup file. V2.5.7a 20-Mar-95 Updated VMS `readme' (to reflect automatic detection of a VAX or DEC Alpha). V2.5.8 28-Mar-95 Updated for differences between IDL 3.x and IDL 4.0 (in `export.h', etc.). V2.5.9 11-Apr-95 POSIX Shell port for DEC Alpha and VAX. V2.5.10 17-Apr-95 Support for POSIX-compliant C compiler on an HP (c89). V2.5.11 30-May-95 Solaris 2.4 `makefile' changes. V2.5.12 30-May-95 Fixed bug involving . V2.5.13 14-Jun-95 Linux port. Customizable CDF_EPOCH encoding routines (see EPOCHx.doc). Implemented a new style of definitions files for UNIX-based systems (see README.unix). V2.5.14 23-Jun-95 Fixed bug in CDFwalk involving character data. V2.5.15 26-Jun-95 Changes for IDL 4.0's different handling of procedure extensions. Expanded online help for IDL. V2.5.16 15-Sep-95 CDFexport added to distribution. V2.5.17 22-Sep-95 Better Macintosh event handling in CDF Toolkit. Added the use of virtual memory under Microsoft C 7.00 for the cache used by the CDF library for each open CDF. Virtual memory makes use of an IBM PC's extended and/or expanded memory (for DOS). The use of virtual memory for the cache frees conventional memory (allowing larger hyper reads/writes, etc.). Two environment variables are used to control if and how virtual memory is used. CDF_VSIZE Specifies how much convention memory is used to manage the virtual memory. The following values are supported. 0 Don't use virtual memory. 2048 Use 2048 bytes of conventional memory. (n Use `n' bytes of conventional memory. This will be supported in a future CDF release.) If this environment variable is not set, a default value of 0 will be used. CDF_VMASK Specifies which type(s) of real memory to use to implement the virtual memory. This value should consist of one or more of the following symbols separated by `;'s. EMS Use expanded memory if available. XMS Use extended memory if available. DISK Use the C: drive. If this environment variable is not set, a default value of `EMS;XMS' will be used. The CDF toolkit programs distributed for the IBM PC (DOS) are now built using Microsoft C 7.00. Also, CDF libraries built using both Microsoft C 6.00 and 7.00 are provided. V2.5.18 29-Sep-95 Improved performance in caching algorithms. Added dialog filtering on Macintosh so command/control keys may be used in a toolkit program's QOP dialog box. The CDF cursor (for Macintosh). V2.5.18a 13-Oct-95 Fixes for AIX 3.2.5 (`term.h' and `select.h'). V2.5.18b 24-Oct-95 More fixes for AIX 3.2.5 (IDL/shareable library). For UNIX the `definitions' files are now installed in `bin' and only the `shell-style' (C/B/K) definitions files are supported. V2.5.18c 15-Nov-95 HP-UX: "standard" vs. "optional" C compiler. V2.5.18d 29-Nov-95 Fixed function prototype in `toolbox3.c'. V2.5.19 21-Dec-95 Fix for `sprintf' bug on OSF/1 V3.2 systems. Removed fix for Curses bug on OSF/1 V3.0 systems so that CDFexport now updates windows correctly. This assumes that OSF/1 V3.2 (or higher) is being used. V2.5.19a 17-May-96 Alpha/OpenVMS: Minor fix to eliminate compiler warnings and a not so minor fix to keep CDFedit and CDFexport from crashing when displaying command line help. Linux: Minor changes for compiler warnings and fixed the `ranlib' processing in the library `make' file. V2.5.19b 20-May-96 A few more fixes for the Alpha/OpenVMS and Linux platforms. V2.5.20 12-Jun-96 QNX port (a flavor of UNIX for the IBM PC). V2.5.21 10-Sep-96 Fixed bug involving the search for ununsed internal records in the dotCDF file. This may result in a CDF_READ_ERROR while writing variable values. V2.5.22 27-Sep-96 Fixed problem in SkeletonCDF involving attribute entries with a large number of elements.