hdf5/doc/html/Version.html
Frank Baker dd99ecc1bc [svn-r680] H5.user.html
A little editorial cleanup.
   Added link to Ragged.html, Ragged Arrays.
   Added link to Environment.html, Environmental Variables and
	Configuration Parameters.
   Added link to Copyright.html.

Ragged.html
   Added "Use at your own risk" notice.

Environment.html
   New file for environmental variables and configuration parameters.

Datatypes.html
   Added the following datatypes:
	H5T_NATIVE_HSIZE
	H5T_NATIVE_HSSIZE
	H5T_NATIVE_HERR
	H5T_NATIVE_HBOOL
   Section 8, "Data Conversions"
	Added named link tag to catch hyperlink from RM.
	Revised "Note:" to emphasize limited inate data-conversion capability.

Copyright.html
   New file.
   Copyright statement, linked into User's Guide and Reference Manual.

Glossary.html
   Unlinked for Beta.

General
   Changed email link at bottom of "user guide level documents"
	(as contrasted with "developer guide level documents"
	listed on the lower half of the User's Guide front page)
	to HDF Help Desk, hdfhelp@ncsa.uiuc.edu.
   Changed the following function names:
	From:                       To:
	H5version                   H5get_libversion
	H5vers_check                H5check_version
	H5Anum_attrs                H5Aget_num_attrs
	H5Fget_create_template()    H5Fget_create_plist()
	H5Fget_access_template()    H5Fget_access_plist()
	H5Gstat                     H5Gget_stat
	H5Sextent_npoints           H5Sget_simple_extent_npoints
	H5Sextent_ndims             H5Sget_simple_extent_ndims
	H5Sextent_dims              H5Sget_simple_extent_dims
	H5Sget_class                H5Sget_simple_extent_type
	H5Sselect_npoints           H5Sget_select_npoints
1998-09-09 17:48:37 -05:00

144 lines
5.3 KiB
HTML

<!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
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>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>
<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:matzke@llnl.gov">Robb Matzke</a></address>
-->
<!-- Created: Wed Apr 22 11:24:40 EDT 1998 -->
<!-- hhmts start -->
<!--
Last modified: Mon Jul 20 11:42:20 EDT 1998
-->
<!-- hhmts end -->
<hr>
<address>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
<br>
Last modified: 3 September 1998
</body>
</html>