summaryrefslogtreecommitdiffstats
path: root/doc/html/TechNotes/Version.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/TechNotes/Version.html')
-rw-r--r--doc/html/TechNotes/Version.html137
1 files changed, 137 insertions, 0 deletions
diff --git a/doc/html/TechNotes/Version.html b/doc/html/TechNotes/Version.html
new file mode 100644
index 0000000..0e0853b
--- /dev/null
+++ b/doc/html/TechNotes/Version.html
@@ -0,0 +1,137 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+ <head>
+ <title>Version Numbers</title>
+ </head>
+
+ <body>
+ <h1>HDF5 Release Version Numbers</h1>
+
+ <h2>1. Introduction</h2>
+
+ <p>The HDF5 version number is a set of three integer values
+ written as either <code>hdf5-1.2.3</code> or <code>hdf5 version
+ 1.2 release 3</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 API. 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>3</code> is the <em>release number</em>. For public
+ versions of the library, the release number is incremented each
+ time a bug is fixed and the fix is made available to the public.
+ For development versions, the release number is incremented more
+ often (perhaps almost daily).
+
+ <h2>2. Abbreviated Versions</h2>
+
+ <p>It's often convenient to drop the release number when referring
+ to a version of the library, like saying version 1.2 of HDF5.
+ The release number 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.0.23 was released mid-July as a second alpha
+ version.
+
+ <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>After the beta release we rolled back the version number so the
+ first release is version 1.0 and development will continue on
+ version 1.1. We felt that an initial version of 1.0 was more
+ important than continuing to increment the pre-release version
+ numbers.
+
+ <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. This also allows
+ us to release bug fixes expediently without waiting for the
+ development version to reach a stable state.
+
+ <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>
+ <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 H5get_libversion (unsigned *<em>majnum</em>, unsigned
+ *<em>minnum</em>, unsigned *<em>relnum</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 H5check_version (unsigned <em>majnum</em>,
+ unsigned <em>minnum</em>, unsigned <em>relnum</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>H5get_libversion()</code> and if a mismatch is detected prints
+ an error message on the standard error stream and aborts.
+ </dl>
+
+<hr>
+<address><a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a></address>
+<br>
+
+<!-- Created: Wed Apr 22 11:24:40 EDT 1998 -->
+<!-- hhmts start -->
+Last modified: Fri Oct 30 10:32:50 EST 1998
+<!-- hhmts end -->
+
+ </body>
+</html>