summaryrefslogtreecommitdiffstats
path: root/doc/html/Version.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/Version.html')
-rw-r--r--doc/html/Version.html139
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>