diff options
Diffstat (limited to 'doc/html/Version.html')
-rw-r--r-- | doc/html/Version.html | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/doc/html/Version.html b/doc/html/Version.html new file mode 100644 index 0000000..6e4af9f --- /dev/null +++ b/doc/html/Version.html @@ -0,0 +1,139 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<html> + <head> + <title>Version Numbers</title> + </head> + + <body> + <h1>Version Numbers</h1> + + <h2>1. Introduction</h2> + + <p>The HDF5 version number is a set of three integer values and + one lower-case letter written as, for example, + <code>hdf5-1.2.0a</code>. + + <p>The <code>5</code> is part of the library name and will only + change if the entire file format and library are redesigned + similar in scope to the changes between HDF4 and HDF5. + + <p>The <code>1</code> is the <em>major version number</em> and + changes when there is an extensive change to the file format or + library. Such a change will likely require files to be + translated and applications to be modified. This number is not + expected to change frequently. + + <p>The <code>2</code> is the <em>minor version number</em> and is + incremented by each public release that presents new features. + Even numbers are reserved for stable public versions of the + library while odd numbers are reserved for developement + versions. See the diagram below for examples. + + <p>The <code>0</code> is the <em>release number</em>. For public + versions of the library, the release number is incremented each + time a bug(s) is fixed and the fix is made available to the + public. For development versions, the release number is + incremented automatically each time a CVS commit occurs anywhere + in the source tree. + + <p>The <code>a</code> is the <em>patch level</em> and is used only + for public versions. It's incremented only for very minor + changes that don't affect the usability of the library. For + instance, fixing spelling errors, changing warning messages, or + updating documentation. + + <h2>2. Abbreviated Versions</h2> + + <p>It's often convenient to drop the patch level and release + number when referring to a version of the library, like saying + version 1.2 of HDF5. The release number and patch level can be + any value in this case. + + <h2>3. Special Versions</h2> + + <p>Version 1.0.0 was released for alpha testing the first week of + March, 1998. The developement version number was incremented to + 1.0.1 and remained constant until the the last week of April, + when the release number started to increase and development + versions were made available to people outside the core HDF5 + development team. + + <p>Version 1.1.0 will be the first official beta release but the + 1.1 branch will also serve as a development branch since we're + not concerned about providing bug fixes separate from normal + development for the beta version. + + <p>Version 1.2 will be the first official HDF5 version. The + version tree will fork at this point with public bug fixes + provided on the 1.2 branch and development will continue on the + 1.3 branch. + + <h2>4. Public versus Development</h2> + + <p>The motivation for separate public and development versions is + that the public version will receive only bug fixes while the + development version will receive new features. + + <p>Eventually, the development version will near completion and a + new development branch will fork while the original one enters a + feature freeze state. When the original development branch is + ready for release the minor version number will be incremented + to an even value. + + <p> + <center> + <img alt="Version Example" src="version.gif"> + <br><b>Fig 1: Version Example</b> + </center> + + <h2>5. Version Support from the Library</h2> + + <p>The library provides a set of macros and functions to query and + check version numbers. + + <dl> + <dt><code>H5_VERS_MAJOR</code> + <dt><code>H5_VERS_MINOR</code> + <dt><code>H5_VERS_RELEASE</code> + <dt><code>H5_VERS_PATCH</code> + <dd>These preprocessor constants are defined in the public + include file and determine the version of the include files. + + <br><br> + <dt><code>herr_t H5version (unsigned *<em>majnum</em>, unsigned + *<em>minnum</em>, unsigned *<em>relnum</em>, unsigned + *<em>patnum</em>)</code> + <dd>This function returns through its arguments the version + numbers for the library to which the application is linked. + + <br><br> + <dt><code>void H5check(void)</code> + <dd>This is a macro that verifies that the version number of the + HDF5 include file used to compile the application matches the + version number of the library to which the application is + linked. This check occurs automatically when the first HDF5 + file is created or opened and is important because a mismatch + between the include files and the library is likely to result + in corrupted data and/or segmentation faults. If a mismatch + is detected the library issues an error message on the + standard error stream and aborts with a core dump. + + <br><br> + <dt><code>herr_t H5vers_check (unsigned <em>majnum</em>, + unsigned <em>minnum</em>, unsigned <em>relnum</em>, unsigned + <em>patnum</em>)</code> + <dd>This function is called by the <code>H5check()</code> macro + with the include file version constants. The function + compares its arguments to the result returned by + <code>H5version()</code> and if a mismatch is detected prints + an error message on the standard error stream and aborts. + </dl> + + <hr> + <address><a href="mailto:matzke@llnl.gov">Robb Matzke</a></address> +<!-- Created: Wed Apr 22 11:24:40 EDT 1998 --> +<!-- hhmts start --> +Last modified: Wed Apr 22 12:19:53 EDT 1998 +<!-- hhmts end --> + </body> +</html> |